@osmosis-labs/codegen
v0.12.1
Published
Typescript Protobuf Messages for Osmosis
Downloads
3
Keywords
Readme
@osmosis-labs/codegen
Composing Messages
Import the osmosis
object from @osmosis-labs/codegen
. In this case, we're show the messages available from the osmosis.gamm.v1beta1
module:
import { osmosis } from 'osmojs';
const {
joinPool,
exitPool,
exitSwapExternAmountOut,
exitSwapShareAmountIn,
joinSwapExternAmountIn,
joinSwapShareAmountOut,
swapExactAmountIn,
swapExactAmountOut
} = osmosis.gamm.v1beta1.MessageComposer.withTypeUrl;
To see a complete list of messages, see the section below.
Now you can construct messages. If you use vscode or another typescript-enabled IDE, you should also be able to use ctrl+space
to see auto-completion of the fields required for the message.
import { coin } from '@cosmjs/amino';
const msg = swapExactAmountIn({
sender,
routes,
tokenIn: coin(amount, denom),
tokenOutMinAmount
});
Osmosis Messages
import { osmosis } from 'osmojs';
const {
beginUnlocking,
beginUnlockingAll,
lockTokens
} = osmosis.lockup.MessageComposer.withTypeUrl;
const {
lockAndSuperfluidDelegate,
superfluidDelegate,
superfluidUnbondLock,
superfluidUndelegate
} = osmosis.superfluid.MessageComposer.withTypeUrl;
const {
addToGauge,
createGauge
} = osmosis.incentives.MessageComposer.withTypeUrl;
const {
joinPool,
exitPool,
exitSwapExternAmountOut,
exitSwapShareAmountIn,
joinSwapExternAmountIn,
joinSwapShareAmountOut,
swapExactAmountIn,
swapExactAmountOut
} = osmosis.gamm.v1beta1.MessageComposer.withTypeUrl;
IBC Messages
import { ibc } from '@osmosis-labs/codegen';
const {
transfer
} = ibc.applications.transfer.v1.MessageComposer.withTypeUrl
Cosmos Messages
import { cosmos } from '@osmosis-labs/codegen';
const {
fundCommunityPool,
setWithdrawAddress,
withdrawDelegatorReward,
withdrawValidatorCommission
} = cosmos.distribution.v1beta1.MessageComposer.fromPartial;
const {
multiSend,
send
} = cosmos.bank.v1beta1.MessageComposer.fromPartial;
const {
beginRedelegate,
createValidator,
delegate,
editValidator,
undelegate
} = cosmos.staking.v1beta1.MessageComposer.fromPartial;
const {
deposit,
submitProposal,
vote,
voteWeighted
} = cosmos.gov.v1beta1.MessageComposer.fromPartial;
CosmWasm Messages
import { cosmwasm } from "@osmosis-labs/codegen";
const {
clearAdmin,
executeContract,
instantiateContract,
migrateContract,
storeCode,
updateAdmin
} = cosmwasm.wasm.v1.MessageComposer.withTypeUrl;
Credits
Code built with the help of these related projects:
- @osmonauts/telescope a "babel for the Cosmos", Telescope is a TypeScript Transpiler for Cosmos Protobufs.
Disclaimer
AS DESCRIBED IN THE OSMOSIS LICENSES, THE SOFTWARE IS PROVIDED “AS IS”, AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND.
No developer or entity involved in creating Telescope will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of the Telescope code, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value.