Merge lp:~codeforger/bitcoin-app/wallet_migration into lp:~dreamsorcerer/bitcoin-app/python

Proposed by Michael Rochester
Status: Merged
Merged at revision: 170
Proposed branch: lp:~codeforger/bitcoin-app/wallet_migration
Merge into: lp:~dreamsorcerer/bitcoin-app/python
Diff against target: 1424 lines (+1392/-0)
3 files modified
addressbook.py (+20/-0)
java_files.py (+102/-0)
java_wallet.py (+1270/-0)
To merge this branch: bzr merge lp:~codeforger/bitcoin-app/wallet_migration
Reviewer Review Type Date Requested Status
Sam Bull Pending
Review via email: mp+271736@code.launchpad.net

Description of the change

Added support for importing all old bitcoinj bitcoin addresses into the new pycoin BIP32 format.

Added support and integrated loading the old address book format and all labelled addresses.

Added support to remove the old data files to save space on the device.

To post a comment you must log in.
Revision history for this message
Michael Rochester (codeforger) wrote :

Reading the first commit message will let you know how to install the required extra dependencies this merge brings in.

162. By Michael Rochester

more python function names

163. By Michael Rochester

Fixed:
    Testnet code now targets correct testnet file location.

164. By Michael Rochester

Added:
 get_earliest_creation_timestamp(test_net=False):

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'addressbook.py'
--- addressbook.py 2015-05-23 18:22:40 +0000
+++ addressbook.py 2015-11-13 14:15:17 +0000
@@ -13,10 +13,13 @@
13"""13"""
1414
15import json15import json
16import sys
1617
17from PyQt5.QtCore import (QAbstractListModel, QModelIndex,18from PyQt5.QtCore import (QAbstractListModel, QModelIndex,
18 pyqtSignal, pyqtSlot, pyqtProperty)19 pyqtSignal, pyqtSlot, pyqtProperty)
1920
21import java_files
22
20class Addressbook(QAbstractListModel):23class Addressbook(QAbstractListModel):
21 filename = "addressbook"24 filename = "addressbook"
2225
@@ -28,6 +31,23 @@
28 self._labels = self.persistence.get_global("labels")31 self._labels = self.persistence.get_global("labels")
29 self._labels = {} if self._labels is None else json.loads(self._labels)32 self._labels = {} if self._labels is None else json.loads(self._labels)
3033
34 # Check for existence of legacy data and import.
35 test_net = True if "--dev" in sys.argv else False
36
37 if java_files.address_book_exists(test_net):
38 labeled, address_book = java_files.import_address_book(test_net)
39 for address, label in labeled:
40 self.set_address_label(address, label)
41
42 for address in address_book:
43 if self.can_add_to_addressbook(label):
44 self.add_to_addressbook(address)
45
46 # Perhaps consider a less destructive way of achieving the following
47 #java_files.remove_address_book()
48
49 self.save()
50
31 def save(self):51 def save(self):
32 self.persistence.set_global("addressbook", json.dumps(self._addresses))52 self.persistence.set_global("addressbook", json.dumps(self._addresses))
33 self.persistence.set_global("labels", json.dumps(self._labels))53 self.persistence.set_global("labels", json.dumps(self._labels))
3454
=== added file 'java_files.py'
--- java_files.py 1970-01-01 00:00:00 +0000
+++ java_files.py 2015-11-13 14:15:17 +0000
@@ -0,0 +1,102 @@
1"""
2java_files creates a convenient way of accessing the data files for the old
3Java driven wallet format.
4
5All functions can be passed test_net=True to make them target the file for the
6old development branch, and return BIP32Nodes suitable for Test Net use.
7"""
8import sys, os
9import hmac, hashlib
10
11import java_wallet
12
13from pycoin.key import BIP32Node, Key
14from pycoin import encoding
15
16def find_file(extension, test_net=False):
17 """
18 Internal function to find the path to the file with the requested extension.
19 Valid extensions are blockchain, addesses, and wallet.
20 """
21 prefix = "~/.local/share/org.sambull.bitcoin-app/ubc."
22 if test_net:
23 prefix = "~/.local/share/org.sambull.dev-bitcoin-app/ubc.testnet"
24
25 path = os.path.expanduser(prefix + extension)
26
27 if os.path.isfile(path):
28 return path
29 else:
30 return None
31
32def open_wallet(path):
33 """ Internal function to wrap the protobuf object loader """
34 wallet = java_wallet.Wallet()
35 with open(path, 'rb') as wallet_file:
36 wallet.ParseFromString(wallet_file.read())
37 return wallet
38
39def wallet_exists(test_net=False):
40 """ Test if a wallet file exists at the expected location. """
41 return not find_file("wallet", test_net) == None
42
43def import_wallet(test_net=False):
44 """ Import the old wallets and convert them into pycoin.BIP32Nodes. """
45 keys = []
46 path = find_file("wallet", test_net)
47 if path:
48 wallet = open_wallet(path)
49 for key in wallet.key:
50 secret = encoding.from_bytes_32(key.secret_bytes)
51
52 chaincode = hmac.HMAC(key=b"Bitcoin seed", msg=key.secret_bytes,
53 digestmod=hashlib.sha512).digest()[32:]
54
55 net_code = "XTN" if test_net else "BTC"
56
57 keys.append(BIP32Node.BIP32Node(net_code, chaincode,
58 secret_exponent=secret))
59 return keys
60
61def get_earliest_creation_timestamp(test_net=False):
62 """ Return the creation timestamp of the oldest key in the Java wallet. """
63 path = find_file("wallet", test_net)
64 if path:
65 wallet = open_wallet(path)
66 return min([key.creation_timestamp for key in wallet.key])
67 return 0
68
69def chain_exists(test_net=False):
70 """ Test if a blockchain exists at the expected location. """
71 return not find_file("blockchain", test_net) == None
72
73def remove_chain(test_net=False):
74 """ Remove the old blockchain to save memory. """
75 chain_path = find_file("blockchain", test_net)
76 os.remove(chain_path)
77
78def address_book_exists(test_net=False):
79 """ Test if an address book exists at the expected location. """
80 return not find_file("addesses", test_net) == None
81
82def import_address_book(test_net=False):
83 """ Return the old address book and labels for convenient loading. """
84 addressbook = []
85 in_address_book = []
86 path = find_file("addesses", test_net)
87 if path:
88 with open(path) as book_file:
89 while True:
90 line = book_file.readline().strip()
91 if not line:
92 return addressbook, in_address_book
93 if line == "true":
94 line = book_file.readline().strip()
95 in_address_book.append(line)
96 line2 = book_file.readline().strip()
97 addressbook.append((line, line2))
98
99def remove_address_book(test_net=False):
100 """ Remove the old address book to save memory. """
101 addresses_path = find_file("addesses", test_net)
102 os.remove(addresses_path)
0\ No newline at end of file103\ No newline at end of file
1104
=== added file 'java_wallet.py'
--- java_wallet.py 1970-01-01 00:00:00 +0000
+++ java_wallet.py 2015-11-13 14:15:17 +0000
@@ -0,0 +1,1270 @@
1# Generated by the protocol buffer compiler. DO NOT EDIT!
2# source: wallet.proto
3
4import sys
5_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
6from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports)
12
13_sym_db = _symbol_database.Default()
14
15
16
17
18DESCRIPTOR = _descriptor.FileDescriptor(
19 name='wallet.proto',
20 package='wallet',
21 serialized_pb=_b('\n\x0cwallet.proto\x12\x06wallet\"A\n\x0bPeerAddress\x12\x12\n\nip_address\x18\x01 \x02(\x0c\x12\x0c\n\x04port\x18\x02 \x02(\r\x12\x10\n\x08services\x18\x03 \x02(\x04\"M\n\rEncryptedData\x12\x1d\n\x15initialisation_vector\x18\x01 \x02(\x0c\x12\x1d\n\x15\x65ncrypted_private_key\x18\x02 \x02(\x0c\"y\n\x10\x44\x65terministicKey\x12\x12\n\nchain_code\x18\x01 \x02(\x0c\x12\x0c\n\x04path\x18\x02 \x03(\r\x12\x16\n\x0eissued_subkeys\x18\x03 \x01(\r\x12\x16\n\x0elookahead_size\x18\x04 \x01(\r\x12\x13\n\x0bisFollowing\x18\x05 \x01(\x08\"\x9a\x03\n\x03Key\x12\x1e\n\x04type\x18\x01 \x02(\x0e\x32\x10.wallet.Key.Type\x12\x14\n\x0csecret_bytes\x18\x02 \x01(\x0c\x12-\n\x0e\x65ncrypted_data\x18\x06 \x01(\x0b\x32\x15.wallet.EncryptedData\x12\x12\n\npublic_key\x18\x03 \x01(\x0c\x12\r\n\x05label\x18\x04 \x01(\t\x12\x1a\n\x12\x63reation_timestamp\x18\x05 \x01(\x03\x12\x33\n\x11\x64\x65terministic_key\x18\x07 \x01(\x0b\x32\x18.wallet.DeterministicKey\x12\x1a\n\x12\x64\x65terministic_seed\x18\x08 \x01(\x0c\x12;\n\x1c\x65ncrypted_deterministic_seed\x18\t \x01(\x0b\x32\x15.wallet.EncryptedData\"a\n\x04Type\x12\x0c\n\x08ORIGINAL\x10\x01\x12\x18\n\x14\x45NCRYPTED_SCRYPT_AES\x10\x02\x12\x1a\n\x16\x44\x45TERMINISTIC_MNEMONIC\x10\x03\x12\x15\n\x11\x44\x45TERMINISTIC_KEY\x10\x04\"5\n\x06Script\x12\x0f\n\x07program\x18\x01 \x02(\x0c\x12\x1a\n\x12\x63reation_timestamp\x18\x02 \x02(\x03\"\x92\x01\n\x10TransactionInput\x12\"\n\x1atransaction_out_point_hash\x18\x01 \x02(\x0c\x12#\n\x1btransaction_out_point_index\x18\x02 \x02(\r\x12\x14\n\x0cscript_bytes\x18\x03 \x02(\x0c\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x03\"\x7f\n\x11TransactionOutput\x12\r\n\x05value\x18\x01 \x02(\x03\x12\x14\n\x0cscript_bytes\x18\x02 \x02(\x0c\x12!\n\x19spent_by_transaction_hash\x18\x03 \x01(\x0c\x12\"\n\x1aspent_by_transaction_index\x18\x04 \x01(\x05\"\x89\x03\n\x15TransactionConfidence\x12\x30\n\x04type\x18\x01 \x01(\x0e\x32\".wallet.TransactionConfidence.Type\x12\x1a\n\x12\x61ppeared_at_height\x18\x02 \x01(\x05\x12\x1e\n\x16overriding_transaction\x18\x03 \x01(\x0c\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12)\n\x0c\x62roadcast_by\x18\x06 \x03(\x0b\x32\x13.wallet.PeerAddress\x12\x34\n\x06source\x18\x07 \x01(\x0e\x32$.wallet.TransactionConfidence.Source\"O\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08\x42UILDING\x10\x01\x12\x0b\n\x07PENDING\x10\x02\x12\x15\n\x11NOT_IN_BEST_CHAIN\x10\x03\x12\x08\n\x04\x44\x45\x41\x44\x10\x04\"A\n\x06Source\x12\x12\n\x0eSOURCE_UNKNOWN\x10\x00\x12\x12\n\x0eSOURCE_NETWORK\x10\x01\x12\x0f\n\x0bSOURCE_SELF\x10\x02\"\xb4\x05\n\x0bTransaction\x12\x0f\n\x07version\x18\x01 \x02(\x05\x12\x0c\n\x04hash\x18\x02 \x02(\x0c\x12&\n\x04pool\x18\x03 \x01(\x0e\x32\x18.wallet.Transaction.Pool\x12\x11\n\tlock_time\x18\x04 \x01(\r\x12\x12\n\nupdated_at\x18\x05 \x01(\x03\x12\x33\n\x11transaction_input\x18\x06 \x03(\x0b\x32\x18.wallet.TransactionInput\x12\x35\n\x12transaction_output\x18\x07 \x03(\x0b\x32\x19.wallet.TransactionOutput\x12\x12\n\nblock_hash\x18\x08 \x03(\x0c\x12 \n\x18\x62lock_relativity_offsets\x18\x0b \x03(\x05\x12\x31\n\nconfidence\x18\t \x01(\x0b\x32\x1d.wallet.TransactionConfidence\x12\x35\n\x07purpose\x18\n \x01(\x0e\x32\x1b.wallet.Transaction.Purpose:\x07UNKNOWN\x12+\n\rexchange_rate\x18\x0c \x01(\x0b\x32\x14.wallet.ExchangeRate\x12\x0c\n\x04memo\x18\r \x01(\t\"Y\n\x04Pool\x12\x0b\n\x07UNSPENT\x10\x04\x12\t\n\x05SPENT\x10\x05\x12\x0c\n\x08INACTIVE\x10\x02\x12\x08\n\x04\x44\x45\x41\x44\x10\n\x12\x0b\n\x07PENDING\x10\x10\x12\x14\n\x10PENDING_INACTIVE\x10\x12\"\x94\x01\n\x07Purpose\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x10\n\x0cUSER_PAYMENT\x10\x01\x12\x10\n\x0cKEY_ROTATION\x10\x02\x12\x1c\n\x18\x41SSURANCE_CONTRACT_CLAIM\x10\x03\x12\x1d\n\x19\x41SSURANCE_CONTRACT_PLEDGE\x10\x04\x12\x1b\n\x17\x41SSURANCE_CONTRACT_STUB\x10\x05\"N\n\x10ScryptParameters\x12\x0c\n\x04salt\x18\x01 \x02(\x0c\x12\x10\n\x01n\x18\x02 \x01(\x03:\x05\x31\x36\x33\x38\x34\x12\x0c\n\x01r\x18\x03 \x01(\x05:\x01\x38\x12\x0c\n\x01p\x18\x04 \x01(\x05:\x01\x31\"8\n\tExtension\x12\n\n\x02id\x18\x01 \x02(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x02(\x0c\x12\x11\n\tmandatory\x18\x03 \x02(\x08\" \n\x03Tag\x12\x0b\n\x03tag\x18\x01 \x02(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x02(\x0c\"5\n\x11TransactionSigner\x12\x12\n\nclass_name\x18\x01 \x02(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\x89\x05\n\x06Wallet\x12\x1a\n\x12network_identifier\x18\x01 \x02(\t\x12\x1c\n\x14last_seen_block_hash\x18\x02 \x01(\x0c\x12\x1e\n\x16last_seen_block_height\x18\x0c \x01(\r\x12!\n\x19last_seen_block_time_secs\x18\x0e \x01(\x03\x12\x18\n\x03key\x18\x03 \x03(\x0b\x32\x0b.wallet.Key\x12(\n\x0btransaction\x18\x04 \x03(\x0b\x32\x13.wallet.Transaction\x12&\n\x0ewatched_script\x18\x0f \x03(\x0b\x32\x0e.wallet.Script\x12\x43\n\x0f\x65ncryption_type\x18\x05 \x01(\x0e\x32\x1d.wallet.Wallet.EncryptionType:\x0bUNENCRYPTED\x12\x37\n\x15\x65ncryption_parameters\x18\x06 \x01(\x0b\x32\x18.wallet.ScryptParameters\x12\x12\n\x07version\x18\x07 \x01(\x05:\x01\x31\x12$\n\textension\x18\n \x03(\x0b\x32\x11.wallet.Extension\x12\x13\n\x0b\x64\x65scription\x18\x0b \x01(\t\x12\x19\n\x11key_rotation_time\x18\r \x01(\x04\x12\x19\n\x04tags\x18\x10 \x03(\x0b\x32\x0b.wallet.Tag\x12\x36\n\x13transaction_signers\x18\x11 \x03(\x0b\x32\x19.wallet.TransactionSigner\x12\x1e\n\x13sigsRequiredToSpend\x18\x12 \x01(\r:\x01\x31\";\n\x0e\x45ncryptionType\x12\x0f\n\x0bUNENCRYPTED\x10\x01\x12\x18\n\x14\x45NCRYPTED_SCRYPT_AES\x10\x02\"R\n\x0c\x45xchangeRate\x12\x12\n\ncoin_value\x18\x01 \x02(\x03\x12\x12\n\nfiat_value\x18\x02 \x02(\x03\x12\x1a\n\x12\x66iat_currency_code\x18\x03 \x02(\tB\x1d\n\x13org.bitcoinj.walletB\x06Protos')
22)
23_sym_db.RegisterFileDescriptor(DESCRIPTOR)
24
25
26
27_KEY_TYPE = _descriptor.EnumDescriptor(
28 name='Type',
29 full_name='wallet.Key.Type',
30 filename=None,
31 file=DESCRIPTOR,
32 values=[
33 _descriptor.EnumValueDescriptor(
34 name='ORIGINAL', index=0, number=1,
35 options=None,
36 type=None),
37 _descriptor.EnumValueDescriptor(
38 name='ENCRYPTED_SCRYPT_AES', index=1, number=2,
39 options=None,
40 type=None),
41 _descriptor.EnumValueDescriptor(
42 name='DETERMINISTIC_MNEMONIC', index=2, number=3,
43 options=None,
44 type=None),
45 _descriptor.EnumValueDescriptor(
46 name='DETERMINISTIC_KEY', index=3, number=4,
47 options=None,
48 type=None),
49 ],
50 containing_type=None,
51 options=None,
52 serialized_start=607,
53 serialized_end=704,
54)
55_sym_db.RegisterEnumDescriptor(_KEY_TYPE)
56
57_TRANSACTIONCONFIDENCE_TYPE = _descriptor.EnumDescriptor(
58 name='Type',
59 full_name='wallet.TransactionConfidence.Type',
60 filename=None,
61 file=DESCRIPTOR,
62 values=[
63 _descriptor.EnumValueDescriptor(
64 name='UNKNOWN', index=0, number=0,
65 options=None,
66 type=None),
67 _descriptor.EnumValueDescriptor(
68 name='BUILDING', index=1, number=1,
69 options=None,
70 type=None),
71 _descriptor.EnumValueDescriptor(
72 name='PENDING', index=2, number=2,
73 options=None,
74 type=None),
75 _descriptor.EnumValueDescriptor(
76 name='NOT_IN_BEST_CHAIN', index=3, number=3,
77 options=None,
78 type=None),
79 _descriptor.EnumValueDescriptor(
80 name='DEAD', index=4, number=4,
81 options=None,
82 type=None),
83 ],
84 containing_type=None,
85 options=None,
86 serialized_start=1287,
87 serialized_end=1366,
88)
89_sym_db.RegisterEnumDescriptor(_TRANSACTIONCONFIDENCE_TYPE)
90
91_TRANSACTIONCONFIDENCE_SOURCE = _descriptor.EnumDescriptor(
92 name='Source',
93 full_name='wallet.TransactionConfidence.Source',
94 filename=None,
95 file=DESCRIPTOR,
96 values=[
97 _descriptor.EnumValueDescriptor(
98 name='SOURCE_UNKNOWN', index=0, number=0,
99 options=None,
100 type=None),
101 _descriptor.EnumValueDescriptor(
102 name='SOURCE_NETWORK', index=1, number=1,
103 options=None,
104 type=None),
105 _descriptor.EnumValueDescriptor(
106 name='SOURCE_SELF', index=2, number=2,
107 options=None,
108 type=None),
109 ],
110 containing_type=None,
111 options=None,
112 serialized_start=1368,
113 serialized_end=1433,
114)
115_sym_db.RegisterEnumDescriptor(_TRANSACTIONCONFIDENCE_SOURCE)
116
117_TRANSACTION_POOL = _descriptor.EnumDescriptor(
118 name='Pool',
119 full_name='wallet.Transaction.Pool',
120 filename=None,
121 file=DESCRIPTOR,
122 values=[
123 _descriptor.EnumValueDescriptor(
124 name='UNSPENT', index=0, number=4,
125 options=None,
126 type=None),
127 _descriptor.EnumValueDescriptor(
128 name='SPENT', index=1, number=5,
129 options=None,
130 type=None),
131 _descriptor.EnumValueDescriptor(
132 name='INACTIVE', index=2, number=2,
133 options=None,
134 type=None),
135 _descriptor.EnumValueDescriptor(
136 name='DEAD', index=3, number=10,
137 options=None,
138 type=None),
139 _descriptor.EnumValueDescriptor(
140 name='PENDING', index=4, number=16,
141 options=None,
142 type=None),
143 _descriptor.EnumValueDescriptor(
144 name='PENDING_INACTIVE', index=5, number=18,
145 options=None,
146 type=None),
147 ],
148 containing_type=None,
149 options=None,
150 serialized_start=1888,
151 serialized_end=1977,
152)
153_sym_db.RegisterEnumDescriptor(_TRANSACTION_POOL)
154
155_TRANSACTION_PURPOSE = _descriptor.EnumDescriptor(
156 name='Purpose',
157 full_name='wallet.Transaction.Purpose',
158 filename=None,
159 file=DESCRIPTOR,
160 values=[
161 _descriptor.EnumValueDescriptor(
162 name='UNKNOWN', index=0, number=0,
163 options=None,
164 type=None),
165 _descriptor.EnumValueDescriptor(
166 name='USER_PAYMENT', index=1, number=1,
167 options=None,
168 type=None),
169 _descriptor.EnumValueDescriptor(
170 name='KEY_ROTATION', index=2, number=2,
171 options=None,
172 type=None),
173 _descriptor.EnumValueDescriptor(
174 name='ASSURANCE_CONTRACT_CLAIM', index=3, number=3,
175 options=None,
176 type=None),
177 _descriptor.EnumValueDescriptor(
178 name='ASSURANCE_CONTRACT_PLEDGE', index=4, number=4,
179 options=None,
180 type=None),
181 _descriptor.EnumValueDescriptor(
182 name='ASSURANCE_CONTRACT_STUB', index=5, number=5,
183 options=None,
184 type=None),
185 ],
186 containing_type=None,
187 options=None,
188 serialized_start=1980,
189 serialized_end=2128,
190)
191_sym_db.RegisterEnumDescriptor(_TRANSACTION_PURPOSE)
192
193_WALLET_ENCRYPTIONTYPE = _descriptor.EnumDescriptor(
194 name='EncryptionType',
195 full_name='wallet.Wallet.EncryptionType',
196 filename=None,
197 file=DESCRIPTOR,
198 values=[
199 _descriptor.EnumValueDescriptor(
200 name='UNENCRYPTED', index=0, number=1,
201 options=None,
202 type=None),
203 _descriptor.EnumValueDescriptor(
204 name='ENCRYPTED_SCRYPT_AES', index=1, number=2,
205 options=None,
206 type=None),
207 ],
208 containing_type=None,
209 options=None,
210 serialized_start=2948,
211 serialized_end=3007,
212)
213_sym_db.RegisterEnumDescriptor(_WALLET_ENCRYPTIONTYPE)
214
215
216_PEERADDRESS = _descriptor.Descriptor(
217 name='PeerAddress',
218 full_name='wallet.PeerAddress',
219 filename=None,
220 file=DESCRIPTOR,
221 containing_type=None,
222 fields=[
223 _descriptor.FieldDescriptor(
224 name='ip_address', full_name='wallet.PeerAddress.ip_address', index=0,
225 number=1, type=12, cpp_type=9, label=2,
226 has_default_value=False, default_value=_b(""),
227 message_type=None, enum_type=None, containing_type=None,
228 is_extension=False, extension_scope=None,
229 options=None),
230 _descriptor.FieldDescriptor(
231 name='port', full_name='wallet.PeerAddress.port', index=1,
232 number=2, type=13, cpp_type=3, label=2,
233 has_default_value=False, default_value=0,
234 message_type=None, enum_type=None, containing_type=None,
235 is_extension=False, extension_scope=None,
236 options=None),
237 _descriptor.FieldDescriptor(
238 name='services', full_name='wallet.PeerAddress.services', index=2,
239 number=3, type=4, cpp_type=4, label=2,
240 has_default_value=False, default_value=0,
241 message_type=None, enum_type=None, containing_type=None,
242 is_extension=False, extension_scope=None,
243 options=None),
244 ],
245 extensions=[
246 ],
247 nested_types=[],
248 enum_types=[
249 ],
250 options=None,
251 is_extendable=False,
252 extension_ranges=[],
253 oneofs=[
254 ],
255 serialized_start=24,
256 serialized_end=89,
257)
258
259
260_ENCRYPTEDDATA = _descriptor.Descriptor(
261 name='EncryptedData',
262 full_name='wallet.EncryptedData',
263 filename=None,
264 file=DESCRIPTOR,
265 containing_type=None,
266 fields=[
267 _descriptor.FieldDescriptor(
268 name='initialisation_vector', full_name='wallet.EncryptedData.initialisation_vector', index=0,
269 number=1, type=12, cpp_type=9, label=2,
270 has_default_value=False, default_value=_b(""),
271 message_type=None, enum_type=None, containing_type=None,
272 is_extension=False, extension_scope=None,
273 options=None),
274 _descriptor.FieldDescriptor(
275 name='encrypted_private_key', full_name='wallet.EncryptedData.encrypted_private_key', index=1,
276 number=2, type=12, cpp_type=9, label=2,
277 has_default_value=False, default_value=_b(""),
278 message_type=None, enum_type=None, containing_type=None,
279 is_extension=False, extension_scope=None,
280 options=None),
281 ],
282 extensions=[
283 ],
284 nested_types=[],
285 enum_types=[
286 ],
287 options=None,
288 is_extendable=False,
289 extension_ranges=[],
290 oneofs=[
291 ],
292 serialized_start=91,
293 serialized_end=168,
294)
295
296
297_DETERMINISTICKEY = _descriptor.Descriptor(
298 name='DeterministicKey',
299 full_name='wallet.DeterministicKey',
300 filename=None,
301 file=DESCRIPTOR,
302 containing_type=None,
303 fields=[
304 _descriptor.FieldDescriptor(
305 name='chain_code', full_name='wallet.DeterministicKey.chain_code', index=0,
306 number=1, type=12, cpp_type=9, label=2,
307 has_default_value=False, default_value=_b(""),
308 message_type=None, enum_type=None, containing_type=None,
309 is_extension=False, extension_scope=None,
310 options=None),
311 _descriptor.FieldDescriptor(
312 name='path', full_name='wallet.DeterministicKey.path', index=1,
313 number=2, type=13, cpp_type=3, label=3,
314 has_default_value=False, default_value=[],
315 message_type=None, enum_type=None, containing_type=None,
316 is_extension=False, extension_scope=None,
317 options=None),
318 _descriptor.FieldDescriptor(
319 name='issued_subkeys', full_name='wallet.DeterministicKey.issued_subkeys', index=2,
320 number=3, type=13, cpp_type=3, label=1,
321 has_default_value=False, default_value=0,
322 message_type=None, enum_type=None, containing_type=None,
323 is_extension=False, extension_scope=None,
324 options=None),
325 _descriptor.FieldDescriptor(
326 name='lookahead_size', full_name='wallet.DeterministicKey.lookahead_size', index=3,
327 number=4, type=13, cpp_type=3, label=1,
328 has_default_value=False, default_value=0,
329 message_type=None, enum_type=None, containing_type=None,
330 is_extension=False, extension_scope=None,
331 options=None),
332 _descriptor.FieldDescriptor(
333 name='isFollowing', full_name='wallet.DeterministicKey.isFollowing', index=4,
334 number=5, type=8, cpp_type=7, label=1,
335 has_default_value=False, default_value=False,
336 message_type=None, enum_type=None, containing_type=None,
337 is_extension=False, extension_scope=None,
338 options=None),
339 ],
340 extensions=[
341 ],
342 nested_types=[],
343 enum_types=[
344 ],
345 options=None,
346 is_extendable=False,
347 extension_ranges=[],
348 oneofs=[
349 ],
350 serialized_start=170,
351 serialized_end=291,
352)
353
354
355_KEY = _descriptor.Descriptor(
356 name='Key',
357 full_name='wallet.Key',
358 filename=None,
359 file=DESCRIPTOR,
360 containing_type=None,
361 fields=[
362 _descriptor.FieldDescriptor(
363 name='type', full_name='wallet.Key.type', index=0,
364 number=1, type=14, cpp_type=8, label=2,
365 has_default_value=False, default_value=1,
366 message_type=None, enum_type=None, containing_type=None,
367 is_extension=False, extension_scope=None,
368 options=None),
369 _descriptor.FieldDescriptor(
370 name='secret_bytes', full_name='wallet.Key.secret_bytes', index=1,
371 number=2, type=12, cpp_type=9, label=1,
372 has_default_value=False, default_value=_b(""),
373 message_type=None, enum_type=None, containing_type=None,
374 is_extension=False, extension_scope=None,
375 options=None),
376 _descriptor.FieldDescriptor(
377 name='encrypted_data', full_name='wallet.Key.encrypted_data', index=2,
378 number=6, type=11, cpp_type=10, label=1,
379 has_default_value=False, default_value=None,
380 message_type=None, enum_type=None, containing_type=None,
381 is_extension=False, extension_scope=None,
382 options=None),
383 _descriptor.FieldDescriptor(
384 name='public_key', full_name='wallet.Key.public_key', index=3,
385 number=3, type=12, cpp_type=9, label=1,
386 has_default_value=False, default_value=_b(""),
387 message_type=None, enum_type=None, containing_type=None,
388 is_extension=False, extension_scope=None,
389 options=None),
390 _descriptor.FieldDescriptor(
391 name='label', full_name='wallet.Key.label', index=4,
392 number=4, type=9, cpp_type=9, label=1,
393 has_default_value=False, default_value=_b("").decode('utf-8'),
394 message_type=None, enum_type=None, containing_type=None,
395 is_extension=False, extension_scope=None,
396 options=None),
397 _descriptor.FieldDescriptor(
398 name='creation_timestamp', full_name='wallet.Key.creation_timestamp', index=5,
399 number=5, type=3, cpp_type=2, label=1,
400 has_default_value=False, default_value=0,
401 message_type=None, enum_type=None, containing_type=None,
402 is_extension=False, extension_scope=None,
403 options=None),
404 _descriptor.FieldDescriptor(
405 name='deterministic_key', full_name='wallet.Key.deterministic_key', index=6,
406 number=7, type=11, cpp_type=10, label=1,
407 has_default_value=False, default_value=None,
408 message_type=None, enum_type=None, containing_type=None,
409 is_extension=False, extension_scope=None,
410 options=None),
411 _descriptor.FieldDescriptor(
412 name='deterministic_seed', full_name='wallet.Key.deterministic_seed', index=7,
413 number=8, type=12, cpp_type=9, label=1,
414 has_default_value=False, default_value=_b(""),
415 message_type=None, enum_type=None, containing_type=None,
416 is_extension=False, extension_scope=None,
417 options=None),
418 _descriptor.FieldDescriptor(
419 name='encrypted_deterministic_seed', full_name='wallet.Key.encrypted_deterministic_seed', index=8,
420 number=9, type=11, cpp_type=10, label=1,
421 has_default_value=False, default_value=None,
422 message_type=None, enum_type=None, containing_type=None,
423 is_extension=False, extension_scope=None,
424 options=None),
425 ],
426 extensions=[
427 ],
428 nested_types=[],
429 enum_types=[
430 _KEY_TYPE,
431 ],
432 options=None,
433 is_extendable=False,
434 extension_ranges=[],
435 oneofs=[
436 ],
437 serialized_start=294,
438 serialized_end=704,
439)
440
441
442_SCRIPT = _descriptor.Descriptor(
443 name='Script',
444 full_name='wallet.Script',
445 filename=None,
446 file=DESCRIPTOR,
447 containing_type=None,
448 fields=[
449 _descriptor.FieldDescriptor(
450 name='program', full_name='wallet.Script.program', index=0,
451 number=1, type=12, cpp_type=9, label=2,
452 has_default_value=False, default_value=_b(""),
453 message_type=None, enum_type=None, containing_type=None,
454 is_extension=False, extension_scope=None,
455 options=None),
456 _descriptor.FieldDescriptor(
457 name='creation_timestamp', full_name='wallet.Script.creation_timestamp', index=1,
458 number=2, type=3, cpp_type=2, label=2,
459 has_default_value=False, default_value=0,
460 message_type=None, enum_type=None, containing_type=None,
461 is_extension=False, extension_scope=None,
462 options=None),
463 ],
464 extensions=[
465 ],
466 nested_types=[],
467 enum_types=[
468 ],
469 options=None,
470 is_extendable=False,
471 extension_ranges=[],
472 oneofs=[
473 ],
474 serialized_start=706,
475 serialized_end=759,
476)
477
478
479_TRANSACTIONINPUT = _descriptor.Descriptor(
480 name='TransactionInput',
481 full_name='wallet.TransactionInput',
482 filename=None,
483 file=DESCRIPTOR,
484 containing_type=None,
485 fields=[
486 _descriptor.FieldDescriptor(
487 name='transaction_out_point_hash', full_name='wallet.TransactionInput.transaction_out_point_hash', index=0,
488 number=1, type=12, cpp_type=9, label=2,
489 has_default_value=False, default_value=_b(""),
490 message_type=None, enum_type=None, containing_type=None,
491 is_extension=False, extension_scope=None,
492 options=None),
493 _descriptor.FieldDescriptor(
494 name='transaction_out_point_index', full_name='wallet.TransactionInput.transaction_out_point_index', index=1,
495 number=2, type=13, cpp_type=3, label=2,
496 has_default_value=False, default_value=0,
497 message_type=None, enum_type=None, containing_type=None,
498 is_extension=False, extension_scope=None,
499 options=None),
500 _descriptor.FieldDescriptor(
501 name='script_bytes', full_name='wallet.TransactionInput.script_bytes', index=2,
502 number=3, type=12, cpp_type=9, label=2,
503 has_default_value=False, default_value=_b(""),
504 message_type=None, enum_type=None, containing_type=None,
505 is_extension=False, extension_scope=None,
506 options=None),
507 _descriptor.FieldDescriptor(
508 name='sequence', full_name='wallet.TransactionInput.sequence', index=3,
509 number=4, type=13, cpp_type=3, label=1,
510 has_default_value=False, default_value=0,
511 message_type=None, enum_type=None, containing_type=None,
512 is_extension=False, extension_scope=None,
513 options=None),
514 _descriptor.FieldDescriptor(
515 name='value', full_name='wallet.TransactionInput.value', index=4,
516 number=5, type=3, cpp_type=2, label=1,
517 has_default_value=False, default_value=0,
518 message_type=None, enum_type=None, containing_type=None,
519 is_extension=False, extension_scope=None,
520 options=None),
521 ],
522 extensions=[
523 ],
524 nested_types=[],
525 enum_types=[
526 ],
527 options=None,
528 is_extendable=False,
529 extension_ranges=[],
530 oneofs=[
531 ],
532 serialized_start=762,
533 serialized_end=908,
534)
535
536
537_TRANSACTIONOUTPUT = _descriptor.Descriptor(
538 name='TransactionOutput',
539 full_name='wallet.TransactionOutput',
540 filename=None,
541 file=DESCRIPTOR,
542 containing_type=None,
543 fields=[
544 _descriptor.FieldDescriptor(
545 name='value', full_name='wallet.TransactionOutput.value', index=0,
546 number=1, type=3, cpp_type=2, label=2,
547 has_default_value=False, default_value=0,
548 message_type=None, enum_type=None, containing_type=None,
549 is_extension=False, extension_scope=None,
550 options=None),
551 _descriptor.FieldDescriptor(
552 name='script_bytes', full_name='wallet.TransactionOutput.script_bytes', index=1,
553 number=2, type=12, cpp_type=9, label=2,
554 has_default_value=False, default_value=_b(""),
555 message_type=None, enum_type=None, containing_type=None,
556 is_extension=False, extension_scope=None,
557 options=None),
558 _descriptor.FieldDescriptor(
559 name='spent_by_transaction_hash', full_name='wallet.TransactionOutput.spent_by_transaction_hash', index=2,
560 number=3, type=12, cpp_type=9, label=1,
561 has_default_value=False, default_value=_b(""),
562 message_type=None, enum_type=None, containing_type=None,
563 is_extension=False, extension_scope=None,
564 options=None),
565 _descriptor.FieldDescriptor(
566 name='spent_by_transaction_index', full_name='wallet.TransactionOutput.spent_by_transaction_index', index=3,
567 number=4, type=5, cpp_type=1, label=1,
568 has_default_value=False, default_value=0,
569 message_type=None, enum_type=None, containing_type=None,
570 is_extension=False, extension_scope=None,
571 options=None),
572 ],
573 extensions=[
574 ],
575 nested_types=[],
576 enum_types=[
577 ],
578 options=None,
579 is_extendable=False,
580 extension_ranges=[],
581 oneofs=[
582 ],
583 serialized_start=910,
584 serialized_end=1037,
585)
586
587
588_TRANSACTIONCONFIDENCE = _descriptor.Descriptor(
589 name='TransactionConfidence',
590 full_name='wallet.TransactionConfidence',
591 filename=None,
592 file=DESCRIPTOR,
593 containing_type=None,
594 fields=[
595 _descriptor.FieldDescriptor(
596 name='type', full_name='wallet.TransactionConfidence.type', index=0,
597 number=1, type=14, cpp_type=8, label=1,
598 has_default_value=False, default_value=0,
599 message_type=None, enum_type=None, containing_type=None,
600 is_extension=False, extension_scope=None,
601 options=None),
602 _descriptor.FieldDescriptor(
603 name='appeared_at_height', full_name='wallet.TransactionConfidence.appeared_at_height', index=1,
604 number=2, type=5, cpp_type=1, label=1,
605 has_default_value=False, default_value=0,
606 message_type=None, enum_type=None, containing_type=None,
607 is_extension=False, extension_scope=None,
608 options=None),
609 _descriptor.FieldDescriptor(
610 name='overriding_transaction', full_name='wallet.TransactionConfidence.overriding_transaction', index=2,
611 number=3, type=12, cpp_type=9, label=1,
612 has_default_value=False, default_value=_b(""),
613 message_type=None, enum_type=None, containing_type=None,
614 is_extension=False, extension_scope=None,
615 options=None),
616 _descriptor.FieldDescriptor(
617 name='depth', full_name='wallet.TransactionConfidence.depth', index=3,
618 number=4, type=5, cpp_type=1, label=1,
619 has_default_value=False, default_value=0,
620 message_type=None, enum_type=None, containing_type=None,
621 is_extension=False, extension_scope=None,
622 options=None),
623 _descriptor.FieldDescriptor(
624 name='broadcast_by', full_name='wallet.TransactionConfidence.broadcast_by', index=4,
625 number=6, type=11, cpp_type=10, label=3,
626 has_default_value=False, default_value=[],
627 message_type=None, enum_type=None, containing_type=None,
628 is_extension=False, extension_scope=None,
629 options=None),
630 _descriptor.FieldDescriptor(
631 name='source', full_name='wallet.TransactionConfidence.source', index=5,
632 number=7, type=14, cpp_type=8, label=1,
633 has_default_value=False, default_value=0,
634 message_type=None, enum_type=None, containing_type=None,
635 is_extension=False, extension_scope=None,
636 options=None),
637 ],
638 extensions=[
639 ],
640 nested_types=[],
641 enum_types=[
642 _TRANSACTIONCONFIDENCE_TYPE,
643 _TRANSACTIONCONFIDENCE_SOURCE,
644 ],
645 options=None,
646 is_extendable=False,
647 extension_ranges=[],
648 oneofs=[
649 ],
650 serialized_start=1040,
651 serialized_end=1433,
652)
653
654
655_TRANSACTION = _descriptor.Descriptor(
656 name='Transaction',
657 full_name='wallet.Transaction',
658 filename=None,
659 file=DESCRIPTOR,
660 containing_type=None,
661 fields=[
662 _descriptor.FieldDescriptor(
663 name='version', full_name='wallet.Transaction.version', index=0,
664 number=1, type=5, cpp_type=1, label=2,
665 has_default_value=False, default_value=0,
666 message_type=None, enum_type=None, containing_type=None,
667 is_extension=False, extension_scope=None,
668 options=None),
669 _descriptor.FieldDescriptor(
670 name='hash', full_name='wallet.Transaction.hash', index=1,
671 number=2, type=12, cpp_type=9, label=2,
672 has_default_value=False, default_value=_b(""),
673 message_type=None, enum_type=None, containing_type=None,
674 is_extension=False, extension_scope=None,
675 options=None),
676 _descriptor.FieldDescriptor(
677 name='pool', full_name='wallet.Transaction.pool', index=2,
678 number=3, type=14, cpp_type=8, label=1,
679 has_default_value=False, default_value=4,
680 message_type=None, enum_type=None, containing_type=None,
681 is_extension=False, extension_scope=None,
682 options=None),
683 _descriptor.FieldDescriptor(
684 name='lock_time', full_name='wallet.Transaction.lock_time', index=3,
685 number=4, type=13, cpp_type=3, label=1,
686 has_default_value=False, default_value=0,
687 message_type=None, enum_type=None, containing_type=None,
688 is_extension=False, extension_scope=None,
689 options=None),
690 _descriptor.FieldDescriptor(
691 name='updated_at', full_name='wallet.Transaction.updated_at', index=4,
692 number=5, type=3, cpp_type=2, label=1,
693 has_default_value=False, default_value=0,
694 message_type=None, enum_type=None, containing_type=None,
695 is_extension=False, extension_scope=None,
696 options=None),
697 _descriptor.FieldDescriptor(
698 name='transaction_input', full_name='wallet.Transaction.transaction_input', index=5,
699 number=6, type=11, cpp_type=10, label=3,
700 has_default_value=False, default_value=[],
701 message_type=None, enum_type=None, containing_type=None,
702 is_extension=False, extension_scope=None,
703 options=None),
704 _descriptor.FieldDescriptor(
705 name='transaction_output', full_name='wallet.Transaction.transaction_output', index=6,
706 number=7, type=11, cpp_type=10, label=3,
707 has_default_value=False, default_value=[],
708 message_type=None, enum_type=None, containing_type=None,
709 is_extension=False, extension_scope=None,
710 options=None),
711 _descriptor.FieldDescriptor(
712 name='block_hash', full_name='wallet.Transaction.block_hash', index=7,
713 number=8, type=12, cpp_type=9, label=3,
714 has_default_value=False, default_value=[],
715 message_type=None, enum_type=None, containing_type=None,
716 is_extension=False, extension_scope=None,
717 options=None),
718 _descriptor.FieldDescriptor(
719 name='block_relativity_offsets', full_name='wallet.Transaction.block_relativity_offsets', index=8,
720 number=11, type=5, cpp_type=1, label=3,
721 has_default_value=False, default_value=[],
722 message_type=None, enum_type=None, containing_type=None,
723 is_extension=False, extension_scope=None,
724 options=None),
725 _descriptor.FieldDescriptor(
726 name='confidence', full_name='wallet.Transaction.confidence', index=9,
727 number=9, type=11, cpp_type=10, label=1,
728 has_default_value=False, default_value=None,
729 message_type=None, enum_type=None, containing_type=None,
730 is_extension=False, extension_scope=None,
731 options=None),
732 _descriptor.FieldDescriptor(
733 name='purpose', full_name='wallet.Transaction.purpose', index=10,
734 number=10, type=14, cpp_type=8, label=1,
735 has_default_value=True, default_value=0,
736 message_type=None, enum_type=None, containing_type=None,
737 is_extension=False, extension_scope=None,
738 options=None),
739 _descriptor.FieldDescriptor(
740 name='exchange_rate', full_name='wallet.Transaction.exchange_rate', index=11,
741 number=12, type=11, cpp_type=10, label=1,
742 has_default_value=False, default_value=None,
743 message_type=None, enum_type=None, containing_type=None,
744 is_extension=False, extension_scope=None,
745 options=None),
746 _descriptor.FieldDescriptor(
747 name='memo', full_name='wallet.Transaction.memo', index=12,
748 number=13, type=9, cpp_type=9, label=1,
749 has_default_value=False, default_value=_b("").decode('utf-8'),
750 message_type=None, enum_type=None, containing_type=None,
751 is_extension=False, extension_scope=None,
752 options=None),
753 ],
754 extensions=[
755 ],
756 nested_types=[],
757 enum_types=[
758 _TRANSACTION_POOL,
759 _TRANSACTION_PURPOSE,
760 ],
761 options=None,
762 is_extendable=False,
763 extension_ranges=[],
764 oneofs=[
765 ],
766 serialized_start=1436,
767 serialized_end=2128,
768)
769
770
771_SCRYPTPARAMETERS = _descriptor.Descriptor(
772 name='ScryptParameters',
773 full_name='wallet.ScryptParameters',
774 filename=None,
775 file=DESCRIPTOR,
776 containing_type=None,
777 fields=[
778 _descriptor.FieldDescriptor(
779 name='salt', full_name='wallet.ScryptParameters.salt', index=0,
780 number=1, type=12, cpp_type=9, label=2,
781 has_default_value=False, default_value=_b(""),
782 message_type=None, enum_type=None, containing_type=None,
783 is_extension=False, extension_scope=None,
784 options=None),
785 _descriptor.FieldDescriptor(
786 name='n', full_name='wallet.ScryptParameters.n', index=1,
787 number=2, type=3, cpp_type=2, label=1,
788 has_default_value=True, default_value=16384,
789 message_type=None, enum_type=None, containing_type=None,
790 is_extension=False, extension_scope=None,
791 options=None),
792 _descriptor.FieldDescriptor(
793 name='r', full_name='wallet.ScryptParameters.r', index=2,
794 number=3, type=5, cpp_type=1, label=1,
795 has_default_value=True, default_value=8,
796 message_type=None, enum_type=None, containing_type=None,
797 is_extension=False, extension_scope=None,
798 options=None),
799 _descriptor.FieldDescriptor(
800 name='p', full_name='wallet.ScryptParameters.p', index=3,
801 number=4, type=5, cpp_type=1, label=1,
802 has_default_value=True, default_value=1,
803 message_type=None, enum_type=None, containing_type=None,
804 is_extension=False, extension_scope=None,
805 options=None),
806 ],
807 extensions=[
808 ],
809 nested_types=[],
810 enum_types=[
811 ],
812 options=None,
813 is_extendable=False,
814 extension_ranges=[],
815 oneofs=[
816 ],
817 serialized_start=2130,
818 serialized_end=2208,
819)
820
821
822_EXTENSION = _descriptor.Descriptor(
823 name='Extension',
824 full_name='wallet.Extension',
825 filename=None,
826 file=DESCRIPTOR,
827 containing_type=None,
828 fields=[
829 _descriptor.FieldDescriptor(
830 name='id', full_name='wallet.Extension.id', index=0,
831 number=1, type=9, cpp_type=9, label=2,
832 has_default_value=False, default_value=_b("").decode('utf-8'),
833 message_type=None, enum_type=None, containing_type=None,
834 is_extension=False, extension_scope=None,
835 options=None),
836 _descriptor.FieldDescriptor(
837 name='data', full_name='wallet.Extension.data', index=1,
838 number=2, type=12, cpp_type=9, label=2,
839 has_default_value=False, default_value=_b(""),
840 message_type=None, enum_type=None, containing_type=None,
841 is_extension=False, extension_scope=None,
842 options=None),
843 _descriptor.FieldDescriptor(
844 name='mandatory', full_name='wallet.Extension.mandatory', index=2,
845 number=3, type=8, cpp_type=7, label=2,
846 has_default_value=False, default_value=False,
847 message_type=None, enum_type=None, containing_type=None,
848 is_extension=False, extension_scope=None,
849 options=None),
850 ],
851 extensions=[
852 ],
853 nested_types=[],
854 enum_types=[
855 ],
856 options=None,
857 is_extendable=False,
858 extension_ranges=[],
859 oneofs=[
860 ],
861 serialized_start=2210,
862 serialized_end=2266,
863)
864
865
866_TAG = _descriptor.Descriptor(
867 name='Tag',
868 full_name='wallet.Tag',
869 filename=None,
870 file=DESCRIPTOR,
871 containing_type=None,
872 fields=[
873 _descriptor.FieldDescriptor(
874 name='tag', full_name='wallet.Tag.tag', index=0,
875 number=1, type=9, cpp_type=9, label=2,
876 has_default_value=False, default_value=_b("").decode('utf-8'),
877 message_type=None, enum_type=None, containing_type=None,
878 is_extension=False, extension_scope=None,
879 options=None),
880 _descriptor.FieldDescriptor(
881 name='data', full_name='wallet.Tag.data', index=1,
882 number=2, type=12, cpp_type=9, label=2,
883 has_default_value=False, default_value=_b(""),
884 message_type=None, enum_type=None, containing_type=None,
885 is_extension=False, extension_scope=None,
886 options=None),
887 ],
888 extensions=[
889 ],
890 nested_types=[],
891 enum_types=[
892 ],
893 options=None,
894 is_extendable=False,
895 extension_ranges=[],
896 oneofs=[
897 ],
898 serialized_start=2268,
899 serialized_end=2300,
900)
901
902
903_TRANSACTIONSIGNER = _descriptor.Descriptor(
904 name='TransactionSigner',
905 full_name='wallet.TransactionSigner',
906 filename=None,
907 file=DESCRIPTOR,
908 containing_type=None,
909 fields=[
910 _descriptor.FieldDescriptor(
911 name='class_name', full_name='wallet.TransactionSigner.class_name', index=0,
912 number=1, type=9, cpp_type=9, label=2,
913 has_default_value=False, default_value=_b("").decode('utf-8'),
914 message_type=None, enum_type=None, containing_type=None,
915 is_extension=False, extension_scope=None,
916 options=None),
917 _descriptor.FieldDescriptor(
918 name='data', full_name='wallet.TransactionSigner.data', index=1,
919 number=2, type=12, cpp_type=9, label=1,
920 has_default_value=False, default_value=_b(""),
921 message_type=None, enum_type=None, containing_type=None,
922 is_extension=False, extension_scope=None,
923 options=None),
924 ],
925 extensions=[
926 ],
927 nested_types=[],
928 enum_types=[
929 ],
930 options=None,
931 is_extendable=False,
932 extension_ranges=[],
933 oneofs=[
934 ],
935 serialized_start=2302,
936 serialized_end=2355,
937)
938
939
940_WALLET = _descriptor.Descriptor(
941 name='Wallet',
942 full_name='wallet.Wallet',
943 filename=None,
944 file=DESCRIPTOR,
945 containing_type=None,
946 fields=[
947 _descriptor.FieldDescriptor(
948 name='network_identifier', full_name='wallet.Wallet.network_identifier', index=0,
949 number=1, type=9, cpp_type=9, label=2,
950 has_default_value=False, default_value=_b("").decode('utf-8'),
951 message_type=None, enum_type=None, containing_type=None,
952 is_extension=False, extension_scope=None,
953 options=None),
954 _descriptor.FieldDescriptor(
955 name='last_seen_block_hash', full_name='wallet.Wallet.last_seen_block_hash', index=1,
956 number=2, type=12, cpp_type=9, label=1,
957 has_default_value=False, default_value=_b(""),
958 message_type=None, enum_type=None, containing_type=None,
959 is_extension=False, extension_scope=None,
960 options=None),
961 _descriptor.FieldDescriptor(
962 name='last_seen_block_height', full_name='wallet.Wallet.last_seen_block_height', index=2,
963 number=12, type=13, cpp_type=3, label=1,
964 has_default_value=False, default_value=0,
965 message_type=None, enum_type=None, containing_type=None,
966 is_extension=False, extension_scope=None,
967 options=None),
968 _descriptor.FieldDescriptor(
969 name='last_seen_block_time_secs', full_name='wallet.Wallet.last_seen_block_time_secs', index=3,
970 number=14, type=3, cpp_type=2, label=1,
971 has_default_value=False, default_value=0,
972 message_type=None, enum_type=None, containing_type=None,
973 is_extension=False, extension_scope=None,
974 options=None),
975 _descriptor.FieldDescriptor(
976 name='key', full_name='wallet.Wallet.key', index=4,
977 number=3, type=11, cpp_type=10, label=3,
978 has_default_value=False, default_value=[],
979 message_type=None, enum_type=None, containing_type=None,
980 is_extension=False, extension_scope=None,
981 options=None),
982 _descriptor.FieldDescriptor(
983 name='transaction', full_name='wallet.Wallet.transaction', index=5,
984 number=4, type=11, cpp_type=10, label=3,
985 has_default_value=False, default_value=[],
986 message_type=None, enum_type=None, containing_type=None,
987 is_extension=False, extension_scope=None,
988 options=None),
989 _descriptor.FieldDescriptor(
990 name='watched_script', full_name='wallet.Wallet.watched_script', index=6,
991 number=15, type=11, cpp_type=10, label=3,
992 has_default_value=False, default_value=[],
993 message_type=None, enum_type=None, containing_type=None,
994 is_extension=False, extension_scope=None,
995 options=None),
996 _descriptor.FieldDescriptor(
997 name='encryption_type', full_name='wallet.Wallet.encryption_type', index=7,
998 number=5, type=14, cpp_type=8, label=1,
999 has_default_value=True, default_value=1,
1000 message_type=None, enum_type=None, containing_type=None,
1001 is_extension=False, extension_scope=None,
1002 options=None),
1003 _descriptor.FieldDescriptor(
1004 name='encryption_parameters', full_name='wallet.Wallet.encryption_parameters', index=8,
1005 number=6, type=11, cpp_type=10, label=1,
1006 has_default_value=False, default_value=None,
1007 message_type=None, enum_type=None, containing_type=None,
1008 is_extension=False, extension_scope=None,
1009 options=None),
1010 _descriptor.FieldDescriptor(
1011 name='version', full_name='wallet.Wallet.version', index=9,
1012 number=7, type=5, cpp_type=1, label=1,
1013 has_default_value=True, default_value=1,
1014 message_type=None, enum_type=None, containing_type=None,
1015 is_extension=False, extension_scope=None,
1016 options=None),
1017 _descriptor.FieldDescriptor(
1018 name='extension', full_name='wallet.Wallet.extension', index=10,
1019 number=10, type=11, cpp_type=10, label=3,
1020 has_default_value=False, default_value=[],
1021 message_type=None, enum_type=None, containing_type=None,
1022 is_extension=False, extension_scope=None,
1023 options=None),
1024 _descriptor.FieldDescriptor(
1025 name='description', full_name='wallet.Wallet.description', index=11,
1026 number=11, type=9, cpp_type=9, label=1,
1027 has_default_value=False, default_value=_b("").decode('utf-8'),
1028 message_type=None, enum_type=None, containing_type=None,
1029 is_extension=False, extension_scope=None,
1030 options=None),
1031 _descriptor.FieldDescriptor(
1032 name='key_rotation_time', full_name='wallet.Wallet.key_rotation_time', index=12,
1033 number=13, type=4, cpp_type=4, label=1,
1034 has_default_value=False, default_value=0,
1035 message_type=None, enum_type=None, containing_type=None,
1036 is_extension=False, extension_scope=None,
1037 options=None),
1038 _descriptor.FieldDescriptor(
1039 name='tags', full_name='wallet.Wallet.tags', index=13,
1040 number=16, type=11, cpp_type=10, label=3,
1041 has_default_value=False, default_value=[],
1042 message_type=None, enum_type=None, containing_type=None,
1043 is_extension=False, extension_scope=None,
1044 options=None),
1045 _descriptor.FieldDescriptor(
1046 name='transaction_signers', full_name='wallet.Wallet.transaction_signers', index=14,
1047 number=17, type=11, cpp_type=10, label=3,
1048 has_default_value=False, default_value=[],
1049 message_type=None, enum_type=None, containing_type=None,
1050 is_extension=False, extension_scope=None,
1051 options=None),
1052 _descriptor.FieldDescriptor(
1053 name='sigsRequiredToSpend', full_name='wallet.Wallet.sigsRequiredToSpend', index=15,
1054 number=18, type=13, cpp_type=3, label=1,
1055 has_default_value=True, default_value=1,
1056 message_type=None, enum_type=None, containing_type=None,
1057 is_extension=False, extension_scope=None,
1058 options=None),
1059 ],
1060 extensions=[
1061 ],
1062 nested_types=[],
1063 enum_types=[
1064 _WALLET_ENCRYPTIONTYPE,
1065 ],
1066 options=None,
1067 is_extendable=False,
1068 extension_ranges=[],
1069 oneofs=[
1070 ],
1071 serialized_start=2358,
1072 serialized_end=3007,
1073)
1074
1075
1076_EXCHANGERATE = _descriptor.Descriptor(
1077 name='ExchangeRate',
1078 full_name='wallet.ExchangeRate',
1079 filename=None,
1080 file=DESCRIPTOR,
1081 containing_type=None,
1082 fields=[
1083 _descriptor.FieldDescriptor(
1084 name='coin_value', full_name='wallet.ExchangeRate.coin_value', index=0,
1085 number=1, type=3, cpp_type=2, label=2,
1086 has_default_value=False, default_value=0,
1087 message_type=None, enum_type=None, containing_type=None,
1088 is_extension=False, extension_scope=None,
1089 options=None),
1090 _descriptor.FieldDescriptor(
1091 name='fiat_value', full_name='wallet.ExchangeRate.fiat_value', index=1,
1092 number=2, type=3, cpp_type=2, label=2,
1093 has_default_value=False, default_value=0,
1094 message_type=None, enum_type=None, containing_type=None,
1095 is_extension=False, extension_scope=None,
1096 options=None),
1097 _descriptor.FieldDescriptor(
1098 name='fiat_currency_code', full_name='wallet.ExchangeRate.fiat_currency_code', index=2,
1099 number=3, type=9, cpp_type=9, label=2,
1100 has_default_value=False, default_value=_b("").decode('utf-8'),
1101 message_type=None, enum_type=None, containing_type=None,
1102 is_extension=False, extension_scope=None,
1103 options=None),
1104 ],
1105 extensions=[
1106 ],
1107 nested_types=[],
1108 enum_types=[
1109 ],
1110 options=None,
1111 is_extendable=False,
1112 extension_ranges=[],
1113 oneofs=[
1114 ],
1115 serialized_start=3009,
1116 serialized_end=3091,
1117)
1118
1119_KEY.fields_by_name['type'].enum_type = _KEY_TYPE
1120_KEY.fields_by_name['encrypted_data'].message_type = _ENCRYPTEDDATA
1121_KEY.fields_by_name['deterministic_key'].message_type = _DETERMINISTICKEY
1122_KEY.fields_by_name['encrypted_deterministic_seed'].message_type = _ENCRYPTEDDATA
1123_KEY_TYPE.containing_type = _KEY
1124_TRANSACTIONCONFIDENCE.fields_by_name['type'].enum_type = _TRANSACTIONCONFIDENCE_TYPE
1125_TRANSACTIONCONFIDENCE.fields_by_name['broadcast_by'].message_type = _PEERADDRESS
1126_TRANSACTIONCONFIDENCE.fields_by_name['source'].enum_type = _TRANSACTIONCONFIDENCE_SOURCE
1127_TRANSACTIONCONFIDENCE_TYPE.containing_type = _TRANSACTIONCONFIDENCE
1128_TRANSACTIONCONFIDENCE_SOURCE.containing_type = _TRANSACTIONCONFIDENCE
1129_TRANSACTION.fields_by_name['pool'].enum_type = _TRANSACTION_POOL
1130_TRANSACTION.fields_by_name['transaction_input'].message_type = _TRANSACTIONINPUT
1131_TRANSACTION.fields_by_name['transaction_output'].message_type = _TRANSACTIONOUTPUT
1132_TRANSACTION.fields_by_name['confidence'].message_type = _TRANSACTIONCONFIDENCE
1133_TRANSACTION.fields_by_name['purpose'].enum_type = _TRANSACTION_PURPOSE
1134_TRANSACTION.fields_by_name['exchange_rate'].message_type = _EXCHANGERATE
1135_TRANSACTION_POOL.containing_type = _TRANSACTION
1136_TRANSACTION_PURPOSE.containing_type = _TRANSACTION
1137_WALLET.fields_by_name['key'].message_type = _KEY
1138_WALLET.fields_by_name['transaction'].message_type = _TRANSACTION
1139_WALLET.fields_by_name['watched_script'].message_type = _SCRIPT
1140_WALLET.fields_by_name['encryption_type'].enum_type = _WALLET_ENCRYPTIONTYPE
1141_WALLET.fields_by_name['encryption_parameters'].message_type = _SCRYPTPARAMETERS
1142_WALLET.fields_by_name['extension'].message_type = _EXTENSION
1143_WALLET.fields_by_name['tags'].message_type = _TAG
1144_WALLET.fields_by_name['transaction_signers'].message_type = _TRANSACTIONSIGNER
1145_WALLET_ENCRYPTIONTYPE.containing_type = _WALLET
1146DESCRIPTOR.message_types_by_name['PeerAddress'] = _PEERADDRESS
1147DESCRIPTOR.message_types_by_name['EncryptedData'] = _ENCRYPTEDDATA
1148DESCRIPTOR.message_types_by_name['DeterministicKey'] = _DETERMINISTICKEY
1149DESCRIPTOR.message_types_by_name['Key'] = _KEY
1150DESCRIPTOR.message_types_by_name['Script'] = _SCRIPT
1151DESCRIPTOR.message_types_by_name['TransactionInput'] = _TRANSACTIONINPUT
1152DESCRIPTOR.message_types_by_name['TransactionOutput'] = _TRANSACTIONOUTPUT
1153DESCRIPTOR.message_types_by_name['TransactionConfidence'] = _TRANSACTIONCONFIDENCE
1154DESCRIPTOR.message_types_by_name['Transaction'] = _TRANSACTION
1155DESCRIPTOR.message_types_by_name['ScryptParameters'] = _SCRYPTPARAMETERS
1156DESCRIPTOR.message_types_by_name['Extension'] = _EXTENSION
1157DESCRIPTOR.message_types_by_name['Tag'] = _TAG
1158DESCRIPTOR.message_types_by_name['TransactionSigner'] = _TRANSACTIONSIGNER
1159DESCRIPTOR.message_types_by_name['Wallet'] = _WALLET
1160DESCRIPTOR.message_types_by_name['ExchangeRate'] = _EXCHANGERATE
1161
1162PeerAddress = _reflection.GeneratedProtocolMessageType('PeerAddress', (_message.Message,), dict(
1163 DESCRIPTOR = _PEERADDRESS,
1164 __module__ = 'wallet_pb2'
1165 # @@protoc_insertion_point(class_scope:wallet.PeerAddress)
1166 ))
1167_sym_db.RegisterMessage(PeerAddress)
1168
1169EncryptedData = _reflection.GeneratedProtocolMessageType('EncryptedData', (_message.Message,), dict(
1170 DESCRIPTOR = _ENCRYPTEDDATA,
1171 __module__ = 'wallet_pb2'
1172 # @@protoc_insertion_point(class_scope:wallet.EncryptedData)
1173 ))
1174_sym_db.RegisterMessage(EncryptedData)
1175
1176DeterministicKey = _reflection.GeneratedProtocolMessageType('DeterministicKey', (_message.Message,), dict(
1177 DESCRIPTOR = _DETERMINISTICKEY,
1178 __module__ = 'wallet_pb2'
1179 # @@protoc_insertion_point(class_scope:wallet.DeterministicKey)
1180 ))
1181_sym_db.RegisterMessage(DeterministicKey)
1182
1183Key = _reflection.GeneratedProtocolMessageType('Key', (_message.Message,), dict(
1184 DESCRIPTOR = _KEY,
1185 __module__ = 'wallet_pb2'
1186 # @@protoc_insertion_point(class_scope:wallet.Key)
1187 ))
1188_sym_db.RegisterMessage(Key)
1189
1190Script = _reflection.GeneratedProtocolMessageType('Script', (_message.Message,), dict(
1191 DESCRIPTOR = _SCRIPT,
1192 __module__ = 'wallet_pb2'
1193 # @@protoc_insertion_point(class_scope:wallet.Script)
1194 ))
1195_sym_db.RegisterMessage(Script)
1196
1197TransactionInput = _reflection.GeneratedProtocolMessageType('TransactionInput', (_message.Message,), dict(
1198 DESCRIPTOR = _TRANSACTIONINPUT,
1199 __module__ = 'wallet_pb2'
1200 # @@protoc_insertion_point(class_scope:wallet.TransactionInput)
1201 ))
1202_sym_db.RegisterMessage(TransactionInput)
1203
1204TransactionOutput = _reflection.GeneratedProtocolMessageType('TransactionOutput', (_message.Message,), dict(
1205 DESCRIPTOR = _TRANSACTIONOUTPUT,
1206 __module__ = 'wallet_pb2'
1207 # @@protoc_insertion_point(class_scope:wallet.TransactionOutput)
1208 ))
1209_sym_db.RegisterMessage(TransactionOutput)
1210
1211TransactionConfidence = _reflection.GeneratedProtocolMessageType('TransactionConfidence', (_message.Message,), dict(
1212 DESCRIPTOR = _TRANSACTIONCONFIDENCE,
1213 __module__ = 'wallet_pb2'
1214 # @@protoc_insertion_point(class_scope:wallet.TransactionConfidence)
1215 ))
1216_sym_db.RegisterMessage(TransactionConfidence)
1217
1218Transaction = _reflection.GeneratedProtocolMessageType('Transaction', (_message.Message,), dict(
1219 DESCRIPTOR = _TRANSACTION,
1220 __module__ = 'wallet_pb2'
1221 # @@protoc_insertion_point(class_scope:wallet.Transaction)
1222 ))
1223_sym_db.RegisterMessage(Transaction)
1224
1225ScryptParameters = _reflection.GeneratedProtocolMessageType('ScryptParameters', (_message.Message,), dict(
1226 DESCRIPTOR = _SCRYPTPARAMETERS,
1227 __module__ = 'wallet_pb2'
1228 # @@protoc_insertion_point(class_scope:wallet.ScryptParameters)
1229 ))
1230_sym_db.RegisterMessage(ScryptParameters)
1231
1232Extension = _reflection.GeneratedProtocolMessageType('Extension', (_message.Message,), dict(
1233 DESCRIPTOR = _EXTENSION,
1234 __module__ = 'wallet_pb2'
1235 # @@protoc_insertion_point(class_scope:wallet.Extension)
1236 ))
1237_sym_db.RegisterMessage(Extension)
1238
1239Tag = _reflection.GeneratedProtocolMessageType('Tag', (_message.Message,), dict(
1240 DESCRIPTOR = _TAG,
1241 __module__ = 'wallet_pb2'
1242 # @@protoc_insertion_point(class_scope:wallet.Tag)
1243 ))
1244_sym_db.RegisterMessage(Tag)
1245
1246TransactionSigner = _reflection.GeneratedProtocolMessageType('TransactionSigner', (_message.Message,), dict(
1247 DESCRIPTOR = _TRANSACTIONSIGNER,
1248 __module__ = 'wallet_pb2'
1249 # @@protoc_insertion_point(class_scope:wallet.TransactionSigner)
1250 ))
1251_sym_db.RegisterMessage(TransactionSigner)
1252
1253Wallet = _reflection.GeneratedProtocolMessageType('Wallet', (_message.Message,), dict(
1254 DESCRIPTOR = _WALLET,
1255 __module__ = 'wallet_pb2'
1256 # @@protoc_insertion_point(class_scope:wallet.Wallet)
1257 ))
1258_sym_db.RegisterMessage(Wallet)
1259
1260ExchangeRate = _reflection.GeneratedProtocolMessageType('ExchangeRate', (_message.Message,), dict(
1261 DESCRIPTOR = _EXCHANGERATE,
1262 __module__ = 'wallet_pb2'
1263 # @@protoc_insertion_point(class_scope:wallet.ExchangeRate)
1264 ))
1265_sym_db.RegisterMessage(ExchangeRate)
1266
1267
1268DESCRIPTOR.has_options = True
1269DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023org.bitcoinj.walletB\006Protos'))
1270# @@protoc_insertion_point(module_scope)

Subscribers

People subscribed via source and target branches

to all changes: