stargaze-zone
TypeScript icon, indicating that this package has built-in type declarations

0.4.0 • Public • Published

stargaze-zone

TS library with Cosmos SDK and Stargaze smart contracts.

npm install stargaze-zone

Cosmos SDK clients

import { stargaze } from 'stargaze-zone';

const main = async () => {
   const { createLCDClient } = stargaze.ClientFactory; 
   const client = await createLCDClient({ restEndpoint: REST_ENDPOINT });

   // now you can query the modules
   const balance = await client.cosmos.bank.v1beta1
        .allBalances({ address: 'stars1addresshere' });
};

Stargaze contracts

clients

All contracts are scoped under the contracts object:

import { contracts } from 'stargaze-zone';
const {
    SG721Base,
    VendingFactory,
    VendingMinter,
    Whitelist
} = contracts;

Then each contract will have clients, for example for Whitelist:

const {
    WhitelistClient,
    WhitelistMessageComposer,
    WhitelistQueryClient
} = Whitelist;

Queries

const queryClient = new WhitelistQueryClient(wasmClient, contractAddress);

const hasStarted = await queryClient.hasStarted()
const members = await queryClient.members({limit: 10})

Mutations

const client = new WhitelistClient(signingWasmClient, sender, contractAddress);

await client.addMembers({
    toAdd: ['name1', 'name2']
})

CosmWasm Messages

import { cosmwasm } from "stargaze-zone";

const {
    clearAdmin,
    executeContract,
    instantiateContract,
    migrateContract,
    storeCode,
    updateAdmin
} = cosmwasm.wasm.v1.MessageComposer.withTypeUrl;

IBC Messages

import { ibc } from 'stargaze-zone';

const {
    transfer
} = ibc.applications.transfer.v1.MessageComposer.withTypeUrl

Cosmos Messages

import { cosmos } from 'stargaze-zone';

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;

Credits

🛠 Built by Cosmology — if you like our tools, please consider delegating to our validator ⚛️

Code built with the help of these related projects:

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.4.0
    1
    • latest

Version History

Package Sidebar

Install

npm i stargaze-zone

Weekly Downloads

10

Version

0.4.0

License

SEE LICENSE IN LICENSE

Unpacked Size

5.59 MB

Total Files

637

Last publish

Collaborators

  • pyramation