Hope
Hope Wallet SDK

Docs

Message (sign a tx)

message() and MessagePanel — Hope Wallet broadcasts. Camera scan does not return txhash.

WalletMessage is { typeUrl, value } — the SDK does not whitelist types on the QR path.

import { MessagePanel } from '@hopenetwork/wallet/react';

<MessagePanel
  origin={origin}
  chainId="hope-testnet-2"
  account={address}
  title="Send"
  preview={{ title: 'Send', summary: '1 uhope on hope-testnet-2' }}
  messages={[{
    typeUrl: '/cosmos.bank.v1beta1.MsgSend',
    value: {
      fromAddress: address,
      toAddress: address,
      amount: [{ denom: 'uhope', amount: '1' }],
    },
  }]}
  onComplete={(r) => {
    if (r.mode === 'in-app') console.log(r.txhash);
    // camera QR: poll LCD yourself
  }}
/>

CosmWasm:

{
  typeUrl: '/cosmwasm.wasm.v1.MsgExecuteContract',
  value: { sender, contract, msg: { swap: {} }, funds: [] },
}

Authorize a hosted node (signer = payout wallet, not the operator):

{
  typeUrl: '/hope.incentives.v1.MsgAuthorizeOperator',
  value: { payoutRecipient, operator, label: 'hosted' },
}

Connect payloads and sign payloads are not interchangeable. Sign has preview / transaction and must not have session_id. QR max ~1800 characters.

Result: { mode: 'in-app', txhash } or { mode: 'qr' }. After a camera scan, look up Explorer / LCD.

Try the Tx tool.