Esempio n. 1
0
        public void ProvidedTx_ShouldReturnValidSignedTxString()
        {
            var expectedSerializedTransaction = "{\"asset\":{\"data\":{\"kyc\":{\"dob\":\"7/19/1988 12:00:00 AM +05:00\",\"nab\":\"Hang MioLoi\",\"pob\":\"CN\",\"user_hash\":\"5c9b0ddd16f0d6471c661c0e\"}}},\"id\":null,\"inputs\":[{\"fulfillment\":null,\"fulfills\":null,\"owners_before\":[\"6up1UDJC2EnReHcdYVZkJdR8hbSym48P5XWiyD1oW2Qm\"]}],\"metadata\":{\"Error\":null,\"Status\":\"A\",\"Transaction\":null},\"operation\":\"CREATE\",\"outputs\":[{\"amount\":\"1\",\"condition\":{\"details\":{\"public_key\":\"6up1UDJC2EnReHcdYVZkJdR8hbSym48P5XWiyD1oW2Qm\",\"type\":\"ed25519-sha-256\"},\"uri\":\"ni:///sha-256;dYgl9YZ2-J8GI8zDqGjGCf-iTRt3-N_au_w6QyexL_4?fpt=ed25519-sha-256&cost=131072\"},\"public_keys\":[\"6up1UDJC2EnReHcdYVZkJdR8hbSym48P5XWiyD1oW2Qm\"]}],\"version\":\"2.0\"}";

            var keyPair = new GeneratedKeyPair()
            {
                ExpandedPrivateKey = "2SmR42zKeTExHeXa5gFCJzfVLzPb843bkv9L9EGNxfABo9roeGWuNvTg5KFCcNoA6xd4VnWnX1yzALSvszBFncGu",
                PrivateKey         = "5ryt9DgJWu2G5Ptzd5CwUXsvw5DKygd4serdMoJ67KCm",
                PublicKey          = "6up1UDJC2EnReHcdYVZkJdR8hbSym48P5XWiyD1oW2Qm"
            };

            var tx = GetMockResponseTx(keyPair.PublicKey);

            var serializedTx = JsonUtility.SerializeTransactionIntoCanonicalString(JsonConvert.SerializeObject(tx));

            Assert.AreEqual(expectedSerializedTransaction, serializedTx);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
        public Transaction()
        {
            var keypair = new Ed25519Keypair();

            generatedKeyPair = keypair.GenerateKeyPair();
        }