@sentio/sdk 1.27.3 → 1.27.4
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/processor-runner.js +2 -2
- package/lib/processor-runner.js.map +1 -1
- package/package.json +4 -4
- package/src/processor-runner.ts +2 -2
- package/lib/aptos/types.test.js +0 -19
- package/lib/core/generic-processor.test.js +0 -58
- package/lib/core/meter.test.js +0 -21
- package/lib/core/numberish.test.js +0 -70
- package/lib/tests/aptos.test.d.ts +0 -1
- package/lib/tests/aptos.test.js +0 -379
- package/lib/tests/aptos.test.js.map +0 -1
- package/lib/tests/codegen.test.d.ts +0 -1
- package/lib/tests/codegen.test.js +0 -49
- package/lib/tests/codegen.test.js.map +0 -1
- package/lib/tests/erc20-template.test.d.ts +0 -1
- package/lib/tests/erc20-template.test.js +0 -56
- package/lib/tests/erc20-template.test.js.map +0 -1
- package/lib/tests/erc20.d.ts +0 -1
- package/lib/tests/erc20.js +0 -54
- package/lib/tests/erc20.js.map +0 -1
- package/lib/tests/erc20.test.d.ts +0 -1
- package/lib/tests/erc20.test.js +0 -94
- package/lib/tests/erc20.test.js.map +0 -1
- package/lib/tests/error-capture.test.d.ts +0 -1
- package/lib/tests/error-capture.test.js +0 -76
- package/lib/tests/error-capture.test.js.map +0 -1
- package/lib/tests/logger.test.d.ts +0 -1
- package/lib/tests/logger.test.js +0 -40
- package/lib/tests/logger.test.js.map +0 -1
- package/lib/tests/solana.test.d.ts +0 -1
- package/lib/tests/solana.test.js +0 -77
- package/lib/tests/solana.test.js.map +0 -1
- package/lib/tests/souffl3.d.ts +0 -1
- package/lib/tests/souffl3.js +0 -49
- package/lib/tests/souffl3.js.map +0 -1
- package/lib/tests/sui.test.d.ts +0 -1
- package/lib/tests/sui.test.js +0 -193
- package/lib/tests/sui.test.js.map +0 -1
- package/lib/tests/types/aptos/soffl3.d.ts +0 -786
- package/lib/tests/types/aptos/soffl3.js +0 -559
- package/lib/tests/types/aptos/soffl3.js.map +0 -1
- package/lib/tests/types/aptos/souffle.d.ts +0 -348
- package/lib/tests/types/aptos/souffle.js +0 -303
- package/lib/tests/types/aptos/souffle.js.map +0 -1
- package/lib/tests/types/solana/basic_1.d.ts +0 -26
- package/lib/tests/types/solana/basic_1.js +0 -66
- package/lib/tests/types/solana/basic_1.js.map +0 -1
- package/lib/tests/types/solana/basic_1_processor.d.ts +0 -13
- package/lib/tests/types/solana/basic_1_processor.js +0 -41
- package/lib/tests/types/solana/basic_1_processor.js.map +0 -1
- package/lib/tests/wormhole-token-bridge.d.ts +0 -1
- package/lib/tests/wormhole-token-bridge.js +0 -22
- package/lib/tests/wormhole-token-bridge.js.map +0 -1
- package/lib/utils/dex-price.test.js +0 -22
- package/lib/utils/erc20.test.js +0 -23
- package/src/aptos/types.test.ts +0 -18
- package/src/aptos-codegen/typegen.test.ts +0 -44
- package/src/core/generic-processor.test.ts +0 -69
- package/src/core/meter.test.ts +0 -23
- package/src/core/numberish.test.ts +0 -82
- package/src/tests/abis/aptos/soffl3.json +0 -1411
- package/src/tests/abis/aptos/souffle.json +0 -389
- package/src/tests/abis/evm/CommitmentPool.json +0 -1034
- package/src/tests/abis/evm/Seaport.json +0 -2595
- package/src/tests/abis/evm/anyswapRouter.json +0 -490
- package/src/tests/abis/solana/basic_1.json +0 -62
- package/src/tests/aptos.test.ts +0 -402
- package/src/tests/codegen.test.ts +0 -29
- package/src/tests/erc20-template.test.ts +0 -60
- package/src/tests/erc20.test.ts +0 -115
- package/src/tests/erc20.ts +0 -60
- package/src/tests/error-capture.test.ts +0 -82
- package/src/tests/logger.test.ts +0 -46
- package/src/tests/solana.test.ts +0 -79
- package/src/tests/souffl3.ts +0 -56
- package/src/tests/sui.test.ts +0 -197
- package/src/tests/types/aptos/soffl3.ts +0 -1377
- package/src/tests/types/aptos/souffle.ts +0 -698
- package/src/tests/types/solana/basic_1.ts +0 -62
- package/src/tests/types/solana/basic_1_processor.ts +0 -41
- package/src/tests/wormhole-token-bridge.ts +0 -21
- package/src/types/global.d.ts +0 -5
- package/src/utils/dex-price.test.ts +0 -25
- package/src/utils/erc20.test.ts +0 -26
- package/templates/aptos/.gitignore +0 -107
- package/templates/aptos/src/processor.test.ts +0 -14
- package/templates/evm/.gitignore +0 -107
- package/templates/evm/src/processor.test.ts +0 -29
- package/templates/raw/.gitignore +0 -107
- package/templates/raw/src/processor.test.ts +0 -14
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aptos.test.js","sourceRoot":"","sources":["../../src/tests/aptos.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from 'chai'\nimport { TextEncoder } from 'util'\nimport { HandlerType, ProcessBindingsRequest } from '..'\n\nimport { firstCounterValue, firstGaugeValue, TestProcessorServer } from '../testing'\n\ndescribe('Test Aptos Example', () => {\n const service = new TestProcessorServer(() => {\n require('./souffl3')\n })\n\n beforeAll(async () => {\n await service.start({ templateInstances: [] })\n })\n\n test('check configuration ', async () => {\n const config = await service.getConfig({})\n expect(config.contractConfigs).length(5)\n })\n\n test('Check souffl3 transaction dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n raw: new TextEncoder().encode(JSON.stringify(testData)),\n },\n handlerId: 1,\n handlerType: HandlerType.APT_CALL,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(res.result?.counters).length(1)\n expect(res.result?.gauges).length(0)\n expect(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(18483034)\n })\n\n test('Check souffl3 function call dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n raw: new TextEncoder().encode(JSON.stringify(testData)),\n },\n handlerId: 0,\n handlerType: HandlerType.APT_CALL,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(res.result?.counters).length(2)\n expect(res.result?.gauges).length(0)\n expect(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(18483034)\n })\n\n test('Check souffl3 event dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n raw: new TextEncoder().encode(\n JSON.stringify({\n ...testData,\n events: [testData.events[testData.events.length - 1]],\n })\n ),\n },\n handlerId: 0,\n handlerType: HandlerType.APT_EVENT,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(res.result?.counters).length(1)\n expect(res.result?.gauges).length(0)\n expect(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(18483034)\n expect(res.result?.events).length(1)\n })\n\n test('Check token deposit event dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n raw: new TextEncoder().encode(\n JSON.stringify({\n ...testData,\n events: [tokenTestData],\n })\n ),\n },\n handlerId: 2,\n handlerType: HandlerType.APT_EVENT,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(firstCounterValue(res.result, 'deposit')).equal(1n)\n expect(firstGaugeValue(res.result, 'version')).equal(0n)\n })\n\n test('Check create poposal event dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n raw: new TextEncoder().encode(JSON.stringify({ ...testData, events: [createProposalData] })),\n },\n handlerId: 3,\n handlerType: HandlerType.APT_EVENT,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(firstGaugeValue(res.result, 'size')).equal(2n)\n })\n\n test('check on timer', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n raw: new TextEncoder().encode(\n JSON.stringify({\n version: '12345',\n resources: [\n {\n type: '0x1::coin::SupplyConfig',\n data: {\n allow_upgrades: false,\n },\n },\n ],\n })\n ),\n },\n handlerId: 0,\n handlerType: HandlerType.APT_RESOURCE,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(firstCounterValue(res.result, 'onTimer')).equal(1n)\n })\n\n test('Check aptos account transaction dispatch', async () => {\n const request: ProcessBindingsRequest = {\n bindings: [\n {\n data: {\n raw: new TextEncoder().encode(JSON.stringify(dataCreate)),\n },\n handlerId: 3,\n handlerType: HandlerType.APT_CALL,\n },\n ],\n }\n const res = await service.processBindings(request)\n expect(res.result?.counters).length(1)\n })\n})\n\nconst testData = {\n version: '18483034',\n hash: '0xbf4df6f390546a793ba9b7caff120002b3257986dbea9c697fd64acf7dfeb052',\n state_change_hash: '0x6063039cca5a1eb33d3986d3665fc783238579961eaa4746c41e25fa4f72aac6',\n event_root_hash: '0x425e39bcf994672108f83c34f637e84166af7ecedcbe26aed0dff0d62da8055d',\n state_checkpoint_hash: null,\n gas_used: '854',\n success: true,\n vm_status: 'Executed successfully',\n accumulator_root_hash: '0x47aa479d9e15993ea2abe04043c89186fb5da0b5eb8b5c6d18bd55d5f0c2c877',\n changes: [],\n sender: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n sequence_number: '30',\n max_gas_amount: '20000',\n gas_unit_price: '1',\n expiration_timestamp_secs: '1663144544',\n payload: {\n function: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::pull_token_v2',\n type_arguments: ['0x1::aptos_coin::AptosCoin'],\n arguments: [\n '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n 'Souffl3 BlueBerry',\n '1',\n ],\n type: 'entry_function_payload',\n },\n signature: {\n public_key: '0x6c3f579afbf8a728827385039f7604ec1d06e5c802d8f9689ee8ec9d349fedc5',\n signature:\n '0xd2db95052e774f095d924030a50c29325a17e8d69d35c748f45bb0e22eb7d3b9e47545c98bd7130fd3ef46cbedc30c9aaeaf39c2d922ee8e7d578c0b1e76f30b',\n type: 'ed25519_signature',\n },\n events: [\n {\n guid: {\n creation_number: '3',\n account_address: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n },\n sequence_number: '10',\n type: '0x1::coin::WithdrawEvent',\n data: {\n amount: '1',\n },\n },\n {\n version: '18483034',\n guid: {\n creation_number: '2',\n account_address: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n },\n sequence_number: '11',\n type: '0x1::coin::DepositEvent',\n data: {\n amount: '1',\n },\n },\n {\n guid: {\n creation_number: '9',\n account_address: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n },\n sequence_number: '9',\n type: '0x3::token::CreateTokenDataEvent',\n data: {\n description:\n 'Souffl3 offers a one-stop marketplace for the launch, listing, and trading of NFT assets on APTOS.\\nWebsite:https://souffl3.com/\\nEveryone can win through our Bake Off campaign on the Aptos Testnet, rewards including Souffl3 Genesis NFT and whitelists of other collab projects, everyone is welcome to participate!',\n id: {\n collection: 'Souffl3 BlueBerry',\n creator: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n name: 'Souffl3 BlueBerry #2',\n },\n maximum: '999999999999',\n mutability_config: {\n description: true,\n maximum: true,\n properties: true,\n royalty: true,\n uri: true,\n },\n name: 'Souffl3 BlueBerry #2',\n property_keys: ['author', 'point'],\n property_types: ['string', 'integer'],\n property_values: ['0x33454e4a4f59204c616273', '0x30'],\n royalty_payee_address: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807',\n royalty_points_denominator: '100',\n royalty_points_numerator: '20',\n uri: 'https://y3x4txhvirx5zl57efzbl6dg7psaier5q35hhwuqwzjwuahrycya.arweave.net/xu_J3PVEb9yvvyFyFfhm--QEEj2G-nPakLZTagDxwLA',\n },\n },\n {\n guid: {\n creation_number: '2',\n account_address: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n },\n sequence_number: '27',\n type: '0x3::token::DepositEvent',\n data: {\n amount: '1',\n id: {\n property_version: '0',\n token_data_id: {\n collection: 'Souffl3 BlueBerry',\n creator: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n name: 'Souffl3 BlueBerry #2',\n },\n },\n },\n },\n {\n version: '18483034',\n guid: {\n creation_number: '7',\n account_address: '0x21d5fe032affa1c8b10d343e9ad5a5618bc13baf5ed4a674fafaa12c54f416cc',\n },\n sequence_number: '980533',\n type: '0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::PullTokenEvent<0x1::aptos_coin::AptosCoin>',\n data: {\n receiver: '0x3a80be5daa84f2da7e07b3ec9234da48a5647f757187879c97a1fa03f31f1195',\n },\n },\n ],\n timestamp: '1663143945131218',\n type: 'user_transaction',\n}\n\nconst tokenTestData = {\n guid: {\n creation_number: '4',\n account_address: '0x89bc80de59187f707a59ae7a4121718dafe3e6068e0509104ef7e41a56bc97db',\n },\n sequence_number: '10',\n type: '0x3::token::DepositEvent',\n data: {\n amount: '1',\n id: {\n property_version: '0',\n token_data_id: {\n collection: 'Topaz Troopers',\n creator: '0x9125e4054d884fdc7296b66e12c0d63a7baa0d88c77e8e784987c0a967c670ac',\n name: 'Topaz Trooper #11293',\n },\n },\n },\n}\n\nconst createProposalData = {\n guid: {\n creation_number: '5',\n account_address: '0x1',\n },\n sequence_number: '3',\n type: '0x1::voting::CreateProposalEvent',\n data: {\n early_resolution_vote_threshold: {\n vec: ['9272156337856446330'],\n },\n execution_hash: '0x31549239ce8abdc1e9c259178614c3d44d015bd6d48635ddcfbfa4a77e7222b0',\n expiration_secs: '1665463839',\n metadata: {\n data: [\n {\n key: 'metadata_hash',\n value:\n '0x61633230656566373063616466363939663530353564323463356363353931396463306330656562643463303662653332346336323030313561633361653066',\n },\n {\n key: 'metadata_location',\n value:\n '0x68747470733a2f2f676973742e67697468756275736572636f6e74656e742e636f6d2f6d6f76656b6576696e2f30353766623134356234303836366566663863323263393166623964613931392f7261772f626162383566306637343334663030386138373831656563376663616464316163356135353438312f6769737466696c65312e747874',\n },\n ],\n },\n min_vote_threshold: '100000000000000',\n proposal_id: '3',\n },\n}\n\nconst dataCreate = {\n id: '',\n round: '',\n previous_block_votes: null,\n proposer: '',\n sender: '0x88252db4dc2484cd9cedb23cd67b7b91f88940142f3eea35df7a9168d9c30896',\n sequence_number: '1510',\n payload: {\n type: 'entry_function_payload',\n type_arguments: [],\n arguments: ['0xd582e092190feda35a2f737123f86e33a1b592596804f40b1d539ab603a82a24'],\n code: { bytecode: '' },\n function: '0x1::aptos_account::create_account',\n },\n max_gas_amount: '2000',\n gas_unit_price: '100',\n expiration_timestamp_secs: '1666174748',\n secondary_signers: null,\n signature: {\n type: 'ed25519_signature',\n public_key: '0xfe1e11c6cb912ae998c9512d21e5781abb64fd4b8d6cfa15aeba3ee481406b64',\n signature:\n '0x98a49f348a3015702e3be33c1d2a92ea7b2726d31b27c857980493fe68cadc83fbef0839e312d6a82a9e6ca69481245fa49b6f25c0ec51660615d03e05738c03',\n public_keys: null,\n signatures: null,\n threshold: 0,\n bitmap: '',\n sender: { type: '', public_key: '', signature: '', public_keys: null, signatures: null, threshold: 0, bitmap: '' },\n secondary_signer_addresses: null,\n secondary_signers: null,\n },\n type: 'user_transaction',\n timestamp: '1666174688494614',\n events: [\n {\n version: '3121410',\n guid: {\n creation_number: '0',\n account_address: '0xd582e092190feda35a2f737123f86e33a1b592596804f40b1d539ab603a82a24',\n },\n sequence_number: '0',\n type: '0x1::account::CoinRegisterEvent',\n data: {\n type_info: {\n account_address: '0x1',\n module_name: '0x6170746f735f636f696e',\n struct_name: '0x4170746f73436f696e',\n },\n },\n },\n ],\n version: '3121410',\n hash: '0xcae7d97c9f43d90e247a366688905bc8e83ee0ad4baddbf3cc2fdda56e4d6926',\n state_root_hash: '',\n event_root_hash: '0xfa557e3bb8dff8fd3321f9a4eaa779311c9c795728355686b487b5b0adf7ce3c',\n gas_used: '1538',\n success: true,\n vm_status: 'Executed successfully',\n accumulator_root_hash: '0x7563d6ed58b011e512d53cce2bc1a70716fc6362e12fb6af8fe6d459ae71dffc',\n changes: null,\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const build_1 = require("../cli/build");
|
|
30
|
-
const path_1 = __importDefault(require("path"));
|
|
31
|
-
const fs = __importStar(require("fs"));
|
|
32
|
-
const os_1 = __importDefault(require("os"));
|
|
33
|
-
describe('Test EVM codegen', () => {
|
|
34
|
-
const codeGenFolder = fs.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), 'codegen_test'));
|
|
35
|
-
jest.setTimeout(20000);
|
|
36
|
-
// TODO make sure code could be compile
|
|
37
|
-
test('code gen for evm', async () => {
|
|
38
|
-
console.log('source code generated to ' + codeGenFolder);
|
|
39
|
-
await (0, build_1.codeGenEthersProcessor)(path_1.default.join(__dirname, 'abis/evm'), 'lib/target-ethers-sentio', `${codeGenFolder}/internal`);
|
|
40
|
-
expect(fs.existsSync(codeGenFolder)).toEqual(true);
|
|
41
|
-
expect(fs.readdirSync(codeGenFolder).length).toEqual(4);
|
|
42
|
-
});
|
|
43
|
-
// afterAll(() => {
|
|
44
|
-
// if (fs.existsSync(codeGenFolder)) {
|
|
45
|
-
// fs.rmSync(codeGenFolder, { recursive: true, force: true })
|
|
46
|
-
// }
|
|
47
|
-
// })
|
|
48
|
-
});
|
|
49
|
-
//# sourceMappingURL=codegen.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.test.js","sourceRoot":"","sources":["../../src/tests/codegen.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqD;AACrD,gDAAuB;AACvB,uCAAwB;AACxB,4CAAmB;AAEnB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAA;IAE5E,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtB,uCAAuC;IACvC,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,aAAa,CAAC,CAAA;QAExD,MAAM,IAAA,8BAAsB,EAC1B,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAChC,0BAA0B,EAC1B,GAAG,aAAa,WAAW,CAC5B,CAAA;QACD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,mBAAmB;IACnB,wCAAwC;IACxC,iEAAiE;IACjE,MAAM;IACN,KAAK;AACP,CAAC,CAAC,CAAA","sourcesContent":["import { codeGenEthersProcessor } from '../cli/build'\nimport path from 'path'\nimport * as fs from 'fs'\nimport os from 'os'\n\ndescribe('Test EVM codegen', () => {\n const codeGenFolder = fs.mkdtempSync(path.join(os.tmpdir(), 'codegen_test'))\n\n jest.setTimeout(20000)\n\n // TODO make sure code could be compile\n test('code gen for evm', async () => {\n console.log('source code generated to ' + codeGenFolder)\n\n await codeGenEthersProcessor(\n path.join(__dirname, 'abis/evm'),\n 'lib/target-ethers-sentio',\n `${codeGenFolder}/internal`\n )\n expect(fs.existsSync(codeGenFolder)).toEqual(true)\n expect(fs.readdirSync(codeGenFolder).length).toEqual(4)\n })\n\n // afterAll(() => {\n // if (fs.existsSync(codeGenFolder)) {\n // fs.rmSync(codeGenFolder, { recursive: true, force: true })\n // }\n // })\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const chai_1 = require("chai");
|
|
7
|
-
const long_1 = __importDefault(require("long"));
|
|
8
|
-
const testing_1 = require("../testing");
|
|
9
|
-
const erc20_processor_1 = require("../builtin/internal/erc20_processor");
|
|
10
|
-
describe('Test Template', () => {
|
|
11
|
-
const service = new testing_1.TestProcessorServer(() => {
|
|
12
|
-
const filter = erc20_processor_1.ERC20Processor.filters.Transfer('0x0000000000000000000000000000000000000000', '0xb329e39ebefd16f40d38f07643652ce17ca5bac1');
|
|
13
|
-
const processorTemplate = new erc20_processor_1.ERC20ProcessorTemplate().onEventTransfer(async function (event, ctx) {
|
|
14
|
-
console.log('');
|
|
15
|
-
});
|
|
16
|
-
erc20_processor_1.ERC20Processor.bind({
|
|
17
|
-
address: '0x1e4ede388cbc9f4b5c79681b7f94d36a11abebc9',
|
|
18
|
-
network: 1,
|
|
19
|
-
name: 'x2y2',
|
|
20
|
-
startBlock: 14201940,
|
|
21
|
-
}).onEventTransfer(async function (event, ctx) {
|
|
22
|
-
processorTemplate.bind({
|
|
23
|
-
address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
|
24
|
-
network: 3,
|
|
25
|
-
name: 'dynamic',
|
|
26
|
-
});
|
|
27
|
-
// template.bind('0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 3, 'dynamic')
|
|
28
|
-
ctx.meter.Counter('c1').add(1);
|
|
29
|
-
}, filter);
|
|
30
|
-
});
|
|
31
|
-
beforeAll(async () => {
|
|
32
|
-
const request = {
|
|
33
|
-
templateInstances: [
|
|
34
|
-
{
|
|
35
|
-
contract: {
|
|
36
|
-
address: 'dynamic2',
|
|
37
|
-
name: 'dynamic2',
|
|
38
|
-
chainId: '1',
|
|
39
|
-
abi: '',
|
|
40
|
-
},
|
|
41
|
-
startBlock: long_1.default.ZERO,
|
|
42
|
-
endBlock: long_1.default.ZERO,
|
|
43
|
-
templateId: 0,
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
};
|
|
47
|
-
await service.start(request);
|
|
48
|
-
});
|
|
49
|
-
test('Check template instantiate', async () => {
|
|
50
|
-
const config = await service.getConfig({});
|
|
51
|
-
(0, chai_1.expect)(config.contractConfigs).length(2);
|
|
52
|
-
(0, chai_1.expect)(config.contractConfigs?.[1].contract?.name).equals('dynamic2');
|
|
53
|
-
(0, chai_1.expect)(config.templateInstances).length(1);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
//# sourceMappingURL=erc20-template.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erc20-template.test.js","sourceRoot":"","sources":["../../src/tests/erc20-template.test.ts"],"names":[],"mappings":";;;;;AAAA,+BAA6B;AAG7B,gDAAuB;AACvB,wCAAgD;AAChD,yEAA4F;AAE5F,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,OAAO,GAAG,IAAI,6BAAmB,CAAC,GAAG,EAAE;QAC3C,MAAM,MAAM,GAAG,gCAAc,CAAC,OAAO,CAAC,QAAQ,CAC5C,4CAA4C,EAC5C,4CAA4C,CAC7C,CAAA;QAED,MAAM,iBAAiB,GAAG,IAAI,wCAAsB,EAAE,CAAC,eAAe,CAAC,KAAK,WAAW,KAAK,EAAE,GAAG;YAC/F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;QAEF,gCAAc,CAAC,IAAI,CAAC;YAClB,OAAO,EAAE,4CAA4C;YACrD,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAC,eAAe,CAAC,KAAK,WAAW,KAAK,EAAE,GAAG;YAC3C,iBAAiB,CAAC,IAAI,CAAC;gBACrB,OAAO,EAAE,4CAA4C;gBACrD,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,SAAS;aAChB,CAAC,CAAA;YACF,4EAA4E;YAC5E,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC,EAAE,MAAM,CAAC,CAAA;IACZ,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,OAAO,GAAiB;YAC5B,iBAAiB,EAAE;gBACjB;oBACE,QAAQ,EAAE;wBACR,OAAO,EAAE,UAAU;wBACnB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,GAAG;wBACZ,GAAG,EAAE,EAAE;qBACR;oBACD,UAAU,EAAE,cAAI,CAAC,IAAI;oBACrB,QAAQ,EAAE,cAAI,CAAC,IAAI;oBACnB,UAAU,EAAE,CAAC;iBACd;aACF;SACF,CAAA;QACD,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC1C,IAAA,aAAM,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACxC,IAAA,aAAM,EAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACrE,IAAA,aAAM,EAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { expect } from 'chai'\n\nimport { StartRequest } from '..'\nimport Long from 'long'\nimport { TestProcessorServer } from '../testing'\nimport { ERC20Processor, ERC20ProcessorTemplate } from '../builtin/internal/erc20_processor'\n\ndescribe('Test Template', () => {\n const service = new TestProcessorServer(() => {\n const filter = ERC20Processor.filters.Transfer(\n '0x0000000000000000000000000000000000000000',\n '0xb329e39ebefd16f40d38f07643652ce17ca5bac1'\n )\n\n const processorTemplate = new ERC20ProcessorTemplate().onEventTransfer(async function (event, ctx) {\n console.log('')\n })\n\n ERC20Processor.bind({\n address: '0x1e4ede388cbc9f4b5c79681b7f94d36a11abebc9',\n network: 1,\n name: 'x2y2',\n startBlock: 14201940,\n }).onEventTransfer(async function (event, ctx) {\n processorTemplate.bind({\n address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',\n network: 3,\n name: 'dynamic',\n })\n // template.bind('0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 3, 'dynamic')\n ctx.meter.Counter('c1').add(1)\n }, filter)\n })\n\n beforeAll(async () => {\n const request: StartRequest = {\n templateInstances: [\n {\n contract: {\n address: 'dynamic2',\n name: 'dynamic2',\n chainId: '1',\n abi: '',\n },\n startBlock: Long.ZERO,\n endBlock: Long.ZERO,\n templateId: 0,\n },\n ],\n }\n await service.start(request)\n })\n\n test('Check template instantiate', async () => {\n const config = await service.getConfig({})\n expect(config.contractConfigs).length(2)\n expect(config.contractConfigs?.[1].contract?.name).equals('dynamic2')\n expect(config.templateInstances).length(1)\n })\n})\n"]}
|
package/lib/tests/erc20.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const filter: import("../builtin/erc20").TransferEventFilter;
|
package/lib/tests/erc20.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.filter = void 0;
|
|
4
|
-
const erc20_1 = require("../builtin/erc20");
|
|
5
|
-
const event_tracker_1 = require("../core/event-tracker");
|
|
6
|
-
const exporter_1 = require("../core/exporter");
|
|
7
|
-
exports.filter = erc20_1.ERC20Processor.filters.Transfer('0x0000000000000000000000000000000000000000', '0xb329e39ebefd16f40d38f07643652ce17ca5bac1');
|
|
8
|
-
const tracker = event_tracker_1.EventTracker.register('sdf');
|
|
9
|
-
const exporter = exporter_1.Exporter.register('transfer', 'xxx');
|
|
10
|
-
const processorTemplate = new erc20_1.ERC20ProcessorTemplate().onEventTransfer(async function (event, ctx) {
|
|
11
|
-
console.log('');
|
|
12
|
-
});
|
|
13
|
-
erc20_1.ERC20Processor.bind({
|
|
14
|
-
address: '0x1e4ede388cbc9f4b5c79681b7f94d36a11abebc9',
|
|
15
|
-
// network: 1,
|
|
16
|
-
name: 'x2y2',
|
|
17
|
-
startBlock: 14201940,
|
|
18
|
-
})
|
|
19
|
-
.onEventTransfer(async function (event, ctx) {
|
|
20
|
-
processorTemplate.bind({ address: '0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9', network: 3, name: 'dynamic' });
|
|
21
|
-
// template.bind('0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 3, 'dynamic')
|
|
22
|
-
ctx.meter.Counter('c1').add(1);
|
|
23
|
-
}, exports.filter)
|
|
24
|
-
.onBlock(async function (block, ctx) {
|
|
25
|
-
ctx.meter.Gauge('g1').record(10, { k: 'v' });
|
|
26
|
-
})
|
|
27
|
-
.onCallApprove(function (call, ctx) {
|
|
28
|
-
ctx.meter.Counter('added').add(call.args.amount, { spender: call.args.spender });
|
|
29
|
-
});
|
|
30
|
-
erc20_1.ERC20Processor.bind({ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', network: 56, name: 'usdc' })
|
|
31
|
-
.onEventTransfer(async function (event, ctx) {
|
|
32
|
-
ctx.meter.Counter('c2').add(2);
|
|
33
|
-
tracker.trackEvent(ctx, { distinctId: event.args.from });
|
|
34
|
-
exporter.emit(ctx, event);
|
|
35
|
-
}, exports.filter)
|
|
36
|
-
.onBlock(async function (block, ctx) {
|
|
37
|
-
ctx.meter.Gauge('g2').record(20, { k: 'v' });
|
|
38
|
-
});
|
|
39
|
-
// .onEventApproval(async function (event, ctx) {
|
|
40
|
-
// BigNumber.from(10 ** 18)
|
|
41
|
-
// // console.log(n)
|
|
42
|
-
// })
|
|
43
|
-
erc20_1.ERC20Processor.bind({ address: 'xxxx', network: 56 });
|
|
44
|
-
erc20_1.ERC20Processor.bind({ address: 'yyyy', network: 1 });
|
|
45
|
-
erc20_1.ERC20Processor.bind({ address: 'yyyy', network: 1 });
|
|
46
|
-
erc20_1.ERC20Processor.bind({ address: 'yyyy', network: 1, startBlock: 21, name: 'ytoken' });
|
|
47
|
-
// const template = Erc20Processor.template
|
|
48
|
-
// .onTransfer(async function (event, ctx) {
|
|
49
|
-
// ctx.meter.Counter('c2').add(2)
|
|
50
|
-
// }, filter)
|
|
51
|
-
// .onBlock(async function (block, ctx) {
|
|
52
|
-
// ctx.meter.Gauge('h1').record(20, { k: 'v' })
|
|
53
|
-
// })
|
|
54
|
-
//# sourceMappingURL=erc20.js.map
|
package/lib/tests/erc20.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../src/tests/erc20.ts"],"names":[],"mappings":"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","sourcesContent":["import { ERC20Processor, ERC20ProcessorTemplate } from '../builtin/erc20'\nimport { EventTracker } from '../core/event-tracker'\nimport { Exporter } from '../core/exporter'\n\nexport const filter = ERC20Processor.filters.Transfer(\n '0x0000000000000000000000000000000000000000',\n '0xb329e39ebefd16f40d38f07643652ce17ca5bac1'\n)\n\nconst tracker = EventTracker.register('sdf')\nconst exporter = Exporter.register('transfer', 'xxx')\n\nconst processorTemplate = new ERC20ProcessorTemplate().onEventTransfer(async function (event, ctx) {\n console.log('')\n})\n\nERC20Processor.bind({\n address: '0x1e4ede388cbc9f4b5c79681b7f94d36a11abebc9',\n // network: 1,\n name: 'x2y2',\n startBlock: 14201940,\n})\n .onEventTransfer(async function (event, ctx) {\n processorTemplate.bind({ address: '0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9', network: 3, name: 'dynamic' })\n // template.bind('0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 3, 'dynamic')\n ctx.meter.Counter('c1').add(1)\n }, filter)\n .onBlock(async function (block, ctx) {\n ctx.meter.Gauge('g1').record(10, { k: 'v' })\n })\n .onCallApprove(function (call, ctx) {\n ctx.meter.Counter('added').add(call.args.amount, { spender: call.args.spender })\n })\n\nERC20Processor.bind({ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', network: 56, name: 'usdc' })\n .onEventTransfer(async function (event, ctx) {\n ctx.meter.Counter('c2').add(2)\n tracker.trackEvent(ctx, { distinctId: event.args.from })\n exporter.emit(ctx, event)\n }, filter)\n .onBlock(async function (block, ctx) {\n ctx.meter.Gauge('g2').record(20, { k: 'v' })\n })\n// .onEventApproval(async function (event, ctx) {\n// BigNumber.from(10 ** 18)\n// // console.log(n)\n// })\nERC20Processor.bind({ address: 'xxxx', network: 56 })\n\nERC20Processor.bind({ address: 'yyyy', network: 1 })\nERC20Processor.bind({ address: 'yyyy', network: 1 })\nERC20Processor.bind({ address: 'yyyy', network: 1, startBlock: 21, name: 'ytoken' })\n\n// const template = Erc20Processor.template\n// .onTransfer(async function (event, ctx) {\n// ctx.meter.Counter('c2').add(2)\n// }, filter)\n// .onBlock(async function (block, ctx) {\n// ctx.meter.Gauge('h1').record(20, { k: 'v' })\n// })\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/tests/erc20.test.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// TODO move out of this package
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
const chai_1 = require("chai");
|
|
5
|
-
const __1 = require("..");
|
|
6
|
-
const testing_1 = require("../testing");
|
|
7
|
-
const ethers_1 = require("ethers");
|
|
8
|
-
const test_utils_1 = require("../builtin/erc20/test-utils");
|
|
9
|
-
describe('Test Basic Examples', () => {
|
|
10
|
-
const service = new testing_1.TestProcessorServer(() => require('./erc20'));
|
|
11
|
-
beforeAll(async () => {
|
|
12
|
-
await service.start();
|
|
13
|
-
});
|
|
14
|
-
test('check configuration', async () => {
|
|
15
|
-
const config = await service.getConfig({});
|
|
16
|
-
(0, chai_1.expect)(config.contractConfigs).length(5);
|
|
17
|
-
(0, chai_1.expect)(config.contractConfigs?.[2].contract?.name).equals('ERC20');
|
|
18
|
-
(0, chai_1.expect)(config.contractConfigs?.[3].contract?.name).equals('ERC20');
|
|
19
|
-
(0, chai_1.expect)(config.contractConfigs?.[4].contract?.name).equals('ytoken');
|
|
20
|
-
});
|
|
21
|
-
test('Check block dispatch', async () => {
|
|
22
|
-
const res = (await service.testBlock(blockData)).result;
|
|
23
|
-
(0, chai_1.expect)(res?.counters).length(0);
|
|
24
|
-
(0, chai_1.expect)(res?.gauges).length(1);
|
|
25
|
-
(0, chai_1.expect)((0, testing_1.firstGaugeValue)(res, 'g1')).equals(10n);
|
|
26
|
-
(0, chai_1.expect)(res?.gauges[0].metadata?.contractName).equals('x2y2');
|
|
27
|
-
const gauge = res?.gauges?.[0];
|
|
28
|
-
(0, chai_1.expect)(gauge?.metadata?.blockNumber?.toString()).equals('14373295');
|
|
29
|
-
(0, chai_1.expect)(gauge?.runtimeInfo?.from).equals(__1.HandlerType.BLOCK);
|
|
30
|
-
const res2 = (await service.testBlock(blockData, 56)).result;
|
|
31
|
-
(0, chai_1.expect)(res2?.counters).length(0);
|
|
32
|
-
(0, chai_1.expect)(res2?.gauges).length(1);
|
|
33
|
-
(0, chai_1.expect)((0, testing_1.firstGaugeValue)(res2, 'g2')).equals(20n);
|
|
34
|
-
});
|
|
35
|
-
test('Check log dispatch', async () => {
|
|
36
|
-
const logData = (0, test_utils_1.mockTransferLog)('0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9', {
|
|
37
|
-
from: '0x0000000000000000000000000000000000000000',
|
|
38
|
-
to: '0xB329e39Ebefd16f40d38f07643652cE17Ca5Bac1',
|
|
39
|
-
value: ethers_1.BigNumber.from('0x9a71db64810aaa0000'),
|
|
40
|
-
});
|
|
41
|
-
let res = await service.testLog(logData);
|
|
42
|
-
const counters = res.result?.counters;
|
|
43
|
-
(0, chai_1.expect)(counters).length(1);
|
|
44
|
-
(0, chai_1.expect)((0, testing_1.firstCounterValue)(res.result, 'c1')).equals(1n);
|
|
45
|
-
(0, chai_1.expect)(counters?.[0].metadata?.chainId).equals('1');
|
|
46
|
-
(0, chai_1.expect)(counters?.[0].runtimeInfo?.from).equals(__1.HandlerType.ETH_LOG);
|
|
47
|
-
(0, chai_1.expect)(res.configUpdated).equals(true);
|
|
48
|
-
const logData2 = Object.assign({}, logData);
|
|
49
|
-
logData2.address = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48';
|
|
50
|
-
res = await service.testLog(logData2, 56);
|
|
51
|
-
(0, chai_1.expect)((0, testing_1.firstCounterValue)(res.result, 'c2')).equals(2n);
|
|
52
|
-
(0, chai_1.expect)(res.result?.counters[0].metadata?.chainId).equals('56');
|
|
53
|
-
(0, chai_1.expect)(res.result?.gauges).length(0);
|
|
54
|
-
const config = await service.getConfig({});
|
|
55
|
-
(0, chai_1.expect)(config.contractConfigs).length(6); //config increased
|
|
56
|
-
(0, chai_1.expect)(config.contractConfigs?.[5].contract?.name).equals('dynamic');
|
|
57
|
-
// repeat trigger won't bind again
|
|
58
|
-
await service.testLogs([logData]);
|
|
59
|
-
const config2 = await service.getConfig({});
|
|
60
|
-
(0, chai_1.expect)(config).deep.equals(config2);
|
|
61
|
-
});
|
|
62
|
-
const blockData = {
|
|
63
|
-
hash: '0x2b9b7cce1f17f3b7e1f3c2472cc806a07bee3f0baca07d021350950d81d73a42',
|
|
64
|
-
number: 14373295,
|
|
65
|
-
timestamp: 1647106437,
|
|
66
|
-
extraData: '0xe4b883e5bda9e7a59ee4bb99e9b1bc493421',
|
|
67
|
-
};
|
|
68
|
-
test('Check trace dispatch', async () => {
|
|
69
|
-
const res = (await service.testTrace(traceData)).result;
|
|
70
|
-
(0, chai_1.expect)(res?.counters).length(1);
|
|
71
|
-
});
|
|
72
|
-
const traceData = {
|
|
73
|
-
action: {
|
|
74
|
-
from: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',
|
|
75
|
-
callType: 'call',
|
|
76
|
-
gas: 0xbb0a,
|
|
77
|
-
input: '0x095ea7b30000000000000000000000003eabf546fff0a41edaaf5b667333a846285713180000000000000000000000000000000000000000000000000000002a03956d85',
|
|
78
|
-
to: '0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9',
|
|
79
|
-
value: 0x0,
|
|
80
|
-
},
|
|
81
|
-
blockHash: '0xb1fe1fefca4063ab9cc06a10356a6dd397b8c3dd38e21470e107a711ad559c13',
|
|
82
|
-
blockNumber: 15548801,
|
|
83
|
-
result: {
|
|
84
|
-
gasUsed: 0x95df,
|
|
85
|
-
output: '0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
86
|
-
},
|
|
87
|
-
subtraces: 1,
|
|
88
|
-
traceAddress: [],
|
|
89
|
-
transactionHash: '0xc05c37b34e13380d0b7e0475b27a0c77fda826f82c603f9c45922e952d63b7a5',
|
|
90
|
-
transactionPosition: 69,
|
|
91
|
-
type: 'call',
|
|
92
|
-
};
|
|
93
|
-
});
|
|
94
|
-
//# sourceMappingURL=erc20.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erc20.test.js","sourceRoot":"","sources":["../../src/tests/erc20.test.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO move out of this package\n\nimport { expect } from 'chai'\n\nimport { HandlerType } from '..'\n\nimport { TestProcessorServer, firstCounterValue, firstGaugeValue } from '../testing'\nimport { BigNumber } from 'ethers'\nimport { mockTransferLog } from '../builtin/erc20/test-utils'\nimport { Trace } from '@sentio/sdk'\n\ndescribe('Test Basic Examples', () => {\n const service = new TestProcessorServer(() => require('./erc20'))\n\n beforeAll(async () => {\n await service.start()\n })\n\n test('check configuration', async () => {\n const config = await service.getConfig({})\n expect(config.contractConfigs).length(5)\n\n expect(config.contractConfigs?.[2].contract?.name).equals('ERC20')\n expect(config.contractConfigs?.[3].contract?.name).equals('ERC20')\n expect(config.contractConfigs?.[4].contract?.name).equals('ytoken')\n })\n\n test('Check block dispatch', async () => {\n const res = (await service.testBlock(blockData)).result\n expect(res?.counters).length(0)\n expect(res?.gauges).length(1)\n expect(firstGaugeValue(res, 'g1')).equals(10n)\n expect(res?.gauges[0].metadata?.contractName).equals('x2y2')\n\n const gauge = res?.gauges?.[0]\n expect(gauge?.metadata?.blockNumber?.toString()).equals('14373295')\n expect(gauge?.runtimeInfo?.from).equals(HandlerType.BLOCK)\n\n const res2 = (await service.testBlock(blockData, 56)).result\n expect(res2?.counters).length(0)\n expect(res2?.gauges).length(1)\n expect(firstGaugeValue(res2, 'g2')).equals(20n)\n })\n\n test('Check log dispatch', async () => {\n const logData = mockTransferLog('0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9', {\n from: '0x0000000000000000000000000000000000000000',\n to: '0xB329e39Ebefd16f40d38f07643652cE17Ca5Bac1',\n value: BigNumber.from('0x9a71db64810aaa0000'),\n })\n\n let res = await service.testLog(logData)\n\n const counters = res.result?.counters\n expect(counters).length(1)\n expect(firstCounterValue(res.result, 'c1')).equals(1n)\n\n expect(counters?.[0].metadata?.chainId).equals('1')\n expect(counters?.[0].runtimeInfo?.from).equals(HandlerType.ETH_LOG)\n expect(res.configUpdated).equals(true)\n\n const logData2 = Object.assign({}, logData)\n logData2.address = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n res = await service.testLog(logData2, 56)\n\n expect(firstCounterValue(res.result, 'c2')).equals(2n)\n expect(res.result?.counters[0].metadata?.chainId).equals('56')\n\n expect(res.result?.gauges).length(0)\n\n const config = await service.getConfig({})\n expect(config.contractConfigs).length(6) //config increased\n expect(config.contractConfigs?.[5].contract?.name).equals('dynamic')\n\n // repeat trigger won't bind again\n await service.testLogs([logData])\n const config2 = await service.getConfig({})\n expect(config).deep.equals(config2)\n })\n\n const blockData = {\n hash: '0x2b9b7cce1f17f3b7e1f3c2472cc806a07bee3f0baca07d021350950d81d73a42',\n number: 14373295,\n timestamp: 1647106437,\n extraData: '0xe4b883e5bda9e7a59ee4bb99e9b1bc493421',\n }\n\n test('Check trace dispatch', async () => {\n const res = (await service.testTrace(traceData)).result\n expect(res?.counters).length(1)\n })\n\n const traceData: Trace = {\n action: {\n from: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',\n callType: 'call',\n gas: 0xbb0a,\n input:\n '0x095ea7b30000000000000000000000003eabf546fff0a41edaaf5b667333a846285713180000000000000000000000000000000000000000000000000000002a03956d85',\n to: '0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9',\n value: 0x0,\n },\n blockHash: '0xb1fe1fefca4063ab9cc06a10356a6dd397b8c3dd38e21470e107a711ad559c13',\n blockNumber: 15548801,\n result: {\n gasUsed: 0x95df,\n output: '0x0000000000000000000000000000000000000000000000000000000000000001',\n },\n subtraces: 1,\n traceAddress: [],\n transactionHash: '0xc05c37b34e13380d0b7e0475b27a0c77fda826f82c603f9c45922e952d63b7a5',\n transactionPosition: 69,\n type: 'call',\n }\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const chai_1 = require("chai");
|
|
4
|
-
const testing_1 = require("../testing");
|
|
5
|
-
const ethers_1 = require("ethers");
|
|
6
|
-
const test_utils_1 = require("../builtin/erc20/test-utils");
|
|
7
|
-
const erc20_processor_1 = require("../builtin/internal/erc20_processor");
|
|
8
|
-
const utils_1 = require("../utils");
|
|
9
|
-
const sdk_1 = require("@sentio/sdk");
|
|
10
|
-
describe('Test Error Capture', () => {
|
|
11
|
-
const service = new testing_1.TestProcessorServer(() => {
|
|
12
|
-
erc20_processor_1.ERC20Processor.bind({ address: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91' })
|
|
13
|
-
.onEventApproval((evt, ctx) => {
|
|
14
|
-
const v = new sdk_1.BigDecimal(1).div(utils_1.conversion.toBigDecimal(evt.args.value));
|
|
15
|
-
ctx.meter.Gauge('xx').record(v);
|
|
16
|
-
})
|
|
17
|
-
.onEventTransfer((evt, ctx) => {
|
|
18
|
-
const v = new sdk_1.BigDecimal(0).div(utils_1.conversion.toBigDecimal(evt.args.value));
|
|
19
|
-
ctx.meter.Gauge('xx').record(v);
|
|
20
|
-
})
|
|
21
|
-
.onEventOwnershipTransferred((evt, ctx) => {
|
|
22
|
-
ctx.meter.Gauge('xx').record(ethers_1.BigNumber.from(10 ** 18));
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
beforeAll(async () => {
|
|
26
|
-
await service.start();
|
|
27
|
-
});
|
|
28
|
-
test('Check infinite', async () => {
|
|
29
|
-
let err;
|
|
30
|
-
try {
|
|
31
|
-
// TODO check why order matters
|
|
32
|
-
// await service.testLog(mockApprovalLog("0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91", {
|
|
33
|
-
// value: BigNumber.from(3000000),
|
|
34
|
-
// spender: "0x0000000000000000000000000000000000000000",
|
|
35
|
-
// owner: "0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91"
|
|
36
|
-
// }))
|
|
37
|
-
await service.testLog((0, test_utils_1.mockApprovalLog)('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91', {
|
|
38
|
-
owner: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',
|
|
39
|
-
spender: '0x0000000000000000000000000000000000000000',
|
|
40
|
-
value: ethers_1.BigNumber.from(0),
|
|
41
|
-
}));
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
err = e;
|
|
45
|
-
}
|
|
46
|
-
(0, chai_1.assert)(err?.message.includes('Record infinite value'));
|
|
47
|
-
});
|
|
48
|
-
test('Check NaN', async () => {
|
|
49
|
-
let err;
|
|
50
|
-
try {
|
|
51
|
-
await service.testLog((0, test_utils_1.mockTransferLog)('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91', {
|
|
52
|
-
from: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',
|
|
53
|
-
to: '0x0000000000000000000000000000000000000000',
|
|
54
|
-
value: ethers_1.BigNumber.from(0),
|
|
55
|
-
}));
|
|
56
|
-
}
|
|
57
|
-
catch (e) {
|
|
58
|
-
err = e;
|
|
59
|
-
}
|
|
60
|
-
(0, chai_1.assert)(err?.message.includes('NaN'));
|
|
61
|
-
});
|
|
62
|
-
test('Check overflow', async () => {
|
|
63
|
-
let err;
|
|
64
|
-
try {
|
|
65
|
-
await service.testLog((0, test_utils_1.mockOwnershipTransferredLog)('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91', {
|
|
66
|
-
previousOwner: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',
|
|
67
|
-
newOwner: '0x0000000000000000000000000000000000000000',
|
|
68
|
-
}));
|
|
69
|
-
}
|
|
70
|
-
catch (e) {
|
|
71
|
-
err = e;
|
|
72
|
-
}
|
|
73
|
-
(0, chai_1.assert)(err?.message.includes('overflow'));
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
//# sourceMappingURL=error-capture.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-capture.test.js","sourceRoot":"","sources":["../../src/tests/error-capture.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { assert } from 'chai'\n\nimport { TestProcessorServer } from '../testing'\nimport { BigNumber } from 'ethers'\nimport { mockApprovalLog, mockOwnershipTransferredLog, mockTransferLog } from '../builtin/erc20/test-utils'\nimport { ERC20Processor } from '../builtin/internal/erc20_processor'\nimport { conversion } from '../utils'\nimport { BigDecimal } from '@sentio/sdk'\n\ndescribe('Test Error Capture', () => {\n const service = new TestProcessorServer(() => {\n ERC20Processor.bind({ address: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91' })\n .onEventApproval((evt, ctx) => {\n const v = new BigDecimal(1).div(conversion.toBigDecimal(evt.args.value))\n ctx.meter.Gauge('xx').record(v)\n })\n .onEventTransfer((evt, ctx) => {\n const v = new BigDecimal(0).div(conversion.toBigDecimal(evt.args.value))\n ctx.meter.Gauge('xx').record(v)\n })\n .onEventOwnershipTransferred((evt, ctx) => {\n ctx.meter.Gauge('xx').record(BigNumber.from(10 ** 18))\n })\n })\n\n beforeAll(async () => {\n await service.start()\n })\n\n test('Check infinite', async () => {\n let err: Error | undefined\n try {\n // TODO check why order matters\n // await service.testLog(mockApprovalLog(\"0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91\", {\n // value: BigNumber.from(3000000),\n // spender: \"0x0000000000000000000000000000000000000000\",\n // owner: \"0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91\"\n // }))\n await service.testLog(\n mockApprovalLog('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91', {\n owner: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',\n spender: '0x0000000000000000000000000000000000000000',\n value: BigNumber.from(0),\n })\n )\n } catch (e) {\n err = e\n }\n assert(err?.message.includes('Record infinite value'))\n })\n\n test('Check NaN', async () => {\n let err: Error | undefined\n try {\n await service.testLog(\n mockTransferLog('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91', {\n from: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',\n to: '0x0000000000000000000000000000000000000000',\n value: BigNumber.from(0),\n })\n )\n } catch (e) {\n err = e\n }\n assert(err?.message.includes('NaN'))\n })\n\n test('Check overflow', async () => {\n let err: Error | undefined\n try {\n await service.testLog(\n mockOwnershipTransferredLog('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91', {\n previousOwner: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',\n newOwner: '0x0000000000000000000000000000000000000000',\n })\n )\n } catch (e) {\n err = e\n }\n assert(err?.message.includes('overflow'))\n })\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/tests/logger.test.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const chai_1 = require("chai");
|
|
4
|
-
const testing_1 = require("../testing");
|
|
5
|
-
const ethers_1 = require("ethers");
|
|
6
|
-
const test_utils_1 = require("../builtin/erc20/test-utils");
|
|
7
|
-
const erc20_processor_1 = require("../builtin/internal/erc20_processor");
|
|
8
|
-
describe('Test Error Capture', () => {
|
|
9
|
-
const service = new testing_1.TestProcessorServer(() => {
|
|
10
|
-
erc20_processor_1.ERC20Processor.bind({ address: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91' })
|
|
11
|
-
.onEventApproval((evt, ctx) => {
|
|
12
|
-
ctx.logger.info(`approve ${evt.args}`);
|
|
13
|
-
})
|
|
14
|
-
.onEventTransfer((evt, ctx) => {
|
|
15
|
-
ctx.logger.warn('transferred ' + evt.args.value, { from: evt.args.from });
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
beforeAll(async () => {
|
|
19
|
-
await service.start();
|
|
20
|
-
});
|
|
21
|
-
test('Check approve', async () => {
|
|
22
|
-
const res = await service.testLog((0, test_utils_1.mockApprovalLog)('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91', {
|
|
23
|
-
owner: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',
|
|
24
|
-
spender: '0x0000000000000000000000000000000000000000',
|
|
25
|
-
value: ethers_1.BigNumber.from(0),
|
|
26
|
-
}));
|
|
27
|
-
(0, chai_1.assert)(res.result?.logs?.[0].message.includes('approve '));
|
|
28
|
-
});
|
|
29
|
-
test('Check transfer', async () => {
|
|
30
|
-
const res = await service.testLog((0, test_utils_1.mockTransferLog)('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91', {
|
|
31
|
-
from: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',
|
|
32
|
-
to: '0x0000000000000000000000000000000000000000',
|
|
33
|
-
value: ethers_1.BigNumber.from(0),
|
|
34
|
-
}));
|
|
35
|
-
const log = res.result?.logs?.[0];
|
|
36
|
-
(0, chai_1.expect)(log?.message).eq('transferred 0');
|
|
37
|
-
(0, chai_1.expect)(JSON.parse(log?.attributes || '')['from'].toLowerCase()).eq('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91');
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=logger.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../../src/tests/logger.test.ts"],"names":[],"mappings":";;AAAA,+BAAqC;AAErC,wCAAgD;AAChD,mCAAkC;AAClC,4DAA8E;AAC9E,yEAAoE;AAEpE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,OAAO,GAAG,IAAI,6BAAmB,CAAC,GAAG,EAAE;QAC3C,gCAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;aAC3E,eAAe,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC,CAAC;aACD,eAAe,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3E,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAC/B,IAAA,4BAAe,EAAC,4CAA4C,EAAE;YAC5D,KAAK,EAAE,4CAA4C;YACnD,OAAO,EAAE,4CAA4C;YACrD,KAAK,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACzB,CAAC,CACH,CAAA;QACD,IAAA,aAAM,EAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAC/B,IAAA,4BAAe,EAAC,4CAA4C,EAAE;YAC5D,IAAI,EAAE,4CAA4C;YAClD,EAAE,EAAE,4CAA4C;YAChD,KAAK,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACzB,CAAC,CACH,CAAA;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,IAAA,aAAM,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAA;QACxC,IAAA,aAAM,EAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,4CAA4C,CAAC,CAAA;IAClH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { assert, expect } from 'chai'\n\nimport { TestProcessorServer } from '../testing'\nimport { BigNumber } from 'ethers'\nimport { mockApprovalLog, mockTransferLog } from '../builtin/erc20/test-utils'\nimport { ERC20Processor } from '../builtin/internal/erc20_processor'\n\ndescribe('Test Error Capture', () => {\n const service = new TestProcessorServer(() => {\n ERC20Processor.bind({ address: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91' })\n .onEventApproval((evt, ctx) => {\n ctx.logger.info(`approve ${evt.args}`)\n })\n .onEventTransfer((evt, ctx) => {\n ctx.logger.warn('transferred ' + evt.args.value, { from: evt.args.from })\n })\n })\n\n beforeAll(async () => {\n await service.start()\n })\n\n test('Check approve', async () => {\n const res = await service.testLog(\n mockApprovalLog('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91', {\n owner: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',\n spender: '0x0000000000000000000000000000000000000000',\n value: BigNumber.from(0),\n })\n )\n assert(res.result?.logs?.[0].message.includes('approve '))\n })\n\n test('Check transfer', async () => {\n const res = await service.testLog(\n mockTransferLog('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91', {\n from: '0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91',\n to: '0x0000000000000000000000000000000000000000',\n value: BigNumber.from(0),\n })\n )\n const log = res.result?.logs?.[0]\n expect(log?.message).eq('transferred 0')\n expect(JSON.parse(log?.attributes || '')['from'].toLowerCase()).eq('0x80009ff8154bd5653c6dda2fa5f5053e5a5c1a91')\n })\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/tests/solana.test.js
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// TODO move out of this package
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const chai_1 = require("chai");
|
|
8
|
-
const __1 = require("..");
|
|
9
|
-
const long_1 = __importDefault(require("long"));
|
|
10
|
-
const util_1 = require("util");
|
|
11
|
-
const testing_1 = require("../testing");
|
|
12
|
-
describe('Test Solana Example', () => {
|
|
13
|
-
const service = new testing_1.TestProcessorServer(() => {
|
|
14
|
-
require('./wormhole-token-bridge');
|
|
15
|
-
});
|
|
16
|
-
beforeAll(async () => {
|
|
17
|
-
await service.start({ templateInstances: [] });
|
|
18
|
-
});
|
|
19
|
-
test('check configuration ', async () => {
|
|
20
|
-
const config = await service.getConfig({});
|
|
21
|
-
(0, chai_1.expect)(config.contractConfigs).length(2);
|
|
22
|
-
});
|
|
23
|
-
test('Check wormhole token bridge instruction dispatch', async () => {
|
|
24
|
-
const request = {
|
|
25
|
-
instructions: [
|
|
26
|
-
{
|
|
27
|
-
instructionData: '33G5T8yXAQWdH8FX7fTy1mBJ6e4dUKfQWbViSrT7qJjpS8UAA3ftEQx9sNzrkaJm56xtENhDsWf',
|
|
28
|
-
slot: long_1.default.fromNumber(12345),
|
|
29
|
-
programAccountId: 'wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb',
|
|
30
|
-
accounts: ['worm'],
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
instructionData: '33G5T8yXAQWdH8FX7fTy1mBJ6e4dUKfQWbViSrT7qJjpS8UAA3ftEQx9sNzrkaJm56xtENhDsWf',
|
|
34
|
-
slot: long_1.default.fromNumber(1),
|
|
35
|
-
programAccountId: 'wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb',
|
|
36
|
-
accounts: ['worm'],
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
};
|
|
40
|
-
const res = await service.processInstructions(request);
|
|
41
|
-
(0, chai_1.expect)(res.result?.counters).length(4);
|
|
42
|
-
(0, chai_1.expect)(res.result?.gauges).length(0);
|
|
43
|
-
(0, chai_1.expect)(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(12345);
|
|
44
|
-
(0, chai_1.expect)((0, testing_1.firstCounterValue)(res.result, 'total_transfer_amount')).equal(1000000n);
|
|
45
|
-
(0, chai_1.expect)((0, testing_1.firstCounterValue)(res.result, 'worm')).equal(1000000n);
|
|
46
|
-
(0, chai_1.expect)(res.result?.counters[0].runtimeInfo?.from).equals(__1.HandlerType.INSTRUCTION);
|
|
47
|
-
});
|
|
48
|
-
test('Check SPLToken parsed instruction dispatch', async () => {
|
|
49
|
-
const parsedIns = {
|
|
50
|
-
info: {
|
|
51
|
-
account: '2SDN4vEJdCdW3pGyhx2km9gB3LeHzMGLrG2j4uVNZfrx',
|
|
52
|
-
amount: '12000000000000',
|
|
53
|
-
mint: '7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs',
|
|
54
|
-
mintAuthority: 'BCD75RNBHrJJpW4dXVagL5mPjzRLnVZq4YirJdjEYMV7',
|
|
55
|
-
},
|
|
56
|
-
type: 'mintTo',
|
|
57
|
-
};
|
|
58
|
-
const request = {
|
|
59
|
-
instructions: [
|
|
60
|
-
{
|
|
61
|
-
instructionData: '',
|
|
62
|
-
slot: long_1.default.fromNumber(0),
|
|
63
|
-
programAccountId: 'wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb',
|
|
64
|
-
parsed: new util_1.TextEncoder().encode(JSON.stringify(parsedIns)),
|
|
65
|
-
accounts: [],
|
|
66
|
-
},
|
|
67
|
-
],
|
|
68
|
-
};
|
|
69
|
-
const res = await service.processInstructions(request);
|
|
70
|
-
(0, chai_1.expect)(res.result?.counters).length(1);
|
|
71
|
-
(0, chai_1.expect)(res.result?.gauges).length(0);
|
|
72
|
-
(0, chai_1.expect)(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(0);
|
|
73
|
-
(0, chai_1.expect)((0, testing_1.firstCounterValue)(res.result, 'totalWeth_supply')).equal(12000000000000);
|
|
74
|
-
(0, chai_1.expect)(res.result?.counters[0].runtimeInfo?.from).equals(__1.HandlerType.INSTRUCTION);
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
//# sourceMappingURL=solana.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solana.test.js","sourceRoot":"","sources":["../../src/tests/solana.test.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO move out of this package\n\nimport { expect } from 'chai'\n\nimport { HandlerType, ProcessInstructionsRequest } from '..'\n\nimport Long from 'long'\nimport { TextEncoder } from 'util'\nimport { TestProcessorServer, firstCounterValue } from '../testing'\n\ndescribe('Test Solana Example', () => {\n const service = new TestProcessorServer(() => {\n require('./wormhole-token-bridge')\n })\n\n beforeAll(async () => {\n await service.start({ templateInstances: [] })\n })\n\n test('check configuration ', async () => {\n const config = await service.getConfig({})\n expect(config.contractConfigs).length(2)\n })\n\n test('Check wormhole token bridge instruction dispatch', async () => {\n const request: ProcessInstructionsRequest = {\n instructions: [\n {\n instructionData: '33G5T8yXAQWdH8FX7fTy1mBJ6e4dUKfQWbViSrT7qJjpS8UAA3ftEQx9sNzrkaJm56xtENhDsWf',\n slot: Long.fromNumber(12345),\n programAccountId: 'wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb',\n accounts: ['worm'],\n },\n {\n instructionData: '33G5T8yXAQWdH8FX7fTy1mBJ6e4dUKfQWbViSrT7qJjpS8UAA3ftEQx9sNzrkaJm56xtENhDsWf',\n slot: Long.fromNumber(1),\n programAccountId: 'wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb',\n accounts: ['worm'],\n },\n ],\n }\n const res = await service.processInstructions(request)\n expect(res.result?.counters).length(4)\n expect(res.result?.gauges).length(0)\n expect(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(12345)\n expect(firstCounterValue(res.result, 'total_transfer_amount')).equal(1000000n)\n expect(firstCounterValue(res.result, 'worm')).equal(1000000n)\n expect(res.result?.counters[0].runtimeInfo?.from).equals(HandlerType.INSTRUCTION)\n })\n\n test('Check SPLToken parsed instruction dispatch', async () => {\n const parsedIns = {\n info: {\n account: '2SDN4vEJdCdW3pGyhx2km9gB3LeHzMGLrG2j4uVNZfrx',\n amount: '12000000000000',\n mint: '7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs',\n mintAuthority: 'BCD75RNBHrJJpW4dXVagL5mPjzRLnVZq4YirJdjEYMV7',\n },\n type: 'mintTo',\n }\n const request: ProcessInstructionsRequest = {\n instructions: [\n {\n instructionData: '',\n slot: Long.fromNumber(0),\n programAccountId: 'wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb',\n parsed: new TextEncoder().encode(JSON.stringify(parsedIns)),\n accounts: [],\n },\n ],\n }\n const res = await service.processInstructions(request)\n expect(res.result?.counters).length(1)\n expect(res.result?.gauges).length(0)\n expect(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(0)\n expect(firstCounterValue(res.result, 'totalWeth_supply')).equal(12000000000000)\n expect(res.result?.counters[0].runtimeInfo?.from).equals(HandlerType.INSTRUCTION)\n })\n})\n"]}
|
package/lib/tests/souffl3.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|