New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@opengsn/common

Package Overview
Dependencies
Maintainers
2
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@opengsn/common - npm Package Compare versions

Comparing version 3.0.0-beta.4 to 3.0.0-beta.5

30

dist/ContractInteractor.js

@@ -1032,17 +1032,33 @@ "use strict";

async calculateDryRunCallGasLimit(paymasterAddress, workerAddress, maxFeePerGas, maxViewableGasLimit, minViewableGasLimit) {
const paymasterBalance = await this.hubBalanceOf(paymasterAddress);
let workerBalance = Constants_1.constants.MAX_UINT256; // skipping worker address balance check in dry-run
let workerBalanceMessage = '';
if (!(0, Utils_1.isSameAddress)(workerAddress, Constants_1.constants.DRY_RUN_ADDRESS)) {
const workerBalanceStr = await this.getBalance(workerAddress, 'pending');
workerBalance = (0, Web3JSUtils_1.toBN)(workerBalanceStr);
workerBalanceMessage = `Worker balance: ${workerBalance.toString()}\n`;
}
if (maxFeePerGas.eqn(0)) {
// using base fee override to avoid division by zero
maxFeePerGas = (0, Web3JSUtils_1.toBN)((await this.getGasFees(5, 50)).baseFeePerGas);
}
const workerBalanceGasLimit = workerBalance.div(maxFeePerGas)
.muln(9).divn(10); // hard-coded to use 90% of available worker/paymaster balance
const smallerBalance = bn_js_1.default.min(paymasterBalance, workerBalance);
const pctRelayFeeDev = (0, Web3JSUtils_1.toBN)(this.relayHubConfiguration.pctRelayFee.toString()).addn(100);
const smallerBalanceGasLimit = smallerBalance.div(maxFeePerGas)
.muln(100)
.div(pctRelayFeeDev)
.muln(3).divn(4); // hard-coded to use 75% of available worker/paymaster balance
const blockGasLimitNum = await this.getBlockGasLimit();
const blockGasLimit = (0, Web3JSUtils_1.toBN)(blockGasLimitNum)
.muln(3).divn(4); // hard-coded to use 75% of available block gas limit
return bn_js_1.default.max(minViewableGasLimit, bn_js_1.default.min(maxViewableGasLimit, bn_js_1.default.min(workerBalanceGasLimit, blockGasLimit)));
const warningMessage = workerBalanceMessage +
`Paymaster balance: ${paymasterBalance.toString()}\n` +
`This is only enough for ${smallerBalanceGasLimit.toString()} gas for a view call at ${maxFeePerGas.toString()} per gas.\n` +
`Also, block gas limit is: ${blockGasLimit.toString()}\n`;
if (smallerBalanceGasLimit.lt(minViewableGasLimit)) {
this.logger.warn(warningMessage +
`Limiting the view call to minViewableGasLimit (${minViewableGasLimit.toString()}) but successful relaying is not likely.`);
return minViewableGasLimit;
}
const minimalLimit = bn_js_1.default.min(maxViewableGasLimit, bn_js_1.default.min(smallerBalanceGasLimit, blockGasLimit));
if (minimalLimit.eq(smallerBalanceGasLimit)) {
this.logger.warn(warningMessage);
}
return minimalLimit;
}

@@ -1049,0 +1065,0 @@ }

{
"name": "@opengsn/common",
"version": "3.0.0-beta.4",
"version": "3.0.0-beta.5",
"license": "Apache-2.0",

@@ -28,3 +28,3 @@ "main": "dist/index.js",

"@metamask/eth-sig-util": "^4.0.1",
"@opengsn/contracts": "^3.0.0-beta.4",
"@opengsn/contracts": "^3.0.0-beta.5",
"@types/bn.js": "^5.1.0",

@@ -43,3 +43,3 @@ "@types/semver": "^7.3.4",

},
"gitHead": "ea0c6eef34c1fa551711deb85680349eff715e9d"
"gitHead": "59ef288b38d2988bb42c816a55d1890ede93b8c7"
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc