@nockchain/rose-ts 0.1.1-alpha

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 (242) hide show
  1. package/README.md +373 -0
  2. package/dist/constants.d.ts +2 -0
  3. package/dist/constants.d.ts.map +1 -0
  4. package/dist/constants.js +2 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/core/belt.d.ts +16 -0
  7. package/dist/core/belt.d.ts.map +1 -0
  8. package/dist/core/belt.js +120 -0
  9. package/dist/core/belt.js.map +1 -0
  10. package/dist/core/digest.d.ts +9 -0
  11. package/dist/core/digest.d.ts.map +1 -0
  12. package/dist/core/digest.js +76 -0
  13. package/dist/core/digest.js.map +1 -0
  14. package/dist/core/hashable.d.ts +21 -0
  15. package/dist/core/hashable.d.ts.map +1 -0
  16. package/dist/core/hashable.js +128 -0
  17. package/dist/core/hashable.js.map +1 -0
  18. package/dist/core/lock.d.ts +8 -0
  19. package/dist/core/lock.d.ts.map +1 -0
  20. package/dist/core/lock.js +95 -0
  21. package/dist/core/lock.js.map +1 -0
  22. package/dist/core/merkle.d.ts +7 -0
  23. package/dist/core/merkle.d.ts.map +1 -0
  24. package/dist/core/merkle.js +57 -0
  25. package/dist/core/merkle.js.map +1 -0
  26. package/dist/core/must.d.ts +3 -0
  27. package/dist/core/must.d.ts.map +1 -0
  28. package/dist/core/must.js +14 -0
  29. package/dist/core/must.js.map +1 -0
  30. package/dist/core/tip5/constants.d.ts +10 -0
  31. package/dist/core/tip5/constants.d.ts.map +1 -0
  32. package/dist/core/tip5/constants.js +70 -0
  33. package/dist/core/tip5/constants.js.map +1 -0
  34. package/dist/core/tip5/index.d.ts +5 -0
  35. package/dist/core/tip5/index.d.ts.map +1 -0
  36. package/dist/core/tip5/index.js +100 -0
  37. package/dist/core/tip5/index.js.map +1 -0
  38. package/dist/core/u256.d.ts +21 -0
  39. package/dist/core/u256.d.ts.map +1 -0
  40. package/dist/core/u256.js +96 -0
  41. package/dist/core/u256.js.map +1 -0
  42. package/dist/core/ubig.d.ts +20 -0
  43. package/dist/core/ubig.d.ts.map +1 -0
  44. package/dist/core/ubig.js +81 -0
  45. package/dist/core/ubig.js.map +1 -0
  46. package/dist/core/zbase.d.ts +11 -0
  47. package/dist/core/zbase.d.ts.map +1 -0
  48. package/dist/core/zbase.js +82 -0
  49. package/dist/core/zbase.js.map +1 -0
  50. package/dist/crypto/bpoly.d.ts +3 -0
  51. package/dist/crypto/bpoly.d.ts.map +1 -0
  52. package/dist/crypto/bpoly.js +121 -0
  53. package/dist/crypto/bpoly.js.map +1 -0
  54. package/dist/crypto/cheetah.d.ts +25 -0
  55. package/dist/crypto/cheetah.d.ts.map +1 -0
  56. package/dist/crypto/cheetah.js +250 -0
  57. package/dist/crypto/cheetah.js.map +1 -0
  58. package/dist/crypto/index.d.ts +7 -0
  59. package/dist/crypto/index.d.ts.map +1 -0
  60. package/dist/crypto/index.js +24 -0
  61. package/dist/crypto/index.js.map +1 -0
  62. package/dist/crypto/privateKey.d.ts +11 -0
  63. package/dist/crypto/privateKey.d.ts.map +1 -0
  64. package/dist/crypto/privateKey.js +88 -0
  65. package/dist/crypto/privateKey.js.map +1 -0
  66. package/dist/crypto/publicKey.d.ts +18 -0
  67. package/dist/crypto/publicKey.d.ts.map +1 -0
  68. package/dist/crypto/publicKey.js +79 -0
  69. package/dist/crypto/publicKey.js.map +1 -0
  70. package/dist/crypto/slip10.d.ts +10 -0
  71. package/dist/crypto/slip10.d.ts.map +1 -0
  72. package/dist/crypto/slip10.js +104 -0
  73. package/dist/crypto/slip10.js.map +1 -0
  74. package/dist/grpc/index.d.ts +12 -0
  75. package/dist/grpc/index.d.ts.map +1 -0
  76. package/dist/grpc/index.js +13 -0
  77. package/dist/grpc/index.js.map +1 -0
  78. package/dist/grpc/proto.d.ts +26 -0
  79. package/dist/grpc/proto.d.ts.map +1 -0
  80. package/dist/grpc/proto.js +219 -0
  81. package/dist/grpc/proto.js.map +1 -0
  82. package/dist/hash/index.d.ts +32 -0
  83. package/dist/hash/index.d.ts.map +1 -0
  84. package/dist/hash/index.js +138 -0
  85. package/dist/hash/index.js.map +1 -0
  86. package/dist/hash/note.d.ts +13 -0
  87. package/dist/hash/note.d.ts.map +1 -0
  88. package/dist/hash/note.js +78 -0
  89. package/dist/hash/note.js.map +1 -0
  90. package/dist/hash/noteData.d.ts +12 -0
  91. package/dist/hash/noteData.d.ts.map +1 -0
  92. package/dist/hash/noteData.js +115 -0
  93. package/dist/hash/noteData.js.map +1 -0
  94. package/dist/hash/noun.d.ts +4 -0
  95. package/dist/hash/noun.d.ts.map +1 -0
  96. package/dist/hash/noun.js +15 -0
  97. package/dist/hash/noun.js.map +1 -0
  98. package/dist/hash/structural.d.ts +5 -0
  99. package/dist/hash/structural.d.ts.map +1 -0
  100. package/dist/hash/structural.js +41 -0
  101. package/dist/hash/structural.js.map +1 -0
  102. package/dist/hash/tx.d.ts +15 -0
  103. package/dist/hash/tx.d.ts.map +1 -0
  104. package/dist/hash/tx.js +146 -0
  105. package/dist/hash/tx.js.map +1 -0
  106. package/dist/index.d.ts +14 -0
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +10 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/noun/belts.d.ts +9 -0
  111. package/dist/noun/belts.d.ts.map +1 -0
  112. package/dist/noun/belts.js +73 -0
  113. package/dist/noun/belts.js.map +1 -0
  114. package/dist/noun/bitwriter.d.ts +14 -0
  115. package/dist/noun/bitwriter.d.ts.map +1 -0
  116. package/dist/noun/bitwriter.js +100 -0
  117. package/dist/noun/bitwriter.js.map +1 -0
  118. package/dist/noun/codec.d.ts +9 -0
  119. package/dist/noun/codec.d.ts.map +1 -0
  120. package/dist/noun/codec.js +144 -0
  121. package/dist/noun/codec.js.map +1 -0
  122. package/dist/noun/cue.d.ts +3 -0
  123. package/dist/noun/cue.d.ts.map +1 -0
  124. package/dist/noun/cue.js +152 -0
  125. package/dist/noun/cue.js.map +1 -0
  126. package/dist/noun/encode.d.ts +12 -0
  127. package/dist/noun/encode.d.ts.map +1 -0
  128. package/dist/noun/encode.js +37 -0
  129. package/dist/noun/encode.js.map +1 -0
  130. package/dist/noun/index.d.ts +10 -0
  131. package/dist/noun/index.d.ts.map +1 -0
  132. package/dist/noun/index.js +29 -0
  133. package/dist/noun/index.js.map +1 -0
  134. package/dist/noun/jam.d.ts +3 -0
  135. package/dist/noun/jam.d.ts.map +1 -0
  136. package/dist/noun/jam.js +107 -0
  137. package/dist/noun/jam.js.map +1 -0
  138. package/dist/noun/types.d.ts +21 -0
  139. package/dist/noun/types.d.ts.map +1 -0
  140. package/dist/noun/types.js +66 -0
  141. package/dist/noun/types.js.map +1 -0
  142. package/dist/noun/words.d.ts +3 -0
  143. package/dist/noun/words.d.ts.map +1 -0
  144. package/dist/noun/words.js +6 -0
  145. package/dist/noun/words.js.map +1 -0
  146. package/dist/proto/decode.d.ts +10 -0
  147. package/dist/proto/decode.d.ts.map +1 -0
  148. package/dist/proto/decode.js +44 -0
  149. package/dist/proto/decode.js.map +1 -0
  150. package/dist/proto/digest.d.ts +21 -0
  151. package/dist/proto/digest.d.ts.map +1 -0
  152. package/dist/proto/digest.js +29 -0
  153. package/dist/proto/digest.js.map +1 -0
  154. package/dist/proto/index.d.ts +9 -0
  155. package/dist/proto/index.d.ts.map +1 -0
  156. package/dist/proto/index.js +140 -0
  157. package/dist/proto/index.js.map +1 -0
  158. package/dist/proto/note.d.ts +4 -0
  159. package/dist/proto/note.d.ts.map +1 -0
  160. package/dist/proto/note.js +99 -0
  161. package/dist/proto/note.js.map +1 -0
  162. package/dist/proto/rawTx.d.ts +3 -0
  163. package/dist/proto/rawTx.d.ts.map +1 -0
  164. package/dist/proto/rawTx.js +186 -0
  165. package/dist/proto/rawTx.js.map +1 -0
  166. package/dist/rpc/client.d.ts +13 -0
  167. package/dist/rpc/client.d.ts.map +1 -0
  168. package/dist/rpc/client.js +75 -0
  169. package/dist/rpc/client.js.map +1 -0
  170. package/dist/rpc/types.d.ts +18 -0
  171. package/dist/rpc/types.d.ts.map +1 -0
  172. package/dist/rpc/types.js +2 -0
  173. package/dist/rpc/types.js.map +1 -0
  174. package/dist/rpc/wire/encode.d.ts +4 -0
  175. package/dist/rpc/wire/encode.d.ts.map +1 -0
  176. package/dist/rpc/wire/encode.js +168 -0
  177. package/dist/rpc/wire/encode.js.map +1 -0
  178. package/dist/rpc/wire/protobuf.d.ts +10 -0
  179. package/dist/rpc/wire/protobuf.d.ts.map +1 -0
  180. package/dist/rpc/wire/protobuf.js +50 -0
  181. package/dist/rpc/wire/protobuf.js.map +1 -0
  182. package/dist/stubs.d.ts +6 -0
  183. package/dist/stubs.d.ts.map +1 -0
  184. package/dist/stubs.js +12 -0
  185. package/dist/stubs.js.map +1 -0
  186. package/dist/tx/accessors.d.ts +13 -0
  187. package/dist/tx/accessors.d.ts.map +1 -0
  188. package/dist/tx/accessors.js +65 -0
  189. package/dist/tx/accessors.js.map +1 -0
  190. package/dist/tx/builder.d.ts +63 -0
  191. package/dist/tx/builder.d.ts.map +1 -0
  192. package/dist/tx/builder.js +601 -0
  193. package/dist/tx/builder.js.map +1 -0
  194. package/dist/tx/display.d.ts +7 -0
  195. package/dist/tx/display.d.ts.map +1 -0
  196. package/dist/tx/display.js +34 -0
  197. package/dist/tx/display.js.map +1 -0
  198. package/dist/tx/fee.d.ts +8 -0
  199. package/dist/tx/fee.d.ts.map +1 -0
  200. package/dist/tx/fee.js +81 -0
  201. package/dist/tx/fee.js.map +1 -0
  202. package/dist/tx/htlc.d.ts +21 -0
  203. package/dist/tx/htlc.d.ts.map +1 -0
  204. package/dist/tx/htlc.js +65 -0
  205. package/dist/tx/htlc.js.map +1 -0
  206. package/dist/tx/index.d.ts +19 -0
  207. package/dist/tx/index.d.ts.map +1 -0
  208. package/dist/tx/index.js +64 -0
  209. package/dist/tx/index.js.map +1 -0
  210. package/dist/tx/multisig.d.ts +3 -0
  211. package/dist/tx/multisig.d.ts.map +1 -0
  212. package/dist/tx/multisig.js +8 -0
  213. package/dist/tx/multisig.js.map +1 -0
  214. package/dist/tx/outputs.d.ts +3 -0
  215. package/dist/tx/outputs.d.ts.map +1 -0
  216. package/dist/tx/outputs.js +57 -0
  217. package/dist/tx/outputs.js.map +1 -0
  218. package/dist/tx/spend.d.ts +10 -0
  219. package/dist/tx/spend.d.ts.map +1 -0
  220. package/dist/tx/spend.js +17 -0
  221. package/dist/tx/spend.js.map +1 -0
  222. package/dist/tx/spends.d.ts +8 -0
  223. package/dist/tx/spends.d.ts.map +1 -0
  224. package/dist/tx/spends.js +48 -0
  225. package/dist/tx/spends.js.map +1 -0
  226. package/dist/tx/types.d.ts +5 -0
  227. package/dist/tx/types.d.ts.map +1 -0
  228. package/dist/tx/types.js +2 -0
  229. package/dist/tx/types.js.map +1 -0
  230. package/dist/tx/unlocks.d.ts +4 -0
  231. package/dist/tx/unlocks.d.ts.map +1 -0
  232. package/dist/tx/unlocks.js +49 -0
  233. package/dist/tx/unlocks.js.map +1 -0
  234. package/dist/tx/witness.d.ts +14 -0
  235. package/dist/tx/witness.d.ts.map +1 -0
  236. package/dist/tx/witness.js +81 -0
  237. package/dist/tx/witness.js.map +1 -0
  238. package/dist/types.d.ts +311 -0
  239. package/dist/types.d.ts.map +1 -0
  240. package/dist/types.js +2 -0
  241. package/dist/types.js.map +1 -0
  242. package/package.json +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unlocks.js","sourceRoot":"","sources":["../../src/tx/unlocks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Digest, Lock, LockMerkleProof, Noun, Nicks, PkhSignature, SeedsV1, Signature, SpendCondition, SpendV1, Witness } from "../types.js";
2
+ export declare function lockMerkleProofFromLock(lock: Lock, index: number): LockMerkleProof;
3
+ export declare function witnessNew(lock: Lock, index: number): Witness;
4
+ export declare function witnessFromLock(lock: Lock, index: number): Witness;
5
+ export declare function witnessFromLockMerkleProof(lockMerkleProof: LockMerkleProof, pkhSignature?: PkhSignature, haxMap?: [Digest, Noun][]): Witness;
6
+ export declare function witnessClearSignatures(witness: Witness): Witness;
7
+ export declare function witnessWithPkhSignature(witness: Witness, entry: [Digest, [string, Signature]]): Witness;
8
+ export declare function witnessWithHaxPreimage(witness: Witness, digest: Digest, preimageNoun: Noun): Witness;
9
+ export declare function spendV1FromLock(lock: Lock, lockSpIndex: number, seeds: SeedsV1, fee: Nicks, unlocks?: {
10
+ pkhSignatures?: PkhSignature;
11
+ haxMap?: [Digest, Noun][];
12
+ }): SpendV1;
13
+ export declare function spendConditionFromWitness(w: Witness): SpendCondition;
14
+ //# sourceMappingURL=witness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"witness.d.ts","sourceRoot":"","sources":["../../src/tx/witness.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EACN,IAAI,EACJ,eAAe,EACf,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,OAAO,EACP,SAAS,EACT,cAAc,EACd,OAAO,EACP,OAAO,EACR,MAAM,aAAa,CAAC;AAOrB,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAkBlF;AAGD,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7D;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,eAAe,EAChC,YAAY,GAAE,YAAiB,EAC/B,MAAM,GAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAO,GAC5B,OAAO,CAQT;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAMhE;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GACnC,OAAO,CAOT;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,IAAI,GACjB,OAAO,CAMT;AAGD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,KAAK,EACV,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;CAC3B,GACA,OAAO,CAaT;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,OAAO,GAAG,cAAc,CAEpE"}
@@ -0,0 +1,81 @@
1
+ import { proveHashableLock } from "../core/merkle.js";
2
+ import { lockHeight, lockSpendCondition } from "../core/lock.js";
3
+ import { spendV1NewWitness } from "./spend.js";
4
+ const AXIS_MOLD_HASH = "6mhCSwJQDvbkbiPAUNjetJtVoo1VLtEhmEYoU4hmdGd6ep1F6ayaV4A";
5
+ export function lockMerkleProofFromLock(lock, index) {
6
+ const spendCondition = lockSpendCondition(lock, index);
7
+ const leafNumber = lockHeight(lock) === 1 ? index : index + 1;
8
+ const { proof, axis } = proveHashableLock(lock, leafNumber);
9
+ if (axis === 1n && proof.path.length === 0) {
10
+ return {
11
+ spend_condition: spendCondition,
12
+ axis: 1,
13
+ proof,
14
+ };
15
+ }
16
+ return {
17
+ version: "full",
18
+ spend_condition: spendCondition,
19
+ axis: Number(axis),
20
+ proof,
21
+ };
22
+ }
23
+ export function witnessNew(lock, index) {
24
+ return witnessFromLockMerkleProof(lockMerkleProofFromLock(lock, index));
25
+ }
26
+ export function witnessFromLock(lock, index) {
27
+ return witnessNew(lock, index);
28
+ }
29
+ export function witnessFromLockMerkleProof(lockMerkleProof, pkhSignature = [], haxMap = []) {
30
+ void AXIS_MOLD_HASH;
31
+ return {
32
+ lock_merkle_proof: lockMerkleProof,
33
+ pkh_signature: [...pkhSignature],
34
+ hax_map: [...haxMap],
35
+ tim: null,
36
+ };
37
+ }
38
+ export function witnessClearSignatures(witness) {
39
+ return {
40
+ ...witness,
41
+ pkh_signature: [],
42
+ hax_map: [],
43
+ };
44
+ }
45
+ export function witnessWithPkhSignature(witness, entry) {
46
+ const pkh = entry[0];
47
+ const sigs = [...witness.pkh_signature];
48
+ const idx = sigs.findIndex(([h]) => h === pkh);
49
+ if (idx >= 0)
50
+ sigs[idx] = entry;
51
+ else
52
+ sigs.push(entry);
53
+ return { ...witness, pkh_signature: sigs };
54
+ }
55
+ export function witnessWithHaxPreimage(witness, digest, preimageNoun) {
56
+ const hax = [...witness.hax_map];
57
+ const idx = hax.findIndex(([d]) => d === digest);
58
+ if (idx >= 0)
59
+ hax[idx] = [digest, preimageNoun];
60
+ else
61
+ hax.push([digest, preimageNoun]);
62
+ return { ...witness, hax_map: hax };
63
+ }
64
+ export function spendV1FromLock(lock, lockSpIndex, seeds, fee, unlocks) {
65
+ let witness = witnessNew(lock, lockSpIndex);
66
+ if (unlocks?.pkhSignatures) {
67
+ for (const entry of unlocks.pkhSignatures) {
68
+ witness = witnessWithPkhSignature(witness, entry);
69
+ }
70
+ }
71
+ if (unlocks?.haxMap) {
72
+ for (const [digest, noun] of unlocks.haxMap) {
73
+ witness = witnessWithHaxPreimage(witness, digest, noun);
74
+ }
75
+ }
76
+ return spendV1NewWitness(witness, seeds, fee);
77
+ }
78
+ export function spendConditionFromWitness(w) {
79
+ return w.lock_merkle_proof.spend_condition;
80
+ }
81
+ //# sourceMappingURL=witness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"witness.js","sourceRoot":"","sources":["../../src/tx/witness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,311 @@
1
+ export type Digest = string & {
2
+ readonly __tag_digest?: undefined;
3
+ };
4
+ export type Nicks = string & {
5
+ readonly __tag_nicks?: undefined;
6
+ };
7
+ import type { NounWire } from "./noun/types.js";
8
+ export type Noun = NounWire;
9
+ export type ZMap<K, V> = [K, V][];
10
+ export type ZSet<T> = T[];
11
+ export interface Name {
12
+ first: Digest;
13
+ last: Digest;
14
+ _sig?: number;
15
+ source?: Source;
16
+ parent?: Digest;
17
+ parent_hash?: Digest;
18
+ Parent?: {
19
+ parent: Digest;
20
+ index: number;
21
+ };
22
+ }
23
+ export type Source = {
24
+ hash: Digest;
25
+ is_coinbase: boolean;
26
+ } | {
27
+ Parent: {
28
+ parent: Digest;
29
+ index: number;
30
+ };
31
+ };
32
+ export type Version = 0 | 1;
33
+ export type TxId = Digest;
34
+ export type BlockHeight = number;
35
+ export interface Pkh {
36
+ m: number;
37
+ hashes: ZSet<Digest>;
38
+ }
39
+ export interface LockTim {
40
+ rel: TimelockRange;
41
+ abs: TimelockRange;
42
+ }
43
+ export interface TimelockRange {
44
+ min: number | null;
45
+ max: number | null;
46
+ }
47
+ export interface Hax {
48
+ preimages: ZSet<Digest>;
49
+ }
50
+ export type LockPrimitive = ({
51
+ tag: "pkh";
52
+ } & Pkh) | ({
53
+ tag: "tim";
54
+ } & LockTim) | ({
55
+ tag: "hax";
56
+ } & Hax) | {
57
+ tag: "brn";
58
+ };
59
+ export type SpendCondition = LockPrimitive[];
60
+ export interface LockV2 {
61
+ p: SpendCondition;
62
+ q: SpendCondition;
63
+ }
64
+ export interface LockV4 {
65
+ p: LockV2;
66
+ q: LockV2;
67
+ }
68
+ export interface LockV8 {
69
+ p: LockV4;
70
+ q: LockV4;
71
+ }
72
+ export interface LockV16 {
73
+ p: LockV8;
74
+ q: LockV8;
75
+ }
76
+ export type Lock = SpendCondition | ({
77
+ tag: 2;
78
+ } & LockV2) | ({
79
+ tag: 4;
80
+ } & LockV4) | ({
81
+ tag: 8;
82
+ } & LockV8) | ({
83
+ tag: 16;
84
+ } & LockV16);
85
+ export type LockRoot = Digest | Lock;
86
+ export type NoteData = [string, Noun][];
87
+ export interface NoteV1 {
88
+ version: Version;
89
+ origin_page: BlockHeight;
90
+ name: Name;
91
+ note_data: NoteData;
92
+ assets: Nicks;
93
+ lock?: Lock;
94
+ source?: Source;
95
+ parent_hash?: Digest;
96
+ }
97
+ export interface NoteV0 {
98
+ inner: {
99
+ version: Version;
100
+ origin_page: BlockHeight;
101
+ timelock?: {
102
+ tim: unknown;
103
+ };
104
+ };
105
+ name: Name;
106
+ sig: unknown;
107
+ source: {
108
+ hash: Digest;
109
+ is_coinbase: boolean;
110
+ };
111
+ assets: Nicks;
112
+ }
113
+ export type Note = NoteV0 | NoteV1;
114
+ export interface SeedV1 {
115
+ output_source: Source | null;
116
+ lock_root: LockRoot;
117
+ note_data: NoteData;
118
+ gift: Nicks;
119
+ parent_hash: Digest;
120
+ }
121
+ export interface MerkleProof {
122
+ root: Digest;
123
+ path: Digest[];
124
+ }
125
+ export interface LockMerkleProofStub {
126
+ spend_condition: SpendCondition;
127
+ axis: 1;
128
+ proof: MerkleProof;
129
+ }
130
+ export interface LockMerkleProofFull {
131
+ spend_condition: SpendCondition;
132
+ axis: number;
133
+ proof: MerkleProof;
134
+ }
135
+ export type LockMerkleProof = LockMerkleProofStub | ({
136
+ version: "full";
137
+ } & LockMerkleProofFull);
138
+ export interface Signature {
139
+ c: string;
140
+ s: string;
141
+ }
142
+ export type PkhSignature = [Digest, [string, Signature]][];
143
+ export interface Witness {
144
+ lock_merkle_proof: LockMerkleProof;
145
+ pkh_signature: PkhSignature;
146
+ hax_map: ZMap<Digest, Noun>;
147
+ tim: null;
148
+ }
149
+ export type SeedsV1 = SeedV1[];
150
+ export interface Spend1V1 {
151
+ witness: Witness;
152
+ seeds: SeedsV1;
153
+ fee: Nicks;
154
+ }
155
+ export type SpendV1 = {
156
+ tag: 0;
157
+ signature: unknown;
158
+ seeds: SeedsV1;
159
+ fee: Nicks;
160
+ } | ({
161
+ tag: 1;
162
+ } & Spend1V1);
163
+ export type SpendsV1 = [Name, SpendV1][];
164
+ export interface WitnessData {
165
+ data: [Name, Witness][];
166
+ }
167
+ export interface LockMetadata {
168
+ lock: Lock;
169
+ include_data: boolean;
170
+ }
171
+ export type InputDisplay = {
172
+ inputs: ZMap<Name, unknown>;
173
+ } | {
174
+ tag: 0;
175
+ inputs: ZMap<Name, unknown>;
176
+ } | {
177
+ tag: 1;
178
+ inputs: ZMap<Name, SpendCondition>;
179
+ };
180
+ export interface TransactionDisplay {
181
+ inputs: InputDisplay;
182
+ outputs: ZMap<Digest, LockMetadata>;
183
+ }
184
+ export interface NockchainTx {
185
+ version: Version;
186
+ id: TxId;
187
+ spends: SpendsV1;
188
+ display: TransactionDisplay;
189
+ witness_data: WitnessData;
190
+ }
191
+ export interface RawTxV1 {
192
+ version: 1;
193
+ id: TxId;
194
+ spends: SpendsV1;
195
+ }
196
+ export interface TxEngineSettings {
197
+ tx_engine_version: Version;
198
+ tx_engine_patch: number;
199
+ min_fee: Nicks;
200
+ cost_per_word: Nicks;
201
+ witness_word_div: number;
202
+ }
203
+ export interface PbCom2RawTransaction {
204
+ version?: {
205
+ value: string;
206
+ };
207
+ id: string;
208
+ spends: PbCom2SpendEntry[];
209
+ }
210
+ export interface PbCom2SpendEntry {
211
+ name?: {
212
+ first: string;
213
+ last: string;
214
+ source?: unknown;
215
+ };
216
+ spend?: PbCom2Spend | null;
217
+ }
218
+ export interface PbCom2Spend {
219
+ spend_kind?: PbCom2SpendSpendKind;
220
+ }
221
+ export type PbCom2SpendSpendKind = {
222
+ Legacy: unknown;
223
+ } | {
224
+ Witness: PbCom2WitnessSpend;
225
+ };
226
+ export interface PbCom2WitnessSpend {
227
+ witness?: PbCom2Witness | null;
228
+ seeds: PbCom2Seed[];
229
+ fee?: {
230
+ value: string;
231
+ };
232
+ }
233
+ export interface PbCom2Witness {
234
+ lock_merkle_proof?: unknown;
235
+ pkh_signature?: unknown;
236
+ hax: PbCom2HaxPreimage[];
237
+ }
238
+ export interface PbCom2HaxPreimage {
239
+ hash?: unknown;
240
+ value: number[];
241
+ }
242
+ export interface PbCom2Seed {
243
+ output_source?: unknown;
244
+ lock_root: string;
245
+ note_data?: unknown;
246
+ gift?: {
247
+ value: string;
248
+ };
249
+ parent_hash: string;
250
+ }
251
+ export interface PbCom2Note {
252
+ note_version?: {
253
+ V1: PbCom2NoteV1;
254
+ } | {
255
+ Legacy: unknown;
256
+ };
257
+ }
258
+ export interface PbCom2NoteV1 {
259
+ version?: {
260
+ value: string;
261
+ };
262
+ origin_page?: {
263
+ value: string;
264
+ };
265
+ name?: {
266
+ first: string;
267
+ last: string;
268
+ source?: unknown;
269
+ };
270
+ note_data?: unknown;
271
+ assets?: {
272
+ value: string;
273
+ };
274
+ }
275
+ export interface PbCom2Balance {
276
+ notes: PbCom2BalanceEntry[];
277
+ height?: {
278
+ value: string;
279
+ };
280
+ block_id: string;
281
+ page?: {
282
+ next_page_token: string;
283
+ };
284
+ }
285
+ export interface PbCom2BalanceEntry {
286
+ name?: {
287
+ first: string;
288
+ last: string;
289
+ };
290
+ note?: PbCom2Note | null;
291
+ }
292
+ export interface TxLock {
293
+ lock: Lock;
294
+ lock_sp_index: number;
295
+ }
296
+ export type MissingUnlocks = {
297
+ Pkh: {
298
+ num_sigs: number;
299
+ sig_of: Digest[];
300
+ };
301
+ } | {
302
+ Hax: {
303
+ preimages_for: Digest[];
304
+ };
305
+ } | "Brn" | {
306
+ Sig: {
307
+ num_sigs: number;
308
+ sig_of: Uint8Array[];
309
+ };
310
+ };
311
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@nockchain/rose-ts",
3
+ "version": "0.1.1-alpha",
4
+ "description": "Pure TypeScript Wallet Primitives for Nockchain",
5
+ "author": "Nocktoshi <nocktoshi@nockchain.net>",
6
+ "license": "GPL-3.0",
7
+ "rereadmeFile": "README.md",
8
+ "type": "module",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/nocktoshi/rose-ts.git"
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "main": "./dist/index.js",
17
+ "types": "./dist/index.d.ts",
18
+ "exports": {
19
+ ".": {
20
+ "types": "./dist/index.d.ts",
21
+ "import": "./dist/index.js"
22
+ }
23
+ },
24
+ "scripts": {
25
+ "build": "tsc",
26
+ "test": "vitest run",
27
+ "test:watch": "vitest",
28
+ "lint": "eslint",
29
+ "lint:fix": "eslint --fix"
30
+ },
31
+ "dependencies": {
32
+ "@noble/hashes": "2.2.0",
33
+ "@scure/base": "2.2.0",
34
+ "@scure/bip39": "2.2.0"
35
+ },
36
+ "devDependencies": {
37
+ "@eslint/js": "^10.0.1",
38
+ "@nockchain/rose-wasm": "0.2.0-alpha.4",
39
+ "@types/node": "25.9.3",
40
+ "eslint": "^10.5.0",
41
+ "typescript": "6.0.3",
42
+ "typescript-eslint": "8.61.0",
43
+ "vitest": "4.1.8"
44
+ }
45
+ }