Skip to content

wormholelabs-xyz/example-ntt-svm-lut

Repository files navigation

Example NTT SVM Address Lookup Table Program

A permission-less helper for NTT programs which don't have their own lookup tables.

The addition of a managed lookup table was added in Solana NTT v3.

It is assumed this helper is only needed for NTT managers prior to v3 which did not include a lookup table and bundled their manager and transceiver.

See luts.rs from the NTT repo for more background.

This software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Or plainly spoken - this is a very complex piece of software which targets a bleeding-edge, experimental smart contract runtime. Mistakes happen, and no matter how hard you try and whether you pay someone to audit it, it may eat your tokens, set your printer on fire or startle your cat. Cryptocurrencies are a high-risk investment, no matter how fancy.

Test

anchor test

Build

Ensure that the WORMHOLE_PROGRAM_ID in lib.rs is set to the appropriate Wormhole program ID.

solana-verify build

Deploy

solana program deploy -u <NETWORK> target/deploy/example_ntt_svm_lut.so --program-id target/deploy/example_ntt_svm_lut-keypair.json --with-compute-unit-price 1 --max-sign-attempts 100 --use-rpc -k ~/.config/solana/<KEYPAIR>.json

Verify

As of this writing, verification is only supported on mainnet.

solana-verify verify-from-repo --skip-build -u <NETWORK> --program-id 1uteB5DZdNfns9B12rgGf5msKh1d7FbbkvciWmhsZiC https://github.com/wormholelabs-xyz/example-ntt-svm-lut --commit-hash <COMMIT> --library-name example_ntt_svm_lut -k ~/.config/solana/<KEYPAIR>.json
solana-verify verify-from-repo --remote -u <NETWORK> --program-id 1uteB5DZdNfns9B12rgGf5msKh1d7FbbkvciWmhsZiC https://github.com/wormholelabs-xyz/example-ntt-svm-lut --commit-hash <COMMIT> --library-name example_ntt_svm_lut -k ~/.config/solana/<KEYPAIR>.json

Then init the IDL

anchor build
anchor idl init --provider.cluster <NETWORK> --provider.wallet ~/.config/solana/<KEYPAIR>.json -f target/idl/example_ntt_svm_lut.json 1uteB5DZdNfns9B12rgGf5msKh1d7FbbkvciWmhsZiC

⚠️ Only drop the upgrade authority after verifying the program is verified and the IDL has been uploaded! If devnet, you may want to keep these

anchor idl erase-authority --provider.cluster <NETWORK> --provider.wallet ~/.config/solana/<KEYPAIR>.json -p 1uteB5DZdNfns9B12rgGf5msKh1d7FbbkvciWmhsZiC
solana program set-upgrade-authority -u <NETWORK> -k ~/.config/solana/<KEYPAIR>.json 1uteB5DZdNfns9B12rgGf5msKh1d7FbbkvciWmhsZiC --final

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published