1
-
1
+ # Strategy used to compute the amount of fees of transactions.
2
+ #
3
+ # This basically gives the unit in which the fee amount will be expressed.
2
4
BitcoinLikeFeePolicy = enum {
3
5
PER_BYTE;
4
6
PER_KBYTE;
5
7
}
6
8
9
+ # Bitcoin network parameters.
7
10
BitcoinLikeNetworkParameters = record {
11
+ # Name of the network.
8
12
Identifier: string;
13
+ # Version of the Pay To Public Hash standard.
9
14
P2PKHVersion: binary;
15
+ # Version of the Pay To Script Hash standard.
10
16
P2SHVersion: binary;
17
+ # Version of the Extended Public Key standard.
11
18
XPUBVersion: binary;
19
+ # Policy to use when expressing fee amount.
12
20
FeePolicy: BitcoinLikeFeePolicy;
21
+ # Minimal amount a UTXO should have before being considered BTC dust.
13
22
DustAmount: i64;
23
+ # Constant prefix to prepend all signature messages.
14
24
MessagePrefix: string;
25
+ # Are transactions encoded with timestamp?
15
26
UsesTimestampedTransaction: bool;
27
+ # Delay applied to all timestamps. Used to debounce transactions.
16
28
TimestampDelay: i64;
29
+ # Bitcoin signature flag indicating what part of a transaction a signature signs.
17
30
SigHash: binary;
31
+ # Addition BIPs enabled for this network.
18
32
AdditionalBIPs: list<string>;
19
33
}
20
34
@@ -43,10 +57,16 @@ BitcoinLikeAddress = interface +c {
43
57
isP2PKH(): bool;
44
58
}
45
59
60
+ # The xPUB definition for Bitcoin.
46
61
BitcoinLikeExtendedPublicKey = interface +c {
62
+ # Derive an address from an xPUB and a path.
47
63
derive(path: string): BitcoinLikeAddress;
64
+ # Derive a public key from an xPUB and a path.
48
65
derivePublicKey(path: string): binary;
66
+ # Derive a shorten version of a public key (SHA256 + RIPEMD160) from an xPUB and a path.
49
67
deriveHash160(path: string): binary;
68
+ # Get the xPUB in base 58.
50
69
toBase58(): string;
70
+ # Get the root path of the xPUB.
51
71
getRootPath(): string;
52
- }
72
+ }
0 commit comments