private string getGluwacoinReserveTxnSignature( ECurrency currency, string address, string amount, string fee, string target, string executor, BigInteger nonce, BigInteger expiryBlockNumber, string privateKey) { BigInteger convertAmount = BigInteger.Zero; BigInteger convertFee = BigInteger.Zero; if (currency.IsGluwacoinSideChainCurrency()) { convertAmount = GluwacoinConverter.ConvertToGluwacoinSideChainBigInteger(amount, currency); convertFee = GluwacoinConverter.ConvertToGluwacoinSideChainBigInteger(fee, currency); } else { convertAmount = GluwacoinConverter.ConvertToGluwacoinBigInteger(amount); convertFee = GluwacoinConverter.ConvertToGluwacoinBigInteger(fee); } ABIEncode abiEncode = new ABIEncode(); byte[] messageHash = abiEncode.GetSha3ABIEncodedPacked( new ABIValue("address", GluwaService.getGluwacoinContractAddress(currency, mEnv)), new ABIValue("address", address), new ABIValue("address", target), new ABIValue("address", executor), new ABIValue("uint256", convertAmount), new ABIValue("uint256", convertFee), new ABIValue("uint256", nonce), new ABIValue("uint256", expiryBlockNumber) ); EthereumMessageSigner signer = new EthereumMessageSigner(); string signature = signer.Sign(messageHash, privateKey); return(signature); }
private string getGluwacoinTransactionSignature(ECurrency currency, string amount, string fee, string nonce, string address, string target, string privateKey) { BigInteger convertAmount = BigInteger.Zero; BigInteger convertFee = BigInteger.Zero; if (currency.IsGluwacoinSideChainCurrency()) { if (currency == ECurrency.sNGNG) { convertAmount = GluwacoinConverter.ConvertToGluwacoinSideChainBigInteger(amount, currency); convertFee = GluwacoinConverter.ConvertToGluwacoinSideChainBigInteger(fee.ToString(), currency); } else if (currency == ECurrency.sUSDCG) { convertAmount = GluwacoinConverter.ConvertToGluwacoinSideChainBigInteger(amount, currency); convertFee = GluwacoinConverter.ConvertToGluwacoinSideChainBigInteger(fee.ToString(), currency); } } else { convertAmount = GluwacoinConverter.ConvertToGluwacoinBigInteger(amount); convertFee = GluwacoinConverter.ConvertToGluwacoinBigInteger(fee.ToString()); } ABIEncode abiEncode = new ABIEncode(); byte[] messageHash = abiEncode.GetSha3ABIEncodedPacked( new ABIValue("address", GluwaService.getGluwacoinContractAddress(currency, mEnv)), new ABIValue("address", address), new ABIValue("address", target), new ABIValue("uint256", convertAmount), new ABIValue("uint256", convertFee), new ABIValue("uint256", BigInteger.Parse(nonce)) ); EthereumMessageSigner signer = new EthereumMessageSigner(); string signature = signer.Sign(messageHash, privateKey); return(signature); }