@vbyte/btc-dev 1.0.0
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/LICENSE +121 -0
- package/README.md +5 -0
- package/dist/class/index.d.ts +5 -0
- package/dist/class/index.js +5 -0
- package/dist/class/signer.d.ts +18 -0
- package/dist/class/signer.js +32 -0
- package/dist/class/tx.d.ts +38 -0
- package/dist/class/tx.js +73 -0
- package/dist/class/txin.d.ts +29 -0
- package/dist/class/txin.js +68 -0
- package/dist/class/txout.d.ts +18 -0
- package/dist/class/txout.js +38 -0
- package/dist/class/witness.d.ts +20 -0
- package/dist/class/witness.js +57 -0
- package/dist/const.d.ts +22 -0
- package/dist/const.js +36 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +10 -0
- package/dist/lib/address/encode.d.ts +3 -0
- package/dist/lib/address/encode.js +79 -0
- package/dist/lib/address/index.d.ts +20 -0
- package/dist/lib/address/index.js +21 -0
- package/dist/lib/address/p2pkh.d.ts +10 -0
- package/dist/lib/address/p2pkh.js +33 -0
- package/dist/lib/address/p2sh.d.ts +10 -0
- package/dist/lib/address/p2sh.js +33 -0
- package/dist/lib/address/p2tr.d.ts +8 -0
- package/dist/lib/address/p2tr.js +26 -0
- package/dist/lib/address/p2wpkh.d.ts +10 -0
- package/dist/lib/address/p2wpkh.js +34 -0
- package/dist/lib/address/p2wsh.d.ts +10 -0
- package/dist/lib/address/p2wsh.js +33 -0
- package/dist/lib/address/script.d.ts +5 -0
- package/dist/lib/address/script.js +46 -0
- package/dist/lib/address/util.d.ts +4 -0
- package/dist/lib/address/util.js +57 -0
- package/dist/lib/meta/index.d.ts +2 -0
- package/dist/lib/meta/index.js +2 -0
- package/dist/lib/meta/pointer.d.ts +42 -0
- package/dist/lib/meta/pointer.js +69 -0
- package/dist/lib/meta/scribe.d.ts +7 -0
- package/dist/lib/meta/scribe.js +192 -0
- package/dist/lib/psbt/encoder.d.ts +5 -0
- package/dist/lib/psbt/encoder.js +21 -0
- package/dist/lib/psbt/index.d.ts +4 -0
- package/dist/lib/psbt/index.js +4 -0
- package/dist/lib/psbt/meta.d.ts +3 -0
- package/dist/lib/psbt/meta.js +11 -0
- package/dist/lib/psbt/util.d.ts +5 -0
- package/dist/lib/psbt/util.js +44 -0
- package/dist/lib/psbt/validate.d.ts +2 -0
- package/dist/lib/psbt/validate.js +11 -0
- package/dist/lib/script/decode.d.ts +2 -0
- package/dist/lib/script/decode.js +55 -0
- package/dist/lib/script/encode.d.ts +6 -0
- package/dist/lib/script/encode.js +80 -0
- package/dist/lib/script/index.d.ts +126 -0
- package/dist/lib/script/index.js +17 -0
- package/dist/lib/script/util.d.ts +2 -0
- package/dist/lib/script/util.js +10 -0
- package/dist/lib/script/words.d.ts +116 -0
- package/dist/lib/script/words.js +164 -0
- package/dist/lib/sighash/index.d.ts +5 -0
- package/dist/lib/sighash/index.js +5 -0
- package/dist/lib/sighash/segwit.d.ts +3 -0
- package/dist/lib/sighash/segwit.js +89 -0
- package/dist/lib/sighash/sign.d.ts +3 -0
- package/dist/lib/sighash/sign.js +20 -0
- package/dist/lib/sighash/taproot.d.ts +9 -0
- package/dist/lib/sighash/taproot.js +124 -0
- package/dist/lib/sighash/util.d.ts +3 -0
- package/dist/lib/sighash/util.js +16 -0
- package/dist/lib/sighash/verify.d.ts +1 -0
- package/dist/lib/sighash/verify.js +1 -0
- package/dist/lib/taproot/cblock.d.ts +3 -0
- package/dist/lib/taproot/cblock.js +55 -0
- package/dist/lib/taproot/encode.d.ts +6 -0
- package/dist/lib/taproot/encode.js +26 -0
- package/dist/lib/taproot/index.d.ts +4 -0
- package/dist/lib/taproot/index.js +4 -0
- package/dist/lib/taproot/parse.d.ts +11 -0
- package/dist/lib/taproot/parse.js +47 -0
- package/dist/lib/taproot/tree.d.ts +3 -0
- package/dist/lib/taproot/tree.js +49 -0
- package/dist/lib/tx/create.d.ts +6 -0
- package/dist/lib/tx/create.js +54 -0
- package/dist/lib/tx/decode.d.ts +9 -0
- package/dist/lib/tx/decode.js +109 -0
- package/dist/lib/tx/encode.d.ts +15 -0
- package/dist/lib/tx/encode.js +94 -0
- package/dist/lib/tx/index.d.ts +10 -0
- package/dist/lib/tx/index.js +10 -0
- package/dist/lib/tx/locktime.d.ts +7 -0
- package/dist/lib/tx/locktime.js +37 -0
- package/dist/lib/tx/meta.d.ts +8 -0
- package/dist/lib/tx/meta.js +48 -0
- package/dist/lib/tx/parse.d.ts +2 -0
- package/dist/lib/tx/parse.js +12 -0
- package/dist/lib/tx/sequence.d.ts +7 -0
- package/dist/lib/tx/sequence.js +65 -0
- package/dist/lib/tx/size.d.ts +10 -0
- package/dist/lib/tx/size.js +48 -0
- package/dist/lib/tx/validate.d.ts +7 -0
- package/dist/lib/tx/validate.js +21 -0
- package/dist/lib/tx/witness.d.ts +3 -0
- package/dist/lib/tx/witness.js +85 -0
- package/dist/main.cjs +14625 -0
- package/dist/main.cjs.map +1 -0
- package/dist/module.mjs +14610 -0
- package/dist/module.mjs.map +1 -0
- package/dist/package.json +106 -0
- package/dist/schema/index.d.ts +2 -0
- package/dist/schema/index.js +2 -0
- package/dist/schema/taproot.d.ts +18 -0
- package/dist/schema/taproot.js +9 -0
- package/dist/schema/tx.d.ts +278 -0
- package/dist/schema/tx.js +35 -0
- package/dist/script.js +15 -0
- package/dist/script.js.map +1 -0
- package/dist/types/address.d.ts +34 -0
- package/dist/types/address.js +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.js +9 -0
- package/dist/types/meta.d.ts +10 -0
- package/dist/types/meta.js +1 -0
- package/dist/types/psbt.d.ts +9 -0
- package/dist/types/psbt.js +1 -0
- package/dist/types/sighash.d.ts +14 -0
- package/dist/types/sighash.js +1 -0
- package/dist/types/taproot.d.ts +35 -0
- package/dist/types/taproot.js +1 -0
- package/dist/types/transaction.d.ts +81 -0
- package/dist/types/transaction.js +1 -0
- package/dist/types/txdata.d.ts +45 -0
- package/dist/types/txdata.js +1 -0
- package/dist/types/txmeta.d.ts +19 -0
- package/dist/types/txmeta.js +1 -0
- package/dist/types/witness.d.ts +30 -0
- package/dist/types/witness.js +1 -0
- package/package.json +106 -0
- package/src/class/index.ts +5 -0
- package/src/class/signer.ts +47 -0
- package/src/class/tx.ts +118 -0
- package/src/class/txin.ts +95 -0
- package/src/class/txout.ts +57 -0
- package/src/class/witness.ts +85 -0
- package/src/const.ts +43 -0
- package/src/index.ts +14 -0
- package/src/lib/address/encode.ts +183 -0
- package/src/lib/address/index.ts +24 -0
- package/src/lib/address/p2pkh.ts +65 -0
- package/src/lib/address/p2sh.ts +65 -0
- package/src/lib/address/p2tr.ts +51 -0
- package/src/lib/address/p2wpkh.ts +67 -0
- package/src/lib/address/p2wsh.ts +65 -0
- package/src/lib/address/script.ts +63 -0
- package/src/lib/address/util.ts +102 -0
- package/src/lib/meta/index.ts +2 -0
- package/src/lib/meta/pointer.ts +107 -0
- package/src/lib/meta/scribe.ts +251 -0
- package/src/lib/psbt/encoder.ts +24 -0
- package/src/lib/psbt/index.ts +4 -0
- package/src/lib/psbt/meta.ts +15 -0
- package/src/lib/psbt/util.ts +62 -0
- package/src/lib/psbt/validate.ts +18 -0
- package/src/lib/script/decode.ts +75 -0
- package/src/lib/script/encode.ts +130 -0
- package/src/lib/script/index.ts +26 -0
- package/src/lib/script/util.ts +78 -0
- package/src/lib/script/words.ts +182 -0
- package/src/lib/sighash/index.ts +5 -0
- package/src/lib/sighash/segwit.ts +152 -0
- package/src/lib/sighash/sign.ts +35 -0
- package/src/lib/sighash/taproot.ts +236 -0
- package/src/lib/sighash/util.ts +29 -0
- package/src/lib/sighash/verify.ts +83 -0
- package/src/lib/taproot/cblock.ts +95 -0
- package/src/lib/taproot/encode.ts +49 -0
- package/src/lib/taproot/index.ts +4 -0
- package/src/lib/taproot/parse.ts +65 -0
- package/src/lib/taproot/tree.ts +94 -0
- package/src/lib/tx/create.ts +82 -0
- package/src/lib/tx/decode.ts +145 -0
- package/src/lib/tx/encode.ts +154 -0
- package/src/lib/tx/index.ts +10 -0
- package/src/lib/tx/locktime.ts +57 -0
- package/src/lib/tx/meta.ts +73 -0
- package/src/lib/tx/parse.ts +16 -0
- package/src/lib/tx/sequence.ts +146 -0
- package/src/lib/tx/size.ts +77 -0
- package/src/lib/tx/validate.ts +36 -0
- package/src/lib/tx/witness.ts +122 -0
- package/src/schema/index.ts +2 -0
- package/src/schema/taproot.ts +12 -0
- package/src/schema/tx.ts +42 -0
- package/src/types/address.ts +39 -0
- package/src/types/index.ts +9 -0
- package/src/types/meta.ts +10 -0
- package/src/types/psbt.ts +15 -0
- package/src/types/sighash.ts +16 -0
- package/src/types/taproot.ts +40 -0
- package/src/types/transaction.ts +98 -0
- package/src/types/txdata.ts +53 -0
- package/src/types/txmeta.ts +25 -0
- package/src/types/witness.ts +36 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export type TxInput = CoinbaseInput | SpendInput | VirtualInput
|
|
2
|
+
|
|
3
|
+
export interface TxOutpoint {
|
|
4
|
+
txid : string
|
|
5
|
+
vout : number
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface TxInputTemplate extends TxOutpoint {
|
|
9
|
+
coinbase? : string | null
|
|
10
|
+
prevout? : TxOutput | null
|
|
11
|
+
script_sig? : string | null
|
|
12
|
+
sequence? : number
|
|
13
|
+
witness? : string[]
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface CoinbaseInput extends TxOutpoint {
|
|
17
|
+
coinbase : string
|
|
18
|
+
prevout : null
|
|
19
|
+
script_sig : null
|
|
20
|
+
sequence : number
|
|
21
|
+
witness : string[]
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface VirtualInput extends TxOutpoint {
|
|
25
|
+
coinbase : null
|
|
26
|
+
prevout : TxOutput | null
|
|
27
|
+
script_sig : string | null
|
|
28
|
+
sequence : number
|
|
29
|
+
witness : string[]
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface SpendInput extends VirtualInput {
|
|
33
|
+
prevout : TxOutput
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface TxOutput {
|
|
37
|
+
script_pk : string
|
|
38
|
+
value : bigint
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface TxTemplate {
|
|
42
|
+
locktime? : number
|
|
43
|
+
vin? : TxInputTemplate[]
|
|
44
|
+
vout? : TxOutput[]
|
|
45
|
+
version? : number
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface TxData {
|
|
49
|
+
locktime : number
|
|
50
|
+
vin : TxInput[]
|
|
51
|
+
vout : TxOutput[]
|
|
52
|
+
version : number
|
|
53
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type LocktimeInfo = LocktimeStamp | LocktimeHeight
|
|
2
|
+
export type SequenceConfig = Partial<SequenceInfo>
|
|
3
|
+
export type SequenceInfo = SequenceHeightLock | SequenceStampLock
|
|
4
|
+
|
|
5
|
+
export interface LocktimeStamp {
|
|
6
|
+
type : 'timelock' // Discriminator for timelock type
|
|
7
|
+
stamp : number // Unix timestamp in seconds
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface LocktimeHeight {
|
|
11
|
+
type : 'heightlock' // Discriminator for heightlock type
|
|
12
|
+
height : number // Block height value
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Represents a timestamp-based relative timelock.
|
|
16
|
+
export interface SequenceStampLock {
|
|
17
|
+
stamp : number // Unix timestamp in seconds.
|
|
18
|
+
mode : 'stamp' // Discriminator for timelock mode.
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Represents a block-height-based relative timelock.
|
|
22
|
+
export interface SequenceHeightLock {
|
|
23
|
+
height : number // Block height.
|
|
24
|
+
mode : 'height' // Discriminator for heightlock mode.
|
|
25
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type WitnessContext = WitnessInfo | TaprootScript | SegwitScript | TaprootSpend | SegwitSpend
|
|
2
|
+
export type WitnessVersion = number | null
|
|
3
|
+
export type WitnessType = 'p2w-pkh' | 'p2w-sh' | 'p2tr-pk' | 'p2tr-ts' | 'unknown'
|
|
4
|
+
|
|
5
|
+
export interface WitnessInfo {
|
|
6
|
+
annex : string | null
|
|
7
|
+
cblock : string | null
|
|
8
|
+
params : string[]
|
|
9
|
+
script : string | null
|
|
10
|
+
type : WitnessType
|
|
11
|
+
version : WitnessVersion
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface TaprootScript extends WitnessInfo {
|
|
15
|
+
cblock : string
|
|
16
|
+
script : string
|
|
17
|
+
type : 'p2tr-ts'
|
|
18
|
+
version : 1
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface SegwitScript extends WitnessInfo {
|
|
22
|
+
script : string
|
|
23
|
+
type : 'p2w-sh'
|
|
24
|
+
version : 0
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface TaprootSpend extends WitnessInfo {
|
|
28
|
+
type : 'p2tr-pk'
|
|
29
|
+
version : 1
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface SegwitSpend extends WitnessInfo {
|
|
33
|
+
type : 'p2w-pkh'
|
|
34
|
+
version : 0
|
|
35
|
+
}
|
|
36
|
+
|