@phala/dstack-sdk
Version:
29 lines (25 loc) • 1.26 kB
JavaScript
;
var sha256 = require('@noble/hashes/sha256');
var utils = require('@noble/hashes/utils');
var accounts = require('viem/accounts');
// src/viem.ts
function toViemAccount(keyResponse) {
if (keyResponse.__name__ === "GetTlsKeyResponse") {
console.warn("toViemAccount: Please don't use `deriveKey` method to get key, use `getKey` instead.");
const hex2 = Array.from(keyResponse.asUint8Array(32)).map((b) => b.toString(16).padStart(2, "0")).join("");
return accounts.privateKeyToAccount(`0x${hex2}`);
}
const hex = Array.from(keyResponse.key).map((b) => b.toString(16).padStart(2, "0")).join("");
return accounts.privateKeyToAccount(`0x${hex}`);
}
function toViemAccountSecure(keyResponse) {
if (keyResponse.__name__ === "GetTlsKeyResponse") {
console.warn("toViemAccountSecure: Please don't use `deriveKey` method to get key, use `getKey` instead.");
const hex2 = utils.bytesToHex(sha256.sha256(keyResponse.asUint8Array()));
return accounts.privateKeyToAccount(`0x${hex2}`);
}
const hex = Array.from(keyResponse.key).map((b) => b.toString(16).padStart(2, "0")).join("");
return accounts.privateKeyToAccount(`0x${hex}`);
}
exports.toViemAccount = toViemAccount;
exports.toViemAccountSecure = toViemAccountSecure;