public static string GenerateMintSignature(string USDCG_ContractAddress, int ChainId, string MinterAddress,
string MinterPrivateKey, BigInteger amount,
BigInteger fee, BigInteger nonce)
ABIEncode abiEncode = new ABIEncode();
byte[] messageHash = abiEncode.GetSha3ABIEncodedPacked(
new ABIValue("uint8", 2),
new ABIValue("uint256", ChainId),
new ABIValue("address", USDCG_ContractAddress),
new ABIValue("address", MinterAddress),
new ABIValue("uint256", amount),
new ABIValue("uint256", fee),
new ABIValue("uint256", nonce)
EthereumMessageSigner signer = new EthereumMessageSigner();
string signature = signer.Sign(messageHash, MinterPrivateKey);