Skip to content
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.

Commit

Permalink
feat: add support for the merge hardfork (#3971)
Browse files Browse the repository at this point in the history
Co-authored-by: David Murdoch <[email protected]>
Co-authored-by: David Murdoch <[email protected]>
  • Loading branch information
3 people authored Dec 14, 2022
1 parent d267903 commit b816de2
Show file tree
Hide file tree
Showing 133 changed files with 7,223 additions and 4,314 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [12.0.0, 12.x, 14.x, 16.x, 18.x]
node: [14.0.0, 14.x, 16.x, 18.x]
os: [windows-2019, ubuntu-18.04, ubuntu-20.04, macos-11]
exclude:
# Node v18 does not run on ubuntu-18.04: https://github.com/nodejs/node/issues/42351#issuecomment-1068424442
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [12.0.0, 12.x, 14.x, 16.x, 18.x]
node: [14.0.0, 14.x, 16.x, 18.x]
os: [ubuntu-20.04]

runs-on: ${{ matrix.os }}
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v12.0.0
v14.0.0
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

## Getting set up

- Use Node.js v12.0.0.
- Why v12.0.0? Because this is the first LTS release of Node.js v12 and is the earliest version Ganache supports.
- Use Node.js v14.0.0.
- Why v14.0.0? Because this is the first LTS release of Node.js v14 and is the earliest version Ganache supports.
- recommendation: use [nvm](https://github.com/nvm-sh/nvm) on Linux and macOS, and [nvm-windows](https://github.com/coreybutler/nvm-windows) on
Windows, to configure your node version.
- On Linux and macOS, if you have `nvm` installed, just run `nvm use` to switch to Node.js v12.0.0.
- On Linux and macOS, if you have `nvm` installed, just run `nvm use` to switch to Node.js v14.0.0.
- `git clone [email protected]:trufflesuite/ganache.git`
- `cd ganache`
- `npm install` (use npm v6)
Expand Down Expand Up @@ -153,7 +153,7 @@ index 2a2aa9e..57cbf21 100644

These are guidelines, not rules. :-)

- Use Node.js v12.0.0 for most local development.
- Use Node.js v14.0.0 for most local development.
- Use `bigint` literals, e.g., `123n`; if the number is externally configurable and/or could exceed
`Number.MAX_SAFE_INTEGER`.
- Write tests.
Expand Down
87 changes: 55 additions & 32 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"author": "David Murdoch <[email protected]> (https://davidmurdoch.com)",
"private": true,
"engines": {
"node": ">=12.0.0",
"npm": ">=6.12.0"
"node": ">=14.0.0",
"npm": ">=6.14.4"
},
"scripts": {
"build": "npm run tsc && cross-env NODE_OPTIONS=--max_old_space_size=4096 lerna run build",
Expand Down Expand Up @@ -47,8 +47,8 @@
"pretty-quick": "3.1.2",
"semver": "7.3.5",
"shx": "0.3.3",
"ts-node": "10.4.0",
"typescript": "4.6.4",
"ts-node": "10.9.1",
"typescript": "4.7.4",
"validate-npm-package-name": "3.0.0",
"yargs": "16.2.0"
},
Expand Down
15 changes: 10 additions & 5 deletions src/chains/ethereum/address/index.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import { Data, JsonRpcDataInputArg } from "@ganache/utils";
import { Address as EJSAddress } from "@ethereumjs/util";
import { JsonRpcDataInputArg, Data } from "@ganache/utils";

export class Address extends Data {
export class Address extends EJSAddress {
static ByteLength = 20;

constructor(value: string | Buffer) {
super(value, Address.ByteLength);
constructor(value: Buffer) {
super(value);
}

public static from<T extends string | Buffer = string | Buffer>(value: T) {
return new Address(value);
return new Address(Data.toBuffer(value, Address.ByteLength));
}

static toBuffer(value: JsonRpcDataInputArg): Buffer {
Expand All @@ -18,4 +19,8 @@ export class Address extends Data {
static toString(value: JsonRpcDataInputArg): string {
return Address.from(value).toString();
}

toJSON() {
return this.toString();
}
}
Loading

0 comments on commit b816de2

Please sign in to comment.