Skip to content

Commit

Permalink
free wasm objects
Browse files Browse the repository at this point in the history
  • Loading branch information
pedromtcosta committed Feb 6, 2023
1 parent eb01aec commit 0284007
Showing 1 changed file with 22 additions and 3 deletions.
25 changes: 22 additions & 3 deletions src/neo4j/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,17 @@ export const getAddressesByType = (addresses: string[]) => {
bech32OrBase58Addresses.push(address);
map[address] = address;

const byronAsBech32 = ByronAddress.from_base58(address).to_address().to_bech32(getBech32Prefix());
const byronAddress = ByronAddress.from_base58(address);
const actualAddress = byronAddress.to_address();

const byronAsBech32 = actualAddress.to_bech32(getBech32Prefix());

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

actualAddress.free();
byronAddress.free();

continue;
}

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

cred.free();
keyHash.free();

continue;
}

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

if (address.startsWith("stake") || address.startsWith("stake_test")) {
const actualAddress = Address.from_bech32(address);
const rewardAddress = RewardAddress.from_address(
Address.from_bech32(address)
actualAddress
);
if (rewardAddress) {
rewardAddresses.push(Buffer.from(rewardAddress.to_address().to_bytes()).toString("hex"));
const rewardAddressToAddress = rewardAddress.to_address();
rewardAddresses.push(Buffer.from(rewardAddressToAddress.to_bytes()).toString("hex"));
const cred = rewardAddress.payment_cred();
const keyHash = cred.to_keyhash();
if (keyHash) {
const hex = Buffer.from(keyHash.to_bytes()).toString("hex");

addrKeyHashes.push(hex);
map[hex] = address;
keyHash.free();
}
cred.free();
rewardAddressToAddress.free();
rewardAddress.free();
}
actualAddress.free();
continue;
}

Expand All @@ -83,7 +99,10 @@ export const getAddressesByType = (addresses: string[]) => {
const hex = Buffer.from(keyHash.to_bytes()).toString("hex");
addrKeyHashes.push(hex);
map[hex] = address;
keyHash.free();
}
cred.free();
rewardAddress.free();
}
} else if (/^[0-8]/.test(address)) {
const asBech32 = wasmAddr.to_bech32(getBech32Prefix());
Expand Down

0 comments on commit 0284007

Please sign in to comment.