const { ethers } = require("hardhat");
const { deployGSNContracts } = require("@opengsn/gsn/dist/src/jsrelay/relayclient/GSNConfigurator");
const { GsnBouncerClient } = require("@opengsn/gsn/dist/src/bouncers/GsnBouncerClient");

async function main() {
const provider = new ethers.providers.JsonRpcProvider();
const signer = provider.getSigner();

// Deploy the contracts
const [gsnRelayHub, gsnForwarder] = await deployGSNContracts(signer);

// Create a GsnBouncerClient
const gsnBouncerClient = new GsnBouncerClient({
forwarderAddress: gsnForwarder.address,
relayHubAddress: gsnRelayHub.address,
provider,
});

// Whitelist your contract to use the GSN
await gsnBouncerClient.whitelistTarget(process.env.CONTRACT_ADDRESS);
}

main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});

Apr 20, 2023, 8:56 AM
npx gsn-relay run
const { ethers } = require("hardhat");
const { useGSN } = require("@opengsn/gsn/dist/src/relayclient/GSNConfig");
const { GsnSigner } = require("@opengsn/gsn/dist/src/relayclient/GSNSigner");

async function main() {
const provider = new ethers.providers.JsonRpcProvider();
const signer = provider.getSigner();

// Use the GSN
Apr 20, 2023, 8:56 AM

© 2024 Draquery.com All rights reserved.