@bitgo-beta/unspents 0.13.2-beta.29 → 0.13.2-beta.290

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 (63) hide show
  1. package/.mocharc.js +1 -1
  2. package/CHANGELOG.md +412 -0
  3. package/bin/generate_tables.ts +94 -0
  4. package/dist/bin/generate_tables.d.ts +2 -0
  5. package/dist/bin/generate_tables.d.ts.map +1 -0
  6. package/dist/bin/generate_tables.js +98 -0
  7. package/dist/{codes.d.ts → src/codes.d.ts} +2 -1
  8. package/dist/src/codes.d.ts.map +1 -0
  9. package/dist/src/codes.js +172 -0
  10. package/dist/{dimensions.d.ts → src/dimensions.d.ts} +4 -2
  11. package/dist/src/dimensions.d.ts.map +1 -0
  12. package/dist/src/dimensions.js +492 -0
  13. package/dist/{index.d.ts → src/index.d.ts} +1 -0
  14. package/dist/src/index.d.ts.map +1 -0
  15. package/dist/{index.js → src/index.js} +6 -2
  16. package/dist/{inputWeights.d.ts → src/inputWeights.d.ts} +1 -0
  17. package/dist/src/inputWeights.d.ts.map +1 -0
  18. package/dist/src/inputWeights.js +97 -0
  19. package/dist/{scriptSizes.d.ts → src/scriptSizes.d.ts} +1 -0
  20. package/dist/src/scriptSizes.d.ts.map +1 -0
  21. package/dist/src/scriptSizes.js +51 -0
  22. package/dist/{types.d.ts → src/types.d.ts} +1 -0
  23. package/dist/src/types.d.ts.map +1 -0
  24. package/dist/{types.js → src/types.js} +6 -2
  25. package/dist/{virtualSizes.d.ts → src/virtualSizes.d.ts} +13 -12
  26. package/dist/src/virtualSizes.d.ts.map +1 -0
  27. package/dist/src/virtualSizes.js +114 -0
  28. package/dist/src/zcash.d.ts +9 -0
  29. package/dist/src/zcash.d.ts.map +1 -0
  30. package/dist/src/zcash.js +24 -0
  31. package/dist/test/chain.d.ts +2 -0
  32. package/dist/test/chain.d.ts.map +1 -0
  33. package/dist/test/chain.js +92 -0
  34. package/dist/test/dimensions.d.ts +2 -0
  35. package/dist/test/dimensions.d.ts.map +1 -0
  36. package/dist/test/dimensions.js +225 -0
  37. package/dist/test/signedTx/inputWeights.d.ts +2 -0
  38. package/dist/test/signedTx/inputWeights.d.ts.map +1 -0
  39. package/dist/test/signedTx/inputWeights.js +117 -0
  40. package/dist/test/signedTx/txCombinations.d.ts +3 -0
  41. package/dist/test/signedTx/txCombinations.d.ts.map +1 -0
  42. package/dist/test/signedTx/txCombinations.js +120 -0
  43. package/dist/test/signedTx/txGen.d.ts +75 -0
  44. package/dist/test/signedTx/txGen.d.ts.map +1 -0
  45. package/dist/test/signedTx/txGen.js +223 -0
  46. package/dist/test/testutils.d.ts +36 -0
  47. package/dist/test/testutils.d.ts.map +1 -0
  48. package/dist/test/testutils.js +180 -0
  49. package/dist/test/virtualSizes.d.ts +2 -0
  50. package/dist/test/virtualSizes.d.ts.map +1 -0
  51. package/dist/test/virtualSizes.js +18 -0
  52. package/dist/test/zcash.d.ts +2 -0
  53. package/dist/test/zcash.d.ts.map +1 -0
  54. package/dist/test/zcash.js +60 -0
  55. package/dist/tsconfig.build.tsbuildinfo +1 -0
  56. package/dist/tsconfig.tsbuildinfo +1 -0
  57. package/docs/input-costs.md +13 -0
  58. package/package.json +7 -7
  59. package/dist/codes.js +0 -168
  60. package/dist/dimensions.js +0 -485
  61. package/dist/inputWeights.js +0 -97
  62. package/dist/scriptSizes.js +0 -51
  63. package/dist/virtualSizes.js +0 -114
package/.mocharc.js CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  module.exports = {
4
4
  require: 'ts-node/register',
5
- spec: ['test/**/*.ts'],
5
+ extension: ['js', 'ts'],
6
6
  };
package/CHANGELOG.md CHANGED
@@ -3,6 +3,418 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.45.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.45.0) (2024-01-30)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
11
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
12
+
13
+ ### Features
14
+
15
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
16
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
17
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
18
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
19
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
20
+
21
+ # [0.44.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.44.0) (2024-01-26)
22
+
23
+ ### Bug Fixes
24
+
25
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
26
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
27
+
28
+ ### Features
29
+
30
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
31
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
32
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
33
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
34
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
35
+
36
+ # [0.43.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.43.0) (2024-01-26)
37
+
38
+ ### Bug Fixes
39
+
40
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
41
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
42
+
43
+ ### Features
44
+
45
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
46
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
47
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
48
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
49
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
50
+
51
+ # [0.42.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.42.0) (2024-01-25)
52
+
53
+ ### Bug Fixes
54
+
55
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
56
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
57
+
58
+ ### Features
59
+
60
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
61
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
62
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
63
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
64
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
65
+
66
+ # [0.41.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.41.0) (2024-01-22)
67
+
68
+ ### Bug Fixes
69
+
70
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
71
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
72
+
73
+ ### Features
74
+
75
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
76
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
77
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
78
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
79
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
80
+
81
+ # [0.40.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.40.0) (2024-01-09)
82
+
83
+ ### Bug Fixes
84
+
85
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
86
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
87
+
88
+ ### Features
89
+
90
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
91
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
92
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
93
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
94
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
95
+
96
+ # [0.39.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.39.0) (2024-01-03)
97
+
98
+ ### Bug Fixes
99
+
100
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
101
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
102
+
103
+ ### Features
104
+
105
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
106
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
107
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
108
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
109
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
110
+
111
+ # [0.38.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.38.0) (2023-12-18)
112
+
113
+ ### Bug Fixes
114
+
115
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
116
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
117
+
118
+ ### Features
119
+
120
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
121
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
122
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
123
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
124
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
125
+
126
+ # [0.37.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.37.0) (2023-12-12)
127
+
128
+ ### Bug Fixes
129
+
130
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
131
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
132
+
133
+ ### Features
134
+
135
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
136
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
137
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
138
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
139
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
140
+
141
+ # [0.36.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.36.0) (2023-12-09)
142
+
143
+ ### Bug Fixes
144
+
145
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
146
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
147
+
148
+ ### Features
149
+
150
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
151
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
152
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
153
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
154
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
155
+
156
+ # [0.35.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.35.0) (2023-12-05)
157
+
158
+ ### Bug Fixes
159
+
160
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
161
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
162
+
163
+ ### Features
164
+
165
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
166
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
167
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
168
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
169
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
170
+
171
+ # [0.34.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.34.0) (2023-11-28)
172
+
173
+ ### Bug Fixes
174
+
175
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
176
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
177
+
178
+ ### Features
179
+
180
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
181
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
182
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
183
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
184
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
185
+
186
+ # [0.33.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.33.0) (2023-11-24)
187
+
188
+ ### Bug Fixes
189
+
190
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
191
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
192
+
193
+ ### Features
194
+
195
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
196
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
197
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
198
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
199
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
200
+
201
+ # [0.32.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.32.0) (2023-11-17)
202
+
203
+ ### Bug Fixes
204
+
205
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
206
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
207
+
208
+ ### Features
209
+
210
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
211
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
212
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
213
+ - **unspents:** default unspents dimensions to recovery path ([361eb62](https://github.com/BitGo/BitGoJS/commit/361eb62641aac19c876576a65da7f6777dc532a0))
214
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
215
+
216
+ # [0.31.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.31.0) (2023-11-13)
217
+
218
+ ### Bug Fixes
219
+
220
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
221
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
222
+
223
+ ### Features
224
+
225
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
226
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
227
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
228
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
229
+
230
+ # [0.30.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.30.0) (2023-11-13)
231
+
232
+ ### Bug Fixes
233
+
234
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
235
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
236
+
237
+ ### Features
238
+
239
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
240
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
241
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
242
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
243
+
244
+ # [0.29.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.29.0) (2023-11-13)
245
+
246
+ ### Bug Fixes
247
+
248
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
249
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
250
+
251
+ ### Features
252
+
253
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
254
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
255
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
256
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
257
+
258
+ # [0.28.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.28.0) (2023-10-20)
259
+
260
+ ### Bug Fixes
261
+
262
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
263
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
264
+
265
+ ### Features
266
+
267
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
268
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
269
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
270
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
271
+
272
+ # [0.27.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.27.0) (2023-10-18)
273
+
274
+ ### Bug Fixes
275
+
276
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
277
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
278
+
279
+ ### Features
280
+
281
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
282
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
283
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
284
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
285
+
286
+ # [0.26.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.26.0) (2023-09-25)
287
+
288
+ ### Bug Fixes
289
+
290
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
291
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
292
+
293
+ ### Features
294
+
295
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
296
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
297
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
298
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
299
+
300
+ # [0.25.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.25.0) (2023-09-09)
301
+
302
+ ### Bug Fixes
303
+
304
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
305
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
306
+
307
+ ### Features
308
+
309
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
310
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
311
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
312
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
313
+
314
+ # [0.24.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.24.0) (2023-09-09)
315
+
316
+ ### Bug Fixes
317
+
318
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
319
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
320
+
321
+ ### Features
322
+
323
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
324
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
325
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
326
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
327
+
328
+ # [0.23.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.23.0) (2023-09-07)
329
+
330
+ ### Bug Fixes
331
+
332
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
333
+ - **unspents:** move `--recursive` flag to mocha ([275b8fb](https://github.com/BitGo/BitGoJS/commit/275b8fba5e3e806dd0e92f6659c92d18c097c45f))
334
+
335
+ ### Features
336
+
337
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
338
+ - **unspents:** add test for finding feePerKB ([f6397d7](https://github.com/BitGo/BitGoJS/commit/f6397d73e1726fb9e58ba6344bb7aab1a3297126))
339
+ - **unspents:** add ZCash ZIP-0317 fee calculation ([8c86f8f](https://github.com/BitGo/BitGoJS/commit/8c86f8f754409c46fb3af82ee55ad031ca16129b))
340
+ - **unspents:** extend tests ([aec14ec](https://github.com/BitGo/BitGoJS/commit/aec14ecedd67016e732b518a5e7a0ae036817fb6))
341
+
342
+ # [0.22.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.22.0) (2023-09-05)
343
+
344
+ ### Bug Fixes
345
+
346
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
347
+
348
+ ### Features
349
+
350
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
351
+
352
+ # [0.21.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.21.0) (2023-09-01)
353
+
354
+ ### Bug Fixes
355
+
356
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
357
+
358
+ ### Features
359
+
360
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
361
+
362
+ # [0.20.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.20.0) (2023-08-29)
363
+
364
+ ### Features
365
+
366
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
367
+
368
+ # [0.19.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.19.0) (2023-08-25)
369
+
370
+ ### Features
371
+
372
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
373
+
374
+ # [0.18.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.18.0) (2023-08-24)
375
+
376
+ ### Features
377
+
378
+ - **sdk-api:** add size correction factor for transactions created ([5f0131c](https://github.com/BitGo/BitGoJS/commit/5f0131cd7016ad7dc4cf4b0be177e0c7ab7f4d25))
379
+
380
+ ## [0.17.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.17.2) (2023-08-16)
381
+
382
+ **Note:** Version bump only for package @bitgo/unspents
383
+
384
+ ## [0.17.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.17.0...@bitgo/unspents@0.17.1) (2023-08-16)
385
+
386
+ **Note:** Version bump only for package @bitgo/unspents
387
+
388
+ # [0.17.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.15.4...@bitgo/unspents@0.17.0) (2023-08-04)
389
+
390
+ ### Features
391
+
392
+ - **unspents:** add docs/input-costs.md, generation tool ([aa843da](https://github.com/BitGo/BitGoJS/commit/aa843da4ac4c538073c0244334500511998c0423))
393
+ - **unspents:** fix unspents module setup ([687f4c3](https://github.com/BitGo/BitGoJS/commit/687f4c3c29885b1e5b5bf9d79782d265937d6f1d)), closes [#3651](https://github.com/BitGo/BitGoJS/issues/3651)
394
+
395
+ # [0.16.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.15.4...@bitgo/unspents@0.16.0) (2023-07-28)
396
+
397
+ ### Features
398
+
399
+ - **unspents:** add docs/input-costs.md, generation tool ([aa843da](https://github.com/BitGo/BitGoJS/commit/aa843da4ac4c538073c0244334500511998c0423))
400
+ - **unspents:** fix unspents module setup ([687f4c3](https://github.com/BitGo/BitGoJS/commit/687f4c3c29885b1e5b5bf9d79782d265937d6f1d)), closes [#3651](https://github.com/BitGo/BitGoJS/issues/3651)
401
+
402
+ ## [0.15.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.15.3...@bitgo/unspents@0.15.4) (2023-07-18)
403
+
404
+ **Note:** Version bump only for package @bitgo/unspents
405
+
406
+ ## [0.15.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.15.2...@bitgo/unspents@0.15.3) (2023-06-21)
407
+
408
+ **Note:** Version bump only for package @bitgo/unspents
409
+
410
+ ## [0.15.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.15.1...@bitgo/unspents@0.15.2) (2023-06-13)
411
+
412
+ **Note:** Version bump only for package @bitgo/unspents
413
+
414
+ ## [0.15.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.15.0...@bitgo/unspents@0.15.1) (2023-06-07)
415
+
416
+ **Note:** Version bump only for package @bitgo/unspents
417
+
6
418
  # [0.15.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/unspents@0.14.2...@bitgo/unspents@0.15.0) (2023-06-05)
7
419
 
8
420
  ### Bug Fixes
@@ -0,0 +1,94 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as utxolib from '@bitgo-beta/utxo-lib';
3
+
4
+ import { Dimensions } from '../src';
5
+
6
+ const headers = [
7
+ 'Script Type',
8
+ 'Chain Codes',
9
+ 'Spend Type',
10
+ 'Input Size (Virtual Bytes)',
11
+ 'Relative Size (p2trMusig2 = 1.00)',
12
+ ];
13
+
14
+ const relativeCostRef = Dimensions.fromScriptType('taprootKeyPathSpend').getInputsVSize();
15
+
16
+ type Row = [string, string, string, string, string];
17
+
18
+ function formatMarkdownTable(headers: string[], rows: string[][]): string {
19
+ return [headers, headers.map(() => '---'), ...rows].map((row) => `| ${row.join(' | ')} |`).join('\n');
20
+ }
21
+
22
+ function generateRowsForScriptType(
23
+ headers: string[],
24
+ t: utxolib.bitgo.outputScripts.ScriptType2Of3,
25
+ params?: {
26
+ spendTypeName: string;
27
+ scriptTypeParams: { scriptPathLevel?: number };
28
+ }
29
+ ): Row[] {
30
+ const chainCode = utxolib.bitgo.toChainPair(t);
31
+
32
+ if (!params) {
33
+ if (t === 'p2tr') {
34
+ return [
35
+ ...generateRowsForScriptType(headers, t, {
36
+ spendTypeName: 'Script Path, Level 2 (Backup/User, Backup/BitGo)',
37
+ scriptTypeParams: { scriptPathLevel: 2 },
38
+ }),
39
+ ...generateRowsForScriptType(headers, t, {
40
+ spendTypeName: 'Script Path, Level 1 (User/BitGo)',
41
+ scriptTypeParams: { scriptPathLevel: 1 },
42
+ }),
43
+ ];
44
+ }
45
+
46
+ if (t === 'p2trMusig2') {
47
+ return [
48
+ ...generateRowsForScriptType(headers, t, {
49
+ spendTypeName: 'Script Path (Backup/User, Backup/BitGo)',
50
+ scriptTypeParams: { scriptPathLevel: 1 },
51
+ }),
52
+ ...generateRowsForScriptType(headers, t, {
53
+ spendTypeName: 'Key Path (User/BitGo)',
54
+ scriptTypeParams: { scriptPathLevel: undefined },
55
+ }),
56
+ ];
57
+ }
58
+ }
59
+
60
+ const inputVSize = Dimensions.fromScriptType(t, params?.scriptTypeParams).getInputsVSize();
61
+ const row: Row = [
62
+ t,
63
+ chainCode.join(`/`),
64
+ params?.spendTypeName ?? 'all',
65
+ inputVSize.toString(),
66
+ (inputVSize / relativeCostRef).toFixed(2),
67
+ ];
68
+ return [row];
69
+ }
70
+
71
+ function generateTables() {
72
+ const scriptTypes = [...utxolib.bitgo.outputScripts.scriptTypes2Of3];
73
+ return formatMarkdownTable(
74
+ headers,
75
+ scriptTypes.flatMap((s) => generateRowsForScriptType(headers, s))
76
+ );
77
+ }
78
+
79
+ function generateDocument() {
80
+ return [
81
+ '# Input Costs',
82
+ 'This document contains the worst-case input costs for various script types and spend types.',
83
+ 'The input costs are calculated using the `Dimensions` class from `@bitgo-beta/unspents`.',
84
+ '',
85
+ generateTables(),
86
+ ].join('\n');
87
+ }
88
+
89
+ if (require.main === module) {
90
+ const outfile = 'docs/input-costs.md';
91
+ fs.writeFile(outfile, generateDocument())
92
+ .then(() => console.log('wrote to', outfile))
93
+ .catch((e) => console.error(e));
94
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generate_tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate_tables.d.ts","sourceRoot":"","sources":["../../bin/generate_tables.ts"],"names":[],"mappings":""}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const fs = __importStar(require("fs/promises"));
27
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
28
+ const src_1 = require("../src");
29
+ const headers = [
30
+ 'Script Type',
31
+ 'Chain Codes',
32
+ 'Spend Type',
33
+ 'Input Size (Virtual Bytes)',
34
+ 'Relative Size (p2trMusig2 = 1.00)',
35
+ ];
36
+ const relativeCostRef = src_1.Dimensions.fromScriptType('taprootKeyPathSpend').getInputsVSize();
37
+ function formatMarkdownTable(headers, rows) {
38
+ return [headers, headers.map(() => '---'), ...rows].map((row) => `| ${row.join(' | ')} |`).join('\n');
39
+ }
40
+ function generateRowsForScriptType(headers, t, params) {
41
+ var _a;
42
+ const chainCode = utxolib.bitgo.toChainPair(t);
43
+ if (!params) {
44
+ if (t === 'p2tr') {
45
+ return [
46
+ ...generateRowsForScriptType(headers, t, {
47
+ spendTypeName: 'Script Path, Level 2 (Backup/User, Backup/BitGo)',
48
+ scriptTypeParams: { scriptPathLevel: 2 },
49
+ }),
50
+ ...generateRowsForScriptType(headers, t, {
51
+ spendTypeName: 'Script Path, Level 1 (User/BitGo)',
52
+ scriptTypeParams: { scriptPathLevel: 1 },
53
+ }),
54
+ ];
55
+ }
56
+ if (t === 'p2trMusig2') {
57
+ return [
58
+ ...generateRowsForScriptType(headers, t, {
59
+ spendTypeName: 'Script Path (Backup/User, Backup/BitGo)',
60
+ scriptTypeParams: { scriptPathLevel: 1 },
61
+ }),
62
+ ...generateRowsForScriptType(headers, t, {
63
+ spendTypeName: 'Key Path (User/BitGo)',
64
+ scriptTypeParams: { scriptPathLevel: undefined },
65
+ }),
66
+ ];
67
+ }
68
+ }
69
+ const inputVSize = src_1.Dimensions.fromScriptType(t, params === null || params === void 0 ? void 0 : params.scriptTypeParams).getInputsVSize();
70
+ const row = [
71
+ t,
72
+ chainCode.join(`/`),
73
+ (_a = params === null || params === void 0 ? void 0 : params.spendTypeName) !== null && _a !== void 0 ? _a : 'all',
74
+ inputVSize.toString(),
75
+ (inputVSize / relativeCostRef).toFixed(2),
76
+ ];
77
+ return [row];
78
+ }
79
+ function generateTables() {
80
+ const scriptTypes = [...utxolib.bitgo.outputScripts.scriptTypes2Of3];
81
+ return formatMarkdownTable(headers, scriptTypes.flatMap((s) => generateRowsForScriptType(headers, s)));
82
+ }
83
+ function generateDocument() {
84
+ return [
85
+ '# Input Costs',
86
+ 'This document contains the worst-case input costs for various script types and spend types.',
87
+ 'The input costs are calculated using the `Dimensions` class from `@bitgo-beta/unspents`.',
88
+ '',
89
+ generateTables(),
90
+ ].join('\n');
91
+ }
92
+ if (require.main === module) {
93
+ const outfile = 'docs/input-costs.md';
94
+ fs.writeFile(outfile, generateDocument())
95
+ .then(() => console.log('wrote to', outfile))
96
+ .catch((e) => console.error(e));
97
+ }
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVfdGFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vYmluL2dlbmVyYXRlX3RhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQWtDO0FBQ2xDLDhEQUFnRDtBQUVoRCxnQ0FBb0M7QUFFcEMsTUFBTSxPQUFPLEdBQUc7SUFDZCxhQUFhO0lBQ2IsYUFBYTtJQUNiLFlBQVk7SUFDWiw0QkFBNEI7SUFDNUIsbUNBQW1DO0NBQ3BDLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBRyxnQkFBVSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO0FBSTFGLFNBQVMsbUJBQW1CLENBQUMsT0FBaUIsRUFBRSxJQUFnQjtJQUM5RCxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3hHLENBQUM7QUFFRCxTQUFTLHlCQUF5QixDQUNoQyxPQUFpQixFQUNqQixDQUE2QyxFQUM3QyxNQUdDOztJQUVELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRS9DLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxJQUFJLENBQUMsS0FBSyxNQUFNLEVBQUU7WUFDaEIsT0FBTztnQkFDTCxHQUFHLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUU7b0JBQ3ZDLGFBQWEsRUFBRSxrREFBa0Q7b0JBQ2pFLGdCQUFnQixFQUFFLEVBQUUsZUFBZSxFQUFFLENBQUMsRUFBRTtpQkFDekMsQ0FBQztnQkFDRixHQUFHLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUU7b0JBQ3ZDLGFBQWEsRUFBRSxtQ0FBbUM7b0JBQ2xELGdCQUFnQixFQUFFLEVBQUUsZUFBZSxFQUFFLENBQUMsRUFBRTtpQkFDekMsQ0FBQzthQUNILENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxLQUFLLFlBQVksRUFBRTtZQUN0QixPQUFPO2dCQUNMLEdBQUcseUJBQXlCLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTtvQkFDdkMsYUFBYSxFQUFFLHlDQUF5QztvQkFDeEQsZ0JBQWdCLEVBQUUsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFO2lCQUN6QyxDQUFDO2dCQUNGLEdBQUcseUJBQXlCLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTtvQkFDdkMsYUFBYSxFQUFFLHVCQUF1QjtvQkFDdEMsZ0JBQWdCLEVBQUUsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFO2lCQUNqRCxDQUFDO2FBQ0gsQ0FBQztTQUNIO0tBQ0Y7SUFFRCxNQUFNLFVBQVUsR0FBRyxnQkFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLGdCQUFnQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDM0YsTUFBTSxHQUFHLEdBQVE7UUFDZixDQUFDO1FBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDbkIsTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsYUFBYSxtQ0FBSSxLQUFLO1FBQzlCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDckIsQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUMxQyxDQUFDO0lBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQztBQUVELFNBQVMsY0FBYztJQUNyQixNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckUsT0FBTyxtQkFBbUIsQ0FDeEIsT0FBTyxFQUNQLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU87UUFDTCxlQUFlO1FBQ2YsNkZBQTZGO1FBQzdGLDBGQUEwRjtRQUMxRixFQUFFO1FBQ0YsY0FBYyxFQUFFO0tBQ2pCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2YsQ0FBQztBQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcscUJBQXFCLENBQUM7SUFDdEMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztTQUN0QyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDNUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy9wcm9taXNlcyc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgRGltZW5zaW9ucyB9IGZyb20gJy4uL3NyYyc7XG5cbmNvbnN0IGhlYWRlcnMgPSBbXG4gICdTY3JpcHQgVHlwZScsXG4gICdDaGFpbiBDb2RlcycsXG4gICdTcGVuZCBUeXBlJyxcbiAgJ0lucHV0IFNpemUgKFZpcnR1YWwgQnl0ZXMpJyxcbiAgJ1JlbGF0aXZlIFNpemUgKHAydHJNdXNpZzIgPSAxLjAwKScsXG5dO1xuXG5jb25zdCByZWxhdGl2ZUNvc3RSZWYgPSBEaW1lbnNpb25zLmZyb21TY3JpcHRUeXBlKCd0YXByb290S2V5UGF0aFNwZW5kJykuZ2V0SW5wdXRzVlNpemUoKTtcblxudHlwZSBSb3cgPSBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmddO1xuXG5mdW5jdGlvbiBmb3JtYXRNYXJrZG93blRhYmxlKGhlYWRlcnM6IHN0cmluZ1tdLCByb3dzOiBzdHJpbmdbXVtdKTogc3RyaW5nIHtcbiAgcmV0dXJuIFtoZWFkZXJzLCBoZWFkZXJzLm1hcCgoKSA9PiAnLS0tJyksIC4uLnJvd3NdLm1hcCgocm93KSA9PiBgfCAke3Jvdy5qb2luKCcgfCAnKX0gfGApLmpvaW4oJ1xcbicpO1xufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZVJvd3NGb3JTY3JpcHRUeXBlKFxuICBoZWFkZXJzOiBzdHJpbmdbXSxcbiAgdDogdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzLFxuICBwYXJhbXM/OiB7XG4gICAgc3BlbmRUeXBlTmFtZTogc3RyaW5nO1xuICAgIHNjcmlwdFR5cGVQYXJhbXM6IHsgc2NyaXB0UGF0aExldmVsPzogbnVtYmVyIH07XG4gIH1cbik6IFJvd1tdIHtcbiAgY29uc3QgY2hhaW5Db2RlID0gdXR4b2xpYi5iaXRnby50b0NoYWluUGFpcih0KTtcblxuICBpZiAoIXBhcmFtcykge1xuICAgIGlmICh0ID09PSAncDJ0cicpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLmdlbmVyYXRlUm93c0ZvclNjcmlwdFR5cGUoaGVhZGVycywgdCwge1xuICAgICAgICAgIHNwZW5kVHlwZU5hbWU6ICdTY3JpcHQgUGF0aCwgTGV2ZWwgMiAoQmFja3VwL1VzZXIsIEJhY2t1cC9CaXRHbyknLFxuICAgICAgICAgIHNjcmlwdFR5cGVQYXJhbXM6IHsgc2NyaXB0UGF0aExldmVsOiAyIH0sXG4gICAgICAgIH0pLFxuICAgICAgICAuLi5nZW5lcmF0ZVJvd3NGb3JTY3JpcHRUeXBlKGhlYWRlcnMsIHQsIHtcbiAgICAgICAgICBzcGVuZFR5cGVOYW1lOiAnU2NyaXB0IFBhdGgsIExldmVsIDEgKFVzZXIvQml0R28pJyxcbiAgICAgICAgICBzY3JpcHRUeXBlUGFyYW1zOiB7IHNjcmlwdFBhdGhMZXZlbDogMSB9LFxuICAgICAgICB9KSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgaWYgKHQgPT09ICdwMnRyTXVzaWcyJykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uZ2VuZXJhdGVSb3dzRm9yU2NyaXB0VHlwZShoZWFkZXJzLCB0LCB7XG4gICAgICAgICAgc3BlbmRUeXBlTmFtZTogJ1NjcmlwdCBQYXRoIChCYWNrdXAvVXNlciwgQmFja3VwL0JpdEdvKScsXG4gICAgICAgICAgc2NyaXB0VHlwZVBhcmFtczogeyBzY3JpcHRQYXRoTGV2ZWw6IDEgfSxcbiAgICAgICAgfSksXG4gICAgICAgIC4uLmdlbmVyYXRlUm93c0ZvclNjcmlwdFR5cGUoaGVhZGVycywgdCwge1xuICAgICAgICAgIHNwZW5kVHlwZU5hbWU6ICdLZXkgUGF0aCAoVXNlci9CaXRHbyknLFxuICAgICAgICAgIHNjcmlwdFR5cGVQYXJhbXM6IHsgc2NyaXB0UGF0aExldmVsOiB1bmRlZmluZWQgfSxcbiAgICAgICAgfSksXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGlucHV0VlNpemUgPSBEaW1lbnNpb25zLmZyb21TY3JpcHRUeXBlKHQsIHBhcmFtcz8uc2NyaXB0VHlwZVBhcmFtcykuZ2V0SW5wdXRzVlNpemUoKTtcbiAgY29uc3Qgcm93OiBSb3cgPSBbXG4gICAgdCxcbiAgICBjaGFpbkNvZGUuam9pbihgL2ApLFxuICAgIHBhcmFtcz8uc3BlbmRUeXBlTmFtZSA/PyAnYWxsJyxcbiAgICBpbnB1dFZTaXplLnRvU3RyaW5nKCksXG4gICAgKGlucHV0VlNpemUgLyByZWxhdGl2ZUNvc3RSZWYpLnRvRml4ZWQoMiksXG4gIF07XG4gIHJldHVybiBbcm93XTtcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVUYWJsZXMoKSB7XG4gIGNvbnN0IHNjcmlwdFR5cGVzID0gWy4uLnV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5zY3JpcHRUeXBlczJPZjNdO1xuICByZXR1cm4gZm9ybWF0TWFya2Rvd25UYWJsZShcbiAgICBoZWFkZXJzLFxuICAgIHNjcmlwdFR5cGVzLmZsYXRNYXAoKHMpID0+IGdlbmVyYXRlUm93c0ZvclNjcmlwdFR5cGUoaGVhZGVycywgcykpXG4gICk7XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlRG9jdW1lbnQoKSB7XG4gIHJldHVybiBbXG4gICAgJyMgSW5wdXQgQ29zdHMnLFxuICAgICdUaGlzIGRvY3VtZW50IGNvbnRhaW5zIHRoZSB3b3JzdC1jYXNlIGlucHV0IGNvc3RzIGZvciB2YXJpb3VzIHNjcmlwdCB0eXBlcyBhbmQgc3BlbmQgdHlwZXMuJyxcbiAgICAnVGhlIGlucHV0IGNvc3RzIGFyZSBjYWxjdWxhdGVkIHVzaW5nIHRoZSBgRGltZW5zaW9uc2AgY2xhc3MgZnJvbSBgQGJpdGdvLWJldGEvdW5zcGVudHNgLicsXG4gICAgJycsXG4gICAgZ2VuZXJhdGVUYWJsZXMoKSxcbiAgXS5qb2luKCdcXG4nKTtcbn1cblxuaWYgKHJlcXVpcmUubWFpbiA9PT0gbW9kdWxlKSB7XG4gIGNvbnN0IG91dGZpbGUgPSAnZG9jcy9pbnB1dC1jb3N0cy5tZCc7XG4gIGZzLndyaXRlRmlsZShvdXRmaWxlLCBnZW5lcmF0ZURvY3VtZW50KCkpXG4gICAgLnRoZW4oKCkgPT4gY29uc29sZS5sb2coJ3dyb3RlIHRvJywgb3V0ZmlsZSkpXG4gICAgLmNhdGNoKChlKSA9PiBjb25zb2xlLmVycm9yKGUpKTtcbn1cbiJdfQ==