forked from tornado-packages/ethers.js
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5bee7e5a3 | ||
|
|
442553620a | ||
|
|
6d08968b87 | ||
|
|
c2ce59f95e |
2
_version.d.ts
vendored
2
_version.d.ts
vendored
@@ -1 +1 @@
|
||||
export declare const version = "4.0.20";
|
||||
export declare const version = "4.0.21";
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.version = "4.0.20";
|
||||
exports.version = "4.0.21";
|
||||
|
||||
12
contract.js
12
contract.js
@@ -304,7 +304,6 @@ var Contract = /** @class */ (function () {
|
||||
}
|
||||
return address;
|
||||
}).catch(function (error) {
|
||||
console.log('ERROR: Cannot find Contract - ' + addressOrName);
|
||||
throw error;
|
||||
}));
|
||||
}
|
||||
@@ -323,7 +322,7 @@ var Contract = /** @class */ (function () {
|
||||
properties_1.defineReadOnly(_this, name, run);
|
||||
}
|
||||
else {
|
||||
console.log('WARNING: Multiple definitions for ' + name);
|
||||
errors.warn('WARNING: Multiple definitions for ' + name);
|
||||
}
|
||||
if (_this.functions[name] == null) {
|
||||
properties_1.defineReadOnly(_this.functions, name, run);
|
||||
@@ -555,12 +554,19 @@ var Contract = /** @class */ (function () {
|
||||
}).map(function (event) { return event.listener; });
|
||||
};
|
||||
Contract.prototype.removeAllListeners = function (eventName) {
|
||||
var _this = this;
|
||||
if (!this.provider) {
|
||||
return this;
|
||||
}
|
||||
var eventFilter = this._getEventFilter(eventName);
|
||||
this._events = this._events.filter(function (event) {
|
||||
return event.eventFilter.eventTag !== eventFilter.eventTag;
|
||||
// Keep all other events
|
||||
if (event.eventFilter.eventTag !== eventFilter.eventTag) {
|
||||
return true;
|
||||
}
|
||||
// Deregister this event from the provider and filter it out
|
||||
_this.provider.removeListener(event.eventFilter.filter, event.wrappedListener);
|
||||
return false;
|
||||
});
|
||||
return this;
|
||||
};
|
||||
|
||||
72
dist/ethers.js
vendored
72
dist/ethers.js
vendored
@@ -1,7 +1,7 @@
|
||||
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.ethers = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.version = "4.0.20";
|
||||
exports.version = "4.0.21";
|
||||
|
||||
},{}],2:[function(require,module,exports){
|
||||
"use strict";
|
||||
@@ -352,7 +352,6 @@ var Contract = /** @class */ (function () {
|
||||
}
|
||||
return address;
|
||||
}).catch(function (error) {
|
||||
console.log('ERROR: Cannot find Contract - ' + addressOrName);
|
||||
throw error;
|
||||
}));
|
||||
}
|
||||
@@ -371,7 +370,7 @@ var Contract = /** @class */ (function () {
|
||||
properties_1.defineReadOnly(_this, name, run);
|
||||
}
|
||||
else {
|
||||
console.log('WARNING: Multiple definitions for ' + name);
|
||||
errors.warn('WARNING: Multiple definitions for ' + name);
|
||||
}
|
||||
if (_this.functions[name] == null) {
|
||||
properties_1.defineReadOnly(_this.functions, name, run);
|
||||
@@ -603,12 +602,19 @@ var Contract = /** @class */ (function () {
|
||||
}).map(function (event) { return event.listener; });
|
||||
};
|
||||
Contract.prototype.removeAllListeners = function (eventName) {
|
||||
var _this = this;
|
||||
if (!this.provider) {
|
||||
return this;
|
||||
}
|
||||
var eventFilter = this._getEventFilter(eventName);
|
||||
this._events = this._events.filter(function (event) {
|
||||
return event.eventFilter.eventTag !== eventFilter.eventTag;
|
||||
// Keep all other events
|
||||
if (event.eventFilter.eventTag !== eventFilter.eventTag) {
|
||||
return true;
|
||||
}
|
||||
// Deregister this event from the provider and filter it out
|
||||
_this.provider.removeListener(event.eventFilter.filter, event.wrappedListener);
|
||||
return false;
|
||||
});
|
||||
return this;
|
||||
};
|
||||
@@ -880,6 +886,39 @@ function checkNormalize() {
|
||||
}
|
||||
}
|
||||
exports.checkNormalize = checkNormalize;
|
||||
var LogLevels = { debug: 1, "default": 2, info: 2, warn: 3, error: 4, off: 5 };
|
||||
var LogLevel = LogLevels["default"];
|
||||
function setLogLevel(logLevel) {
|
||||
var level = LogLevels[logLevel];
|
||||
if (level == null) {
|
||||
warn("invliad log level - " + logLevel);
|
||||
return;
|
||||
}
|
||||
LogLevel = level;
|
||||
}
|
||||
exports.setLogLevel = setLogLevel;
|
||||
function log(logLevel, args) {
|
||||
if (LogLevel > LogLevels[logLevel]) {
|
||||
return;
|
||||
}
|
||||
console.log.apply(console, args);
|
||||
}
|
||||
function warn() {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
log("warn", args);
|
||||
}
|
||||
exports.warn = warn;
|
||||
function info() {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
log("info", args);
|
||||
}
|
||||
exports.info = info;
|
||||
|
||||
},{"./_version":1}],6:[function(require,module,exports){
|
||||
'use strict';
|
||||
@@ -10957,7 +10996,7 @@ var BaseProvider = /** @class */ (function (_super) {
|
||||
return null;
|
||||
};
|
||||
BaseProvider.prototype._startPending = function () {
|
||||
console.log('WARNING: this provider does not support pending events');
|
||||
errors.warn('WARNING: this provider does not support pending events');
|
||||
};
|
||||
BaseProvider.prototype._stopPending = function () {
|
||||
};
|
||||
@@ -11584,7 +11623,7 @@ var InfuraProvider = /** @class */ (function (_super) {
|
||||
return _this;
|
||||
}
|
||||
InfuraProvider.prototype._startPending = function () {
|
||||
console.log('WARNING: INFURA does not support pending filters');
|
||||
errors.warn('WARNING: INFURA does not support pending filters');
|
||||
};
|
||||
InfuraProvider.prototype.getSigner = function (address) {
|
||||
errors.throwError('INFURA does not support signing', errors.UNSUPPORTED_OPERATION, { operation: 'getSigner' });
|
||||
@@ -12283,7 +12322,7 @@ function parseSignatureEvent(fragment) {
|
||||
case '':
|
||||
break;
|
||||
default:
|
||||
console.log('unknown modifier: ' + modifier);
|
||||
errors.info('unknown modifier: ' + modifier);
|
||||
}
|
||||
});
|
||||
if (abi.name && !abi.name.match(regexIdentifier)) {
|
||||
@@ -12347,7 +12386,7 @@ function parseSignatureFunction(fragment) {
|
||||
case '':
|
||||
break;
|
||||
default:
|
||||
console.log('unknown modifier: ' + modifier);
|
||||
errors.info('unknown modifier: ' + modifier);
|
||||
}
|
||||
});
|
||||
// We have outputs
|
||||
@@ -14344,9 +14383,14 @@ function addMethod(method) {
|
||||
signature: signature,
|
||||
sighash: sighash,
|
||||
});
|
||||
// Expose the first (and hopefully unique named function
|
||||
if (method.name && this.functions[method.name] == null) {
|
||||
properties_1.defineReadOnly(this.functions, method.name, description);
|
||||
// Expose the first (and hopefully unique named function)
|
||||
if (method.name) {
|
||||
if (this.functions[method.name] == null) {
|
||||
properties_1.defineReadOnly(this.functions, method.name, description);
|
||||
}
|
||||
else {
|
||||
errors.warn('WARNING: Multiple definitions for ' + method.name);
|
||||
}
|
||||
}
|
||||
// Expose all methods by their signature, for overloaded functions
|
||||
if (this.functions[description.signature] == null) {
|
||||
@@ -14377,7 +14421,7 @@ function addMethod(method) {
|
||||
// Nothing to do for fallback
|
||||
break;
|
||||
default:
|
||||
console.log('WARNING: unsupported ABI type - ' + method.type);
|
||||
errors.warn('WARNING: unsupported ABI type - ' + method.type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -15827,7 +15871,7 @@ function parse(rawTransaction) {
|
||||
tx.v = bignumber_1.bigNumberify(transaction[6]).toNumber();
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
errors.info(error);
|
||||
return tx;
|
||||
}
|
||||
tx.r = bytes_1.hexZeroPad(transaction[7], 32);
|
||||
@@ -15856,7 +15900,7 @@ function parse(rawTransaction) {
|
||||
tx.from = secp256k1_1.recoverAddress(digest, { r: bytes_1.hexlify(tx.r), s: bytes_1.hexlify(tx.s), recoveryParam: recoveryParam });
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
errors.info(error);
|
||||
}
|
||||
tx.hash = keccak256_1.keccak256(rawTransaction);
|
||||
}
|
||||
|
||||
2
dist/ethers.min.js
vendored
2
dist/ethers.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/ethers.min.js.map
vendored
2
dist/ethers.min.js.map
vendored
File diff suppressed because one or more lines are too long
5
dist/ethers.types.txt
vendored
5
dist/ethers.types.txt
vendored
@@ -189,6 +189,9 @@ declare module 'ethers/errors' {
|
||||
export function checkArgumentCount(count: number, expectedCount: number, suffix?: string): void;
|
||||
export function setCensorship(censorship: boolean, permanent?: boolean): void;
|
||||
export function checkNormalize(): void;
|
||||
export function setLogLevel(logLevel: string): void;
|
||||
export function warn(...args: Array<any>): void;
|
||||
export function info(...args: Array<any>): void;
|
||||
}
|
||||
|
||||
declare module 'ethers/providers' {
|
||||
@@ -262,7 +265,7 @@ declare module 'ethers/utils/shims' {
|
||||
}
|
||||
|
||||
declare module 'ethers/_version' {
|
||||
export const version = "4.0.20";
|
||||
export const version = "4.0.21";
|
||||
}
|
||||
|
||||
declare module 'ethers/utils/bignumber' {
|
||||
|
||||
3
errors.d.ts
vendored
3
errors.d.ts
vendored
@@ -15,3 +15,6 @@ export declare function checkNew(self: any, kind: any): void;
|
||||
export declare function checkArgumentCount(count: number, expectedCount: number, suffix?: string): void;
|
||||
export declare function setCensorship(censorship: boolean, permanent?: boolean): void;
|
||||
export declare function checkNormalize(): void;
|
||||
export declare function setLogLevel(logLevel: string): void;
|
||||
export declare function warn(...args: Array<any>): void;
|
||||
export declare function info(...args: Array<any>): void;
|
||||
|
||||
33
errors.js
33
errors.js
@@ -128,3 +128,36 @@ function checkNormalize() {
|
||||
}
|
||||
}
|
||||
exports.checkNormalize = checkNormalize;
|
||||
var LogLevels = { debug: 1, "default": 2, info: 2, warn: 3, error: 4, off: 5 };
|
||||
var LogLevel = LogLevels["default"];
|
||||
function setLogLevel(logLevel) {
|
||||
var level = LogLevels[logLevel];
|
||||
if (level == null) {
|
||||
warn("invliad log level - " + logLevel);
|
||||
return;
|
||||
}
|
||||
LogLevel = level;
|
||||
}
|
||||
exports.setLogLevel = setLogLevel;
|
||||
function log(logLevel, args) {
|
||||
if (LogLevel > LogLevels[logLevel]) {
|
||||
return;
|
||||
}
|
||||
console.log.apply(console, args);
|
||||
}
|
||||
function warn() {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
log("warn", args);
|
||||
}
|
||||
exports.warn = warn;
|
||||
function info() {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
log("info", args);
|
||||
}
|
||||
exports.info = info;
|
||||
|
||||
2
package-lock.json
generated
2
package-lock.json
generated
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ethers",
|
||||
"version": "4.0.20",
|
||||
"version": "4.0.21",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ethers",
|
||||
"version": "4.0.20",
|
||||
"version": "4.0.21",
|
||||
"description": "Ethereum wallet library.",
|
||||
"main": "./index.js",
|
||||
"types": "./index.d.ts",
|
||||
|
||||
@@ -1088,7 +1088,7 @@ var BaseProvider = /** @class */ (function (_super) {
|
||||
return null;
|
||||
};
|
||||
BaseProvider.prototype._startPending = function () {
|
||||
console.log('WARNING: this provider does not support pending events');
|
||||
errors.warn('WARNING: this provider does not support pending events');
|
||||
};
|
||||
BaseProvider.prototype._stopPending = function () {
|
||||
};
|
||||
|
||||
@@ -49,7 +49,7 @@ var InfuraProvider = /** @class */ (function (_super) {
|
||||
return _this;
|
||||
}
|
||||
InfuraProvider.prototype._startPending = function () {
|
||||
console.log('WARNING: INFURA does not support pending filters');
|
||||
errors.warn('WARNING: INFURA does not support pending filters');
|
||||
};
|
||||
InfuraProvider.prototype.getSigner = function (address) {
|
||||
errors.throwError('INFURA does not support signing', errors.UNSUPPORTED_OPERATION, { operation: 'getSigner' });
|
||||
|
||||
@@ -1 +1 @@
|
||||
export const version = "4.0.20";
|
||||
export const version = "4.0.21";
|
||||
|
||||
@@ -696,7 +696,15 @@ export class Contract {
|
||||
|
||||
let eventFilter = this._getEventFilter(eventName);
|
||||
this._events = this._events.filter((event) => {
|
||||
return event.eventFilter.eventTag !== eventFilter.eventTag
|
||||
|
||||
// Keep all other events
|
||||
if (event.eventFilter.eventTag !== eventFilter.eventTag) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Deregister this event from the provider and filter it out
|
||||
this.provider.removeListener(event.eventFilter.filter, event.wrappedListener);
|
||||
return false;
|
||||
});
|
||||
|
||||
return this;
|
||||
|
||||
@@ -109,7 +109,7 @@ export class HDNode {
|
||||
// Base path
|
||||
var mnemonic = this.mnemonic;
|
||||
var path = this.path;
|
||||
if (path) { path += '/' + index; }
|
||||
if (path) { path += '/' + (index & ~HardenedBit); }
|
||||
|
||||
if (index & HardenedBit) {
|
||||
// Data = 0x00 || ser_256(k_par)
|
||||
|
||||
@@ -438,6 +438,7 @@ export function encrypt(privateKey: Arrayish | SigningKey, password: Arrayish |
|
||||
gethFilename: ('UTC--' + timestamp + '--' + data.address),
|
||||
mnemonicCounter: hexlify(mnemonicIv).substring(2),
|
||||
mnemonicCiphertext: hexlify(mnemonicCiphertext).substring(2),
|
||||
path: path,
|
||||
version: "0.1"
|
||||
};
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ export class Wallet extends AbstractSigner {
|
||||
get address(): string { return this.signingKey.address; }
|
||||
|
||||
get mnemonic(): string { return this.signingKey.mnemonic; }
|
||||
get path(): string { return this.signingKey.mnemonic; }
|
||||
get path(): string { return this.signingKey.path; }
|
||||
|
||||
get privateKey(): string { return this.signingKey.privateKey; }
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ describe('Test JSON Wallets', function() {
|
||||
// A few extra test cases to test encrypting/decrypting
|
||||
['one', 'two', 'three'].forEach(function(i) {
|
||||
var password = 'foobar' + i;
|
||||
var wallet = new Wallet(utils.randomHexString('test-' + i, 32));
|
||||
var wallet = Wallet.createRandom({ path: "m/56'/82", extraEntropy: utils.randomHexString('test-' + i, 32) });
|
||||
it('encrypts and decrypts a random wallet - ' + i, function() {
|
||||
this.timeout(1200000);
|
||||
|
||||
@@ -39,6 +39,10 @@ describe('Test JSON Wallets', function() {
|
||||
return Wallet.fromEncryptedJson(json, password).then(function(decryptedWallet) {
|
||||
assert.equal(decryptedWallet.address, wallet.address,
|
||||
'decrypted wallet - ' + wallet.privateKey);
|
||||
assert.equal(decryptedWallet.mnemonic, wallet.mnemonic,
|
||||
"decrypted wallet menonic - " + wallet.privateKey);
|
||||
assert.equal(decryptedWallet.path, wallet.path,
|
||||
"decrypted wallet path - " + wallet.privateKey);
|
||||
return decryptedWallet.encrypt(password).then(function(encryptedWallet) {
|
||||
var parsedWallet = JSON.parse(encryptedWallet);
|
||||
assert.equal(decryptedWallet.address.toLowerCase().substring(2), parsedWallet.address,
|
||||
|
||||
@@ -196,7 +196,7 @@ function parseSignatureEvent(fragment) {
|
||||
case '':
|
||||
break;
|
||||
default:
|
||||
console.log('unknown modifier: ' + modifier);
|
||||
errors.info('unknown modifier: ' + modifier);
|
||||
}
|
||||
});
|
||||
if (abi.name && !abi.name.match(regexIdentifier)) {
|
||||
@@ -260,7 +260,7 @@ function parseSignatureFunction(fragment) {
|
||||
case '':
|
||||
break;
|
||||
default:
|
||||
console.log('unknown modifier: ' + modifier);
|
||||
errors.info('unknown modifier: ' + modifier);
|
||||
}
|
||||
});
|
||||
// We have outputs
|
||||
|
||||
@@ -253,9 +253,14 @@ function addMethod(method) {
|
||||
signature: signature,
|
||||
sighash: sighash,
|
||||
});
|
||||
// Expose the first (and hopefully unique named function
|
||||
if (method.name && this.functions[method.name] == null) {
|
||||
properties_1.defineReadOnly(this.functions, method.name, description);
|
||||
// Expose the first (and hopefully unique named function)
|
||||
if (method.name) {
|
||||
if (this.functions[method.name] == null) {
|
||||
properties_1.defineReadOnly(this.functions, method.name, description);
|
||||
}
|
||||
else {
|
||||
errors.warn('WARNING: Multiple definitions for ' + method.name);
|
||||
}
|
||||
}
|
||||
// Expose all methods by their signature, for overloaded functions
|
||||
if (this.functions[description.signature] == null) {
|
||||
@@ -286,7 +291,7 @@ function addMethod(method) {
|
||||
// Nothing to do for fallback
|
||||
break;
|
||||
default:
|
||||
console.log('WARNING: unsupported ABI type - ' + method.type);
|
||||
errors.warn('WARNING: unsupported ABI type - ' + method.type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ function parse(rawTransaction) {
|
||||
tx.v = bignumber_1.bigNumberify(transaction[6]).toNumber();
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
errors.info(error);
|
||||
return tx;
|
||||
}
|
||||
tx.r = bytes_1.hexZeroPad(transaction[7], 32);
|
||||
@@ -138,7 +138,7 @@ function parse(rawTransaction) {
|
||||
tx.from = secp256k1_1.recoverAddress(digest, { r: bytes_1.hexlify(tx.r), s: bytes_1.hexlify(tx.s), recoveryParam: recoveryParam });
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
errors.info(error);
|
||||
}
|
||||
tx.hash = keccak256_1.keccak256(rawTransaction);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user