ethers.js/packages/testcases/src.ts/index.ts

95 lines
2.2 KiB
TypeScript
Raw Normal View History

2019-05-15 01:25:46 +03:00
'use strict';
import fs from 'fs';
import path from 'path';
import zlib from 'browserify-zlib';
2019-11-23 15:15:06 +03:00
import { randomBytes, randomHexString, randomNumber } from "./random";
export { randomBytes, randomHexString, randomNumber };
2019-05-15 01:25:46 +03:00
export module TestCase {
export type HDWalletNode = {
path: string;
address: string;
privateKey: string;
};
export type HDWallet = {
name: string;
seed: string;
locale: string;
password?: string;
entropy: string;
mnemonic: string;
hdnodes: Array<HDWalletNode>
};
2019-08-02 09:10:58 +03:00
export type Nameprep = {
comment: string;
input: Array<number>;
output: Array<number>;
rc?: string;
flags?: string;
};
export type Wallet = {
name: string;
type: "crowdsale" | "secret-storage";
hasAddress: boolean;
address: string;
privateKey: string;
mnemonic?: string;
password?: string;
json: string;
};
2019-05-15 01:25:46 +03:00
export type Wordlist = {
locale: string;
content: string;
};
export type Unit = {
name: string
ether: string,
ether_format: string,
wei: string,
kwei?: string,
mwei?: string,
gwei?: string,
szabo?: string,
finney?: string,
satoshi?: string
kwei_format?: string,
mwei_format?: string,
gwei_format?: string,
szabo_format?: string,
finney_format?: string,
satoshi_format?: string
}
}
export function saveTests(tag: string, data: any) {
//let filename = path.resolve(__dirname, 'testcases', tag + '.json.gz');
let filename = path.resolve('../testcases', tag + '.json.gz');
2019-05-15 01:25:46 +03:00
fs.writeFileSync(filename, zlib.gzipSync(JSON.stringify(data, undefined, ' ') + '\n'));
console.log('Save testcase: ' + filename);
}
export function loadTests(tag: string): any {
let filename = path.resolve(__dirname, '../testcases', tag + '.json.gz');
2019-05-15 01:25:46 +03:00
return JSON.parse(zlib.gunzipSync(fs.readFileSync(filename)).toString());
}
export function loadData(filename: string): Buffer {
return fs.readFileSync(path.resolve(__dirname, filename));
}