@ingocollatz/sdk-tests
Version:
97 lines (73 loc) • 2.6 kB
text/typescript
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);
// }
// })();