forked from grondilu/libbitcoin-perl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TAGS
281 lines (256 loc) · 12.9 KB
/
TAGS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
EC.pm,565
package EC;EC9,117
sub import {import19,207
sub Delta { -16*(4*$a**3 + 27*$b**2) }Delta40,880
sub check {check41,919
sub double {double49,1252
sub add {add57,1511
sub mult {mult73,1976
package EC::Point;EC::Point106,3182
sub horizon { bless { x => 0, y => 0 }, shift }horizon107,3201
sub clone { my $_ = shift; bless { x => $_->x, y => $_->y, order => $_->order }, ref $_ }clone108,3249
sub x { shift->{'x'} }x109,3339
sub y { shift->{'y'} }y110,3362
sub order { shift->{'order'} }order111,3385
package Math::BigInt;Math::BigInt129,3800
Bitcoin.pm,576
package Bitcoin;Bitcoin10,150
sub import {import16,260
package Bitcoin::Key;Bitcoin::Key43,946
sub size() { 256 }size48,1036
sub version() { $ENV{BITCOIN_TEST} ~~ /yes|true/i ? 129 : 128 }version49,1055
sub value { bless shift->copy(), 'Math::BigInt'; }value50,1119
sub address { new Bitcoin::Address shift->public_key }address51,1170
sub new {new53,1226
package Bitcoin::Address;Bitcoin::Address70,1683
sub size() { 160 }size72,1747
sub version() { $ENV{BITCOIN_TEST} ~~ /yes|true/i ? 1 : 0 }version73,1766
sub data {data74,1826
sub new {new79,1918
Bitcoin/CNames.pm,1046
package Bitcoin::CNames;Bitcoin::CNames2,16
package CPrivKey; our @ISA = qw(Bitcoin::Key::Private);CPrivKey5,113
package CSecret; our @ISA = qw(Bitcoin::Key::Secret);CSecret6,170
package CMasterKey; our @ISA = qw(Bitcoin::Key::MasterKey);CMasterKey7,225
package CBase58Data; our @ISA = qw(Bitcoin::Base58::Data);CBase58Data10,312
package CBitcoinAddress; our @ISA = qw(Bitcoin::Address);CBitcoinAddress13,399
package CWallet; our @ISA = qw(Bitcoin::Wallet);CWallet16,483
package CKeyStore; our @ISA = qw(Bitcoin::KeyStore);CKeyStore19,561
package CBasicKeyStore; our @ISA = qw(Bitcoin::KeyStore::Basic);CBasicKeyStore20,615
package CCryptoKeyStore; our @ISA = qw(Bitcoin::KeyStore::Encrypted);CCryptoKeyStore21,681
package CBlock; our @ISA = qw(Bitcoin::Block);CBlock24,776
package CBlockIndex; our @ISA = qw(Bitcoin::Block::Index);CBlockIndex25,825
package CBlockLocator; our @ISA = qw(Bitcoin::Block::Locator);CBlockLocator26,885
package CAddress; our @ISA = qw(Bitcoin::Network::Address);CAddress29,977
Bitcoin/DataStream.pm,993
package Bitcoin::DataStream;Bitcoin::DataStream2,16
sub new {new47,746
sub cursor { shift->_no_class->{cursor} }cursor57,934
sub input { shift->_no_class->{input} }input58,976
sub clear { my $_ = shift->_no_class; @$_[0,1] = (0, '') }clear65,1101
sub depth { length shift->{input} }depth66,1160
sub map_file {map_file68,1197
sub seek_file { my $_ = shift->_no_class; $_->{cursor} = shift }seek_file76,1378
sub close_file { undef shift->_no_class->{input} }close_file77,1444
sub Read {Read79,1496
sub Write {Write90,1875
sub write_string {write_string99,2178
sub read_bytes {read_bytes106,2326
sub read_compact_size {read_compact_size115,2584
sub write_compact_size {write_compact_size124,2879
sub calc_size {calc_size134,3320
sub _no_class { my $_ = shift; die "class method not implemented" unless ref; return $_ }_no_class147,3718
sub _no_instance { my $_ = shift; die "instance method not implemented" if ref; return $_ }_no_instance148,3814
Bitcoin/Electrum.pm,149
package Bitcoin::Electrum;Bitcoin::Electrum2,19
use constant SERVERS => qw(SERVERS6,72
sub py2json {py2json32,762
sub json2py {json2py37,909
Bitcoin/Database/SQL.pm,183
package Bitcoin::Database::SQL;Bitcoin::Database::SQL1,0
package Bitcoin::Block;Bitcoin::Block9,155
sub load {load10,179
sub save {save39,1018
sub dbupdate {dbupdate60,1665
Bitcoin/Database/Berkeley.pm,860
package Bitcoin::Database::Berkeley; # aka CDBBitcoin::Database::Berkeley5,66
sub _no_class { my $_ = shift; die "class method not implemented" unless ref; return $_ }_no_class11,186
sub _no_instance { my $_ = shift; die "instance method not implemented" if ref; return $_ }_no_instance12,282
sub new {new14,379
sub Read {Read28,726
package Bitcoin::Disk::Index;Bitcoin::Disk::Index37,980
sub new {new45,1189
SEARCH: {SEARCH66,1983
package Bitcoin::Block::Index;Bitcoin::Block::Index89,2740
sub new {new90,2771
package Bitcoin::Disk::Block::Index;Bitcoin::Disk::Block::Index108,3282
sub prefix() { 'blockindex' }prefix111,3376
sub filename() { 'blkindex.dat' }filename112,3406
sub indexed_object() { 'Bitcoin::Block::Index' }indexed_object113,3440
package Bitcoin::Block;Bitcoin::Block115,3490
sub load {load116,3514
Bitcoin/Electrum/Client.pm,148
package Bitcoin::Electrum::Client;Bitcoin::Electrum::Client9,229
sub raw_tx {raw_tx28,525
sub mktx {mktx79,1859
sub request {request86,1955
Bitcoin/Electrum/Mnemonic.pm,124
package Bitcoin::Electrum::Mnemonic;Bitcoin::Electrum::Mnemonic2,16
sub encode {encode10,189
sub decode {decode22,451
Bitcoin/Electrum/Wallet.pm,480
package Bitcoin::Electrum::Wallet;Bitcoin::Electrum::Wallet2,19
use constant VERSION => 2;VERSION18,359
use constant TEMPLATE => {TEMPLATE19,386
sub passwdToCipher {passwdToCipher30,721
sub new_seed {new_seed35,835
sub wallet_dir {wallet_dir42,1014
sub create_new_address {create_new_address52,1370
sub recover {recover93,2671
sub save {save99,2766
sub is_mine {is_mine105,2912
sub is_change {is_change110,3047
sub get_new_address {get_new_address116,3200
Bitcoin/Electrum/Client/GUI/GTK.pm,86
package Bitcoin::Electrum::Client::GUI::GTK;Bitcoin::Electrum::Client::GUI::GTK2,19
Bitcoin/Electrum/Client/GUI.pm,76
package Bitcoin::Electrum::Client::GUI;Bitcoin::Electrum::Client::GUI2,19
Bitcoin/Block.pm,1768
package Bitcoin::Block;Bitcoin::Block5,69
sub depth { shift->{depth} }depth10,171
sub work { shift->{work} }work11,200
sub new {new12,227
sub header { shift->{header} }header36,1080
sub transactions { shift->{transactions} }transactions37,1111
sub serialize {serialize38,1154
sub get_hash { shift->header->get_hash }get_hash48,1489
sub Merkle_tree {Merkle_tree50,1531
sub update {update66,2057
package Bitcoin::Block::Header;Bitcoin::Block::Header87,2690
sub _no_instance { my $_ = shift; die "instance method call not implemented" if ref; return $_ }_no_instance91,2785
sub _no_class { my $_ = shift; die "class method call not implemented" unless ref; return $_ }_no_class92,2883
sub version { shift->_no_class->{version} // die 'undefined version' }version94,2982
sub hashPrev { shift->_no_class->{hashPrev} // die 'undefined hashPrev' }hashPrev95,3061
sub hashMerkleRoot { shift->_no_class->{hashMerkleRoot} // die 'undefined hashMerkleRoot' }hashMerkleRoot96,3142
sub nTime { shift->_no_class->{nTime} // die 'undefined nTime' }nTime97,3234
sub nBits { shift->_no_class->{nBits} // die 'undefined nBits' }nBits98,3309
sub nNonce { shift->_no_class->{nNonce} // die 'undefined nNonce' }nNonce99,3384
sub new {new101,3462
sub copy {copy121,4108
sub previous {previous126,4194
sub serialize {serialize135,4397
sub get_hash { my $this = shift->_no_class; Bitcoin::Digest::hash256_bin $this->serialize }get_hash141,4586
sub get_hash_hex { my $this = shift->_no_class; unpack 'H*', reverse $this->get_hash }get_hash_hex142,4678
sub target {target144,4766
sub work { 256 - log(shift->target)/log(2) }work151,4965
sub check_proof_of_work {check_proof_of_work152,5010
Bitcoin/Digest.pm,482
package Bitcoin::Digest;Bitcoin::Digest5,43
sub hash256_bin { use Digest::SHA qw(sha256); sha256 sha256 shift }hash256_bin17,341
sub hash160_bin {hash160_bin18,409
sub hash160_hex { unpack 'H*', reverse hash160_bin shift }hash160_hex26,580
sub hash256_hex { unpack 'H*', reverse hash256_bin shift }hash256_hex27,639
sub hash160_int { hex unpack 'H*', hash160_hex shift }hash160_int31,717
sub hash256_int { hex unpack 'H*', hash256_hex shift }hash256_int32,776
Bitcoin/Constants.pm,219
package Bitcoin::Constants;Bitcoin::Constants1,0
use constant DATA_DIR => $ENV{BITCOIN_DATA_DIR};DATA_DIR3,29
use constant GENESIS => '000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f';GENESIS4,78
Bitcoin/Base58.pm,770
package Bitcoin::Base58;Bitcoin::Base587,106
sub decode { shift =~ m/$b58\Z/p ? $b58{${^MATCH}} + 58*decode(${^PREMATCH}) : 0 }decode28,527
sub encode { my $_ = shift; return $_ < 58 ? $b58[$_] : encode($_/58) . $b58[$_%58] } encode29,614
package Bitcoin::Base58::Data;Bitcoin::Base58::Data33,788
sub _no_class { my $_ = shift; die "class method call not implemented" unless ref; return $_ }_no_class55,1366
sub _no_instance { my $_ = shift; die "instance method call not implemented" if ref; return $_ }_no_instance56,1464
sub value {value65,1666
sub data {data71,1805
sub value_from_address {value_from_address78,2023
sub checksum {checksum84,2180
sub to_hex {to_hex93,2389
sub to_base58 {to_base58101,2539
Bitcoin/Transaction.pm,577
package Bitcoin::Transaction;Bitcoin::Transaction2,16
sub new {new15,195
sub serialize {serialize45,1200
sub copy {copy65,2302
sub verify {verify71,2428
sub strip_sig {strip_sig87,2888
sub unbless {unbless98,3218
sub get_hash {get_hash116,3690
sub get_hash_hex { unpack 'H*', reverse shift->get_hash }get_hash_hex121,3823
sub _no_instance { my $_ = shift; die "instance method call not implemented" if ref; return $_ }_no_instance123,3882
sub _no_class { my $_ = shift; die "class method call not implemented" unless ref; return $_ }_no_class124,3980
Bitcoin/Util.pm,320
package Bitcoin::Utils;Bitcoin::Utils2,16
package Bitcoin::Util;Bitcoin::Util4,66
sub randInt {randInt29,361
sub atoi {atoi36,555
sub itoa {itoa44,710
sub itob {itob52,873
sub btoi {btoi60,1036
sub btoa { itoa btoi shift }btoa67,1142
sub atob { itob atoi shift }atob68,1175
Bitcoin/Database.pm,49
package Bitcoin::Database;Bitcoin::Database1,0
Bitcoin/KeyStore.pm,536
package Bitcoin::KeyStore; # aka CKeyStoreBitcoin::KeyStore2,19
sub _no_class { my $_ = shift; die 'class method call not implemented' if ref }_no_class10,171
sub _no_instance { my $_ = shift; die 'instance method call not implemented' unless ref }_no_instance11,261
package Bitcoin::KeyStore::Basic; # aka CBasicKeyStoreBitcoin::KeyStore::Basic20,501
sub add_key {add_key23,592
sub have_key {have_key29,794
sub get_key {get_key36,969
package Bitcoin::KeyStore::Encrypted;Bitcoin::KeyStore::Encrypted44,1143
Bitcoin/Script.pm,1014
package Bitcoin::Script;Bitcoin::Script2,16
sub new {new12,205
sub code {code28,766
sub unbless { [ map $_->unbless, @{shift()} ] }unbless33,896
package Bitcoin::Script::Atom;Bitcoin::Script::Atom35,945
sub new {new43,1176
sub code { my $_ = shift; $_->{code} // sprintf '%2x', ${'Bitcoin::Script::Codes::'.$_->{op_code}}->[0] }code51,1446
sub _length { my $_ = shift; length($_->code) / 2 }_length52,1552
sub unbless { +{ %{shift()} } }unbless53,1604
package Bitcoin::Script::OP;Bitcoin::Script::OP55,1637
sub new {new58,1746
package Bitcoin::Script::PushData;Bitcoin::Script::PushData66,1974
sub data { my $this = shift; substr pack('H*', $this->{code}), $this->{offset} }data72,2162
sub new {new73,2243
package Bitcoin::Script::PushData::ASCII;Bitcoin::Script::PushData::ASCII107,3282
sub data { shift->{text} }data109,3366
package Bitcoin::Script::PushData::PublicKey;Bitcoin::Script::PushData::PublicKey111,3394
sub data { substr pack('H*', shift->{code}), 1 }data113,3482
Bitcoin/Script/Codes.pm,60
package Bitcoin::Script::Codes;Bitcoin::Script::Codes2,16
Bitcoin/Script/Stack.pm,720
package Bitcoin::Script::Stack;Bitcoin::Script::Stack2,16
sub check_size($) { die "stack is too small" if @S < shift }check_size13,259
sub Pop { check_size 1; pop @S }Pop15,321
sub Push { push @S, @_ }Push16,356
sub toAlt { push @alt_S, Pop }toAlt18,383
sub fromAlt { Push pop @alt_S }fromAlt19,428
sub Dup { check_size 1; push @S, $S[$#S] }Dup21,474
sub Nip { check_size 2; splice @S, -2, 1 }Nip22,533
sub Tuck { check_size 2; splice @S, -2, 0, $S[$#S] }Tuck23,592
sub Rot { check_size 3; push @S, splice @S, -3, 1 }Rot24,660
sub Swap { check_size 2; push @S, splice @S, -2, 1 }Swap25,728
EC/DSA.pm,640
package EC::DSA;EC::DSA6,55
sub import { EC::import(@_) }import10,127
package EC::DSA::PublicKey;EC::DSA::PublicKey12,158
sub verify {verify18,314
sub serialize { serialize29,706
package EC::DSA::PublicKey::UnCompressed;EC::DSA::PublicKey::UnCompressed34,808
sub serialize { serialize36,885
sub compress {compress41,1030
package EC::DSA::PublicKey::Compressed;EC::DSA::PublicKey::Compressed46,1142
sub serialize { serialize48,1217
package EC::DSA::PrivateKey;EC::DSA::PrivateKey54,1376
sub sign {sign61,1496
sub public_key {public_key75,1989
sub random {random80,2147
package EC::DSA::ASN;EC::DSA::ASN106,2873
EC/Curves.pm,78
package EC::Curves;EC::Curves1,0
use constant secp256k1 => {secp256k15,87