UNPKG

@ingocollatz/sdk-tests

Version:
97 lines (73 loc) 2.6 kB
import { SafeFactory } from "@safe-global/protocol-kit"; import { PRIVATE_KEY_1, PRIVATE_KEY_2, PRIVATE_KEY_3, PUBLIC_KEY_1, PUBLIC_KEY_2, PUBLIC_KEY_3 } from "../config"; import { EthersAdapter } from "@safe-global/protocol-kit"; import { ethers } from "ethers"; import { SdkConfig } from "@ingocollatz/sdk"; import Web3 from "web3"; import HDWalletProvider from "@truffle/hdwallet-provider"; import { Web3Adapter } from "@safe-global/protocol-kit"; // Ethers (async (): Promise<void> => { const provider = new ethers.providers.JsonRpcProvider(SdkConfig._rpcUrl); console.log("Initializing signers and EthersAdapter..."); const safeSigner1 = new ethers.Wallet(PRIVATE_KEY_1, provider); const safeSigner2 = new ethers.Wallet(PRIVATE_KEY_2, provider); const safeSigner3 = new ethers.Wallet(PRIVATE_KEY_3, provider); const ethAdapterOwner = new EthersAdapter({ ethers, signerOrProvider: safeSigner1, }); console.log("Creating a Safe Factory..."); const safeFactory = await SafeFactory.create({ ethAdapter: ethAdapterOwner }); console.log("Deploying a Safe..."); const safe = await safeFactory.deploySafe({ safeAccountConfig: { owners: [ await safeSigner1.getAddress(), await safeSigner2.getAddress(), await safeSigner3.getAddress(), ], threshold: 1, }, options: { gasLimit: 10000000, }, }); console.log("Successfully deployed Safe at: ", await safe.getAddress()); })(); // Web3 // const web3 = new Web3(); // (async (): Promise<void> => { // try { // console.log("Initializing HDWalletProvider..."); // const provider = new HDWalletProvider( // { // privateKeys: [PRIVATE_KEY_1.slice(2)], // providerOrUrl: SdkConfig._rpcUrl, // }, // ); // web3.setProvider(<any>provider); // console.log("Initializing EthersAdapter..."); // const ethAdapterOwner = new Web3Adapter({ // web3, // signerAddress: PUBLIC_KEY_1, // }); // provider.engine.stop(); // console.log("Creating a Safe Factory..."); // const safeFactory = await SafeFactory.create({ ethAdapter: ethAdapterOwner }); // console.log("Deploying a Safe..."); // const safe = await safeFactory.deploySafe({ // safeAccountConfig: { // owners: [ // PUBLIC_KEY_1, // PUBLIC_KEY_2, // PUBLIC_KEY_3, // ], // threshold: 1, // }, // }); // console.log("Successfully deployed Safe at: ", safe.getAddress()); // } catch (error) { // console.log(error); // } // })();