namillum
Version:
Bubble Protocol SDK
32 lines (26 loc) • 801 B
text/typescript
import BN from "bn.js";
import { getAddressFromPrivateKey } from "@zilliqa-js/crypto";
import { Request, Response } from "express";
import { config } from "../config";
import { ZilliqaService } from "../services/zilliqa";
// in reality, you should of course, never do this.
const HOT_WALLET_PASSPHRASE = "stronk_passphrase";
export class WithdrawalController {
address: string = "";
zsvc: ZilliqaService;
// DI the service in.
constructor(zsvc: ZilliqaService) {
// add your hot wallet keys
this.zsvc = zsvc;
}
async init() {
const address = await this.zsvc.addKeystoreFile(
config.get("keystore"),
HOT_WALLET_PASSPHRASE
);
this.address = address;
}
withdraw(to: string, amount: BN) {
return this.zsvc.withdraw(this.address, to, amount);
}
}