Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5dcfeeb535 | |||
| cbe40ed00f | |||
| 8f0533b8fb | |||
| 83413781f5 | |||
| 56bfcaf2bf | |||
| b3290710de | |||
| 4c843aa801 | |||
| df09b29be2 | |||
| 4db063aefb | |||
| e2c36196c0 | |||
| c8e11e53a8 | |||
| 71a05d7425 | |||
| 522754d444 | |||
| cb03a39184 |
@@ -1,4 +1,4 @@
|
||||
# coopjs
|
||||
# coopJS
|
||||
|
||||
CoopJS is universal core library for cooperatives.
|
||||
|
||||
@@ -7,7 +7,7 @@ It is based on a singleton model that accepts a configuration and provides acces
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
yarn add coopjs>
|
||||
yarn add https://github.com/DICoop/coopJS#<version from tags, ex. v1.0.0-beta3>
|
||||
```
|
||||
|
||||
Create a chainsMain.ts file with the following content:
|
||||
|
||||
Vendored
+6
@@ -10,4 +10,10 @@ export declare const makeAccount: (username: string, mnemonic: string, wif: stri
|
||||
export declare const makeAccountByMnemonic: (username: string, mnemonic: string) => Promise<AccountData>;
|
||||
export declare const makeAccountByWif: (username: string, wif: string) => Promise<AccountData>;
|
||||
export declare const generateAccount: () => Promise<AccountData>;
|
||||
export declare const checkPublicKey: (accountData: any, permissionName: string, publicKeyToCheck: string) => Promise<boolean>;
|
||||
export declare const generateKeyPair: () => Promise<{
|
||||
mnemonic: string;
|
||||
private_key: any;
|
||||
public_key: any;
|
||||
}>;
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../ts/src/auth/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB,aAAoB,MAAM,4CAU1D,CAAA;AAGD,eAAO,MAAM,uBAAuB,aAAoB,MAAM,iBAK7D,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,WAAW,aAAc,MAAM,YAAY,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,WAO1F,CAAA;AAED,eAAO,MAAM,qBAAqB,aAAoB,MAAM,YAAY,MAAM,yBAO7E,CAAA;AAED,eAAO,MAAM,gBAAgB,aAAoB,MAAM,OAAO,MAAM,yBAQnE,CAAA;AAED,eAAO,MAAM,eAAe,QAAa,QAAQ,WAAW,CAW3D,CAAA"}
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../ts/src/auth/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,oBAAoB,aAAoB,MAAM,4CAU1D,CAAA;AAED,eAAO,MAAM,uBAAuB,aAAoB,MAAM,iBAK7D,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,WAAW,aAAc,MAAM,YAAY,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,WAO1F,CAAA;AAED,eAAO,MAAM,qBAAqB,aAAoB,MAAM,YAAY,MAAM,yBAO7E,CAAA;AAED,eAAO,MAAM,gBAAgB,aAAoB,MAAM,OAAO,MAAM,yBAQnE,CAAA;AAED,eAAO,MAAM,eAAe,QAAa,QAAQ,WAAW,CAW3D,CAAA;AAED,eAAO,MAAM,cAAc,gBAAuB,GAAG,kBAAkB,MAAM,oBAAoB,MAAM,KAAG,QAAQ,OAAO,CAWxH,CAAA;AAGD,eAAO,MAAM,eAAe;;;;EAU3B,CAAA"}
|
||||
Vendored
+74
-2
File diff suppressed because one or more lines are too long
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
export declare const encode_b58: (hex_number: string) => string;
|
||||
export declare const sha256: (hex_str: string) => Promise<string>;
|
||||
export declare const ab2b: (ab: ArrayBuffer) => number[];
|
||||
export declare const to_hex: (bs: number[]) => string;
|
||||
export declare const base64url_decode: (value: string) => ArrayBuffer;
|
||||
//# sourceMappingURL=crypto.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../../ts/src/auth/keys/crypto.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,eAAgB,MAAM,KAAG,MAmB/C,CAAA;AAED,eAAO,MAAM,MAAM,YAAmB,MAAM,KAAG,QAAQ,MAAM,CAM5D,CAAC;AAEF,eAAO,MAAM,IAAI,OAAQ,WAAW,KAAG,MAAM,EAK5C,CAAC;AAEF,eAAO,MAAM,MAAM,OAAQ,MAAM,EAAE,KAAG,MAOrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,WAOhD,CAAC"}
|
||||
Vendored
+98
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
/// <reference path="../../../ts/src/eos-api.d.ts" />
|
||||
export { makePublicKeyByMnemonic, generateAccount, AccountData, makeAccountByMnemonic, makeAccountByWif, } from './auth';
|
||||
export { makePublicKeyByMnemonic, generateAccount, AccountData, makeAccountByMnemonic, makeAccountByWif, generateKeyPair, checkPublicKey } from './auth';
|
||||
export { isValidWif } from './auth/keys/ecc';
|
||||
export { default as ChainsSingleton } from './blockchain/chainsSingleton';
|
||||
export { default as ReadApi } from './blockchain/readApi';
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,gBAAgB,GACnB,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,6BAA6B,CAAA"}
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACjB,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,6BAA6B,CAAA"}
|
||||
Vendored
+4
-2
@@ -4,12 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.BaseContract = exports.ReadApi = exports.ChainsSingleton = exports.isValidWif = exports.makeAccountByWif = exports.makeAccountByMnemonic = exports.generateAccount = exports.makePublicKeyByMnemonic = void 0;
|
||||
exports.BaseContract = exports.ReadApi = exports.ChainsSingleton = exports.isValidWif = exports.checkPublicKey = exports.generateKeyPair = exports.makeAccountByWif = exports.makeAccountByMnemonic = exports.generateAccount = exports.makePublicKeyByMnemonic = void 0;
|
||||
var auth_1 = require("./auth");
|
||||
Object.defineProperty(exports, "makePublicKeyByMnemonic", { enumerable: true, get: function () { return auth_1.makePublicKeyByMnemonic; } });
|
||||
Object.defineProperty(exports, "generateAccount", { enumerable: true, get: function () { return auth_1.generateAccount; } });
|
||||
Object.defineProperty(exports, "makeAccountByMnemonic", { enumerable: true, get: function () { return auth_1.makeAccountByMnemonic; } });
|
||||
Object.defineProperty(exports, "makeAccountByWif", { enumerable: true, get: function () { return auth_1.makeAccountByWif; } });
|
||||
Object.defineProperty(exports, "generateKeyPair", { enumerable: true, get: function () { return auth_1.generateKeyPair; } });
|
||||
Object.defineProperty(exports, "checkPublicKey", { enumerable: true, get: function () { return auth_1.checkPublicKey; } });
|
||||
var ecc_1 = require("./auth/keys/ecc");
|
||||
Object.defineProperty(exports, "isValidWif", { enumerable: true, get: function () { return ecc_1.isValidWif; } });
|
||||
var chainsSingleton_1 = require("./blockchain/chainsSingleton");
|
||||
@@ -18,4 +20,4 @@ var readApi_1 = require("./blockchain/readApi");
|
||||
Object.defineProperty(exports, "ReadApi", { enumerable: true, get: function () { return __importDefault(readApi_1).default; } });
|
||||
var base_1 = require("./blockchain/contracts/base");
|
||||
Object.defineProperty(exports, "BaseContract", { enumerable: true, get: function () { return __importDefault(base_1).default; } });
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVDQUF1Qzs7Ozs7O0FBRXZDLCtCQU1lO0FBTFgsK0dBQUEsdUJBQXVCLE9BQUE7QUFDdkIsdUdBQUEsZUFBZSxPQUFBO0FBRWYsNkdBQUEscUJBQXFCLE9BQUE7QUFDckIsd0dBQUEsZ0JBQWdCLE9BQUE7QUFHcEIsdUNBQTBDO0FBQWxDLGlHQUFBLFVBQVUsT0FBQTtBQUVsQixnRUFBdUU7QUFBL0QsbUlBQUEsT0FBTyxPQUFtQjtBQUVsQyxnREFBdUQ7QUFBL0MsbUhBQUEsT0FBTyxPQUFXO0FBRTFCLG9EQUFtRTtBQUEzRCxxSEFBQSxPQUFPLE9BQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vZW9zLWFwaS5kLnRzXCIgLz5cblxuZXhwb3J0IHtcbiAgICBtYWtlUHVibGljS2V5QnlNbmVtb25pYyxcbiAgICBnZW5lcmF0ZUFjY291bnQsXG4gICAgQWNjb3VudERhdGEsXG4gICAgbWFrZUFjY291bnRCeU1uZW1vbmljLFxuICAgIG1ha2VBY2NvdW50QnlXaWYsXG59IGZyb20gJy4vYXV0aCdcblxuZXhwb3J0IHtpc1ZhbGlkV2lmfSBmcm9tICcuL2F1dGgva2V5cy9lY2MnXG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBDaGFpbnNTaW5nbGV0b259IGZyb20gJy4vYmxvY2tjaGFpbi9jaGFpbnNTaW5nbGV0b24nXG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBSZWFkQXBpfSBmcm9tICcuL2Jsb2NrY2hhaW4vcmVhZEFwaSdcbmV4cG9ydCB7VGFibGVDb2RlQ29uZmlnfSBmcm9tICcuL2Jsb2NrY2hhaW4vdHlwZXMnXG5leHBvcnQge2RlZmF1bHQgYXMgQmFzZUNvbnRyYWN0fSBmcm9tICcuL2Jsb2NrY2hhaW4vY29udHJhY3RzL2Jhc2UnXG4iXX0=
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVDQUF1Qzs7Ozs7O0FBRXZDLCtCQVFlO0FBUFgsK0dBQUEsdUJBQXVCLE9BQUE7QUFDdkIsdUdBQUEsZUFBZSxPQUFBO0FBRWYsNkdBQUEscUJBQXFCLE9BQUE7QUFDckIsd0dBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsdUdBQUEsZUFBZSxPQUFBO0FBQ2Ysc0dBQUEsY0FBYyxPQUFBO0FBR2xCLHVDQUEwQztBQUFsQyxpR0FBQSxVQUFVLE9BQUE7QUFFbEIsZ0VBQXVFO0FBQS9ELG1JQUFBLE9BQU8sT0FBbUI7QUFFbEMsZ0RBQXVEO0FBQS9DLG1IQUFBLE9BQU8sT0FBVztBQUUxQixvREFBbUU7QUFBM0QscUhBQUEsT0FBTyxPQUFnQiIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL2Vvcy1hcGkuZC50c1wiIC8+XG5cbmV4cG9ydCB7XG4gICAgbWFrZVB1YmxpY0tleUJ5TW5lbW9uaWMsXG4gICAgZ2VuZXJhdGVBY2NvdW50LFxuICAgIEFjY291bnREYXRhLFxuICAgIG1ha2VBY2NvdW50QnlNbmVtb25pYyxcbiAgICBtYWtlQWNjb3VudEJ5V2lmLFxuICAgIGdlbmVyYXRlS2V5UGFpcixcbiAgICBjaGVja1B1YmxpY0tleVxufSBmcm9tICcuL2F1dGgnXG5cbmV4cG9ydCB7aXNWYWxpZFdpZn0gZnJvbSAnLi9hdXRoL2tleXMvZWNjJ1xuXG5leHBvcnQge2RlZmF1bHQgYXMgQ2hhaW5zU2luZ2xldG9ufSBmcm9tICcuL2Jsb2NrY2hhaW4vY2hhaW5zU2luZ2xldG9uJ1xuXG5leHBvcnQge2RlZmF1bHQgYXMgUmVhZEFwaX0gZnJvbSAnLi9ibG9ja2NoYWluL3JlYWRBcGknXG5leHBvcnQge1RhYmxlQ29kZUNvbmZpZ30gZnJvbSAnLi9ibG9ja2NoYWluL3R5cGVzJ1xuZXhwb3J0IHtkZWZhdWx0IGFzIEJhc2VDb250cmFjdH0gZnJvbSAnLi9ibG9ja2NoYWluL2NvbnRyYWN0cy9iYXNlJ1xuIl19
|
||||
Vendored
+6
@@ -10,4 +10,10 @@ export declare const makeAccount: (username: string, mnemonic: string, wif: stri
|
||||
export declare const makeAccountByMnemonic: (username: string, mnemonic: string) => Promise<AccountData>;
|
||||
export declare const makeAccountByWif: (username: string, wif: string) => Promise<AccountData>;
|
||||
export declare const generateAccount: () => Promise<AccountData>;
|
||||
export declare const checkPublicKey: (accountData: any, permissionName: string, publicKeyToCheck: string) => Promise<boolean>;
|
||||
export declare const generateKeyPair: () => Promise<{
|
||||
mnemonic: string;
|
||||
private_key: any;
|
||||
public_key: any;
|
||||
}>;
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../ts/src/auth/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB,aAAoB,MAAM,4CAU1D,CAAA;AAGD,eAAO,MAAM,uBAAuB,aAAoB,MAAM,iBAK7D,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,WAAW,aAAc,MAAM,YAAY,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,WAO1F,CAAA;AAED,eAAO,MAAM,qBAAqB,aAAoB,MAAM,YAAY,MAAM,yBAO7E,CAAA;AAED,eAAO,MAAM,gBAAgB,aAAoB,MAAM,OAAO,MAAM,yBAQnE,CAAA;AAED,eAAO,MAAM,eAAe,QAAa,QAAQ,WAAW,CAW3D,CAAA"}
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../ts/src/auth/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,oBAAoB,aAAoB,MAAM,4CAU1D,CAAA;AAED,eAAO,MAAM,uBAAuB,aAAoB,MAAM,iBAK7D,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,WAAW,aAAc,MAAM,YAAY,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,WAO1F,CAAA;AAED,eAAO,MAAM,qBAAqB,aAAoB,MAAM,YAAY,MAAM,yBAO7E,CAAA;AAED,eAAO,MAAM,gBAAgB,aAAoB,MAAM,OAAO,MAAM,yBAQnE,CAAA;AAED,eAAO,MAAM,eAAe,QAAa,QAAQ,WAAW,CAW3D,CAAA;AAED,eAAO,MAAM,cAAc,gBAAuB,GAAG,kBAAkB,MAAM,oBAAoB,MAAM,KAAG,QAAQ,OAAO,CAWxH,CAAA;AAGD,eAAO,MAAM,eAAe;;;;EAU3B,CAAA"}
|
||||
Vendored
+60
-1
File diff suppressed because one or more lines are too long
+6
@@ -0,0 +1,6 @@
|
||||
export declare const encode_b58: (hex_number: string) => string;
|
||||
export declare const sha256: (hex_str: string) => Promise<string>;
|
||||
export declare const ab2b: (ab: ArrayBuffer) => number[];
|
||||
export declare const to_hex: (bs: number[]) => string;
|
||||
export declare const base64url_decode: (value: string) => ArrayBuffer;
|
||||
//# sourceMappingURL=crypto.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../../ts/src/auth/keys/crypto.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,eAAgB,MAAM,KAAG,MAmB/C,CAAA;AAED,eAAO,MAAM,MAAM,YAAmB,MAAM,KAAG,QAAQ,MAAM,CAM5D,CAAC;AAEF,eAAO,MAAM,IAAI,OAAQ,WAAW,KAAG,MAAM,EAK5C,CAAC;AAEF,eAAO,MAAM,MAAM,OAAQ,MAAM,EAAE,KAAG,MAOrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,WAOhD,CAAC"}
|
||||
Vendored
+55
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
/// <reference path="../../../ts/src/eos-api.d.ts" />
|
||||
export { makePublicKeyByMnemonic, generateAccount, AccountData, makeAccountByMnemonic, makeAccountByWif, } from './auth';
|
||||
export { makePublicKeyByMnemonic, generateAccount, AccountData, makeAccountByMnemonic, makeAccountByWif, generateKeyPair, checkPublicKey } from './auth';
|
||||
export { isValidWif } from './auth/keys/ecc';
|
||||
export { default as ChainsSingleton } from './blockchain/chainsSingleton';
|
||||
export { default as ReadApi } from './blockchain/readApi';
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,gBAAgB,GACnB,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,6BAA6B,CAAA"}
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACjB,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,6BAA6B,CAAA"}
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
/// <reference path="./eos-api.d.ts" />
|
||||
export { makePublicKeyByMnemonic, generateAccount, makeAccountByMnemonic, makeAccountByWif, } from './auth';
|
||||
export { makePublicKeyByMnemonic, generateAccount, makeAccountByMnemonic, makeAccountByWif, generateKeyPair, checkPublicKey } from './auth';
|
||||
export { isValidWif } from './auth/keys/ecc';
|
||||
export { default as ChainsSingleton } from './blockchain/chainsSingleton';
|
||||
export { default as ReadApi } from './blockchain/readApi';
|
||||
export { default as BaseContract } from './blockchain/contracts/base';
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBRXZDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsZUFBZSxFQUVmLHFCQUFxQixFQUNyQixnQkFBZ0IsR0FDbkIsTUFBTSxRQUFRLENBQUE7QUFFZixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUE7QUFFMUMsT0FBTyxFQUFDLE9BQU8sSUFBSSxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQTtBQUV2RSxPQUFPLEVBQUMsT0FBTyxJQUFJLE9BQU8sRUFBQyxNQUFNLHNCQUFzQixDQUFBO0FBRXZELE9BQU8sRUFBQyxPQUFPLElBQUksWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9lb3MtYXBpLmQudHNcIiAvPlxuXG5leHBvcnQge1xuICAgIG1ha2VQdWJsaWNLZXlCeU1uZW1vbmljLFxuICAgIGdlbmVyYXRlQWNjb3VudCxcbiAgICBBY2NvdW50RGF0YSxcbiAgICBtYWtlQWNjb3VudEJ5TW5lbW9uaWMsXG4gICAgbWFrZUFjY291bnRCeVdpZixcbn0gZnJvbSAnLi9hdXRoJ1xuXG5leHBvcnQge2lzVmFsaWRXaWZ9IGZyb20gJy4vYXV0aC9rZXlzL2VjYydcblxuZXhwb3J0IHtkZWZhdWx0IGFzIENoYWluc1NpbmdsZXRvbn0gZnJvbSAnLi9ibG9ja2NoYWluL2NoYWluc1NpbmdsZXRvbidcblxuZXhwb3J0IHtkZWZhdWx0IGFzIFJlYWRBcGl9IGZyb20gJy4vYmxvY2tjaGFpbi9yZWFkQXBpJ1xuZXhwb3J0IHtUYWJsZUNvZGVDb25maWd9IGZyb20gJy4vYmxvY2tjaGFpbi90eXBlcydcbmV4cG9ydCB7ZGVmYXVsdCBhcyBCYXNlQ29udHJhY3R9IGZyb20gJy4vYmxvY2tjaGFpbi9jb250cmFjdHMvYmFzZSdcbiJdfQ==
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBRXZDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsZUFBZSxFQUVmLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGNBQWMsRUFDakIsTUFBTSxRQUFRLENBQUE7QUFFZixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUE7QUFFMUMsT0FBTyxFQUFDLE9BQU8sSUFBSSxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQTtBQUV2RSxPQUFPLEVBQUMsT0FBTyxJQUFJLE9BQU8sRUFBQyxNQUFNLHNCQUFzQixDQUFBO0FBRXZELE9BQU8sRUFBQyxPQUFPLElBQUksWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9lb3MtYXBpLmQudHNcIiAvPlxuXG5leHBvcnQge1xuICAgIG1ha2VQdWJsaWNLZXlCeU1uZW1vbmljLFxuICAgIGdlbmVyYXRlQWNjb3VudCxcbiAgICBBY2NvdW50RGF0YSxcbiAgICBtYWtlQWNjb3VudEJ5TW5lbW9uaWMsXG4gICAgbWFrZUFjY291bnRCeVdpZixcbiAgICBnZW5lcmF0ZUtleVBhaXIsXG4gICAgY2hlY2tQdWJsaWNLZXlcbn0gZnJvbSAnLi9hdXRoJ1xuXG5leHBvcnQge2lzVmFsaWRXaWZ9IGZyb20gJy4vYXV0aC9rZXlzL2VjYydcblxuZXhwb3J0IHtkZWZhdWx0IGFzIENoYWluc1NpbmdsZXRvbn0gZnJvbSAnLi9ibG9ja2NoYWluL2NoYWluc1NpbmdsZXRvbidcblxuZXhwb3J0IHtkZWZhdWx0IGFzIFJlYWRBcGl9IGZyb20gJy4vYmxvY2tjaGFpbi9yZWFkQXBpJ1xuZXhwb3J0IHtUYWJsZUNvZGVDb25maWd9IGZyb20gJy4vYmxvY2tjaGFpbi90eXBlcydcbmV4cG9ydCB7ZGVmYXVsdCBhcyBCYXNlQ29udHJhY3R9IGZyb20gJy4vYmxvY2tjaGFpbi9jb250cmFjdHMvYmFzZSdcbiJdfQ==
|
||||
Vendored
+6
@@ -10,4 +10,10 @@ export declare const makeAccount: (username: string, mnemonic: string, wif: stri
|
||||
export declare const makeAccountByMnemonic: (username: string, mnemonic: string) => Promise<AccountData>;
|
||||
export declare const makeAccountByWif: (username: string, wif: string) => Promise<AccountData>;
|
||||
export declare const generateAccount: () => Promise<AccountData>;
|
||||
export declare const checkPublicKey: (accountData: any, permissionName: string, publicKeyToCheck: string) => Promise<boolean>;
|
||||
export declare const generateKeyPair: () => Promise<{
|
||||
mnemonic: string;
|
||||
private_key: any;
|
||||
public_key: any;
|
||||
}>;
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../ts/src/auth/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB,aAAoB,MAAM,4CAU1D,CAAA;AAGD,eAAO,MAAM,uBAAuB,aAAoB,MAAM,iBAK7D,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,WAAW,aAAc,MAAM,YAAY,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,WAO1F,CAAA;AAED,eAAO,MAAM,qBAAqB,aAAoB,MAAM,YAAY,MAAM,yBAO7E,CAAA;AAED,eAAO,MAAM,gBAAgB,aAAoB,MAAM,OAAO,MAAM,yBAQnE,CAAA;AAED,eAAO,MAAM,eAAe,QAAa,QAAQ,WAAW,CAW3D,CAAA"}
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../ts/src/auth/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,oBAAoB,aAAoB,MAAM,4CAU1D,CAAA;AAED,eAAO,MAAM,uBAAuB,aAAoB,MAAM,iBAK7D,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,WAAW,aAAc,MAAM,YAAY,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,WAO1F,CAAA;AAED,eAAO,MAAM,qBAAqB,aAAoB,MAAM,YAAY,MAAM,yBAO7E,CAAA;AAED,eAAO,MAAM,gBAAgB,aAAoB,MAAM,OAAO,MAAM,yBAQnE,CAAA;AAED,eAAO,MAAM,eAAe,QAAa,QAAQ,WAAW,CAW3D,CAAA;AAED,eAAO,MAAM,cAAc,gBAAuB,GAAG,kBAAkB,MAAM,oBAAoB,MAAM,KAAG,QAAQ,OAAO,CAWxH,CAAA;AAGD,eAAO,MAAM,eAAe;;;;EAU3B,CAAA"}
|
||||
Vendored
+71
-1
File diff suppressed because one or more lines are too long
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
export declare const encode_b58: (hex_number: string) => string;
|
||||
export declare const sha256: (hex_str: string) => Promise<string>;
|
||||
export declare const ab2b: (ab: ArrayBuffer) => number[];
|
||||
export declare const to_hex: (bs: number[]) => string;
|
||||
export declare const base64url_decode: (value: string) => ArrayBuffer;
|
||||
//# sourceMappingURL=crypto.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../../ts/src/auth/keys/crypto.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,eAAgB,MAAM,KAAG,MAmB/C,CAAA;AAED,eAAO,MAAM,MAAM,YAAmB,MAAM,KAAG,QAAQ,MAAM,CAM5D,CAAC;AAEF,eAAO,MAAM,IAAI,OAAQ,WAAW,KAAG,MAAM,EAK5C,CAAC;AAEF,eAAO,MAAM,MAAM,OAAQ,MAAM,EAAE,KAAG,MAOrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,WAOhD,CAAC"}
|
||||
Vendored
+90
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
/// <reference path="../../../ts/src/eos-api.d.ts" />
|
||||
export { makePublicKeyByMnemonic, generateAccount, AccountData, makeAccountByMnemonic, makeAccountByWif, } from './auth';
|
||||
export { makePublicKeyByMnemonic, generateAccount, AccountData, makeAccountByMnemonic, makeAccountByWif, generateKeyPair, checkPublicKey } from './auth';
|
||||
export { isValidWif } from './auth/keys/ecc';
|
||||
export { default as ChainsSingleton } from './blockchain/chainsSingleton';
|
||||
export { default as ReadApi } from './blockchain/readApi';
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,gBAAgB,GACnB,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,6BAA6B,CAAA"}
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACjB,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,6BAA6B,CAAA"}
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
/// <reference path="./eos-api.d.ts" />
|
||||
export { makePublicKeyByMnemonic, generateAccount, makeAccountByMnemonic, makeAccountByWif, } from './auth';
|
||||
export { makePublicKeyByMnemonic, generateAccount, makeAccountByMnemonic, makeAccountByWif, generateKeyPair, checkPublicKey } from './auth';
|
||||
export { isValidWif } from './auth/keys/ecc';
|
||||
export { default as ChainsSingleton } from './blockchain/chainsSingleton';
|
||||
export { default as ReadApi } from './blockchain/readApi';
|
||||
export { default as BaseContract } from './blockchain/contracts/base';
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBRXZDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsZUFBZSxFQUVmLHFCQUFxQixFQUNyQixnQkFBZ0IsR0FDbkIsTUFBTSxRQUFRLENBQUE7QUFFZixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUE7QUFFMUMsT0FBTyxFQUFDLE9BQU8sSUFBSSxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQTtBQUV2RSxPQUFPLEVBQUMsT0FBTyxJQUFJLE9BQU8sRUFBQyxNQUFNLHNCQUFzQixDQUFBO0FBRXZELE9BQU8sRUFBQyxPQUFPLElBQUksWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9lb3MtYXBpLmQudHNcIiAvPlxuXG5leHBvcnQge1xuICAgIG1ha2VQdWJsaWNLZXlCeU1uZW1vbmljLFxuICAgIGdlbmVyYXRlQWNjb3VudCxcbiAgICBBY2NvdW50RGF0YSxcbiAgICBtYWtlQWNjb3VudEJ5TW5lbW9uaWMsXG4gICAgbWFrZUFjY291bnRCeVdpZixcbn0gZnJvbSAnLi9hdXRoJ1xuXG5leHBvcnQge2lzVmFsaWRXaWZ9IGZyb20gJy4vYXV0aC9rZXlzL2VjYydcblxuZXhwb3J0IHtkZWZhdWx0IGFzIENoYWluc1NpbmdsZXRvbn0gZnJvbSAnLi9ibG9ja2NoYWluL2NoYWluc1NpbmdsZXRvbidcblxuZXhwb3J0IHtkZWZhdWx0IGFzIFJlYWRBcGl9IGZyb20gJy4vYmxvY2tjaGFpbi9yZWFkQXBpJ1xuZXhwb3J0IHtUYWJsZUNvZGVDb25maWd9IGZyb20gJy4vYmxvY2tjaGFpbi90eXBlcydcbmV4cG9ydCB7ZGVmYXVsdCBhcyBCYXNlQ29udHJhY3R9IGZyb20gJy4vYmxvY2tjaGFpbi9jb250cmFjdHMvYmFzZSdcbiJdfQ==
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBRXZDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsZUFBZSxFQUVmLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGNBQWMsRUFDakIsTUFBTSxRQUFRLENBQUE7QUFFZixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUE7QUFFMUMsT0FBTyxFQUFDLE9BQU8sSUFBSSxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQTtBQUV2RSxPQUFPLEVBQUMsT0FBTyxJQUFJLE9BQU8sRUFBQyxNQUFNLHNCQUFzQixDQUFBO0FBRXZELE9BQU8sRUFBQyxPQUFPLElBQUksWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9lb3MtYXBpLmQudHNcIiAvPlxuXG5leHBvcnQge1xuICAgIG1ha2VQdWJsaWNLZXlCeU1uZW1vbmljLFxuICAgIGdlbmVyYXRlQWNjb3VudCxcbiAgICBBY2NvdW50RGF0YSxcbiAgICBtYWtlQWNjb3VudEJ5TW5lbW9uaWMsXG4gICAgbWFrZUFjY291bnRCeVdpZixcbiAgICBnZW5lcmF0ZUtleVBhaXIsXG4gICAgY2hlY2tQdWJsaWNLZXlcbn0gZnJvbSAnLi9hdXRoJ1xuXG5leHBvcnQge2lzVmFsaWRXaWZ9IGZyb20gJy4vYXV0aC9rZXlzL2VjYydcblxuZXhwb3J0IHtkZWZhdWx0IGFzIENoYWluc1NpbmdsZXRvbn0gZnJvbSAnLi9ibG9ja2NoYWluL2NoYWluc1NpbmdsZXRvbidcblxuZXhwb3J0IHtkZWZhdWx0IGFzIFJlYWRBcGl9IGZyb20gJy4vYmxvY2tjaGFpbi9yZWFkQXBpJ1xuZXhwb3J0IHtUYWJsZUNvZGVDb25maWd9IGZyb20gJy4vYmxvY2tjaGFpbi90eXBlcydcbmV4cG9ydCB7ZGVmYXVsdCBhcyBCYXNlQ29udHJhY3R9IGZyb20gJy4vYmxvY2tjaGFpbi9jb250cmFjdHMvYmFzZSdcbiJdfQ==
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "unicore",
|
||||
"version": "1.16.2",
|
||||
"version": "1.16.8",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "unicore",
|
||||
"version": "1.16.2",
|
||||
"version": "1.16.8",
|
||||
"license": "UNLICENSE",
|
||||
"dependencies": {
|
||||
"@jsdevtools/ono": "^7.1.3",
|
||||
|
||||
+4
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "coopjs",
|
||||
"version": "1.16.2",
|
||||
"version": "1.16.8",
|
||||
"type": "commonjs",
|
||||
"main": "./dist/cjs/src/index.js",
|
||||
"types": "./dist/cjs/src/index.d.ts",
|
||||
@@ -18,7 +18,7 @@
|
||||
"test": "mocha --ui qunit",
|
||||
"testall": "mocha --ui qunit dist/test",
|
||||
"prepack": "npm run clean && npm run build",
|
||||
"release": "yarn prepack && git add . && git commit -a -m 'dist' && release-it && npm publish"
|
||||
"release": "yarn prepack && git add . && git commit -a -m 'dist' && release-it"
|
||||
},
|
||||
"license": "UNLICENSE",
|
||||
"private": true,
|
||||
@@ -54,7 +54,9 @@
|
||||
"eos-encrypt": "^1.0.2",
|
||||
"eosjs": "^22.1.0",
|
||||
"eosjs-api": "^7.0.4",
|
||||
"hash.js": "^1.1.7",
|
||||
"isomorphic-fetch": "^3.0.0",
|
||||
"ripemd160-js": "^2.0.2",
|
||||
"text-encoding": "^0.7.0",
|
||||
"tiny-secp256k1": "^2.2.3",
|
||||
"util": "^0.12.4",
|
||||
|
||||
+87
-1
@@ -6,6 +6,11 @@ import { hdNodeToPublicKeyBuffer, hdNodeToPrivateKeyBuffer, hdToFirstHdNode, see
|
||||
import {hdPublicToEccPublicKey, hdPrivateToWif, isValidWif, privateKeyToPublic, wifToPrivateKey} from './keys/ecc'
|
||||
import { generateAccountName } from "./utils";
|
||||
|
||||
import {to_hex, ab2b, sha256, encode_b58, base64url_decode} from "./keys/crypto";
|
||||
import hash from 'hash.js';
|
||||
|
||||
const { subtle } = globalThis.crypto;
|
||||
|
||||
export const makeHdNodeByMnemonic = async (mnemonic: string) => {
|
||||
if (!isValidMnemonic(mnemonic)) {
|
||||
throw ono(new UniCoreMnemonicParseError('Invalid mnemonic'))
|
||||
@@ -18,7 +23,6 @@ export const makeHdNodeByMnemonic = async (mnemonic: string) => {
|
||||
return hdFirstNode
|
||||
}
|
||||
|
||||
|
||||
export const makePublicKeyByMnemonic = async (mnemonic: string) => {
|
||||
const hdFirstNode = await makeHdNodeByMnemonic(mnemonic)
|
||||
const hdPublicKeyBuffer = hdNodeToPublicKeyBuffer(hdFirstNode)
|
||||
@@ -73,3 +77,85 @@ export const generateAccount = async (): Promise<AccountData> => {
|
||||
|
||||
return makeAccount(name, mnemonic, hdPrivateToWif(hdPrivateKeyBuffer), hdPublicToEccPublicKey(hdPublicKeyBuffer))
|
||||
}
|
||||
|
||||
export const checkPublicKey = async (accountData: any, permissionName: string, publicKeyToCheck: string): Promise<boolean> => {
|
||||
if (!accountData || !permissionName || !publicKeyToCheck) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const permission = accountData.permissions.find((p: any) => p.perm_name === permissionName);
|
||||
if (!permission) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return permission.required_auth.keys.some((key: any) => key.key === publicKeyToCheck);
|
||||
}
|
||||
|
||||
|
||||
export const generateKeyPair = async() => {
|
||||
const mnemonic = generateMnemonic()
|
||||
const seed = await mnemonicToSeed(mnemonic)
|
||||
const hdBase = seedToHd(seed)
|
||||
const hdFirstNode = hdToFirstHdNode(hdBase)
|
||||
|
||||
const hdPublicKeyBuffer = hdNodeToPublicKeyBuffer(hdFirstNode)
|
||||
const hdPrivateKeyBuffer = hdNodeToPrivateKeyBuffer(hdFirstNode)
|
||||
|
||||
return {mnemonic, private_key: hdPrivateToWif(hdPrivateKeyBuffer), public_key: hdPublicToEccPublicKey(hdPublicKeyBuffer)}
|
||||
}
|
||||
// export const generateKeyPair = async() => {
|
||||
// const { privateKey, publicKey } = await subtle.generateKey(
|
||||
// {
|
||||
// name: "ECDSA",
|
||||
// namedCurve: "P-256",
|
||||
// },
|
||||
// true,
|
||||
// ["sign", "verify"]
|
||||
// );
|
||||
|
||||
// let private_jwk = await subtle.exportKey("jwk", privateKey)
|
||||
|
||||
// let private_hex = to_hex(ab2b(base64url_decode(private_jwk.d!)))
|
||||
|
||||
// //SHA-256 hash with a 0x80 byte in front
|
||||
// let private_m256 = await sha256('80'+ private_hex )
|
||||
|
||||
// //SHA-256 hash of the private key
|
||||
// let private_sha256 = await sha256(private_m256)
|
||||
|
||||
// //first 4 bytes of the second SHA-256 hash
|
||||
// let private_four = private_sha256.substr(0,8);
|
||||
|
||||
// //Base58 encode the binary data to get EOS private key
|
||||
// let private_wif = encode_b58('80'+ private_hex + private_four)
|
||||
// console.log("private_jwk: ", private_jwk)
|
||||
|
||||
// let public_jwk = await subtle.exportKey("jwk", publicKey);
|
||||
// console.log("public_jwk: ", public_jwk)
|
||||
|
||||
// const x_binary = ab2b(base64url_decode(public_jwk.x!));
|
||||
// const y_binary = ab2b(base64url_decode(public_jwk.y!));
|
||||
// const public_binary = x_binary.concat(y_binary);
|
||||
|
||||
// console.log("public_binary: ", public_binary)
|
||||
|
||||
|
||||
// const public_ripemd160 = hash.ripemd160().update(new Uint8Array(public_binary)).digest('hex');
|
||||
|
||||
// console.log("public_ripemd160: ", public_ripemd160)
|
||||
// let checksum = public_ripemd160.substr(0, 8); // Первые 4 байта, но в hex формате
|
||||
|
||||
// let public_with_checksum = public_binary.concat(
|
||||
// public_ripemd160.substr(0, 8).split('').map(x => parseInt(x, 16))
|
||||
// );
|
||||
|
||||
// console.log("public_with_checksum: ", public_with_checksum)
|
||||
|
||||
// let public_base58 = encode_b58(public_with_checksum.map(x => x.toString(16)).join(''));
|
||||
|
||||
// console.log("public_base58: ", public_base58)
|
||||
|
||||
// let public_key = "PUB_R1_" + public_base58;
|
||||
// console.log("public_key: ", public_key)
|
||||
// return {private_wif, public_key}
|
||||
// }
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
export const encode_b58 = (hex_number: string): string => {
|
||||
const base58 = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'; // Преобразовано в строку для удобства
|
||||
let num = BigInt(`0x${hex_number}`);
|
||||
const fifty8 = BigInt(58);
|
||||
let remainder: BigInt;
|
||||
let b58_encoded_buffer = '';
|
||||
|
||||
while (num > BigInt(0)) {
|
||||
remainder = num % fifty8;
|
||||
b58_encoded_buffer = base58[Number(remainder)] + b58_encoded_buffer; // Преобразование BigInt в number здесь допустимо, потому что remainder всегда будет меньше 58
|
||||
num = num / fifty8;
|
||||
}
|
||||
|
||||
while (hex_number.match(/^00/)) {
|
||||
b58_encoded_buffer = '1' + b58_encoded_buffer;
|
||||
hex_number = hex_number.substring(2);
|
||||
}
|
||||
|
||||
return b58_encoded_buffer;
|
||||
}
|
||||
|
||||
export const sha256 = async (hex_str: string): Promise<string> => {
|
||||
const typedArray: Uint8Array = new Uint8Array(hex_str.match(/[\da-f]{2}/gi)!.map((h) => parseInt(h, 16)));
|
||||
const hashBuffer: ArrayBuffer = await crypto.subtle.digest('SHA-256', typedArray);
|
||||
const hashArray: number[] = Array.from(new Uint8Array(hashBuffer));
|
||||
const hashHex: string = hashArray.map((bytes) => bytes.toString(16).padStart(2, '0')).join('');
|
||||
return hashHex;
|
||||
};
|
||||
|
||||
export const ab2b = (ab: ArrayBuffer): number[] => {
|
||||
const buffer: number[] = [];
|
||||
const view: Uint8Array = new Uint8Array(ab);
|
||||
for (let i = 0; i < ab.byteLength; i++) buffer[i] = view[i];
|
||||
return buffer;
|
||||
};
|
||||
|
||||
export const to_hex = (bs: number[]): string => {
|
||||
const encoded: string[] = [];
|
||||
for (let i = 0; i < bs.length; i++) {
|
||||
encoded.push('0123456789abcdef'[(bs[i] >> 4) & 15]);
|
||||
encoded.push('0123456789abcdef'[bs[i] & 15]);
|
||||
}
|
||||
return encoded.join('');
|
||||
};
|
||||
|
||||
export const base64url_decode = (value: string): ArrayBuffer => {
|
||||
const m: number = value.length % 4;
|
||||
return Uint8Array.from(atob(
|
||||
value.replace(/-/g, '+')
|
||||
.replace(/_/g, '/')
|
||||
.padEnd(value.length + (m === 0 ? 0 : 4 - m), '=')
|
||||
), (c: string) => c.charCodeAt(0)).buffer;
|
||||
};
|
||||
@@ -6,6 +6,8 @@ export {
|
||||
AccountData,
|
||||
makeAccountByMnemonic,
|
||||
makeAccountByWif,
|
||||
generateKeyPair,
|
||||
checkPublicKey
|
||||
} from './auth'
|
||||
|
||||
export {isValidWif} from './auth/keys/ecc'
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"declarationMap": true,
|
||||
"inlineSourceMap": true,
|
||||
"inlineSources": true,
|
||||
"noImplicitAny": true,
|
||||
"lib": [
|
||||
"es6",
|
||||
"es2021",
|
||||
|
||||
+2762
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user