Skip to content

Commit 499e8ab

Browse files
authored
add isSuccessful column (#241)
* add isSuccessful column * make isSuccessful nullable * update sql script * bump version
1 parent e0f4e31 commit 499e8ab

File tree

5 files changed

+19
-1
lines changed

5 files changed

+19
-1
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "rsk-explorer-api",
3-
"version": "2.2.11",
3+
"version": "2.3.0",
44
"description": "RSK Explorer API",
55
"main": "index.js",
66
"scripts": {

prisma/rsk-explorer-database.sql

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
/*
44
5+
V1.1.6 Notes:
6+
- add isSuccessful column to transaction table
7+
58
V1.1.5 Notes:
69
- add status field to transaction table
710
- add index on table transaction(status)
@@ -260,6 +263,7 @@ datetime TIMESTAMP WITH TIME ZONE,
260263
date date,
261264
gas_used INT,
262265
status VARCHAR,
266+
isSuccessful BOOLEAN,
263267
receipt VARCHAR NOT NULL, -- stringified
264268
CONSTRAINT fk_transaction_from FOREIGN KEY ("from") REFERENCES address(address) ON DELETE CASCADE,
265269
CONSTRAINT fk_transaction_to FOREIGN KEY ("to") REFERENCES address(address) ON DELETE CASCADE,
@@ -277,6 +281,10 @@ CREATE INDEX ON transaction(timestamp);
277281
CREATE INDEX idx_transaction_datetime ON transaction(datetime);
278282
CREATE INDEX idx_transaction_date ON transaction(date);
279283
CREATE INDEX idx_transaction_status ON transaction(status);
284+
CREATE INDEX idx_transaction_is_successful ON transaction(is_successful);
285+
CREATE INDEX idx_transaction_is_successful_to ON TRANSACTION ("to", is_successful);
286+
CREATE INDEX idx_transaction_is_successful_from ON TRANSACTION ("from", is_successful);
287+
CREATE INDEX idx_transaction_is_successful_tx_id ON TRANSACTION (tx_id, is_successful);
280288

281289
CREATE TABLE internal_transaction (
282290
internal_tx_id VARCHAR PRIMARY KEY,

prisma/schema.prisma

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ model transaction {
262262
gasUsed Int? @map("gas_used")
263263
receipt String @db.VarChar
264264
status String? @db.VarChar
265+
isSuccessful Boolean? @map("is_successful")
265266
event event[]
266267
internal_transaction internal_transaction[]
267268
block_transaction_block_hashToblock block @relation("transaction_block_hashToblock", fields: [blockHash], references: [hash], onDelete: Cascade, onUpdate: NoAction, map: "fk_transaction_block_hash")
@@ -281,6 +282,10 @@ model transaction {
281282
@@index([datetime], map: "idx_transaction_datetime")
282283
@@index([date], map: "idx_transaction_date")
283284
@@index([status], map: "idx_transaction_status")
285+
@@index([isSuccessful], map: "idx_transaction_is_successful")
286+
@@index([to, isSuccessful], map: "idx_transaction_is_successful_to")
287+
@@index([from, isSuccessful], map: "idx_transaction_is_successful_from")
288+
@@index([txId, isSuccessful], map: "idx_transaction_is_successful_tx_id")
284289
}
285290

286291
model transaction_in_pool {

src/converters/tx.converters.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ function rawTxToEntity ({
1616
type,
1717
timestamp,
1818
status,
19+
isSuccessful,
1920
receipt,
2021
txType,
2122
txId,
@@ -41,6 +42,7 @@ function rawTxToEntity ({
4142
type,
4243
timestamp,
4344
status,
45+
isSuccessful,
4446
receipt: JSON.stringify(receipt),
4547
txType,
4648
txId,
@@ -69,6 +71,7 @@ function transactionEntityToRaw ({
6971
timestamp,
7072
receipt,
7173
status,
74+
isSuccessful,
7275
txType,
7376
txId,
7477
datetime,
@@ -93,6 +96,7 @@ function transactionEntityToRaw ({
9396
type,
9497
timestamp: Number(timestamp),
9598
status,
99+
isSuccessful,
96100
receipt: JSON.parse(receipt || '{}'),
97101
txType,
98102
txId,

src/services/classes/Tx.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@ export function createTxObject (tx, { timestamp, receipt }) {
238238
// TODO check timestamp
239239
tx.timestamp = timestamp
240240
tx.status = receipt.status
241+
tx.isSuccessful = receipt.status === '0x1'
241242
tx.receipt = receipt
242243
return tx
243244
}

0 commit comments

Comments
 (0)