send-crypto
Version:
A minimal JavaScript library / wallet for sending crypto assets
43 lines • 3.48 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SingleKeyProvider = void 0;
// tslint:disable no-submodule-imports
const js_1 = __importDefault(require("@zondax/filecoin-signing-tools/js"));
const filecoin_address_1 = require("@glif/filecoin-address");
const SingleKeyProvider = (privateKey) => {
// here we close over the private variables, so they aren't accessible to the outside world
const PRIVATE_KEY = privateKey;
const { private_hexstring } = js_1.default.keyRecover(PRIVATE_KEY);
return {
getAccounts: async (_nStart, _nEnd, network = filecoin_address_1.Network.MAIN) => {
return [
js_1.default.keyRecover(PRIVATE_KEY, network === filecoin_address_1.Network.TEST).address,
];
},
sign: async (_from, filecoinMessage) => {
const { signature } = js_1.default.transactionSign({
to: filecoinMessage.To,
from: filecoinMessage.From,
nonce: filecoinMessage.Nonce,
value: filecoinMessage.Value,
gaslimit: filecoinMessage.GasLimit,
gasfeecap: filecoinMessage.GasFeeCap,
gaspremium: filecoinMessage.GasPremium,
method: filecoinMessage.Method,
params: filecoinMessage.Params || "",
}, Buffer.from(private_hexstring, "hex").toString("base64"));
return {
Message: filecoinMessage,
Signature: {
Type: 0,
Data: signature.data,
},
};
},
};
};
exports.SingleKeyProvider = SingleKeyProvider;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGFuZGxlcnMvRklML3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNDQUFzQztBQUN0QywyRUFBZ0U7QUFFaEUsNkRBQStEO0FBR3hELE1BQU0saUJBQWlCLEdBQUcsQ0FDN0IsVUFBc0IsRUFDTCxFQUFFO0lBQ25CLDJGQUEyRjtJQUMzRixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDL0IsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsWUFBZSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RSxPQUFPO1FBQ0gsV0FBVyxFQUFFLEtBQUssRUFDZCxPQUFlLEVBQ2YsS0FBYSxFQUNiLFVBQWtCLDBCQUFVLENBQUMsSUFBSSxFQUNuQyxFQUFFO1lBQ0EsT0FBTztnQkFDSCxZQUFlLENBQUMsVUFBVSxDQUN0QixXQUFXLEVBQ1gsT0FBTyxLQUFLLDBCQUFVLENBQUMsSUFBSSxDQUM5QixDQUFDLE9BQU87YUFDWixDQUFDO1FBQ04sQ0FBQztRQUVELElBQUksRUFBRSxLQUFLLEVBQ1AsS0FBYSxFQUNiLGVBQTZCLEVBQ0YsRUFBRTtZQUM3QixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsWUFBZSxDQUFDLGVBQWUsQ0FDakQ7Z0JBQ0ksRUFBRSxFQUFFLGVBQWUsQ0FBQyxFQUFFO2dCQUN0QixJQUFJLEVBQUUsZUFBZSxDQUFDLElBQUk7Z0JBQzFCLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSztnQkFDNUIsS0FBSyxFQUFFLGVBQWUsQ0FBQyxLQUFLO2dCQUM1QixRQUFRLEVBQUUsZUFBZSxDQUFDLFFBQVE7Z0JBQ2xDLFNBQVMsRUFBRSxlQUFlLENBQUMsU0FBUztnQkFDcEMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxVQUFVO2dCQUN0QyxNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU07Z0JBQzlCLE1BQU0sRUFBRSxlQUFlLENBQUMsTUFBTSxJQUFJLEVBQUU7YUFDdkMsRUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FDM0QsQ0FBQztZQUNGLE9BQU87Z0JBQ0gsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFNBQVMsRUFBRTtvQkFDUCxJQUFJLEVBQUUsQ0FBQztvQkFDUCxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7aUJBQ3ZCO2FBQ0osQ0FBQztRQUNOLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBL0NXLFFBQUEsaUJBQWlCLHFCQStDNUIifQ==