Skip to content

Commit 0284007

Browse files
committed
free wasm objects
1 parent eb01aec commit 0284007

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

Diff for: src/neo4j/utils.ts

+22-3
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,17 @@ export const getAddressesByType = (addresses: string[]) => {
2121
bech32OrBase58Addresses.push(address);
2222
map[address] = address;
2323

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());
2528

2629
bech32OrBase58Addresses.push(byronAsBech32);
2730
map[byronAsBech32] = address;
2831

32+
actualAddress.free();
33+
byronAddress.free();
34+
2935
continue;
3036
}
3137

@@ -37,6 +43,9 @@ export const getAddressesByType = (addresses: string[]) => {
3743
paymentCreds.push(hex);
3844
map[hex] = address;
3945

46+
cred.free();
47+
keyHash.free();
48+
4049
continue;
4150
}
4251

@@ -49,20 +58,27 @@ export const getAddressesByType = (addresses: string[]) => {
4958
}
5059

5160
if (address.startsWith("stake") || address.startsWith("stake_test")) {
61+
const actualAddress = Address.from_bech32(address);
5262
const rewardAddress = RewardAddress.from_address(
53-
Address.from_bech32(address)
63+
actualAddress
5464
);
5565
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"));
5768
const cred = rewardAddress.payment_cred();
5869
const keyHash = cred.to_keyhash();
5970
if (keyHash) {
6071
const hex = Buffer.from(keyHash.to_bytes()).toString("hex");
6172

6273
addrKeyHashes.push(hex);
6374
map[hex] = address;
75+
keyHash.free();
6476
}
77+
cred.free();
78+
rewardAddressToAddress.free();
79+
rewardAddress.free();
6580
}
81+
actualAddress.free();
6682
continue;
6783
}
6884

@@ -83,7 +99,10 @@ export const getAddressesByType = (addresses: string[]) => {
8399
const hex = Buffer.from(keyHash.to_bytes()).toString("hex");
84100
addrKeyHashes.push(hex);
85101
map[hex] = address;
102+
keyHash.free();
86103
}
104+
cred.free();
105+
rewardAddress.free();
87106
}
88107
} else if (/^[0-8]/.test(address)) {
89108
const asBech32 = wasmAddr.to_bech32(getBech32Prefix());

0 commit comments

Comments
 (0)