@sentio/sdk 2.41.3-rc.3 → 2.41.3-rc.5

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.
@@ -0,0 +1,17 @@
1
+ import { Plugin } from '@sentio/runtime';
2
+ import { Data_BTCTransaction, DataBinding, HandlerType, ProcessConfigResponse, ProcessResult, StartRequest } from '@sentio/protos';
3
+ interface Handlers {
4
+ txHandlers: ((trace: Data_BTCTransaction) => Promise<ProcessResult>)[];
5
+ }
6
+ export declare class BTCPlugin extends Plugin {
7
+ name: string;
8
+ handlers: Handlers;
9
+ configure(config: ProcessConfigResponse): Promise<void>;
10
+ supportedHandlers: HandlerType[];
11
+ processBinding(request: DataBinding): Promise<ProcessResult>;
12
+ start(request: StartRequest): Promise<void>;
13
+ stateDiff(config: ProcessConfigResponse): boolean;
14
+ processTransaction(binding: DataBinding): Promise<ProcessResult>;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=btc-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc-plugin.d.ts","sourceRoot":"","sources":["../../src/btc/btc-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,MAAM,EAAiC,MAAM,iBAAiB,CAAA;AACxH,OAAO,EAEL,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,YAAY,EACb,MAAM,gBAAgB,CAAA;AAMvB,UAAU,QAAQ;IAChB,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;CACvE;AAED,qBAAa,SAAU,SAAQ,MAAM;IACnC,IAAI,EAAE,MAAM,CAAc;IAC1B,QAAQ,EAAE,QAAQ,CAEjB;IAEK,SAAS,CAAC,MAAM,EAAE,qBAAqB;IAqC7C,iBAAiB,gBAAgC;IAEjD,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAStD,KAAK,CAAC,OAAO,EAAE,YAAY;IAEjC,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO;IAI3C,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CAuBvE"}
@@ -0,0 +1,75 @@
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 { TemplateInstanceState } from '../core/template.js';
5
+ import { BTCProcessorState } from './btc-processor.js';
6
+ export class BTCPlugin extends Plugin {
7
+ name = 'BTCPlugin';
8
+ handlers = {
9
+ txHandlers: []
10
+ };
11
+ async configure(config) {
12
+ const handlers = {
13
+ txHandlers: []
14
+ };
15
+ for (const processor of BTCProcessorState.INSTANCE.getValues()) {
16
+ const contractConfig = ContractConfig.fromPartial({
17
+ processorType: USER_PROCESSOR,
18
+ contract: {
19
+ name: processor.config.name,
20
+ chainId: processor.config.chainId.toString(),
21
+ address: processor.config.address || '*',
22
+ abi: ''
23
+ },
24
+ startBlock: processor.config.startBlock,
25
+ endBlock: processor.config.endBlock
26
+ });
27
+ for (const callHandler of processor.callHandlers) {
28
+ const handlerId = handlers.txHandlers.push(callHandler.handler) - 1;
29
+ contractConfig.btcTransactionConfigs.push({
30
+ filters: [
31
+ {
32
+ address: contractConfig.contract?.address || '*'
33
+ }
34
+ ],
35
+ handlerId
36
+ });
37
+ }
38
+ // Finish up a contract
39
+ config.contractConfigs.push(contractConfig);
40
+ }
41
+ this.handlers = handlers;
42
+ }
43
+ supportedHandlers = [HandlerType.BTC_TRANSACTION];
44
+ processBinding(request) {
45
+ switch (request.handlerType) {
46
+ case HandlerType.BTC_TRANSACTION:
47
+ return this.processTransaction(request);
48
+ default:
49
+ throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType);
50
+ }
51
+ }
52
+ async start(request) { }
53
+ stateDiff(config) {
54
+ return TemplateInstanceState.INSTANCE.getValues().length !== config.templateInstances.length;
55
+ }
56
+ async processTransaction(binding) {
57
+ if (!binding.data?.btcTransaction) {
58
+ throw new ServerError(Status.INVALID_ARGUMENT, "BTCEvents can't be null");
59
+ }
60
+ const promises = [];
61
+ const result = binding.data?.btcTransaction;
62
+ for (const handlerId of binding.handlerIds) {
63
+ const promise = this.handlers.txHandlers[handlerId](binding.data?.btcTransaction).catch((e) => {
64
+ throw new ServerError(Status.INTERNAL, 'error processing transaction: ' + JSON.stringify(result) + '\n' + errorString(e));
65
+ });
66
+ if (GLOBAL_CONFIG.execution.sequential) {
67
+ await promise;
68
+ }
69
+ promises.push(promise);
70
+ }
71
+ return mergeProcessResults(await Promise.all(promises));
72
+ }
73
+ }
74
+ PluginManager.INSTANCE.register(new BTCPlugin());
75
+ //# sourceMappingURL=btc-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc-plugin.js","sourceRoot":"","sources":["../../src/btc/btc-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACxH,OAAO,EACL,cAAc,EAGd,WAAW,EAIZ,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAMtD,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC,IAAI,GAAW,WAAW,CAAA;IAC1B,QAAQ,GAAa;QACnB,UAAU,EAAE,EAAE;KACf,CAAA;IAED,KAAK,CAAC,SAAS,CAAC,MAA6B;QAC3C,MAAM,QAAQ,GAAa;YACzB,UAAU,EAAE,EAAE;SACf,CAAA;QAED,KAAK,MAAM,SAAS,IAAI,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YAC/D,MAAM,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC;gBAChD,aAAa,EAAE,cAAc;gBAC7B,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;oBAC3B,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAC5C,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG;oBACxC,GAAG,EAAE,EAAE;iBACR;gBACD,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;gBACvC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ;aACpC,CAAC,CAAA;YACF,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAEnE,cAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC;oBACxC,OAAO,EAAE;wBACP;4BACE,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,IAAI,GAAG;yBACjD;qBACF;oBACD,SAAS;iBACV,CAAC,CAAA;YACJ,CAAC;YAED,uBAAuB;YACvB,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,iBAAiB,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;IAEjD,cAAc,CAAC,OAAoB;QACjC,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5B,KAAK,WAAW,CAAC,eAAe;gBAC9B,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;YACzC;gBACE,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;QACtG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAqB,IAAG,CAAC;IAErC,SAAS,CAAC,MAA6B;QACrC,OAAO,qBAAqB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAA;IAC9F,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAoB;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;YAClC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,QAAQ,GAA6B,EAAE,CAAA;QAE7C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,cAAc,CAAA;QAE3C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5F,MAAM,IAAI,WAAW,CACnB,MAAM,CAAC,QAAQ,EACf,gCAAgC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAClF,CAAA;YACH,CAAC,CAAC,CAAA;YACF,IAAI,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;gBACvC,MAAM,OAAO,CAAA;YACf,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,mBAAmB,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzD,CAAC;CACF;AAED,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { ListStateStorage } from '@sentio/runtime';
2
+ import { BTCContext, Transaction } from './types.js';
3
+ import { Data_BTCTransaction, ProcessResult } from '@sentio/protos';
4
+ export declare class BTCProcessorState extends ListStateStorage<BTCProcessor> {
5
+ static INSTANCE: BTCProcessorState;
6
+ }
7
+ export declare class BTCProcessor {
8
+ readonly config: BTCProcessorConfig;
9
+ callHandlers: CallHandler<Data_BTCTransaction>[];
10
+ constructor(config: BTCProcessorConfig);
11
+ static bind(config: BTCProcessorConfig): BTCProcessor;
12
+ onTransaction(handler: (transaction: Transaction, ctx: BTCContext) => void | Promise<void>): this;
13
+ }
14
+ interface BTCProcessorConfig {
15
+ chainId: string;
16
+ name?: string;
17
+ address: string;
18
+ startBlock?: bigint;
19
+ endBlock?: bigint;
20
+ }
21
+ export type CallHandler<T> = {
22
+ handler: (call: T) => Promise<ProcessResult>;
23
+ };
24
+ export {};
25
+ //# sourceMappingURL=btc-processor.d.ts.map
@@ -0,0 +1 @@
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,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnE,qBAAa,iBAAkB,SAAQ,gBAAgB,CAAC,YAAY,CAAC;IACnE,MAAM,CAAC,QAAQ,oBAA0B;CAC1C;AAED,qBAAa,YAAY;IAGX,QAAQ,CAAC,MAAM,EAAE,kBAAkB;IAF/C,YAAY,EAAE,WAAW,CAAC,mBAAmB,CAAC,EAAE,CAAK;gBAEhC,MAAM,EAAE,kBAAkB;IAE/C,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY;IAM9C,aAAa,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBlG;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;CAC7C,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { ListStateStorage } from '@sentio/runtime';
2
+ import { BTCContext } from './types.js';
3
+ export class BTCProcessorState extends ListStateStorage {
4
+ static INSTANCE = new BTCProcessorState();
5
+ }
6
+ export class BTCProcessor {
7
+ config;
8
+ callHandlers = [];
9
+ constructor(config) {
10
+ this.config = config;
11
+ }
12
+ static bind(config) {
13
+ const processor = new BTCProcessor(config);
14
+ BTCProcessorState.INSTANCE.addValue(processor);
15
+ return processor;
16
+ }
17
+ onTransaction(handler) {
18
+ const callHandler = {
19
+ handler: async (call) => {
20
+ const tx = call.transaction;
21
+ const ctx = new BTCContext(this.config.chainId, this.config.name ?? this.config.address ?? '', tx, this.config.address);
22
+ await handler(tx, ctx);
23
+ return ctx.stopAndGetResult();
24
+ }
25
+ };
26
+ this.callHandlers.push(callHandler);
27
+ return this;
28
+ }
29
+ }
30
+ //# sourceMappingURL=btc-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc-processor.js","sourceRoot":"","sources":["../../src/btc/btc-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAe,MAAM,YAAY,CAAA;AAGpD,MAAM,OAAO,iBAAkB,SAAQ,gBAA8B;IACnE,MAAM,CAAC,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAA;;AAG3C,MAAM,OAAO,YAAY;IAGF;IAFrB,YAAY,GAAuC,EAAE,CAAA;IAErD,YAAqB,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAEnD,MAAM,CAAC,IAAI,CAAC,MAA0B;QACpC,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QAC1C,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;IAEM,aAAa,CAAC,OAA4E;QAC/F,MAAM,WAAW,GAAG;YAClB,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;gBAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,WAA0B,CAAA;gBAE1C,MAAM,GAAG,GAAG,IAAI,UAAU,CACxB,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAC7C,EAAE,EACF,IAAI,CAAC,MAAM,CAAC,OAAO,CACpB,CAAA;gBACD,MAAM,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBACtB,OAAO,GAAG,CAAC,gBAAgB,EAAE,CAAA;YAC/B,CAAC;SACF,CAAA;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export { BTCPlugin } from './btc-plugin.js';
2
+ export * from './types.js';
3
+ export * from './btc-processor.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,4 @@
1
+ export { BTCPlugin } from './btc-plugin.js';
2
+ export * from './types.js';
3
+ export * from './btc-processor.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,71 @@
1
+ import { BaseContext, Labels } from '../core/index.js';
2
+ import { RecordMetaData } from '@sentio/protos';
3
+ import { ChainId } from '@sentio/chain';
4
+ type Vin = {
5
+ txid: string;
6
+ vout: number;
7
+ is_coinbase: boolean;
8
+ scriptsig: string;
9
+ scriptsig_asm: string;
10
+ inner_redeemscript_asm?: string;
11
+ inner_witnessscript_asm?: string;
12
+ sequence: number;
13
+ witness: string[];
14
+ prevout: Vout;
15
+ is_pegin?: boolean;
16
+ issuance?: {
17
+ asset_id: string;
18
+ is_reissuance: boolean;
19
+ asset_blinding_nonce: string;
20
+ asset_entropy: string;
21
+ contract_hash: string;
22
+ assetamount?: number;
23
+ assetamountcommitment?: string;
24
+ tokenamount?: number;
25
+ tokenamountcommitment?: string;
26
+ };
27
+ };
28
+ type Vout = {
29
+ scriptpubkey: string;
30
+ scriptpubkey_asm: string;
31
+ scriptpubkey_type: string;
32
+ scriptpubkey_address: string;
33
+ value: number;
34
+ valuecommitment?: string;
35
+ asset?: string;
36
+ assetcommitment?: string;
37
+ pegout?: {
38
+ genesis_hash: string;
39
+ scriptpubkey: string;
40
+ scriptpubkey_asm: string;
41
+ scriptpubkey_address: string;
42
+ };
43
+ };
44
+ type Status = {
45
+ confirmed: boolean;
46
+ block_height?: number;
47
+ block_hash?: string;
48
+ block_time?: number;
49
+ };
50
+ export type Transaction = {
51
+ txid: string;
52
+ version: number;
53
+ locktime: number;
54
+ size: number;
55
+ weight: number;
56
+ fee: number;
57
+ vin: Vin[];
58
+ vout: Vout[];
59
+ status: Status;
60
+ };
61
+ export declare class BTCContext extends BaseContext {
62
+ readonly chainId: string;
63
+ readonly name: string;
64
+ readonly tx: Transaction;
65
+ readonly address: string;
66
+ constructor(chainId: string, name: string, tx: Transaction, address: string);
67
+ protected getMetaDataInternal(name: string, labels: Labels): RecordMetaData;
68
+ getChainId(): ChainId;
69
+ }
70
+ export {};
71
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/btc/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAmB,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,KAAK,GAAG,GAAG;IACT,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,IAAI,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,CAAA;QAChB,aAAa,EAAE,OAAO,CAAA;QACtB,oBAAoB,EAAE,MAAM,CAAA;QAC5B,aAAa,EAAE,MAAM,CAAA;QACrB,aAAa,EAAE,MAAM,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,qBAAqB,CAAC,EAAE,MAAM,CAAA;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAC/B,CAAA;CACF,CAAA;AAED,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE;QACP,YAAY,EAAE,MAAM,CAAA;QACpB,YAAY,EAAE,MAAM,CAAA;QACpB,gBAAgB,EAAE,MAAM,CAAA;QACxB,oBAAoB,EAAE,MAAM,CAAA;KAC7B,CAAA;CACF,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,GAAG,EAAE,CAAA;IACV,IAAI,EAAE,IAAI,EAAE,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,qBAAa,UAAW,SAAQ,WAAW;IAEvC,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,EAAE,EAAE,WAAW;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAHf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM;IAK1B,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc;IAc3E,UAAU,IAAI,OAAO;CAGtB"}
@@ -0,0 +1,31 @@
1
+ import { BaseContext, normalizeLabels } from '../core/index.js';
2
+ export class BTCContext extends BaseContext {
3
+ chainId;
4
+ name;
5
+ tx;
6
+ address;
7
+ constructor(chainId, name, tx, address) {
8
+ super({});
9
+ this.chainId = chainId;
10
+ this.name = name;
11
+ this.tx = tx;
12
+ this.address = address;
13
+ }
14
+ getMetaDataInternal(name, labels) {
15
+ return {
16
+ address: this.address,
17
+ contractName: this.name,
18
+ blockNumber: BigInt(this.tx.status?.block_time ?? 0),
19
+ transactionIndex: 0,
20
+ transactionHash: this.tx.txid,
21
+ chainId: this.getChainId(),
22
+ name: name,
23
+ logIndex: 0,
24
+ labels: normalizeLabels(labels)
25
+ };
26
+ }
27
+ getChainId() {
28
+ return this.chainId;
29
+ }
30
+ }
31
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/btc/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAU,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAiEvE,MAAM,OAAO,UAAW,SAAQ,WAAW;IAE9B;IACA;IACA;IACA;IAJX,YACW,OAAe,EACf,IAAY,EACZ,EAAe,EACf,OAAe;QAExB,KAAK,CAAC,EAAE,CAAC,CAAA;QALA,YAAO,GAAP,OAAO,CAAQ;QACf,SAAI,GAAJ,IAAI,CAAQ;QACZ,OAAE,GAAF,EAAE,CAAa;QACf,YAAO,GAAP,OAAO,CAAQ;IAG1B,CAAC;IAES,mBAAmB,CAAC,IAAY,EAAE,MAAc;QACxD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,CAAC;YACpD,gBAAgB,EAAE,CAAC;YACnB,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;YAC7B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;SAChC,CAAA;IACH,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAkB,CAAA;IAChC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAA;IAC7B,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB,OAAgE,CAAA;AAE/F,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAkBxF;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAgB3E;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAgBlG;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,CA8BvE;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAc9D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,GAAG,GAAG,SAAS,CAcxD,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,KAAK,GAAG,SAAS,CAc5D,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,OAAO,GAAG,SAAS,CAchE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,SAAS,GAAG,SAAS,CAcpE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,KAAK,GAAG,SAAS,CAc5D,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,EAAE,GAAG,SAAS,CA0BtD,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,UAAU,GAAG,SAAS,CA+BtE,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAqB9D,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,UAM9C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM;;;EAerC;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAW9D,CAAA"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAA;IAC7B,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB,OAAgE,CAAA;AAE/F,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAkBxF;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAgB3E;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAgBlG;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,CA8BvE;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAc9D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,GAAG,GAAG,SAAS,CAcxD,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,KAAK,GAAG,SAAS,CAc5D,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,OAAO,GAAG,SAAS,CAchE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,SAAS,GAAG,SAAS,CAcpE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,KAAK,GAAG,SAAS,CAc5D,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,EAAE,GAAG,SAAS,CA0BtD,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,UAAU,GAAG,SAAS,CAmCtE,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAqB9D,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,UAM9C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM;;;EAerC;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAW9D,CAAA"}
@@ -208,11 +208,15 @@ export const BigDecimalConverter = {
208
208
  nullValue: RichValue_NullValue.NULL_VALUE
209
209
  };
210
210
  }
211
- const s = (value.c || []).join('');
211
+ const s = (value.c || [])
212
+ .map((v, idx) => {
213
+ return idx == 0 ? v.toString() : v.toString().padStart(14, '0');
214
+ })
215
+ .join('');
212
216
  const exp = -(s.length - (value.e ?? 0) - 1);
213
217
  return {
214
218
  bigdecimalValue: {
215
- value: toBigInteger(BigInt(s)),
219
+ value: toBigInteger(BigInt(s) * BigInt(value.s ?? 1)),
216
220
  exp: exp
217
221
  }
218
222
  };
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"convert.test.js","sourceRoot":"","sources":["../../src/store/convert.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,cAAc,CAAA;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,GAAG,MAAM,CAAA;QAChB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAG,6DAA6D,CAAA;QACvE,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtC,oEAAoE;QACpE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QACnC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,oEAAoE;QACpE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAA;QAC1C,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,aAAa,CACX,IAAI,UAAU,CAAC,kEAAkE,CAAC,EAClF,mBAAmB,CACpB,CAAA;QACD,aAAa,CAAC,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,SAAS,aAAa,CAAI,KAAQ,EAAE,SAA4B;QAC9D,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"convert.test.js","sourceRoot":"","sources":["../../src/store/convert.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,cAAc,CAAA;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,GAAG,MAAM,CAAA;QAChB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAG,6DAA6D,CAAA;QACvE,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtC,oEAAoE;QACpE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QACnC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,oEAAoE;QACpE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAA;QAC1C,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,aAAa,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAA;QAC5D,aAAa,CAAC,IAAI,UAAU,CAAC,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,CAAA;QAC3E,aAAa,CAAC,IAAI,UAAU,CAAC,sBAAsB,CAAC,EAAE,mBAAmB,CAAC,CAAA;QAC1E,aAAa,CACX,IAAI,UAAU,CAAC,kEAAkE,CAAC,EAClF,mBAAmB,CACpB,CAAA;QACD,aAAa,CAAC,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,SAAS,aAAa,CAAI,KAAQ,EAAE,SAA4B;QAC9D,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { TestProcessorServer } from './test-processor-server.js';
2
+ import { BTCChainId } from '@sentio/chain';
3
+ import '../btc/btc-plugin.js';
4
+ export declare class BTCFacet {
5
+ server: TestProcessorServer;
6
+ constructor(server: TestProcessorServer);
7
+ testOnTransactions(events: any, network?: BTCChainId): Promise<import("@sentio/protos").ProcessBindingResponse>;
8
+ private buildBinding;
9
+ }
10
+ //# sourceMappingURL=btc-facet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc-facet.d.ts","sourceRoot":"","sources":["../../src/testing/btc-facet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,sBAAsB,CAAA;AAE7B,qBAAa,QAAQ;IACnB,MAAM,EAAE,mBAAmB,CAAA;gBAEf,MAAM,EAAE,mBAAmB;IAIvC,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,GAAE,UAAmC;IAW5E,OAAO,CAAC,YAAY;CAqBrB"}
@@ -0,0 +1,38 @@
1
+ import { HandlerType } from '@sentio/protos';
2
+ import { BTCChainId } from '@sentio/chain';
3
+ import '../btc/btc-plugin.js';
4
+ export class BTCFacet {
5
+ server;
6
+ constructor(server) {
7
+ this.server = server;
8
+ }
9
+ testOnTransactions(events, network = BTCChainId.BTC_TESTNET) {
10
+ const bindings = this.buildBinding(events, network);
11
+ if (!bindings) {
12
+ throw Error('Invalid test : ' + JSON.stringify(events));
13
+ }
14
+ return this.server.processBindings({
15
+ bindings
16
+ });
17
+ }
18
+ buildBinding(data, network) {
19
+ const res = [];
20
+ for (const config of this.server.contractConfigs) {
21
+ if (config.contract?.chainId !== network) {
22
+ continue;
23
+ }
24
+ for (const txConfig of config.btcTransactionConfigs) {
25
+ const binding = {
26
+ data: {
27
+ btcTransaction: data
28
+ },
29
+ handlerIds: [txConfig.handlerId],
30
+ handlerType: HandlerType.BTC_TRANSACTION
31
+ };
32
+ res.push(binding);
33
+ }
34
+ }
35
+ return res;
36
+ }
37
+ }
38
+ //# sourceMappingURL=btc-facet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc-facet.js","sourceRoot":"","sources":["../../src/testing/btc-facet.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,sBAAsB,CAAA;AAE7B,MAAM,OAAO,QAAQ;IACnB,MAAM,CAAqB;IAE3B,YAAY,MAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,kBAAkB,CAAC,MAAW,EAAE,UAAsB,UAAU,CAAC,WAAW;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACzD,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YACjC,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAEO,YAAY,CAAC,IAAS,EAAE,OAAmB;QACjD,MAAM,GAAG,GAAkB,EAAE,CAAA;QAE7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YACjD,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;gBACzC,SAAQ;YACV,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG;oBACd,IAAI,EAAE;wBACJ,cAAc,EAAE,IAAI;qBACrB;oBACD,UAAU,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAChC,WAAW,EAAE,WAAW,CAAC,eAAe;iBAC1B,CAAA;gBAChB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
@@ -8,6 +8,7 @@ import { SuiFacet } from './sui-facet.js';
8
8
  import { FuelFacet } from './fuel-facet.js';
9
9
  import { CosmosFacet } from './cosmos-facet.js';
10
10
  import { StarknetFacet } from './starknet-facet.js';
11
+ import { BTCFacet } from './btc-facet.js';
11
12
  export declare const TEST_CONTEXT: CallContext;
12
13
  export declare function cleanTest(): void;
13
14
  export declare class TestProcessorServer implements ProcessorServiceImplementation {
@@ -21,6 +22,7 @@ export declare class TestProcessorServer implements ProcessorServiceImplementati
21
22
  fuel: FuelFacet;
22
23
  cosmos: CosmosFacet;
23
24
  starknet: StarknetFacet;
25
+ btc: BTCFacet;
24
26
  constructor(loader: () => Promise<any>, httpEndpoints?: Record<string, string>);
25
27
  start(request?: StartRequest, context?: CallContext): Promise<Empty>;
26
28
  stop(request: Empty, context?: CallContext): Promise<Empty>;
@@ -1 +1 @@
1
- {"version":3,"file":"test-processor-server.d.ts","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,EACL,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAa,oBAAoB,EAAS,MAAM,iBAAiB,CAAA;AAGxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,eAAO,MAAM,YAAY,EAAE,WAA6B,CAAA;AAExD,wBAAgB,SAAS,SAExB;AAED,qBAAa,mBAAoB,YAAW,8BAA8B;IACxE,OAAO,EAAE,oBAAoB,CAAA;IAC7B,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,cAAc,EAAE,aAAa,EAAE,CAAA;IAE/B,KAAK,EAAE,UAAU,CAAA;IACjB,GAAG,EAAE,QAAQ,CAAA;IACb,MAAM,EAAE,WAAW,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,aAAa,CAAA;gBAEX,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAkB5E,KAAK,CAAC,OAAO,GAAE,YAAwC,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAQtG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5D,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhG,eAAe,CACb,OAAO,EAAE,sBAAsB,EAC/B,OAAO,GAAE,WAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IAIlC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,WAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI1G,qBAAqB,CACnB,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC7C,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAIlE,wBAAwB,CACtB,QAAQ,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAChD,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;CAOtE"}
1
+ {"version":3,"file":"test-processor-server.d.ts","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,EACL,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAa,oBAAoB,EAAS,MAAM,iBAAiB,CAAA;AAGxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,eAAO,MAAM,YAAY,EAAE,WAA6B,CAAA;AAExD,wBAAgB,SAAS,SAExB;AAED,qBAAa,mBAAoB,YAAW,8BAA8B;IACxE,OAAO,EAAE,oBAAoB,CAAA;IAC7B,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,cAAc,EAAE,aAAa,EAAE,CAAA;IAE/B,KAAK,EAAE,UAAU,CAAA;IACjB,GAAG,EAAE,QAAQ,CAAA;IACb,MAAM,EAAE,WAAW,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,aAAa,CAAA;IACvB,GAAG,EAAE,QAAQ,CAAA;gBAED,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAmB5E,KAAK,CAAC,OAAO,GAAE,YAAwC,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAQtG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5D,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhG,eAAe,CACb,OAAO,EAAE,sBAAsB,EAC/B,OAAO,GAAE,WAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IAIlC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,WAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI1G,qBAAqB,CACnB,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC7C,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAIlE,wBAAwB,CACtB,QAAQ,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAChD,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;CAOtE"}
@@ -7,6 +7,7 @@ import { SuiFacet } from './sui-facet.js';
7
7
  import { FuelFacet } from './fuel-facet.js';
8
8
  import { CosmosFacet } from './cosmos-facet.js';
9
9
  import { StarknetFacet } from './starknet-facet.js';
10
+ import { BTCFacet } from './btc-facet.js';
10
11
  export const TEST_CONTEXT = {};
11
12
  export function cleanTest() {
12
13
  State.reset();
@@ -22,6 +23,7 @@ export class TestProcessorServer {
22
23
  fuel;
23
24
  cosmos;
24
25
  starknet;
26
+ btc;
25
27
  constructor(loader, httpEndpoints = {}) {
26
28
  cleanTest();
27
29
  this.service = new ProcessorServiceImpl(loader);
@@ -32,6 +34,7 @@ export class TestProcessorServer {
32
34
  this.fuel = new FuelFacet(this);
33
35
  this.cosmos = new CosmosFacet(this);
34
36
  this.starknet = new StarknetFacet(this);
37
+ this.btc = new BTCFacet(this);
35
38
  for (const k in CHAIN_MAP) {
36
39
  const http = httpEndpoints[k] || '';
37
40
  Endpoints.INSTANCE.chainServer.set(k, http);
@@ -1 +1 @@
1
- {"version":3,"file":"test-processor-server.js","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-processor-server.js","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentio/sdk",
3
- "version": "2.41.3-rc.3",
3
+ "version": "2.41.3-rc.5",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -39,7 +39,8 @@
39
39
  "./fuel": "./lib/fuel/index.js",
40
40
  "./fuel/codegen": "./lib/fuel/codegen/index.js",
41
41
  "./store": "./lib/store/index.js",
42
- "./store/codegen": "./lib/store/codegen.js"
42
+ "./store/codegen": "./lib/store/codegen.js",
43
+ "./btc": "./lib/btc/index.js"
43
44
  },
44
45
  "files": [
45
46
  "{lib,src}",
@@ -54,7 +55,7 @@
54
55
  "@project-serum/anchor": "^0.26.0",
55
56
  "@sentio/abi-wan-kanabi": "2.2.2-1",
56
57
  "@sentio/bigdecimal": "9.1.1-patch.3",
57
- "@sentio/chain": "^2.1.0",
58
+ "@sentio/chain": "^2.1.6",
58
59
  "@sentio/ethers-v6": "^1.0.29",
59
60
  "@solana/web3.js": "1.91.8",
60
61
  "@typemove/aptos": "~1.6.3",
@@ -83,8 +84,8 @@
83
84
  "typechain": "^8.3.2",
84
85
  "utility-types": "^3.11.0",
85
86
  "yaml": "^2.3.4",
86
- "@sentio/protos": "2.41.3-rc.3",
87
- "@sentio/runtime": "^2.41.3-rc.3"
87
+ "@sentio/protos": "2.41.3-rc.5",
88
+ "@sentio/runtime": "^2.41.3-rc.5"
88
89
  },
89
90
  "peerDependencies": {
90
91
  "tsup": "npm:@sentio/tsup@^6.7.2"
@@ -0,0 +1,105 @@
1
+ import { errorString, GLOBAL_CONFIG, mergeProcessResults, Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime'
2
+ import {
3
+ ContractConfig,
4
+ Data_BTCTransaction,
5
+ DataBinding,
6
+ HandlerType,
7
+ ProcessConfigResponse,
8
+ ProcessResult,
9
+ StartRequest
10
+ } from '@sentio/protos'
11
+
12
+ import { ServerError, Status } from 'nice-grpc'
13
+ import { TemplateInstanceState } from '../core/template.js'
14
+ import { BTCProcessorState } from './btc-processor.js'
15
+
16
+ interface Handlers {
17
+ txHandlers: ((trace: Data_BTCTransaction) => Promise<ProcessResult>)[]
18
+ }
19
+
20
+ export class BTCPlugin extends Plugin {
21
+ name: string = 'BTCPlugin'
22
+ handlers: Handlers = {
23
+ txHandlers: []
24
+ }
25
+
26
+ async configure(config: ProcessConfigResponse) {
27
+ const handlers: Handlers = {
28
+ txHandlers: []
29
+ }
30
+
31
+ for (const processor of BTCProcessorState.INSTANCE.getValues()) {
32
+ const contractConfig = ContractConfig.fromPartial({
33
+ processorType: USER_PROCESSOR,
34
+ contract: {
35
+ name: processor.config.name,
36
+ chainId: processor.config.chainId.toString(),
37
+ address: processor.config.address || '*',
38
+ abi: ''
39
+ },
40
+ startBlock: processor.config.startBlock,
41
+ endBlock: processor.config.endBlock
42
+ })
43
+ for (const callHandler of processor.callHandlers) {
44
+ const handlerId = handlers.txHandlers.push(callHandler.handler) - 1
45
+
46
+ contractConfig.btcTransactionConfigs.push({
47
+ filters: [
48
+ {
49
+ address: contractConfig.contract?.address || '*'
50
+ }
51
+ ],
52
+ handlerId
53
+ })
54
+ }
55
+
56
+ // Finish up a contract
57
+ config.contractConfigs.push(contractConfig)
58
+ }
59
+
60
+ this.handlers = handlers
61
+ }
62
+
63
+ supportedHandlers = [HandlerType.BTC_TRANSACTION]
64
+
65
+ processBinding(request: DataBinding): Promise<ProcessResult> {
66
+ switch (request.handlerType) {
67
+ case HandlerType.BTC_TRANSACTION:
68
+ return this.processTransaction(request)
69
+ default:
70
+ throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType)
71
+ }
72
+ }
73
+
74
+ async start(request: StartRequest) {}
75
+
76
+ stateDiff(config: ProcessConfigResponse): boolean {
77
+ return TemplateInstanceState.INSTANCE.getValues().length !== config.templateInstances.length
78
+ }
79
+
80
+ async processTransaction(binding: DataBinding): Promise<ProcessResult> {
81
+ if (!binding.data?.btcTransaction) {
82
+ throw new ServerError(Status.INVALID_ARGUMENT, "BTCEvents can't be null")
83
+ }
84
+
85
+ const promises: Promise<ProcessResult>[] = []
86
+
87
+ const result = binding.data?.btcTransaction
88
+
89
+ for (const handlerId of binding.handlerIds) {
90
+ const promise = this.handlers.txHandlers[handlerId](binding.data?.btcTransaction).catch((e) => {
91
+ throw new ServerError(
92
+ Status.INTERNAL,
93
+ 'error processing transaction: ' + JSON.stringify(result) + '\n' + errorString(e)
94
+ )
95
+ })
96
+ if (GLOBAL_CONFIG.execution.sequential) {
97
+ await promise
98
+ }
99
+ promises.push(promise)
100
+ }
101
+ return mergeProcessResults(await Promise.all(promises))
102
+ }
103
+ }
104
+
105
+ PluginManager.INSTANCE.register(new BTCPlugin())
@@ -0,0 +1,50 @@
1
+ import { ListStateStorage } from '@sentio/runtime'
2
+ import { BTCContext, Transaction } from './types.js'
3
+ import { Data_BTCTransaction, ProcessResult } from '@sentio/protos'
4
+
5
+ export class BTCProcessorState extends ListStateStorage<BTCProcessor> {
6
+ static INSTANCE = new BTCProcessorState()
7
+ }
8
+
9
+ export class BTCProcessor {
10
+ callHandlers: CallHandler<Data_BTCTransaction>[] = []
11
+
12
+ constructor(readonly config: BTCProcessorConfig) {}
13
+
14
+ static bind(config: BTCProcessorConfig): BTCProcessor {
15
+ const processor = new BTCProcessor(config)
16
+ BTCProcessorState.INSTANCE.addValue(processor)
17
+ return processor
18
+ }
19
+
20
+ public onTransaction(handler: (transaction: Transaction, ctx: BTCContext) => void | Promise<void>) {
21
+ const callHandler = {
22
+ handler: async (call: Data_BTCTransaction) => {
23
+ const tx = call.transaction as Transaction
24
+
25
+ const ctx = new BTCContext(
26
+ this.config.chainId,
27
+ this.config.name ?? this.config.address ?? '',
28
+ tx,
29
+ this.config.address
30
+ )
31
+ await handler(tx, ctx)
32
+ return ctx.stopAndGetResult()
33
+ }
34
+ }
35
+ this.callHandlers.push(callHandler)
36
+ return this
37
+ }
38
+ }
39
+
40
+ interface BTCProcessorConfig {
41
+ chainId: string
42
+ name?: string
43
+ address: string
44
+ startBlock?: bigint
45
+ endBlock?: bigint
46
+ }
47
+
48
+ export type CallHandler<T> = {
49
+ handler: (call: T) => Promise<ProcessResult>
50
+ }
@@ -0,0 +1,3 @@
1
+ export { BTCPlugin } from './btc-plugin.js'
2
+ export * from './types.js'
3
+ export * from './btc-processor.js'
@@ -0,0 +1,93 @@
1
+ import { BaseContext, Labels, normalizeLabels } from '../core/index.js'
2
+ import { RecordMetaData } from '@sentio/protos'
3
+ import { ChainId } from '@sentio/chain'
4
+
5
+ type Vin = {
6
+ txid: string
7
+ vout: number
8
+ is_coinbase: boolean
9
+ scriptsig: string
10
+ scriptsig_asm: string
11
+ inner_redeemscript_asm?: string
12
+ inner_witnessscript_asm?: string
13
+ sequence: number
14
+ witness: string[]
15
+ prevout: Vout
16
+ is_pegin?: boolean
17
+ issuance?: {
18
+ asset_id: string
19
+ is_reissuance: boolean
20
+ asset_blinding_nonce: string
21
+ asset_entropy: string
22
+ contract_hash: string
23
+ assetamount?: number
24
+ assetamountcommitment?: string
25
+ tokenamount?: number
26
+ tokenamountcommitment?: string
27
+ }
28
+ }
29
+
30
+ type Vout = {
31
+ scriptpubkey: string
32
+ scriptpubkey_asm: string
33
+ scriptpubkey_type: string
34
+ scriptpubkey_address: string
35
+ value: number
36
+ valuecommitment?: string
37
+ asset?: string
38
+ assetcommitment?: string
39
+ pegout?: {
40
+ genesis_hash: string
41
+ scriptpubkey: string
42
+ scriptpubkey_asm: string
43
+ scriptpubkey_address: string
44
+ }
45
+ }
46
+
47
+ type Status = {
48
+ confirmed: boolean
49
+ block_height?: number
50
+ block_hash?: string
51
+ block_time?: number
52
+ }
53
+
54
+ export type Transaction = {
55
+ txid: string
56
+ version: number
57
+ locktime: number
58
+ size: number
59
+ weight: number
60
+ fee: number
61
+ vin: Vin[]
62
+ vout: Vout[]
63
+ status: Status
64
+ }
65
+
66
+ export class BTCContext extends BaseContext {
67
+ constructor(
68
+ readonly chainId: string,
69
+ readonly name: string,
70
+ readonly tx: Transaction,
71
+ readonly address: string
72
+ ) {
73
+ super({})
74
+ }
75
+
76
+ protected getMetaDataInternal(name: string, labels: Labels): RecordMetaData {
77
+ return {
78
+ address: this.address,
79
+ contractName: this.name,
80
+ blockNumber: BigInt(this.tx.status?.block_time ?? 0),
81
+ transactionIndex: 0,
82
+ transactionHash: this.tx.txid,
83
+ chainId: this.getChainId(),
84
+ name: name,
85
+ logIndex: 0,
86
+ labels: normalizeLabels(labels)
87
+ }
88
+ }
89
+
90
+ getChainId(): ChainId {
91
+ return this.chainId as ChainId
92
+ }
93
+ }
@@ -232,12 +232,16 @@ export const BigDecimalConverter: ValueConverter<BigDecimal | undefined> = {
232
232
  nullValue: RichValue_NullValue.NULL_VALUE
233
233
  }
234
234
  }
235
- const s = (value.c || []).join('')
235
+ const s = (value.c || [])
236
+ .map((v, idx) => {
237
+ return idx == 0 ? v.toString() : v.toString().padStart(14, '0')
238
+ })
239
+ .join('')
236
240
  const exp = -(s.length - (value.e ?? 0) - 1)
237
241
 
238
242
  return {
239
243
  bigdecimalValue: {
240
- value: toBigInteger(BigInt(s)),
244
+ value: toBigInteger(BigInt(s) * BigInt(value.s ?? 1)),
241
245
  exp: exp
242
246
  }
243
247
  }
@@ -0,0 +1,45 @@
1
+ import { TestProcessorServer } from './test-processor-server.js'
2
+ import { DataBinding, HandlerType } from '@sentio/protos'
3
+ import { BTCChainId } from '@sentio/chain'
4
+ import '../btc/btc-plugin.js'
5
+
6
+ export class BTCFacet {
7
+ server: TestProcessorServer
8
+
9
+ constructor(server: TestProcessorServer) {
10
+ this.server = server
11
+ }
12
+
13
+ testOnTransactions(events: any, network: BTCChainId = BTCChainId.BTC_TESTNET) {
14
+ const bindings = this.buildBinding(events, network)
15
+ if (!bindings) {
16
+ throw Error('Invalid test : ' + JSON.stringify(events))
17
+ }
18
+
19
+ return this.server.processBindings({
20
+ bindings
21
+ })
22
+ }
23
+
24
+ private buildBinding(data: any, network: BTCChainId): DataBinding[] {
25
+ const res: DataBinding[] = []
26
+
27
+ for (const config of this.server.contractConfigs) {
28
+ if (config.contract?.chainId !== network) {
29
+ continue
30
+ }
31
+
32
+ for (const txConfig of config.btcTransactionConfigs) {
33
+ const binding = {
34
+ data: {
35
+ btcTransaction: data
36
+ },
37
+ handlerIds: [txConfig.handlerId],
38
+ handlerType: HandlerType.BTC_TRANSACTION
39
+ } as DataBinding
40
+ res.push(binding)
41
+ }
42
+ }
43
+ return res
44
+ }
45
+ }
@@ -27,6 +27,7 @@ import { SuiFacet } from './sui-facet.js'
27
27
  import { FuelFacet } from './fuel-facet.js'
28
28
  import { CosmosFacet } from './cosmos-facet.js'
29
29
  import { StarknetFacet } from './starknet-facet.js'
30
+ import { BTCFacet } from './btc-facet.js'
30
31
 
31
32
  export const TEST_CONTEXT: CallContext = <CallContext>{}
32
33
 
@@ -46,6 +47,7 @@ export class TestProcessorServer implements ProcessorServiceImplementation {
46
47
  fuel: FuelFacet
47
48
  cosmos: CosmosFacet
48
49
  starknet: StarknetFacet
50
+ btc: BTCFacet
49
51
 
50
52
  constructor(loader: () => Promise<any>, httpEndpoints: Record<string, string> = {}) {
51
53
  cleanTest()
@@ -58,6 +60,7 @@ export class TestProcessorServer implements ProcessorServiceImplementation {
58
60
  this.fuel = new FuelFacet(this)
59
61
  this.cosmos = new CosmosFacet(this)
60
62
  this.starknet = new StarknetFacet(this)
63
+ this.btc = new BTCFacet(this)
61
64
 
62
65
  for (const k in CHAIN_MAP) {
63
66
  const http = httpEndpoints[k] || ''