Merge branch 'master' of https://github.com/ethereum/remix-project into scriptrunner

pull/5167/head
bunsenstraat 3 months ago
commit 3d5793bcd8
  1. 2
      apps/etherscan/src/app/views/VerifyView.tsx
  2. 6
      apps/remix-ide-e2e/src/githttpbackend/package.json
  3. 0
      apps/remix-ide-e2e/src/githttpbackend/src/server.ts
  4. 25
      apps/remix-ide-e2e/src/githttpbackend/tsconfig.json
  5. 17
      apps/remix-ide-e2e/src/githttpbackend/yarn.lock
  6. 2
      apps/remix-ide-e2e/src/tests/dgit_local.test.ts
  7. 2
      apps/remix-ide-e2e/src/tests/editorHoverContext.test.ts
  8. 35
      apps/remix-ide-e2e/src/tests/eip1153.test.ts
  9. 14
      apps/remix-ide-e2e/src/tests/solidityUnittests.test.ts
  10. 2
      apps/remix-ide/src/app/plugins/parser/services/code-parser-compiler.ts
  11. 2
      apps/remix-ide/src/app/providers/injected-custom-provider.tsx
  12. 2
      apps/remix-ide/src/app/providers/injected-ephemery-testnet-provider.tsx
  13. 2
      apps/remix-ide/src/app/tabs/debugger-tab.js
  14. 6
      apps/remix-ide/src/app/tabs/locales/en/remixUiTabs.json
  15. 2
      apps/remix-ide/src/blockchain/execution-context.js
  16. 2
      apps/remix-ide/src/blockchain/providers/injected.ts
  17. 2
      apps/remix-ide/src/blockchain/providers/node.ts
  18. 2
      apps/remix-ide/src/blockchain/providers/vm.ts
  19. 2
      libs/ghaction-helper/src/methods.ts
  20. 2
      libs/remix-analyzer/package.json
  21. 2
      libs/remix-astwalker/package.json
  22. 2
      libs/remix-debug/package.json
  23. 2
      libs/remix-debug/src/cmdline/index.ts
  24. 2
      libs/remix-debug/src/init.ts
  25. 2
      libs/remix-lib/src/execution/txRunnerWeb3.ts
  26. 2
      libs/remix-lib/src/init.ts
  27. 2
      libs/remix-simulator/package.json
  28. 2
      libs/remix-simulator/test/accounts.ts
  29. 2
      libs/remix-simulator/test/blocks.ts
  30. 2
      libs/remix-simulator/test/events.ts
  31. 2
      libs/remix-simulator/test/misc.ts
  32. 2
      libs/remix-simulator/test/transactions.ts
  33. 2
      libs/remix-solidity/package.json
  34. 6
      libs/remix-tests/package.json
  35. 2
      libs/remix-tests/src/deployer.ts
  36. 2
      libs/remix-tests/src/run.ts
  37. 2
      libs/remix-tests/src/runTestFiles.ts
  38. 2
      libs/remix-tests/src/runTestSources.ts
  39. 2
      libs/remix-tests/src/testRunner.ts
  40. 2
      libs/remix-tests/tests/testRunner.spec.ts
  41. 2
      libs/remix-ui/debugger-ui/src/lib/api/debugger-api.ts
  42. 2
      libs/remix-ui/run-tab/src/lib/actions/deploy.ts
  43. 2
      libs/remix-ui/run-tab/src/lib/actions/events.ts
  44. 2
      libs/remix-ui/run-tab/src/lib/types/execution-context.d.ts
  45. 2
      libs/remix-ui/settings/src/lib/remix-ui-settings.tsx
  46. 14
      libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx
  47. 8
      package.json
  48. 18
      yarn.lock

@ -1,5 +1,5 @@
import React, {useEffect, useRef, useState} from 'react'
import Web3 from 'web3'
import { Web3 } from 'web3'
import {PluginClient} from '@remixproject/plugin'
import {CustomTooltip} from '@remix-ui/helper'

@ -1,6 +1,6 @@
{
"scripts": {
"start:server": "npx ts-node server.ts"
"start:server": "tsc && node ./dist/server.js"
},
"dependencies": {
"body-parser": "^1.20.2",
@ -9,5 +9,9 @@
"git-http-backend": "^1.1.2",
"path": "^0.12.7",
"zlib": "^1.0.5"
},
"devDependencies": {
"@types/node": "^22.5.4",
"typescript": "^5.6.2"
}
}

@ -0,0 +1,25 @@
{
"compilerOptions": {
"target": "ES6", // Set the ECMAScript target version
"module": "commonjs", // Specify module code generation
"strict": true,
"noImplicitAny": false, // Enable all strict type-checking options
"esModuleInterop": true, // Emit additional code to make commonJS and ES modules work together
"skipLibCheck": true, // Skip type checking of all declaration files (.d.ts)
"forceConsistentCasingInFileNames": true, // Ensure file names are treated with case sensitivity
"outDir": "./dist", // Redirect output structure to the 'dist' directory
"rootDir": "./src", // Specify the root directory of input files
"sourceMap": true, // Create source map files
"types": [
"node"
], // Add node types
"moduleResolution": "node", // Ensure TypeScript resolves modules like Node.js
},
"include": [
"src/**/*" // Include all TypeScript files in the src directory
],
"exclude": [
"node_modules", // Exclude the node_modules folder
"**/*.test.ts" // Exclude test files
]
}

@ -2,6 +2,13 @@
# yarn lockfile v1
"@types/node@^22.5.4":
version "22.5.4"
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.4.tgz#83f7d1f65bc2ed223bdbf57c7884f1d5a4fa84e8"
integrity sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==
dependencies:
undici-types "~6.19.2"
accepts@~1.3.8:
version "1.3.8"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
@ -483,6 +490,16 @@ type-is@~1.6.18:
media-typer "0.3.0"
mime-types "~2.1.24"
typescript@^5.6.2:
version "5.6.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.2.tgz#d1de67b6bef77c41823f822df8f0b3bcff60a5a0"
integrity sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==
undici-types@~6.19.2:
version "6.19.8"
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02"
integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"

@ -606,7 +606,7 @@ async function createCommitOnLocalServer(path: string, message: string) {
async function spawnGitServer(path: string): Promise<ChildProcess> {
console.log(process.cwd())
try {
const server = spawn('yarn && sh setup.sh && npx ts-node server.ts', [`${path}`], { cwd: process.cwd() + '/apps/remix-ide-e2e/src/githttpbackend/', shell: true, detached: true })
const server = spawn('yarn && sh setup.sh && yarn start:server', [`${path}`], { cwd: process.cwd() + '/apps/remix-ide-e2e/src/githttpbackend/', shell: true, detached: true })
console.log('spawned', server.stdout.closed, server.stderr.closed)
return new Promise((resolve, reject) => {
server.stdout.on('data', function (data) {

@ -90,6 +90,8 @@ module.exports = {
browser
.clickLaunchIcon('solidity')
.setSolidityCompilerVersion('soljson-v0.8.20+commit.a1b79de6.js')
.click('*[data-id="scConfigExpander"]')
.setValue('#evmVersionSelector', 'berlin') // set target EVM for parser to berlin
.addFile('contracts/mytoken.sol', {
content: myToken
}).useXpath().waitForElementVisible("//*[@class='view-line' and contains(.,'gas')]")

@ -31,7 +31,21 @@ module.exports = {
1: 'uint256: out2 15'
}
})
.end()
},
'Should clear transient storage after tx execution #group1' : function (browser: NightwatchBrowser) {
browser.addFile('clear_transient.sol', { content: clearTransient })
.verifyContracts(['ClearTransient'])
.clickLaunchIcon('udapp')
.createContract('')
.clickInstance(1)
.clickFunction('get - call')
.testFunction('last',
{
'decoded output': {
0: 'uint256: 0'
}
})
}
}
@ -49,3 +63,22 @@ contract TestTransientStorage {
}
}
}`
const clearTransient = `
// SPDX-License-Identifier: none
pragma solidity 0.8.26;
import "hardhat/console.sol";
contract ClearTransient {
uint p;
constructor() {
uint256 value;
assembly { value := tload(hex"1234") }
p = value;
assembly { tstore(hex"1234", 10) }
}
function get () public view returns (uint) {
return p;
}
}`

@ -246,13 +246,13 @@ module.exports = {
.waitForElementPresent('#solidityUnittestsOutput div[class^="testPass"]', 60000)
.waitForElementContainsText('#solidityUnittestsOutput', 'tests/hhLogs_test.sol', 60000)
.pause(2000)
.assert.containsText('#journal > div:nth-child(4) > span', 'Before all:')
.assert.containsText('#journal > div:nth-child(4) > span', 'Inside beforeAll')
.assert.containsText('#journal > div:nth-child(5) > span', 'Check sender:')
.assert.containsText('#journal > div:nth-child(5) > span', 'msg.sender is 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4')
.assert.containsText('#journal > div:nth-child(6) > span', 'Check int logs:')
.assert.containsText('#journal > div:nth-child(6) > span', '10 20')
.assert.containsText('#journal > div:nth-child(6) > span', 'Number is 25')
.assert.textContains('#journal > div:nth-child(3) > span', 'Before all:')
.assert.textContains('#journal > div:nth-child(3) > span', 'Inside beforeAll')
.assert.textContains('#journal > div:nth-child(4) > span', 'Check sender:')
.assert.textContains('#journal > div:nth-child(4) > span', 'msg.sender is 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4')
.assert.textContains('#journal > div:nth-child(5) > span', 'Check int logs:')
.assert.textContains('#journal > div:nth-child(5) > span', '10 20')
.assert.textContains('#journal > div:nth-child(5) > span', 'Number is 25')
.openFile('tests/hhLogs_test.sol')
.removeFile('tests/hhLogs_test.sol', 'workspace_new')
},

@ -161,7 +161,7 @@ export default class CodeParserCompiler {
"*": ["evm.gasEstimates"]
}
},
"evmVersion": state.evmVersion && state.evmVersion.toString() || "berlin",
"evmVersion": state.evmVersion && state.evmVersion.toString() || "cancun",
}
}

@ -1,4 +1,4 @@
import Web3 from 'web3'
import { Web3 } from 'web3'
import { InjectedProviderDefault } from './injected-provider-default'
export class InjectedCustomProvider extends InjectedProviderDefault {

@ -1,6 +1,6 @@
import * as packageJson from '../../../../../package.json'
import { InjectedCustomProvider } from './injected-custom-provider'
import Web3 from 'web3'
import { Web3 } from 'web3'
const profile = {
name: 'injected-ephemery-testnet-provider',

@ -1,4 +1,4 @@
import Web3 from 'web3'
import { Web3 } from 'web3'
import { DebuggerUI } from '@remix-ui/debugger-ui' // eslint-disable-line
import { DebuggerApiMixin } from '@remix-ui/debugger-ui'
import { ViewPlugin } from '@remixproject/engine-web'

@ -4,10 +4,10 @@
"remixUiTabs.tooltipText3": "Select .sol or .yul file to compile OR a .ts or .js file to run",
"remixUiTabs.tooltipText4": "To explain a contract, choose a .sol file",
"remixUiTabs.tooltipText5": "Explain the contract(s) in current file [BETA]",
"remixUiTabs.tooltipText6": "Enable Remix AI Copilot [BETA]",
"remixUiTabs.tooltipText7": "Disable Remix AI Copilot [BETA]",
"remixUiTabs.tooltipText6": "Enable RemixAI Copilot [BETA]",
"remixUiTabs.tooltipText7": "Disable RemixAI Copilot [BETA]",
"remixUiTabs.tooltipText8": "Remix AI Tools Documentation",
"remixUiTabs.tooltipTextDisabledCopilot": "To use Remix AI Copilot, choose a .sol file",
"remixUiTabs.tooltipTextDisabledCopilot": "To use RemixAI Copilot, choose a .sol file",
"remixUiTabs.zoomOut": "Zoom out",
"remixUiTabs.zoomIn": "Zoom in"
}

@ -1,6 +1,6 @@
/* global ethereum */
'use strict'
import Web3 from 'web3'
import { Web3 } from 'web3'
import { execution } from '@remix-project/remix-lib'
import EventManager from '../lib/events'
import { bytesToHex } from '@ethereumjs/util'

@ -1,4 +1,4 @@
import Web3 from 'web3'
import { Web3 } from 'web3'
import { hashPersonalMessage, isHexString, bytesToHex } from '@ethereumjs/util'
import { ExecutionContext } from '../execution-context'

@ -1,4 +1,4 @@
import Web3 from 'web3'
import { Web3 } from 'web3'
import { hashPersonalMessage, isHexString, bytesToHex } from '@ethereumjs/util'
import { Personal } from 'web3-eth-personal'
import { ExecutionContext } from '../execution-context'

@ -1,4 +1,4 @@
import Web3, { FMT_BYTES, FMT_NUMBER, LegacySendAsyncProvider } from 'web3'
import { Web3, FMT_BYTES, FMT_NUMBER, LegacySendAsyncProvider } from 'web3'
import { fromWei, toBigInt } from 'web3-utils'
import { privateToAddress, hashPersonalMessage, isHexString, bytesToHex } from '@ethereumjs/util'
import { extend, JSONRPCRequestPayload, JSONRPCResponseCallback } from '@remix-project/remix-simulator'

@ -3,7 +3,7 @@ import { ethers } from "ethers"
import { Provider } from '@remix-project/remix-simulator'
import { getArtifactsByContractName } from './artifacts-helper'
import { SignerWithAddress } from './signer'
import Web3 from "web3"
import { Web3 } from "web3"
const providerConfig = {
fork: global.fork || null,

@ -24,7 +24,7 @@
"@ethereumjs/block": "5.3.0",
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.0",
"@ethereumjs/vm": "8.1.1",
"@remix-project/remix-astwalker": "^0.0.86",
"@remix-project/remix-lib": "^0.5.63",
"async": "^2.6.2",

@ -36,7 +36,7 @@
"@ethereumjs/block": "5.3.0",
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.0",
"@ethereumjs/vm": "8.1.1",
"@remix-project/remix-lib": "^0.5.63",
"@types/tape": "^4.2.33",
"async": "^2.6.2",

@ -25,7 +25,7 @@
"@ethereumjs/common": "4.4.0",
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.0",
"@ethereumjs/vm": "8.1.1",
"@remix-project/remix-astwalker": "^0.0.86",
"@remix-project/remix-lib": "^0.5.63",
"@remix-project/remix-simulator": "^0.2.56",

@ -1,4 +1,4 @@
import Web3 from 'web3'
import { Web3 } from 'web3'
import { Debugger } from '../debugger/debugger'
import { EventEmitter } from 'events'

@ -1,5 +1,5 @@
'use strict'
import Web3, { Web3PluginBase } from 'web3'
import { Web3, Web3PluginBase } from 'web3'
import { toNumber } from 'web3-utils'
export function extendWeb3 (web3) {

@ -1,7 +1,7 @@
'use strict'
import { EventManager } from '../eventManager'
import type { Transaction as InternalTransaction } from './txRunner'
import Web3 from 'web3'
import { Web3 } from 'web3'
import { toBigInt, toHex } from 'web3-utils'
export class TxRunnerWeb3 {

@ -1,5 +1,5 @@
'use strict'
import Web3, { Web3PluginBase } from 'web3'
import { Web3, Web3PluginBase } from 'web3'
import { toNumber } from 'web3-utils'
export function extendWeb3 (web3) {

@ -21,7 +21,7 @@
"@ethereumjs/common": "4.4.0",
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.0",
"@ethereumjs/vm": "8.1.1",
"@metamask/eth-sig-util": "^7.0.2",
"@remix-project/remix-lib": "^0.5.63",
"ansi-gray": "^0.1.1",

@ -1,5 +1,5 @@
/* global describe, before, it */
import Web3, { FMT_BYTES, FMT_NUMBER } from 'web3'
import { Web3, FMT_BYTES, FMT_NUMBER } from 'web3'
import { Provider } from '../src/index'
const web3 = new Web3()
import * as assert from 'assert'

@ -1,5 +1,5 @@
/* global describe, before, it */
import Web3 from 'web3'
import { Web3 } from 'web3'
import { Provider } from '../src/index'
const web3 = new Web3()
import * as assert from 'assert'

@ -1,5 +1,5 @@
/* global describe, before, it */
import Web3 from 'web3'
import { Web3 } from 'web3'
import { Provider } from '../src/index'
const web3 = new Web3()
import * as assert from 'assert'

@ -1,5 +1,5 @@
/* global describe, before, it */
import Web3 from 'web3'
import { Web3 } from 'web3'
import { Provider } from '../src/index'
const web3 = new Web3()
import * as assert from 'assert'

@ -1,5 +1,5 @@
/* global describe, before, it */
import Web3 from 'web3'
import { Web3 } from 'web3'
import { LegacyTransaction, FeeMarketEIP1559Transaction } from '@ethereumjs/tx'
import { Provider } from '../src/index'
const web3 = new Web3()

@ -18,7 +18,7 @@
"@ethereumjs/block": "5.3.0",
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.0",
"@ethereumjs/vm": "8.1.1",
"@remix-project/remix-lib": "^0.5.63",
"async": "^2.6.2",
"eslint-scope": "^5.0.0",

@ -40,7 +40,7 @@
"@ethereumjs/common": "4.4.0",
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.0",
"@ethereumjs/vm": "8.1.1",
"@remix-project/remix-lib": "^0.5.63",
"@remix-project/remix-simulator": "^0.2.56",
"@remix-project/remix-solidity": "^0.5.42",
@ -81,11 +81,11 @@
"@ethereumjs/blockchain": "7.3.0",
"@ethereumjs/block": "5.3.0",
"@ethereumjs/common": "4.4.0",
"@ethereumjs/evm": "3.1.0",
"@ethereumjs/evm": "3.1.1",
"@ethereumjs/statemanager": "2.4.0",
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.0",
"@ethereumjs/vm": "8.1.1",
"@ethereumjs/trie": "6.2.1"
},
"typings": "src/index.d.ts",

@ -1,6 +1,6 @@
import async from 'async'
import { execution } from '@remix-project/remix-lib'
import Web3, { FMT_BYTES, FMT_NUMBER } from 'web3'
import { Web3, FMT_BYTES, FMT_NUMBER } from 'web3'
import { compilationInterface } from './types'
/**

@ -1,5 +1,5 @@
import { Command } from 'commander';
import Web3 from 'web3'
import { Web3 } from 'web3'
import path from 'path'
import axios, { AxiosResponse } from 'axios'
import { runTestFiles } from './runTestFiles'

@ -3,7 +3,7 @@ import fs from './fileSystem'
import { runTest } from './testRunner'
import { TestResultInterface, ResultsInterface, CompilerConfiguration, compilationInterface, ASTInterface, Options, AstNode } from './types'
import colors from 'colors'
import Web3 from 'web3'
import { Web3 } from 'web3'
import { format } from 'util'
import { compileFileOrFiles } from './compiler'
import { deployAll } from './deployer'

@ -2,7 +2,7 @@ import async, { ErrorCallback } from 'async'
import { compileContractSources, writeTestAccountsContract } from './compiler'
import { deployAll } from './deployer'
import { runTest } from './testRunner'
import Web3 from 'web3'
import { Web3 } from 'web3'
import { EventEmitter } from 'events'
import { Provider, extend } from '@remix-project/remix-simulator'
import {

@ -1,6 +1,6 @@
import async from 'async'
import * as changeCase from 'change-case'
import Web3 from 'web3'
import { Web3 } from 'web3'
import assertionEvents from './assertionEvents'
import {
RunListInterface, TestCbInterface, TestResultInterface, ResultCbInterface,

@ -1,5 +1,5 @@
import * as async from 'async'
import Web3 from 'web3';
import { Web3 } from 'web3';
import * as assert from 'assert'
import { Provider, extend } from '@remix-project/remix-simulator'

@ -1,4 +1,4 @@
import Web3 from 'web3'
import { Web3 } from 'web3'
import { init , traceHelper, TransactionDebugger as Debugger } from '@remix-project/remix-debug'
import { CompilerAbstract } from '@remix-project/remix-solidity'
import { lineText } from '@remix-ui/editor'

@ -9,7 +9,7 @@ import { DeployMode, MainnetPrompt } from "../types"
import { displayNotification, fetchProxyDeploymentsSuccess, setDecodedResponse, updateInstancesBalance } from "./payload"
import { addInstance } from "./actions"
import { addressToString, logBuilder } from "@remix-ui/helper"
import Web3 from "web3"
import { Web3 } from "web3"
declare global {
interface Window {

@ -6,7 +6,7 @@ import { addDeployOption, clearAllInstances, clearAllPinnedInstances, clearRecor
import { updateInstanceBalance } from './deploy'
import { CompilerAbstract } from '@remix-project/remix-solidity'
import BN from 'bn.js'
import Web3 from 'web3'
import { Web3 } from 'web3'
import { Plugin } from "@remixproject/engine"
import { getNetworkProxyAddresses } from "./deploy"
import { shortenAddress } from "@remix-ui/helper"

@ -1,4 +1,4 @@
import Web3 from 'web3'
import { Web3 } from 'web3'
export class ExecutionContext {
event: any;

@ -139,13 +139,11 @@ export const RemixUiSettings = (props: RemixUiSettingsProps) => {
const onchangeCopilotActivate = () => {
if (!props.useCopilot) {
copilotActivate(props.config, props.useCopilot, dispatch)
props.plugin.call('terminal', 'log', { type: 'typewriterlog', value: `Solidity copilot not activated!` })
return
}
const startCopilot = async () => {
copilotActivate(props.config, props.useCopilot, dispatch)
props.plugin.call('terminal', 'log', { type: 'typewriterlog', value: `Solidity copilot activated!` })
}
startCopilot()

@ -14,13 +14,11 @@ export default function AIStatus(props: AIStatusProps) {
const [copilotActive, setCopilotActive] = useState(false)
useEffect(() => {
const run = async () => {
props.plugin.on('fileManager', 'currentFileChanged', async (isAiActive) => {
const aiActivate = await props.plugin.call('settings', 'get', 'settings/copilot/suggest/activate')
setCopilotActive(aiActivate)
})
const aiActivate = await props.plugin.call('settings', 'get', 'settings/copilot/suggest/activate')
setCopilotActive(aiActivate)
}
run()
}, [props.plugin.isAiActive, props.isAiActive])
}, [])
useEffect(() => {
const run = async () => {
@ -30,14 +28,14 @@ export default function AIStatus(props: AIStatusProps) {
})
}
run()
}, [props.plugin.isAiActive])
}, [props.plugin.isAiActive, props.plugin.isAiActive])
return (
<CustomTooltip
tooltipText={copilotActive ? "Remix Copilot activated" : "Remix Copilot disabled. To activate copilot, open a .sol file and toggle the ai switch at the top of the Ide"}
tooltipText={copilotActive ? "RemixAI Copilot enabled" : "RemixAI Copilot disabled. To enable, open a .sol file and toggle the switch at the left-top of the editor"}
>
<div className="d-flex flex-row pr-2 text-white justify-content-center align-items-center">
<span className={copilotActive === false ? "small mx-1 text-white semi-bold" : "small mx-1 text-white semi-bold" }>
{copilotActive === false ? 'Remix Copilot (disabled)' : 'Remix Copilot (enabled)'}
{copilotActive === false ? 'RemixAI Copilot (disabled)' : 'RemixAI Copilot (enabled)'}
</span>
</div>
</CustomTooltip>

@ -92,11 +92,11 @@
"@erebos/bzz-node": "^0.13.0",
"@ethereumjs/block": "5.3.0",
"@ethereumjs/common": "4.4.0",
"@ethereumjs/evm": "3.1.0",
"@ethereumjs/evm": "3.1.1",
"@ethereumjs/statemanager": "2.4.0",
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.0",
"@ethereumjs/vm": "8.1.1",
"@ethersphere/bee-js": "^3.2.0",
"@floating-ui/react": "^0.26.15",
"@fortawesome/fontawesome-svg-core": "^6.5.1",
@ -383,11 +383,11 @@
"@ethereumjs/blockchain": "7.3.0",
"@ethereumjs/block": "5.3.0",
"@ethereumjs/common": "4.4.0",
"@ethereumjs/evm": "3.1.0",
"@ethereumjs/evm": "3.1.1",
"@ethereumjs/statemanager": "2.4.0",
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.0",
"@ethereumjs/vm": "8.1.1",
"@ethereumjs/trie": "6.2.1"
}
}

@ -2835,10 +2835,10 @@
bigint-crypto-utils "^3.2.2"
ethereum-cryptography "^2.2.1"
"@ethereumjs/evm@3.1.0", "@ethereumjs/evm@^3.1.0":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@ethereumjs/evm/-/evm-3.1.0.tgz#d036a7986d2a4914a82324ee4fbc2ae7a503e515"
integrity sha512-m6L8wPDpNDqCBeiCQDwoKtKMcFjcvctuZs6XHaVnFocMwsAsN9Wg89nAT7Gs6ic2kDUgVGhtGTvEAaH51B70ew==
"@ethereumjs/evm@3.1.1", "@ethereumjs/evm@^3.1.1":
version "3.1.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/evm/-/evm-3.1.1.tgz#f593ea99e564ba6d916d81a833bb9af5713caf34"
integrity sha512-JbDXtIn0PPZFU2oqVngje0YvW/JuNa6Y+kIYp1MCh5pn9NRplR8FkBbvb991fVSSo6AzuFMHJxSwgVl+OksnvQ==
dependencies:
"@ethereumjs/common" "^4.4.0"
"@ethereumjs/statemanager" "^2.4.0"
@ -2914,15 +2914,15 @@
ethereum-cryptography "^2.0.0"
micro-ftch "^0.3.1"
"@ethereumjs/vm@8.1.0":
version "8.1.0"
resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-8.1.0.tgz#9f795a7802b0ccdedd4ca45193a3895eafe51ef9"
integrity sha512-CjQ57Kl2JYMyX8UNUW2aWFWJnb7M5a8gUEtBMZ+A3K+wNNTALVPOKx9eNCiSwBn1bijB05FyvcNMnHEDwqSuiA==
"@ethereumjs/vm@8.1.1":
version "8.1.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-8.1.1.tgz#6b58f298ee6f665d4ac412cd0d3351bb9c0ceea3"
integrity sha512-h9gIN/maMKXltM4VxZ9ac581PPUUObnFVBniLuu9vJgGTELdnwqxLwJVxSfho/Bhk56YyvKBYf1RpHwoLZZ6xw==
dependencies:
"@ethereumjs/block" "^5.3.0"
"@ethereumjs/blockchain" "^7.3.0"
"@ethereumjs/common" "^4.4.0"
"@ethereumjs/evm" "^3.1.0"
"@ethereumjs/evm" "^3.1.1"
"@ethereumjs/rlp" "^5.0.2"
"@ethereumjs/statemanager" "^2.4.0"
"@ethereumjs/trie" "^6.2.1"

Loading…
Cancel
Save