@sentio/sdk 2.42.0-rc.4 → 2.42.0-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/btc/filter.d.ts +6 -6
- package/lib/btc/filter.d.ts.map +1 -1
- package/lib/btc/filter.js +23 -8
- package/lib/btc/filter.js.map +1 -1
- package/lib/btc/filter.test.js.map +1 -1
- package/package.json +3 -3
- package/src/btc/filter.ts +31 -15
package/lib/btc/filter.d.ts
CHANGED
@@ -16,12 +16,12 @@ export type Condition = {
|
|
16
16
|
ne?: Comparable;
|
17
17
|
prefix?: string;
|
18
18
|
contains?: string;
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
19
|
+
notContains?: string;
|
20
|
+
length?: number;
|
21
|
+
lengthGt?: number;
|
22
|
+
lengthLt?: number;
|
23
|
+
hasAny?: Array<Comparable>;
|
24
|
+
hasAll?: Array<Comparable>;
|
25
25
|
in?: Array<Comparable>;
|
26
26
|
};
|
27
27
|
export type Filters<T extends string> = Filter<T> | Filter<T>[];
|
package/lib/btc/filter.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/btc/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAIrB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC,CAAA;AAEvE,MAAM,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,iBAAiB,CAAC,CAAA;AAEvE,MAAM,MAAM,UAAU,GAAG,MAAM,IAAI,CAAA;AAEnC,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,IAAI;KACpC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU;CAClC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,GAAG,CAAC,EAAE,UAAU,CAAA;IAChB,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,GAAG,CAAC,EAAE,UAAU,CAAA;IAChB,EAAE,CAAC,EAAE,UAAU,CAAA;IAEf,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/btc/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAIrB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC,CAAA;AAEvE,MAAM,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,iBAAiB,CAAC,CAAA;AAEvE,MAAM,MAAM,UAAU,GAAG,MAAM,IAAI,CAAA;AAEnC,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,IAAI;KACpC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU;CAClC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,GAAG,CAAC,EAAE,UAAU,CAAA;IAChB,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,GAAG,CAAC,EAAE,UAAU,CAAA;IAChB,EAAE,CAAC,EAAE,UAAU,CAAA;IAEf,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IAE1B,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IAC1B,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;AAE/D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE;QACf,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACzC,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;KAEnC,CAAA;CACF,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;AAE3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;IACrC,YAAY,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IACxC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAA;AAE/E,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;AA2CxE,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,oBAAoB,EAAE,CAShF"}
|
package/lib/btc/filter.js
CHANGED
@@ -2,25 +2,38 @@ import { serializeRichValue } from '../store/util.js';
|
|
2
2
|
import { BigDecimal } from '@sentio/bigdecimal';
|
3
3
|
function toVinFilter(inputFilter) {
|
4
4
|
if (inputFilter) {
|
5
|
-
const filters =
|
5
|
+
const filters = [];
|
6
|
+
const vouts = [];
|
7
|
+
const txs = [];
|
8
|
+
for (const f of Array.isArray(inputFilter) ? inputFilter : [inputFilter]) {
|
9
|
+
const { preVOut, preTransaction, ...rest } = f;
|
10
|
+
filters.push(rest);
|
11
|
+
if (preVOut) {
|
12
|
+
vouts.push(preVOut);
|
13
|
+
}
|
14
|
+
if (preTransaction) {
|
15
|
+
txs.push(preTransaction);
|
16
|
+
}
|
17
|
+
}
|
6
18
|
const protoFilters = convertFilters(filters);
|
7
|
-
const preVOutFilters = filters.map((f) => f.preVOut);
|
8
|
-
const preTxFilters = filters.map((f) => f.preTransaction);
|
9
19
|
return {
|
10
20
|
filters: protoFilters
|
11
21
|
? {
|
12
22
|
filters: protoFilters
|
13
23
|
}
|
14
24
|
: undefined,
|
15
|
-
preVOut: convertFilters(
|
16
|
-
preTransaction: filters2Proto(
|
25
|
+
preVOut: vouts?.length > 0 ? convertFilters(vouts)?.[0] : undefined,
|
26
|
+
preTransaction: txs.length > 0 ? filters2Proto(txs)?.[0] : undefined
|
17
27
|
};
|
18
28
|
}
|
19
29
|
return undefined;
|
20
30
|
}
|
21
31
|
function toVOutFilter(outputFilter) {
|
22
|
-
|
23
|
-
|
32
|
+
if (outputFilter) {
|
33
|
+
const filters = Array.isArray(outputFilter) ? outputFilter : [outputFilter];
|
34
|
+
return convertFilters(filters)?.[0];
|
35
|
+
}
|
36
|
+
return undefined;
|
24
37
|
}
|
25
38
|
export function filters2Proto(filter) {
|
26
39
|
const filters = Array.isArray(filter) ? filter : [filter];
|
@@ -62,7 +75,9 @@ function toCondition(value) {
|
|
62
75
|
case 'notContains':
|
63
76
|
ret[k] = v.toString();
|
64
77
|
break;
|
65
|
-
case '
|
78
|
+
case 'length':
|
79
|
+
ret['lengthEq'] = v;
|
80
|
+
break;
|
66
81
|
case 'lengthGt':
|
67
82
|
case 'lengthLt':
|
68
83
|
ret[k] = v;
|
package/lib/btc/filter.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/btc/filter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AA0D/C,SAAS,WAAW,CAAC,WAAqC;IACxD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/btc/filter.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"filter.test.js","sourceRoot":"","sources":["../../src/btc/filter.test.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"filter.test.js","sourceRoot":"","sources":["../../src/btc/filter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B,MAAM,aAAa,GAAsB;IACvC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;IAC3C,YAAY,EAAE;QACZ,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE;KAC7C;CACF,CAAA;AAED,MAAM,cAAc,GAAsB;IACxC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;IAC3C,WAAW,EAAE;QACX,cAAc,EAAE;YACd,YAAY,EAAE;gBACZ,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;gBACrB,UAAU,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE;aAC7C;SACF;KACF;CACF,CAAA;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;QAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;QAC3C,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentio/sdk",
|
3
|
-
"version": "2.42.0-rc.
|
3
|
+
"version": "2.42.0-rc.6",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -84,8 +84,8 @@
|
|
84
84
|
"typechain": "^8.3.2",
|
85
85
|
"utility-types": "^3.11.0",
|
86
86
|
"yaml": "^2.3.4",
|
87
|
-
"@sentio/protos": "2.42.0-rc.
|
88
|
-
"@sentio/runtime": "^2.42.0-rc.
|
87
|
+
"@sentio/protos": "2.42.0-rc.6",
|
88
|
+
"@sentio/runtime": "^2.42.0-rc.6"
|
89
89
|
},
|
90
90
|
"peerDependencies": {
|
91
91
|
"tsup": "npm:@sentio/tsup@^6.7.2"
|
package/src/btc/filter.ts
CHANGED
@@ -29,14 +29,14 @@ export type Condition = {
|
|
29
29
|
prefix?: string
|
30
30
|
// string contains
|
31
31
|
contains?: string
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
32
|
+
notContains?: string
|
33
|
+
length?: number
|
34
|
+
lengthGt?: number
|
35
|
+
lengthLt?: number
|
36
36
|
// array contains any of the values
|
37
|
-
|
37
|
+
hasAny?: Array<Comparable>
|
38
38
|
// array contains all the values
|
39
|
-
|
39
|
+
hasAll?: Array<Comparable>
|
40
40
|
in?: Array<Comparable>
|
41
41
|
}
|
42
42
|
|
@@ -65,11 +65,22 @@ export type TransactionFilters = TransactionFilter | TransactionFilter[]
|
|
65
65
|
|
66
66
|
function toVinFilter(inputFilter?: VinFilter | VinFilter[]): BTCTransactionFilter_VinFilter | undefined {
|
67
67
|
if (inputFilter) {
|
68
|
-
const filters =
|
68
|
+
const filters = []
|
69
|
+
const vouts = []
|
70
|
+
const txs: TransactionFilters = []
|
71
|
+
|
72
|
+
for (const f of Array.isArray(inputFilter) ? inputFilter : [inputFilter]) {
|
73
|
+
const { preVOut, preTransaction, ...rest } = f
|
74
|
+
filters.push(rest)
|
75
|
+
if (preVOut) {
|
76
|
+
vouts.push(preVOut)
|
77
|
+
}
|
78
|
+
if (preTransaction) {
|
79
|
+
txs.push(preTransaction)
|
80
|
+
}
|
81
|
+
}
|
69
82
|
|
70
|
-
const protoFilters = convertFilters(filters
|
71
|
-
const preVOutFilters = filters.map((f) => f.preVOut)
|
72
|
-
const preTxFilters = filters.map((f) => f.preTransaction) as TransactionFilters
|
83
|
+
const protoFilters = convertFilters(filters)
|
73
84
|
|
74
85
|
return {
|
75
86
|
filters: protoFilters
|
@@ -77,8 +88,8 @@ function toVinFilter(inputFilter?: VinFilter | VinFilter[]): BTCTransactionFilte
|
|
77
88
|
filters: protoFilters
|
78
89
|
}
|
79
90
|
: undefined,
|
80
|
-
preVOut: convertFilters(
|
81
|
-
preTransaction: filters2Proto(
|
91
|
+
preVOut: vouts?.length > 0 ? convertFilters(vouts as Filter<VOutFields>[])?.[0] : undefined,
|
92
|
+
preTransaction: txs.length > 0 ? filters2Proto(txs)?.[0] : undefined
|
82
93
|
}
|
83
94
|
}
|
84
95
|
|
@@ -86,8 +97,11 @@ function toVinFilter(inputFilter?: VinFilter | VinFilter[]): BTCTransactionFilte
|
|
86
97
|
}
|
87
98
|
|
88
99
|
function toVOutFilter(outputFilter?: VOutFilter | VOutFilter[]) {
|
89
|
-
|
90
|
-
|
100
|
+
if (outputFilter) {
|
101
|
+
const filters = Array.isArray(outputFilter) ? outputFilter : ([outputFilter] as Filter<VOutFields>[])
|
102
|
+
return convertFilters(filters)?.[0]
|
103
|
+
}
|
104
|
+
return undefined
|
91
105
|
}
|
92
106
|
|
93
107
|
export function filters2Proto(filter: TransactionFilters): BTCTransactionFilter[] {
|
@@ -132,7 +146,9 @@ function toCondition(value: Condition | Comparable): BTCTransactionFilter_Condit
|
|
132
146
|
case 'notContains':
|
133
147
|
ret[k] = v.toString()
|
134
148
|
break
|
135
|
-
case '
|
149
|
+
case 'length':
|
150
|
+
ret['lengthEq'] = v
|
151
|
+
break
|
136
152
|
case 'lengthGt':
|
137
153
|
case 'lengthLt':
|
138
154
|
ret[k] = v
|