hiero-sdk-utils 0.1.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 (137) hide show
  1. package/dist/cjs/client/HieroClient.d.ts +70 -0
  2. package/dist/cjs/client/HieroClient.d.ts.map +1 -0
  3. package/dist/cjs/client/HieroClient.js +165 -0
  4. package/dist/cjs/client/HieroClient.js.map +1 -0
  5. package/dist/cjs/client/rateLimiter.d.ts +33 -0
  6. package/dist/cjs/client/rateLimiter.d.ts.map +1 -0
  7. package/dist/cjs/client/rateLimiter.js +68 -0
  8. package/dist/cjs/client/rateLimiter.js.map +1 -0
  9. package/dist/cjs/client/types.d.ts +26 -0
  10. package/dist/cjs/client/types.d.ts.map +1 -0
  11. package/dist/cjs/client/types.js +11 -0
  12. package/dist/cjs/client/types.js.map +1 -0
  13. package/dist/cjs/errors/index.d.ts +95 -0
  14. package/dist/cjs/errors/index.d.ts.map +1 -0
  15. package/dist/cjs/errors/index.js +115 -0
  16. package/dist/cjs/errors/index.js.map +1 -0
  17. package/dist/cjs/index.d.ts +36 -0
  18. package/dist/cjs/index.d.ts.map +1 -0
  19. package/dist/cjs/index.js +55 -0
  20. package/dist/cjs/index.js.map +1 -0
  21. package/dist/cjs/pagination/paginator.d.ts +21 -0
  22. package/dist/cjs/pagination/paginator.d.ts.map +1 -0
  23. package/dist/cjs/pagination/paginator.js +89 -0
  24. package/dist/cjs/pagination/paginator.js.map +1 -0
  25. package/dist/cjs/resources/accounts.d.ts +43 -0
  26. package/dist/cjs/resources/accounts.d.ts.map +1 -0
  27. package/dist/cjs/resources/accounts.js +60 -0
  28. package/dist/cjs/resources/accounts.js.map +1 -0
  29. package/dist/cjs/resources/balances.d.ts +25 -0
  30. package/dist/cjs/resources/balances.d.ts.map +1 -0
  31. package/dist/cjs/resources/balances.js +33 -0
  32. package/dist/cjs/resources/balances.js.map +1 -0
  33. package/dist/cjs/resources/blocks.d.ts +36 -0
  34. package/dist/cjs/resources/blocks.d.ts.map +1 -0
  35. package/dist/cjs/resources/blocks.js +58 -0
  36. package/dist/cjs/resources/blocks.js.map +1 -0
  37. package/dist/cjs/resources/contracts.d.ts +36 -0
  38. package/dist/cjs/resources/contracts.d.ts.map +1 -0
  39. package/dist/cjs/resources/contracts.js +53 -0
  40. package/dist/cjs/resources/contracts.js.map +1 -0
  41. package/dist/cjs/resources/nfts.d.ts +39 -0
  42. package/dist/cjs/resources/nfts.d.ts.map +1 -0
  43. package/dist/cjs/resources/nfts.js +62 -0
  44. package/dist/cjs/resources/nfts.js.map +1 -0
  45. package/dist/cjs/resources/schedules.d.ts +36 -0
  46. package/dist/cjs/resources/schedules.d.ts.map +1 -0
  47. package/dist/cjs/resources/schedules.js +53 -0
  48. package/dist/cjs/resources/schedules.js.map +1 -0
  49. package/dist/cjs/resources/tokens.d.ts +36 -0
  50. package/dist/cjs/resources/tokens.d.ts.map +1 -0
  51. package/dist/cjs/resources/tokens.js +53 -0
  52. package/dist/cjs/resources/tokens.js.map +1 -0
  53. package/dist/cjs/resources/topics.d.ts +38 -0
  54. package/dist/cjs/resources/topics.d.ts.map +1 -0
  55. package/dist/cjs/resources/topics.js +56 -0
  56. package/dist/cjs/resources/topics.js.map +1 -0
  57. package/dist/cjs/resources/transactions.d.ts +35 -0
  58. package/dist/cjs/resources/transactions.d.ts.map +1 -0
  59. package/dist/cjs/resources/transactions.js +57 -0
  60. package/dist/cjs/resources/transactions.js.map +1 -0
  61. package/dist/cjs/types/api.d.ts +302 -0
  62. package/dist/cjs/types/api.d.ts.map +1 -0
  63. package/dist/cjs/types/api.js +4 -0
  64. package/dist/cjs/types/api.js.map +1 -0
  65. package/dist/cjs/types/common.d.ts +52 -0
  66. package/dist/cjs/types/common.d.ts.map +1 -0
  67. package/dist/cjs/types/common.js +16 -0
  68. package/dist/cjs/types/common.js.map +1 -0
  69. package/dist/esm/client/HieroClient.d.ts +70 -0
  70. package/dist/esm/client/HieroClient.d.ts.map +1 -0
  71. package/dist/esm/client/HieroClient.js +161 -0
  72. package/dist/esm/client/HieroClient.js.map +1 -0
  73. package/dist/esm/client/rateLimiter.d.ts +33 -0
  74. package/dist/esm/client/rateLimiter.d.ts.map +1 -0
  75. package/dist/esm/client/rateLimiter.js +64 -0
  76. package/dist/esm/client/rateLimiter.js.map +1 -0
  77. package/dist/esm/client/types.d.ts +26 -0
  78. package/dist/esm/client/types.d.ts.map +1 -0
  79. package/dist/esm/client/types.js +8 -0
  80. package/dist/esm/client/types.js.map +1 -0
  81. package/dist/esm/errors/index.d.ts +95 -0
  82. package/dist/esm/errors/index.d.ts.map +1 -0
  83. package/dist/esm/errors/index.js +108 -0
  84. package/dist/esm/errors/index.js.map +1 -0
  85. package/dist/esm/index.d.ts +36 -0
  86. package/dist/esm/index.d.ts.map +1 -0
  87. package/dist/esm/index.js +37 -0
  88. package/dist/esm/index.js.map +1 -0
  89. package/dist/esm/pagination/paginator.d.ts +21 -0
  90. package/dist/esm/pagination/paginator.d.ts.map +1 -0
  91. package/dist/esm/pagination/paginator.js +86 -0
  92. package/dist/esm/pagination/paginator.js.map +1 -0
  93. package/dist/esm/resources/accounts.d.ts +43 -0
  94. package/dist/esm/resources/accounts.d.ts.map +1 -0
  95. package/dist/esm/resources/accounts.js +56 -0
  96. package/dist/esm/resources/accounts.js.map +1 -0
  97. package/dist/esm/resources/balances.d.ts +25 -0
  98. package/dist/esm/resources/balances.d.ts.map +1 -0
  99. package/dist/esm/resources/balances.js +29 -0
  100. package/dist/esm/resources/balances.js.map +1 -0
  101. package/dist/esm/resources/blocks.d.ts +36 -0
  102. package/dist/esm/resources/blocks.d.ts.map +1 -0
  103. package/dist/esm/resources/blocks.js +54 -0
  104. package/dist/esm/resources/blocks.js.map +1 -0
  105. package/dist/esm/resources/contracts.d.ts +36 -0
  106. package/dist/esm/resources/contracts.d.ts.map +1 -0
  107. package/dist/esm/resources/contracts.js +49 -0
  108. package/dist/esm/resources/contracts.js.map +1 -0
  109. package/dist/esm/resources/nfts.d.ts +39 -0
  110. package/dist/esm/resources/nfts.d.ts.map +1 -0
  111. package/dist/esm/resources/nfts.js +58 -0
  112. package/dist/esm/resources/nfts.js.map +1 -0
  113. package/dist/esm/resources/schedules.d.ts +36 -0
  114. package/dist/esm/resources/schedules.d.ts.map +1 -0
  115. package/dist/esm/resources/schedules.js +49 -0
  116. package/dist/esm/resources/schedules.js.map +1 -0
  117. package/dist/esm/resources/tokens.d.ts +36 -0
  118. package/dist/esm/resources/tokens.d.ts.map +1 -0
  119. package/dist/esm/resources/tokens.js +49 -0
  120. package/dist/esm/resources/tokens.js.map +1 -0
  121. package/dist/esm/resources/topics.d.ts +38 -0
  122. package/dist/esm/resources/topics.d.ts.map +1 -0
  123. package/dist/esm/resources/topics.js +52 -0
  124. package/dist/esm/resources/topics.js.map +1 -0
  125. package/dist/esm/resources/transactions.d.ts +35 -0
  126. package/dist/esm/resources/transactions.d.ts.map +1 -0
  127. package/dist/esm/resources/transactions.js +53 -0
  128. package/dist/esm/resources/transactions.js.map +1 -0
  129. package/dist/esm/types/api.d.ts +302 -0
  130. package/dist/esm/types/api.d.ts.map +1 -0
  131. package/dist/esm/types/api.js +3 -0
  132. package/dist/esm/types/api.js.map +1 -0
  133. package/dist/esm/types/common.d.ts +52 -0
  134. package/dist/esm/types/common.d.ts.map +1 -0
  135. package/dist/esm/types/common.js +13 -0
  136. package/dist/esm/types/common.js.map +1 -0
  137. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topics.d.ts","sourceRoot":"","sources":["../../../src/resources/topics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAKzF;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAEhD;;;;;;;OAOG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAKlD;;;;;;;;OAQG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,wBAAwB,GAAG,aAAa,CAAC,YAAY,CAAC;IAU7F,OAAO,CAAC,eAAe;CAQxB"}
@@ -0,0 +1,52 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { paginate } from '../pagination/paginator.js';
3
+ import { ValidationError } from '../errors/index.js';
4
+ import { ENTITY_ID_PATTERN } from '../types/common.js';
5
+ /**
6
+ * Provides access to Mirror Node topic endpoints.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const topic = await client.topics.getById('0.0.1234');
11
+ * for await (const msg of client.topics.listMessages('0.0.1234')) {
12
+ * console.log(msg.message);
13
+ * }
14
+ * ```
15
+ */
16
+ export class TopicsResource {
17
+ client;
18
+ constructor(client) {
19
+ this.client = client;
20
+ }
21
+ /**
22
+ * Retrieves topic info by ID.
23
+ *
24
+ * @param topicId - Topic in `0.0.X` format
25
+ * @returns The topic info including keys and memo
26
+ * @throws {ValidationError} If topicId format is invalid
27
+ * @throws {MirrorNodeError} If the API request fails
28
+ */
29
+ async getById(topicId) {
30
+ this.validateTopicId(topicId);
31
+ return this.client.get(`/api/v1/topics/${topicId}`);
32
+ }
33
+ /**
34
+ * Lists messages for a topic. Returns an async iterable
35
+ * that automatically handles pagination.
36
+ *
37
+ * @param topicId - Topic in `0.0.X` format
38
+ * @param params - Optional query parameters for filtering
39
+ * @returns Async iterable of topic message objects
40
+ * @throws {ValidationError} If topicId format is invalid
41
+ */
42
+ listMessages(topicId, params) {
43
+ this.validateTopicId(topicId);
44
+ return paginate(this.client, `/api/v1/topics/${topicId}/messages`, 'messages', params);
45
+ }
46
+ validateTopicId(id) {
47
+ if (!ENTITY_ID_PATTERN.test(id)) {
48
+ throw new ValidationError(`Invalid topic ID format: "${id}". Expected "shard.realm.num" format (e.g., "0.0.1234").`, 'INVALID_TOPIC_ID');
49
+ }
50
+ }
51
+ }
52
+ //# sourceMappingURL=topics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../src/resources/topics.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAItC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe;QAC3B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAY,kBAAkB,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;OAQG;IACH,YAAY,CAAC,OAAe,EAAE,MAAiC;QAC7D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,QAAQ,CACb,IAAI,CAAC,MAAM,EACX,kBAAkB,OAAO,WAAW,EACpC,UAAU,EACV,MAA+D,CAChE,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,EAAU;QAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,eAAe,CACvB,6BAA6B,EAAE,0DAA0D,EACzF,kBAAkB,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ import type { HieroClient } from '../client/HieroClient.js';
2
+ import type { TransactionInfo, TransactionsQueryParams } from '../types/api.js';
3
+ /**
4
+ * Provides access to Mirror Node transaction endpoints.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * for await (const tx of client.transactions.list({ limit: 10 })) {
9
+ * console.log(tx.transaction_id, tx.result);
10
+ * }
11
+ * ```
12
+ */
13
+ export declare class TransactionsResource {
14
+ private readonly client;
15
+ constructor(client: HieroClient);
16
+ /**
17
+ * Retrieves a single transaction by its transaction ID.
18
+ *
19
+ * @param transactionId - Transaction ID in `shard.realm.num-ssssssssss-nnnnnnnnn` format
20
+ * @returns The transaction info including transfers and result
21
+ * @throws {ValidationError} If the transaction ID format is invalid
22
+ * @throws {MirrorNodeError} If the API request fails
23
+ */
24
+ getById(transactionId: string): Promise<TransactionInfo>;
25
+ /**
26
+ * Lists transactions with optional filters. Returns an async iterable
27
+ * that automatically handles pagination.
28
+ *
29
+ * @param params - Optional query parameters for filtering
30
+ * @returns Async iterable of transaction info objects
31
+ */
32
+ list(params?: TransactionsQueryParams): AsyncIterable<TransactionInfo>;
33
+ private validateTransactionId;
34
+ }
35
+ //# sourceMappingURL=transactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../src/resources/transactions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAIhF;;;;;;;;;GASG;AACH,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAEhD;;;;;;;OAOG;IACG,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAe9D;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAAC,eAAe,CAAC;IAStE,OAAO,CAAC,qBAAqB;CAS9B"}
@@ -0,0 +1,53 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { paginate } from '../pagination/paginator.js';
3
+ import { ValidationError } from '../errors/index.js';
4
+ /**
5
+ * Provides access to Mirror Node transaction endpoints.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * for await (const tx of client.transactions.list({ limit: 10 })) {
10
+ * console.log(tx.transaction_id, tx.result);
11
+ * }
12
+ * ```
13
+ */
14
+ export class TransactionsResource {
15
+ client;
16
+ constructor(client) {
17
+ this.client = client;
18
+ }
19
+ /**
20
+ * Retrieves a single transaction by its transaction ID.
21
+ *
22
+ * @param transactionId - Transaction ID in `shard.realm.num-ssssssssss-nnnnnnnnn` format
23
+ * @returns The transaction info including transfers and result
24
+ * @throws {ValidationError} If the transaction ID format is invalid
25
+ * @throws {MirrorNodeError} If the API request fails
26
+ */
27
+ async getById(transactionId) {
28
+ this.validateTransactionId(transactionId);
29
+ const response = await this.client.get(`/api/v1/transactions/${transactionId}`);
30
+ const first = response.transactions[0];
31
+ if (!first) {
32
+ throw new ValidationError(`No transaction found for ID: "${transactionId}"`, 'TRANSACTION_NOT_FOUND');
33
+ }
34
+ return first;
35
+ }
36
+ /**
37
+ * Lists transactions with optional filters. Returns an async iterable
38
+ * that automatically handles pagination.
39
+ *
40
+ * @param params - Optional query parameters for filtering
41
+ * @returns Async iterable of transaction info objects
42
+ */
43
+ list(params) {
44
+ return paginate(this.client, '/api/v1/transactions', 'transactions', params);
45
+ }
46
+ validateTransactionId(id) {
47
+ // Format: 0.0.XXXX-SSSSSSSSSS-NNNNNNNNN
48
+ if (!/^\d+\.\d+\.\d+-\d+-\d+$/.test(id)) {
49
+ throw new ValidationError(`Invalid transaction ID format: "${id}". Expected "shard.realm.num-seconds-nanos" format.`, 'INVALID_TRANSACTION_ID');
50
+ }
51
+ }
52
+ }
53
+ //# sourceMappingURL=transactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../src/resources/transactions.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAItC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,aAAqB;QACjC,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,wBAAwB,aAAa,EAAE,CACxC,CAAC;QACF,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CACvB,iCAAiC,aAAa,GAAG,EACjD,uBAAuB,CACxB,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,MAAgC;QACnC,OAAO,QAAQ,CACb,IAAI,CAAC,MAAM,EACX,sBAAsB,EACtB,cAAc,EACd,MAA+D,CAChE,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,EAAU;QACtC,wCAAwC;QACxC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,eAAe,CACvB,mCAAmC,EAAE,qDAAqD,EAC1F,wBAAwB,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,302 @@
1
+ import type { BaseQueryParams, TimestampFilter } from './common.js';
2
+ /** Key object as returned by the Mirror Node */
3
+ export interface Key {
4
+ _type: string;
5
+ key: string;
6
+ }
7
+ /** Balance information nested within an account response */
8
+ export interface AccountBalance {
9
+ balance: number;
10
+ timestamp: string;
11
+ tokens: ReadonlyArray<TokenBalance>;
12
+ }
13
+ /** Token balance associated with an account */
14
+ export interface TokenBalance {
15
+ token_id: string;
16
+ balance: number;
17
+ }
18
+ /** Full account info as returned by GET /api/v1/accounts/{id} */
19
+ export interface AccountInfo {
20
+ account: string;
21
+ alias: string | null;
22
+ auto_renew_period: number | null;
23
+ balance: AccountBalance;
24
+ created_timestamp: string | null;
25
+ decline_reward: boolean;
26
+ deleted: boolean;
27
+ ethereum_nonce: number;
28
+ evm_address: string | null;
29
+ expiry_timestamp: string | null;
30
+ key: Key | null;
31
+ max_automatic_token_associations: number;
32
+ memo: string;
33
+ pending_reward: number;
34
+ receiver_sig_required: boolean;
35
+ staked_account_id: string | null;
36
+ staked_node_id: number | null;
37
+ stake_period_start: string | null;
38
+ }
39
+ /** Query parameters for listing accounts */
40
+ export interface AccountsQueryParams extends BaseQueryParams, TimestampFilter {
41
+ 'account.id'?: string;
42
+ 'account.balance'?: string;
43
+ 'account.publickey'?: string;
44
+ }
45
+ /** Transfer within a transaction */
46
+ export interface Transfer {
47
+ account: string;
48
+ amount: number;
49
+ is_approval: boolean;
50
+ }
51
+ /** Token transfer within a transaction */
52
+ export interface TokenTransfer {
53
+ token_id: string;
54
+ account: string;
55
+ amount: number;
56
+ is_approval: boolean;
57
+ }
58
+ /** NFT transfer within a transaction */
59
+ export interface NftTransfer {
60
+ is_approval: boolean;
61
+ receiver_account_id: string;
62
+ sender_account_id: string;
63
+ serial_number: number;
64
+ token_id: string;
65
+ }
66
+ /** Full transaction info as returned by the Mirror Node */
67
+ export interface TransactionInfo {
68
+ bytes: string | null;
69
+ charged_tx_fee: number;
70
+ consensus_timestamp: string;
71
+ entity_id: string | null;
72
+ max_fee: string;
73
+ memo_base64: string;
74
+ name: string;
75
+ nft_transfers: ReadonlyArray<NftTransfer>;
76
+ node: string | null;
77
+ nonce: number;
78
+ parent_consensus_timestamp: string | null;
79
+ result: string;
80
+ scheduled: boolean;
81
+ staking_reward_transfers: ReadonlyArray<Transfer>;
82
+ token_transfers: ReadonlyArray<TokenTransfer>;
83
+ transaction_hash: string;
84
+ transaction_id: string;
85
+ transfers: ReadonlyArray<Transfer>;
86
+ valid_duration_seconds: string;
87
+ valid_start_timestamp: string;
88
+ }
89
+ /** Query parameters for listing transactions */
90
+ export interface TransactionsQueryParams extends BaseQueryParams, TimestampFilter {
91
+ 'account.id'?: string;
92
+ result?: 'success' | 'fail';
93
+ type?: string;
94
+ transactiontype?: string;
95
+ }
96
+ /** Fixed fee charged for a token transfer */
97
+ export interface FixedFee {
98
+ amount: number;
99
+ collector_account_id: string;
100
+ denominating_token_id: string | null;
101
+ }
102
+ /** Fractional amount used in fractional and royalty fees */
103
+ export interface FractionalAmount {
104
+ numerator: number;
105
+ denominator: number;
106
+ }
107
+ /** Fractional fee charged as a fraction of the transfer amount */
108
+ export interface FractionalFee {
109
+ amount: FractionalAmount;
110
+ collector_account_id: string;
111
+ denominating_token_id: string | null;
112
+ maximum: number | null;
113
+ minimum: number;
114
+ net_of_transfers: boolean;
115
+ }
116
+ /** Royalty fee charged on NFT transfers */
117
+ export interface RoyaltyFee {
118
+ amount: FractionalAmount;
119
+ collector_account_id: string;
120
+ fallback_fee: FixedFee | null;
121
+ }
122
+ /** Custom fee schedule for a token */
123
+ export interface CustomFee {
124
+ created_timestamp: string;
125
+ fixed_fees: ReadonlyArray<FixedFee>;
126
+ fractional_fees: ReadonlyArray<FractionalFee>;
127
+ royalty_fees: ReadonlyArray<RoyaltyFee>;
128
+ }
129
+ /** Full token info as returned by GET /api/v1/tokens/{id} */
130
+ export interface TokenInfo {
131
+ admin_key: Key | null;
132
+ auto_renew_account: string | null;
133
+ auto_renew_period: number | null;
134
+ created_timestamp: string;
135
+ custom_fees: CustomFee;
136
+ decimals: string;
137
+ deleted: boolean;
138
+ expiry_timestamp: string | null;
139
+ fee_schedule_key: Key | null;
140
+ freeze_default: boolean;
141
+ freeze_key: Key | null;
142
+ initial_supply: string;
143
+ kyc_key: Key | null;
144
+ max_supply: string;
145
+ memo: string;
146
+ modified_timestamp: string;
147
+ name: string;
148
+ pause_key: Key | null;
149
+ pause_status: string;
150
+ supply_key: Key | null;
151
+ supply_type: string;
152
+ symbol: string;
153
+ token_id: string;
154
+ total_supply: string;
155
+ treasury_account_id: string;
156
+ type: string;
157
+ wipe_key: Key | null;
158
+ }
159
+ /** Query parameters for listing tokens */
160
+ export interface TokensQueryParams extends BaseQueryParams {
161
+ publickey?: string;
162
+ 'token.id'?: string;
163
+ type?: 'ALL' | 'FUNGIBLE_COMMON' | 'NON_FUNGIBLE_UNIQUE';
164
+ name?: string;
165
+ }
166
+ /** Topic info as returned by GET /api/v1/topics/{id} */
167
+ export interface TopicInfo {
168
+ admin_key: Key | null;
169
+ auto_renew_account: string | null;
170
+ auto_renew_period: number | null;
171
+ created_timestamp: string;
172
+ deleted: boolean;
173
+ memo: string;
174
+ submit_key: Key | null;
175
+ timestamp: {
176
+ from: string;
177
+ to: string | null;
178
+ };
179
+ topic_id: string;
180
+ }
181
+ /** Topic message as returned by GET /api/v1/topics/{id}/messages */
182
+ export interface TopicMessage {
183
+ chunk_info: {
184
+ initial_transaction_id: string;
185
+ number: number;
186
+ total: number;
187
+ } | null;
188
+ consensus_timestamp: string;
189
+ message: string;
190
+ payer_account_id: string;
191
+ running_hash: string;
192
+ running_hash_version: number;
193
+ sequence_number: number;
194
+ topic_id: string;
195
+ }
196
+ /** Query parameters for listing topic messages */
197
+ export interface TopicMessagesQueryParams extends BaseQueryParams, TimestampFilter {
198
+ sequencenumber?: number;
199
+ }
200
+ /** Contract info as returned by GET /api/v1/contracts/{id} */
201
+ export interface ContractInfo {
202
+ admin_key: Key | null;
203
+ auto_renew_account: string | null;
204
+ auto_renew_period: number | null;
205
+ contract_id: string;
206
+ created_timestamp: string;
207
+ deleted: boolean;
208
+ evm_address: string;
209
+ expiry_timestamp: string | null;
210
+ file_id: string | null;
211
+ max_automatic_token_associations: number;
212
+ memo: string;
213
+ obtainer_id: string | null;
214
+ permanent_removal: boolean | null;
215
+ proxy_account_id: string | null;
216
+ timestamp: {
217
+ from: string;
218
+ to: string | null;
219
+ };
220
+ }
221
+ /** Query parameters for listing contracts */
222
+ export interface ContractsQueryParams extends BaseQueryParams {
223
+ 'contract.id'?: string;
224
+ }
225
+ /** NFT info as returned by the Mirror Node */
226
+ export interface NftInfo {
227
+ account_id: string;
228
+ created_timestamp: string;
229
+ delegating_spender: string | null;
230
+ deleted: boolean;
231
+ metadata: string;
232
+ modified_timestamp: string;
233
+ serial_number: number;
234
+ spender: string | null;
235
+ token_id: string;
236
+ }
237
+ /** Query parameters for listing NFTs */
238
+ export interface NftsQueryParams extends BaseQueryParams {
239
+ 'account.id'?: string;
240
+ serialnumber?: number;
241
+ }
242
+ /** Balance entry as returned by GET /api/v1/balances */
243
+ export interface BalanceEntry {
244
+ account: string;
245
+ balance: number;
246
+ tokens: ReadonlyArray<TokenBalance>;
247
+ }
248
+ /** Query parameters for listing balances */
249
+ export interface BalancesQueryParams extends BaseQueryParams, TimestampFilter {
250
+ 'account.id'?: string;
251
+ 'account.balance'?: string;
252
+ 'account.publickey'?: string;
253
+ }
254
+ /** Block info as returned by GET /api/v1/blocks/{hashOrNumber} */
255
+ export interface BlockInfo {
256
+ count: number;
257
+ gas_used: number;
258
+ hapi_version: string;
259
+ hash: string;
260
+ logs_bloom: string;
261
+ name: string;
262
+ number: number;
263
+ previous_hash: string;
264
+ size: number | null;
265
+ timestamp: {
266
+ from: string;
267
+ to: string;
268
+ };
269
+ }
270
+ /** Query parameters for listing blocks */
271
+ export interface BlocksQueryParams extends BaseQueryParams {
272
+ 'block.number'?: string;
273
+ }
274
+ /** Signature on a scheduled transaction */
275
+ export interface ScheduleSignature {
276
+ consensus_timestamp: string;
277
+ public_key_prefix: string;
278
+ signature: string;
279
+ type: string;
280
+ }
281
+ /** Schedule info as returned by GET /api/v1/schedules/{id} */
282
+ export interface ScheduleInfo {
283
+ admin_key: Key | null;
284
+ consensus_timestamp: string | null;
285
+ creator_account_id: string;
286
+ deleted: boolean;
287
+ executed_timestamp: string | null;
288
+ expiration_time: string | null;
289
+ memo: string;
290
+ payer_account_id: string;
291
+ schedule_id: string;
292
+ signatures: ReadonlyArray<ScheduleSignature>;
293
+ transaction_body: string;
294
+ wait_for_expiry: boolean;
295
+ }
296
+ /** Query parameters for listing schedules */
297
+ export interface SchedulesQueryParams extends BaseQueryParams {
298
+ 'account.id'?: string;
299
+ 'schedule.id'?: string;
300
+ executed?: boolean;
301
+ }
302
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ export {};
3
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"AAAA,sCAAsC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Regular expression pattern for validating Hedera entity IDs.
3
+ * Format: `shard.realm.num` where each segment is a non-negative integer.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * ENTITY_ID_PATTERN.test('0.0.1234'); // true
8
+ * ENTITY_ID_PATTERN.test('invalid'); // false
9
+ * ```
10
+ */
11
+ export declare const ENTITY_ID_PATTERN: RegExp;
12
+ /**
13
+ * Pagination links returned by the Mirror Node API.
14
+ */
15
+ export interface PaginationLinks {
16
+ /** URL for the next page of results, or null if no more pages */
17
+ next: string | null;
18
+ }
19
+ /**
20
+ * Generic paginated response shape from the Mirror Node API.
21
+ * The data array is keyed by the resource name (e.g., 'accounts', 'transactions').
22
+ */
23
+ export interface PaginatedResponse<T> {
24
+ /** Pagination navigation links */
25
+ links: PaginationLinks;
26
+ /** Dynamic key containing the array of items */
27
+ [key: string]: ReadonlyArray<T> | PaginationLinks | undefined;
28
+ }
29
+ /**
30
+ * Common query parameters supported by most Mirror Node list endpoints.
31
+ */
32
+ export interface BaseQueryParams {
33
+ /** Maximum number of items per page (Mirror Node default is 25, max is 100) */
34
+ limit?: number;
35
+ /** Sort order: 'asc' or 'desc' */
36
+ order?: 'asc' | 'desc';
37
+ }
38
+ /**
39
+ * Timestamp filter used across many Mirror Node endpoints.
40
+ * Values are in `seconds.nanoseconds` format.
41
+ */
42
+ export interface TimestampFilter {
43
+ /** Return results after this timestamp */
44
+ 'timestamp.gt'?: string;
45
+ /** Return results at or after this timestamp */
46
+ 'timestamp.gte'?: string;
47
+ /** Return results before this timestamp */
48
+ 'timestamp.lt'?: string;
49
+ /** Return results at or before this timestamp */
50
+ 'timestamp.lte'?: string;
51
+ }
52
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,QAAoB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,kCAAkC;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,gDAAgD;IAChD,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,13 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * Regular expression pattern for validating Hedera entity IDs.
4
+ * Format: `shard.realm.num` where each segment is a non-negative integer.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * ENTITY_ID_PATTERN.test('0.0.1234'); // true
9
+ * ENTITY_ID_PATTERN.test('invalid'); // false
10
+ * ```
11
+ */
12
+ export const ENTITY_ID_PATTERN = /^\d+\.\d+\.\d+$/;
13
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "hiero-sdk-utils",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript utilities for Hedera/Hiero Mirror Node — typed queries, auto-pagination, and developer helpers",
5
+ "main": "./dist/cjs/index.js",
6
+ "module": "./dist/esm/index.js",
7
+ "types": "./dist/esm/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "./dist/esm/index.d.ts",
12
+ "default": "./dist/esm/index.js"
13
+ },
14
+ "require": {
15
+ "types": "./dist/cjs/index.d.ts",
16
+ "default": "./dist/cjs/index.js"
17
+ }
18
+ }
19
+ },
20
+ "files": ["dist/"],
21
+ "engines": { "node": ">=18.0.0" },
22
+ "scripts": {
23
+ "build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json",
24
+ "build:esm": "tsc -p tsconfig.json",
25
+ "build:cjs": "tsc -p tsconfig.cjs.json",
26
+ "test": "vitest run",
27
+ "test:unit": "vitest run tests/unit/",
28
+ "test:integration": "vitest run tests/integration/",
29
+ "lint": "eslint src/ tests/ --max-warnings 0",
30
+ "typecheck": "tsc --noEmit",
31
+ "prepublishOnly": "npm run typecheck && npm run lint && npm run test && npm run build"
32
+ },
33
+ "keywords": ["hedera", "hiero", "mirror-node", "sdk", "blockchain", "hashgraph", "typescript", "rest-api"],
34
+ "author": "Dmitrij Titarenko <dtytarenko666@gmail.com>",
35
+ "license": "Apache-2.0",
36
+ "homepage": "https://github.com/dmitrijtitarenko/hiero-sdk-utils#readme",
37
+ "bugs": { "url": "https://github.com/dmitrijtitarenko/hiero-sdk-utils/issues" },
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "https://github.com/dmitrijtitarenko/hiero-sdk-utils.git",
41
+ "directory": "packages/core"
42
+ },
43
+ "publishConfig": { "access": "public" },
44
+ "devDependencies": {
45
+ "@typescript-eslint/eslint-plugin": "^7.0.0",
46
+ "@typescript-eslint/parser": "^7.0.0",
47
+ "@vitest/coverage-v8": "^1.6.1",
48
+ "eslint": "^8.57.0",
49
+ "typescript": "^5.4.0",
50
+ "vitest": "^1.6.0"
51
+ }
52
+ }