@sentio/sdk 0.6.3 → 1.0.0

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.
Files changed (146) hide show
  1. package/dist/base-processor-template.d.ts +20 -0
  2. package/dist/base-processor-template.js +75 -0
  3. package/dist/base-processor-template.js.map +1 -0
  4. package/dist/base-processor.d.ts +22 -0
  5. package/dist/base-processor.js +103 -0
  6. package/dist/base-processor.js.map +1 -0
  7. package/dist/bind-options.d.ts +17 -0
  8. package/dist/bind-options.js +38 -0
  9. package/dist/bind-options.js.map +1 -0
  10. package/dist/binds.d.ts +10 -0
  11. package/dist/binds.js +58 -0
  12. package/dist/binds.js.map +1 -0
  13. package/dist/builtin/erc20/index.d.ts +2 -0
  14. package/dist/builtin/erc20/index.js +22 -0
  15. package/dist/builtin/erc20/index.js.map +1 -0
  16. package/dist/builtin/internal/Erc20.d.ts +150 -0
  17. package/dist/builtin/internal/Erc20.js +3 -0
  18. package/dist/builtin/internal/Erc20.js.map +1 -0
  19. package/dist/builtin/internal/common.d.ts +22 -0
  20. package/dist/builtin/internal/common.js +3 -0
  21. package/dist/builtin/internal/common.js.map +1 -0
  22. package/dist/builtin/internal/erc20_processor.d.ts +38 -0
  23. package/dist/builtin/internal/erc20_processor.js +209 -0
  24. package/dist/builtin/internal/erc20_processor.js.map +1 -0
  25. package/dist/builtin/internal/factories/Erc20__factory.d.ts +35 -0
  26. package/dist/builtin/internal/factories/Erc20__factory.js +216 -0
  27. package/dist/builtin/internal/factories/Erc20__factory.js.map +1 -0
  28. package/dist/builtin/internal/factories/index.d.ts +1 -0
  29. package/dist/builtin/internal/factories/index.js +9 -0
  30. package/dist/builtin/internal/factories/index.js.map +1 -0
  31. package/dist/builtin/internal/index.d.ts +3 -0
  32. package/dist/builtin/internal/index.js +30 -0
  33. package/dist/builtin/internal/index.js.map +1 -0
  34. package/dist/cli/build.d.ts +3 -0
  35. package/dist/cli/build.js +161 -0
  36. package/dist/cli/build.js.map +1 -0
  37. package/dist/cli/cli.d.ts +2 -0
  38. package/dist/cli/cli.js +212 -0
  39. package/dist/cli/cli.js.map +1 -0
  40. package/dist/cli/config.d.ts +14 -0
  41. package/dist/cli/config.js +24 -0
  42. package/dist/cli/config.js.map +1 -0
  43. package/dist/cli/key.d.ts +2 -0
  44. package/dist/cli/key.js +44 -0
  45. package/dist/cli/key.js.map +1 -0
  46. package/dist/cli/solana-code-gen.d.ts +2 -0
  47. package/dist/cli/solana-code-gen.js +19 -0
  48. package/dist/cli/solana-code-gen.js.map +1 -0
  49. package/dist/cli/upload.d.ts +2 -0
  50. package/dist/cli/upload.js +76 -0
  51. package/dist/cli/upload.js.map +1 -0
  52. package/dist/cli/webpack.config.js +41 -0
  53. package/dist/context.d.ts +39 -0
  54. package/dist/context.js +75 -0
  55. package/dist/context.js.map +1 -0
  56. package/dist/contract-namer.d.ts +6 -0
  57. package/dist/contract-namer.js +20 -0
  58. package/dist/contract-namer.js.map +1 -0
  59. package/dist/error.d.ts +2 -0
  60. package/dist/error.js +39 -0
  61. package/dist/error.js.map +1 -0
  62. package/dist/gen/builtin.d.ts +6 -0
  63. package/dist/gen/builtin.js +3 -0
  64. package/dist/gen/builtin.js.map +1 -0
  65. package/dist/gen/google/protobuf/empty.d.ts +16 -0
  66. package/dist/gen/google/protobuf/empty.js +47 -0
  67. package/dist/gen/google/protobuf/empty.js.map +1 -0
  68. package/dist/gen/processor/protos/processor.d.ts +598 -0
  69. package/dist/gen/processor/protos/processor.js +2424 -0
  70. package/dist/gen/processor/protos/processor.js.map +1 -0
  71. package/dist/index.d.ts +13 -0
  72. package/dist/index.js +54 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/meter.d.ts +25 -0
  75. package/dist/meter.js +114 -0
  76. package/dist/meter.js.map +1 -0
  77. package/dist/numberish.d.ts +7 -0
  78. package/dist/numberish.js +74 -0
  79. package/dist/numberish.js.map +1 -0
  80. package/dist/numberish.test.d.ts +1 -0
  81. package/dist/numberish.test.js +54 -0
  82. package/dist/numberish.test.js.map +1 -0
  83. package/dist/processor-runner.d.ts +2 -0
  84. package/dist/processor-runner.js +67 -0
  85. package/dist/processor-runner.js.map +1 -0
  86. package/dist/processor-state.d.ts +16 -0
  87. package/dist/processor-state.js +20 -0
  88. package/dist/processor-state.js.map +1 -0
  89. package/dist/provider.d.ts +5 -0
  90. package/dist/provider.js +56 -0
  91. package/dist/provider.js.map +1 -0
  92. package/dist/service.d.ts +22 -0
  93. package/dist/service.js +361 -0
  94. package/dist/service.js.map +1 -0
  95. package/dist/solana/builtin/spl-token-processor.d.ts +25 -0
  96. package/dist/solana/builtin/spl-token-processor.js +152 -0
  97. package/dist/solana/builtin/spl-token-processor.js.map +1 -0
  98. package/dist/solana-processor.d.ts +28 -0
  99. package/dist/solana-processor.js +79 -0
  100. package/dist/solana-processor.js.map +1 -0
  101. package/dist/target-ethers-sentio/codegen.d.ts +3 -0
  102. package/dist/target-ethers-sentio/codegen.js +201 -0
  103. package/dist/target-ethers-sentio/codegen.js.map +1 -0
  104. package/dist/target-ethers-sentio/index.d.ts +6 -0
  105. package/dist/target-ethers-sentio/index.js +47 -0
  106. package/dist/target-ethers-sentio/index.js.map +1 -0
  107. package/dist/test-case/clean-test.d.ts +1 -0
  108. package/dist/test-case/clean-test.js +9 -0
  109. package/dist/test-case/clean-test.js.map +1 -0
  110. package/dist/test-case/erc20-template.d.ts +1 -0
  111. package/dist/test-case/erc20-template.js +23 -0
  112. package/dist/test-case/erc20-template.js.map +1 -0
  113. package/dist/test-case/erc20-template.test.d.ts +1 -0
  114. package/dist/test-case/erc20-template.test.js +69 -0
  115. package/dist/test-case/erc20-template.test.js.map +1 -0
  116. package/dist/test-case/erc20.d.ts +1 -0
  117. package/dist/test-case/erc20.js +42 -0
  118. package/dist/test-case/erc20.js.map +1 -0
  119. package/dist/test-case/erc20.test.d.ts +1 -0
  120. package/dist/test-case/erc20.test.js +154 -0
  121. package/dist/test-case/erc20.test.js.map +1 -0
  122. package/dist/test-case/mirrorworld.d.ts +1 -0
  123. package/dist/test-case/mirrorworld.js +42 -0
  124. package/dist/test-case/mirrorworld.js.map +1 -0
  125. package/dist/test-case/solana.test.d.ts +1 -0
  126. package/dist/test-case/solana.test.js +58 -0
  127. package/dist/test-case/solana.test.js.map +1 -0
  128. package/dist/test-case/types/game_wallet.d.ts +45 -0
  129. package/dist/test-case/types/game_wallet.js +1396 -0
  130. package/dist/test-case/types/game_wallet.js.map +1 -0
  131. package/dist/test-case/types/game_wallet_processor.d.ts +107 -0
  132. package/dist/test-case/types/game_wallet_processor.js +102 -0
  133. package/dist/test-case/types/game_wallet_processor.js.map +1 -0
  134. package/dist/test-case/types/wormhole_processor.d.ts +16 -0
  135. package/dist/test-case/types/wormhole_processor.js +192 -0
  136. package/dist/test-case/types/wormhole_processor.js.map +1 -0
  137. package/dist/test-case/wormhole-token-bridge.d.ts +1 -0
  138. package/dist/test-case/wormhole-token-bridge.js +7 -0
  139. package/dist/test-case/wormhole-token-bridge.js.map +1 -0
  140. package/dist/utils/chainmap.d.ts +4 -0
  141. package/dist/utils/chainmap.js +95 -0
  142. package/dist/utils/chainmap.js.map +1 -0
  143. package/dist/utils/index.d.ts +1 -0
  144. package/dist/utils/index.js +6 -0
  145. package/dist/utils/index.js.map +1 -0
  146. package/package.json +4 -2
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ // TODO move out of this package
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ const chai_1 = require("chai");
31
+ const __1 = require("..");
32
+ const path = __importStar(require("path"));
33
+ const fs = __importStar(require("fs-extra"));
34
+ const long_1 = __importDefault(require("long"));
35
+ const clean_test_1 = require("./clean-test");
36
+ describe('Test Server with Example', () => {
37
+ const service = new __1.ProcessorServiceImpl(undefined);
38
+ const testContext = {};
39
+ before(async () => {
40
+ (0, clean_test_1.cleanTest)();
41
+ const fullPath = path.resolve('chains-config.json');
42
+ const chainsConfig = fs.readJsonSync(fullPath);
43
+ (0, __1.setProvider)(chainsConfig);
44
+ require('./erc20-template');
45
+ const request = {
46
+ templateInstances: [
47
+ {
48
+ contract: {
49
+ address: 'dynamic2',
50
+ name: 'dynamic2',
51
+ chainId: '1',
52
+ abi: '',
53
+ },
54
+ startBlock: long_1.default.ZERO,
55
+ endBlock: long_1.default.ZERO,
56
+ templateId: 0,
57
+ },
58
+ ],
59
+ };
60
+ await service.start(request, testContext);
61
+ });
62
+ it('Check template instantiate', async () => {
63
+ const config = await service.getConfig({}, testContext);
64
+ (0, chai_1.expect)(config.contractConfigs).length(2);
65
+ (0, chai_1.expect)(config.contractConfigs?.[1].contract?.name).equals('dynamic2');
66
+ (0, chai_1.expect)(config.templateInstances).length(1);
67
+ });
68
+ });
69
+ //# sourceMappingURL=erc20-template.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20-template.test.js","sourceRoot":"","sources":["../../src/test-case/erc20-template.test.ts"],"names":[],"mappings":";AAAA,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhC,+BAA6B;AAE7B,0BAAoE;AAGpE,2CAA4B;AAC5B,6CAA8B;AAC9B,gDAAuB;AACvB,6CAAwC;AAExC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,MAAM,OAAO,GAAG,IAAI,wBAAoB,CAAC,SAAS,CAAC,CAAA;IACnD,MAAM,WAAW,GAA6B,EAAE,CAAA;IAEhD,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,IAAA,sBAAS,GAAE,CAAA;QAEX,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;QACnD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAA,eAAW,EAAC,YAAY,CAAC,CAAA;QAEzB,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAC3B,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,EAAE,WAAW,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;QACvD,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"}
@@ -0,0 +1 @@
1
+ export declare const filter: import("builtin/erc20").TransferEventFilter;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filter = void 0;
4
+ const erc20_1 = require("builtin/erc20");
5
+ exports.filter = erc20_1.Erc20Processor.filters.Transfer('0x0000000000000000000000000000000000000000', '0xb329e39ebefd16f40d38f07643652ce17ca5bac1');
6
+ const processorTemplate = new erc20_1.Erc20ProcessorTemplate().onTransfer(async function (event, ctx) {
7
+ console.log('');
8
+ });
9
+ erc20_1.Erc20Processor.bind({
10
+ address: '0x1e4ede388cbc9f4b5c79681b7f94d36a11abebc9',
11
+ // network: 1,
12
+ name: 'x2y2',
13
+ startBlock: 14201940,
14
+ })
15
+ .onTransfer(async function (event, ctx) {
16
+ processorTemplate.bind({ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', network: 3, name: 'dynamic' });
17
+ // template.bind('0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 3, 'dynamic')
18
+ ctx.meter.Counter('c1').add(1);
19
+ }, exports.filter)
20
+ .onBlock(async function (block, ctx) {
21
+ ctx.meter.Gauge('h1').record(10, { k: 'v' });
22
+ });
23
+ erc20_1.Erc20Processor.bind({ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', network: 56, name: 'usdc' })
24
+ .onTransfer(async function (event, ctx) {
25
+ ctx.meter.Counter('c2').add(2);
26
+ }, exports.filter)
27
+ .onBlock(async function (block, ctx) {
28
+ ctx.meter.Gauge('h1').record(20, { k: 'v' });
29
+ });
30
+ // .startBlock(14201940)
31
+ erc20_1.Erc20Processor.bind({ address: 'xxxx', network: 56 });
32
+ erc20_1.Erc20Processor.bind({ address: 'yyyy', network: 1 });
33
+ erc20_1.Erc20Processor.bind({ address: 'yyyy', network: 1 });
34
+ erc20_1.Erc20Processor.bind({ address: 'yyyy', network: 1, startBlock: 21 });
35
+ // const template = Erc20Processor.template
36
+ // .onTransfer(async function (event, ctx) {
37
+ // ctx.meter.Counter('c2').add(2)
38
+ // }, filter)
39
+ // .onBlock(async function (block, ctx) {
40
+ // ctx.meter.Gauge('h1').record(20, { k: 'v' })
41
+ // })
42
+ //# sourceMappingURL=erc20.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../src/test-case/erc20.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AAEzD,QAAA,MAAM,GAAG,sBAAc,CAAC,OAAO,CAAC,QAAQ,CACnD,4CAA4C,EAC5C,4CAA4C,CAC7C,CAAA;AAED,MAAM,iBAAiB,GAAG,IAAI,8BAAsB,EAAE,CAAC,UAAU,CAAC,KAAK,WAAW,KAAK,EAAE,GAAG;IAC1F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA;AAEF,sBAAc,CAAC,IAAI,CAAC;IAClB,OAAO,EAAE,4CAA4C;IACrD,cAAc;IACd,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,QAAQ;CACrB,CAAC;KACC,UAAU,CAAC,KAAK,WAAW,KAAK,EAAE,GAAG;IACpC,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IAC9G,4EAA4E;IAC5E,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAChC,CAAC,EAAE,cAAM,CAAC;KACT,OAAO,CAAC,KAAK,WAAW,KAAK,EAAE,GAAG;IACjC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA;AAEJ,sBAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KACtG,UAAU,CAAC,KAAK,WAAW,KAAK,EAAE,GAAG;IACpC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAChC,CAAC,EAAE,cAAM,CAAC;KACT,OAAO,CAAC,KAAK,WAAW,KAAK,EAAE,GAAG;IACjC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA;AACJ,wBAAwB;AAExB,sBAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;AAErD,sBAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AACpD,sBAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AACpD,sBAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;AAEpE,2CAA2C;AAC3C,8CAA8C;AAC9C,qCAAqC;AACrC,eAAe;AACf,2CAA2C;AAC3C,mDAAmD;AACnD,OAAO"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ // TODO move out of this package
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ const chai_1 = require("chai");
28
+ const __1 = require("..");
29
+ const path = __importStar(require("path"));
30
+ const fs = __importStar(require("fs-extra"));
31
+ const clean_test_1 = require("./clean-test");
32
+ const numberish_1 = require("../numberish");
33
+ describe('Test Server with Example', () => {
34
+ const service = new __1.ProcessorServiceImpl(undefined);
35
+ const testContext = {};
36
+ before(async () => {
37
+ (0, clean_test_1.cleanTest)();
38
+ const fullPath = path.resolve('chains-config.json');
39
+ const chainsConfig = fs.readJsonSync(fullPath);
40
+ (0, __1.setProvider)(chainsConfig);
41
+ require('./erc20');
42
+ await service.start({ templateInstances: [] }, testContext);
43
+ });
44
+ it('check configuration', async () => {
45
+ const config = await service.getConfig({}, testContext);
46
+ (0, chai_1.expect)(config.contractConfigs).length(5);
47
+ // check auto rename
48
+ (0, chai_1.expect)(config.contractConfigs?.[2].contract?.name).equals('Erc20');
49
+ (0, chai_1.expect)(config.contractConfigs?.[3].contract?.name).equals('Erc20_1');
50
+ // same as above because only differ in parameters
51
+ (0, chai_1.expect)(config.contractConfigs?.[4].contract?.name).equals('Erc20_1');
52
+ });
53
+ it('Check block dispatch', async () => {
54
+ const raw = toRaw(blockData);
55
+ const request = {
56
+ block: {
57
+ raw: raw,
58
+ },
59
+ chainId: '1',
60
+ };
61
+ const res = await service.processBlocks({ requests: [request] }, testContext);
62
+ const o11yRes = res.response?.[0].result;
63
+ (0, chai_1.expect)(o11yRes?.counters).length(0);
64
+ (0, chai_1.expect)(o11yRes?.gauges).length(1);
65
+ (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(o11yRes?.gauges?.[0].metricValue)).equals(10n);
66
+ const gauge = o11yRes?.gauges?.[0];
67
+ (0, chai_1.expect)(gauge?.metadata?.blockNumber?.toString()).equals('14373295');
68
+ (0, chai_1.expect)(gauge?.runtimeInfo?.from).equals(__1.HandlerType.BLOCK);
69
+ // Different chainId should be dispatch to other
70
+ const request2 = {
71
+ block: {
72
+ raw: raw,
73
+ },
74
+ chainId: '56',
75
+ };
76
+ const res2 = await service.processBlocks({ requests: [request2] }, testContext);
77
+ const o11yRes2 = res2.response?.[0].result;
78
+ (0, chai_1.expect)(o11yRes2?.counters).length(0);
79
+ (0, chai_1.expect)(o11yRes2?.gauges).length(1);
80
+ (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(o11yRes2?.gauges?.[0].metricValue)).equals(20n);
81
+ });
82
+ it('Check log dispatch', async () => {
83
+ const raw = toRaw(logData);
84
+ const request = {
85
+ logs: [],
86
+ };
87
+ const binding = __1.LogBinding.fromPartial({
88
+ handlerId: 0,
89
+ log: {
90
+ raw: raw,
91
+ },
92
+ });
93
+ request.logs.push(binding);
94
+ // just faked some logs here
95
+ const binding2 = __1.LogBinding.fromPartial({
96
+ handlerId: 1,
97
+ log: {
98
+ raw: raw,
99
+ },
100
+ });
101
+ request.logs.push(binding2);
102
+ const res = await service.processLog(request, testContext);
103
+ const counters = res.result?.counters;
104
+ (0, chai_1.expect)(counters).length(2);
105
+ (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(counters?.[0].metricValue)).equals(1n);
106
+ (0, chai_1.expect)(counters?.[0].metadata?.chainId).equals('1');
107
+ (0, chai_1.expect)(counters?.[0].runtimeInfo?.from).equals(__1.HandlerType.LOG);
108
+ (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(counters?.[1].metricValue)).equals(2n);
109
+ (0, chai_1.expect)(counters?.[1].metadata?.chainId).equals('56');
110
+ (0, chai_1.expect)(res.result?.gauges).length(0);
111
+ (0, chai_1.expect)(res.configUpdated).equals(true);
112
+ const config = await service.getConfig({}, testContext);
113
+ (0, chai_1.expect)(config.contractConfigs).length(6); //config increased
114
+ (0, chai_1.expect)(config.contractConfigs?.[5].contract?.name).equals('dynamic');
115
+ // repeat trigger won't bind again
116
+ await service.processLog(request, testContext);
117
+ const config2 = await service.getConfig({}, testContext);
118
+ (0, chai_1.expect)(config).deep.equals(config2);
119
+ });
120
+ const blockData = {
121
+ hash: '0x2b9b7cce1f17f3b7e1f3c2472cc806a07bee3f0baca07d021350950d81d73a42',
122
+ parentHash: '0xd538332875124ce30a6674926ae6befa2358ac0a03c70d60c24e74ad7bdf2505',
123
+ number: 14373295,
124
+ timestamp: 1647106437,
125
+ nonce: '0x73bcaf422fe98f49',
126
+ difficulty: null,
127
+ miner: '0x829BD824B016326A401d083B33D092293333A830',
128
+ extraData: '0xe4b883e5bda9e7a59ee4bb99e9b1bc493421',
129
+ };
130
+ const logData = {
131
+ blockNumber: 14213252,
132
+ blockHash: '0x83d646fac9350b281def8c4c37626f9d8efc95df801287b848c719edf35cdbaf',
133
+ transactionIndex: 347,
134
+ removed: false,
135
+ address: '0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9',
136
+ data: '0x00000000000000000000000000000000000000000000009a71db64810aaa0000',
137
+ topics: [
138
+ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
139
+ '0x0000000000000000000000000000000000000000000000000000000000000000',
140
+ '0x000000000000000000000000b329e39ebefd16f40d38f07643652ce17ca5bac1',
141
+ ],
142
+ transactionHash: '0x93355e0cb2c3490cb8a747029ff2dc8cdbde2407025b8391398436955afae303',
143
+ logIndex: 428,
144
+ };
145
+ function toRaw(obj) {
146
+ const logJsonStr = JSON.stringify(obj);
147
+ const raw = new Uint8Array(logJsonStr.length);
148
+ for (let i = 0; i < logJsonStr.length; i++) {
149
+ raw[i] = logJsonStr.charCodeAt(i);
150
+ }
151
+ return raw;
152
+ }
153
+ });
154
+ //# sourceMappingURL=erc20.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20.test.js","sourceRoot":"","sources":["../../src/test-case/erc20.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const game_wallet_processor_1 = require("./types/game_wallet_processor");
4
+ game_wallet_processor_1.GameWalletProcessor.bind('F78NhTC9XmP1DKsCBRz5LGdQc4n4yFbj2dURiv7T9gGZ', 'https://api.mainnet-beta.solana.com')
5
+ .onDistributeWithoutUser((payload, ctx) => {
6
+ const amount = payload.amount.toNumber();
7
+ ctx.meter.Counter('deposit_pool_total_value').add(amount);
8
+ ctx.meter.Counter('deposit_pool_current_value').add(amount);
9
+ ctx.meter.Counter('distribution_pool_total_value').sub(amount);
10
+ })
11
+ .onDeposit((payload, ctx) => {
12
+ const amount = payload.amount.toNumber();
13
+ ctx.meter.Counter('deposit_pool_total_value').add(amount);
14
+ ctx.meter.Counter('deposit_pool_current_value').add(amount);
15
+ })
16
+ .onWithdraw((payload, ctx) => {
17
+ const amount = payload.amount.toNumber();
18
+ ctx.meter.Counter('deposit_pool_total_value').add(amount);
19
+ ctx.meter.Counter('distribution_pool_total_value').sub(amount);
20
+ })
21
+ .onSpend((payload, ctx) => {
22
+ const amount = payload.amount.toNumber();
23
+ ctx.meter.Counter('deposit_pool_total_value').add(amount);
24
+ ctx.meter.Counter('distribution_pool_total_value').sub(amount);
25
+ })
26
+ .onDistribute((payload, ctx) => {
27
+ const amount = payload.amount.toNumber();
28
+ ctx.meter.Counter('deposit_pool_total_value').add(amount);
29
+ ctx.meter.Counter('deposit_pool_current_value').add(amount);
30
+ ctx.meter.Counter('distribution_pool_total_value').sub(amount);
31
+ })
32
+ .onSpendWithoutUser((payload, ctx) => {
33
+ const amount = payload.amount.toNumber();
34
+ ctx.meter.Counter('deposit_pool_total_value').add(amount);
35
+ ctx.meter.Counter('deposit_pool_current_value').sub(amount);
36
+ })
37
+ .onAddDistributeSupply((payload, ctx) => {
38
+ const amount = payload.amount.toNumber();
39
+ ctx.meter.Counter('distribution_pool_total_value').add(amount);
40
+ })
41
+ .startSlot(142700000);
42
+ //# sourceMappingURL=mirrorworld.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mirrorworld.js","sourceRoot":"","sources":["../../src/test-case/mirrorworld.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,58 @@
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 clean_test_1 = require("./clean-test");
11
+ const numberish_1 = require("../numberish");
12
+ describe('Test Server with Solana Example', () => {
13
+ const service = new __1.ProcessorServiceImpl(undefined);
14
+ const testContext = {};
15
+ before(async () => {
16
+ (0, clean_test_1.cleanTest)();
17
+ require('./mirrorworld');
18
+ require('./wormhole-token-bridge');
19
+ await service.start({ templateInstances: [] }, testContext);
20
+ });
21
+ it('check configuration ', async () => {
22
+ const config = await service.getConfig({}, testContext);
23
+ (0, chai_1.expect)(config.contractConfigs).length(2);
24
+ });
25
+ it('Check mirrorworld instruction dispatch', async () => {
26
+ const request = {
27
+ instructions: [
28
+ {
29
+ instructionData: 'CACadoFwjNvan4GP8gh3Jtm1qdeoKX5j2SbSNEiB',
30
+ slot: long_1.default.fromNumber(0),
31
+ programAccountId: 'F78NhTC9XmP1DKsCBRz5LGdQc4n4yFbj2dURiv7T9gGZ',
32
+ },
33
+ ],
34
+ };
35
+ const res = await service.processInstruction(request, testContext);
36
+ (0, chai_1.expect)(res.result?.counters).length(3);
37
+ (0, chai_1.expect)(res.result?.gauges).length(0);
38
+ (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(res.result?.counters[0].metricValue)).equal(5000000000n);
39
+ });
40
+ it('Check wormhole token bridge instruction dispatch', async () => {
41
+ const request = {
42
+ instructions: [
43
+ {
44
+ instructionData: '33G5T8yXAQWdH8FX7fTy1mBJ6e4dUKfQWbViSrT7qJjpS8UAA3ftEQx9sNzrkaJm56xtENhDsWf',
45
+ slot: long_1.default.fromNumber(0),
46
+ programAccountId: 'wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb',
47
+ },
48
+ ],
49
+ };
50
+ const res = await service.processInstruction(request, testContext);
51
+ (0, chai_1.expect)(res.result?.counters).length(1);
52
+ (0, chai_1.expect)(res.result?.gauges).length(0);
53
+ (0, chai_1.expect)(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(0);
54
+ (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(res.result?.counters[0].metricValue)).equal(1000000);
55
+ (0, chai_1.expect)(res.result?.counters[0].runtimeInfo?.from).equals(__1.HandlerType.INSTRUCTION);
56
+ });
57
+ });
58
+ //# sourceMappingURL=solana.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.test.js","sourceRoot":"","sources":["../../src/test-case/solana.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ export declare const game_wallet_idl: {
2
+ version: string;
3
+ name: string;
4
+ instructions: {
5
+ name: string;
6
+ accounts: {
7
+ name: string;
8
+ isMut: boolean;
9
+ isSigner: boolean;
10
+ }[];
11
+ args: {
12
+ name: string;
13
+ type: string;
14
+ }[];
15
+ }[];
16
+ accounts: {
17
+ name: string;
18
+ type: {
19
+ kind: string;
20
+ fields: ({
21
+ name: string;
22
+ type: string;
23
+ } | {
24
+ name: string;
25
+ type: {
26
+ defined: string;
27
+ };
28
+ })[];
29
+ };
30
+ }[];
31
+ types: {
32
+ name: string;
33
+ type: {
34
+ kind: string;
35
+ variants: {
36
+ name: string;
37
+ }[];
38
+ };
39
+ }[];
40
+ errors: {
41
+ code: number;
42
+ name: string;
43
+ msg: string;
44
+ }[];
45
+ };