@zuhaibnoor/zigchain-sdk 1.0.0

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.
Files changed (41) hide show
  1. package/dist/bank/ChainBankApi.d.ts +65 -0
  2. package/dist/bank/ChainBankApi.d.ts.map +1 -0
  3. package/dist/bank/ChainBankApi.js +109 -0
  4. package/dist/bank/ChainBankApi.js.map +1 -0
  5. package/dist/bank/types.d.ts +72 -0
  6. package/dist/bank/types.d.ts.map +1 -0
  7. package/dist/bank/types.js +2 -0
  8. package/dist/bank/types.js.map +1 -0
  9. package/dist/block/ChainBlockApi.d.ts +16 -0
  10. package/dist/block/ChainBlockApi.d.ts.map +1 -0
  11. package/dist/block/ChainBlockApi.js +28 -0
  12. package/dist/block/ChainBlockApi.js.map +1 -0
  13. package/dist/block/types.d.ts +16 -0
  14. package/dist/block/types.d.ts.map +1 -0
  15. package/dist/block/types.js +3 -0
  16. package/dist/block/types.js.map +1 -0
  17. package/dist/client/http.d.ts +6 -0
  18. package/dist/client/http.d.ts.map +1 -0
  19. package/dist/client/http.js +30 -0
  20. package/dist/client/http.js.map +1 -0
  21. package/dist/consensus/ChainConsensusApi.d.ts +12 -0
  22. package/dist/consensus/ChainConsensusApi.d.ts.map +1 -0
  23. package/dist/consensus/ChainConsensusApi.js +18 -0
  24. package/dist/consensus/ChainConsensusApi.js.map +1 -0
  25. package/dist/consensus/types.d.ts +18 -0
  26. package/dist/consensus/types.d.ts.map +1 -0
  27. package/dist/consensus/types.js +2 -0
  28. package/dist/consensus/types.js.map +1 -0
  29. package/dist/index.d.ts +10 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +13 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/networks/endpoints.d.ts +6 -0
  34. package/dist/networks/endpoints.d.ts.map +1 -0
  35. package/dist/networks/endpoints.js +16 -0
  36. package/dist/networks/endpoints.js.map +1 -0
  37. package/dist/networks/types.d.ts +5 -0
  38. package/dist/networks/types.d.ts.map +1 -0
  39. package/dist/networks/types.js +6 -0
  40. package/dist/networks/types.js.map +1 -0
  41. package/package.json +22 -0
@@ -0,0 +1,65 @@
1
+ import type { NetworkEndpoints } from '../networks/endpoints.js';
2
+ import type { BalanceResponse, BalancesResponse, TotalSupplyResponse, SupplyOfResponse, DenomMetadataResponse, DenomOwnersResponse, DenomsMetadataResponse, SendEnabledResponse, SpendableBalanceResponse, SpendableBalancesResponse, BankParamsResponse } from './types.js';
3
+ export declare class ChainBankApi {
4
+ private client;
5
+ constructor(endpoints: NetworkEndpoints);
6
+ /**
7
+ * zigchaind query bank balance <address> <denom>
8
+ */
9
+ fetchBalance(address: string, denom: string): Promise<BalanceResponse>;
10
+ /**
11
+ * zigchaind query bank balances <address>
12
+ */
13
+ fetchBalances(address: string): Promise<BalancesResponse>;
14
+ /**
15
+ * zigchaind query bank total-supply
16
+ */
17
+ fetchTotalSupply(): Promise<TotalSupplyResponse>;
18
+ /**
19
+ * zigchaind query bank total-supply-of <denom>
20
+ */
21
+ fetchSupplyOf(denom: string): Promise<SupplyOfResponse>;
22
+ /**
23
+ * Fetch metadata for a specific denom
24
+ * zigchaind query bank denom-metadata <denom>
25
+ */
26
+ fetchDenomMetadata(denom: string): Promise<DenomMetadataResponse>;
27
+ /**
28
+ * Query metadata by string (partial match)
29
+ * zigchaind query bank denom-metadata-by-query-string <query>
30
+ */
31
+ queryDenomMetadataByQuery(query: string): Promise<DenomsMetadataResponse>;
32
+ /**
33
+ * Fetch all owners of a specific denom
34
+ * zigchaind query bank denom-owners <denom>
35
+ */
36
+ fetchDenomOwners(denom: string): Promise<DenomOwnersResponse>;
37
+ /**
38
+ * Query denom owners by query string (partial match)
39
+ * zigchaind query bank denom-owners-by-query <query>
40
+ */
41
+ queryDenomOwnersByQuery(query: string): Promise<DenomOwnersResponse>;
42
+ /**
43
+ * Fetch metadata for all registered coin denominations
44
+ * zigchaind query bank denoms-metadata
45
+ */
46
+ fetchAllDenomsMetadata(): Promise<DenomsMetadataResponse>;
47
+ /**
48
+ * zigchaind query bank send-enabled
49
+ */
50
+ fetchSendEnabled(): Promise<SendEnabledResponse>;
51
+ /**
52
+ * zigchaind query bank spendable-balance <address> <denom>
53
+ */
54
+ fetchSpendableBalance(address: string, denom: string): Promise<SpendableBalanceResponse>;
55
+ /**
56
+ * zigchaind query bank spendable-balances <address>
57
+ */
58
+ fetchSpendableBalances(address: string): Promise<SpendableBalancesResponse>;
59
+ /**
60
+ * zigchaind query bank params
61
+ * zigchaind query bank params --height <H>
62
+ */
63
+ fetchParams(): Promise<BankParamsResponse>;
64
+ }
65
+ //# sourceMappingURL=ChainBankApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainBankApi.d.ts","sourceRoot":"","sources":["../../src/bank/ChainBankApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAEnB,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAY;gBAEd,SAAS,EAAE,gBAAgB;IAIvC;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQjD;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM;IAQnC;;OAEG;IACG,gBAAgB;IAQtB;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM;IASjC;;;KAGC;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAOtC;;;OAGG;IACG,yBAAyB,CAAC,KAAK,EAAE,MAAM;IAO7C;;;OAGG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAOpC;;;OAGG;IACG,uBAAuB,CAAC,KAAK,EAAE,MAAM;IAO3C;;;OAGG;IACG,sBAAsB;IAS5B;;OAEG;IACG,gBAAgB;IAQtB;;OAEG;IACG,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAU1D;;OAEG;IACG,sBAAsB,CAAC,OAAO,EAAE,MAAM;IAU5C;;;OAGG;IACG,WAAW;CAUhB"}
@@ -0,0 +1,109 @@
1
+ import { HttpClient } from '../client/http.js';
2
+ export class ChainBankApi {
3
+ client;
4
+ constructor(endpoints) {
5
+ this.client = new HttpClient(endpoints.lcd);
6
+ }
7
+ /**
8
+ * zigchaind query bank balance <address> <denom>
9
+ */
10
+ async fetchBalance(address, denom) {
11
+ const data = await this.client.get(`/cosmos/bank/v1beta1/balances/${address}/by_denom?denom=${denom}`);
12
+ return data;
13
+ }
14
+ /**
15
+ * zigchaind query bank balances <address>
16
+ */
17
+ async fetchBalances(address) {
18
+ const data = await this.client.get(`/cosmos/bank/v1beta1/balances/${address}`);
19
+ return data;
20
+ }
21
+ /**
22
+ * zigchaind query bank total-supply
23
+ */
24
+ async fetchTotalSupply() {
25
+ const data = await this.client.get('/cosmos/bank/v1beta1/supply');
26
+ return data;
27
+ }
28
+ /**
29
+ * zigchaind query bank total-supply-of <denom>
30
+ */
31
+ async fetchSupplyOf(denom) {
32
+ const data = await this.client.get(`/cosmos/bank/v1beta1/supply/by_denom?denom=${denom}`);
33
+ return data;
34
+ }
35
+ //====
36
+ /**
37
+ * Fetch metadata for a specific denom
38
+ * zigchaind query bank denom-metadata <denom>
39
+ */
40
+ async fetchDenomMetadata(denom) {
41
+ const data = await this.client.get(`/cosmos/bank/v1beta1/denoms_metadata/${denom}`);
42
+ return data;
43
+ }
44
+ /**
45
+ * Query metadata by string (partial match)
46
+ * zigchaind query bank denom-metadata-by-query-string <query>
47
+ */
48
+ async queryDenomMetadataByQuery(query) {
49
+ const data = await this.client.get(`/cosmos/bank/v1beta1/denoms_metadata_by_query_string?denom=${query}`);
50
+ return data;
51
+ }
52
+ /**
53
+ * Fetch all owners of a specific denom
54
+ * zigchaind query bank denom-owners <denom>
55
+ */
56
+ async fetchDenomOwners(denom) {
57
+ const data = await this.client.get(`/cosmos/bank/v1beta1/denom_owners/${denom}`);
58
+ return data;
59
+ }
60
+ /**
61
+ * Query denom owners by query string (partial match)
62
+ * zigchaind query bank denom-owners-by-query <query>
63
+ */
64
+ async queryDenomOwnersByQuery(query) {
65
+ const data = await this.client.get(`/cosmos/bank/v1beta1/denom_owners_by_query?denom=${query}`);
66
+ return data;
67
+ }
68
+ /**
69
+ * Fetch metadata for all registered coin denominations
70
+ * zigchaind query bank denoms-metadata
71
+ */
72
+ async fetchAllDenomsMetadata() {
73
+ const data = await this.client.get(`/cosmos/bank/v1beta1/denoms_metadata`);
74
+ return data;
75
+ }
76
+ //=======================================
77
+ /**
78
+ * zigchaind query bank send-enabled
79
+ */
80
+ async fetchSendEnabled() {
81
+ const data = await this.client.get('/cosmos/bank/v1beta1/send_enabled');
82
+ return data;
83
+ }
84
+ /**
85
+ * zigchaind query bank spendable-balance <address> <denom>
86
+ */
87
+ async fetchSpendableBalance(address, denom) {
88
+ const data = await this.client.get(`/cosmos/bank/v1beta1/spendable_balances/${address}/by_denom?denom=${denom}`);
89
+ return data;
90
+ }
91
+ //===========================================
92
+ /**
93
+ * zigchaind query bank spendable-balances <address>
94
+ */
95
+ async fetchSpendableBalances(address) {
96
+ const data = await this.client.get(`/cosmos/bank/v1beta1/spendable_balances/${address}`);
97
+ return data;
98
+ }
99
+ //=================================================
100
+ /**
101
+ * zigchaind query bank params
102
+ * zigchaind query bank params --height <H>
103
+ */
104
+ async fetchParams() {
105
+ const data = await this.client.get('/cosmos/bank/v1beta1/params');
106
+ return data;
107
+ }
108
+ }
109
+ //# sourceMappingURL=ChainBankApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainBankApi.js","sourceRoot":"","sources":["../../src/bank/ChainBankApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ export interface Coin {
2
+ denom: string;
3
+ amount: string;
4
+ }
5
+ export interface BalanceResponse {
6
+ balance: Coin;
7
+ }
8
+ export interface BalancesResponse {
9
+ balances: Coin[];
10
+ pagination?: {
11
+ next_key: string | null;
12
+ total: string;
13
+ };
14
+ }
15
+ export interface TotalSupplyResponse {
16
+ supply: Coin[];
17
+ }
18
+ export interface SupplyOfResponse {
19
+ amount: Coin;
20
+ }
21
+ export interface DenomMetadata {
22
+ description: string;
23
+ denom_units: {
24
+ denom: string;
25
+ exponent: number;
26
+ aliases?: string[];
27
+ }[];
28
+ base: string;
29
+ display: string;
30
+ name: string;
31
+ symbol: string;
32
+ }
33
+ export interface DenomMetadataResponse {
34
+ metadata: DenomMetadata;
35
+ }
36
+ export interface DenomsMetadataResponse {
37
+ metadatas: DenomMetadata[];
38
+ }
39
+ export interface DenomOwnersResponse {
40
+ denom_owners: {
41
+ address: string;
42
+ balance: Coin;
43
+ }[];
44
+ }
45
+ export interface SendEnabled {
46
+ denom: string;
47
+ enabled: boolean;
48
+ }
49
+ export interface SendEnabledResponse {
50
+ send_enabled: SendEnabled[];
51
+ }
52
+ export interface SpendableBalanceResponse {
53
+ balance: Coin;
54
+ }
55
+ export interface SpendableBalancesResponse {
56
+ balances: Coin[];
57
+ pagination?: {
58
+ next_key: string | null;
59
+ total: string;
60
+ };
61
+ }
62
+ export interface BankParams {
63
+ send_enabled: {
64
+ denom: string;
65
+ enabled: boolean;
66
+ }[];
67
+ default_send_enabled: boolean;
68
+ }
69
+ export interface BankParamsResponse {
70
+ params: BankParams;
71
+ }
72
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bank/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,IAAI,EAAE,CAAA;IAChB,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;QACvB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,IAAI,EAAE,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,IAAI,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAA;IACtE,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,aAAa,CAAA;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,aAAa,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,IAAI,CAAA;KACd,EAAE,CAAA;CACJ;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,WAAW,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,IAAI,EAAE,CAAA;IAChB,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;QACvB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,OAAO,CAAA;KACjB,EAAE,CAAA;IACH,oBAAoB,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,UAAU,CAAA;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bank/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { NetworkEndpoints } from '../networks/endpoints.js';
2
+ import type { BlockResponse } from './types.js';
3
+ export declare class ChainBlockApi {
4
+ private client;
5
+ constructor(endpoints: NetworkEndpoints);
6
+ /**
7
+ * zigchaind query block --type=height <height>
8
+ */
9
+ getBlockByHeight(height: number, atHeight?: number): Promise<BlockResponse>;
10
+ /**
11
+ * Fetch latest block
12
+ * zigchaind query block
13
+ */
14
+ getLatestBlock(atHeight?: number): Promise<unknown>;
15
+ }
16
+ //# sourceMappingURL=ChainBlockApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainBlockApi.d.ts","sourceRoot":"","sources":["../../src/block/ChainBlockApi.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAY;gBAEd,SAAS,EAAE,gBAAgB;IAIvC;;OAEG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAUvB;;;OAGG;IACG,cAAc,CACpB,QAAQ,CAAC,EAAE,MAAM;CAYpB"}
@@ -0,0 +1,28 @@
1
+ // src/block/ChainBlockApi.ts
2
+ import { HttpClient } from '../client/http.js';
3
+ export class ChainBlockApi {
4
+ client;
5
+ constructor(endpoints) {
6
+ this.client = new HttpClient(endpoints.lcd);
7
+ }
8
+ /**
9
+ * zigchaind query block --type=height <height>
10
+ */
11
+ async getBlockByHeight(height, atHeight) {
12
+ const headers = atHeight
13
+ ? { 'x-cosmos-block-height': atHeight.toString() }
14
+ : undefined;
15
+ return this.client.get(`/cosmos/base/tendermint/v1beta1/blocks/${height}`, headers);
16
+ }
17
+ /**
18
+ * Fetch latest block
19
+ * zigchaind query block
20
+ */
21
+ async getLatestBlock(atHeight) {
22
+ const headers = atHeight
23
+ ? { 'x-cosmos-block-height': atHeight.toString() }
24
+ : undefined;
25
+ return this.client.get('/cosmos/base/tendermint/v1beta1/blocks/latest', headers);
26
+ }
27
+ }
28
+ //# sourceMappingURL=ChainBlockApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainBlockApi.js","sourceRoot":"","sources":["../../src/block/ChainBlockApi.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI9C,MAAM,OAAO,aAAa;IAChB,MAAM,CAAY;IAE1B,YAAY,SAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,MAAc,EACd,QAAiB;QAEjB,MAAM,OAAO,GAAG,QAAQ;YACtB,CAAC,CAAC,EAAE,uBAAuB,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE;YAClD,CAAC,CAAC,SAAS,CAAA;QAEb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CACpB,0CAA0C,MAAM,EAAE,EAClD,OAAO,CACR,CAAA;IACH,CAAC;IACC;;;OAGG;IACH,KAAK,CAAC,cAAc,CACpB,QAAiB;QAEjB,MAAM,OAAO,GAAG,QAAQ;YACpB,CAAC,CAAC,EAAE,uBAAuB,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE;YAClD,CAAC,CAAC,SAAS,CAAA;QAEf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAClB,+CAA+C,EAC/C,OAAO,CACV,CAAA;IACD,CAAC;CAEJ"}
@@ -0,0 +1,16 @@
1
+ export interface BlockResponse {
2
+ block_id: {
3
+ hash: string;
4
+ part_set_header: {
5
+ total: number;
6
+ hash: string;
7
+ };
8
+ };
9
+ block: {
10
+ header: Record<string, any>;
11
+ data: Record<string, any>;
12
+ evidence: Record<string, any>;
13
+ last_commit: Record<string, any>;
14
+ };
15
+ }
16
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/block/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,eAAe,EAAE;YACf,KAAK,EAAE,MAAM,CAAA;YACb,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACjC,CAAA;CACF"}
@@ -0,0 +1,3 @@
1
+ // src/block/types.ts
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/block/types.ts"],"names":[],"mappings":"AAAA,qBAAqB"}
@@ -0,0 +1,6 @@
1
+ export declare class HttpClient {
2
+ private readonly baseUrl;
3
+ constructor(baseUrl: string);
4
+ get<T>(path: string, headers?: HeadersInit): Promise<T>;
5
+ }
6
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":"AAkBA,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAEtC,GAAG,CAAC,CAAC,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC;CAaZ"}
@@ -0,0 +1,30 @@
1
+ // export class HttpClient {
2
+ // private baseUrl: string
3
+ // constructor(baseUrl: string) {
4
+ // this.baseUrl = baseUrl.replace(/\/$/, '')
5
+ // }
6
+ // async get<T>(path: string): Promise<T> {
7
+ // const res = await fetch(`${this.baseUrl}${path}`)
8
+ // if (!res.ok) {
9
+ // throw new Error(`HTTP ${res.status}: ${res.statusText}`)
10
+ // }
11
+ // return res.json() as Promise<T>
12
+ // }
13
+ // }
14
+ export class HttpClient {
15
+ baseUrl;
16
+ constructor(baseUrl) {
17
+ this.baseUrl = baseUrl;
18
+ }
19
+ async get(path, headers) {
20
+ const init = {
21
+ method: 'GET'
22
+ };
23
+ if (headers) {
24
+ init.headers = headers;
25
+ }
26
+ const res = await fetch(this.baseUrl + path, init);
27
+ return res.json();
28
+ }
29
+ }
30
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,4BAA4B;AAE5B,mCAAmC;AACnC,gDAAgD;AAChD,MAAM;AAEN,6CAA6C;AAC7C,wDAAwD;AAExD,qBAAqB;AACrB,iEAAiE;AACjE,QAAQ;AAER,sCAAsC;AACtC,MAAM;AACN,IAAI;AAEJ,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEhD,KAAK,CAAC,GAAG,CACT,IAAY,EACZ,OAAqB;QAErB,MAAM,IAAI,GAAgB;YACxB,MAAM,EAAE,KAAK;SACd,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACxB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,IAAI,CAAC,CAAA;QAClD,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAA;IACjC,CAAC;CAEA"}
@@ -0,0 +1,12 @@
1
+ import type { NetworkEndpoints } from '../networks/endpoints.js';
2
+ export declare class ChainConsensusApi {
3
+ private client;
4
+ constructor(endpoints: NetworkEndpoints);
5
+ /**
6
+ * zigchaind query consensus params
7
+ */
8
+ fetchConsensusParams(options?: {
9
+ height?: number;
10
+ }): Promise<import("./types.js").ConsensusParams>;
11
+ }
12
+ //# sourceMappingURL=ChainConsensusApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainConsensusApi.d.ts","sourceRoot":"","sources":["../../src/consensus/ChainConsensusApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAGhE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAY;gBAEd,SAAS,EAAE,gBAAgB;IAIvC;;OAEG;IACG,oBAAoB,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAazD"}
@@ -0,0 +1,18 @@
1
+ import { HttpClient } from '../client/http.js';
2
+ export class ChainConsensusApi {
3
+ client;
4
+ constructor(endpoints) {
5
+ this.client = new HttpClient(endpoints.lcd);
6
+ }
7
+ /**
8
+ * zigchaind query consensus params
9
+ */
10
+ async fetchConsensusParams(options) {
11
+ const headers = options?.height !== undefined
12
+ ? { 'x-cosmos-block-height': String(options.height) }
13
+ : undefined;
14
+ const data = await this.client.get('/cosmos/consensus/v1/params', headers);
15
+ return data.params;
16
+ }
17
+ }
18
+ //# sourceMappingURL=ChainConsensusApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainConsensusApi.js","sourceRoot":"","sources":["../../src/consensus/ChainConsensusApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI9C,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAY;IAE1B,YAAY,SAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAA6B;QACtD,MAAM,OAAO,GACX,OAAO,EAAE,MAAM,KAAK,SAAS;YAC3B,CAAC,CAAC,EAAE,uBAAuB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACrD,CAAC,CAAC,SAAS,CAAA;QAEf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAChC,6BAA6B,EAC7B,OAAO,CACR,CAAA;QAED,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ export interface ConsensusParamsResponse {
2
+ params: ConsensusParams;
3
+ }
4
+ export interface ConsensusParams {
5
+ block: {
6
+ max_bytes: string;
7
+ max_gas: string;
8
+ };
9
+ evidence: {
10
+ max_age_num_blocks: string;
11
+ max_age_duration: string;
12
+ max_bytes: string;
13
+ };
14
+ validator: {
15
+ pub_key_types: string[];
16
+ };
17
+ }
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/consensus/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,QAAQ,EAAE;QACR,kBAAkB,EAAE,MAAM,CAAA;QAC1B,gBAAgB,EAAE,MAAM,CAAA;QACxB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,SAAS,EAAE;QACT,aAAa,EAAE,MAAM,EAAE,CAAA;KACxB,CAAA;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/consensus/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ export * from './consensus/ChainConsensusApi.js';
2
+ export * from './consensus/types.js';
3
+ export * from './networks/endpoints.js';
4
+ export * from './networks/types.js';
5
+ export * from './bank/ChainBankApi.js';
6
+ export * from './bank/types.js';
7
+ export * from './block/ChainBlockApi.js';
8
+ export * from './block/types.js';
9
+ export declare function helloZigChain(): string;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AAEpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAEhC,wBAAgB,aAAa,WAE5B"}
package/dist/index.js ADDED
@@ -0,0 +1,13 @@
1
+ export * from './consensus/ChainConsensusApi.js';
2
+ export * from './consensus/types.js';
3
+ export * from './networks/endpoints.js';
4
+ export * from './networks/types.js';
5
+ export * from './bank/ChainBankApi.js';
6
+ export * from './bank/types.js';
7
+ export * from './block/ChainBlockApi.js';
8
+ export * from './block/types.js';
9
+ export function helloZigChain() {
10
+ return "Hello ZigChain SDK";
11
+ }
12
+ console.log(helloZigChain());
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AAEpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAEhC,MAAM,UAAU,aAAa;IAC3B,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAID,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Network } from './types.js';
2
+ export interface NetworkEndpoints {
3
+ lcd: string;
4
+ }
5
+ export declare function getNetworkEndpoints(network: Network): NetworkEndpoints;
6
+ //# sourceMappingURL=endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/networks/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;CAEZ;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,GACf,gBAAgB,CAelB"}
@@ -0,0 +1,16 @@
1
+ import { Network } from './types.js';
2
+ export function getNetworkEndpoints(network) {
3
+ switch (network) {
4
+ case Network.Testnet:
5
+ return {
6
+ lcd: 'https://public-zigchain-testnet-lcd.numia.xyz',
7
+ };
8
+ case Network.Mainnet:
9
+ return {
10
+ lcd: 'https://public-zigchain-mainnet-lcd.example.xyz',
11
+ };
12
+ default:
13
+ throw new Error(`Unsupported network: ${network}`);
14
+ }
15
+ }
16
+ //# sourceMappingURL=endpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../src/networks/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAOpC,MAAM,UAAU,mBAAmB,CACjC,OAAgB;IAEhB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC,OAAO;YAClB,OAAO;gBACL,GAAG,EAAE,+CAA+C;aACrD,CAAA;QAEH,KAAK,OAAO,CAAC,OAAO;YAClB,OAAO;gBACL,GAAG,EAAE,iDAAiD;aACvD,CAAA;QAEH;YACE,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAA;IACtD,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare enum Network {
2
+ Mainnet = "mainnet",
3
+ Testnet = "testnet"
4
+ }
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/networks/types.ts"],"names":[],"mappings":"AAAA,oBAAY,OAAO;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB"}
@@ -0,0 +1,6 @@
1
+ export var Network;
2
+ (function (Network) {
3
+ Network["Mainnet"] = "mainnet";
4
+ Network["Testnet"] = "testnet";
5
+ })(Network || (Network = {}));
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/networks/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,8BAAmB,CAAA;IACnB,8BAAmB,CAAA;AACrB,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB"}
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@zuhaibnoor/zigchain-sdk",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": ["dist"],
8
+ "scripts": {
9
+ "build": "tsc",
10
+ "dev": "tsc --watch",
11
+ "prepublishOnly": "npm run build"
12
+ },
13
+ "keywords": [],
14
+ "author": "",
15
+ "license": "ISC",
16
+ "type": "module",
17
+ "devDependencies": {
18
+ "@types/node": "^25.0.9",
19
+ "ts-node": "^10.9.2",
20
+ "typescript": "^5.9.3"
21
+ }
22
+ }