Skip to content

Solana Chain Signatures Contract

The Solana Chain Signatures Contract provides an implementation of the abstract ChainSignatureContract for Solana-based blockchains using Anchor and Solana's Web3.js. It enables interaction with Chain Signatures programs deployed on Solana.

Usage

import { contracts, constants } from 'signet.js'
import { AnchorProvider, Wallet } from '@coral-xyz/anchor'
import { Connection, PublicKey, Keypair } from '@solana/web3.js'
 
const connection = new Connection('https://api.devnet.solana.com')
const wallet = new Wallet(/* Use your actual keypair here */ Keypair.generate())
const provider = new AnchorProvider(connection, wallet, AnchorProvider.defaultOptions())
 
const contract = new contracts.solana.ChainSignatureContract({
  provider,
  programId: new PublicKey(constants.CONTRACT_ADDRESSES.SOLANA.TESTNET_DEV),
})

Parameters

ParameterTypeDescription
argsobjectConfiguration options for the contract
args.providerAnchorProviderAnchor provider instance for interacting with Solana
args.programIdstring | PublicKeyThe program ID of the deployed ChainSignatures program
args.rootPublicKey?NajPublicKeyOptional root public key; derived from program ID if not provided
args.requesterAddress?stringOptional requester wallet address. If not provided, defaults to the wallet address. Fee payer is always the wallet address.