public void Provided_Fulfillment_Should_Return_DerEncodedFullfillment() { var expectedFulfillment = "pGSAIOwsDX_8KpzAef-aHlT1QXPnf23YDNEHK26-hw9xtTgEgUDhORNF-ZyNX9_Ymdukyxit-tWFur2OFZokgxD97_Mzt7C67cDhL9P-FelNFJV0srFaGxmw5fQ1kRYTemee3P4J"; var transactionHash = "28a985bcf3b46a6895035b9f0fb7962190f76316eb46c5a0f3450195200b5780"; var fulfillment = "ni:///sha-256;NAgseHeCPxu1v5vqPE-mF_IFk6EqBdk7YuAW3LltFAM?fpt=ed25519-sha-256&cost=131072"; var signedTxId = "f84adc4d2dc630f4f3380b94bd82a196e40907bb55cddb7822842703c789246d"; var keyPair = new GeneratedKeyPair() { PrivateKey = "8hiZ8FPQLQnmFqXg8T1L3tgkJvLPeZXnGuThprDDJtQR", PublicKey = "GtvBGsnVhGnqR1RswqT3KSwdoU3UW7w23ukmDaH7uAEF" }; var signTx = new Bigchain_SignTransaction(); var fulfillmentUri = signTx.GenerateFulfillmentUri(keyPair.PublicKey, signature); Assert.AreEqual(expectedFulfillment, fulfillmentUri); }
public async Task Provided_Input_Should_Make_Transfer_Transaction_And_PostCommit() { string id = "282137f67ce65e34a9eb13145606d7bf87bdaf9174111d6053002bfc543575c8"; var generatekp = new Ed25519Keypair(); var keys = generatekp.GenerateKeyPair(); var connection = new BigchainConnection(bigchainhost); var currentBlock = await connection.ListBlocks(id); Bigchain_Transaction transaction = new Bigchain_Transaction(); var metadata = new Metadata { Error = null, Status = "A", Transaction = null }; currentBlock.Metadata = JObject.FromObject(metadata); var unspentOutput = new UnspentOutput { Tx = currentBlock, OutputIndex = 0 }; var Outputs = transaction.MakeOutput(Asn1ConditionsHelper.MakeEd25519Condition(currentBlock.Outputs[0].PublicKeys[0])); var tx = transaction.MakeTransferTransaction(new List <UnspentOutput> { unspentOutput }, Outputs, metadata ); var signTransaction = new Bigchain_SignTransaction(); var signedTx = signTransaction.SignTransaction(tx, new List <string>() { keys.ExpandedPrivateKey }); var serializedTransaction = JsonUtility.SerializeTransactionIntoCanonicalString(JsonConvert.SerializeObject(signedTx)); Assert.Pass(); }
public void Provided_Payload_Should_Return_ValidSerializedTx() { var keyPair = new GeneratedKeyPair() { ExpandedPrivateKey = "2SmR42zKeTExHeXa5gFCJzfVLzPb843bkv9L9EGNxfABo9roeGWuNvTg5KFCcNoA6xd4VnWnX1yzALSvszBFncGu", PrivateKey = "5ryt9DgJWu2G5Ptzd5CwUXsvw5DKygd4serdMoJ67KCm", PublicKey = "6up1UDJC2EnReHcdYVZkJdR8hbSym48P5XWiyD1oW2Qm" }; var expectedHash = "1a7e241014157ffaca8b854c6775186b581d2058a6299b6d4e79437fce4979fc"; var tx = GetMockResponseTx(keyPair.PublicKey); var signTx = new Bigchain_SignTransaction(); var signedTx = signTx.SignTransaction(tx, new List <string> { keyPair.ExpandedPrivateKey }); var serializedTx = JsonUtility.SerializeTransactionIntoCanonicalString(JsonConvert.SerializeObject(signedTx)); Assert.AreEqual(expectedHash, signedTx.Id); }
public void ProvidedTx_ShouldReturnValidSignedTxHash() { var expectedSerializedTransactionHash = "7c93d8e95c6e2d1b6ba6d77020a9e7d09d30c498fcb0485801fc7507fda43fca"; var keyPair = new GeneratedKeyPair() { ExpandedPrivateKey = "2SmR42zKeTExHeXa5gFCJzfVLzPb843bkv9L9EGNxfABo9roeGWuNvTg5KFCcNoA6xd4VnWnX1yzALSvszBFncGu", PrivateKey = "5ryt9DgJWu2G5Ptzd5CwUXsvw5DKygd4serdMoJ67KCm", PublicKey = "6up1UDJC2EnReHcdYVZkJdR8hbSym48P5XWiyD1oW2Qm" }; var tx = GetMockResponseTx(keyPair.PublicKey); var serializedTransaction = JsonUtility.SerializeTransactionIntoCanonicalString(JsonConvert.SerializeObject(tx)); var signTx = new Bigchain_SignTransaction(); SignatureMetadata signatures = signTx.GetSignature(tx, serializedTransaction, 0, keyPair.ExpandedPrivateKey); Assert.AreEqual(expectedSerializedTransactionHash, signatures.TransactionHash.ToHex()); }