Change to @tornado/ethers and use @tornado/noble-curves
Some checks failed
Generate Documentation / Generate Documentation (push) Has been cancelled
Browser Tests / Run Browser Tests (push) Has been cancelled
CI Tests / Run Node.js Tests (18.x, commonjs) (push) Has been cancelled
CI Tests / Run Node.js Tests (18.x, esm) (push) Has been cancelled
CI Tests / Run Node.js Tests (20.x, commonjs) (push) Has been cancelled
CI Tests / Run Node.js Tests (20.x, esm) (push) Has been cancelled
CI Tests / Generate Coverage Report (push) Has been cancelled
Environment Tests / Test TypeScript Environments (commonjs, node) (push) Has been cancelled
Environment Tests / Test TypeScript Environments (commonjs, node16) (push) Has been cancelled
Environment Tests / Test TypeScript Environments (commonjs, nodenext) (push) Has been cancelled
Environment Tests / Test TypeScript Environments (es2020, node) (push) Has been cancelled
Environment Tests / Test TypeScript Environments (es2020, node16) (push) Has been cancelled
Environment Tests / Test TypeScript Environments (es2020, nodenext) (push) Has been cancelled
Environment Tests / Test Angular Environment (push) Has been cancelled
Some checks failed
Generate Documentation / Generate Documentation (push) Has been cancelled
Browser Tests / Run Browser Tests (push) Has been cancelled
CI Tests / Run Node.js Tests (18.x, commonjs) (push) Has been cancelled
CI Tests / Run Node.js Tests (18.x, esm) (push) Has been cancelled
CI Tests / Run Node.js Tests (20.x, commonjs) (push) Has been cancelled
CI Tests / Run Node.js Tests (20.x, esm) (push) Has been cancelled
CI Tests / Generate Coverage Report (push) Has been cancelled
Environment Tests / Test TypeScript Environments (commonjs, node) (push) Has been cancelled
Environment Tests / Test TypeScript Environments (commonjs, node16) (push) Has been cancelled
Environment Tests / Test TypeScript Environments (commonjs, nodenext) (push) Has been cancelled
Environment Tests / Test TypeScript Environments (es2020, node) (push) Has been cancelled
Environment Tests / Test TypeScript Environments (es2020, node16) (push) Has been cancelled
Environment Tests / Test TypeScript Environments (es2020, nodenext) (push) Has been cancelled
Environment Tests / Test Angular Environment (push) Has been cancelled
This commit is contained in:
parent
b553b1bc43
commit
053ca44133
1
.npmrc
Normal file
1
.npmrc
Normal file
@ -0,0 +1 @@
|
||||
@tornado:registry=https://git.tornado.ws/api/packages/tornado-packages/npm/
|
5294
package-lock.json
generated
5294
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
250
package.json
250
package.json
@ -1,135 +1,135 @@
|
||||
{
|
||||
"author": "Richard Moore <me@ricmoo.com>",
|
||||
"browser": {
|
||||
"./lib.esm/crypto/crypto.js": "./lib.esm/crypto/crypto-browser.js",
|
||||
"./lib.esm/providers/provider-ipcsocket.js": "./lib.esm/providers/provider-ipcsocket-browser.js",
|
||||
"./lib.esm/providers/ws.js": "./lib.esm/providers/ws-browser.js",
|
||||
"./lib.esm/utils/base64.js": "./lib.esm/utils/base64-browser.js",
|
||||
"./lib.esm/utils/geturl.js": "./lib.esm/utils/geturl-browser.js",
|
||||
"./lib.esm/wordlists/wordlists.js": "./lib.esm/wordlists/wordlists-browser.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@adraffy/ens-normalize": "1.10.1",
|
||||
"@noble/curves": "1.2.0",
|
||||
"@noble/hashes": "1.3.2",
|
||||
"@types/node": "18.15.13",
|
||||
"aes-js": "4.0.0-beta.5",
|
||||
"tslib": "2.4.0",
|
||||
"ws": "8.5.0"
|
||||
},
|
||||
"description": "A complete and compact Ethereum library, for dapps, wallets and any other tools.",
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-node-resolve": "15.0.2",
|
||||
"@types/mocha": "9.1.1",
|
||||
"@types/semver": "7.5.0",
|
||||
"c8": "7.12.0",
|
||||
"mocha": "10.0.0",
|
||||
"rollup": "3.21.5",
|
||||
"semver": "7.5.4",
|
||||
"typescript": "5.0.4",
|
||||
"uglify-js": "3.17.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"ethereum": "donations.ethers.eth",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": "./lib.esm/index.js",
|
||||
"default": "./lib.commonjs/index.js"
|
||||
"author": "Richard Moore <me@ricmoo.com>",
|
||||
"browser": {
|
||||
"./lib.esm/crypto/crypto.js": "./lib.esm/crypto/crypto-browser.js",
|
||||
"./lib.esm/providers/provider-ipcsocket.js": "./lib.esm/providers/provider-ipcsocket-browser.js",
|
||||
"./lib.esm/providers/ws.js": "./lib.esm/providers/ws-browser.js",
|
||||
"./lib.esm/utils/base64.js": "./lib.esm/utils/base64-browser.js",
|
||||
"./lib.esm/utils/geturl.js": "./lib.esm/utils/geturl-browser.js",
|
||||
"./lib.esm/wordlists/wordlists.js": "./lib.esm/wordlists/wordlists-browser.js"
|
||||
},
|
||||
"./abi": {
|
||||
"import": "./lib.esm/abi/index.js",
|
||||
"default": "./lib.commonjs/abi/index.js"
|
||||
"dependencies": {
|
||||
"@adraffy/ens-normalize": "1.10.1",
|
||||
"@tornado/noble-curves": "1.4.0",
|
||||
"@noble/hashes": "1.3.2",
|
||||
"@types/node": "18.15.13",
|
||||
"aes-js": "4.0.0-beta.5",
|
||||
"tslib": "2.4.0",
|
||||
"ws": "8.5.0"
|
||||
},
|
||||
"./address": {
|
||||
"import": "./lib.esm/address/index.js",
|
||||
"default": "./lib.commonjs/address/index.js"
|
||||
"description": "A complete and compact Ethereum library, for dapps, wallets and any other tools.",
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-node-resolve": "15.0.2",
|
||||
"@types/mocha": "9.1.1",
|
||||
"@types/semver": "7.5.0",
|
||||
"c8": "7.12.0",
|
||||
"mocha": "10.0.0",
|
||||
"rollup": "3.21.5",
|
||||
"semver": "7.5.4",
|
||||
"typescript": "5.0.4",
|
||||
"uglify-js": "3.17.0"
|
||||
},
|
||||
"./constants": {
|
||||
"import": "./lib.esm/constants/index.js",
|
||||
"default": "./lib.commonjs/constants/index.js"
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"./contract": {
|
||||
"import": "./lib.esm/contract/index.js",
|
||||
"default": "./lib.commonjs/contract/index.js"
|
||||
"ethereum": "donations.ethers.eth",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": "./lib.esm/index.js",
|
||||
"default": "./lib.commonjs/index.js"
|
||||
},
|
||||
"./abi": {
|
||||
"import": "./lib.esm/abi/index.js",
|
||||
"default": "./lib.commonjs/abi/index.js"
|
||||
},
|
||||
"./address": {
|
||||
"import": "./lib.esm/address/index.js",
|
||||
"default": "./lib.commonjs/address/index.js"
|
||||
},
|
||||
"./constants": {
|
||||
"import": "./lib.esm/constants/index.js",
|
||||
"default": "./lib.commonjs/constants/index.js"
|
||||
},
|
||||
"./contract": {
|
||||
"import": "./lib.esm/contract/index.js",
|
||||
"default": "./lib.commonjs/contract/index.js"
|
||||
},
|
||||
"./crypto": {
|
||||
"import": "./lib.esm/crypto/index.js",
|
||||
"default": "./lib.commonjs/crypto/index.js"
|
||||
},
|
||||
"./hash": {
|
||||
"import": "./lib.esm/hash/index.js",
|
||||
"default": "./lib.commonjs/hash/index.js"
|
||||
},
|
||||
"./providers": {
|
||||
"import": "./lib.esm/providers/index.js",
|
||||
"default": "./lib.commonjs/providers/index.js"
|
||||
},
|
||||
"./transaction": {
|
||||
"import": "./lib.esm/transaction/index.js",
|
||||
"default": "./lib.commonjs/transaction/index.js"
|
||||
},
|
||||
"./utils": {
|
||||
"import": "./lib.esm/utils/index.js",
|
||||
"default": "./lib.commonjs/utils/index.js"
|
||||
},
|
||||
"./wallet": {
|
||||
"import": "./lib.esm/wallet/index.js",
|
||||
"default": "./lib.commonjs/wallet/index.js"
|
||||
},
|
||||
"./wordlists": {
|
||||
"import": "./lib.esm/wordlists/index.js",
|
||||
"default": "./lib.commonjs/wordlists/index.js"
|
||||
}
|
||||
},
|
||||
"./crypto": {
|
||||
"import": "./lib.esm/crypto/index.js",
|
||||
"default": "./lib.commonjs/crypto/index.js"
|
||||
"funding": [
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://github.com/sponsors/ethers-io/"
|
||||
},
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://www.buymeacoffee.com/ricmoo"
|
||||
}
|
||||
],
|
||||
"gitHead": "b4aaab8d39fe47f8a1a296fa442f0856f84faf03",
|
||||
"homepage": "https://ethers.org",
|
||||
"keywords": [
|
||||
"ethereum",
|
||||
"ethers",
|
||||
"ethersjs"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "./lib.commonjs/index.js",
|
||||
"module": "./lib.esm/index.js",
|
||||
"name": "@tornado/ethers",
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"tag": "latest"
|
||||
},
|
||||
"./hash": {
|
||||
"import": "./lib.esm/hash/index.js",
|
||||
"default": "./lib.commonjs/hash/index.js"
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/ethers-io/ethers.js.git"
|
||||
},
|
||||
"./providers": {
|
||||
"import": "./lib.esm/providers/index.js",
|
||||
"default": "./lib.commonjs/providers/index.js"
|
||||
"scripts": {
|
||||
"_build-dist": "rollup -c && uglifyjs ./dist/ethers.js -o ./dist/ethers.min.js && uglifyjs ./dist/ethers.umd.js -o ./dist/ethers.umd.min.js && uglifyjs ./dist/wordlists-extra.js -o ./dist/wordlists-extra.min.js",
|
||||
"_dist-stats": "gzip -k9f -S '.gz' ./dist/ethers.min.js && gzip -k9f -S '.gz' ./dist/ethers.umd.min.js && gzip -k9f -S '.gz' ./dist/wordlists-extra.min.js && du -hs ./dist/*.gz && echo '' && du -hs ./dist/*.js",
|
||||
"auto-build": "npm run build -- -w",
|
||||
"build": "tsc --project tsconfig.esm.json",
|
||||
"build-all": "npm run build && npm run build-commonjs",
|
||||
"build-clean": "npm run clean && npm run build && node lib.esm/_admin/update-version.js && node lib.esm/_admin/update-changelog.js && npm run build-all && npm run _build-dist && npm run _dist-stats",
|
||||
"build-commonjs": "tsc --project tsconfig.commonjs.json",
|
||||
"build-dist": "npm run build && npm run _build-dist && npm run _dist-stats",
|
||||
"clean": "rm -rf dist lib.esm lib.commonjs && cp -r misc/basedirs/* .",
|
||||
"postpublish": "node lib.esm/_admin/create-release.js",
|
||||
"stats": "echo 'Dependencies' && npm ls --all --omit=dev",
|
||||
"test": "npm run test-esm",
|
||||
"test-browser": "node lib.esm/_admin/test-browser",
|
||||
"test-commonjs": "mocha --reporter ./reporter.cjs ./lib.commonjs/_tests/test-*.js",
|
||||
"test-coverage": "c8 -o output -r lcov -r text mocha --no-color --reporter ./reporter.cjs ./lib.esm/_tests/test-*.js | tee output/summary.txt",
|
||||
"test-esm": "mocha --trace-warnings --reporter ./reporter.cjs ./lib.esm/_tests/test-*.js"
|
||||
},
|
||||
"./transaction": {
|
||||
"import": "./lib.esm/transaction/index.js",
|
||||
"default": "./lib.commonjs/transaction/index.js"
|
||||
},
|
||||
"./utils": {
|
||||
"import": "./lib.esm/utils/index.js",
|
||||
"default": "./lib.commonjs/utils/index.js"
|
||||
},
|
||||
"./wallet": {
|
||||
"import": "./lib.esm/wallet/index.js",
|
||||
"default": "./lib.commonjs/wallet/index.js"
|
||||
},
|
||||
"./wordlists": {
|
||||
"import": "./lib.esm/wordlists/index.js",
|
||||
"default": "./lib.commonjs/wordlists/index.js"
|
||||
}
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://github.com/sponsors/ethers-io/"
|
||||
},
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://www.buymeacoffee.com/ricmoo"
|
||||
}
|
||||
],
|
||||
"gitHead": "b4aaab8d39fe47f8a1a296fa442f0856f84faf03",
|
||||
"homepage": "https://ethers.org",
|
||||
"keywords": [
|
||||
"ethereum",
|
||||
"ethers",
|
||||
"ethersjs"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "./lib.commonjs/index.js",
|
||||
"module": "./lib.esm/index.js",
|
||||
"name": "ethers",
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"tag": "latest"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/ethers-io/ethers.js.git"
|
||||
},
|
||||
"scripts": {
|
||||
"_build-dist": "rollup -c && uglifyjs ./dist/ethers.js -o ./dist/ethers.min.js && uglifyjs ./dist/ethers.umd.js -o ./dist/ethers.umd.min.js && uglifyjs ./dist/wordlists-extra.js -o ./dist/wordlists-extra.min.js",
|
||||
"_dist-stats": "gzip -k9f -S '.gz' ./dist/ethers.min.js && gzip -k9f -S '.gz' ./dist/ethers.umd.min.js && gzip -k9f -S '.gz' ./dist/wordlists-extra.min.js && du -hs ./dist/*.gz && echo '' && du -hs ./dist/*.js",
|
||||
"auto-build": "npm run build -- -w",
|
||||
"build": "tsc --project tsconfig.esm.json",
|
||||
"build-all": "npm run build && npm run build-commonjs",
|
||||
"build-clean": "npm run clean && npm run build && node lib.esm/_admin/update-version.js && node lib.esm/_admin/update-changelog.js && npm run build-all && npm run _build-dist && npm run _dist-stats",
|
||||
"build-commonjs": "tsc --project tsconfig.commonjs.json",
|
||||
"build-dist": "npm run build && npm run _build-dist && npm run _dist-stats",
|
||||
"clean": "rm -rf dist lib.esm lib.commonjs && cp -r misc/basedirs/* .",
|
||||
"postpublish": "node lib.esm/_admin/create-release.js",
|
||||
"stats": "echo 'Dependencies' && npm ls --all --omit=dev",
|
||||
"test": "npm run test-esm",
|
||||
"test-browser": "node lib.esm/_admin/test-browser",
|
||||
"test-commonjs": "mocha --reporter ./reporter.cjs ./lib.commonjs/_tests/test-*.js",
|
||||
"test-coverage": "c8 -o output -r lcov -r text mocha --no-color --reporter ./reporter.cjs ./lib.esm/_tests/test-*.js | tee output/summary.txt",
|
||||
"test-esm": "mocha --trace-warnings --reporter ./reporter.cjs ./lib.esm/_tests/test-*.js"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"version": "6.12.0"
|
||||
"sideEffects": false,
|
||||
"version": "6.12.0"
|
||||
}
|
||||
|
@ -4,12 +4,9 @@
|
||||
* @_subsection: api/crypto:Signing [about-signing]
|
||||
*/
|
||||
|
||||
import { secp256k1 } from "@noble/curves/secp256k1";
|
||||
import { secp256k1 } from "@tornado/noble-curves/secp256k1";
|
||||
|
||||
import {
|
||||
concat, dataLength, getBytes, getBytesCopy, hexlify, toBeHex,
|
||||
assertArgument
|
||||
} from "../utils/index.js";
|
||||
import { concat, dataLength, getBytes, getBytesCopy, hexlify, toBeHex, assertArgument } from "../utils/index.js";
|
||||
|
||||
import { Signature } from "./signature.js";
|
||||
|
||||
@ -17,7 +14,6 @@ import type { BytesLike } from "../utils/index.js";
|
||||
|
||||
import type { SignatureLike } from "./index.js";
|
||||
|
||||
|
||||
/**
|
||||
* A **SigningKey** provides high-level access to the elliptic curve
|
||||
* cryptography (ECC) operations and key management.
|
||||
@ -36,7 +32,9 @@ export class SigningKey {
|
||||
/**
|
||||
* The private key.
|
||||
*/
|
||||
get privateKey(): string { return this.#privateKey; }
|
||||
get privateKey(): string {
|
||||
return this.#privateKey;
|
||||
}
|
||||
|
||||
/**
|
||||
* The uncompressed public key.
|
||||
@ -44,7 +42,9 @@ export class SigningKey {
|
||||
* This will always begin with the prefix ``0x04`` and be 132
|
||||
* characters long (the ``0x`` prefix and 130 hexadecimal nibbles).
|
||||
*/
|
||||
get publicKey(): string { return SigningKey.computePublicKey(this.#privateKey); }
|
||||
get publicKey(): string {
|
||||
return SigningKey.computePublicKey(this.#privateKey);
|
||||
}
|
||||
|
||||
/**
|
||||
* The compressed public key.
|
||||
@ -53,7 +53,9 @@ export class SigningKey {
|
||||
* and be 68 characters long (the ``0x`` prefix and 33 hexadecimal
|
||||
* nibbles)
|
||||
*/
|
||||
get compressedPublicKey(): string { return SigningKey.computePublicKey(this.#privateKey, true); }
|
||||
get compressedPublicKey(): string {
|
||||
return SigningKey.computePublicKey(this.#privateKey, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the signature of the signed %%digest%%.
|
||||
@ -62,13 +64,13 @@ export class SigningKey {
|
||||
assertArgument(dataLength(digest) === 32, "invalid digest length", "digest", digest);
|
||||
|
||||
const sig = secp256k1.sign(getBytesCopy(digest), getBytesCopy(this.#privateKey), {
|
||||
lowS: true
|
||||
lowS: true,
|
||||
});
|
||||
|
||||
return Signature.from({
|
||||
r: toBeHex(sig.r, 32),
|
||||
s: toBeHex(sig.s, 32),
|
||||
v: (sig.recovery ? 0x1c: 0x1b)
|
||||
v: sig.recovery ? 0x1c : 0x1b,
|
||||
});
|
||||
}
|
||||
|
||||
@ -168,7 +170,7 @@ export class SigningKey {
|
||||
|
||||
const sig = Signature.from(signature);
|
||||
|
||||
let secpSig = secp256k1.Signature.fromCompact(getBytesCopy(concat([ sig.r, sig.s ])));
|
||||
let secpSig = secp256k1.Signature.fromCompact(getBytesCopy(concat([sig.r, sig.s])));
|
||||
secpSig = secpSig.addRecoveryBit(sig.yParity);
|
||||
|
||||
const pubKey = secpSig.recoverPublicKey(getBytesCopy(digest));
|
||||
@ -190,7 +192,6 @@ export class SigningKey {
|
||||
static addPoints(p0: BytesLike, p1: BytesLike, compressed?: boolean): string {
|
||||
const pub0 = secp256k1.ProjectivePoint.fromHex(SigningKey.computePublicKey(p0).substring(2));
|
||||
const pub1 = secp256k1.ProjectivePoint.fromHex(SigningKey.computePublicKey(p1).substring(2));
|
||||
return "0x" + pub0.add(pub1).toHex(!!compressed)
|
||||
return "0x" + pub0.add(pub1).toHex(!!compressed);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,31 +1,26 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"declaration": true,
|
||||
"declarationMap": true,
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"importHelpers": true,
|
||||
"lib": [
|
||||
"es2020",
|
||||
"es5"
|
||||
],
|
||||
"moduleResolution": "node16",
|
||||
"noEmitOnError": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noImplicitAny": true,
|
||||
"noImplicitReturns": true,
|
||||
"noImplicitThis": true,
|
||||
"noUnusedLocals": true,
|
||||
"preserveSymlinks": true,
|
||||
"preserveWatchOutput": true,
|
||||
"pretty": false,
|
||||
"rootDir": "./src.ts",
|
||||
"strict": true,
|
||||
"sourceMap": true,
|
||||
"target": "es2022"
|
||||
},
|
||||
"exclude": [ ],
|
||||
"include": [
|
||||
"./src.ts/**/*.ts"
|
||||
],
|
||||
"compilerOptions": {
|
||||
"declaration": true,
|
||||
"declarationMap": true,
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"importHelpers": true,
|
||||
"lib": ["es2020", "es5"],
|
||||
"moduleResolution": "node16",
|
||||
"noEmitOnError": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noImplicitAny": true,
|
||||
"noImplicitReturns": true,
|
||||
"noImplicitThis": true,
|
||||
"noUnusedLocals": true,
|
||||
"preserveSymlinks": true,
|
||||
"preserveWatchOutput": true,
|
||||
"pretty": false,
|
||||
"rootDir": "./src.ts",
|
||||
"strict": true,
|
||||
"sourceMap": true,
|
||||
"target": "ES2015"
|
||||
},
|
||||
"exclude": [],
|
||||
"include": ["./src.ts/**/*.ts"]
|
||||
}
|
||||
|
@ -1,10 +1,8 @@
|
||||
{
|
||||
"exclude": [
|
||||
"src.ts/_admin/**"
|
||||
],
|
||||
"extends": "./tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"outDir": "./lib.commonjs"
|
||||
}
|
||||
"exclude": ["src.ts/_admin/**"],
|
||||
"extends": "./tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"outDir": "./lib.commonjs"
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user