Skip to content

Commit

Permalink
HIP-171 Add topic_message payer_account_id and chunk info (#3105)
Browse files Browse the repository at this point in the history
* Add chunk_info and payer_account_id to topic message REST APIs

Signed-off-by: Ian Jungmann <ian.jungmann@hedera.com>
Signed-off-by: Matheus DallRosa <matheus.dallrosa@swirlds.com>
  • Loading branch information
Ian Jungmann authored and matheus-dallrosa committed Feb 21, 2022
1 parent d111d1f commit 98b920f
Show file tree
Hide file tree
Showing 31 changed files with 722 additions and 222 deletions.
14 changes: 12 additions & 2 deletions hedera-mirror-rest/__tests__/integrationDomainOps.js
Original file line number Diff line number Diff line change
Expand Up @@ -696,25 +696,35 @@ const addCryptoTransaction = async (cryptoTransfer) => {

const addTopicMessage = async (message) => {
const insertFields = [
'chunk_num',
'chunk_total',
'consensus_timestamp',
'topic_id',
'initial_transaction_id',
'message',
'payer_account_id',
'running_hash',
'sequence_number',
'running_hash_version',
'sequence_number',
'topic_id',
'valid_start_timestamp',
];

const table = 'topic_message';

message = {
chunk_num: null,
chunk_total: null,
initial_transaction_id: null,
message: 'message', // Base64 encoding: bWVzc2FnZQ==
payer_account_id: 3,
running_hash: 'running_hash', // Base64 encoding: cnVubmluZ19oYXNo
running_hash_version: 2,
valid_start_timestamp: null,
...message,
};

message.initial_transaction_id =
message.initial_transaction_id == null ? null : Buffer.from(message.initial_transaction_id);
await insertDomainObject(table, insertFields, message);
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,32 @@
"topicmessages": [
{
"consensus_timestamp": "1234567890000000001",
"topic_id": 7,
"sequence_number": 1
"sequence_number": 1,
"topic_id": 7
},
{
"consensus_timestamp": "1234567890000000002",
"topic_id": 7,
"sequence_number": 2
"payer_account_id": 10,
"sequence_number": 2,
"topic_id": 7
},
{
"consensus_timestamp": "1234567890000000003",
"topic_id": 7,
"sequence_number": 3
"sequence_number": 3,
"topic_id": 7
}
]
},
"url": "/api/v1/topics/messages/1234567890.000000002",
"responseStatus": 200,
"responseJson": {
"chunk_info": null,
"consensus_timestamp": "1234567890.000000002",
"topic_id": "0.0.7",
"message": "bWVzc2FnZQ==",
"payer_account_id": "0.0.10",
"running_hash": "cnVubmluZ19oYXNo",
"running_hash_version": 2,
"sequence_number": 2
"sequence_number": 2,
"topic_id": "0.0.7"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,30 @@
"topicmessages": [
{
"consensus_timestamp": "1234567890000000001",
"topic_id": 7,
"sequence_number": 1
"sequence_number": 1,
"topic_id": 7
},
{
"consensus_timestamp": "1234567890000000002",
"topic_id": 7,
"sequence_number": 2
"sequence_number": 2,
"topic_id": 7
},
{
"consensus_timestamp": "1234567890000000003",
"topic_id": 7,
"sequence_number": 3,
"message": ["a", "b", "c"],
"running_hash": ["d", "e", "f"]
"running_hash": ["d", "e", "f"],
"sequence_number": 3,
"topic_id": 7
}
]
},
"urls": ["/api/v1/topics/0.7/messages/3", "/api/v1/topics/7/messages/3"],
"responseStatus": 200,
"responseJson": {
"chunk_info": null,
"consensus_timestamp": "1234567890.000000003",
"message": "eyJhIiwiYiIsImMifQ==",
"payer_account_id": "0.0.3",
"running_hash": "eyJkIiwiZSIsImYifQ==",
"running_hash_version": 2,
"sequence_number": 3,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,30 @@
"topicmessages": [
{
"consensus_timestamp": "1234567890000000001",
"topic_id": 8589934595,
"sequence_number": 1
"sequence_number": 1,
"topic_id": 8589934595
},
{
"consensus_timestamp": "1234567890000000002",
"topic_id": 8589934595,
"sequence_number": 2,
"message": ["1", "2", "3"],
"running_hash": ["4", "5", "6"]
"running_hash": ["4", "5", "6"],
"sequence_number": 2,
"topic_id": 8589934595
},
{
"consensus_timestamp": "1234567890000000003",
"topic_id": 8589934595,
"sequence_number": 3
"sequence_number": 3,
"topic_id": 8589934595
}
]
},
"url": "/api/v1/topics/0.2.3/messages/2",
"responseStatus": 200,
"responseJson": {
"chunk_info": null,
"consensus_timestamp": "1234567890.000000002",
"message": "eyIxIiwiMiIsIjMifQ==",
"payer_account_id": "0.0.3",
"running_hash": "eyI0IiwiNSIsIjYifQ==",
"running_hash_version": 2,
"sequence_number": 2,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
"topicmessages": [
{
"consensus_timestamp": "1234567890000000001",
"topic_id": 7,
"sequence_number": 1
"sequence_number": 1,
"topic_id": 7
}
]
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,21 @@
"topicmessages": [
{
"consensus_timestamp": "1234567890000000001",
"topic_id": 7,
"sequence_number": 1
"sequence_number": 1,
"topic_id": 7
}
]
},
"url": "/api/v1/topics/7/messages/1",
"responseStatus": 200,
"responseJson": {
"chunk_info": null,
"consensus_timestamp": "1234567890.000000001",
"topic_id": "0.0.7",
"message": "bWVzc2FnZQ==",
"payer_account_id": "0.0.3",
"running_hash": "cnVubmluZ19oYXNo",
"running_hash_version": 2,
"sequence_number": 1
"sequence_number": 1,
"topic_id": "0.0.7"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"description": "Get single message by valid consensus timestamp where the message has a saved protobuf initial_transaction_id",
"setup": {
"accounts": [],
"balances": [],
"transactions": [],
"cryptotransfers": [],
"topicmessages": [
{
"consensus_timestamp": "1234567890000000001",
"sequence_number": 1,
"topic_id": 7
},
{
"chunk_num": 2,
"chunk_total": 3,
"consensus_timestamp": "1234567890000000002",
"initial_transaction_id": [10, 6, 8, -46, -123, -40, -52, 4, 18, 2, 24, 3, 24, 1, 32, 1],
"payer_account_id": 3,
"sequence_number": 2,
"topic_id": 7
},
{
"consensus_timestamp": "1234567890000000003",
"sequence_number": 3,
"topic_id": 7
}
]
},
"url": "/api/v1/topics/messages/1234567890.000000002",
"responseStatus": 200,
"responseJson": {
"chunk_info": {
"number": 2,
"total": 3,
"initial_transaction_id": "0.0.3-1234567890-000000000",
"nonce": 1,
"scheduled": true
},
"consensus_timestamp": "1234567890.000000002",
"message": "bWVzc2FnZQ==",
"payer_account_id": "0.0.3",
"running_hash": "cnVubmluZ19oYXNo",
"running_hash_version": 2,
"sequence_number": 2,
"topic_id": "0.0.7"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"description": "Get single message by valid consensus timestamp",
"setup": {
"accounts": [],
"balances": [],
"transactions": [],
"cryptotransfers": [],
"topicmessages": [
{
"consensus_timestamp": "1234567890000000001",
"sequence_number": 1,
"topic_id": 7
},
{
"chunk_num": 2,
"chunk_total": 3,
"consensus_timestamp": "1234567890000000002",
"payer_account_id": 10,
"sequence_number": 2,
"topic_id": 7,
"valid_start_timestamp": "1234567890000000000"
},
{
"consensus_timestamp": "1234567890000000003",
"sequence_number": 3,
"topic_id": 7
}
]
},
"url": "/api/v1/topics/messages/1234567890.000000002",
"responseStatus": 200,
"responseJson": {
"chunk_info": {
"initial_transaction_id": "0.0.10-1234567890-000000000",
"nonce": null,
"number": 2,
"scheduled": null,
"total": 3
},
"consensus_timestamp": "1234567890.000000002",
"message": "bWVzc2FnZQ==",
"payer_account_id": "0.0.10",
"running_hash": "cnVubmluZ19oYXNo",
"running_hash_version": 2,
"sequence_number": 2,
"topic_id": "0.0.7"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,19 @@
"topicmessages": [
{
"consensus_timestamp": "1234567890000000001",
"topic_id": 7,
"sequence_number": 1
"sequence_number": 1,
"topic_id": 7
},
{
"consensus_timestamp": "1234567890000000002",
"topic_id": 7,
"sequence_number": 2
"sequence_number": 2,
"topic_id": 7
},
{
"consensus_timestamp": "1234567890000000003",
"topic_id": 7,
"sequence_number": 3
"payer_account_id": 10,
"sequence_number": 3,
"topic_id": 7
}
]
},
Expand All @@ -33,28 +34,34 @@
"responseJson": {
"messages": [
{
"chunk_info": null,
"consensus_timestamp": "1234567890.000000001",
"topic_id": "0.0.7",
"message": "bWVzc2FnZQ==",
"payer_account_id": "0.0.3",
"running_hash": "cnVubmluZ19oYXNo",
"running_hash_version": 2,
"sequence_number": 1
"sequence_number": 1,
"topic_id": "0.0.7"
},
{
"chunk_info": null,
"consensus_timestamp": "1234567890.000000002",
"topic_id": "0.0.7",
"message": "bWVzc2FnZQ==",
"payer_account_id": "0.0.3",
"running_hash": "cnVubmluZ19oYXNo",
"running_hash_version": 2,
"sequence_number": 2
"sequence_number": 2,
"topic_id": "0.0.7"
},
{
"chunk_info": null,
"consensus_timestamp": "1234567890.000000003",
"topic_id": "0.0.7",
"message": "bWVzc2FnZQ==",
"payer_account_id": "0.0.10",
"running_hash": "cnVubmluZ19oYXNo",
"running_hash_version": 2,
"sequence_number": 3
"sequence_number": 3,
"topic_id": "0.0.7"
}
],
"links": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@
"topicmessages": [
{
"consensus_timestamp": "1234567890000000001",
"topic_id": 7,
"sequence_number": 1
"sequence_number": 1,
"topic_id": 7
},
{
"consensus_timestamp": "1234567890000000002",
"topic_id": 7,
"sequence_number": 2
"sequence_number": 2,
"topic_id": 7
},
{
"consensus_timestamp": "1234567890000000003",
"topic_id": 7,
"sequence_number": 3
"sequence_number": 3,
"topic_id": 7
}
]
},
Expand All @@ -33,12 +33,14 @@
"responseJson": {
"messages": [
{
"chunk_info": null,
"consensus_timestamp": "1234567890.000000002",
"topic_id": "0.0.7",
"message": "bWVzc2FnZQ==",
"payer_account_id": "0.0.3",
"running_hash": "cnVubmluZ19oYXNo",
"running_hash_version": 2,
"sequence_number": 2
"sequence_number": 2,
"topic_id": "0.0.7"
}
],
"links": {
Expand Down
Loading

0 comments on commit 98b920f

Please sign in to comment.