@@ -21,11 +21,17 @@ export const getAddressesByType = (addresses: string[]) => {
21
21
bech32OrBase58Addresses . push ( address ) ;
22
22
map [ address ] = address ;
23
23
24
- const byronAsBech32 = ByronAddress . from_base58 ( address ) . to_address ( ) . to_bech32 ( getBech32Prefix ( ) ) ;
24
+ const byronAddress = ByronAddress . from_base58 ( address ) ;
25
+ const actualAddress = byronAddress . to_address ( ) ;
26
+
27
+ const byronAsBech32 = actualAddress . to_bech32 ( getBech32Prefix ( ) ) ;
25
28
26
29
bech32OrBase58Addresses . push ( byronAsBech32 ) ;
27
30
map [ byronAsBech32 ] = address ;
28
31
32
+ actualAddress . free ( ) ;
33
+ byronAddress . free ( ) ;
34
+
29
35
continue ;
30
36
}
31
37
@@ -37,6 +43,9 @@ export const getAddressesByType = (addresses: string[]) => {
37
43
paymentCreds . push ( hex ) ;
38
44
map [ hex ] = address ;
39
45
46
+ cred . free ( ) ;
47
+ keyHash . free ( ) ;
48
+
40
49
continue ;
41
50
}
42
51
@@ -49,20 +58,27 @@ export const getAddressesByType = (addresses: string[]) => {
49
58
}
50
59
51
60
if ( address . startsWith ( "stake" ) || address . startsWith ( "stake_test" ) ) {
61
+ const actualAddress = Address . from_bech32 ( address ) ;
52
62
const rewardAddress = RewardAddress . from_address (
53
- Address . from_bech32 ( address )
63
+ actualAddress
54
64
) ;
55
65
if ( rewardAddress ) {
56
- rewardAddresses . push ( Buffer . from ( rewardAddress . to_address ( ) . to_bytes ( ) ) . toString ( "hex" ) ) ;
66
+ const rewardAddressToAddress = rewardAddress . to_address ( ) ;
67
+ rewardAddresses . push ( Buffer . from ( rewardAddressToAddress . to_bytes ( ) ) . toString ( "hex" ) ) ;
57
68
const cred = rewardAddress . payment_cred ( ) ;
58
69
const keyHash = cred . to_keyhash ( ) ;
59
70
if ( keyHash ) {
60
71
const hex = Buffer . from ( keyHash . to_bytes ( ) ) . toString ( "hex" ) ;
61
72
62
73
addrKeyHashes . push ( hex ) ;
63
74
map [ hex ] = address ;
75
+ keyHash . free ( ) ;
64
76
}
77
+ cred . free ( ) ;
78
+ rewardAddressToAddress . free ( ) ;
79
+ rewardAddress . free ( ) ;
65
80
}
81
+ actualAddress . free ( ) ;
66
82
continue ;
67
83
}
68
84
@@ -83,7 +99,10 @@ export const getAddressesByType = (addresses: string[]) => {
83
99
const hex = Buffer . from ( keyHash . to_bytes ( ) ) . toString ( "hex" ) ;
84
100
addrKeyHashes . push ( hex ) ;
85
101
map [ hex ] = address ;
102
+ keyHash . free ( ) ;
86
103
}
104
+ cred . free ( ) ;
105
+ rewardAddress . free ( ) ;
87
106
}
88
107
} else if ( / ^ [ 0 - 8 ] / . test ( address ) ) {
89
108
const asBech32 = wasmAddr . to_bech32 ( getBech32Prefix ( ) ) ;
0 commit comments