@start9labs/start-sdk 0.4.0-beta.50 → 0.4.0-beta.51

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 (56) hide show
  1. package/base/lib/Effects.d.ts +4 -0
  2. package/base/lib/actions/input/builder/inputSpec.d.ts +3 -3
  3. package/base/lib/actions/input/builder/inputSpec.js +5 -5
  4. package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
  5. package/base/lib/actions/input/builder/inputSpecTools.d.ts +3 -3
  6. package/base/lib/actions/input/builder/list.d.ts +3 -3
  7. package/base/lib/actions/input/builder/list.js +5 -5
  8. package/base/lib/actions/input/builder/list.js.map +1 -1
  9. package/base/lib/actions/input/builder/value.d.ts +16 -16
  10. package/base/lib/actions/input/builder/value.js +33 -33
  11. package/base/lib/actions/input/builder/value.js.map +1 -1
  12. package/base/lib/actions/input/builder/variants.d.ts +3 -3
  13. package/base/lib/actions/input/builder/variants.js +7 -7
  14. package/base/lib/actions/input/builder/variants.js.map +1 -1
  15. package/base/lib/actions/setupActions.js +1 -1
  16. package/base/lib/actions/setupActions.js.map +1 -1
  17. package/base/lib/index.d.ts +1 -1
  18. package/base/lib/index.js +3 -2
  19. package/base/lib/index.js.map +1 -1
  20. package/base/lib/interfaces/Host.js +2 -4
  21. package/base/lib/interfaces/Host.js.map +1 -1
  22. package/base/lib/osBindings/GetOutboundGatewayParams.d.ts +4 -0
  23. package/base/lib/osBindings/GetOutboundGatewayParams.js +3 -0
  24. package/base/lib/osBindings/GetOutboundGatewayParams.js.map +1 -0
  25. package/base/lib/osBindings/index.d.ts +1 -0
  26. package/base/lib/util/GetOutboundGateway.d.ts +30 -0
  27. package/base/lib/util/GetOutboundGateway.js +90 -0
  28. package/base/lib/util/GetOutboundGateway.js.map +1 -0
  29. package/base/lib/util/deepEqual.js +1 -2
  30. package/base/lib/util/deepEqual.js.map +1 -1
  31. package/base/lib/util/graph.js.map +1 -1
  32. package/base/lib/util/index.d.ts +1 -0
  33. package/base/lib/util/index.js +3 -1
  34. package/base/lib/util/index.js.map +1 -1
  35. package/base/lib/util/splitCommand.js +1 -2
  36. package/base/lib/util/splitCommand.js.map +1 -1
  37. package/package/lib/StartSdk.d.ts +2 -1
  38. package/package/lib/StartSdk.js +1 -0
  39. package/package/lib/StartSdk.js.map +1 -1
  40. package/package/lib/health/HealthCheck.js +1 -2
  41. package/package/lib/health/HealthCheck.js.map +1 -1
  42. package/package/lib/index.d.ts +2 -2
  43. package/package/lib/index.js +2 -2
  44. package/package/lib/index.js.map +1 -1
  45. package/package/lib/test/output.d.ts +2 -2
  46. package/package/lib/test/output.js +418 -329
  47. package/package/lib/test/output.js.map +1 -1
  48. package/package/lib/test/output.sdk.d.ts +1 -0
  49. package/package/lib/util/fileHelper.d.ts +2 -2
  50. package/package/lib/util/fileHelper.js +7 -7
  51. package/package/lib/util/fileHelper.js.map +1 -1
  52. package/package/lib/version/VersionGraph.d.ts +3 -13
  53. package/package/lib/version/VersionGraph.js +3 -18
  54. package/package/lib/version/VersionGraph.js.map +1 -1
  55. package/package/package.json +8 -8
  56. package/package.json +8 -8
@@ -3,355 +3,444 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.inputSpecSpec = void 0;
4
4
  const output_sdk_1 = require("./output.sdk");
5
5
  const { InputSpec, List, Value, Variants } = output_sdk_1.sdk;
6
- exports.inputSpecSpec = InputSpec.of({ "mediasources": Value.multiselect({
7
- "name": "Media Sources",
8
- "minLength": null,
9
- "maxLength": null,
10
- "default": [
11
- "nextcloud"
12
- ],
13
- "description": "List of Media Sources to use with Jellyfin",
14
- "warning": null,
15
- "values": {
16
- "nextcloud": "NextCloud",
17
- "filebrowser": "File Browser"
18
- }
19
- }), "testListUnion": Value.list(/* TODO: Convert range for this value ([1,*))*/ List.obj({
20
- name: "Lightning Nodes",
6
+ exports.inputSpecSpec = InputSpec.of({
7
+ mediasources: Value.multiselect({
8
+ name: 'Media Sources',
9
+ minLength: null,
10
+ maxLength: null,
11
+ default: ['nextcloud'],
12
+ description: 'List of Media Sources to use with Jellyfin',
13
+ warning: null,
14
+ values: {
15
+ nextcloud: 'NextCloud',
16
+ filebrowser: 'File Browser',
17
+ },
18
+ }),
19
+ testListUnion: Value.list(
20
+ /* TODO: Convert range for this value ([1,*))*/ List.obj({
21
+ name: 'Lightning Nodes',
21
22
  minLength: null,
22
23
  maxLength: null,
23
24
  default: [],
24
- description: "List of Lightning Network node instances to manage",
25
+ description: 'List of Lightning Network node instances to manage',
25
26
  warning: null,
26
27
  }, {
27
28
  spec: InputSpec.of({
28
- "union": /* TODO: Convert range for this value ([1,*))*/ Value.union({
29
- name: "Type",
30
- description: "- LND: Lightning Network Daemon from Lightning Labs\n- CLN: Core Lightning from Blockstream\n",
29
+ /* TODO: Convert range for this value ([1,*))*/
30
+ union: Value.union({
31
+ name: 'Type',
32
+ description: '- LND: Lightning Network Daemon from Lightning Labs\n- CLN: Core Lightning from Blockstream\n',
31
33
  warning: null,
32
- default: "lnd",
33
- variants: Variants.of({ "lnd": { name: "lnd", spec: InputSpec.of({ "name": Value.text({
34
- "name": "Node Name",
35
- "default": "LND Wrapper",
36
- "required": true,
37
- "description": "Name of this node in the list",
38
- "warning": null,
39
- "masked": false,
40
- "placeholder": null,
41
- "inputmode": "text",
42
- "patterns": [],
43
- "minLength": null,
44
- "maxLength": null
45
- }), }) }, }),
46
- })
34
+ default: 'lnd',
35
+ variants: Variants.of({
36
+ lnd: {
37
+ name: 'lnd',
38
+ spec: InputSpec.of({
39
+ name: Value.text({
40
+ name: 'Node Name',
41
+ default: 'LND Wrapper',
42
+ required: true,
43
+ description: 'Name of this node in the list',
44
+ warning: null,
45
+ masked: false,
46
+ placeholder: null,
47
+ inputmode: 'text',
48
+ patterns: [],
49
+ minLength: null,
50
+ maxLength: null,
51
+ }),
52
+ }),
53
+ },
54
+ }),
55
+ }),
47
56
  }),
48
- displayAs: "{{name}}",
49
- uniqueBy: "name",
50
- })), "rpc": Value.object({
51
- name: "RPC Settings",
52
- description: "RPC configuration options.",
53
- }, InputSpec.of({ "enable": Value.toggle({
54
- "name": "Enable",
55
- "default": true,
56
- "description": "Allow remote RPC requests.",
57
- "warning": null
58
- }), "username": Value.text({
59
- "name": "Username",
60
- "default": "bitcoin",
61
- "required": true,
62
- "description": "The username for connecting to Bitcoin over RPC.",
63
- "warning": null,
64
- "masked": true,
65
- "placeholder": null,
66
- "inputmode": "text",
67
- "patterns": [
57
+ displayAs: '{{name}}',
58
+ uniqueBy: 'name',
59
+ })),
60
+ rpc: Value.object({
61
+ name: 'RPC Settings',
62
+ description: 'RPC configuration options.',
63
+ }, InputSpec.of({
64
+ enable: Value.toggle({
65
+ name: 'Enable',
66
+ default: true,
67
+ description: 'Allow remote RPC requests.',
68
+ warning: null,
69
+ }),
70
+ username: Value.text({
71
+ name: 'Username',
72
+ default: 'bitcoin',
73
+ required: true,
74
+ description: 'The username for connecting to Bitcoin over RPC.',
75
+ warning: null,
76
+ masked: true,
77
+ placeholder: null,
78
+ inputmode: 'text',
79
+ patterns: [
68
80
  {
69
- "regex": "^[a-zA-Z0-9_]+$",
70
- "description": "Must be alphanumeric (can contain underscore)."
71
- }
81
+ regex: '^[a-zA-Z0-9_]+$',
82
+ description: 'Must be alphanumeric (can contain underscore).',
83
+ },
72
84
  ],
73
- "minLength": null,
74
- "maxLength": null
75
- }), "password": Value.text({
76
- "name": "RPC Password",
77
- "default": {
78
- "charset": "a-z,2-7",
79
- "len": 20
85
+ minLength: null,
86
+ maxLength: null,
87
+ }),
88
+ password: Value.text({
89
+ name: 'RPC Password',
90
+ default: {
91
+ charset: 'a-z,2-7',
92
+ len: 20,
80
93
  },
81
- "required": true,
82
- "description": "The password for connecting to Bitcoin over RPC.",
83
- "warning": null,
84
- "masked": true,
85
- "placeholder": null,
86
- "inputmode": "text",
87
- "patterns": [
94
+ required: true,
95
+ description: 'The password for connecting to Bitcoin over RPC.',
96
+ warning: null,
97
+ masked: true,
98
+ placeholder: null,
99
+ inputmode: 'text',
100
+ patterns: [
88
101
  {
89
- "regex": "^[^\\n\"]*$",
90
- "description": "Must not contain newline or quote characters."
91
- }
102
+ regex: '^[^\\n"]*$',
103
+ description: 'Must not contain newline or quote characters.',
104
+ },
92
105
  ],
93
- "minLength": null,
94
- "maxLength": null
95
- }), "bio": Value.textarea({
96
- "name": "Username",
97
- "description": "The username for connecting to Bitcoin over RPC.",
98
- "warning": null,
99
- "required": true,
100
- "default": "bitcoin",
101
- "placeholder": null,
102
- "minLength": null,
103
- "maxLength": null,
104
- "minRows": 3,
105
- "maxRows": 6
106
- }), "advanced": Value.object({
107
- name: "Advanced",
108
- description: "Advanced RPC Settings",
109
- }, InputSpec.of({ "auth": Value.list(/* TODO: Convert range for this value ([0,*))*/ List.text({
110
- "name": "Authorization",
111
- "minLength": null,
112
- "maxLength": null,
113
- "default": [],
114
- "description": "Username and hashed password for JSON-RPC connections. RPC clients connect using the usual http basic authentication.",
115
- "warning": null
116
- }, { "masked": false, "placeholder": null, "patterns": [{ "regex": "^[a-zA-Z0-9_-]+:([0-9a-fA-F]{2})+\\$([0-9a-fA-F]{2})+$", "description": "Each item must be of the form \"<USERNAME>:<SALT>$<HASH>\"." }], "minLength": null, "maxLength": null })), "serialversion": Value.select({
117
- "name": "Serialization Version",
118
- "description": "Return raw transaction or block hex with Segwit or non-SegWit serialization.",
119
- "warning": null,
120
- "default": "segwit",
121
- "values": {
122
- "non-segwit": "non-segwit",
123
- "segwit": "segwit"
124
- }
125
- }), "servertimeout": /* TODO: Convert range for this value ([5,300])*/ Value.number({
126
- "name": "Rpc Server Timeout",
127
- "description": "Number of seconds after which an uncompleted RPC call will time out.",
128
- "warning": null,
129
- "default": 30,
130
- "required": true,
131
- "min": null,
132
- "max": null,
133
- "step": null,
134
- "integer": true,
135
- "units": "seconds",
136
- "placeholder": null
137
- }), "threads": /* TODO: Convert range for this value ([1,64])*/ Value.number({
138
- "name": "Threads",
139
- "description": "Set the number of threads for handling RPC calls. You may wish to increase this if you are making lots of calls via an integration.",
140
- "warning": null,
141
- "default": 16,
142
- "required": true,
143
- "min": null,
144
- "max": null,
145
- "step": null,
146
- "integer": true,
147
- "units": null,
148
- "placeholder": null
149
- }), "workqueue": /* TODO: Convert range for this value ([8,256])*/ Value.number({
150
- "name": "Work Queue",
151
- "description": "Set the depth of the work queue to service RPC calls. Determines how long the backlog of RPC requests can get before it just rejects new ones.",
152
- "warning": null,
153
- "default": 128,
154
- "required": true,
155
- "min": null,
156
- "max": null,
157
- "step": null,
158
- "integer": true,
159
- "units": "requests",
160
- "placeholder": null
161
- }), })), })), "zmq-enabled": Value.toggle({
162
- "name": "ZeroMQ Enabled",
163
- "default": true,
164
- "description": "Enable the ZeroMQ interface",
165
- "warning": null
166
- }), "txindex": Value.toggle({
167
- "name": "Transaction Index",
168
- "default": true,
169
- "description": "Enable the Transaction Index (txindex)",
170
- "warning": null
171
- }), "wallet": Value.object({
172
- name: "Wallet",
173
- description: "Wallet Settings",
174
- }, InputSpec.of({ "enable": Value.toggle({
175
- "name": "Enable Wallet",
176
- "default": true,
177
- "description": "Load the wallet and enable wallet RPC calls.",
178
- "warning": null
179
- }), "avoidpartialspends": Value.toggle({
180
- "name": "Avoid Partial Spends",
181
- "default": true,
182
- "description": "Group outputs by address, selecting all or none, instead of selecting on a per-output basis. This improves privacy at the expense of higher transaction fees.",
183
- "warning": null
184
- }), "discardfee": /* TODO: Convert range for this value ([0,.01])*/ Value.number({
185
- "name": "Discard Change Tolerance",
186
- "description": "The fee rate (in BTC/kB) that indicates your tolerance for discarding change by adding it to the fee.",
187
- "warning": null,
188
- "default": 0.0001,
189
- "required": true,
190
- "min": null,
191
- "max": null,
192
- "step": null,
193
- "integer": false,
194
- "units": "BTC/kB",
195
- "placeholder": null
196
- }), })), "advanced": Value.object({
197
- name: "Advanced",
198
- description: "Advanced Settings",
199
- }, InputSpec.of({ "mempool": Value.object({
200
- name: "Mempool",
201
- description: "Mempool Settings",
202
- }, InputSpec.of({ "mempoolfullrbf": Value.toggle({
203
- "name": "Enable Full RBF",
204
- "default": false,
205
- "description": "Policy for your node to use for relaying and mining unconfirmed transactions. For details, see https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-24.0.md#notice-of-new-option-for-transaction-replacement-policies",
206
- "warning": null
207
- }), "persistmempool": Value.toggle({
208
- "name": "Persist Mempool",
209
- "default": true,
210
- "description": "Save the mempool on shutdown and load on restart.",
211
- "warning": null
212
- }), "maxmempool": /* TODO: Convert range for this value ([1,*))*/ Value.number({
213
- "name": "Max Mempool Size",
214
- "description": "Keep the transaction memory pool below <n> megabytes.",
215
- "warning": null,
216
- "default": 300,
217
- "required": true,
218
- "min": null,
219
- "max": null,
220
- "step": null,
221
- "integer": true,
222
- "units": "MiB",
223
- "placeholder": null
224
- }), "mempoolexpiry": /* TODO: Convert range for this value ([1,*))*/ Value.number({
225
- "name": "Mempool Expiration",
226
- "description": "Do not keep transactions in the mempool longer than <n> hours.",
227
- "warning": null,
228
- "default": 336,
229
- "required": true,
230
- "min": null,
231
- "max": null,
232
- "step": null,
233
- "integer": true,
234
- "units": "Hr",
235
- "placeholder": null
236
- }), })), "peers": Value.object({
237
- name: "Peers",
238
- description: "Peer Connection Settings",
239
- }, InputSpec.of({ "listen": Value.toggle({
240
- "name": "Make Public",
241
- "default": true,
242
- "description": "Allow other nodes to find your server on the network.",
243
- "warning": null
244
- }), "onlyconnect": Value.toggle({
245
- "name": "Disable Peer Discovery",
246
- "default": false,
247
- "description": "Only connect to specified peers.",
248
- "warning": null
249
- }), "onlyonion": Value.toggle({
250
- "name": "Disable Clearnet",
251
- "default": false,
252
- "description": "Only connect to peers over Tor.",
253
- "warning": null
254
- }), "addnode": Value.list(/* TODO: Convert range for this value ([0,*))*/ List.obj({
255
- name: "Add Nodes",
106
+ minLength: null,
107
+ maxLength: null,
108
+ }),
109
+ bio: Value.textarea({
110
+ name: 'Username',
111
+ description: 'The username for connecting to Bitcoin over RPC.',
112
+ warning: null,
113
+ required: true,
114
+ default: 'bitcoin',
115
+ placeholder: null,
116
+ minLength: null,
117
+ maxLength: null,
118
+ minRows: 3,
119
+ maxRows: 6,
120
+ }),
121
+ advanced: Value.object({
122
+ name: 'Advanced',
123
+ description: 'Advanced RPC Settings',
124
+ }, InputSpec.of({
125
+ auth: Value.list(
126
+ /* TODO: Convert range for this value ([0,*))*/ List.text({
127
+ name: 'Authorization',
256
128
  minLength: null,
257
129
  maxLength: null,
258
130
  default: [],
259
- description: "Add addresses of nodes to connect to.",
131
+ description: 'Username and hashed password for JSON-RPC connections. RPC clients connect using the usual http basic authentication.',
132
+ warning: null,
260
133
  }, {
261
- spec: InputSpec.of({ "hostname": Value.text({
262
- "name": "Hostname",
263
- "default": null,
264
- "required": false,
265
- "description": "Domain or IP address of bitcoin peer",
266
- "warning": null,
267
- "masked": false,
268
- "placeholder": null,
269
- "inputmode": "text",
270
- "patterns": [
134
+ masked: false,
135
+ placeholder: null,
136
+ patterns: [
137
+ {
138
+ regex: '^[a-zA-Z0-9_-]+:([0-9a-fA-F]{2})+\\$([0-9a-fA-F]{2})+$',
139
+ description: 'Each item must be of the form "<USERNAME>:<SALT>$<HASH>".',
140
+ },
141
+ ],
142
+ minLength: null,
143
+ maxLength: null,
144
+ })),
145
+ serialversion: Value.select({
146
+ name: 'Serialization Version',
147
+ description: 'Return raw transaction or block hex with Segwit or non-SegWit serialization.',
148
+ warning: null,
149
+ default: 'segwit',
150
+ values: {
151
+ 'non-segwit': 'non-segwit',
152
+ segwit: 'segwit',
153
+ },
154
+ }),
155
+ servertimeout:
156
+ /* TODO: Convert range for this value ([5,300])*/ Value.number({
157
+ name: 'Rpc Server Timeout',
158
+ description: 'Number of seconds after which an uncompleted RPC call will time out.',
159
+ warning: null,
160
+ default: 30,
161
+ required: true,
162
+ min: null,
163
+ max: null,
164
+ step: null,
165
+ integer: true,
166
+ units: 'seconds',
167
+ placeholder: null,
168
+ }),
169
+ threads:
170
+ /* TODO: Convert range for this value ([1,64])*/ Value.number({
171
+ name: 'Threads',
172
+ description: 'Set the number of threads for handling RPC calls. You may wish to increase this if you are making lots of calls via an integration.',
173
+ warning: null,
174
+ default: 16,
175
+ required: true,
176
+ min: null,
177
+ max: null,
178
+ step: null,
179
+ integer: true,
180
+ units: null,
181
+ placeholder: null,
182
+ }),
183
+ workqueue:
184
+ /* TODO: Convert range for this value ([8,256])*/ Value.number({
185
+ name: 'Work Queue',
186
+ description: 'Set the depth of the work queue to service RPC calls. Determines how long the backlog of RPC requests can get before it just rejects new ones.',
187
+ warning: null,
188
+ default: 128,
189
+ required: true,
190
+ min: null,
191
+ max: null,
192
+ step: null,
193
+ integer: true,
194
+ units: 'requests',
195
+ placeholder: null,
196
+ }),
197
+ })),
198
+ })),
199
+ 'zmq-enabled': Value.toggle({
200
+ name: 'ZeroMQ Enabled',
201
+ default: true,
202
+ description: 'Enable the ZeroMQ interface',
203
+ warning: null,
204
+ }),
205
+ txindex: Value.toggle({
206
+ name: 'Transaction Index',
207
+ default: true,
208
+ description: 'Enable the Transaction Index (txindex)',
209
+ warning: null,
210
+ }),
211
+ wallet: Value.object({
212
+ name: 'Wallet',
213
+ description: 'Wallet Settings',
214
+ }, InputSpec.of({
215
+ enable: Value.toggle({
216
+ name: 'Enable Wallet',
217
+ default: true,
218
+ description: 'Load the wallet and enable wallet RPC calls.',
219
+ warning: null,
220
+ }),
221
+ avoidpartialspends: Value.toggle({
222
+ name: 'Avoid Partial Spends',
223
+ default: true,
224
+ description: 'Group outputs by address, selecting all or none, instead of selecting on a per-output basis. This improves privacy at the expense of higher transaction fees.',
225
+ warning: null,
226
+ }),
227
+ discardfee:
228
+ /* TODO: Convert range for this value ([0,.01])*/ Value.number({
229
+ name: 'Discard Change Tolerance',
230
+ description: 'The fee rate (in BTC/kB) that indicates your tolerance for discarding change by adding it to the fee.',
231
+ warning: null,
232
+ default: 0.0001,
233
+ required: true,
234
+ min: null,
235
+ max: null,
236
+ step: null,
237
+ integer: false,
238
+ units: 'BTC/kB',
239
+ placeholder: null,
240
+ }),
241
+ })),
242
+ advanced: Value.object({
243
+ name: 'Advanced',
244
+ description: 'Advanced Settings',
245
+ }, InputSpec.of({
246
+ mempool: Value.object({
247
+ name: 'Mempool',
248
+ description: 'Mempool Settings',
249
+ }, InputSpec.of({
250
+ mempoolfullrbf: Value.toggle({
251
+ name: 'Enable Full RBF',
252
+ default: false,
253
+ description: 'Policy for your node to use for relaying and mining unconfirmed transactions. For details, see https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-24.0.md#notice-of-new-option-for-transaction-replacement-policies',
254
+ warning: null,
255
+ }),
256
+ persistmempool: Value.toggle({
257
+ name: 'Persist Mempool',
258
+ default: true,
259
+ description: 'Save the mempool on shutdown and load on restart.',
260
+ warning: null,
261
+ }),
262
+ maxmempool:
263
+ /* TODO: Convert range for this value ([1,*))*/ Value.number({
264
+ name: 'Max Mempool Size',
265
+ description: 'Keep the transaction memory pool below <n> megabytes.',
266
+ warning: null,
267
+ default: 300,
268
+ required: true,
269
+ min: null,
270
+ max: null,
271
+ step: null,
272
+ integer: true,
273
+ units: 'MiB',
274
+ placeholder: null,
275
+ }),
276
+ mempoolexpiry:
277
+ /* TODO: Convert range for this value ([1,*))*/ Value.number({
278
+ name: 'Mempool Expiration',
279
+ description: 'Do not keep transactions in the mempool longer than <n> hours.',
280
+ warning: null,
281
+ default: 336,
282
+ required: true,
283
+ min: null,
284
+ max: null,
285
+ step: null,
286
+ integer: true,
287
+ units: 'Hr',
288
+ placeholder: null,
289
+ }),
290
+ })),
291
+ peers: Value.object({
292
+ name: 'Peers',
293
+ description: 'Peer Connection Settings',
294
+ }, InputSpec.of({
295
+ listen: Value.toggle({
296
+ name: 'Make Public',
297
+ default: true,
298
+ description: 'Allow other nodes to find your server on the network.',
299
+ warning: null,
300
+ }),
301
+ onlyconnect: Value.toggle({
302
+ name: 'Disable Peer Discovery',
303
+ default: false,
304
+ description: 'Only connect to specified peers.',
305
+ warning: null,
306
+ }),
307
+ onlyonion: Value.toggle({
308
+ name: 'Disable Clearnet',
309
+ default: false,
310
+ description: 'Only connect to peers over Tor.',
311
+ warning: null,
312
+ }),
313
+ addnode: Value.list(
314
+ /* TODO: Convert range for this value ([0,*))*/ List.obj({
315
+ name: 'Add Nodes',
316
+ minLength: null,
317
+ maxLength: null,
318
+ default: [],
319
+ description: 'Add addresses of nodes to connect to.',
320
+ }, {
321
+ spec: InputSpec.of({
322
+ hostname: Value.text({
323
+ name: 'Hostname',
324
+ default: null,
325
+ required: false,
326
+ description: 'Domain or IP address of bitcoin peer',
327
+ warning: null,
328
+ masked: false,
329
+ placeholder: null,
330
+ inputmode: 'text',
331
+ patterns: [
271
332
  {
272
- "regex": "(^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$)|((^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$)|(^[a-z2-7]{16}\\.onion$)|(^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$))",
273
- "description": "Must be either a domain name, or an IPv4 or IPv6 address. Do not include protocol scheme (eg 'http://') or port."
274
- }
333
+ regex: '(^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$)|((^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$)|(^[a-z2-7]{16}\\.onion$)|(^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$))',
334
+ description: "Must be either a domain name, or an IPv4 or IPv6 address. Do not include protocol scheme (eg 'http://') or port.",
335
+ },
275
336
  ],
276
- "minLength": null,
277
- "maxLength": null
278
- }), "port": /* TODO: Convert range for this value ([0,65535])*/ Value.number({
279
- "name": "Port",
280
- "description": "Port that peer is listening on for inbound p2p connections",
281
- "warning": null,
282
- "default": null,
283
- "required": false,
284
- "min": null,
285
- "max": null,
286
- "step": null,
287
- "integer": true,
288
- "units": null,
289
- "placeholder": null
290
- }), }),
337
+ minLength: null,
338
+ maxLength: null,
339
+ }),
340
+ port: /* TODO: Convert range for this value ([0,65535])*/ Value.number({
341
+ name: 'Port',
342
+ description: 'Port that peer is listening on for inbound p2p connections',
343
+ warning: null,
344
+ default: null,
345
+ required: false,
346
+ min: null,
347
+ max: null,
348
+ step: null,
349
+ integer: true,
350
+ units: null,
351
+ placeholder: null,
352
+ }),
353
+ }),
291
354
  displayAs: null,
292
355
  uniqueBy: null,
293
- })), })), "dbcache": /* TODO: Convert range for this value ((0,*))*/ Value.number({
294
- "name": "Database Cache",
295
- "description": "How much RAM to allocate for caching the TXO set. Higher values improve syncing performance, but increase your chance of using up all your system's memory or corrupting your database in the event of an ungraceful shutdown. Set this high but comfortably below your system's total RAM during IBD, then turn down to 450 (or leave blank) once the sync completes.",
296
- "warning": "WARNING: Increasing this value results in a higher chance of ungraceful shutdowns, which can leave your node unusable if it happens during the initial block download. Use this setting with caution. Be sure to set this back to the default (450 or leave blank) once your node is synced. DO NOT press the STOP button if your dbcache is large. Instead, set this number back to the default, hit save, and wait for bitcoind to restart on its own.",
297
- "default": null,
298
- "required": false,
299
- "min": null,
300
- "max": null,
301
- "step": null,
302
- "integer": true,
303
- "units": "MiB",
304
- "placeholder": null
305
- }), "pruning": Value.union({
306
- name: "Pruning Settings",
307
- description: "- Disabled: Disable pruning\n- Automatic: Limit blockchain size on disk to a certain number of megabytes\n- Manual: Prune blockchain with the \"pruneblockchain\" RPC\n",
356
+ })),
357
+ })),
358
+ dbcache: /* TODO: Convert range for this value ((0,*))*/ Value.number({
359
+ name: 'Database Cache',
360
+ description: "How much RAM to allocate for caching the TXO set. Higher values improve syncing performance, but increase your chance of using up all your system's memory or corrupting your database in the event of an ungraceful shutdown. Set this high but comfortably below your system's total RAM during IBD, then turn down to 450 (or leave blank) once the sync completes.",
361
+ warning: 'WARNING: Increasing this value results in a higher chance of ungraceful shutdowns, which can leave your node unusable if it happens during the initial block download. Use this setting with caution. Be sure to set this back to the default (450 or leave blank) once your node is synced. DO NOT press the STOP button if your dbcache is large. Instead, set this number back to the default, hit save, and wait for bitcoind to restart on its own.',
362
+ default: null,
363
+ required: false,
364
+ min: null,
365
+ max: null,
366
+ step: null,
367
+ integer: true,
368
+ units: 'MiB',
369
+ placeholder: null,
370
+ }),
371
+ pruning: Value.union({
372
+ name: 'Pruning Settings',
373
+ description: '- Disabled: Disable pruning\n- Automatic: Limit blockchain size on disk to a certain number of megabytes\n- Manual: Prune blockchain with the "pruneblockchain" RPC\n',
308
374
  warning: null,
309
- default: "disabled",
310
- variants: Variants.of({ "disabled": { name: "Disabled", spec: InputSpec.of({}) }, "automatic": { name: "Automatic", spec: InputSpec.of({ "size": /* TODO: Convert range for this value ([550,1000000))*/ Value.number({
311
- "name": "Max Chain Size",
312
- "description": "Limit of blockchain size on disk.",
313
- "warning": "Increasing this value will require re-syncing your node.",
314
- "default": 550,
315
- "required": true,
316
- "min": null,
317
- "max": null,
318
- "step": null,
319
- "integer": true,
320
- "units": "MiB",
321
- "placeholder": null
322
- }), }) }, "manual": { name: "Manual", spec: InputSpec.of({ "size": /* TODO: Convert range for this value ([550,1000000))*/ Value.number({
323
- "name": "Failsafe Chain Size",
324
- "description": "Prune blockchain if size expands beyond this.",
325
- "warning": null,
326
- "default": 65536,
327
- "required": true,
328
- "min": null,
329
- "max": null,
330
- "step": null,
331
- "integer": true,
332
- "units": "MiB",
333
- "placeholder": null
334
- }), }) }, }),
335
- }), "blockfilters": Value.object({
336
- name: "Block Filters",
337
- description: "Settings for storing and serving compact block filters",
338
- }, InputSpec.of({ "blockfilterindex": Value.toggle({
339
- "name": "Compute Compact Block Filters (BIP158)",
340
- "default": true,
341
- "description": "Generate Compact Block Filters during initial sync (IBD) to enable 'getblockfilter' RPC. This is useful if dependent services need block filters to efficiently scan for addresses/transactions etc.",
342
- "warning": null
343
- }), "peerblockfilters": Value.toggle({
344
- "name": "Serve Compact Block Filters to Peers (BIP157)",
345
- "default": false,
346
- "description": "Serve Compact Block Filters as a peer service to other nodes on the network. This is useful if you wish to connect an SPV client to your node to make it efficient to scan transactions without having to download all block data. 'Compute Compact Block Filters (BIP158)' is required.",
347
- "warning": null
348
- }), })), "bloomfilters": Value.object({
349
- name: "Bloom Filters (BIP37)",
350
- description: "Setting for serving Bloom Filters",
351
- }, InputSpec.of({ "peerbloomfilters": Value.toggle({
352
- "name": "Serve Bloom Filters to Peers",
353
- "default": false,
354
- "description": "Peers have the option of setting filters on each connection they make after the version handshake has completed. Bloom filters are for clients implementing SPV (Simplified Payment Verification) that want to check that block headers connect together correctly, without needing to verify the full blockchain. The client must trust that the transactions in the chain are in fact valid. It is highly recommended AGAINST using for anything except Bisq integration.",
355
- "warning": "This is ONLY for use with Bisq integration, please use Block Filters for all other applications."
356
- }), })), })), });
375
+ default: 'disabled',
376
+ variants: Variants.of({
377
+ disabled: { name: 'Disabled', spec: InputSpec.of({}) },
378
+ automatic: {
379
+ name: 'Automatic',
380
+ spec: InputSpec.of({
381
+ size: /* TODO: Convert range for this value ([550,1000000))*/ Value.number({
382
+ name: 'Max Chain Size',
383
+ description: 'Limit of blockchain size on disk.',
384
+ warning: 'Increasing this value will require re-syncing your node.',
385
+ default: 550,
386
+ required: true,
387
+ min: null,
388
+ max: null,
389
+ step: null,
390
+ integer: true,
391
+ units: 'MiB',
392
+ placeholder: null,
393
+ }),
394
+ }),
395
+ },
396
+ manual: {
397
+ name: 'Manual',
398
+ spec: InputSpec.of({
399
+ size: /* TODO: Convert range for this value ([550,1000000))*/ Value.number({
400
+ name: 'Failsafe Chain Size',
401
+ description: 'Prune blockchain if size expands beyond this.',
402
+ warning: null,
403
+ default: 65536,
404
+ required: true,
405
+ min: null,
406
+ max: null,
407
+ step: null,
408
+ integer: true,
409
+ units: 'MiB',
410
+ placeholder: null,
411
+ }),
412
+ }),
413
+ },
414
+ }),
415
+ }),
416
+ blockfilters: Value.object({
417
+ name: 'Block Filters',
418
+ description: 'Settings for storing and serving compact block filters',
419
+ }, InputSpec.of({
420
+ blockfilterindex: Value.toggle({
421
+ name: 'Compute Compact Block Filters (BIP158)',
422
+ default: true,
423
+ description: "Generate Compact Block Filters during initial sync (IBD) to enable 'getblockfilter' RPC. This is useful if dependent services need block filters to efficiently scan for addresses/transactions etc.",
424
+ warning: null,
425
+ }),
426
+ peerblockfilters: Value.toggle({
427
+ name: 'Serve Compact Block Filters to Peers (BIP157)',
428
+ default: false,
429
+ description: "Serve Compact Block Filters as a peer service to other nodes on the network. This is useful if you wish to connect an SPV client to your node to make it efficient to scan transactions without having to download all block data. 'Compute Compact Block Filters (BIP158)' is required.",
430
+ warning: null,
431
+ }),
432
+ })),
433
+ bloomfilters: Value.object({
434
+ name: 'Bloom Filters (BIP37)',
435
+ description: 'Setting for serving Bloom Filters',
436
+ }, InputSpec.of({
437
+ peerbloomfilters: Value.toggle({
438
+ name: 'Serve Bloom Filters to Peers',
439
+ default: false,
440
+ description: 'Peers have the option of setting filters on each connection they make after the version handshake has completed. Bloom filters are for clients implementing SPV (Simplified Payment Verification) that want to check that block headers connect together correctly, without needing to verify the full blockchain. The client must trust that the transactions in the chain are in fact valid. It is highly recommended AGAINST using for anything except Bisq integration.',
441
+ warning: 'This is ONLY for use with Bisq integration, please use Block Filters for all other applications.',
442
+ }),
443
+ })),
444
+ })),
445
+ });
357
446
  //# sourceMappingURL=output.js.map