UNPKG

dotwallet

Version:
76 lines (64 loc) 1.43 kB
const md5 = require("md5"); const crypto = require("crypto"); export enum SupportCoinType { BTC = "BTC", BSV = "BSV", ETH = "ETH" } export interface Vout{ address:string; amount:number; } export interface DotWalletResult { code:number; msg:string; data:any; } export interface MircoOrderInformation{ order_sn:string; pay_txid:string; } export interface DepositBalance{ confirm:number; unconfirm:number; totalSize:number; totalCount:number; totalFee:number; } export interface PushChainResult{ orderID:string; txID:string; fee:number; } export interface DepositAccount{ coinType:string; usage:string; address:string; } export class DWError extends Error { public code:number; constructor(code:number, msg?:string) { super(msg) this.name = 'DotWalletError'; } }; export function CreateSignature(queryData:any, app_secret:string):string{ let str = ""; const secret = md5(app_secret); for (let key in queryData) { if (key != "sign" && key !="opreturn" ) { if (str) { str += "&" + key + "=" + queryData[key]; } else { str = key + "=" + queryData[key]; } } } str += "&secret=" + secret; str = str.toUpperCase(); const sign = crypto .createHmac("sha256", secret) .update(str, "utf8") .digest("hex"); return sign; }