1
1
import pytest
2
2
3
- from pycardano .address import Address
3
+ from pycardano .address import Address , PointerAddress
4
4
from pycardano .crypto .bip32 import HDWallet
5
5
from pycardano .key import PaymentVerificationKey
6
6
from pycardano .network import Network
@@ -88,11 +88,10 @@ def test_payment_address_12_reward():
88
88
def test_payment_address_12_reward2_incorrect_index_value ():
89
89
wrong_index_type = "1815"
90
90
with pytest .raises (ValueError ):
91
- HDWallet .from_mnemonic (MNEMONIC_12 )\
92
- .derive (wrong_index_type , hardened = True )
91
+ HDWallet .from_mnemonic (MNEMONIC_12 ).derive (wrong_index_type , hardened = True )
93
92
94
93
95
- def test_payment_address_12_reward2 ():
94
+ def test_payment_address_12_reward_full_public_derivation ():
96
95
hdwallet_stake = (
97
96
HDWallet .from_mnemonic (MNEMONIC_12 )
98
97
.derive (1852 , hardened = True )
@@ -132,17 +131,17 @@ def test_payment_address_12_reward2_full_private_derivation():
132
131
stake_vk = PaymentVerificationKey .from_primitive (stake_public_key )
133
132
134
133
assert (
135
- Address (
136
- payment_part = None , staking_part = stake_vk .hash (), network = Network .TESTNET
137
- ).encode ()
138
- == "stake_test1uqevw2xnsc0pvn9t9r9c7qryfqfeerchgrlm3ea2nefr9hqp8n5xl"
134
+ Address (
135
+ payment_part = None , staking_part = stake_vk .hash (), network = Network .TESTNET
136
+ ).encode ()
137
+ == "stake_test1uqevw2xnsc0pvn9t9r9c7qryfqfeerchgrlm3ea2nefr9hqp8n5xl"
139
138
)
140
139
141
140
assert (
142
- Address (
143
- payment_part = None , staking_part = stake_vk .hash (), network = Network .MAINNET
144
- ).encode ()
145
- == "stake1uyevw2xnsc0pvn9t9r9c7qryfqfeerchgrlm3ea2nefr9hqxdekzz"
141
+ Address (
142
+ payment_part = None , staking_part = stake_vk .hash (), network = Network .MAINNET
143
+ ).encode ()
144
+ == "stake1uyevw2xnsc0pvn9t9r9c7qryfqfeerchgrlm3ea2nefr9hqxdekzz"
146
145
)
147
146
148
147
@@ -167,6 +166,44 @@ def test_payment_address_12_base():
167
166
)
168
167
169
168
169
+ def test_payment_address_12_enterprise ():
170
+ hdwallet = HDWallet .from_mnemonic (MNEMONIC_12 )
171
+ hdwallet_spend = hdwallet .derive_from_path ("m/1852'/1815'/0'/0/0" )
172
+ spend_public_key = hdwallet_spend .public_key
173
+ spend_vk = PaymentVerificationKey .from_primitive (spend_public_key )
174
+
175
+ assert (
176
+ Address (spend_vk .hash (), network = Network .TESTNET ).encode ()
177
+ == "addr_test1vz2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzerspjrlsz"
178
+ )
179
+
180
+ assert (
181
+ Address (spend_vk .hash (), network = Network .MAINNET ).encode ()
182
+ == "addr1vx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzers66hrl8"
183
+ )
184
+
185
+
186
+ def test_payment_address_12_pointer ():
187
+ hdwallet = HDWallet .from_mnemonic (MNEMONIC_12 )
188
+ hdwallet_spend = hdwallet .derive_from_path ("m/1852'/1815'/0'/0/0" )
189
+ spend_public_key = hdwallet_spend .public_key
190
+ spend_vk = PaymentVerificationKey .from_primitive (spend_public_key )
191
+
192
+ assert (
193
+ Address (
194
+ spend_vk .hash (), PointerAddress (1 , 2 , 3 ), network = Network .TESTNET
195
+ ).encode ()
196
+ == "addr_test1gz2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzerspqgpsqe70et"
197
+ )
198
+
199
+ assert (
200
+ Address (
201
+ spend_vk .hash (), PointerAddress (24157 , 177 , 42 ), network = Network .MAINNET
202
+ ).encode ()
203
+ == "addr1gx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer5ph3wczvf2w8lunk"
204
+ )
205
+
206
+
170
207
def test_payment_address_15_base ():
171
208
hdwallet = HDWallet .from_mnemonic (MNEMONIC_15 )
172
209
hdwallet_spend = hdwallet .derive_from_path ("m/1852'/1815'/0'/0/0" )
@@ -188,6 +225,44 @@ def test_payment_address_15_base():
188
225
)
189
226
190
227
228
+ def test_payment_address_15_enterprise ():
229
+ hdwallet = HDWallet .from_mnemonic (MNEMONIC_15 )
230
+ hdwallet_spend = hdwallet .derive_from_path ("m/1852'/1815'/0'/0/0" )
231
+ spend_public_key = hdwallet_spend .public_key
232
+ spend_vk = PaymentVerificationKey .from_primitive (spend_public_key )
233
+
234
+ assert (
235
+ Address (spend_vk .hash (), network = Network .TESTNET ).encode ()
236
+ == "addr_test1vpu5vlrf4xkxv2qpwngf6cjhtw542ayty80v8dyr49rf5eg57c2qv"
237
+ )
238
+
239
+ assert (
240
+ Address (spend_vk .hash (), network = Network .MAINNET ).encode ()
241
+ == "addr1v9u5vlrf4xkxv2qpwngf6cjhtw542ayty80v8dyr49rf5eg0kvk0f"
242
+ )
243
+
244
+
245
+ def test_payment_address_15_pointer ():
246
+ hdwallet = HDWallet .from_mnemonic (MNEMONIC_15 )
247
+ hdwallet_spend = hdwallet .derive_from_path ("m/1852'/1815'/0'/0/0" )
248
+ spend_public_key = hdwallet_spend .public_key
249
+ spend_vk = PaymentVerificationKey .from_primitive (spend_public_key )
250
+
251
+ assert (
252
+ Address (
253
+ spend_vk .hash (), PointerAddress (1 , 2 , 3 ), network = Network .TESTNET
254
+ ).encode ()
255
+ == "addr_test1gpu5vlrf4xkxv2qpwngf6cjhtw542ayty80v8dyr49rf5egpqgpsdhdyc0"
256
+ )
257
+
258
+ assert (
259
+ Address (
260
+ spend_vk .hash (), PointerAddress (24157 , 177 , 42 ), network = Network .MAINNET
261
+ ).encode ()
262
+ == "addr1g9u5vlrf4xkxv2qpwngf6cjhtw542ayty80v8dyr49rf5evph3wczvf2kd5vam"
263
+ )
264
+
265
+
191
266
def test_payment_address_24_base ():
192
267
hdwallet = HDWallet .from_mnemonic (MNEMONIC_24 )
193
268
hdwallet_spend = hdwallet .derive_from_path ("m/1852'/1815'/0'/0/0" )
@@ -209,6 +284,44 @@ def test_payment_address_24_base():
209
284
)
210
285
211
286
287
+ def test_payment_address_24_enterprise ():
288
+ hdwallet = HDWallet .from_mnemonic (MNEMONIC_24 )
289
+ hdwallet_spend = hdwallet .derive_from_path ("m/1852'/1815'/0'/0/0" )
290
+ spend_public_key = hdwallet_spend .public_key
291
+ spend_vk = PaymentVerificationKey .from_primitive (spend_public_key )
292
+
293
+ assert (
294
+ Address (spend_vk .hash (), network = Network .TESTNET ).encode ()
295
+ == "addr_test1vqy6nhfyks7wdu3dudslys37v252w2nwhv0fw2nfawemmnqtjtf68"
296
+ )
297
+
298
+ assert (
299
+ Address (spend_vk .hash (), network = Network .MAINNET ).encode ()
300
+ == "addr1vyy6nhfyks7wdu3dudslys37v252w2nwhv0fw2nfawemmnqs6l44z"
301
+ )
302
+
303
+
304
+ def test_payment_address_24_pointer ():
305
+ hdwallet = HDWallet .from_mnemonic (MNEMONIC_24 )
306
+ hdwallet_spend = hdwallet .derive_from_path ("m/1852'/1815'/0'/0/0" )
307
+ spend_public_key = hdwallet_spend .public_key
308
+ spend_vk = PaymentVerificationKey .from_primitive (spend_public_key )
309
+
310
+ assert (
311
+ Address (
312
+ spend_vk .hash (), PointerAddress (1 , 2 , 3 ), network = Network .TESTNET
313
+ ).encode ()
314
+ == "addr_test1gqy6nhfyks7wdu3dudslys37v252w2nwhv0fw2nfawemmnqpqgps5mee0p"
315
+ )
316
+
317
+ assert (
318
+ Address (
319
+ spend_vk .hash (), PointerAddress (24157 , 177 , 42 ), network = Network .MAINNET
320
+ ).encode ()
321
+ == "addr1gyy6nhfyks7wdu3dudslys37v252w2nwhv0fw2nfawemmnyph3wczvf2dqflgt"
322
+ )
323
+
324
+
212
325
def test_payment_address_12_reward_from_entropy ():
213
326
hdwallet = HDWallet .from_entropy (MNEMONIC_12_ENTROPY )
214
327
hdwallet_stake = hdwallet .derive_from_path ("m/1852'/1815'/0'/2/0" )
0 commit comments