Extend one-inch fusion plus protocol to Aptos supporting multi fill order.
This project extends fusion+ to support aptos. An attempt has been made to implement all the features present in the solidity implementation (including multi fill) while keeping the contract simpler than the soldity one. This is done by leveraging the design of aptos, such as gas sponsoring and multi-agent transactions.
The solidity contracts along with mock tokens have been deployed on sepolia for testing. A simple resolver that provides function to simply the creation of order objects is also used to speed up the time it took to write the testbench.
For aptos all the code is contained in one module. This module allows for the creation of a FusionPlusOrder, signed by the resolver and user containing all the parameters for the order such as hashlock and timelock parameters, along with a whitelist.
Escrow src objects can be created from order objects, with either the hashlock or a leaf proven to be a leaf of the merkletree with haslock as the root. All the same methods for withdraw and cancel as in the solidity implementation are provided.
A simple TS script is provided to act as a mock relay. This will create escrows on aptos and ethereum and then reveal the secret and call withdraw methods. This script supports Aptos to Eth or Eth to Aptos. (As well as multi fill order examples).
Some tests are provided for the aptos implementation as well as scripts to deploy mock tokens.

