@hashport/sdk
Version:
Utility functions for interacting with the hashport bridge
44 lines • 1.6 kB
JavaScript
export const createWagmiSigner = (publicClient, walletClient) => {
return {
getAddress() {
return walletClient.account.address;
},
getContract(abi, contractAddress) {
return {
async read(methods) {
return (await publicClient.multicall({
contracts: methods.map(({ functionName, args }) => ({
abi,
address: contractAddress,
args,
functionName,
})),
})).map(({ result }) => result);
},
async write({ functionName, args }) {
const { request } = await publicClient.simulateContract({
account: walletClient.account,
address: contractAddress,
abi,
functionName,
args,
});
return await walletClient.writeContract(request);
},
};
},
async waitForTransaction(hash, confirmations) {
return await publicClient.waitForTransactionReceipt({ hash, confirmations });
},
async getBlock() {
return await publicClient.getBlock();
},
getChainId() {
return publicClient.chain.id;
},
signTypedData(data) {
return walletClient.signTypedData(data);
},
};
};
//# sourceMappingURL=wagmi.js.map