A `type hash` altering issue
ShookLyngs opened this issue · 1 comments
I was testing the transfer of ClusterProxy, and during one of the transactions, a 5 (ClusterCellNotInDep) error was returned by the RPC. Comparing it to a normal ClusterProxy transfer, the only difference was that the ClusterProxyArgs.minPayment
(the ClusterProxy cell's type args) was altered in the failed transaction.
The 5 (ClusterCellNotInDep) error indicates that the referenced Cluster was not included in the transaction. Since this error should only be triggered in the creation mode of ClusterProxy, I believe this is an issue. The cause of this issue can be that the contract doesn't recognize that the ClusterProxy is in transfer mode. Due to the change in the minPayment
in the type args, the contract mistakenly interprets it as being in the creation mode instead.
Mutant should also be affected by the issue, as it shares the same type args design as ClusterProxy.
The type args design of ClusterProxy and Mutant:
0x<32 byte type_id>[1 byte min_payment]