@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.
- package/README.md +373 -0
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -0
- package/dist/core/belt.d.ts +16 -0
- package/dist/core/belt.d.ts.map +1 -0
- package/dist/core/belt.js +120 -0
- package/dist/core/belt.js.map +1 -0
- package/dist/core/digest.d.ts +9 -0
- package/dist/core/digest.d.ts.map +1 -0
- package/dist/core/digest.js +76 -0
- package/dist/core/digest.js.map +1 -0
- package/dist/core/hashable.d.ts +21 -0
- package/dist/core/hashable.d.ts.map +1 -0
- package/dist/core/hashable.js +128 -0
- package/dist/core/hashable.js.map +1 -0
- package/dist/core/lock.d.ts +8 -0
- package/dist/core/lock.d.ts.map +1 -0
- package/dist/core/lock.js +95 -0
- package/dist/core/lock.js.map +1 -0
- package/dist/core/merkle.d.ts +7 -0
- package/dist/core/merkle.d.ts.map +1 -0
- package/dist/core/merkle.js +57 -0
- package/dist/core/merkle.js.map +1 -0
- package/dist/core/must.d.ts +3 -0
- package/dist/core/must.d.ts.map +1 -0
- package/dist/core/must.js +14 -0
- package/dist/core/must.js.map +1 -0
- package/dist/core/tip5/constants.d.ts +10 -0
- package/dist/core/tip5/constants.d.ts.map +1 -0
- package/dist/core/tip5/constants.js +70 -0
- package/dist/core/tip5/constants.js.map +1 -0
- package/dist/core/tip5/index.d.ts +5 -0
- package/dist/core/tip5/index.d.ts.map +1 -0
- package/dist/core/tip5/index.js +100 -0
- package/dist/core/tip5/index.js.map +1 -0
- package/dist/core/u256.d.ts +21 -0
- package/dist/core/u256.d.ts.map +1 -0
- package/dist/core/u256.js +96 -0
- package/dist/core/u256.js.map +1 -0
- package/dist/core/ubig.d.ts +20 -0
- package/dist/core/ubig.d.ts.map +1 -0
- package/dist/core/ubig.js +81 -0
- package/dist/core/ubig.js.map +1 -0
- package/dist/core/zbase.d.ts +11 -0
- package/dist/core/zbase.d.ts.map +1 -0
- package/dist/core/zbase.js +82 -0
- package/dist/core/zbase.js.map +1 -0
- package/dist/crypto/bpoly.d.ts +3 -0
- package/dist/crypto/bpoly.d.ts.map +1 -0
- package/dist/crypto/bpoly.js +121 -0
- package/dist/crypto/bpoly.js.map +1 -0
- package/dist/crypto/cheetah.d.ts +25 -0
- package/dist/crypto/cheetah.d.ts.map +1 -0
- package/dist/crypto/cheetah.js +250 -0
- package/dist/crypto/cheetah.js.map +1 -0
- package/dist/crypto/index.d.ts +7 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.js +24 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/crypto/privateKey.d.ts +11 -0
- package/dist/crypto/privateKey.d.ts.map +1 -0
- package/dist/crypto/privateKey.js +88 -0
- package/dist/crypto/privateKey.js.map +1 -0
- package/dist/crypto/publicKey.d.ts +18 -0
- package/dist/crypto/publicKey.d.ts.map +1 -0
- package/dist/crypto/publicKey.js +79 -0
- package/dist/crypto/publicKey.js.map +1 -0
- package/dist/crypto/slip10.d.ts +10 -0
- package/dist/crypto/slip10.d.ts.map +1 -0
- package/dist/crypto/slip10.js +104 -0
- package/dist/crypto/slip10.js.map +1 -0
- package/dist/grpc/index.d.ts +12 -0
- package/dist/grpc/index.d.ts.map +1 -0
- package/dist/grpc/index.js +13 -0
- package/dist/grpc/index.js.map +1 -0
- package/dist/grpc/proto.d.ts +26 -0
- package/dist/grpc/proto.d.ts.map +1 -0
- package/dist/grpc/proto.js +219 -0
- package/dist/grpc/proto.js.map +1 -0
- package/dist/hash/index.d.ts +32 -0
- package/dist/hash/index.d.ts.map +1 -0
- package/dist/hash/index.js +138 -0
- package/dist/hash/index.js.map +1 -0
- package/dist/hash/note.d.ts +13 -0
- package/dist/hash/note.d.ts.map +1 -0
- package/dist/hash/note.js +78 -0
- package/dist/hash/note.js.map +1 -0
- package/dist/hash/noteData.d.ts +12 -0
- package/dist/hash/noteData.d.ts.map +1 -0
- package/dist/hash/noteData.js +115 -0
- package/dist/hash/noteData.js.map +1 -0
- package/dist/hash/noun.d.ts +4 -0
- package/dist/hash/noun.d.ts.map +1 -0
- package/dist/hash/noun.js +15 -0
- package/dist/hash/noun.js.map +1 -0
- package/dist/hash/structural.d.ts +5 -0
- package/dist/hash/structural.d.ts.map +1 -0
- package/dist/hash/structural.js +41 -0
- package/dist/hash/structural.js.map +1 -0
- package/dist/hash/tx.d.ts +15 -0
- package/dist/hash/tx.d.ts.map +1 -0
- package/dist/hash/tx.js +146 -0
- package/dist/hash/tx.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/noun/belts.d.ts +9 -0
- package/dist/noun/belts.d.ts.map +1 -0
- package/dist/noun/belts.js +73 -0
- package/dist/noun/belts.js.map +1 -0
- package/dist/noun/bitwriter.d.ts +14 -0
- package/dist/noun/bitwriter.d.ts.map +1 -0
- package/dist/noun/bitwriter.js +100 -0
- package/dist/noun/bitwriter.js.map +1 -0
- package/dist/noun/codec.d.ts +9 -0
- package/dist/noun/codec.d.ts.map +1 -0
- package/dist/noun/codec.js +144 -0
- package/dist/noun/codec.js.map +1 -0
- package/dist/noun/cue.d.ts +3 -0
- package/dist/noun/cue.d.ts.map +1 -0
- package/dist/noun/cue.js +152 -0
- package/dist/noun/cue.js.map +1 -0
- package/dist/noun/encode.d.ts +12 -0
- package/dist/noun/encode.d.ts.map +1 -0
- package/dist/noun/encode.js +37 -0
- package/dist/noun/encode.js.map +1 -0
- package/dist/noun/index.d.ts +10 -0
- package/dist/noun/index.d.ts.map +1 -0
- package/dist/noun/index.js +29 -0
- package/dist/noun/index.js.map +1 -0
- package/dist/noun/jam.d.ts +3 -0
- package/dist/noun/jam.d.ts.map +1 -0
- package/dist/noun/jam.js +107 -0
- package/dist/noun/jam.js.map +1 -0
- package/dist/noun/types.d.ts +21 -0
- package/dist/noun/types.d.ts.map +1 -0
- package/dist/noun/types.js +66 -0
- package/dist/noun/types.js.map +1 -0
- package/dist/noun/words.d.ts +3 -0
- package/dist/noun/words.d.ts.map +1 -0
- package/dist/noun/words.js +6 -0
- package/dist/noun/words.js.map +1 -0
- package/dist/proto/decode.d.ts +10 -0
- package/dist/proto/decode.d.ts.map +1 -0
- package/dist/proto/decode.js +44 -0
- package/dist/proto/decode.js.map +1 -0
- package/dist/proto/digest.d.ts +21 -0
- package/dist/proto/digest.d.ts.map +1 -0
- package/dist/proto/digest.js +29 -0
- package/dist/proto/digest.js.map +1 -0
- package/dist/proto/index.d.ts +9 -0
- package/dist/proto/index.d.ts.map +1 -0
- package/dist/proto/index.js +140 -0
- package/dist/proto/index.js.map +1 -0
- package/dist/proto/note.d.ts +4 -0
- package/dist/proto/note.d.ts.map +1 -0
- package/dist/proto/note.js +99 -0
- package/dist/proto/note.js.map +1 -0
- package/dist/proto/rawTx.d.ts +3 -0
- package/dist/proto/rawTx.d.ts.map +1 -0
- package/dist/proto/rawTx.js +186 -0
- package/dist/proto/rawTx.js.map +1 -0
- package/dist/rpc/client.d.ts +13 -0
- package/dist/rpc/client.d.ts.map +1 -0
- package/dist/rpc/client.js +75 -0
- package/dist/rpc/client.js.map +1 -0
- package/dist/rpc/types.d.ts +18 -0
- package/dist/rpc/types.d.ts.map +1 -0
- package/dist/rpc/types.js +2 -0
- package/dist/rpc/types.js.map +1 -0
- package/dist/rpc/wire/encode.d.ts +4 -0
- package/dist/rpc/wire/encode.d.ts.map +1 -0
- package/dist/rpc/wire/encode.js +168 -0
- package/dist/rpc/wire/encode.js.map +1 -0
- package/dist/rpc/wire/protobuf.d.ts +10 -0
- package/dist/rpc/wire/protobuf.d.ts.map +1 -0
- package/dist/rpc/wire/protobuf.js +50 -0
- package/dist/rpc/wire/protobuf.js.map +1 -0
- package/dist/stubs.d.ts +6 -0
- package/dist/stubs.d.ts.map +1 -0
- package/dist/stubs.js +12 -0
- package/dist/stubs.js.map +1 -0
- package/dist/tx/accessors.d.ts +13 -0
- package/dist/tx/accessors.d.ts.map +1 -0
- package/dist/tx/accessors.js +65 -0
- package/dist/tx/accessors.js.map +1 -0
- package/dist/tx/builder.d.ts +63 -0
- package/dist/tx/builder.d.ts.map +1 -0
- package/dist/tx/builder.js +601 -0
- package/dist/tx/builder.js.map +1 -0
- package/dist/tx/display.d.ts +7 -0
- package/dist/tx/display.d.ts.map +1 -0
- package/dist/tx/display.js +34 -0
- package/dist/tx/display.js.map +1 -0
- package/dist/tx/fee.d.ts +8 -0
- package/dist/tx/fee.d.ts.map +1 -0
- package/dist/tx/fee.js +81 -0
- package/dist/tx/fee.js.map +1 -0
- package/dist/tx/htlc.d.ts +21 -0
- package/dist/tx/htlc.d.ts.map +1 -0
- package/dist/tx/htlc.js +65 -0
- package/dist/tx/htlc.js.map +1 -0
- package/dist/tx/index.d.ts +19 -0
- package/dist/tx/index.d.ts.map +1 -0
- package/dist/tx/index.js +64 -0
- package/dist/tx/index.js.map +1 -0
- package/dist/tx/multisig.d.ts +3 -0
- package/dist/tx/multisig.d.ts.map +1 -0
- package/dist/tx/multisig.js +8 -0
- package/dist/tx/multisig.js.map +1 -0
- package/dist/tx/outputs.d.ts +3 -0
- package/dist/tx/outputs.d.ts.map +1 -0
- package/dist/tx/outputs.js +57 -0
- package/dist/tx/outputs.js.map +1 -0
- package/dist/tx/spend.d.ts +10 -0
- package/dist/tx/spend.d.ts.map +1 -0
- package/dist/tx/spend.js +17 -0
- package/dist/tx/spend.js.map +1 -0
- package/dist/tx/spends.d.ts +8 -0
- package/dist/tx/spends.d.ts.map +1 -0
- package/dist/tx/spends.js +48 -0
- package/dist/tx/spends.js.map +1 -0
- package/dist/tx/types.d.ts +5 -0
- package/dist/tx/types.d.ts.map +1 -0
- package/dist/tx/types.js +2 -0
- package/dist/tx/types.js.map +1 -0
- package/dist/tx/unlocks.d.ts +4 -0
- package/dist/tx/unlocks.d.ts.map +1 -0
- package/dist/tx/unlocks.js +49 -0
- package/dist/tx/unlocks.js.map +1 -0
- package/dist/tx/witness.d.ts +14 -0
- package/dist/tx/witness.d.ts.map +1 -0
- package/dist/tx/witness.js +81 -0
- package/dist/tx/witness.js.map +1 -0
- package/dist/types.d.ts +311 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"belts.js","sourceRoot":"","sources":["../../src/noun/belts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class BitWriter {
|
|
2
|
+
private buf;
|
|
3
|
+
private acc;
|
|
4
|
+
private nbits;
|
|
5
|
+
private bitLenCount;
|
|
6
|
+
bitLen(): number;
|
|
7
|
+
writeBit(bit: boolean): void;
|
|
8
|
+
writeZeros(count: number): void;
|
|
9
|
+
writeBitsFromValue(value: number, count: number): void;
|
|
10
|
+
writeBitsFromLeBytes(bytes: Uint8Array, totalBits: number): void;
|
|
11
|
+
private flushAcc;
|
|
12
|
+
intoVec(): Uint8Array;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=bitwriter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitwriter.d.ts","sourceRoot":"","sources":["../../src/noun/bitwriter.ts"],"names":[],"mappings":"AAIA,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,WAAW,CAAK;IAExB,MAAM,IAAI,MAAM;IAIhB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAW5B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA6B/B,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQtD,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAgChE,OAAO,CAAC,QAAQ;IAOhB,OAAO,IAAI,UAAU;CAItB"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { mustAt } from "../core/must.js";
|
|
2
|
+
export class BitWriter {
|
|
3
|
+
buf = [];
|
|
4
|
+
acc = 0;
|
|
5
|
+
nbits = 0;
|
|
6
|
+
bitLenCount = 0;
|
|
7
|
+
bitLen() {
|
|
8
|
+
return this.bitLenCount;
|
|
9
|
+
}
|
|
10
|
+
writeBit(bit) {
|
|
11
|
+
if (bit) {
|
|
12
|
+
this.acc |= 1 << this.nbits;
|
|
13
|
+
}
|
|
14
|
+
this.nbits++;
|
|
15
|
+
this.bitLenCount++;
|
|
16
|
+
if (this.nbits === 8) {
|
|
17
|
+
this.flushAcc();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
writeZeros(count) {
|
|
21
|
+
let remaining = count;
|
|
22
|
+
if (this.nbits !== 0) {
|
|
23
|
+
const space = 8 - this.nbits;
|
|
24
|
+
if (remaining < space) {
|
|
25
|
+
const mask = (1 << this.nbits) - 1;
|
|
26
|
+
this.acc &= mask;
|
|
27
|
+
this.nbits += remaining;
|
|
28
|
+
this.bitLenCount += remaining;
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const mask = (1 << this.nbits) - 1;
|
|
32
|
+
this.acc &= mask;
|
|
33
|
+
this.nbits = 8;
|
|
34
|
+
this.bitLenCount += space;
|
|
35
|
+
remaining -= space;
|
|
36
|
+
this.flushAcc();
|
|
37
|
+
}
|
|
38
|
+
const fullBytes = Math.floor(remaining / 8);
|
|
39
|
+
if (fullBytes > 0) {
|
|
40
|
+
for (let i = 0; i < fullBytes; i++)
|
|
41
|
+
this.buf.push(0);
|
|
42
|
+
this.bitLenCount += fullBytes * 8;
|
|
43
|
+
remaining -= fullBytes * 8;
|
|
44
|
+
}
|
|
45
|
+
this.nbits = remaining;
|
|
46
|
+
this.acc = 0;
|
|
47
|
+
this.bitLenCount += remaining;
|
|
48
|
+
}
|
|
49
|
+
writeBitsFromValue(value, count) {
|
|
50
|
+
let v = value;
|
|
51
|
+
for (let i = 0; i < count; i++) {
|
|
52
|
+
this.writeBit((v & 1) === 1);
|
|
53
|
+
v >>= 1;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
writeBitsFromLeBytes(bytes, totalBits) {
|
|
57
|
+
if (totalBits === 0)
|
|
58
|
+
return;
|
|
59
|
+
const fullBytes = Math.floor(totalBits / 8);
|
|
60
|
+
const remBits = totalBits % 8;
|
|
61
|
+
if (this.nbits === 0) {
|
|
62
|
+
if (fullBytes > 0) {
|
|
63
|
+
for (let i = 0; i < fullBytes; i++)
|
|
64
|
+
this.buf.push(mustAt(bytes, i));
|
|
65
|
+
this.bitLenCount += fullBytes * 8;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else if (fullBytes > 0) {
|
|
69
|
+
const shift = this.nbits;
|
|
70
|
+
let carry = this.acc;
|
|
71
|
+
for (let i = 0; i < fullBytes; i++) {
|
|
72
|
+
const byte = mustAt(bytes, i);
|
|
73
|
+
const combined = carry | (byte << shift);
|
|
74
|
+
this.buf.push(combined & 0xff);
|
|
75
|
+
this.bitLenCount += 8;
|
|
76
|
+
carry = byte >> (8 - shift);
|
|
77
|
+
}
|
|
78
|
+
this.acc = carry;
|
|
79
|
+
}
|
|
80
|
+
if (remBits > 0) {
|
|
81
|
+
const srcByte = fullBytes < bytes.length ? mustAt(bytes, fullBytes) : 0;
|
|
82
|
+
for (let i = 0; i < remBits; i++) {
|
|
83
|
+
this.writeBit(((srcByte >> i) & 1) === 1);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
flushAcc() {
|
|
88
|
+
if (this.nbits === 0)
|
|
89
|
+
return;
|
|
90
|
+
this.buf.push(this.acc & 0xff);
|
|
91
|
+
this.acc = 0;
|
|
92
|
+
this.nbits = 0;
|
|
93
|
+
}
|
|
94
|
+
intoVec() {
|
|
95
|
+
if (this.nbits > 0)
|
|
96
|
+
this.flushAcc();
|
|
97
|
+
return new Uint8Array(this.buf);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=bitwriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitwriter.js","sourceRoot":"","sources":["../../src/noun/bitwriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type NounTree } from "./types.js";
|
|
2
|
+
import type { Lock, LockMerkleProof, NoteData, Pkh, SpendCondition, Witness } from "../types.js";
|
|
3
|
+
export declare function encodePkh(pkh: Pkh): NounTree;
|
|
4
|
+
export declare function encodeSpendCondition(sc: SpendCondition): NounTree;
|
|
5
|
+
export declare function encodeLock(lock: Lock): NounTree;
|
|
6
|
+
export declare function encodeLockMerkleProof(lmp: LockMerkleProof): NounTree;
|
|
7
|
+
export declare function encodeWitness(w: Witness): NounTree;
|
|
8
|
+
export declare function encodeNoteData(data: NoteData): NounTree;
|
|
9
|
+
//# sourceMappingURL=codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/noun/codec.ts"],"names":[],"mappings":"AAWA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAEV,IAAI,EACJ,eAAe,EAEf,QAAQ,EACR,GAAG,EAEH,cAAc,EAEd,OAAO,EACR,MAAM,aAAa,CAAC;AAkCrB,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAG5C;AAoBD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,GAAG,QAAQ,CAEjE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAiB/C;AAMD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,QAAQ,CAgBpE;AAqDD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,QAAQ,CAOlD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAQvD"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { mustAt } from "../core/must.js";
|
|
2
|
+
import { buildZTree } from "../core/zbase.js";
|
|
3
|
+
import { tasBelts } from "./belts.js";
|
|
4
|
+
import { U256 } from "../core/u256.js";
|
|
5
|
+
import { cheetahPointFromBase58 } from "../crypto/cheetah.js";
|
|
6
|
+
import { encodeAtomU64, encodeBeltSeq, encodeDigest, encodeTuple, } from "./encode.js";
|
|
7
|
+
import { cons, fromWire } from "./types.js";
|
|
8
|
+
function encodeTas(s) {
|
|
9
|
+
return tasBelts(s);
|
|
10
|
+
}
|
|
11
|
+
function encodeVec(items, encodeItem) {
|
|
12
|
+
let acc = encodeAtomU64(0n);
|
|
13
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
|
14
|
+
acc = cons(encodeItem(mustAt(items, i)), acc);
|
|
15
|
+
}
|
|
16
|
+
return acc;
|
|
17
|
+
}
|
|
18
|
+
function encodeZTree(node, encodeEntry) {
|
|
19
|
+
if (!node)
|
|
20
|
+
return encodeAtomU64(0n);
|
|
21
|
+
return encodeTuple([
|
|
22
|
+
encodeEntry(node.entry),
|
|
23
|
+
encodeTuple([encodeZTree(node.left, encodeEntry), encodeZTree(node.right, encodeEntry)]),
|
|
24
|
+
]);
|
|
25
|
+
}
|
|
26
|
+
function encodeZSetDigests(hashes) {
|
|
27
|
+
const tree = buildZTree([...hashes], (d) => d, encodeDigest);
|
|
28
|
+
return encodeZTree(tree, encodeDigest);
|
|
29
|
+
}
|
|
30
|
+
function encodeTimelockRange(range) {
|
|
31
|
+
const encOpt = (v) => v === null ? encodeAtomU64(0n) : encodeTuple([encodeAtomU64(0n), encodeAtomU64(BigInt(v))]);
|
|
32
|
+
return encodeTuple([encOpt(range.min), encOpt(range.max)]);
|
|
33
|
+
}
|
|
34
|
+
export function encodePkh(pkh) {
|
|
35
|
+
const hashes = Array.isArray(pkh.hashes) ? pkh.hashes : [];
|
|
36
|
+
return encodeTuple([encodeAtomU64(BigInt(pkh.m)), encodeZSetDigests(hashes)]);
|
|
37
|
+
}
|
|
38
|
+
function encodeLockPrimitive(prim) {
|
|
39
|
+
switch (prim.tag) {
|
|
40
|
+
case "pkh":
|
|
41
|
+
return cons(encodeTas("pkh"), encodePkh(prim));
|
|
42
|
+
case "tim":
|
|
43
|
+
return cons(encodeTas("tim"), encodeTuple([encodeTimelockRange(prim.rel), encodeTimelockRange(prim.abs)]));
|
|
44
|
+
case "hax": {
|
|
45
|
+
const pre = Array.isArray(prim.preimages) ? prim.preimages : [];
|
|
46
|
+
return cons(encodeTas("hax"), encodeZSetDigests(pre));
|
|
47
|
+
}
|
|
48
|
+
case "brn":
|
|
49
|
+
return encodeTas("brn");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export function encodeSpendCondition(sc) {
|
|
53
|
+
return encodeVec(sc, encodeLockPrimitive);
|
|
54
|
+
}
|
|
55
|
+
export function encodeLock(lock) {
|
|
56
|
+
if (Array.isArray(lock)) {
|
|
57
|
+
return encodeSpendCondition(lock);
|
|
58
|
+
}
|
|
59
|
+
switch (lock.tag) {
|
|
60
|
+
case 2:
|
|
61
|
+
return encodeTuple([encodeSpendCondition(lock.p), encodeSpendCondition(lock.q)]);
|
|
62
|
+
case 4:
|
|
63
|
+
return encodeTuple([
|
|
64
|
+
encodeTuple([encodeSpendCondition(lock.p.p), encodeSpendCondition(lock.p.q)]),
|
|
65
|
+
encodeTuple([encodeSpendCondition(lock.q.p), encodeSpendCondition(lock.q.q)]),
|
|
66
|
+
]);
|
|
67
|
+
case 8:
|
|
68
|
+
return encodeTuple([encodeLock({ tag: 4, ...lock.p }), encodeLock({ tag: 4, ...lock.q })]);
|
|
69
|
+
case 16:
|
|
70
|
+
return encodeTuple([encodeLock({ tag: 8, ...lock.p }), encodeLock({ tag: 8, ...lock.q })]);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
function encodeMerkleProof(proof) {
|
|
74
|
+
return encodeTuple([encodeDigest(proof.root), encodeVec(proof.path, encodeDigest)]);
|
|
75
|
+
}
|
|
76
|
+
export function encodeLockMerkleProof(lmp) {
|
|
77
|
+
if ("version" in lmp && lmp.version === "full") {
|
|
78
|
+
return cons(encodeTas("full"), encodeTuple([
|
|
79
|
+
encodeSpendCondition(lmp.spend_condition),
|
|
80
|
+
encodeAtomU64(BigInt(lmp.axis)),
|
|
81
|
+
encodeMerkleProof(lmp.proof),
|
|
82
|
+
]));
|
|
83
|
+
}
|
|
84
|
+
return encodeTuple([
|
|
85
|
+
encodeSpendCondition(lmp.spend_condition),
|
|
86
|
+
encodeAtomU64(1n),
|
|
87
|
+
encodeMerkleProof(lmp.proof),
|
|
88
|
+
]);
|
|
89
|
+
}
|
|
90
|
+
function beltsFromLe(bytes) {
|
|
91
|
+
const belts = [];
|
|
92
|
+
for (let i = 0; i < bytes.length; i += 4) {
|
|
93
|
+
const chunk = bytes.subarray(i, Math.min(i + 4, bytes.length));
|
|
94
|
+
let v = 0n;
|
|
95
|
+
for (let j = 0; j < chunk.length; j++)
|
|
96
|
+
v |= BigInt(mustAt(chunk, j)) << BigInt(j * 8);
|
|
97
|
+
belts.push(v);
|
|
98
|
+
}
|
|
99
|
+
while (belts.length < 8)
|
|
100
|
+
belts.push(0n);
|
|
101
|
+
return belts;
|
|
102
|
+
}
|
|
103
|
+
function encodePubkeyNoun(pk) {
|
|
104
|
+
const point = cheetahPointFromBase58(pk);
|
|
105
|
+
return encodeTuple([
|
|
106
|
+
encodeBeltSeq(point.x),
|
|
107
|
+
encodeBeltSeq(point.y),
|
|
108
|
+
encodeAtomU64(point.inf ? 1n : 0n),
|
|
109
|
+
]);
|
|
110
|
+
}
|
|
111
|
+
function encodeSignatureNoun(sig) {
|
|
112
|
+
const c = beltsFromLe(U256.fromLeHex(sig.c).toLeBytes());
|
|
113
|
+
const s = beltsFromLe(U256.fromLeHex(sig.s).toLeBytes());
|
|
114
|
+
return encodeTuple([encodeBeltSeq(c), encodeBeltSeq(s)]);
|
|
115
|
+
}
|
|
116
|
+
function encodePkhSignature(sig) {
|
|
117
|
+
const pairs = Array.isArray(sig) ? sig : [];
|
|
118
|
+
if (pairs.length === 0)
|
|
119
|
+
return encodeAtomU64(0n);
|
|
120
|
+
const tree = buildZTree(pairs.map(([key, value]) => ({ key, value })), (e) => e.key, encodeDigest);
|
|
121
|
+
return encodeZTree(tree, (e) => encodeTuple([encodeDigest(e.key), encodeTuple([encodePubkeyNoun(e.value[0]), encodeSignatureNoun(e.value[1])])]));
|
|
122
|
+
}
|
|
123
|
+
function encodeHaxMap(map) {
|
|
124
|
+
const pairs = Array.isArray(map) ? map : [];
|
|
125
|
+
if (pairs.length === 0)
|
|
126
|
+
return encodeAtomU64(0n);
|
|
127
|
+
const tree = buildZTree(pairs.map(([key, value]) => ({ key, value })), (e) => e.key, encodeDigest);
|
|
128
|
+
return encodeZTree(tree, (e) => encodeTuple([encodeDigest(e.key), fromWire(e.value)]));
|
|
129
|
+
}
|
|
130
|
+
export function encodeWitness(w) {
|
|
131
|
+
return encodeTuple([
|
|
132
|
+
encodeLockMerkleProof(w.lock_merkle_proof),
|
|
133
|
+
encodePkhSignature(w.pkh_signature),
|
|
134
|
+
encodeHaxMap(w.hax_map),
|
|
135
|
+
encodeAtomU64(0n),
|
|
136
|
+
]);
|
|
137
|
+
}
|
|
138
|
+
export function encodeNoteData(data) {
|
|
139
|
+
if (data.length === 0)
|
|
140
|
+
return encodeAtomU64(0n);
|
|
141
|
+
const tree = buildZTree(data.map(([key, noun]) => ({ key, noun })), (e) => e.key, encodeTas);
|
|
142
|
+
return encodeZTree(tree, (e) => encodeTuple([encodeTas(e.key), fromWire(e.noun)]));
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/noun/codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cue.d.ts","sourceRoot":"","sources":["../../src/noun/cue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkHvD,wBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CA4CtD"}
|
package/dist/noun/cue.js
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { must, mustAt } from "../core/must.js";
|
|
2
|
+
import { UBig } from "../core/ubig.js";
|
|
3
|
+
import { atom, cons } from "./types.js";
|
|
4
|
+
class BitReader {
|
|
5
|
+
bytes;
|
|
6
|
+
constructor(bytes) {
|
|
7
|
+
this.bytes = bytes;
|
|
8
|
+
}
|
|
9
|
+
cursor = 0;
|
|
10
|
+
len() {
|
|
11
|
+
return this.bytes.length * 8;
|
|
12
|
+
}
|
|
13
|
+
nextBit() {
|
|
14
|
+
if (this.cursor >= this.len())
|
|
15
|
+
return false;
|
|
16
|
+
const byteIdx = Math.floor(this.cursor / 8);
|
|
17
|
+
const bitIdx = this.cursor % 8;
|
|
18
|
+
this.cursor++;
|
|
19
|
+
return ((mustAt(this.bytes, byteIdx) >> bitIdx) & 1) === 1;
|
|
20
|
+
}
|
|
21
|
+
nextUpToNBits(n) {
|
|
22
|
+
const bits = [];
|
|
23
|
+
for (let i = 0; i < n && this.cursor < this.len(); i++) {
|
|
24
|
+
bits.push(this.nextBit());
|
|
25
|
+
}
|
|
26
|
+
return bits;
|
|
27
|
+
}
|
|
28
|
+
getSize() {
|
|
29
|
+
const start = this.cursor;
|
|
30
|
+
let bitsize = -1;
|
|
31
|
+
for (let i = start; i < this.len(); i++) {
|
|
32
|
+
this.cursor = i;
|
|
33
|
+
if (this.nextBit()) {
|
|
34
|
+
bitsize = i - start;
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (bitsize < 0) {
|
|
39
|
+
this.cursor = start;
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
if (bitsize === 0)
|
|
43
|
+
return 0;
|
|
44
|
+
const sizeBits = this.nextUpToNBits(bitsize - 1);
|
|
45
|
+
let size = 0n;
|
|
46
|
+
for (let i = 0; i < sizeBits.length; i++) {
|
|
47
|
+
if (sizeBits[i])
|
|
48
|
+
size |= 1n << BigInt(i);
|
|
49
|
+
}
|
|
50
|
+
return Number(size) + (1 << (bitsize - 1));
|
|
51
|
+
}
|
|
52
|
+
rubBackref() {
|
|
53
|
+
const size = this.getSize();
|
|
54
|
+
if (size === null)
|
|
55
|
+
return null;
|
|
56
|
+
if (size === 0)
|
|
57
|
+
return 0n;
|
|
58
|
+
if (size > 64)
|
|
59
|
+
return null;
|
|
60
|
+
const bits = this.nextUpToNBits(size);
|
|
61
|
+
let backref = 0n;
|
|
62
|
+
for (let i = 0; i < bits.length; i++) {
|
|
63
|
+
if (bits[i])
|
|
64
|
+
backref |= 1n << BigInt(i);
|
|
65
|
+
}
|
|
66
|
+
return backref;
|
|
67
|
+
}
|
|
68
|
+
rubAtom() {
|
|
69
|
+
const size = this.getSize();
|
|
70
|
+
if (size === null)
|
|
71
|
+
return null;
|
|
72
|
+
if (size === 0)
|
|
73
|
+
return UBig.zero();
|
|
74
|
+
if (size < 64) {
|
|
75
|
+
const bits = this.nextUpToNBits(size);
|
|
76
|
+
let direct = 0n;
|
|
77
|
+
for (let i = 0; i < bits.length; i++) {
|
|
78
|
+
if (bits[i])
|
|
79
|
+
direct |= 1n << BigInt(i);
|
|
80
|
+
}
|
|
81
|
+
return UBig.from(direct);
|
|
82
|
+
}
|
|
83
|
+
const wordsize = (size + 63) >> 6;
|
|
84
|
+
const bytes = new Uint8Array(wordsize * 8);
|
|
85
|
+
const bits = this.nextUpToNBits(size);
|
|
86
|
+
for (let i = 0; i < bits.length; i++) {
|
|
87
|
+
if (bits[i]) {
|
|
88
|
+
const byteIdx = Math.floor(i / 8);
|
|
89
|
+
const bitIdx = i % 8;
|
|
90
|
+
bytes[byteIdx] = mustAt(bytes, byteIdx) | (1 << bitIdx);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return UBig.fromLeBytes(bytes);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function makeAtomSlot() {
|
|
97
|
+
return { tree: { tag: "atom", value: UBig.zero() } };
|
|
98
|
+
}
|
|
99
|
+
function setAtom(slot, value) {
|
|
100
|
+
slot.tree = { tag: "atom", value };
|
|
101
|
+
}
|
|
102
|
+
function freeze(m) {
|
|
103
|
+
if (m.tag === "atom")
|
|
104
|
+
return atom(m.value);
|
|
105
|
+
return cons(freeze(m.head.tree), freeze(m.tail.tree));
|
|
106
|
+
}
|
|
107
|
+
export function cue(bytes) {
|
|
108
|
+
const reader = new BitReader(bytes);
|
|
109
|
+
const backrefMap = new Map();
|
|
110
|
+
const rootSlot = makeAtomSlot();
|
|
111
|
+
const stack = [{ kind: "dest", slot: rootSlot }];
|
|
112
|
+
while (stack.length > 0) {
|
|
113
|
+
const entry = must(stack.pop(), "cue stack empty");
|
|
114
|
+
if (entry.kind === "backref") {
|
|
115
|
+
backrefMap.set(entry.backref, entry.slot.tree);
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const slot = entry.slot;
|
|
119
|
+
const startCursor = reader.cursor;
|
|
120
|
+
if (reader.nextBit()) {
|
|
121
|
+
if (reader.nextBit()) {
|
|
122
|
+
const backref = reader.rubBackref();
|
|
123
|
+
if (backref === null)
|
|
124
|
+
return null;
|
|
125
|
+
const resolved = backrefMap.get(backref);
|
|
126
|
+
if (!resolved)
|
|
127
|
+
return null;
|
|
128
|
+
slot.tree = resolved;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
const headSlot = makeAtomSlot();
|
|
132
|
+
const tailSlot = makeAtomSlot();
|
|
133
|
+
const cell = { tag: "cell", head: headSlot, tail: tailSlot };
|
|
134
|
+
slot.tree = cell;
|
|
135
|
+
const backref = BigInt(startCursor);
|
|
136
|
+
backrefMap.set(backref, cell);
|
|
137
|
+
stack.push({ kind: "backref", backref, slot });
|
|
138
|
+
stack.push({ kind: "dest", slot: tailSlot });
|
|
139
|
+
stack.push({ kind: "dest", slot: headSlot });
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
const a = reader.rubAtom();
|
|
144
|
+
if (!a)
|
|
145
|
+
return null;
|
|
146
|
+
setAtom(slot, a);
|
|
147
|
+
backrefMap.set(BigInt(startCursor), slot.tree);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return freeze(rootSlot.tree);
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=cue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cue.js","sourceRoot":"","sources":["../../src/noun/cue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type NounTree } from "./types.js";
|
|
2
|
+
export declare function encodeAtomU64(v: bigint): NounTree;
|
|
3
|
+
export declare function encodeTuple(items: NounTree[]): NounTree;
|
|
4
|
+
export declare function encodeDigest(d: string): NounTree;
|
|
5
|
+
export declare function encodeBeltSeq(belts: bigint[]): NounTree;
|
|
6
|
+
export declare function encodeName(name: {
|
|
7
|
+
first: string;
|
|
8
|
+
last: string;
|
|
9
|
+
_sig?: number;
|
|
10
|
+
}): NounTree;
|
|
11
|
+
export declare function nounOrderDigest(noun: NounTree): string;
|
|
12
|
+
//# sourceMappingURL=encode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../src/noun/encode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAEjD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAOvD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAGhD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAGvD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,QAAQ,CAMX;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAEtD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { mustAt } from "../core/must.js";
|
|
2
|
+
import { digestFromBase58 } from "../core/digest.js";
|
|
3
|
+
import { UBig } from "../core/ubig.js";
|
|
4
|
+
import { hashNounWhole } from "../hash/structural.js";
|
|
5
|
+
import { atom, cons } from "./types.js";
|
|
6
|
+
export function encodeAtomU64(v) {
|
|
7
|
+
return atom(UBig.from(v));
|
|
8
|
+
}
|
|
9
|
+
export function encodeTuple(items) {
|
|
10
|
+
if (items.length === 0)
|
|
11
|
+
return encodeAtomU64(0n);
|
|
12
|
+
let acc = mustAt(items, items.length - 1);
|
|
13
|
+
for (let i = items.length - 2; i >= 0; i--) {
|
|
14
|
+
acc = cons(mustAt(items, i), acc);
|
|
15
|
+
}
|
|
16
|
+
return acc;
|
|
17
|
+
}
|
|
18
|
+
export function encodeDigest(d) {
|
|
19
|
+
const belts = digestFromBase58(d);
|
|
20
|
+
return encodeTuple(belts.map((b) => encodeAtomU64(b)));
|
|
21
|
+
}
|
|
22
|
+
export function encodeBeltSeq(belts) {
|
|
23
|
+
if (belts.length === 0)
|
|
24
|
+
return encodeAtomU64(0n);
|
|
25
|
+
return encodeTuple(belts.map((b) => encodeAtomU64(b)));
|
|
26
|
+
}
|
|
27
|
+
export function encodeName(name) {
|
|
28
|
+
return encodeTuple([
|
|
29
|
+
encodeDigest(name.first),
|
|
30
|
+
encodeDigest(name.last),
|
|
31
|
+
encodeAtomU64(BigInt(name._sig ?? 0)),
|
|
32
|
+
]);
|
|
33
|
+
}
|
|
34
|
+
export function nounOrderDigest(noun) {
|
|
35
|
+
return hashNounWhole(noun);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=encode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode.js","sourceRoot":"","sources":["../../src/noun/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAiB,MAAM,YAAY,CAAC;AAEvD,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC;IACjD,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAe;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC;IACjD,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAI1B;IACC,OAAO,WAAW,CAAC;QACjB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAGD,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { NounWire } from "./types.js";
|
|
2
|
+
export type Noun = NounWire;
|
|
3
|
+
export declare function jam(noun: Noun): Uint8Array;
|
|
4
|
+
export declare function cue(jamBytes: Uint8Array): Noun;
|
|
5
|
+
export declare function tas(s: string): Noun;
|
|
6
|
+
export declare function untas(noun: Noun): string;
|
|
7
|
+
export declare function atomToBelts(noun: Noun): Noun;
|
|
8
|
+
export declare function beltsToAtom(noun: Noun): Noun;
|
|
9
|
+
export declare function tasBelts(s: string): Noun;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/noun/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC;AAE5B,wBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAE1C;AAED,wBAAgB,GAAG,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI,CAI9C;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAEnC;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAExC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAE5C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAE5C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAExC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { cue as cueInternal } from "./cue.js";
|
|
2
|
+
import { jam as jamInternal } from "./jam.js";
|
|
3
|
+
import { atomToBelts as atomToBeltsInternal, beltsToAtom as beltsToAtomInternal, tas as tasInternal, tasBelts as tasBeltsInternal, untas as untasInternal, } from "./belts.js";
|
|
4
|
+
import { fromWire, toWire } from "./types.js";
|
|
5
|
+
export function jam(noun) {
|
|
6
|
+
return jamInternal(fromWire(noun));
|
|
7
|
+
}
|
|
8
|
+
export function cue(jamBytes) {
|
|
9
|
+
const tree = cueInternal(jamBytes);
|
|
10
|
+
if (!tree)
|
|
11
|
+
throw new Error("unable to parse jam");
|
|
12
|
+
return toWire(tree);
|
|
13
|
+
}
|
|
14
|
+
export function tas(s) {
|
|
15
|
+
return toWire(tasInternal(s));
|
|
16
|
+
}
|
|
17
|
+
export function untas(noun) {
|
|
18
|
+
return untasInternal(fromWire(noun));
|
|
19
|
+
}
|
|
20
|
+
export function atomToBelts(noun) {
|
|
21
|
+
return toWire(atomToBeltsInternal(fromWire(noun)));
|
|
22
|
+
}
|
|
23
|
+
export function beltsToAtom(noun) {
|
|
24
|
+
return toWire(beltsToAtomInternal(fromWire(noun)));
|
|
25
|
+
}
|
|
26
|
+
export function tasBelts(s) {
|
|
27
|
+
return toWire(tasBeltsInternal(s));
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/noun/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EACL,WAAW,IAAI,mBAAmB,EAClC,WAAW,IAAI,mBAAmB,EAClC,GAAG,IAAI,WAAW,EAClB,QAAQ,IAAI,gBAAgB,EAC5B,KAAK,IAAI,aAAa,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAK9C,MAAM,UAAU,GAAG,CAAC,IAAU;IAC5B,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,QAAoB;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAS;IAC3B,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAU;IAC9B,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAU;IACpC,OAAO,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAU;IACpC,OAAO,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAS;IAChC,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jam.d.ts","sourceRoot":"","sources":["../../src/noun/jam.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAiDhE,wBAAgB,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CA4D9C"}
|