Files
Smart-game/relayer/src/program.ts
T

28 lines
976 B
TypeScript

import { Connection } from "@solana/web3.js";
import { AnchorProvider, Program, Wallet } from "@anchor-lang/core";
import { Keypair } from "@solana/web3.js";
import idl from "../idl/smart_updown.json";
import type { SmartUpdown } from "../idl/smart_updown";
/**
* Создаёт готовый клиент программы: Connection + AnchorProvider (подпись админа-
* релеера) + типизированный Program, собранный из IDL.
*/
export function makeProgram(
connection: Connection,
admin: Keypair
): Program<SmartUpdown> {
const provider = new AnchorProvider(
connection,
new Wallet(admin),
{ commitment: "confirmed", preflightCommitment: "confirmed" }
);
// IDL.address задаёт programId в рантайме.
return new Program<SmartUpdown>(idl as unknown as SmartUpdown, provider);
}
export function makeConnection(rpcUrl: string): Connection {
return new Connection(rpcUrl, "confirmed");
}