convertTransactionArgument function

dynamic convertTransactionArgument(
  1. dynamic arg,
  2. dynamic inputs
)

Implementation

dynamic convertTransactionArgument(dynamic arg, dynamic inputs) {
	if (arg["\$kind"] == 'GasCoin' || arg["GasCoin"] != null) {
		return { "kind": 'GasCoin' };
	}
	if (arg["\$kind"] == 'Result' || arg["Result"] != null) {
		return { "kind": 'Result', "index": arg["Result"] };
	}
	if (arg["\$kind"] == 'NestedResult' || arg["NestedResult"] != null) {
		return { "kind": 'NestedResult', "index": arg["NestedResult"][0], "resultIndex": arg["NestedResult"][1] };
	}
	if (arg["\$kind"] == 'Input' || arg["Input"] != null) {
		return inputs[arg["Input"]];
	}

	throw ArgumentError("Invalid argument $arg");
}