/
transaction.ts
103 lines (101 loc) · 3.33 KB
/
transaction.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import { Database } from "@arkecosystem/core-interfaces";
import { Utils } from "@arkecosystem/crypto";
import { IColumnDescriptor } from "../interfaces";
import { Model } from "./model";
export class Transaction extends Model {
protected columnsDescriptor: IColumnDescriptor[] = [
{
name: "id",
supportedOperators: [Database.SearchOperator.OP_EQ, Database.SearchOperator.OP_IN],
},
{
name: "version",
supportedOperators: [Database.SearchOperator.OP_EQ, Database.SearchOperator.OP_IN],
},
{
name: "block_id",
prop: "blockId",
supportedOperators: [Database.SearchOperator.OP_EQ, Database.SearchOperator.OP_IN],
},
{
name: "sequence",
supportedOperators: [Database.SearchOperator.OP_EQ],
},
{
name: "timestamp",
supportedOperators: [
Database.SearchOperator.OP_LTE,
Database.SearchOperator.OP_GTE,
Database.SearchOperator.OP_EQ,
],
},
{
name: "sender_public_key",
prop: "senderPublicKey",
supportedOperators: [Database.SearchOperator.OP_EQ, Database.SearchOperator.OP_IN],
},
{
name: "recipient_id",
prop: "recipientId",
supportedOperators: [Database.SearchOperator.OP_EQ, Database.SearchOperator.OP_IN],
def: undefined,
},
{
name: "type",
supportedOperators: [Database.SearchOperator.OP_EQ, Database.SearchOperator.OP_IN],
},
{
name: "type_group",
prop: "typeGroup",
supportedOperators: [Database.SearchOperator.OP_EQ, Database.SearchOperator.OP_IN],
},
{
name: "vendor_field_hex",
prop: "vendorFieldHex",
supportedOperators: [Database.SearchOperator.OP_LIKE],
def: undefined,
},
{
name: "amount",
init: col => Utils.BigNumber.make(col.value).toFixed(),
supportedOperators: [
Database.SearchOperator.OP_LTE,
Database.SearchOperator.OP_GTE,
Database.SearchOperator.OP_EQ,
],
},
{
name: "fee",
init: col => Utils.BigNumber.make(col.value).toFixed(),
supportedOperators: [
Database.SearchOperator.OP_LTE,
Database.SearchOperator.OP_GTE,
Database.SearchOperator.OP_EQ,
],
},
{
name: "serialized",
supportedOperators: [Database.SearchOperator.OP_EQ],
},
{
name: "asset",
init: col => {
return col.value;
},
supportedOperators: [Database.SearchOperator.OP_CONTAINS],
},
{
name: "nonce",
init: col => col.value !== undefined ? Utils.BigNumber.make(col.value).toFixed() : undefined,
supportedOperators: [
Database.SearchOperator.OP_LTE,
Database.SearchOperator.OP_GTE,
Database.SearchOperator.OP_EQ,
],
def: undefined,
},
];
public getTable(): string {
return "transactions";
}
}