@sentio/sdk 2.62.0-rc.9 → 2.62.1-rc.1
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/aptos/context.d.ts.map +1 -1
- package/lib/aptos/context.js +17 -4
- package/lib/aptos/context.js.map +1 -1
- package/lib/core/base-context.test.d.ts +2 -0
- package/lib/core/base-context.test.d.ts.map +1 -0
- package/lib/core/base-context.test.js.map +1 -0
- package/lib/core/normalization.d.ts.map +1 -1
- package/lib/core/normalization.js +5 -2
- package/lib/core/normalization.js.map +1 -1
- package/lib/fuel/asset-processor.d.ts.map +1 -1
- package/lib/fuel/asset-processor.js +10 -7
- package/lib/fuel/asset-processor.js.map +1 -1
- package/lib/store/convert.test.js.map +1 -1
- package/lib/store/decorators.d.ts.map +1 -1
- package/lib/testing/test-processor-server.d.ts +0 -4
- package/lib/testing/test-processor-server.d.ts.map +1 -1
- package/lib/testing/test-processor-server.js +0 -6
- package/lib/testing/test-processor-server.js.map +1 -1
- package/package.json +10 -15
- package/src/aptos/context.ts +28 -4
- package/src/core/normalization.ts +4 -2
- package/src/fuel/asset-processor.ts +10 -7
- package/src/testing/test-processor-server.ts +0 -6
- package/lib/btc/btc-plugin.d.ts +0 -19
- package/lib/btc/btc-plugin.d.ts.map +0 -1
- package/lib/btc/btc-plugin.js +0 -161
- package/lib/btc/btc-plugin.js.map +0 -1
- package/lib/btc/btc-processor.d.ts +0 -34
- package/lib/btc/btc-processor.d.ts.map +0 -1
- package/lib/btc/btc-processor.js +0 -101
- package/lib/btc/btc-processor.js.map +0 -1
- package/lib/btc/filter.d.ts +0 -44
- package/lib/btc/filter.d.ts.map +0 -1
- package/lib/btc/filter.js +0 -127
- package/lib/btc/filter.js.map +0 -1
- package/lib/btc/filter.test.d.ts +0 -2
- package/lib/btc/filter.test.d.ts.map +0 -1
- package/lib/btc/filter.test.js.map +0 -1
- package/lib/btc/index.d.ts +0 -5
- package/lib/btc/index.d.ts.map +0 -1
- package/lib/btc/index.js +0 -5
- package/lib/btc/index.js.map +0 -1
- package/lib/btc/types.d.ts +0 -89
- package/lib/btc/types.d.ts.map +0 -1
- package/lib/btc/types.js +0 -60
- package/lib/btc/types.js.map +0 -1
- package/lib/stark/codegen/codegen.d.ts +0 -2
- package/lib/stark/codegen/codegen.d.ts.map +0 -1
- package/lib/stark/codegen/codegen.js +0 -110
- package/lib/stark/codegen/codegen.js.map +0 -1
- package/lib/stark/codegen/index.d.ts +0 -2
- package/lib/stark/codegen/index.d.ts.map +0 -1
- package/lib/stark/codegen/index.js +0 -2
- package/lib/stark/codegen/index.js.map +0 -1
- package/lib/stark/codegen/run.d.ts +0 -2
- package/lib/stark/codegen/run.d.ts.map +0 -1
- package/lib/stark/codegen/run.js +0 -11
- package/lib/stark/codegen/run.js.map +0 -1
- package/lib/stark/codegen/utils.d.ts +0 -2
- package/lib/stark/codegen/utils.d.ts.map +0 -1
- package/lib/stark/codegen/utils.js +0 -4
- package/lib/stark/codegen/utils.js.map +0 -1
- package/lib/stark/context.d.ts +0 -28
- package/lib/stark/context.d.ts.map +0 -1
- package/lib/stark/context.js +0 -59
- package/lib/stark/context.js.map +0 -1
- package/lib/stark/contract.d.ts +0 -12
- package/lib/stark/contract.d.ts.map +0 -1
- package/lib/stark/contract.js +0 -43
- package/lib/stark/contract.js.map +0 -1
- package/lib/stark/event.d.ts +0 -7
- package/lib/stark/event.d.ts.map +0 -1
- package/lib/stark/event.js +0 -11
- package/lib/stark/event.js.map +0 -1
- package/lib/stark/index.d.ts +0 -7
- package/lib/stark/index.d.ts.map +0 -1
- package/lib/stark/index.js +0 -7
- package/lib/stark/index.js.map +0 -1
- package/lib/stark/starknet-plugin.d.ts +0 -15
- package/lib/stark/starknet-plugin.d.ts.map +0 -1
- package/lib/stark/starknet-plugin.js +0 -87
- package/lib/stark/starknet-plugin.js.map +0 -1
- package/lib/stark/starknet-processor.d.ts +0 -35
- package/lib/stark/starknet-processor.d.ts.map +0 -1
- package/lib/stark/starknet-processor.js +0 -133
- package/lib/stark/starknet-processor.js.map +0 -1
- package/lib/stark/types.d.ts +0 -11
- package/lib/stark/types.d.ts.map +0 -1
- package/lib/stark/types.js +0 -2
- package/lib/stark/types.js.map +0 -1
- package/lib/testing/btc-facet.d.ts +0 -10
- package/lib/testing/btc-facet.d.ts.map +0 -1
- package/lib/testing/btc-facet.js +0 -39
- package/lib/testing/btc-facet.js.map +0 -1
- package/lib/testing/starknet-facet.d.ts +0 -9
- package/lib/testing/starknet-facet.d.ts.map +0 -1
- package/lib/testing/starknet-facet.js +0 -53
- package/lib/testing/starknet-facet.js.map +0 -1
- package/src/btc/btc-plugin.ts +0 -209
- package/src/btc/btc-processor.ts +0 -165
- package/src/btc/filter.ts +0 -206
- package/src/btc/index.ts +0 -4
- package/src/btc/types.ts +0 -134
- package/src/stark/codegen/codegen.ts +0 -125
- package/src/stark/codegen/index.ts +0 -1
- package/src/stark/codegen/run.ts +0 -10
- package/src/stark/codegen/utils.ts +0 -3
- package/src/stark/context.ts +0 -78
- package/src/stark/contract.ts +0 -55
- package/src/stark/event.ts +0 -7
- package/src/stark/index.ts +0 -9
- package/src/stark/starknet-plugin.ts +0 -116
- package/src/stark/starknet-processor.ts +0 -164
- package/src/stark/types.ts +0 -11
- package/src/testing/btc-facet.ts +0 -46
- package/src/testing/starknet-facet.ts +0 -62
package/lib/btc/btc-plugin.js
DELETED
@@ -1,161 +0,0 @@
|
|
1
|
-
import { errorString, GLOBAL_CONFIG, mergeProcessResults, Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime';
|
2
|
-
import { ContractConfig, HandlerType } from '@sentio/protos';
|
3
|
-
import { ServerError, Status } from 'nice-grpc';
|
4
|
-
import { PartitionHandlerManager } from '../core/index.js';
|
5
|
-
import { HandlerRegister } from '../core/handler-register.js';
|
6
|
-
import { TemplateInstanceState } from '../core/template.js';
|
7
|
-
import { BTCProcessorState } from './btc-processor.js';
|
8
|
-
import { filters2Proto } from './filter.js';
|
9
|
-
export class BTCPlugin extends Plugin {
|
10
|
-
name = 'BTCPlugin';
|
11
|
-
handlerRegister = new HandlerRegister();
|
12
|
-
partitionManager = new PartitionHandlerManager();
|
13
|
-
async init(config) {
|
14
|
-
for (const aptosProcessor of BTCProcessorState.INSTANCE.getValues()) {
|
15
|
-
const chainId = aptosProcessor.config.chainId;
|
16
|
-
config.chainIds.push(chainId);
|
17
|
-
}
|
18
|
-
}
|
19
|
-
async configure(config, forChainId) {
|
20
|
-
this.handlerRegister.clear(forChainId);
|
21
|
-
for (const processor of BTCProcessorState.INSTANCE.getValues()) {
|
22
|
-
const chainId = processor.config.chainId;
|
23
|
-
if (forChainId !== undefined && forChainId !== chainId.toString()) {
|
24
|
-
continue;
|
25
|
-
}
|
26
|
-
const contractConfig = ContractConfig.fromPartial({
|
27
|
-
processorType: USER_PROCESSOR,
|
28
|
-
contract: {
|
29
|
-
name: processor.config.name,
|
30
|
-
chainId: processor.config.chainId.toString(),
|
31
|
-
address: processor.config.address || '*',
|
32
|
-
abi: ''
|
33
|
-
},
|
34
|
-
startBlock: processor.config.startBlock,
|
35
|
-
endBlock: processor.config.endBlock
|
36
|
-
});
|
37
|
-
for (const callHandler of processor.callHandlers) {
|
38
|
-
const handlerId = this.handlerRegister.register(callHandler.handler, chainId);
|
39
|
-
this.partitionManager.registerPartitionHandler(HandlerType.BTC_TRANSACTION, handlerId, callHandler.partitionHandler);
|
40
|
-
const handlerName = callHandler.handlerName;
|
41
|
-
if (callHandler.filter) {
|
42
|
-
contractConfig.btcTransactionConfigs.push({
|
43
|
-
filters: filters2Proto(callHandler.filter),
|
44
|
-
handlerId,
|
45
|
-
handlerName
|
46
|
-
});
|
47
|
-
}
|
48
|
-
else if (contractConfig.contract?.address != '*') {
|
49
|
-
contractConfig.btcTransactionConfigs.push({
|
50
|
-
filters: filters2Proto({
|
51
|
-
outputFilter: {
|
52
|
-
script_address: processor.config.address
|
53
|
-
}
|
54
|
-
}),
|
55
|
-
handlerId,
|
56
|
-
handlerName
|
57
|
-
});
|
58
|
-
}
|
59
|
-
}
|
60
|
-
for (const blockHandler of processor.blockHandlers) {
|
61
|
-
const handlerId = this.handlerRegister.register(blockHandler.handler, chainId);
|
62
|
-
this.partitionManager.registerPartitionHandler(HandlerType.BTC_BLOCK, handlerId, blockHandler.partitionHandler);
|
63
|
-
contractConfig.intervalConfigs.push({
|
64
|
-
slot: 0,
|
65
|
-
slotInterval: blockHandler.blockInterval,
|
66
|
-
minutes: 0,
|
67
|
-
minutesInterval: blockHandler.timeIntervalInMinutes,
|
68
|
-
handlerId,
|
69
|
-
handlerName: blockHandler.handlerName,
|
70
|
-
fetchConfig: {
|
71
|
-
transaction: blockHandler.fetchConfig?.getTransactions ?? false,
|
72
|
-
trace: false,
|
73
|
-
block: true,
|
74
|
-
transactionReceipt: false,
|
75
|
-
transactionReceiptLogs: false
|
76
|
-
}
|
77
|
-
});
|
78
|
-
}
|
79
|
-
// Finish up a contract
|
80
|
-
config.contractConfigs.push(contractConfig);
|
81
|
-
}
|
82
|
-
}
|
83
|
-
supportedHandlers = [HandlerType.BTC_TRANSACTION, HandlerType.BTC_BLOCK];
|
84
|
-
processBinding(request) {
|
85
|
-
switch (request.handlerType) {
|
86
|
-
case HandlerType.BTC_TRANSACTION:
|
87
|
-
return this.processTransaction(request);
|
88
|
-
case HandlerType.BTC_BLOCK:
|
89
|
-
return this.processBlock(request);
|
90
|
-
default:
|
91
|
-
throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType);
|
92
|
-
}
|
93
|
-
}
|
94
|
-
async partition(request) {
|
95
|
-
let data;
|
96
|
-
switch (request.handlerType) {
|
97
|
-
case HandlerType.BTC_TRANSACTION:
|
98
|
-
if (!request.data?.btcTransaction) {
|
99
|
-
throw new ServerError(Status.INVALID_ARGUMENT, "btcTransaction can't be empty");
|
100
|
-
}
|
101
|
-
data = request.data.btcTransaction;
|
102
|
-
break;
|
103
|
-
case HandlerType.BTC_BLOCK:
|
104
|
-
if (!request.data?.btcBlock) {
|
105
|
-
throw new ServerError(Status.INVALID_ARGUMENT, "btcBlock can't be empty");
|
106
|
-
}
|
107
|
-
data = request.data.btcBlock;
|
108
|
-
break;
|
109
|
-
default:
|
110
|
-
throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType);
|
111
|
-
}
|
112
|
-
const partitions = await this.partitionManager.processPartitionForHandlerType(request.handlerType, request.handlerIds, data);
|
113
|
-
return {
|
114
|
-
partitions
|
115
|
-
};
|
116
|
-
}
|
117
|
-
async start(request) { }
|
118
|
-
stateDiff(config) {
|
119
|
-
return TemplateInstanceState.INSTANCE.getValues().length !== config.templateInstances.length;
|
120
|
-
}
|
121
|
-
async processTransaction(binding) {
|
122
|
-
if (!binding.data?.btcTransaction) {
|
123
|
-
throw new ServerError(Status.INVALID_ARGUMENT, "BTCEvents can't be null");
|
124
|
-
}
|
125
|
-
const promises = [];
|
126
|
-
const result = binding.data?.btcTransaction;
|
127
|
-
for (const handlerId of binding.handlerIds) {
|
128
|
-
const promise = this.handlerRegister
|
129
|
-
.getHandlerById(binding.chainId, handlerId)(binding.data?.btcTransaction)
|
130
|
-
.catch((e) => {
|
131
|
-
throw new ServerError(Status.INTERNAL, 'error processing transaction: ' + JSON.stringify(result) + '\n' + errorString(e));
|
132
|
-
});
|
133
|
-
if (GLOBAL_CONFIG.execution.sequential) {
|
134
|
-
await promise;
|
135
|
-
}
|
136
|
-
promises.push(promise);
|
137
|
-
}
|
138
|
-
return mergeProcessResults(await Promise.all(promises));
|
139
|
-
}
|
140
|
-
async processBlock(request) {
|
141
|
-
if (!request.data?.btcBlock) {
|
142
|
-
throw new ServerError(Status.INVALID_ARGUMENT, "Block can't be empty");
|
143
|
-
}
|
144
|
-
const block = request.data.btcBlock;
|
145
|
-
const promises = [];
|
146
|
-
for (const handlerId of request.handlerIds) {
|
147
|
-
const promise = this.handlerRegister
|
148
|
-
.getHandlerById(request.chainId, handlerId)(block)
|
149
|
-
.catch((e) => {
|
150
|
-
throw new ServerError(Status.INTERNAL, 'error processing block: ' + JSON.stringify(block) + '\n' + errorString(e));
|
151
|
-
});
|
152
|
-
if (GLOBAL_CONFIG.execution.sequential) {
|
153
|
-
await promise;
|
154
|
-
}
|
155
|
-
promises.push(promise);
|
156
|
-
}
|
157
|
-
return mergeProcessResults(await Promise.all(promises));
|
158
|
-
}
|
159
|
-
}
|
160
|
-
PluginManager.INSTANCE.register(new BTCPlugin());
|
161
|
-
//# sourceMappingURL=btc-plugin.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"btc-plugin.js","sourceRoot":"","sources":["../../src/btc/btc-plugin.ts"],"names":[],"mappings":"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"}
|
@@ -1,34 +0,0 @@
|
|
1
|
-
import { ListStateStorage } from '@sentio/runtime';
|
2
|
-
import { BlockHandler, BTCBlock, BTCBlockContext, BTCContext, BTCOnIntervalFetchConfig, Transaction } from './types.js';
|
3
|
-
import { Data_BTCTransaction, HandleInterval, ProcessResult } from '@sentio/protos';
|
4
|
-
import { TransactionFilters } from './filter.js';
|
5
|
-
import { HandlerOptions, PromiseOrVoid } from '../core/index.js';
|
6
|
-
export declare class BTCProcessorState extends ListStateStorage<BTCProcessor> {
|
7
|
-
static INSTANCE: BTCProcessorState;
|
8
|
-
}
|
9
|
-
export declare class BTCProcessor {
|
10
|
-
readonly config: BTCProcessorConfig;
|
11
|
-
callHandlers: CallHandler<Data_BTCTransaction>[];
|
12
|
-
blockHandlers: BlockHandler[];
|
13
|
-
constructor(config: BTCProcessorConfig);
|
14
|
-
static bind(config: BTCProcessorConfig): BTCProcessor;
|
15
|
-
onTransaction(handler: (transaction: Transaction, ctx: BTCContext) => void | Promise<void>, filter?: TransactionFilters, handlerOptions?: HandlerOptions<object, Transaction>): this;
|
16
|
-
onInterval(handler: (block: BTCBlock, ctx: BTCBlockContext) => PromiseOrVoid, timeInterval: HandleInterval | undefined, blockInterval: HandleInterval | undefined, handlerOptions?: HandlerOptions<BTCOnIntervalFetchConfig, BTCBlock>): this;
|
17
|
-
onBlockInterval(handler: (block: BTCBlock, ctx: BTCBlockContext) => PromiseOrVoid, blockInterval?: number, backfillBlockInterval?: number, handlerOptions?: HandlerOptions<BTCOnIntervalFetchConfig, BTCBlock>): this;
|
18
|
-
onTimeInterval(handler: (block: BTCBlock, ctx: BTCBlockContext) => PromiseOrVoid, timeIntervalInMinutes?: number, backfillTimeIntervalInMinutes?: number, handlerOptions?: HandlerOptions<BTCOnIntervalFetchConfig, BTCBlock>): this;
|
19
|
-
}
|
20
|
-
interface BTCProcessorConfig {
|
21
|
-
chainId: string;
|
22
|
-
name?: string;
|
23
|
-
address?: string;
|
24
|
-
startBlock?: bigint;
|
25
|
-
endBlock?: bigint;
|
26
|
-
}
|
27
|
-
export type CallHandler<T> = {
|
28
|
-
handlerName: string;
|
29
|
-
handler: (call: T) => Promise<ProcessResult>;
|
30
|
-
filter?: TransactionFilters;
|
31
|
-
partitionHandler?: (call: T) => Promise<string | undefined>;
|
32
|
-
};
|
33
|
-
export {};
|
34
|
-
//# sourceMappingURL=btc-processor.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"btc-processor.d.ts","sourceRoot":"","sources":["../../src/btc/btc-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACvH,OAAO,EAAiB,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAClG,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAIhE,qBAAa,iBAAkB,SAAQ,gBAAgB,CAAC,YAAY,CAAC;IACnE,MAAM,CAAC,QAAQ,oBAA0B;CAC1C;AAED,qBAAa,YAAY;IAIX,QAAQ,CAAC,MAAM,EAAE,kBAAkB;IAH/C,YAAY,EAAE,WAAW,CAAC,mBAAmB,CAAC,EAAE,CAAK;IACrD,aAAa,EAAE,YAAY,EAAE,CAAK;gBAEb,MAAM,EAAE,kBAAkB;IAI/C,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY;IAM9C,aAAa,CAClB,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC5E,MAAM,CAAC,EAAE,kBAAkB,EAC3B,cAAc,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC;IA+B/C,UAAU,CACf,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,KAAK,aAAa,EACjE,YAAY,EAAE,cAAc,GAAG,SAAS,EACxC,aAAa,EAAE,cAAc,GAAG,SAAS,EACzC,cAAc,CAAC,EAAE,cAAc,CAAC,wBAAwB,EAAE,QAAQ,CAAC,GAClE,IAAI;IAsDA,eAAe,CACpB,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,KAAK,aAAa,EACjE,aAAa,SAAM,EACnB,qBAAqB,SAAO,EAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,wBAAwB,EAAE,QAAQ,CAAC,GAClE,IAAI;IAYA,cAAc,CACnB,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,KAAK,aAAa,EACjE,qBAAqB,SAAK,EAC1B,6BAA6B,SAAM,EACnC,cAAc,CAAC,EAAE,cAAc,CAAC,wBAAwB,EAAE,QAAQ,CAAC,GAClE,IAAI;CAQR;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IAC5C,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAC5D,CAAA"}
|
package/lib/btc/btc-processor.js
DELETED
@@ -1,101 +0,0 @@
|
|
1
|
-
import { ListStateStorage } from '@sentio/runtime';
|
2
|
-
import { BTCBlockContext, BTCContext } from './types.js';
|
3
|
-
import { ServerError, Status } from 'nice-grpc';
|
4
|
-
import { getHandlerName, proxyProcessor } from '../utils/metrics.js';
|
5
|
-
export class BTCProcessorState extends ListStateStorage {
|
6
|
-
static INSTANCE = new BTCProcessorState();
|
7
|
-
}
|
8
|
-
export class BTCProcessor {
|
9
|
-
config;
|
10
|
-
callHandlers = [];
|
11
|
-
blockHandlers = [];
|
12
|
-
constructor(config) {
|
13
|
-
this.config = config;
|
14
|
-
return proxyProcessor(this);
|
15
|
-
}
|
16
|
-
static bind(config) {
|
17
|
-
const processor = new BTCProcessor(config);
|
18
|
-
BTCProcessorState.INSTANCE.addValue(processor);
|
19
|
-
return processor;
|
20
|
-
}
|
21
|
-
onTransaction(handler, filter, handlerOptions) {
|
22
|
-
const callHandler = {
|
23
|
-
handlerName: getHandlerName(),
|
24
|
-
handler: async (call) => {
|
25
|
-
const tx = call.transaction;
|
26
|
-
const ctx = new BTCContext(this.config.chainId, this.config.name ?? this.config.address ?? '', tx, this.config.address ?? tx.vout?.[0]?.scriptPubKey?.address);
|
27
|
-
await handler(tx, ctx);
|
28
|
-
return ctx.stopAndGetResult();
|
29
|
-
},
|
30
|
-
filter,
|
31
|
-
partitionHandler: async (call) => {
|
32
|
-
const p = handlerOptions?.partitionKey;
|
33
|
-
if (!p)
|
34
|
-
return undefined;
|
35
|
-
if (typeof p === 'function') {
|
36
|
-
const tx = call.transaction;
|
37
|
-
return p(tx);
|
38
|
-
}
|
39
|
-
return p;
|
40
|
-
}
|
41
|
-
};
|
42
|
-
this.callHandlers.push(callHandler);
|
43
|
-
return this;
|
44
|
-
}
|
45
|
-
onInterval(handler, timeInterval, blockInterval, handlerOptions) {
|
46
|
-
if (timeInterval) {
|
47
|
-
if (timeInterval.backfillInterval < timeInterval.recentInterval) {
|
48
|
-
timeInterval.backfillInterval = timeInterval.recentInterval;
|
49
|
-
}
|
50
|
-
}
|
51
|
-
const processor = this;
|
52
|
-
this.blockHandlers.push({
|
53
|
-
blockInterval,
|
54
|
-
timeIntervalInMinutes: timeInterval,
|
55
|
-
handlerName: getHandlerName(),
|
56
|
-
handler: async function (data) {
|
57
|
-
const header = data.block;
|
58
|
-
if (!header) {
|
59
|
-
throw new ServerError(Status.INVALID_ARGUMENT, 'Block is empty');
|
60
|
-
}
|
61
|
-
const block = {
|
62
|
-
...header
|
63
|
-
};
|
64
|
-
if (handlerOptions?.getTransactions) {
|
65
|
-
block.tx = header.rawtx?.map((tx) => tx);
|
66
|
-
}
|
67
|
-
const ctx = new BTCBlockContext(processor.config.chainId, processor.config.name ?? processor.config.address ?? '', block, processor.config.address);
|
68
|
-
await handler(block, ctx);
|
69
|
-
return ctx.stopAndGetResult();
|
70
|
-
},
|
71
|
-
fetchConfig: handlerOptions,
|
72
|
-
partitionHandler: async (data) => {
|
73
|
-
const p = handlerOptions?.partitionKey;
|
74
|
-
if (!p)
|
75
|
-
return undefined;
|
76
|
-
if (typeof p === 'function') {
|
77
|
-
const header = data.block;
|
78
|
-
if (!header)
|
79
|
-
return undefined;
|
80
|
-
const block = { ...header };
|
81
|
-
if (handlerOptions?.getTransactions) {
|
82
|
-
block.tx = header.rawtx?.map((tx) => tx);
|
83
|
-
}
|
84
|
-
return p(block);
|
85
|
-
}
|
86
|
-
return p;
|
87
|
-
}
|
88
|
-
});
|
89
|
-
return this;
|
90
|
-
}
|
91
|
-
onBlockInterval(handler, blockInterval = 250, backfillBlockInterval = 1000, handlerOptions) {
|
92
|
-
return this.onInterval(handler, undefined, {
|
93
|
-
recentInterval: blockInterval,
|
94
|
-
backfillInterval: backfillBlockInterval
|
95
|
-
}, handlerOptions);
|
96
|
-
}
|
97
|
-
onTimeInterval(handler, timeIntervalInMinutes = 60, backfillTimeIntervalInMinutes = 240, handlerOptions) {
|
98
|
-
return this.onInterval(handler, { recentInterval: timeIntervalInMinutes, backfillInterval: backfillTimeIntervalInMinutes }, undefined, handlerOptions);
|
99
|
-
}
|
100
|
-
}
|
101
|
-
//# sourceMappingURL=btc-processor.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"btc-processor.js","sourceRoot":"","sources":["../../src/btc/btc-processor.ts"],"names":[],"mappings":"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"}
|
package/lib/btc/filter.d.ts
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
import { BTCTransactionFilter } from '@sentio/protos';
|
2
|
-
import { BigDecimal } from '@sentio/bigdecimal';
|
3
|
-
import { Transaction, Vin, Vout } from './types.js';
|
4
|
-
export type TransactionFields = keyof Omit<Transaction, 'vin' | 'vout'>;
|
5
|
-
export type VinFields = keyof Omit<Vin, 'pre_vout' | 'pre_transaction' | 'scriptSig'> | 'script_asm' | 'script_hex';
|
6
|
-
export type VOutFields = keyof Omit<Vout, 'scriptPubKey'> | 'script_asm' | 'script_hex' | 'script_type' | 'script_address';
|
7
|
-
export type Filter<F extends string> = {
|
8
|
-
[K in F]?: Condition | Comparable;
|
9
|
-
};
|
10
|
-
export type Condition = {
|
11
|
-
eq?: Comparable;
|
12
|
-
gt?: Comparable;
|
13
|
-
gte?: Comparable;
|
14
|
-
lt?: Comparable;
|
15
|
-
lte?: Comparable;
|
16
|
-
ne?: Comparable;
|
17
|
-
prefix?: string;
|
18
|
-
contains?: string;
|
19
|
-
notContains?: string;
|
20
|
-
length?: number;
|
21
|
-
lengthGt?: number;
|
22
|
-
lengthLt?: number;
|
23
|
-
hasAny?: Array<Comparable>;
|
24
|
-
hasAll?: Array<Comparable>;
|
25
|
-
in?: Array<Comparable>;
|
26
|
-
};
|
27
|
-
export type Filters<T extends string> = Filter<T> | Filter<T>[];
|
28
|
-
export type VinFilter = Filter<VinFields> & {
|
29
|
-
preVOut?: Filter<VOutFields>;
|
30
|
-
preTransaction?: {
|
31
|
-
filter?: Array<Filter<TransactionFields>>;
|
32
|
-
outputFilter?: Filters<VOutFields>;
|
33
|
-
};
|
34
|
-
};
|
35
|
-
export type VOutFilter = Filter<VOutFields>;
|
36
|
-
export type TransactionFilter = {
|
37
|
-
inputFilter?: VinFilter | VinFilter[];
|
38
|
-
outputFilter?: VOutFilter | VOutFilter[];
|
39
|
-
filter?: Array<Filter<TransactionFields>>;
|
40
|
-
};
|
41
|
-
export type Comparable = number | BigDecimal | bigint | Date | string | boolean;
|
42
|
-
export type TransactionFilters = TransactionFilter | TransactionFilter[];
|
43
|
-
export declare function filters2Proto(filter: TransactionFilters): BTCTransactionFilter[];
|
44
|
-
//# sourceMappingURL=filter.d.ts.map
|
package/lib/btc/filter.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/btc/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAMrB,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,GAAG,WAAW,CAAC,GAAG,YAAY,GAAG,YAAY,CAAA;AAEnH,MAAM,MAAM,UAAU,GAClB,MAAM,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,GAChC,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,gBAAgB,CAAA;AAEpB,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;AAoDxE,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,oBAAoB,EAAE,CAShF"}
|
package/lib/btc/filter.js
DELETED
@@ -1,127 +0,0 @@
|
|
1
|
-
import { BTCTransactionFilter_Condition, BTCTransactionFilter_Filter, BTCTransactionFilter_Filters, BTCTransactionFilter_VinFilter, BTCTransactionFilter_VOutFilter } from '@sentio/protos';
|
2
|
-
import { serializeRichValue } from '../store/util.js';
|
3
|
-
import { BigDecimal } from '@sentio/bigdecimal';
|
4
|
-
function toVinFilter(inputFilter) {
|
5
|
-
if (inputFilter) {
|
6
|
-
const ret = BTCTransactionFilter_VinFilter.create();
|
7
|
-
const filters = [];
|
8
|
-
const vouts = [];
|
9
|
-
const txs = [];
|
10
|
-
for (const f of Array.isArray(inputFilter) ? inputFilter : [inputFilter]) {
|
11
|
-
const { preVOut, preTransaction, ...rest } = f;
|
12
|
-
filters.push(rest);
|
13
|
-
if (preVOut) {
|
14
|
-
vouts.push(preVOut);
|
15
|
-
}
|
16
|
-
if (preTransaction) {
|
17
|
-
txs.push(preTransaction);
|
18
|
-
}
|
19
|
-
}
|
20
|
-
ret.filters = BTCTransactionFilter_Filters.create({
|
21
|
-
filters: convertFilters(filters)
|
22
|
-
});
|
23
|
-
if (vouts.length > 0) {
|
24
|
-
const voutFilters = convertFilters(vouts);
|
25
|
-
if (voutFilters && voutFilters.length > 0) {
|
26
|
-
ret.preVOut = voutFilters[0];
|
27
|
-
}
|
28
|
-
}
|
29
|
-
if (txs.length > 0) {
|
30
|
-
ret.preTransaction = filters2Proto(txs)?.[0];
|
31
|
-
}
|
32
|
-
return ret;
|
33
|
-
}
|
34
|
-
return undefined;
|
35
|
-
}
|
36
|
-
function toVOutFilter(outputFilter) {
|
37
|
-
if (outputFilter) {
|
38
|
-
const ret = BTCTransactionFilter_VOutFilter.create();
|
39
|
-
const filters = Array.isArray(outputFilter) ? outputFilter : [outputFilter];
|
40
|
-
ret.filters = BTCTransactionFilter_Filters.create({
|
41
|
-
filters: convertFilters(filters)
|
42
|
-
});
|
43
|
-
return ret;
|
44
|
-
}
|
45
|
-
return undefined;
|
46
|
-
}
|
47
|
-
export function filters2Proto(filter) {
|
48
|
-
const filters = Array.isArray(filter) ? filter : [filter];
|
49
|
-
return filters.map((f) => {
|
50
|
-
return {
|
51
|
-
filter: convertFilters(f.filter),
|
52
|
-
inputFilter: toVinFilter(f.inputFilter),
|
53
|
-
outputFilter: toVOutFilter(f.outputFilter)
|
54
|
-
};
|
55
|
-
});
|
56
|
-
}
|
57
|
-
function toCondition(value) {
|
58
|
-
const ret = BTCTransactionFilter_Condition.create();
|
59
|
-
if (value instanceof Date) {
|
60
|
-
ret.eq = serializeRichValue(value);
|
61
|
-
}
|
62
|
-
if (typeof value === 'number') {
|
63
|
-
ret.eq = serializeRichValue(value);
|
64
|
-
}
|
65
|
-
if (typeof value === 'string') {
|
66
|
-
ret.eq = serializeRichValue(value);
|
67
|
-
}
|
68
|
-
if (value instanceof BigDecimal) {
|
69
|
-
ret.eq = serializeRichValue(value);
|
70
|
-
}
|
71
|
-
if (typeof value === 'bigint') {
|
72
|
-
ret.eq = serializeRichValue(value);
|
73
|
-
}
|
74
|
-
if (typeof value === 'boolean') {
|
75
|
-
ret.eq = serializeRichValue(value);
|
76
|
-
}
|
77
|
-
if (Array.isArray(value)) {
|
78
|
-
ret.in = { values: value.map((v) => serializeRichValue(v)) };
|
79
|
-
}
|
80
|
-
for (const [k, v] of Object.entries(value)) {
|
81
|
-
switch (k) {
|
82
|
-
case 'prefix':
|
83
|
-
case 'contains':
|
84
|
-
case 'notContains':
|
85
|
-
ret[k] = v.toString();
|
86
|
-
break;
|
87
|
-
case 'length':
|
88
|
-
ret['lengthEq'] = v;
|
89
|
-
break;
|
90
|
-
case 'lengthGt':
|
91
|
-
case 'lengthLt':
|
92
|
-
ret[k] = v;
|
93
|
-
break;
|
94
|
-
case 'hasAny':
|
95
|
-
case 'hasAll':
|
96
|
-
case 'in':
|
97
|
-
ret[k] = { values: v.map((v) => serializeRichValue(v)) };
|
98
|
-
break;
|
99
|
-
case 'eq':
|
100
|
-
case 'gt':
|
101
|
-
case 'gte':
|
102
|
-
case 'lt':
|
103
|
-
case 'lte':
|
104
|
-
case 'ne':
|
105
|
-
ret[k] = serializeRichValue(v);
|
106
|
-
break;
|
107
|
-
default:
|
108
|
-
throw new Error('Unknown condition op: ' + k);
|
109
|
-
}
|
110
|
-
}
|
111
|
-
return ret;
|
112
|
-
}
|
113
|
-
function convertFilters(filters) {
|
114
|
-
if (filters && filters.length > 0) {
|
115
|
-
const ret = [];
|
116
|
-
for (const filter of filters) {
|
117
|
-
const f = BTCTransactionFilter_Filter.create();
|
118
|
-
for (const [key, value] of Object.entries(filter)) {
|
119
|
-
f.conditions[key] = toCondition(value);
|
120
|
-
}
|
121
|
-
ret.push(f);
|
122
|
-
}
|
123
|
-
return ret;
|
124
|
-
}
|
125
|
-
return [];
|
126
|
-
}
|
127
|
-
//# sourceMappingURL=filter.js.map
|
package/lib/btc/filter.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/btc/filter.ts"],"names":[],"mappings":"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"}
|
package/lib/btc/filter.test.d.ts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"filter.test.d.ts","sourceRoot":"","sources":["../../src/btc/filter.test.ts"],"names":[],"mappings":""}
|
@@ -1 +0,0 @@
|
|
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;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAErD,MAAM,aAAa,GAAsB;IACvC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;IAC1C,YAAY,EAAE;QACZ,CAAC,EAAE,CAAC;QACJ,UAAU,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE;KAC7C;CACF,CAAA;AAED,MAAM,cAAc,GAAsB;IACxC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;IAC1C,WAAW,EAAE;QACX,cAAc,EAAE;YACd,YAAY,EAAE;gBACZ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;gBACZ,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;QAEvB,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,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;QACvB,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/lib/btc/index.d.ts
DELETED
package/lib/btc/index.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA"}
|
package/lib/btc/index.js
DELETED
package/lib/btc/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA"}
|
package/lib/btc/types.d.ts
DELETED
@@ -1,89 +0,0 @@
|
|
1
|
-
import { BaseContext, Labels } from '../core/index.js';
|
2
|
-
import { Data_BTCBlock, HandleInterval, ProcessResult, RecordMetaData } from '@sentio/protos';
|
3
|
-
import { ChainId } from '@sentio/chain';
|
4
|
-
export type Transaction = {
|
5
|
-
txid: string;
|
6
|
-
hash: string;
|
7
|
-
txindex: number;
|
8
|
-
blockhash: string;
|
9
|
-
blockheight: number;
|
10
|
-
blocktime: number;
|
11
|
-
size: number;
|
12
|
-
vsize: number;
|
13
|
-
version: number;
|
14
|
-
locktime: number;
|
15
|
-
vin: Vin[];
|
16
|
-
vout: Vout[];
|
17
|
-
};
|
18
|
-
export type Vin = {
|
19
|
-
vin_index: number;
|
20
|
-
coinbase?: string;
|
21
|
-
txid?: string;
|
22
|
-
vout?: number;
|
23
|
-
sequence: number;
|
24
|
-
witness?: string[];
|
25
|
-
scriptSig: {
|
26
|
-
asm: string;
|
27
|
-
hex: string;
|
28
|
-
};
|
29
|
-
pre_vout?: Vout;
|
30
|
-
pre_transaction?: Transaction;
|
31
|
-
};
|
32
|
-
export type Vout = {
|
33
|
-
value: number;
|
34
|
-
n: number;
|
35
|
-
scriptPubKey: {
|
36
|
-
asm: string;
|
37
|
-
hex: string;
|
38
|
-
reqSigs: number;
|
39
|
-
type: string;
|
40
|
-
address: string;
|
41
|
-
};
|
42
|
-
};
|
43
|
-
export type BTCBlock = {
|
44
|
-
hash: string;
|
45
|
-
confirmations: number;
|
46
|
-
strippedsize: number;
|
47
|
-
size: number;
|
48
|
-
weight: number;
|
49
|
-
height: number;
|
50
|
-
version: number;
|
51
|
-
merkleroot: string;
|
52
|
-
tx?: Transaction[];
|
53
|
-
time: number;
|
54
|
-
nonce: number;
|
55
|
-
bits: string;
|
56
|
-
difficulty: number;
|
57
|
-
previousblockhash: string;
|
58
|
-
nextblockhash: string;
|
59
|
-
};
|
60
|
-
export declare class BTCContext extends BaseContext {
|
61
|
-
readonly chainId: string;
|
62
|
-
readonly name: string;
|
63
|
-
readonly tx: Transaction;
|
64
|
-
readonly address: string;
|
65
|
-
constructor(chainId: string, name: string, tx: Transaction, address: string);
|
66
|
-
protected getMetaDataInternal(name: string, labels: Labels): RecordMetaData;
|
67
|
-
getChainId(): ChainId;
|
68
|
-
}
|
69
|
-
export declare class BTCBlockContext extends BaseContext {
|
70
|
-
readonly chainId: string;
|
71
|
-
readonly name: string;
|
72
|
-
readonly block: BTCBlock;
|
73
|
-
readonly address?: string | undefined;
|
74
|
-
constructor(chainId: string, name: string, block: BTCBlock, address?: string | undefined);
|
75
|
-
protected getMetaDataInternal(name: string, labels: Labels): RecordMetaData;
|
76
|
-
getChainId(): ChainId;
|
77
|
-
}
|
78
|
-
export type BlockHandler = {
|
79
|
-
blockInterval?: HandleInterval;
|
80
|
-
timeIntervalInMinutes?: HandleInterval;
|
81
|
-
handler: (block: Data_BTCBlock) => Promise<ProcessResult>;
|
82
|
-
handlerName: string;
|
83
|
-
fetchConfig?: BTCOnIntervalFetchConfig;
|
84
|
-
partitionHandler?: (block: Data_BTCBlock) => Promise<string | undefined>;
|
85
|
-
};
|
86
|
-
export type BTCOnIntervalFetchConfig = {
|
87
|
-
getTransactions?: boolean;
|
88
|
-
};
|
89
|
-
//# sourceMappingURL=types.d.ts.map
|
package/lib/btc/types.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/btc/types.ts"],"names":[],"mappings":"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"}
|