Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Move test cases for decoding event data and key to 'src/onchain_event…
…s/index.spec.ts'
  • Loading branch information
tarvos21 committed May 30, 2021
1 parent 161766d commit 9e6047c
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 75 deletions.
77 changes: 2 additions & 75 deletions src/encoding/index.spec.ts
@@ -1,5 +1,5 @@
import { arrayify } from '@ethersproject/bytes';
import { addressToSCS, decodeEventData, decodeEventKey, decodeTransactionPayload, decodeSignedUserTransaction, privateKeyToPublicKey, publicKeyToAuthKey, publicKeyToAddress, publicKeyToReceiptIdentifier, encodeReceiptIdentifier, decodeReceiptIdentifier } from '.';
import { addressToSCS, decodeTransactionPayload, decodeSignedUserTransaction, privateKeyToPublicKey, publicKeyToAuthKey, publicKeyToAddress, publicKeyToReceiptIdentifier, encodeReceiptIdentifier, decodeReceiptIdentifier } from '.';
import { BcsSerializer } from '../lib/runtime/bcs';
import { toHexString } from '../utils/hex';
import { JsonrpcProvider } from '../providers/jsonrpc-provider';
Expand Down Expand Up @@ -46,12 +46,6 @@ test("decoding txn payload", () => {
expect(scriptFunction.args.length).toBe(3);
});

test("decoding EventKey", () => {
const eventKeyInHex = "0x000000000000000063af4e1cf4e6345df840f4c57597a0f6";
const eventKey = decodeEventKey(eventKeyInHex);
console.log(eventKey);
});

test("encoding SignedUserTransaction hex", async () => {

const senderPrivateKeyHex = '0x83c7829c68e1ad81ced10f69d11ea741f7f18c7a5f059215e8a965362a5ae25e'
Expand Down Expand Up @@ -183,71 +177,4 @@ test("encode && decode receipt identifier", () => {
expect(receiptIdentifier.authKey).toBe("")
})();

});

// To test and see the decoded event data structure, run:
// yarn test:unit src/encoding/index.spec.ts --testNamePattern="decode"

test('decode deposit event data', () => {
const eventName = 'DepositEvent';
const eventData = '0x00ca9a3b00000000000000000000000000000000000000000000000000000001035354430353544300';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode withdraw event data', () => {
const eventName = 'WithdrawEvent';
const eventData = '0x00e1f50500000000000000000000000000000000000000000000000000000001035354430353544300';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode new block event data', () => {
const eventName = 'NewBlockEvent';
const eventData = '0x440000000000000094e957321e7bb2d3eb08ff6be81a6fcdec8a9d73780100000000000000000000';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode block reward event data', () => {
const eventName = 'BlockRewardEvent';
const eventData = '0x57fa0200000000006041c420010000000000000000000000000000000000000000000000000000009a306cd9afde5d249257c2c6e6f39103';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode accept token event data', () => {
const eventName = 'AcceptTokenEvent';
const eventData = '0x000000000000000000000000000000010353544303535443';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode mint event data', () => {
const eventName = 'MintEvent';
const eventData = '0x80cb29d0000000000000000000000000000000000000000000000000000000010353544303535443';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode vote changed event data', () => {
const eventName = 'VoteChangedEvent';
const eventData = '0x0a000000000000000000000000000000000000000a550c180000000000000000000000000a550c180100003426f56b1c000000000000000000';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode proposal created event data', () => {
const eventName = 'ProposalCreatedEvent';
const eventData = '0x03000000000000000000000000000000000000000a550c18';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});


// Decode event key
test("decode event key", () => {
const eventKeyInHex = "0x000000000000000063af4e1cf4e6345df840f4c57597a0f6";
const eventKey = decodeEventKey(eventKeyInHex);
console.log(eventKey);
})
});
68 changes: 68 additions & 0 deletions src/onchain_events/index.spec.ts
@@ -1,6 +1,7 @@
import { NewBlockEvent } from '../lib/runtime/onchain_events';
import './index';
import { bcsDecode } from '../encoding';
import { decodeEventKey, decodeEventData } from './index';

test('decode data', () => {
const t = bcsDecode(
Expand All @@ -11,3 +12,70 @@ test('decode data', () => {
// @ts-ignore
console.log(t.toJS());
});

// To test and see the decoded event data and key structure, run:
// yarn test:unit src/onchain_events/index.spec.ts

test('decode deposit event data', () => {
const eventName = 'DepositEvent';
const eventData = '0x00ca9a3b00000000000000000000000000000000000000000000000000000001035354430353544300';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode withdraw event data', () => {
const eventName = 'WithdrawEvent';
const eventData = '0x00e1f50500000000000000000000000000000000000000000000000000000001035354430353544300';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode new block event data', () => {
const eventName = 'NewBlockEvent';
const eventData = '0x440000000000000094e957321e7bb2d3eb08ff6be81a6fcdec8a9d73780100000000000000000000';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode block reward event data', () => {
const eventName = 'BlockRewardEvent';
const eventData = '0x57fa0200000000006041c420010000000000000000000000000000000000000000000000000000009a306cd9afde5d249257c2c6e6f39103';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode accept token event data', () => {
const eventName = 'AcceptTokenEvent';
const eventData = '0x000000000000000000000000000000010353544303535443';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode mint event data', () => {
const eventName = 'MintEvent';
const eventData = '0x80cb29d0000000000000000000000000000000000000000000000000000000010353544303535443';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode vote changed event data', () => {
const eventName = 'VoteChangedEvent';
const eventData = '0x0a000000000000000000000000000000000000000a550c180000000000000000000000000a550c180100003426f56b1c000000000000000000';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});

test('decode proposal created event data', () => {
const eventName = 'ProposalCreatedEvent';
const eventData = '0x03000000000000000000000000000000000000000a550c18';
const result = decodeEventData(eventName, eventData);
console.log(result.toJS());
});


// Decode event key
test("decode event key", () => {
const eventKeyInHex = "0x000000000000000063af4e1cf4e6345df840f4c57597a0f6";
const eventKey = decodeEventKey(eventKeyInHex);
console.log(eventKey);
})

0 comments on commit 9e6047c

Please sign in to comment.