From 7f45aa100fa4d0961bec4798a914a46b0f6b4b5d Mon Sep 17 00:00:00 2001 From: aboudjem Date: Thu, 9 Nov 2023 01:34:45 +0400 Subject: [PATCH 1/5] =?UTF-8?q?=F0=9F=94=A5=20remove=20console=20logs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/helpers/MockChainlinkAggregator.sol | 2 +- .../environment/deployEntrypoint.ts | 1 - .../biconomy-verifying-paymaster-specs.ts | 8 -- .../biconomy-token-paymaster-specs.ts | 78 +------------------ test/token-paymaster/btpm-coverage-specs.ts | 27 ------- .../token-paymaster/btpm-undeployed-wallet.ts | 75 +----------------- .../oracle-aggregator-specs.ts | 25 +----- test/utils/userOp.ts | 2 - 8 files changed, 6 insertions(+), 212 deletions(-) diff --git a/contracts/test/helpers/MockChainlinkAggregator.sol b/contracts/test/helpers/MockChainlinkAggregator.sol index b1f57ff..9e29ba0 100644 --- a/contracts/test/helpers/MockChainlinkAggregator.sol +++ b/contracts/test/helpers/MockChainlinkAggregator.sol @@ -109,7 +109,7 @@ contract MockChainlinkOracleAggregator is Ownable, IOracleAggregator { (bool success, bytes memory ret) = tokensInfo[token] .callAddress .staticcall(tokensInfo[token].callData); - console.log("price feed reverted here? success = %s ", success); + require(success, "ChainlinkOracleAggregator:: query failed"); if (tokensInfo[token].dataSigned) { tokenPriceUnadjusted = uint256(abi.decode(ret, (int256))); diff --git a/test/bundler-integration/environment/deployEntrypoint.ts b/test/bundler-integration/environment/deployEntrypoint.ts index 69d02e5..be5d80f 100644 --- a/test/bundler-integration/environment/deployEntrypoint.ts +++ b/test/bundler-integration/environment/deployEntrypoint.ts @@ -11,7 +11,6 @@ if (require.main === module) { await BundlerTestEnvironment.getDefaultInstance(); const [deployer] = await ethers.getSigners(); const entrypoint = await new EntryPoint__factory(deployer).deploy(); - console.log("Entrypoint deployed at", entrypoint.address); await promises.writeFile(envPath, `ENTRYPOINT=${entrypoint.address}`); })(); } diff --git a/test/sponsorship-paymaster/biconomy-verifying-paymaster-specs.ts b/test/sponsorship-paymaster/biconomy-verifying-paymaster-specs.ts index 302af57..d187f1b 100644 --- a/test/sponsorship-paymaster/biconomy-verifying-paymaster-specs.ts +++ b/test/sponsorship-paymaster/biconomy-verifying-paymaster-specs.ts @@ -118,20 +118,14 @@ describe("EntryPoint with VerifyingPaymaster Singleton", function () { ); walletAddress = expected; - console.log(" wallet address ", walletAddress); paymasterAddress = verifyingSingletonPaymaster.address; - console.log("Paymaster address is ", paymasterAddress); await verifyingSingletonPaymaster .connect(deployer) .addStake(86400, { value: parseEther("2") }); - console.log("paymaster staked"); await entryPoint.depositTo(paymasterAddress, { value: parseEther("1") }); - - // const resultSet = await entryPoint.getDepositInfo(paymasterAddress); - // console.log("deposited state ", resultSet); }); async function getUserOpWithPaymasterInfo(paymasterId: string) { @@ -170,7 +164,6 @@ describe("EntryPoint with VerifyingPaymaster Singleton", function () { describe("#validatePaymasterUserOp", () => { it("Should Fail when there is no deposit for paymaster id", async () => { const paymasterId = await depositorSigner.getAddress(); - console.log("paymaster Id ", paymasterId); const userOp = await getUserOpWithPaymasterInfo(paymasterId); const signatureWithModuleAddress = ethers.utils.defaultAbiCoder.encode( @@ -180,7 +173,6 @@ describe("EntryPoint with VerifyingPaymaster Singleton", function () { userOp.signature = signatureWithModuleAddress; - console.log("entrypoint ", entryPoint.address); await expect( entryPoint.callStatic.simulateValidation(userOp) // ).to.be.revertedWith("FailedOp"); diff --git a/test/token-paymaster/biconomy-token-paymaster-specs.ts b/test/token-paymaster/biconomy-token-paymaster-specs.ts index d8b7d93..bbef1c5 100644 --- a/test/token-paymaster/biconomy-token-paymaster-specs.ts +++ b/test/token-paymaster/biconomy-token-paymaster-specs.ts @@ -48,11 +48,8 @@ const MOCK_VALID_AFTER = "0x0000000000001234"; const MOCK_SIG = "0x1234"; const MOCK_ERC20_ADDR = "0x" + "01".repeat(20); const DEFAULT_FEE_MARKUP = 1100000; -// Assume TOKEN decimals is 18, then 1 ETH = 1000 TOKENS -// const MOCK_FX = ethers.constants.WeiPerEther.mul(1000); const MOCK_FX: BigNumberish = "977100"; // matic to usdc approx -console.log("MOCK FX ", MOCK_FX); // 1000000000000000000000 export async function deployEntryPoint( provider = ethers.provider @@ -146,7 +143,7 @@ describe("Biconomy Token Paymaster", function () { const MockToken = await ethers.getContractFactory("MockToken"); token = await MockToken.deploy(); await token.deployed(); - console.log("Test token deployed at: ", token.address); + const usdcMaticPriceFeedMock = await new MockPriceFeed__factory( deployer @@ -171,8 +168,6 @@ describe("Biconomy Token Paymaster", function () { const priceResult = await oracleAggregator.getTokenValueOfOneNativeToken( token.address ); - console.log("priceResult"); - console.log(priceResult); sampleTokenPaymaster = await new BiconomyTokenPaymaster__factory( deployer @@ -214,24 +209,18 @@ describe("Biconomy Token Paymaster", function () { smartAccountDeploymentIndex ); - console.log("mint tokens to owner address.."); await token.mint(walletOwnerAddress, ethers.utils.parseEther("1000000")); walletAddress = expected; - console.log(" wallet address ", walletAddress); paymasterAddress = sampleTokenPaymaster.address; - console.log("Paymaster address is ", paymasterAddress); + await sampleTokenPaymaster .connect(deployer) .addStake(1, { value: parseEther("2") }); - console.log("paymaster staked"); await entryPoint.depositTo(paymasterAddress, { value: parseEther("2") }); - - // const resultSet = await entryPoint.getDepositInfo(paymasterAddress); - // console.log("deposited state ", resultSet); }); describe("Token Payamster read methods and state checks", () => { @@ -269,13 +258,6 @@ describe("Biconomy Token Paymaster", function () { const feeReceiver = await sampleTokenPaymaster.feeReceiver(); - console.log( - "current values from contracts", - owner, - verifyingSigner, - feeReceiver - ); - expect(owner).to.be.equal(await walletOwner.getAddress()); expect(verifyingSigner).to.be.equal(await offchainSigner.getAddress()); expect(feeReceiver).to.be.equal(paymasterAddress); @@ -375,57 +357,22 @@ describe("Biconomy Token Paymaster", function () { .add(userOp.preVerificationGas) .mul(userOp.maxFeePerGas); - console.log("required prefund ", requiredPrefund.toString()); - - const initBalance = await token.balanceOf(paymasterAddress); - console.log("fee receiver token balance before ", initBalance.toString()); const preTokenBalanceForAccount = await token.balanceOf(walletAddress); - console.log( - "smart account erc20 balance before", - preTokenBalanceForAccount.toString() - ); - const tx = await entryPoint.handleOps( [userOp], await offchainSigner.getAddress() ); const receipt = await tx.wait(); - console.log( - "fees paid in native ", - receipt.effectiveGasPrice.mul(receipt.gasUsed).toString() - ); - console.log("gas used "); - console.log(receipt.gasUsed.toNumber()); const postBalance = await token.balanceOf(paymasterAddress); - console.log("fee receiver token balance after ", postBalance.toString()); const postTokenBalanceForAccount = await token.balanceOf(walletAddress); - console.log( - "smart account erc20 balance after", - postTokenBalanceForAccount.toString() - ); - - console.log( - "required prefund in token terms ", - requiredPrefund - .mul(MOCK_FX) - .div(ethers.constants.WeiPerEther) - .toString() - ); const ev = await getUserOpEvent(entryPoint); expect(ev.args.success).to.be.true; - /* expect(postBalance.sub(initBalance)).to.be.greaterThan( - ethers.constants.Zero - ); - expect(postBalance.sub(initBalance)).to.be.lessThanOrEqual( - requiredPrefund.mul(MOCK_FX).div(ethers.constants.WeiPerEther) - ); */ - await expect( entryPoint.handleOps([userOp], await offchainSigner.getAddress()) ).to.be.reverted; @@ -845,14 +792,6 @@ describe("Biconomy Token Paymaster", function () { let owner = await sampleTokenPaymaster.owner(); - console.log( - "current values from contracts", - verifyingSigner, - feeReceiver, - unaccountedCost, - owner - ); - await sampleTokenPaymaster .connect(ethersSigner[0]) .setFeeReceiver(newFeeReceiver); @@ -892,26 +831,16 @@ describe("Biconomy Token Paymaster", function () { const etherBalanceBefore = await ethers.provider.getBalance( withdrawAddress ); - console.log("balance before ", etherBalanceBefore.toString()); const tokenBalanceBefore = await token.balanceOf(withdrawAddress); - console.log("token balance before ", tokenBalanceBefore.toString()); const currentGasDeposited = await sampleTokenPaymaster.deposit(); - console.log( - "current gas in Entry Point ", - currentGasDeposited.toString() - ); await sampleTokenPaymaster .connect(ethersSigner[6]) .withdrawTo(withdrawAddress, ethers.utils.parseEther("0.2")); const gasasDepositedAfter = await sampleTokenPaymaster.deposit(); - console.log( - "current gas in Entry Point ", - gasasDepositedAfter.toString() - ); await expect( sampleTokenPaymaster @@ -922,14 +851,12 @@ describe("Biconomy Token Paymaster", function () { const etherBalanceAfter = await ethers.provider.getBalance( withdrawAddress ); - console.log("balance after ", etherBalanceBefore.toString()); expect( etherBalanceBefore.add(ethers.utils.parseEther("0.2")) ).to.be.equal(etherBalanceAfter); const collectedTokens = await token.balanceOf(paymasterAddress); - console.log("collected tokens ", collectedTokens); await expect( sampleTokenPaymaster @@ -942,7 +869,6 @@ describe("Biconomy Token Paymaster", function () { .withdrawERC20(token.address, withdrawAddress, collectedTokens); const tokenBalanceAfter = await token.balanceOf(withdrawAddress); - console.log("token balance after ", tokenBalanceAfter.toString()); expect(tokenBalanceBefore.add(collectedTokens)).to.be.equal( tokenBalanceAfter diff --git a/test/token-paymaster/btpm-coverage-specs.ts b/test/token-paymaster/btpm-coverage-specs.ts index fc9faad..7282cf8 100644 --- a/test/token-paymaster/btpm-coverage-specs.ts +++ b/test/token-paymaster/btpm-coverage-specs.ts @@ -43,11 +43,8 @@ export const AddressZero = ethers.constants.AddressZero; const MOCK_VALID_UNTIL = "0x00000000deadbeef"; const MOCK_VALID_AFTER = "0x0000000000001234"; -// Assume TOKEN decimals is 18, then 1 ETH = 1000 TOKENS -// const MOCK_FX = ethers.constants.WeiPerEther.mul(1000); const MOCK_FX: BigNumberish = "977100"; // matic to usdc approx -console.log("MOCK FX ", MOCK_FX); // 1000000000000000000000 export async function deployEntryPoint( provider = ethers.provider @@ -149,7 +146,6 @@ describe("Biconomy Token Paymaster", function () { const MockToken = await ethers.getContractFactory("MockToken"); token = await MockToken.deploy(); await token.deployed(); - console.log("Test token deployed at: ", token.address); const usdcMaticPriceFeedMock = await new MockPriceFeed__factory( deployer @@ -174,8 +170,6 @@ describe("Biconomy Token Paymaster", function () { const priceResult = await oracleAggregator.getTokenValueOfOneNativeToken( token.address ); - console.log("priceResult"); - console.log(priceResult); sampleTokenPaymaster = await new BiconomyTokenPaymaster__factory( deployer @@ -217,24 +211,19 @@ describe("Biconomy Token Paymaster", function () { smartAccountDeploymentIndex ); - console.log("mint tokens to owner address.."); await token.mint(walletOwnerAddress, ethers.utils.parseEther("1000000")); walletAddress = expected; - console.log(" wallet address ", walletAddress); paymasterAddress = sampleTokenPaymaster.address; - console.log("Paymaster address is ", paymasterAddress); await sampleTokenPaymaster .connect(deployer) .addStake(1, { value: parseEther("2") }); - console.log("paymaster staked"); await entryPoint.depositTo(paymasterAddress, { value: parseEther("2") }); const resultSet = await entryPoint.getDepositInfo(paymasterAddress); - console.log("deposited state ", resultSet); }); describe("Token Payamster Staking + Gas deposits / withdraw", () => { @@ -242,14 +231,11 @@ describe("Biconomy Token Paymaster", function () { await sampleTokenPaymaster .connect(deployer) .addStake(1, { value: parseEther("2") }); - - console.log("paymaster staked"); }); }); describe("Pull: ether / tokens recovery", () => { it("only owner should be able to pull tokens, withdraw gas", async () => { - // paymaster can receive eth await deployer.sendTransaction({ to: paymasterAddress, value: parseEther("1"), @@ -262,16 +248,10 @@ describe("Biconomy Token Paymaster", function () { const etherBalanceBefore = await ethers.provider.getBalance( withdrawAddress ); - console.log("balance before ", etherBalanceBefore.toString()); const tokenBalanceBefore = await token.balanceOf(withdrawAddress); - console.log("token balance before ", tokenBalanceBefore.toString()); const currentGasDeposited = await sampleTokenPaymaster.deposit(); - console.log( - "current gas in Entry Point ", - currentGasDeposited.toString() - ); await sampleTokenPaymaster.transferOwnership( await ethersSigner[6].getAddress() @@ -282,10 +262,6 @@ describe("Biconomy Token Paymaster", function () { .withdrawTo(withdrawAddress, ethers.utils.parseEther("0.2")); const gasasDepositedAfter = await sampleTokenPaymaster.deposit(); - console.log( - "current gas in Entry Point ", - gasasDepositedAfter.toString() - ); await expect( sampleTokenPaymaster @@ -296,14 +272,12 @@ describe("Biconomy Token Paymaster", function () { const etherBalanceAfter = await ethers.provider.getBalance( withdrawAddress ); - console.log("balance after ", etherBalanceBefore.toString()); expect( etherBalanceBefore.add(ethers.utils.parseEther("0.2")) ).to.be.equal(etherBalanceAfter); const collectedTokens = await token.balanceOf(paymasterAddress); - console.log("collected tokens ", collectedTokens); await expect( sampleTokenPaymaster @@ -329,7 +303,6 @@ describe("Biconomy Token Paymaster", function () { .withdrawERC20(token.address, withdrawAddress, collectedTokens); const tokenBalanceAfter = await token.balanceOf(withdrawAddress); - console.log("token balance after ", tokenBalanceAfter.toString()); expect(tokenBalanceBefore.add(collectedTokens)).to.be.equal( tokenBalanceAfter diff --git a/test/token-paymaster/btpm-undeployed-wallet.ts b/test/token-paymaster/btpm-undeployed-wallet.ts index 635805e..0d4cc6f 100644 --- a/test/token-paymaster/btpm-undeployed-wallet.ts +++ b/test/token-paymaster/btpm-undeployed-wallet.ts @@ -48,11 +48,8 @@ const MOCK_VALID_AFTER = "0x0000000000001234"; const MOCK_SIG = "0x1234"; const MOCK_ERC20_ADDR = "0x" + "01".repeat(20); const DEFAULT_FEE_MARKUP = 1100000; -// Assume TOKEN decimals is 18, then 1 ETH = 1000 TOKENS -// const MOCK_FX = ethers.constants.WeiPerEther.mul(1000); const MOCK_FX: BigNumberish = "977100"; // matic to usdc approx -console.log("MOCK FX ", MOCK_FX); // 1000000000000000000000 export async function deployEntryPoint( provider = ethers.provider @@ -146,7 +143,6 @@ describe("Biconomy Token Paymaster", function () { const MockToken = await ethers.getContractFactory("MockToken"); token = await MockToken.deploy(); await token.deployed(); - console.log("Test token deployed at: ", token.address); const usdcMaticPriceFeedMock = await new MockPriceFeed__factory( deployer @@ -168,12 +164,6 @@ describe("Biconomy Token Paymaster", function () { true ); - const priceResult = await oracleAggregator.getTokenValueOfOneNativeToken( - token.address - ); - console.log("priceResult"); - console.log(priceResult); - sampleTokenPaymaster = await new BiconomyTokenPaymaster__factory( deployer ).deploy( @@ -208,24 +198,13 @@ describe("Biconomy Token Paymaster", function () { smartAccountDeploymentIndex ); - console.log("mint tokens to owner address.."); await token.mint(walletOwnerAddress, ethers.utils.parseEther("1000000")); walletAddress = expected; - console.log(" wallet address ", walletAddress); paymasterAddress = sampleTokenPaymaster.address; - console.log("Paymaster address is ", paymasterAddress); - - /* await sampleTokenPaymaster - .connect(deployer) - .addStake(86400, { value: parseEther("2") }); - console.log("paymaster staked"); */ await entryPoint.depositTo(paymasterAddress, { value: parseEther("2") }); - - // const resultSet = await entryPoint.getDepositInfo(paymasterAddress); - // console.log("deposited state ", resultSet); }); describe("Token Payamster read methods and state checks", () => { @@ -263,13 +242,6 @@ describe("Biconomy Token Paymaster", function () { const feeReceiver = await sampleTokenPaymaster.feeReceiver(); - console.log( - "current values from contracts", - owner, - verifyingSigner, - feeReceiver - ); - expect(owner).to.be.equal(await walletOwner.getAddress()); expect(verifyingSigner).to.be.equal(await offchainSigner.getAddress()); expect(feeReceiver).to.be.equal(paymasterAddress); @@ -369,60 +341,17 @@ describe("Biconomy Token Paymaster", function () { .add(userOp.preVerificationGas) .mul(userOp.maxFeePerGas); - console.log("required prefund ", requiredPrefund.toString()); - - const initBalance = await token.balanceOf(paymasterAddress); - console.log("fee receiver token balance before ", initBalance.toString()); - - const preTokenBalanceForAccount = await token.balanceOf(walletAddress); - console.log( - "smart account erc20 balance before", - preTokenBalanceForAccount.toString() - ); const tx = await entryPoint.handleOps( [userOp], await offchainSigner.getAddress() ); - const receipt = await tx.wait(); - console.log( - "fees paid in native ", - receipt.effectiveGasPrice.mul(receipt.gasUsed).toString() - ); - - console.log("gas used "); - console.log(receipt.gasUsed.toNumber()); - - const postBalance = await token.balanceOf(paymasterAddress); - console.log("fee receiver token balance after ", postBalance.toString()); - - const postTokenBalanceForAccount = await token.balanceOf(walletAddress); - console.log( - "smart account erc20 balance after", - postTokenBalanceForAccount.toString() - ); - - console.log( - "required prefund in token terms ", - requiredPrefund - .mul(MOCK_FX) - .div(ethers.constants.WeiPerEther) - .toString() - ); - - const code = await ethers.provider.getCode(walletAddress); - console.log(code); + + await tx.wait(); const ev = await getUserOpEvent(entryPoint); expect(ev.args.success).to.be.true; - /* expect(postBalance.sub(initBalance)).to.be.greaterThan( - ethers.constants.Zero - ); - expect(postBalance.sub(initBalance)).to.be.lessThanOrEqual( - requiredPrefund.mul(MOCK_FX).div(ethers.constants.WeiPerEther) - ); */ - await expect( entryPoint.handleOps([userOp], await offchainSigner.getAddress()) ).to.be.reverted; diff --git a/test/token-paymaster/oracle-aggregator-specs.ts b/test/token-paymaster/oracle-aggregator-specs.ts index 6f91bed..1ec4923 100644 --- a/test/token-paymaster/oracle-aggregator-specs.ts +++ b/test/token-paymaster/oracle-aggregator-specs.ts @@ -42,10 +42,8 @@ export const AddressZero = ethers.constants.AddressZero; const MOCK_VALID_UNTIL = "0x00000000deadbeef"; const MOCK_VALID_AFTER = "0x0000000000001234"; const DEFAULT_FEE_MARKUP = 1100000; -// Assume TOKEN decimals is 18, then 1 ETH = 1000 TOKENS const MOCK_FX: BigNumberish = "977100"; // matic to usdc approx -console.log("MOCK FX ", MOCK_FX); // 1000000000000000000000 export async function deployEntryPoint( provider = ethers.provider @@ -141,8 +139,8 @@ describe("Biconomy Token Paymaster", function () { const MockToken = await ethers.getContractFactory("MockToken"); token = await MockToken.deploy(); + await token.deployed(); - console.log("Test token deployed at: ", token.address); const usdcMaticPriceFeedMock = await new MockPriceFeed__factory( deployer @@ -184,12 +182,6 @@ describe("Biconomy Token Paymaster", function () { true ); - const priceResult = await oracleAggregator.getTokenValueOfOneNativeToken( - token.address - ); - console.log("priceResult"); - console.log(priceResult); - sampleTokenPaymaster = await new BiconomyTokenPaymaster__factory( deployer ).deploy( @@ -230,24 +222,17 @@ describe("Biconomy Token Paymaster", function () { smartAccountDeploymentIndex ); - console.log("mint tokens to owner address.."); await token.mint(walletOwnerAddress, ethers.utils.parseEther("1000000")); walletAddress = expected; - console.log(" wallet address ", walletAddress); paymasterAddress = sampleTokenPaymaster.address; - console.log("Paymaster address is ", paymasterAddress); await sampleTokenPaymaster .connect(deployer) .addStake(86400, { value: parseEther("2") }); - console.log("paymaster staked"); await entryPoint.depositTo(paymasterAddress, { value: parseEther("2") }); - - // const resultSet = await entryPoint.getDepositInfo(paymasterAddress); - // console.log("deposited state ", resultSet); }); describe("Oracle Aggregator returning unexpected values / using stale feed", () => { @@ -255,7 +240,6 @@ describe("Biconomy Token Paymaster", function () { const rate1 = await oracleAggregator.getTokenValueOfOneNativeToken( token.address ); - console.log(rate1); await expect( staleOracleAggregator.getTokenValueOfOneNativeToken(token.address) @@ -353,7 +337,6 @@ describe("Biconomy Token Paymaster", function () { await offchainSigner.getAddress() ); const receipt = await tx.wait(); - // console.log(receipt.logs); const ev = await getUserOpEvent(entryPoint); expect(ev.args.success).to.be.true; @@ -366,7 +349,6 @@ describe("Biconomy Token Paymaster", function () { "TokenPaymasterOperation", receipt.logs[3].data ); - console.log(eventLogs); // Confirming that it's using backup (external) exchange rate in case oracle aggregator / price feed is stale / anything goes wrong expect(eventLogs.exchangeRate.toString()).to.be.equal(MOCK_FX); @@ -385,7 +367,6 @@ describe("Biconomy Token Paymaster", function () { const rate1 = await oracleAggregator.getTokenValueOfOneNativeToken( token.address ); - console.log(rate1); await token .connect(deployer) @@ -470,7 +451,6 @@ describe("Biconomy Token Paymaster", function () { await offchainSigner.getAddress() ); const receipt = await tx.wait(); - // console.log(receipt.logs); const ev = await getUserOpEvent(entryPoint); expect(ev.args.success).to.be.true; @@ -483,7 +463,6 @@ describe("Biconomy Token Paymaster", function () { "TokenPaymasterOperation", receipt.logs[3].data ); - console.log(eventLogs); // Confirming that it's using backup (external) exchange rate in case oracle aggregator / price feed is stale / anything goes wrong expect(eventLogs.exchangeRate).to.be.equal(rate1); @@ -582,7 +561,6 @@ describe("Biconomy Token Paymaster", function () { await offchainSigner.getAddress() ); const receipt = await tx.wait(); - // console.log(receipt.logs); const ev = await getUserOpEvent(entryPoint); expect(ev.args.success).to.be.true; @@ -595,7 +573,6 @@ describe("Biconomy Token Paymaster", function () { "TokenPaymasterOperation", receipt.logs[3].data ); - console.log(eventLogs); // Confirming that it's using backup (external) exchange rate in case oracle aggregator / price feed is stale / anything goes wrong expect(eventLogs.exchangeRate).to.be.equal(MOCK_FX); diff --git a/test/utils/userOp.ts b/test/utils/userOp.ts index 168fa96..0ebd833 100644 --- a/test/utils/userOp.ts +++ b/test/utils/userOp.ts @@ -212,7 +212,6 @@ export async function fillUserOp( const salt = hexDataSlice(initCallData, 0, 32); op1.sender = Create2Factory.getDeployedAddress(ctr, salt); } else { - // console.log('\t== not our deployer. our=', Create2Factory.contractAddress, 'got', initAddr) if (provider == null) throw new Error("no entrypoint/provider"); op1.sender = await entryPoint!.callStatic .getSenderAddress(op1.initCode!) @@ -273,7 +272,6 @@ export async function fillUserOp( gasEstimated = 3_000_000; } - // console.log('estim', op1.sender,'len=', op1.callData!.length, 'res=', gasEstimated) // estimateGas assumes direct call from entryPoint. add wrapper cost. op1.callGasLimit = gasEstimated; // .add(55000) } From ecdefda9503a451a384d97a8fe647ce32f7e7507 Mon Sep 17 00:00:00 2001 From: aboudjem Date: Thu, 9 Nov 2023 01:35:48 +0400 Subject: [PATCH 2/5] =?UTF-8?q?=F0=9F=94=A5=20remove=20unused=20comments?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contracts/test/helpers/MockChainlinkAggregator.sol | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/contracts/test/helpers/MockChainlinkAggregator.sol b/contracts/test/helpers/MockChainlinkAggregator.sol index 9e29ba0..323b5b6 100644 --- a/contracts/test/helpers/MockChainlinkAggregator.sol +++ b/contracts/test/helpers/MockChainlinkAggregator.sol @@ -16,7 +16,6 @@ contract MockChainlinkOracleAggregator is Ownable, IOracleAggregator { a price of $100.50 might be represented as 100500000000 in the contract, with 9 decimal places of precision */ uint8 decimals; - // uint8 tokenDecimals; bool dataSigned; address callAddress; bytes callData; @@ -96,12 +95,6 @@ contract MockChainlinkOracleAggregator is Ownable, IOracleAggregator { // Making explicit revert or make use of stale price feed which reverts // like done in below function and the test case - /*function _getTokenPrice( - address token - ) internal view returns (uint256 tokenPriceUnadjusted) { - bool success = false; - require(success, "ChainlinkOracleAggregator:: query failed"); - }*/ function _getTokenPrice( address token @@ -109,7 +102,7 @@ contract MockChainlinkOracleAggregator is Ownable, IOracleAggregator { (bool success, bytes memory ret) = tokensInfo[token] .callAddress .staticcall(tokensInfo[token].callData); - + require(success, "ChainlinkOracleAggregator:: query failed"); if (tokensInfo[token].dataSigned) { tokenPriceUnadjusted = uint256(abi.decode(ret, (int256))); From a8831d19db07a74d7cc0e06160726605e75a8e09 Mon Sep 17 00:00:00 2001 From: aboudjem Date: Thu, 9 Nov 2023 01:37:03 +0400 Subject: [PATCH 3/5] =?UTF-8?q?=F0=9F=94=A5=20unused=20com?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/deploy-optimism-mainnet.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/deploy-optimism-mainnet.ts b/scripts/deploy-optimism-mainnet.ts index 5a3b77c..d5936ba 100644 --- a/scripts/deploy-optimism-mainnet.ts +++ b/scripts/deploy-optimism-mainnet.ts @@ -472,10 +472,6 @@ async function main() { console.log( "==================tokenPaymasterInstance=======================" ); - - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); } } From 966150c1e15b2b39fa576ca6ce24b42838b4aa89 Mon Sep 17 00:00:00 2001 From: aboudjem Date: Thu, 9 Nov 2023 01:39:41 +0400 Subject: [PATCH 4/5] =?UTF-8?q?=F0=9F=94=A5=20remove=20unused=20comments?= =?UTF-8?q?=20from=20scripts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/deploy-arbitrum-goerli.ts | 7 ------- scripts/deploy-arbitrum-one-mainnet.ts | 10 ++++------ scripts/deploy-avalanche-mainnet.ts | 10 ++++------ scripts/deploy-avalanche-testnet.ts | 10 ++++------ scripts/deploy-base-goerli.ts | 10 ++++------ scripts/deploy-bnb-mainnet.ts | 10 ++++------ scripts/deploy-bnb-testnet.ts | 10 ++++------ scripts/deploy-eth-mainnet.ts | 10 ++++------ scripts/deploy-goerli.ts | 10 ++++------ scripts/deploy-moonbeam-mainnet.ts | 10 ++++------ scripts/deploy-mumbai.ts | 10 ++++------ scripts/deploy-optimism-goerli.ts | 10 ++++------ scripts/deploy-optimism-mainnet.ts | 6 +++--- scripts/deploy-polygon-mainnet.ts | 10 ++++------ scripts/deploy-sepolia.ts | 10 ++++------ 15 files changed, 55 insertions(+), 88 deletions(-) diff --git a/scripts/deploy-arbitrum-goerli.ts b/scripts/deploy-arbitrum-goerli.ts index aad3ddd..922ecf3 100644 --- a/scripts/deploy-arbitrum-goerli.ts +++ b/scripts/deploy-arbitrum-goerli.ts @@ -85,7 +85,6 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); return oracleAggregatorComputedAddr; } } else { @@ -147,7 +146,6 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); return tokenPaymasterComputedAddr; } } else { @@ -217,7 +215,6 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); return derivedPriceFeedBComputedAddr; } } else { @@ -468,10 +465,6 @@ async function main() { console.log( "==================tokenPaymasterInstance=======================" ); - - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); } } diff --git a/scripts/deploy-arbitrum-one-mainnet.ts b/scripts/deploy-arbitrum-one-mainnet.ts index eadeeb8..15f0085 100644 --- a/scripts/deploy-arbitrum-one-mainnet.ts +++ b/scripts/deploy-arbitrum-one-mainnet.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -476,9 +476,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-avalanche-mainnet.ts b/scripts/deploy-avalanche-mainnet.ts index cca63b3..ca21dff 100644 --- a/scripts/deploy-avalanche-mainnet.ts +++ b/scripts/deploy-avalanche-mainnet.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -473,9 +473,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-avalanche-testnet.ts b/scripts/deploy-avalanche-testnet.ts index 57614b1..c86603f 100644 --- a/scripts/deploy-avalanche-testnet.ts +++ b/scripts/deploy-avalanche-testnet.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -473,9 +473,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-base-goerli.ts b/scripts/deploy-base-goerli.ts index 5a4b450..79a01a7 100644 --- a/scripts/deploy-base-goerli.ts +++ b/scripts/deploy-base-goerli.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -473,9 +473,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-bnb-mainnet.ts b/scripts/deploy-bnb-mainnet.ts index a86fd8f..a35cbab 100644 --- a/scripts/deploy-bnb-mainnet.ts +++ b/scripts/deploy-bnb-mainnet.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -476,9 +476,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-bnb-testnet.ts b/scripts/deploy-bnb-testnet.ts index 8c9dc0b..8b1f732 100644 --- a/scripts/deploy-bnb-testnet.ts +++ b/scripts/deploy-bnb-testnet.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -473,9 +473,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-eth-mainnet.ts b/scripts/deploy-eth-mainnet.ts index 27f0cef..6e6ecda 100644 --- a/scripts/deploy-eth-mainnet.ts +++ b/scripts/deploy-eth-mainnet.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -470,9 +470,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-goerli.ts b/scripts/deploy-goerli.ts index e503b54..5891a28 100644 --- a/scripts/deploy-goerli.ts +++ b/scripts/deploy-goerli.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -473,9 +473,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-moonbeam-mainnet.ts b/scripts/deploy-moonbeam-mainnet.ts index ac80e97..a463de7 100644 --- a/scripts/deploy-moonbeam-mainnet.ts +++ b/scripts/deploy-moonbeam-mainnet.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -473,9 +473,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-mumbai.ts b/scripts/deploy-mumbai.ts index 9d17fd2..d42b894 100644 --- a/scripts/deploy-mumbai.ts +++ b/scripts/deploy-mumbai.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -473,9 +473,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-optimism-goerli.ts b/scripts/deploy-optimism-goerli.ts index 682fdfb..b1886fd 100644 --- a/scripts/deploy-optimism-goerli.ts +++ b/scripts/deploy-optimism-goerli.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -473,9 +473,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-optimism-mainnet.ts b/scripts/deploy-optimism-mainnet.ts index d5936ba..7672ad2 100644 --- a/scripts/deploy-optimism-mainnet.ts +++ b/scripts/deploy-optimism-mainnet.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { diff --git a/scripts/deploy-polygon-mainnet.ts b/scripts/deploy-polygon-mainnet.ts index aaa1706..ae79527 100644 --- a/scripts/deploy-polygon-mainnet.ts +++ b/scripts/deploy-polygon-mainnet.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -476,9 +476,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } diff --git a/scripts/deploy-sepolia.ts b/scripts/deploy-sepolia.ts index 286eb78..e4a197b 100644 --- a/scripts/deploy-sepolia.ts +++ b/scripts/deploy-sepolia.ts @@ -88,7 +88,7 @@ async function deployChainlinkOracleAggregatorContract( }); } catch (err) { console.log("issue with the verification ", oracleAggregatorComputedAddr); - // console.log(err); + return oracleAggregatorComputedAddr; } } else { @@ -150,7 +150,7 @@ async function deployTokenPaymasterContract( }); } catch (err) { console.log("issue with the verification ", tokenPaymasterComputedAddr); - // console.log(err); + return tokenPaymasterComputedAddr; } } else { @@ -220,7 +220,7 @@ async function deployDerivedPriceFeed( "issue with the verification ", derivedPriceFeedBComputedAddr ); - // console.log(err); + return derivedPriceFeedBComputedAddr; } } else { @@ -473,9 +473,7 @@ async function main() { "==================tokenPaymasterInstance=======================" ); - // tx = await tokenPaymasterInstance.transferOwnership(owner) - // receipt = await tx.wait() - // console.log("tokenPaymasterInstance ownership transferred to %s", owner); + } } From e5e44ddc384c471f3ef29c4bbc2776fd753cc3cc Mon Sep 17 00:00:00 2001 From: aboudjem Date: Thu, 9 Nov 2023 16:34:34 +0400 Subject: [PATCH 5/5] =?UTF-8?q?=F0=9F=94=A8=20add=20script=20to=20generate?= =?UTF-8?q?=20unsafe=20secret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index c34b9b5..c1a39e3 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "lint:sol": "yarn solhint 'contracts/**/*.sol'", "lint:sol-fix": "yarn prettier 'contracts/**/*.sol' --write && yarn solhint 'contracts/**/*.sol' --fix", "lint:fix": "yarn lint:ts-fix && yarn lint:sol-fix", + "secret": "echo -e '\u001b[31m⚠️ WARNING: This script is intended for development use only. The generated .secret file is NOT SAFE for production environments.\u001b[0m' && echo 'primary twist rack vendor diagram image used route theme frown either will' > .abc", "postinstall": "husky install", "prepack": "pinst --disable && ./scripts/prepack-contracts.sh", "postpack": "pinst --enable && ./scripts/postpack-contracts.sh",