UNPKG

postchain-client

Version:

Client library for accessing a Postchain node through REST.

134 lines 6.54 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { randomInt } from "crypto"; import { ChainConfirmationLevel } from "../../src/blockchainClient/enums"; import { mockSignatureProvider, mockSignerPubKey } from "../common/mocks"; import { createClientToChromiaNetwork } from "../common/setups"; let client; describe("merkleHash", () => { beforeAll(() => __awaiter(void 0, void 0, void 0, function* () { client = yield createClientToChromiaNetwork(); })); it("tx rid differs if order of arguments differs", () => __awaiter(void 0, void 0, void 0, function* () { const transaction1 = yield client.sendTransaction({ name: "setMultivalue", args: [1, "test1", "test2"], }); const transaction2 = yield client.sendTransaction({ name: "setMultivalue", args: [1, "test2", "test1"], }); expect(Buffer.compare(transaction1.transactionRid, transaction2.transactionRid)).not.toEqual(0); })); it("calculates same merkle as postchain of transaction with one operation with one argument", () => __awaiter(void 0, void 0, void 0, function* () { const transaction = yield client.sendTransaction({ name: "setInteger", args: [randomInt(1000000)], }, true, undefined, ChainConfirmationLevel.Dapp); expect(transaction).not.toEqual(new Error()); })); it("calculates same merkle as postchain of transaction with one argument", () => __awaiter(void 0, void 0, void 0, function* () { const transaction = yield client.signAndSendUniqueTransaction({ name: "setInteger", args: [randomInt(1000000)], }, mockSignatureProvider, true, undefined, ChainConfirmationLevel.Dapp); expect(transaction).not.toEqual(new Error()); })); it("gets status unknown if client has calculated the wrong txRID", () => __awaiter(void 0, void 0, void 0, function* () { const invalidTxRID = Buffer.alloc(32, 1); const result = yield client.getTransactionStatus(invalidTxRID); expect(result.status).toEqual("unknown"); })); it("calculates same merkle as postchain of transaction with multiple arguments", () => __awaiter(void 0, void 0, void 0, function* () { const transaction = yield client.signAndSendUniqueTransaction({ operations: [ { name: "setMultivalue", args: [1, "test1", "test2"], }, { name: "setInteger", args: [randomInt(1000000)], }, ], signers: [mockSignerPubKey], }, mockSignatureProvider, true, undefined, ChainConfirmationLevel.Dapp); expect(transaction).not.toEqual(new Error()); })); it("calculates same merkle as postchain of transaction with multiple operations", () => __awaiter(void 0, void 0, void 0, function* () { const transaction = yield client.signAndSendUniqueTransaction({ operations: [ { name: "setBoolean", args: [true], }, { name: "setInteger", args: [2], }, { name: "nop", args: [], }, { name: "setInteger", args: [randomInt(1000000)], }, ], signers: [mockSignerPubKey], }, mockSignatureProvider, true, undefined, ChainConfirmationLevel.Dapp); expect(transaction).not.toEqual(new Error()); })); it("calculates same merkle as postchain of transaction with array argument", () => __awaiter(void 0, void 0, void 0, function* () { const transaction = yield client.signAndSendUniqueTransaction({ name: "setArray", args: [["test", "test2"]], }, mockSignatureProvider, true, undefined, ChainConfirmationLevel.Dapp); expect(transaction).not.toEqual(new Error()); })); it("calculates same merkle as postchain of transaction with dict argument", () => __awaiter(void 0, void 0, void 0, function* () { const transaction = yield client.signAndSendUniqueTransaction({ name: "setMap", args: [{ test: "test2", test3: "test4" }], }, mockSignatureProvider, true, undefined, ChainConfirmationLevel.Dapp); expect(transaction).not.toEqual(new Error()); })); it("calculates same merkle as postchain of transaction with nested arguments", () => __awaiter(void 0, void 0, void 0, function* () { const transaction = yield client.signAndSendUniqueTransaction({ name: "nestedArguments", args: [ [ [1, "foo", "bar"], ["test", "test2"], ], ], }, mockSignatureProvider, true, undefined, ChainConfirmationLevel.Dapp); expect(transaction).not.toEqual(new Error()); })); it("calculates same merkle as postchain of transaction with super nested argument", () => __awaiter(void 0, void 0, void 0, function* () { const transaction = yield client.signAndSendUniqueTransaction({ name: "superNestedArguments", args: [ [ [ [ [1, "foo", "bar"], ["test", "test2"], ], ], [1], [{ test: "test2", test3: "test4" }], ], ], }, mockSignatureProvider, true, undefined, ChainConfirmationLevel.Dapp); expect(transaction).not.toEqual(new Error()); })); }); //# sourceMappingURL=merkleHashIntegration.test.js.map