From 2c26066a491af791581c89242c9713f669f8484a Mon Sep 17 00:00:00 2001 From: 0xmountaintop <37070449+0xmountaintop@users.noreply.github.com> Date: Wed, 4 Dec 2024 19:46:15 +1100 Subject: [PATCH 1/2] cache addressLookupTableAccount --- src/index.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/index.ts b/src/index.ts index 2c84f42..e1003a9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,6 +2,7 @@ import "dotenv/config"; import { getKeypairFromEnvironment } from "@solana-developers/helpers"; import axios from "axios"; import { + AddressLookupTableAccount, Connection, PublicKey, VersionedTransaction, @@ -39,6 +40,8 @@ function instructionFormat(instruction) { }; } +let addressLookupTables: { [key: string]: AddressLookupTableAccount[] } = {}; + async function run() { const start = Date.now(); @@ -127,7 +130,12 @@ async function run() { // ALT const addressLookupTableAccounts = await Promise.all( instructions.addressLookupTableAddresses.map(async (address) => { + if (addressLookupTables[address]) { + return addressLookupTables[address]; + } + const result = await connection.getAddressLookupTable(new PublicKey(address)); + addressLookupTables[address] = result.value; return result.value; }) ); From 7ae89570b4c570b6b84b81cf8deb00e6aee6d8ab Mon Sep 17 00:00:00 2001 From: 0xmountaintop <37070449+0xmountaintop@users.noreply.github.com> Date: Thu, 5 Dec 2024 22:20:31 +1100 Subject: [PATCH 2/2] improve --- src/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index e1003a9..36d2d82 100644 --- a/src/index.ts +++ b/src/index.ts @@ -135,7 +135,9 @@ async function run() { } const result = await connection.getAddressLookupTable(new PublicKey(address)); - addressLookupTables[address] = result.value; + if (result.value) { + addressLookupTables[address] = result.value; + } return result.value; }) );