async function sendTxMetamask (sender, msg) {
await window.ethereum.enable();
console.log(sender, sender.accountAddress)
const _sender = converter.evmosToEth(sender.accountAddress)
console.log('_sender', _sender)
let signature = await window.ethereum.request({
method: 'eth_signTypedData_v4',
params: [_sender, JSON.stringify(msg.eipToSign)],
});
console.log('signature', signature);
let extension = tx.signatureToWeb3Extension(chain, sender, signature)
let rawTx = tx.createTxRawEIP712(msg.legacyAmino.body, msg.legacyAmino.authInfo, extension)
console.log('rawTx', rawTx);
const postOptions = {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: `{ "tx_bytes": [${rawTx.message
.serializeBinary()
.toString()}], "mode": "BROADCAST_MODE_SYNC" }`,
};
let broadcastPost = await fetch(
`${RPC_URL}:1317${provider.broadcastEndpoint}`,
postOptions
);
let response = await broadcastPost.json();
return response;
}