Socket
Socket
Sign inDemoInstall

@klaytn/hardhat-utils

Package Overview
Dependencies
367
Maintainers
2
Versions
22
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.7 to 0.0.8

1

dist/src/helpers.d.ts

@@ -34,2 +34,3 @@ import type ethers from "ethers";

export declare function currentNetworkEIP3085(): Promise<any>;
export declare const extendHardhatEthers: ProxyHandler<any>;
export declare function getWallet(address: string): Promise<ethers.Wallet>;

@@ -36,0 +37,0 @@ export declare function getWallets(): Promise<ethers.Wallet[]>;

@@ -6,3 +6,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.runDockerCompose = exports.getWallets = exports.getWallet = exports.currentNetworkEIP3085 = exports.isDevDependency = exports.isFilePath = exports.sleep = exports.PluginError = exports.normalizeRpcResult = exports.normalizeCallResult = exports.resolveFuncArgs = exports.AmountArgType = exports.FromArgType = void 0;
exports.runDockerCompose = exports.getWallets = exports.getWallet = exports.extendHardhatEthers = exports.currentNetworkEIP3085 = exports.isDevDependency = exports.isFilePath = exports.sleep = exports.PluginError = exports.normalizeRpcResult = exports.normalizeCallResult = exports.resolveFuncArgs = exports.AmountArgType = exports.FromArgType = void 0;
const child_process_1 = __importDefault(require("child_process"));

@@ -135,2 +135,37 @@ const fs_1 = __importDefault(require("fs"));

exports.currentNetworkEIP3085 = currentNetworkEIP3085;
class propOverrideProxyHandler {
constructor(overrides) {
this.overrides = overrides;
}
get(target, prop, receiver) {
if (lodash_1.default.has(this.overrides, prop)) {
return this.overrides[prop];
}
return Reflect.get(target, prop, receiver);
}
getOwnPropertyDescriptor(target, prop) {
if (lodash_1.default.has(this.overrides, prop)) {
return {
enumerable: true,
writable: false,
value: this.overrides[prop]
};
}
return Reflect.getOwnPropertyDescriptor(target, prop);
}
has(target, prop) {
if (lodash_1.default.has(this.overrides, prop)) {
return true;
}
return Reflect.has(target, prop);
}
ownKeys(target) {
let keys = Reflect.ownKeys(target);
return lodash_1.default.concat(keys, lodash_1.default.keys(this.overrides));
}
}
exports.extendHardhatEthers = new propOverrideProxyHandler({
"getWallet": getWallet,
"getWallets": getWallets,
});
// Maps address => privateKey

@@ -137,0 +172,0 @@ let knownWallets = {};

6

dist/src/index.js

@@ -28,6 +28,4 @@ "use strict";

// Because hardhat-dodoc is a non-critical feature, don't check here.
// Extend hre.ethers
// See https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-ethers/src/internal/index.ts
hre.ethers.getWallet = helpers_1.getWallet;
hre.ethers.getWallets = helpers_1.getWallets;
// Lazy extend the `hre.ethers` object using the ES6 object Proxy
hre.ethers = new Proxy(hre.ethers, helpers_1.extendHardhatEthers);
});

@@ -34,0 +32,0 @@ __exportStar(require("./abi"), exports);

{
"name": "@klaytn/hardhat-utils",
"version": "0.0.7",
"version": "0.0.8",
"description": "Hardhat utility tasks",

@@ -5,0 +5,0 @@ "repository": "github:klaytn/hardhat-utils",

@@ -5,3 +5,4 @@ import type ethers from "ethers";

import { HardhatPluginError } from "hardhat/plugins";
import _ from "lodash";
import _, {over} from "lodash";
import { HardhatEthersHelpers } from "@nomiclabs/hardhat-ethers/types";
import { normalizeHardhatNetworkAccountsConfig } from "hardhat/internal/core/providers/util";

@@ -145,2 +146,52 @@ import { HardhatNetworkAccountConfig, HardhatNetworkHDAccountsConfig } from "hardhat/types";

// propOverrideProxyHandler is an ES6 ProxyHandler that addsa several readonly properties.
//
// See https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-ethers/src/internal/index.ts
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
// See node_modules/typescript/lib/lib.es2015.proxy.d.ts
type propOverrides = {[prop: PropertyKey]: any };
class propOverrideProxyHandler implements ProxyHandler<any> {
overrides: propOverrides;
constructor(overrides: propOverrides) {
this.overrides = overrides;
}
get(target: any, prop: PropertyKey, receiver: any) {
if (_.has(this.overrides, prop)) {
return this.overrides[prop];
}
return Reflect.get(target, prop, receiver);
}
getOwnPropertyDescriptor(target: any, prop: PropertyKey) {
if (_.has(this.overrides, prop)) {
return {
enumerable: true,
writable: false,
value: this.overrides[prop]
};
}
return Reflect.getOwnPropertyDescriptor(target, prop);
}
has(target: any, prop: PropertyKey) {
if (_.has(this.overrides, prop)) {
return true;
}
return Reflect.has(target, prop);
}
ownKeys(target: any): any[] {
let keys = Reflect.ownKeys(target);
return _.concat(keys, _.keys(this.overrides));
}
}
export const extendHardhatEthers: ProxyHandler<any> = new propOverrideProxyHandler({
"getWallet": getWallet,
"getWallets": getWallets,
});
// Maps address => privateKey

@@ -147,0 +198,0 @@ let knownWallets: { [key: string]: string } = {};

import { extendEnvironment } from "hardhat/config";
import { HardhatRuntimeEnvironment } from "hardhat/types";
import { getWallet, getWallets, PluginError } from "./helpers";
import { extendHardhatEthers, PluginError } from "./helpers";

@@ -16,6 +16,4 @@ import "./type-extensions";

// Extend hre.ethers
// See https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-ethers/src/internal/index.ts
hre.ethers.getWallet = getWallet;
hre.ethers.getWallets = getWallets;
// Lazy extend the `hre.ethers` object using the ES6 object Proxy
hre.ethers = new Proxy(hre.ethers, extendHardhatEthers);
});

@@ -22,0 +20,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc