@chainsafe/filsnap-adapter
Version:
Adapter for installing Filsnap
41 lines (37 loc) • 1.13 kB
text/typescript
import { FilecoinSnapApi } from "@chainsafe/filsnap-types";
import {
calculateGasForMessage,
configure,
exportPrivateKey,
getAddress,
getBalance,
getMessages,
getPublicKey,
sendMessage,
signMessage,
signMessageRaw,
} from "./methods";
export class MetamaskFilecoinSnap {
// snap parameters
protected readonly snapOrigin: string;
protected readonly snapId: string;
public constructor(snapOrigin: string) {
this.snapOrigin = snapOrigin;
this.snapId = this.snapOrigin;
}
// eslint-disable-next-line @typescript-eslint/require-await
public getFilecoinSnapApi = async (): Promise<FilecoinSnapApi> => {
return {
calculateGasForMessage: calculateGasForMessage.bind(this),
configure: configure.bind(this),
exportPrivateKey: exportPrivateKey.bind(this),
getAddress: getAddress.bind(this),
getBalance: getBalance.bind(this),
getMessages: getMessages.bind(this),
getPublicKey: getPublicKey.bind(this),
sendMessage: sendMessage.bind(this),
signMessage: signMessage.bind(this),
signMessageRaw: signMessageRaw.bind(this),
};
};
}