isUsedAsMutable method
Implementation
bool isUsedAsMutable(TransactionBlockDataBuilder transactionData, int index) {
var usedAsMutable = false;
transactionData.getInputUses(index, (arg, tx) {
if (tx["MoveCall"]?["_argumentTypes"] != null) {
final arguments = tx["MoveCall"]["arguments"].toList();
final argIndex = arguments.indexWhere(
(element) => DeepCollectionEquality().equals(element, arg),
);
if (argIndex != -1) {
usedAsMutable =
tx["MoveCall"]["_argumentTypes"][argIndex]["ref"] != '&' ||
usedAsMutable;
}
} else if (tx["MakeMoveVec"] != null ||
tx["MergeCoins"] == null ||
tx["SplitCoins"] == null) {
usedAsMutable = true;
}
});
return usedAsMutable;
}