Skip to content

Commit

Permalink
refactor(web3): separate eth and atl namespace
Browse files Browse the repository at this point in the history
  • Loading branch information
dumbeng committed Oct 25, 2023
1 parent 3f43620 commit a1e6640
Show file tree
Hide file tree
Showing 17 changed files with 3,499 additions and 777 deletions.
2 changes: 1 addition & 1 deletion dist/web3.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/web3.min.js.map

Large diffs are not rendered by default.

2,164 changes: 1,447 additions & 717 deletions package-lock.json

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions packages/web3-atl/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# web3-eth
# web3-atl

[![NPM Package][npm-image]][npm-url]

Expand All @@ -15,21 +15,21 @@ You can install the package either using [NPM](https://www.npmjs.com/package/web
### Using NPM

```bash
npm install web3-eth
npm install web3-atl
```

### Using Yarn

```bash
yarn add web3-eth
yarn add web3-atl
```

## Usage

```js
const Web3Eth = require('web3-eth');
const Web3Atl = require('web3-atl');

const eth = new Web3Eth('ws://localhost:8546');
const atl = new Web3Atl('ws://localhost:8546');
```

## Types
Expand Down
38 changes: 0 additions & 38 deletions packages/web3-atl/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -338,21 +338,6 @@ var Atl = function Atl() {
// web3-eth would subsequently change the provider for _all_ contract
// instances!
var self = this;
var Contract = function Contract() {
BaseContract.apply(this, arguments);

// when Eth.setProvider is called, call packageInit
// on all contract instances instantiated via this Eth
// instances. This will update the currentProvider for
// the contract instances
var _this = this;
var setProvider = self.setProvider;
self.setProvider = function() {
setProvider.apply(self, arguments);
core.packageInit(_this, [self]);
};
};

var Aspect = function Aspect() {
BaseAspect.apply(this, arguments);

Expand All @@ -368,10 +353,6 @@ var Atl = function Atl() {
};
};

Contract.setProvider = function() {
BaseContract.setProvider.apply(this, arguments);
};

Aspect.setProvider = function() {
BaseContract.setProvider.apply(this, arguments);
};
Expand All @@ -383,28 +364,9 @@ var Atl = function Atl() {
return contract;
}

// make our proxy Contract inherit from web3-eth-contract so that it has all
// the right functionality and so that instanceof and friends work properly
Contract.prototype = Object.create(BaseContract.prototype);
Contract.prototype.constructor = Contract;

Aspect.prototype = Object.create(BaseAspect.prototype);
Aspect.prototype.constructor = Aspect;

// add contract
this.Contract = Contract;
this.Contract.defaultAccount = this.defaultAccount;
this.Contract.defaultBlock = this.defaultBlock;
this.Contract.transactionBlockTimeout = this.transactionBlockTimeout;
this.Contract.transactionConfirmationBlocks = this.transactionConfirmationBlocks;
this.Contract.transactionPollingTimeout = this.transactionPollingTimeout;
this.Contract.transactionPollingInterval = this.transactionPollingInterval;
this.Contract.blockHeaderTimeout = this.blockHeaderTimeout;
this.Contract.handleRevert = this.handleRevert;
this.Contract._requestManager = this._requestManager;
this.Contract._ethAccounts = this.accounts;
this.Contract.currentProvider = this._requestManager.provider;

// add aspect
this.Aspect = Aspect;
this.Aspect.defaultAccount = this.defaultAccount;
Expand Down
23 changes: 8 additions & 15 deletions packages/web3-atl/types/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,23 @@

import * as net from 'net';
import {
AccessTuple,
BatchRequest,
BlockNumber,
chain,
Common,
Extension,
hardfork,
Log,
LogsOptions,
PastLogsOptions,
PromiEvent,
provider,
Providers,
RLPEncodedTransaction,
Transaction,
TransactionConfig,
TransactionReceipt,
Common,
hardfork,
chain,
BlockNumber,
LogsOptions,
PastLogsOptions,
AccessTuple
TransactionReceipt
} from '@artela/web3-core';
import {Subscription} from 'web3-core-subscriptions';
import {AbiCoder} from 'web3-eth-abi';
Expand All @@ -48,7 +48,6 @@ import {Ens} from 'web3-eth-ens';
import {Iban} from 'web3-eth-iban';
import {Personal} from 'web3-eth-personal';
import {Network} from 'web3-net';
import {AbiItem} from '@artela/web3-utils';
import {BigNumber} from 'bignumber.js';
import BN = require('bn.js');

Expand All @@ -67,12 +66,6 @@ export class Atl {
constructor(provider: provider);
constructor(provider: provider, net: net.Socket);

Contract: new (
jsonInterface: AbiItem[] | AbiItem,
address?: string,
options?: ContractOptions
) => Contract;

Aspect: new (address?: string, options?: AspectOptions) => Aspect;

Iban: new (iban: string) => Iban;
Expand Down
42 changes: 42 additions & 0 deletions packages/web3-eth/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# web3-eth

[![NPM Package][npm-image]][npm-url]

This is a sub-package of [web3.js][repo].

This Eth package is used within some [web3.js][repo] packages.

Please read the [documentation][docs] for more.

## Installation

You can install the package either using [NPM](https://www.npmjs.com/package/web3-eth) or using [Yarn](https://yarnpkg.com/package/web3-eth)

### Using NPM

```bash
npm install web3-eth
```

### Using Yarn

```bash
yarn add web3-eth
```

## Usage

```js
const Web3Eth = require('web3-eth');

const eth = new Web3Eth('ws://localhost:8546');
```

## Types

All the TypeScript typings are placed in the `types` folder.

[docs]: http://web3js.readthedocs.io/en/1.0/
[repo]: https://github.com/ethereum/web3-eth.js
[npm-image]: https://img.shields.io/npm/v/web3-eth.svg
[npm-url]: https://npmjs.org/package/web3-eth
36 changes: 36 additions & 0 deletions packages/web3-eth/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"name": "@artela/web3-eth",
"version": "1.9.16",
"description": "Web3 module to interact with the Artela aspects.",
"repository": "https://github.com/artela-network/web3.js/tree/1.x/packages/web3-eth",
"license": "LGPL-3.0",
"engines": {
"node": ">=8.0.0"
},
"types": "types/index.d.ts",
"scripts": {
"compile": "tsc -b tsconfig.json",
"dtslint": "dtslint --localTs ../../node_modules/typescript/lib types"
},
"main": "lib/index.js",
"dependencies": {
"@artela/web3-core": "1.9.15",
"@artela/web3-core-method": "1.9.15",
"@artela/web3-eth-contract": "1.9.15",
"@artela/web3-utils": "1.9.8",
"web3-core-helpers": "1.9.0",
"web3-core-subscriptions": "1.9.0",
"web3-eth-abi": "1.9.0",
"web3-eth-accounts": "1.9.0",
"web3-eth-ens": "1.9.0",
"web3-eth-iban": "1.9.0",
"web3-eth-personal": "1.9.0",
"web3-net": "1.9.0"
},
"devDependencies": {
"web3-eth": "1.9.0",
"dtslint": "^3.4.1",
"typescript": "4.1"
},
"gitHead": "3ad3460e41163b01e0f48465365d557d0a49fdaf"
}
76 changes: 76 additions & 0 deletions packages/web3-eth/src/getNetworkType.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/*
This file is part of web3.js.
web3.js is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
web3.js is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with web3.js. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file getNetworkType.js
* @author Fabian Vogelsteller <[email protected]>
* @date 2017
*/

"use strict";

var getNetworkType = function (callback) {
var _this = this,
id;


return this.net.getId()
.then(function (givenId) {

id = givenId;

return _this.getBlock(0);
})
.then(function (genesis) {
var returnValue = 'private';

if (genesis.hash === '0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3' &&
id === 1) {
returnValue = 'main';
}
if (genesis.hash === '0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d' &&
id === 3) {
returnValue = 'ropsten';
}
if (genesis.hash === '0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177' &&
id === 4) {
returnValue = 'rinkeby';
}
if (genesis.hash === '0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a' &&
id === 5) {
returnValue = 'goerli';
}
if (genesis.hash === '0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9' &&
id === 42) {
returnValue = 'kovan';
}

if (typeof callback === 'function') {
callback(null, returnValue);
}

return returnValue;
})
.catch(function (err) {
if (typeof callback === 'function') {
callback(err);
} else {
throw err;
}
});
};

module.exports = getNetworkType;
Loading

0 comments on commit a1e6640

Please sign in to comment.