send-crypto
Version:
A minimal JavaScript library / wallet for sending crypto assets
36 lines • 3.2 kB
JavaScript
// tslint:disable no-submodule-imports
import filecoin_signer from "@zondax/filecoin-signing-tools/js";
import { Network as FilNetwork } from "@glif/filecoin-address";
export 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 } = filecoin_signer.keyRecover(PRIVATE_KEY);
return {
getAccounts: async (_nStart, _nEnd, network = FilNetwork.MAIN) => {
return [
filecoin_signer.keyRecover(PRIVATE_KEY, network === FilNetwork.TEST).address,
];
},
sign: async (_from, filecoinMessage) => {
const { signature } = filecoin_signer.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,
},
};
},
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGFuZGxlcnMvRklML3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUN0QyxPQUFPLGVBQWUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVoRSxPQUFPLEVBQUUsT0FBTyxJQUFJLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRy9ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQzdCLFVBQXNCLEVBQ0wsRUFBRTtJQUNuQiwyRkFBMkY7SUFDM0YsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQy9CLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEUsT0FBTztRQUNILFdBQVcsRUFBRSxLQUFLLEVBQ2QsT0FBZSxFQUNmLEtBQWEsRUFDYixVQUFrQixVQUFVLENBQUMsSUFBSSxFQUNuQyxFQUFFO1lBQ0EsT0FBTztnQkFDSCxlQUFlLENBQUMsVUFBVSxDQUN0QixXQUFXLEVBQ1gsT0FBTyxLQUFLLFVBQVUsQ0FBQyxJQUFJLENBQzlCLENBQUMsT0FBTzthQUNaLENBQUM7UUFDTixDQUFDO1FBRUQsSUFBSSxFQUFFLEtBQUssRUFDUCxLQUFhLEVBQ2IsZUFBNkIsRUFDRixFQUFFO1lBQzdCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUNqRDtnQkFDSSxFQUFFLEVBQUUsZUFBZSxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSTtnQkFDMUIsS0FBSyxFQUFFLGVBQWUsQ0FBQyxLQUFLO2dCQUM1QixLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUs7Z0JBQzVCLFFBQVEsRUFBRSxlQUFlLENBQUMsUUFBUTtnQkFDbEMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxTQUFTO2dCQUNwQyxVQUFVLEVBQUUsZUFBZSxDQUFDLFVBQVU7Z0JBQ3RDLE1BQU0sRUFBRSxlQUFlLENBQUMsTUFBTTtnQkFDOUIsTUFBTSxFQUFFLGVBQWUsQ0FBQyxNQUFNLElBQUksRUFBRTthQUN2QyxFQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUMzRCxDQUFDO1lBQ0YsT0FBTztnQkFDSCxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsU0FBUyxFQUFFO29CQUNQLElBQUksRUFBRSxDQUFDO29CQUNQLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtpQkFDdkI7YUFDSixDQUFDO1FBQ04sQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUMifQ==