@mr-zwets/bchn-api-wrapper 1.0.2 → 1.0.3

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 (59) hide show
  1. package/dist/src/index.d.ts +4 -0
  2. package/dist/src/index.js +4 -0
  3. package/{src/interfaces/interfaces.ts → dist/src/interfaces/interfaces.d.ts} +51 -65
  4. package/dist/src/interfaces/interfaces.js +1 -0
  5. package/{src/interfaces/restInterfaces/interfaces.ts → dist/src/interfaces/restInterfaces/interfaces.d.ts} +145 -166
  6. package/dist/src/interfaces/restInterfaces/interfaces.js +1 -0
  7. package/dist/src/interfaces/rpcInterfaces/blockchain.d.ts +883 -0
  8. package/dist/src/interfaces/rpcInterfaces/blockchain.js +3 -0
  9. package/dist/src/interfaces/rpcInterfaces/control.d.ts +60 -0
  10. package/dist/src/interfaces/rpcInterfaces/control.js +3 -0
  11. package/dist/src/interfaces/rpcInterfaces/generating.d.ts +19 -0
  12. package/dist/src/interfaces/rpcInterfaces/generating.js +3 -0
  13. package/dist/src/interfaces/rpcInterfaces/index.d.ts +9 -0
  14. package/{src/interfaces/rpcInterfaces/index.ts → dist/src/interfaces/rpcInterfaces/index.js} +1 -3
  15. package/dist/src/interfaces/rpcInterfaces/mining.d.ts +140 -0
  16. package/dist/src/interfaces/rpcInterfaces/mining.js +3 -0
  17. package/dist/src/interfaces/rpcInterfaces/network.d.ts +197 -0
  18. package/dist/src/interfaces/rpcInterfaces/network.js +3 -0
  19. package/dist/src/interfaces/rpcInterfaces/rawtransactions.d.ts +304 -0
  20. package/dist/src/interfaces/rpcInterfaces/rawtransactions.js +3 -0
  21. package/dist/src/interfaces/rpcInterfaces/util.d.ts +49 -0
  22. package/dist/src/interfaces/rpcInterfaces/util.js +3 -0
  23. package/dist/src/interfaces/rpcInterfaces/wallet.d.ts +674 -0
  24. package/dist/src/interfaces/rpcInterfaces/wallet.js +3 -0
  25. package/dist/src/interfaces/rpcInterfaces/zmq.d.ts +9 -0
  26. package/dist/src/interfaces/rpcInterfaces/zmq.js +3 -0
  27. package/dist/src/restClient.d.ts +29 -0
  28. package/dist/src/restClient.js +113 -0
  29. package/dist/src/rpcClient.d.ts +19 -0
  30. package/dist/src/rpcClient.js +92 -0
  31. package/dist/src/utils/errors.d.ts +3 -0
  32. package/dist/src/utils/errors.js +6 -0
  33. package/dist/src/utils/utils.d.ts +11 -0
  34. package/dist/src/utils/utils.js +49 -0
  35. package/package.json +7 -3
  36. package/.claude/settings.local.json +0 -8
  37. package/.github/workflows/ci.yaml +0 -36
  38. package/CLAUDE.md +0 -70
  39. package/pnpm-lock.yaml +0 -1279
  40. package/src/index.ts +0 -4
  41. package/src/interfaces/rpcInterfaces/blockchain.ts +0 -933
  42. package/src/interfaces/rpcInterfaces/control.ts +0 -68
  43. package/src/interfaces/rpcInterfaces/generating.ts +0 -23
  44. package/src/interfaces/rpcInterfaces/mining.ts +0 -151
  45. package/src/interfaces/rpcInterfaces/network.ts +0 -213
  46. package/src/interfaces/rpcInterfaces/rawtransactions.ts +0 -332
  47. package/src/interfaces/rpcInterfaces/util.ts +0 -56
  48. package/src/interfaces/rpcInterfaces/wallet.ts +0 -728
  49. package/src/interfaces/rpcInterfaces/zmq.ts +0 -12
  50. package/src/restClient.ts +0 -134
  51. package/src/rpcClient.ts +0 -100
  52. package/src/utils/errors.ts +0 -6
  53. package/src/utils/utils.ts +0 -55
  54. package/test/restClient.test.ts +0 -34
  55. package/test/rpcClient.test.ts +0 -119
  56. package/test/setupTests.ts +0 -56
  57. package/test/tsconfig.json +0 -4
  58. package/tsconfig.json +0 -13
  59. package/vitest.config.ts +0 -9
@@ -1,68 +0,0 @@
1
- /* --- Control Commands --- */
2
- // progress 6/6
3
-
4
- /** Returns memory usage information. */
5
- export interface GetMemoryInfo {
6
- method: 'getmemoryinfo';
7
- params: [
8
- mode?: 'stats' | 'mallocinfo'
9
- ];
10
- response: {
11
- locked: {
12
- used: number;
13
- free: number;
14
- total: number;
15
- locked: number;
16
- chunks_used: number;
17
- chunks_free: number;
18
- };
19
- };
20
- }
21
-
22
- /** Returns details about the RPC server. */
23
- export interface GetRpcInfo {
24
- method: 'getrpcinfo';
25
- params: [];
26
- response: {
27
- active_commands: {
28
- method: string;
29
- duration: number;
30
- }[];
31
- logpath: string;
32
- };
33
- }
34
-
35
- /** Returns help text for RPC commands. */
36
- export interface Help {
37
- method: 'help';
38
- params: [
39
- command?: string
40
- ];
41
- response: string;
42
- }
43
-
44
- /** Gets or sets logging categories. */
45
- export interface Logging {
46
- method: 'logging';
47
- params: [
48
- include_category?: string[],
49
- exclude_category?: string[]
50
- ];
51
- response: {
52
- [category: string]: boolean;
53
- };
54
- }
55
-
56
- /** Stops the BCHN server. */
57
- export interface Stop {
58
- method: 'stop';
59
- params: [];
60
- response: string;
61
- }
62
-
63
- /** Returns server uptime in seconds. */
64
- export interface Uptime {
65
- method: 'uptime';
66
- params: [];
67
- response: number;
68
- }
@@ -1,23 +0,0 @@
1
- /* --- Generating Commands --- */
2
- // progress 2/2
3
-
4
- /** Mines blocks to the wallet (regtest only). */
5
- export interface Generate {
6
- method: 'generate';
7
- params: [
8
- nblocks: number,
9
- maxtries?: number,
10
- ];
11
- response: string[];
12
- }
13
-
14
- /** Mines blocks to a specified address (regtest only). */
15
- export interface GenerateToAddress {
16
- method: 'generatetoaddress';
17
- params: [
18
- nblocks: number,
19
- address: string,
20
- maxtries?: number,
21
- ];
22
- response: string[];
23
- }
@@ -1,151 +0,0 @@
1
- /* --- Mining Commands --- */
2
- // progress 9/9
3
-
4
- /** Returns a block template for mining. */
5
- export interface GetBlockTemplate {
6
- method: 'getblocktemplate';
7
- params: {
8
- mode?: 'template' | 'proposal';
9
- capabilities?: ('longpoll' | 'coinbasetxn' | 'coinbasevalue' | 'proposal' | 'serverlist' | 'workid')[];
10
- longpollid?: string;
11
- checkvalidity?: boolean;
12
- ignorecache?: boolean;
13
- };
14
- response: {
15
- version: number;
16
- previousblockhash: string;
17
- transactions: {
18
- data: string;
19
- txid: string;
20
- hash: string;
21
- depends: number[];
22
- fee: number;
23
- sigops: number;
24
- required: boolean;
25
- }[];
26
- coinbaseaux: {
27
- flags: string;
28
- };
29
- coinbasevalue: number;
30
- coinbasetxn?: object;
31
- target: string;
32
- mintime: number;
33
- mutable: string[];
34
- noncerange: string;
35
- sigoplimit: number;
36
- sizelimit: number;
37
- curtime: number;
38
- bits: string;
39
- height: number;
40
- }
41
- }
42
-
43
- /** Returns a lightweight block template (for mining pools). */
44
- export interface GetBlockTemplateLight {
45
- method: 'getblocktemplatelight';
46
- params: [
47
- {
48
- mode?: 'template' | 'proposal';
49
- capabilities?: ('longpoll' | 'coinbasetxn' | 'coinbasevalue' | 'proposal' | 'serverlist' | 'workid')[];
50
- longpollid?: string;
51
- checkvalidity?: boolean;
52
- ignorecache?: boolean;
53
- },
54
- additional_txs?: string[]
55
- ];
56
- response: {
57
- version: number;
58
- previousblockhash: string;
59
- job_id: string;
60
- merkle: string[];
61
- coinbaseaux: {
62
- flags: string;
63
- };
64
- coinbasevalue: number;
65
- coinbasetxn: object;
66
- target: string;
67
- mintime: number;
68
- mutable: string[];
69
- noncerange: string;
70
- sigoplimit: number;
71
- sizelimit: number;
72
- curtime: number;
73
- bits: string;
74
- height: number;
75
- };
76
- }
77
-
78
- /** Returns mining-related information. */
79
- export interface GetMiningInfo {
80
- method: 'getmininginfo';
81
- params: [];
82
- response: {
83
- blocks: number;
84
- currentblocksize: number;
85
- currentblocktx: number;
86
- difficulty: number;
87
- networkhashps: number;
88
- miningblocksizelimit: number;
89
- pooledtx: number;
90
- chain: string;
91
- warnings: string;
92
- }
93
- }
94
-
95
- /** Returns estimated network hash rate. */
96
- export interface GetNetworkHashps {
97
- method: 'getnetworkhashps';
98
- params: [
99
- nblocks?: number,
100
- height?: number
101
- ];
102
- response: number
103
- }
104
-
105
- /** Modifies a mempool transaction's priority. */
106
- export interface PrioritiseTransaction {
107
- method: 'prioritisetransaction';
108
- params: [
109
- txid: string,
110
- fee_delta: number
111
- ];
112
- response: true
113
- }
114
-
115
- /** Submits a mined block to the network. */
116
- export interface SubmitBlock {
117
- method: 'submitblock';
118
- params: [
119
- hexdata: string,
120
- dummy?: string
121
- ];
122
- response: {}
123
- }
124
-
125
- /** Submits a lightweight block (for mining pools). */
126
- export interface SubmitBlockLight {
127
- method: 'submitblocklight';
128
- params: [
129
- hexdata: string,
130
- job_id: string
131
- ];
132
- response: {}
133
- }
134
-
135
- /** Submits a block header for validation. */
136
- export interface SubmitHeader {
137
- method: 'submitheader';
138
- params: [
139
- hexdata: string
140
- ];
141
- response: {}
142
- }
143
-
144
- /** Validates a block template without mining. */
145
- export interface ValidateBlockTemplate {
146
- method: 'validateblocktemplate';
147
- params: [
148
- hexdata: string
149
- ];
150
- response: true
151
- }
@@ -1,213 +0,0 @@
1
- /* --- Network Commands --- */
2
- // progress 14/14
3
-
4
- /** Adds or removes a node from the addnode list. */
5
- export interface AddNode {
6
- method: 'addnode';
7
- params: [
8
- node: string,
9
- command: 'add' | 'remove' | 'onetry'
10
- ];
11
- response: null;
12
- }
13
-
14
- /** Clears all banned IPs. */
15
- export interface ClearBanned {
16
- method: 'clearbanned';
17
- params: [
18
- manual?: boolean,
19
- automatic?: boolean
20
- ];
21
- response: null;
22
- }
23
-
24
- /** Disconnects a node by address or node ID. */
25
- export interface DisconnectNode {
26
- method: 'disconnectnode';
27
- params: [
28
- address?: string,
29
- nodeid?: number
30
- ];
31
- response: null;
32
- }
33
-
34
- /** Returns info about manually added nodes. */
35
- export interface GetAddedNodeInfo {
36
- method: 'getaddednodeinfo';
37
- params: [
38
- node?: string
39
- ];
40
- response: {
41
- addednode: string;
42
- connected: boolean;
43
- addresses?: {
44
- address: string;
45
- connected: string;
46
- }[];
47
- }[];
48
- }
49
-
50
- /** Returns the number of connections to other nodes. */
51
- export interface GetConnectionCount {
52
- method: 'getconnectioncount';
53
- params: [];
54
- response: number
55
- }
56
-
57
- /** Returns the excessive block size setting. */
58
- export interface GetExcessiveBlock {
59
- method: 'getexcessiveblock';
60
- params: [];
61
- response: number;
62
- }
63
-
64
- /** Returns network traffic statistics. */
65
- export interface GetNetTotals {
66
- method: 'getnettotals';
67
- params: [];
68
- response: {
69
- totalbytesrecv: number;
70
- totalbytessent: number;
71
- timemillis: number;
72
- uploadtarget: {
73
- timeframe: number;
74
- target: number;
75
- target_reached: boolean;
76
- serve_historical_blocks: boolean;
77
- bytes_left_in_cycle: number;
78
- time_left_in_cycle: number;
79
- };
80
- };
81
- }
82
-
83
- /** Returns network configuration and status. */
84
- export interface GetNetworkInfo {
85
- method: 'getnetworkinfo';
86
- params: [];
87
- response: {
88
- version: number;
89
- subversion: string;
90
- protocolversion: number;
91
- localservices: string;
92
- localrelay: boolean;
93
- timeoffset: number;
94
- connections: number;
95
- connections_in: number;
96
- connections_out: number;
97
- networkactive: boolean;
98
- networks: {
99
- name: string;
100
- limited: boolean;
101
- reachable: boolean;
102
- proxy: string;
103
- proxy_randomize_credentials: boolean;
104
- }[];
105
- relayfee: number;
106
- excessutxocharge: number;
107
- localaddresses: {
108
- address: string;
109
- port: number;
110
- score: number;
111
- }[]
112
- warnings: string;
113
- }
114
- }
115
-
116
- /** Returns known peer addresses from the address manager. */
117
- export interface GetNodeAddresses {
118
- method: 'getnodeaddresses';
119
- params: [
120
- count?: number
121
- ];
122
- response: {
123
- time: number;
124
- services: number;
125
- address: string;
126
- port: number;
127
- }[];
128
- }
129
-
130
- /** Returns detailed info about each connected peer. */
131
- export interface GetPeerInfo {
132
- method: 'getpeerinfo';
133
- params: [];
134
- response: {
135
- id: number;
136
- addr: string;
137
- addrbind: string;
138
- addrlocal: string;
139
- mapped_as: string;
140
- services: string;
141
- relaytxes: boolean;
142
- lastsend: number;
143
- lastrecv: number;
144
- bytessent: number;
145
- bytesrecv: number;
146
- conntime: number;
147
- timeoffset: number;
148
- pingtime: number;
149
- minping: number;
150
- pingwait: number;
151
- version: number;
152
- subver: string;
153
- inbound: boolean;
154
- addnode: boolean;
155
- startingheight: number;
156
- banscore: number;
157
- synced_headers: number;
158
- synced_blocks: number;
159
- inflight: number[];
160
- addr_processed: number;
161
- addr_rate_limited: number;
162
- whitelisted: boolean;
163
- minfeefilter: number;
164
- bip152_hb_to: boolean;
165
- bip152_hb_from: boolean;
166
- bytessent_per_msg: {
167
- [msg: string]: number;
168
- };
169
- bytesrecv_per_msg: {
170
- [msg: string]: number;
171
- };
172
- }[];
173
- }
174
-
175
- /** Returns list of banned IPs/subnets. */
176
- export interface ListBanned {
177
- method: 'listbanned';
178
- params: [];
179
- response: {
180
- address: string;
181
- banned_until: number;
182
- ban_created: number;
183
- ban_reason: string;
184
- }[];
185
- }
186
-
187
- /** Pings all connected nodes to measure latency. */
188
- export interface Ping {
189
- method: 'ping';
190
- params: [];
191
- response: null;
192
- }
193
-
194
- /** Bans or unbans a node by subnet. */
195
- export interface SetBan {
196
- method: 'setban';
197
- params: [
198
- subnet: string,
199
- command: 'add' | 'remove',
200
- bantime?: number,
201
- absolute?: boolean
202
- ];
203
- response: null;
204
- }
205
-
206
- /** Enables or disables all P2P network activity. */
207
- export interface SetNetworkActive {
208
- method: 'setnetworkactive';
209
- params: [
210
- state: boolean
211
- ];
212
- response: null;
213
- }