I would suggest (separate issue) that we expose methods like: - `createCrossChainCall(chainId, abi, address, method, params, value) XCall` (make sure they are typesafe) - and user just passes in XCall into our methods for solution where we calculate gas and everything _Originally posted by @mpetrunic in https://github.com/ChainSafe/sprinter-ts/pull/61#discussion_r1806090443_