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
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