Background
We would like to minimize the number of dependencies and the number of dependencies that do not target 1.0 release (nearcore's near-* crates will never get semver stabilized).
This is the first step towards migrating away from near-primitives towards omni-transaction-rs and near-api-rs.
User Story
As a user, I don't want to treat every release as the one that can have breaking changes. The dependency on crates with 0.x versions that release every 6 weeks leads to a cascade of "maybe breaking changes" releases.
Acceptance Criteria
- All the usages of SignedTransaction, Transaction (unsigned Transaction or NearTransaction), and Action types should be replaced with omni-transaction crate types
- If there is a need to convert omni-transaction type into near-jsonrpc / near-primitives type, use borsh to serialize omni-transaction type and deserialize it as near-primitives type and wise-versa
- Do not create any additional adapter types, if that is impossible - summarize the reason and do not proceed with the task