carbon-js-sdk 0.1.1 → 0.1.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/examples/query.ts CHANGED
@@ -1,82 +1,80 @@
1
- import Long from "long";
2
- import { CarbonSDK, CarbonTx, GenericUtils } from "./_sdk";
1
+ import { encodeBech32Pubkey, Pubkey } from "@cosmjs/amino";
2
+ import { Tendermint34Client, NewBlockEvent } from "@cosmjs/tendermint-rpc";
3
+
4
+ import { AddressUtils } from "../lib";
5
+ import { Network } from "../lib/constant";
6
+ import { SWTHAddress } from "../lib/util/address";
7
+ import { CarbonSDK } from "./_sdk";
8
+ import * as bech32 from "bech32";
3
9
  import "./_setup";
4
10
 
11
+
12
+ const getBytes = (bech32Address: string) => {
13
+ const { prefix, words } = bech32.decode(bech32Address);
14
+ return {
15
+ hex: Buffer.from(bech32.fromWords(words)).toString("hex"),
16
+ prefix,
17
+ };
18
+ }
19
+
20
+ ;
5
21
  (async () => {
22
+ console.log('init sdk');
6
23
  const sdk = await CarbonSDK.instance({
7
- network: CarbonSDK.Network.LocalHost,
8
- config: {
9
- tmRpcUrl: process.env.TRPC_ENDPOINT,
10
- },
24
+ network: CarbonSDK.Network.DevNet,
11
25
  });
12
26
 
13
27
  // GRPC Queries
14
28
 
15
29
  // query txn fees
16
- const fees = await sdk.query.fee.MsgFeeAll({})
17
- console.log("fees", fees);
18
-
19
- // query all tokens
20
- const tokens = await sdk.query.coin.TokenAll({
21
- pagination: {
22
- limit: new Long(100),
23
- offset: new Long(0),
24
- key: new Uint8Array(),
25
- countTotal: true,
26
- reverse: false,
27
- },
28
- });
29
- console.log("tokens", tokens);
30
+ console.log('starting query');
31
+ const { validators } = await sdk.tmClient.validators({});
32
+ for (const validator of validators) {
33
+ const hash = Buffer.from(validator.address);
34
+ // console.log("validator", validator)
35
+ console.log("validator operatorAddress", AddressUtils.SWTHAddress.encode(hash));
36
+ console.log("validator operator hex", hash.toString("hex"))
37
+ // console.log("validator pubkey", encodeBech32Pubkey({
38
+ // type: "tendermint/PubKeyEd25519",
39
+ // value: Buffer.from(validator.consensusPubkey!.value).toString("base64"),
40
+ // }, sdk.networkConfig.Bech32Prefix));
41
+ }
30
42
 
31
- // query all token mappings
32
- const mappings = await sdk.query.coin.WrapperMappings({});
33
- console.log("mappings", mappings);
34
43
 
35
- // query all markets
36
- const markets = await sdk.query.market.MarketAll({});
37
- console.log("markets", markets);
44
+ const { validators: carbonVals } = await sdk.query.staking.Validators({
45
+ status: "",
46
+ })
47
+ for (const validator of carbonVals) {
48
+ console.log("validator", validator)
49
+ // console.log("validator pubkey", encodeBech32Pubkey({
50
+ // type: "tendermint/PubKeyEd25519",
51
+ // value: Buffer.from(validator.consensusPubkey!.value).toString("base64"),
52
+ // }, sdk.networkConfig.Bech32Prefix));
53
+ }
38
54
 
39
- // query all orders;
40
- const orders = await sdk.query.order.OrderAll({
41
- address: "",
42
- market: "",
43
- orderType: "",
44
- orderStatus: "",
45
- });
46
- console.log("orders", orders);
55
+ let count = 0, unsub: any = null;
47
56
 
48
- // query all profiles with pagination
49
- const profiles = await sdk.query.profile.ProfileAll({
50
- username: "",
51
- });
52
- console.log("profiles", profiles);
57
+ const listener = {
58
+ next: async (value: any) => {
59
+ const { header: { height } } = value as NewBlockEvent;
60
+ const block = await sdk.tmClient.block(height)
61
+ console.log("block hex", height, Buffer.from(block.block.header.proposerAddress).toString("hex"))
62
+ // console.log("block", AddressUtils.SWTHAddress.encode(Buffer.from(block.block.header.proposerAddress), {
63
+ // type: "validator"
64
+ // }))
53
65
 
54
- // Tendermint Queries
55
- // Note: sdk.query.chain is an instance of BlockchainClient
56
- // BlockchainClient is a wrapper of StargateClient
57
- // StargateClient is a wrapper of Tendermint34Client
66
+ if (count++ > 10) {
67
+ unsub?.unsubscribe();
68
+ await new Promise(resolve => setTimeout(resolve, 1000));
69
+ process.exit(0)
70
+ }
71
+ }
72
+ };
58
73
 
59
- // query latest block
60
- const block = await sdk.query.chain.getBlock();
61
- console.log("block", block)
62
- console.log("block tx hashes", block.txs.map(GenericUtils.computeTxHash))
74
+ const tmWsClient = await Tendermint34Client.connect(sdk.networkConfig.tmWsUrl);
75
+ const stream = tmWsClient.subscribeNewBlock()
63
76
 
64
- const txHash = GenericUtils.computeTxHash(block.txs[0])!;
77
+ unsub = stream.subscribe(listener);
65
78
 
66
- // get tx
67
- const txs = await sdk.query.chain.searchTx({
68
- tags: [{
69
- key: "tx.hash",
70
- value: txHash,
71
- }]
72
- })
73
- const [tx] = txs;
74
- console.log("tx", tx)
75
- console.log("tx hash", tx.hash)
76
- console.log("tx events", JSON.parse(tx.rawLog))
77
79
 
78
- // decode tx
79
- const decodedTx = CarbonTx.decode(tx.tx)
80
- console.log("tx decoded", JSON.stringify(decodedTx))
81
- console.log("tx msgs", decodedTx?.body?.messages)
82
- })().catch(console.error).finally(() => process.exit(0));
80
+ })().catch(console.error)//.finally(() => process.exit(0));
@@ -1,25 +1,22 @@
1
- import * as BIP39 from "bip39";
1
+ import BigNumber from "bignumber.js";
2
2
  import { CarbonSDK } from "./_sdk";
3
3
  import "./_setup";
4
4
 
5
5
  (async () => {
6
- const mnemonics = process.env.MNEMONICS ?? BIP39.generateMnemonic();
6
+ const mnemonics = "absurd give grit arrow else sort visual lawn base adult pause segment"
7
7
  console.log("mnemonics", mnemonics);
8
8
 
9
9
  const sdk = await CarbonSDK.instance({
10
- network: CarbonSDK.Network.LocalHost,
11
- config: {
12
- tmRpcUrl: process.env.TRPC_ENDPOINT,
13
- },
10
+ network: CarbonSDK.Network.MainNet,
14
11
  });
15
12
  const connectedSDK = await sdk.connectWithMnemonic(mnemonics);
16
13
  console.log("connected sdk");
17
14
 
18
15
  const result = await connectedSDK.bank.sendTokens({
19
16
  fromAddress: connectedSDK.wallet.bech32Address,
20
- toAddress: "tswth1mw90en8tcqnvdjhp64qmyhuq4qasvhy2s6st4t",
17
+ toAddress: "swth1jmh3cdvlfv3ql53yggy23gl04evxt6xkvu45d4",
21
18
  amount: [{
22
- amount: '1000',
19
+ amount: new BigNumber('10000').shiftedBy(8).toString(10),
23
20
  denom: "swth",
24
21
  }],
25
22
  })
@@ -32,7 +32,7 @@ exports.NetworkConfigs = {
32
32
  bsc: {
33
33
  rpcURL: 'https://bsc-dataseed2.binance.org/',
34
34
  wsURL: "",
35
- payerURL: "",
35
+ payerURL: "https://payer.carbon.network",
36
36
  lockProxyAddr: '0xb5d4f343412dc8efb6ff599d790074d0f1e8d430',
37
37
  balanceReader: '0x2b18c5e1edaa7e27d40fec8d0b7d96c5eefa35df',
38
38
  byteCodeHash: '0x1b147c1cef546fcbcc1284df778073d65b90f80d5b649a69d5f8a01e186c0ec1',
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/constant/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/constant/network.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-js-sdk",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "TypeScript SDK for Carbon blockchain",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",