@sentio/sdk 1.7.13 → 1.7.16

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 (299) hide show
  1. package/{base-processor-template.d.ts → lib/base-processor-template.d.ts} +0 -0
  2. package/{base-processor-template.js → lib/base-processor-template.js} +0 -0
  3. package/lib/base-processor-template.js.map +1 -0
  4. package/{base-processor.d.ts → lib/base-processor.d.ts} +0 -0
  5. package/{base-processor.js → lib/base-processor.js} +0 -0
  6. package/lib/base-processor.js.map +1 -0
  7. package/{bind-options.d.ts → lib/bind-options.d.ts} +0 -0
  8. package/{bind-options.js → lib/bind-options.js} +0 -0
  9. package/lib/bind-options.js.map +1 -0
  10. package/{binds.d.ts → lib/binds.d.ts} +0 -0
  11. package/{binds.js → lib/binds.js} +0 -0
  12. package/lib/binds.js.map +1 -0
  13. package/{builtin → lib/builtin}/erc20/index.d.ts +0 -0
  14. package/{builtin → lib/builtin}/erc20/index.js +0 -0
  15. package/lib/builtin/erc20/index.js.map +1 -0
  16. package/{builtin → lib/builtin}/erc20/test-utils.d.ts +0 -0
  17. package/{builtin → lib/builtin}/erc20/test-utils.js +0 -0
  18. package/lib/builtin/erc20/test-utils.js.map +1 -0
  19. package/{builtin → lib/builtin}/internal/Erc20.d.ts +0 -0
  20. package/{builtin → lib/builtin}/internal/Erc20.js +0 -0
  21. package/lib/builtin/internal/Erc20.js.map +1 -0
  22. package/{builtin → lib/builtin}/internal/common.d.ts +0 -0
  23. package/{builtin → lib/builtin}/internal/common.js +0 -0
  24. package/lib/builtin/internal/common.js.map +1 -0
  25. package/{builtin → lib/builtin}/internal/erc20_processor.d.ts +0 -0
  26. package/{builtin → lib/builtin}/internal/erc20_processor.js +0 -0
  27. package/lib/builtin/internal/erc20_processor.js.map +1 -0
  28. package/{builtin → lib/builtin}/internal/factories/Erc20__factory.d.ts +0 -0
  29. package/{builtin → lib/builtin}/internal/factories/Erc20__factory.js +0 -0
  30. package/lib/builtin/internal/factories/Erc20__factory.js.map +1 -0
  31. package/{builtin → lib/builtin}/internal/factories/index.d.ts +0 -0
  32. package/{builtin → lib/builtin}/internal/factories/index.js +0 -0
  33. package/{builtin → lib/builtin}/internal/factories/index.js.map +1 -1
  34. package/{builtin → lib/builtin}/internal/index.d.ts +0 -0
  35. package/{builtin → lib/builtin}/internal/index.js +0 -0
  36. package/lib/builtin/internal/index.js.map +1 -0
  37. package/{chain-config.d.ts → lib/chain-config.d.ts} +0 -0
  38. package/{chain-config.js → lib/chain-config.js} +0 -0
  39. package/lib/chain-config.js.map +1 -0
  40. package/{cli → lib/cli}/build.d.ts +0 -0
  41. package/{cli → lib/cli}/build.js +0 -0
  42. package/lib/cli/build.js.map +1 -0
  43. package/{cli → lib/cli}/cli.d.ts +0 -0
  44. package/{cli → lib/cli}/cli.js +0 -0
  45. package/lib/cli/cli.js.map +1 -0
  46. package/{cli → lib/cli}/config.d.ts +0 -0
  47. package/{cli → lib/cli}/config.js +0 -0
  48. package/lib/cli/config.js.map +1 -0
  49. package/{cli → lib/cli}/key.d.ts +0 -0
  50. package/{cli → lib/cli}/key.js +0 -0
  51. package/{cli → lib/cli}/key.js.map +1 -1
  52. package/{cli → lib/cli}/solana-code-gen.d.ts +0 -0
  53. package/{cli → lib/cli}/solana-code-gen.js +0 -0
  54. package/{cli → lib/cli}/solana-code-gen.js.map +1 -1
  55. package/{cli → lib/cli}/upload.d.ts +0 -0
  56. package/{cli → lib/cli}/upload.js +0 -0
  57. package/{cli → lib/cli}/upload.js.map +1 -1
  58. package/{cli → lib/cli}/webpack.config.js +0 -0
  59. package/{context.d.ts → lib/context.d.ts} +0 -0
  60. package/{context.js → lib/context.js} +0 -0
  61. package/lib/context.js.map +1 -0
  62. package/{contract-namer.d.ts → lib/contract-namer.d.ts} +0 -0
  63. package/{contract-namer.js → lib/contract-namer.js} +0 -0
  64. package/{contract-namer.js.map → lib/contract-namer.js.map} +1 -1
  65. package/{error.d.ts → lib/error.d.ts} +0 -0
  66. package/{error.js → lib/error.js} +0 -0
  67. package/lib/error.js.map +1 -0
  68. package/{gen → lib/gen}/builtin.d.ts +0 -0
  69. package/{gen → lib/gen}/builtin.js +0 -0
  70. package/lib/gen/builtin.js.map +1 -0
  71. package/{gen → lib/gen}/google/protobuf/empty.d.ts +0 -0
  72. package/{gen → lib/gen}/google/protobuf/empty.js +0 -0
  73. package/lib/gen/google/protobuf/empty.js.map +1 -0
  74. package/{gen → lib/gen}/processor/protos/processor.d.ts +0 -0
  75. package/{gen → lib/gen}/processor/protos/processor.js +0 -0
  76. package/lib/gen/processor/protos/processor.js.map +1 -0
  77. package/{generic-processor.d.ts → lib/generic-processor.d.ts} +0 -0
  78. package/{generic-processor.js → lib/generic-processor.js} +0 -0
  79. package/lib/generic-processor.js.map +1 -0
  80. package/{index.d.ts → lib/index.d.ts} +0 -0
  81. package/{index.js → lib/index.js} +0 -0
  82. package/lib/index.js.map +1 -0
  83. package/lib/loader.d.ts +5 -0
  84. package/lib/loader.js +30 -0
  85. package/lib/loader.js.map +1 -0
  86. package/{meter.d.ts → lib/meter.d.ts} +0 -0
  87. package/{meter.js → lib/meter.js} +0 -0
  88. package/lib/meter.js.map +1 -0
  89. package/{numberish.d.ts → lib/numberish.d.ts} +0 -0
  90. package/{numberish.js → lib/numberish.js} +0 -0
  91. package/lib/numberish.js.map +1 -0
  92. package/{numberish.test.d.ts → lib/numberish.test.d.ts} +0 -0
  93. package/{numberish.test.js → lib/numberish.test.js} +0 -0
  94. package/{numberish.test.js.map → lib/numberish.test.js.map} +1 -1
  95. package/{processor-runner.d.ts → lib/processor-runner.d.ts} +0 -0
  96. package/{processor-runner.js → lib/processor-runner.js} +2 -27
  97. package/lib/processor-runner.js.map +1 -0
  98. package/{processor-state.d.ts → lib/processor-state.d.ts} +0 -0
  99. package/{processor-state.js → lib/processor-state.js} +0 -0
  100. package/lib/processor-state.js.map +1 -0
  101. package/{promise-or-void.d.ts → lib/promise-or-void.d.ts} +0 -0
  102. package/{promise-or-void.js → lib/promise-or-void.js} +0 -0
  103. package/lib/promise-or-void.js.map +1 -0
  104. package/{provider.d.ts → lib/provider.d.ts} +0 -0
  105. package/{provider.js → lib/provider.js} +0 -0
  106. package/lib/provider.js.map +1 -0
  107. package/{release.config.js → lib/release.config.js} +0 -0
  108. package/{service.d.ts → lib/service.d.ts} +2 -1
  109. package/{service.js → lib/service.js} +6 -3
  110. package/lib/service.js.map +1 -0
  111. package/{solana → lib/solana}/builtin/index.d.ts +0 -0
  112. package/{solana → lib/solana}/builtin/index.js +0 -0
  113. package/lib/solana/builtin/index.js.map +1 -0
  114. package/{solana → lib/solana}/builtin/spl-token-processor.d.ts +0 -0
  115. package/{solana → lib/solana}/builtin/spl-token-processor.js +0 -0
  116. package/lib/solana/builtin/spl-token-processor.js.map +1 -0
  117. package/{solana → lib/solana}/builtin/types.d.ts +0 -0
  118. package/{solana → lib/solana}/builtin/types.js +0 -0
  119. package/lib/solana/builtin/types.js.map +1 -0
  120. package/{solana → lib/solana}/builtin/wormhole-processor.d.ts +0 -0
  121. package/{solana → lib/solana}/builtin/wormhole-processor.js +0 -0
  122. package/lib/solana/builtin/wormhole-processor.js.map +1 -0
  123. package/{solana-processor.d.ts → lib/solana-processor.d.ts} +0 -0
  124. package/{solana-processor.js → lib/solana-processor.js} +0 -0
  125. package/lib/solana-processor.js.map +1 -0
  126. package/{target-ethers-sentio → lib/target-ethers-sentio}/codegen.d.ts +0 -0
  127. package/{target-ethers-sentio → lib/target-ethers-sentio}/codegen.js +0 -0
  128. package/{target-ethers-sentio → lib/target-ethers-sentio}/codegen.js.map +0 -0
  129. package/{target-ethers-sentio → lib/target-ethers-sentio}/index.d.ts +0 -0
  130. package/{target-ethers-sentio → lib/target-ethers-sentio}/index.js +0 -0
  131. package/{target-ethers-sentio → lib/target-ethers-sentio}/index.js.map +0 -0
  132. package/{test → lib/test}/codegen.test.d.ts +0 -0
  133. package/{test → lib/test}/codegen.test.js +1 -1
  134. package/lib/test/codegen.test.js.map +1 -0
  135. package/{test → lib/test}/erc20-template.d.ts +0 -0
  136. package/{test → lib/test}/erc20-template.js +0 -0
  137. package/lib/test/erc20-template.js.map +1 -0
  138. package/{test → lib/test}/erc20-template.test.d.ts +0 -0
  139. package/{test → lib/test}/erc20-template.test.js +1 -3
  140. package/lib/test/erc20-template.test.js.map +1 -0
  141. package/{test → lib/test}/erc20.d.ts +0 -0
  142. package/{test → lib/test}/erc20.js +0 -0
  143. package/lib/test/erc20.js.map +1 -0
  144. package/{test → lib/test}/erc20.test.d.ts +0 -0
  145. package/{test → lib/test}/erc20.test.js +1 -3
  146. package/lib/test/erc20.test.js.map +1 -0
  147. package/{test → lib/test}/generic-processor.test.d.ts +0 -0
  148. package/{test → lib/test}/generic-processor.test.js +14 -4
  149. package/lib/test/generic-processor.test.js.map +1 -0
  150. package/{test → lib/test}/index.d.ts +0 -0
  151. package/{test → lib/test}/index.js +0 -0
  152. package/{test → lib/test}/index.js.map +1 -1
  153. package/{test → lib/test}/metric-utils.d.ts +0 -0
  154. package/{test → lib/test}/metric-utils.js +0 -0
  155. package/lib/test/metric-utils.js.map +1 -0
  156. package/{test → lib/test}/mirrorworld.d.ts +0 -0
  157. package/{test → lib/test}/mirrorworld.js +0 -0
  158. package/{test → lib/test}/mirrorworld.js.map +1 -1
  159. package/{test → lib/test}/solana.test.d.ts +0 -0
  160. package/{test → lib/test}/solana.test.js +3 -3
  161. package/lib/test/solana.test.js.map +1 -0
  162. package/{test → lib/test}/test-processor-server.d.ts +1 -1
  163. package/{test → lib/test}/test-processor-server.js +3 -8
  164. package/lib/test/test-processor-server.js.map +1 -0
  165. package/{test → lib/test}/types/game_wallet.d.ts +0 -0
  166. package/{test → lib/test}/types/game_wallet.js +0 -0
  167. package/lib/test/types/game_wallet.js.map +1 -0
  168. package/{test → lib/test}/types/game_wallet_processor.d.ts +0 -0
  169. package/{test → lib/test}/types/game_wallet_processor.js +0 -0
  170. package/lib/test/types/game_wallet_processor.js.map +1 -0
  171. package/{test → lib/test}/wormhole-token-bridge.d.ts +0 -0
  172. package/{test → lib/test}/wormhole-token-bridge.js +0 -0
  173. package/lib/test/wormhole-token-bridge.js.map +1 -0
  174. package/{utils → lib/utils}/chainmap.d.ts +0 -0
  175. package/{utils → lib/utils}/chainmap.js +0 -0
  176. package/lib/utils/chainmap.js.map +1 -0
  177. package/{utils → lib/utils}/convert.d.ts +0 -0
  178. package/{utils → lib/utils}/convert.js +0 -0
  179. package/lib/utils/convert.js.map +1 -0
  180. package/{utils → lib/utils}/index.d.ts +0 -0
  181. package/{utils → lib/utils}/index.js +0 -0
  182. package/lib/utils/index.js.map +1 -0
  183. package/package.json +47 -6
  184. package/src/abis/erc20.json +198 -0
  185. package/src/base-processor-template.ts +92 -0
  186. package/src/base-processor.ts +128 -0
  187. package/src/bind-options.ts +41 -0
  188. package/src/binds.ts +73 -0
  189. package/src/builtin/erc20/index.ts +6 -0
  190. package/src/builtin/erc20/test-utils.ts +49 -0
  191. package/src/builtin/internal/Erc20.ts +356 -0
  192. package/src/builtin/internal/common.ts +46 -0
  193. package/src/builtin/internal/erc20_processor.ts +295 -0
  194. package/src/builtin/internal/factories/Erc20__factory.ts +216 -0
  195. package/src/builtin/internal/factories/index.ts +4 -0
  196. package/src/builtin/internal/index.ts +6 -0
  197. package/src/chain-config.ts +6 -0
  198. package/src/cli/build.ts +180 -0
  199. package/src/cli/cli.ts +217 -0
  200. package/src/cli/config.ts +43 -0
  201. package/src/cli/key.ts +43 -0
  202. package/src/cli/solana-code-gen.ts +16 -0
  203. package/src/cli/upload.ts +86 -0
  204. package/src/cli/webpack.config.js +42 -0
  205. package/src/context.ts +93 -0
  206. package/src/contract-namer.ts +17 -0
  207. package/src/error.ts +43 -0
  208. package/src/gen/builtin.ts +22 -0
  209. package/src/gen/google/protobuf/empty.ts +70 -0
  210. package/src/gen/processor/protos/processor.ts +3071 -0
  211. package/src/generic-processor.ts +38 -0
  212. package/src/index.ts +19 -0
  213. package/src/loader.ts +24 -0
  214. package/src/meter.ts +122 -0
  215. package/src/numberish.test.ts +82 -0
  216. package/src/numberish.ts +99 -0
  217. package/src/processor-runner.ts +49 -0
  218. package/src/processor-state.ts +24 -0
  219. package/src/promise-or-void.ts +1 -0
  220. package/src/provider.ts +74 -0
  221. package/src/service.ts +439 -0
  222. package/src/solana/builtin/index.ts +2 -0
  223. package/src/solana/builtin/spl-token-processor.ts +164 -0
  224. package/src/solana/builtin/types.ts +268 -0
  225. package/src/solana/builtin/wormhole-processor.ts +178 -0
  226. package/src/solana-processor.ts +105 -0
  227. package/src/target-ethers-sentio/codegen.ts +289 -0
  228. package/src/target-ethers-sentio/index.ts +50 -0
  229. package/src/target-ethers-sentio/tsconfig.json +9 -0
  230. package/src/test/abis/evm/anyswapRouter.json +490 -0
  231. package/src/test/abis/solana/mirrorworld.json +1392 -0
  232. package/src/test/codegen.test.ts +26 -0
  233. package/src/test/erc20-template.test.ts +37 -0
  234. package/src/test/erc20-template.ts +25 -0
  235. package/src/test/erc20.test.ts +90 -0
  236. package/src/test/erc20.ts +48 -0
  237. package/src/test/generic-processor.test.ts +70 -0
  238. package/src/test/index.ts +1 -0
  239. package/src/test/metric-utils.ts +49 -0
  240. package/src/test/mirrorworld.ts +40 -0
  241. package/src/test/sentio.yaml +4 -0
  242. package/src/test/solana.test.ts +93 -0
  243. package/src/test/test-processor-server.ts +205 -0
  244. package/src/test/types/game_wallet.ts +1392 -0
  245. package/src/test/types/game_wallet_processor.ts +113 -0
  246. package/src/test/wormhole-token-bridge.ts +21 -0
  247. package/src/types/global.d.ts +17 -0
  248. package/src/utils/chainmap.ts +95 -0
  249. package/src/utils/convert.ts +6 -0
  250. package/src/utils/index.ts +2 -0
  251. package/base-processor-template.js.map +0 -1
  252. package/base-processor.js.map +0 -1
  253. package/bind-options.js.map +0 -1
  254. package/binds.js.map +0 -1
  255. package/builtin/erc20/index.js.map +0 -1
  256. package/builtin/erc20/test-utils.js.map +0 -1
  257. package/builtin/internal/Erc20.js.map +0 -1
  258. package/builtin/internal/common.js.map +0 -1
  259. package/builtin/internal/erc20_processor.js.map +0 -1
  260. package/builtin/internal/factories/Erc20__factory.js.map +0 -1
  261. package/builtin/internal/index.js.map +0 -1
  262. package/chain-config.js.map +0 -1
  263. package/cli/build.js.map +0 -1
  264. package/cli/cli.js.map +0 -1
  265. package/cli/config.js.map +0 -1
  266. package/context.js.map +0 -1
  267. package/error.js.map +0 -1
  268. package/gen/builtin.js.map +0 -1
  269. package/gen/google/protobuf/empty.js.map +0 -1
  270. package/gen/processor/protos/processor.js.map +0 -1
  271. package/generic-processor.js.map +0 -1
  272. package/index.js.map +0 -1
  273. package/meter.js.map +0 -1
  274. package/numberish.js.map +0 -1
  275. package/processor-runner.js.map +0 -1
  276. package/processor-state.js.map +0 -1
  277. package/promise-or-void.js.map +0 -1
  278. package/provider.js.map +0 -1
  279. package/service.js.map +0 -1
  280. package/solana/builtin/index.js.map +0 -1
  281. package/solana/builtin/spl-token-processor.js.map +0 -1
  282. package/solana/builtin/types.js.map +0 -1
  283. package/solana/builtin/wormhole-processor.js.map +0 -1
  284. package/solana-processor.js.map +0 -1
  285. package/test/codegen.test.js.map +0 -1
  286. package/test/erc20-template.js.map +0 -1
  287. package/test/erc20-template.test.js.map +0 -1
  288. package/test/erc20.js.map +0 -1
  289. package/test/erc20.test.js.map +0 -1
  290. package/test/generic-processor.test.js.map +0 -1
  291. package/test/metric-utils.js.map +0 -1
  292. package/test/solana.test.js.map +0 -1
  293. package/test/test-processor-server.js.map +0 -1
  294. package/test/types/game_wallet.js.map +0 -1
  295. package/test/types/game_wallet_processor.js.map +0 -1
  296. package/test/wormhole-token-bridge.js.map +0 -1
  297. package/utils/chainmap.js.map +0 -1
  298. package/utils/convert.js.map +0 -1
  299. package/utils/index.js.map +0 -1
@@ -11,11 +11,11 @@ const util_1 = require("util");
11
11
  const test_processor_server_1 = require("./test-processor-server");
12
12
  const metric_utils_1 = require("./metric-utils");
13
13
  describe('Test Solana Example', () => {
14
- const service = new test_processor_server_1.TestProcessorServer();
15
- beforeAll(async () => {
16
- await service.setup();
14
+ const service = new test_processor_server_1.TestProcessorServer(() => {
17
15
  require('./mirrorworld');
18
16
  require('./wormhole-token-bridge');
17
+ });
18
+ beforeAll(async () => {
19
19
  await service.start({ templateInstances: [] });
20
20
  });
21
21
  test('check configuration ', async () => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.test.js","sourceRoot":"","sources":["../../src/test/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 } from './test-processor-server'\nimport { firstCounterValue } from './metric-utils'\n\ndescribe('Test Solana Example', () => {\n const service = new TestProcessorServer(() => {\n require('./mirrorworld')\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(3)\n })\n\n test('Check mirrorworld instruction dispatch', async () => {\n const request: ProcessInstructionsRequest = {\n instructions: [\n {\n instructionData: 'CACadoFwjNvan4GP8gh3Jtm1qdeoKX5j2SbSNEiB',\n slot: Long.fromNumber(0),\n programAccountId: 'F78NhTC9XmP1DKsCBRz5LGdQc4n4yFbj2dURiv7T9gGZ',\n },\n ],\n }\n const res = await service.processInstructions(request)\n expect(res.result?.counters).length(3)\n expect(res.result?.gauges).length(0)\n expect(firstCounterValue(res.result, 'deposit_pool_total_value')).equal(5000000000n)\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(0),\n programAccountId: 'wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb',\n },\n {\n instructionData: '33G5T8yXAQWdH8FX7fTy1mBJ6e4dUKfQWbViSrT7qJjpS8UAA3ftEQx9sNzrkaJm56xtENhDsWf',\n slot: Long.fromNumber(1),\n programAccountId: 'wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb',\n },\n ],\n }\n const res = await service.processInstructions(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(0)\n expect(firstCounterValue(res.result, 'total_transfer_amount')).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 },\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"]}
@@ -6,7 +6,7 @@ import { Networkish } from '@ethersproject/providers';
6
6
  export declare class TestProcessorServer implements ProcessorServiceImplementation {
7
7
  service: ProcessorServiceImpl;
8
8
  contractConfig: ContractConfig[];
9
- setup(httpEndpoints?: Record<string, string>): void;
9
+ constructor(loader: () => void, httpEndpoints?: Record<string, string>);
10
10
  start(request?: StartRequest, context?: CallContext): Promise<Empty>;
11
11
  stop(request: Empty, context?: CallContext): Promise<Empty>;
12
12
  getConfig(request: ProcessConfigRequest, context?: CallContext): Promise<ProcessConfigResponse>;
@@ -13,10 +13,11 @@ function cleanTest() {
13
13
  global.PROCESSOR_STATE = new sdk_1.ProcessorState();
14
14
  }
15
15
  class TestProcessorServer {
16
- service = new sdk_1.ProcessorServiceImpl();
16
+ service;
17
17
  contractConfig;
18
- setup(httpEndpoints = {}) {
18
+ constructor(loader, httpEndpoints = {}) {
19
19
  cleanTest();
20
+ this.service = new sdk_1.ProcessorServiceImpl(loader);
20
21
  const dummyConfig = {};
21
22
  for (const k in chainmap_1.CHAIN_MAP) {
22
23
  const http = httpEndpoints[k] || '';
@@ -26,12 +27,6 @@ class TestProcessorServer {
26
27
  };
27
28
  }
28
29
  (0, sdk_1.setProvider)(dummyConfig);
29
- // if (!Array.isArray(processorPath)) {
30
- // processorPath = [processorPath]
31
- // }
32
- // for (const path of processorPath) {
33
- // require(path)
34
- // }
35
30
  }
36
31
  async start(request = { templateInstances: [] }, context = TEST_CONTEXT) {
37
32
  const res = await this.service.start(request, context);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-processor-server.js","sourceRoot":"","sources":["../../src/test/test-processor-server.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BlockBinding,\n ContractConfig,\n LogBinding,\n ProcessBlocksRequest,\n ProcessBlocksResponse,\n ProcessConfigRequest,\n ProcessConfigResponse,\n ProcessInstructionsRequest,\n ProcessInstructionsResponse,\n ProcessLogsRequest,\n ProcessLogsResponse,\n ProcessorServiceImpl,\n ProcessorServiceImplementation,\n ProcessorState,\n ProcessTransactionsRequest,\n ProcessTransactionsResponse,\n setProvider,\n StartRequest,\n} from '@sentio/sdk'\nimport { CallContext } from 'nice-grpc-common'\nimport { Empty } from '../gen/google/protobuf/empty'\nimport { ChainConfig } from '../chain-config'\nimport { CHAIN_MAP } from '../utils/chainmap'\nimport { Block, Log } from '@ethersproject/abstract-provider'\nimport Long from 'long'\nimport { getNetwork, Networkish } from '@ethersproject/providers'\n\nconst TEST_CONTEXT: CallContext = <CallContext>{}\n\nfunction cleanTest() {\n global.PROCESSOR_STATE = new ProcessorState()\n}\n\nexport class TestProcessorServer implements ProcessorServiceImplementation {\n service: ProcessorServiceImpl\n contractConfig: ContractConfig[]\n\n constructor(loader: () => void, httpEndpoints: Record<string, string> = {}) {\n cleanTest()\n\n this.service = new ProcessorServiceImpl(loader)\n const dummyConfig: Record<string, ChainConfig> = {}\n\n for (const k in CHAIN_MAP) {\n const http = httpEndpoints[k] || ''\n dummyConfig[k] = {\n ChainID: k,\n Https: [http],\n }\n }\n\n setProvider(dummyConfig)\n }\n\n async start(request: StartRequest = { templateInstances: [] }, context = TEST_CONTEXT): Promise<Empty> {\n const res = await this.service.start(request, context)\n this.contractConfig = (await this.getConfig({})).contractConfigs\n return res\n }\n\n stop(request: Empty, context = TEST_CONTEXT): Promise<Empty> {\n return this.service.stop(request, context)\n }\n\n getConfig(request: ProcessConfigRequest, context = TEST_CONTEXT): Promise<ProcessConfigResponse> {\n return this.service.getConfig(request, context)\n }\n\n processBlocks(request: ProcessBlocksRequest, context = TEST_CONTEXT): Promise<ProcessBlocksResponse> {\n return this.service.processBlocks(request, context)\n }\n\n processInstructions(\n request: ProcessInstructionsRequest,\n context = TEST_CONTEXT\n ): Promise<ProcessInstructionsResponse> {\n return this.service.processInstructions(request, context)\n }\n\n processLogs(request: ProcessLogsRequest, context = TEST_CONTEXT): Promise<ProcessLogsResponse> {\n return this.service.processLogs(request, context)\n }\n\n processTransactions(\n request: ProcessTransactionsRequest,\n context = TEST_CONTEXT\n ): Promise<ProcessTransactionsResponse> {\n return this.service.processTransactions(request, context)\n }\n\n testLog(log: Log, network: Networkish = 1): Promise<ProcessLogsResponse> {\n return this.testLogs([log], network)\n }\n\n testLogs(logs: Log[], network: Networkish = 1): Promise<ProcessLogsResponse> {\n const bindings = []\n for (const log of logs) {\n const binding = this.buildLogBinding(log, network)\n if (!binding) {\n throw Error('Invalid test log: ' + JSON.stringify(log))\n }\n bindings.push(binding)\n }\n return this.processLogs({\n logBindings: bindings,\n })\n }\n\n buildLogBinding(log: Log, network: Networkish = 1): LogBinding | undefined {\n for (const contract of this.contractConfig) {\n if (contract.contract?.chainId !== getNetwork(network).chainId.toString()) {\n continue\n }\n if (log.address.toLowerCase() !== contract.contract?.address.toLowerCase()) {\n continue\n }\n for (const config of contract.logConfigs) {\n for (const filter of config.filters) {\n // if (filter.topics.length != log.topics.length) {\n // continue\n // }\n\n let match = true\n for (const topicIdx in filter.topics) {\n const logTopic = log.topics[topicIdx]\n const possibleTopic = filter.topics[topicIdx].hashes\n if (possibleTopic.length === 0) {\n // match all\n continue\n }\n if (possibleTopic.find((e) => e.toLowerCase() === logTopic.toLowerCase())) {\n // find one\n continue\n }\n match = false\n break\n }\n if (match) {\n return {\n log: {\n raw: toBytes(log),\n },\n handlerId: config.handlerId,\n }\n }\n }\n }\n }\n return undefined\n }\n\n testBlock(block: Partial<Block> & { number: number }, network: Networkish = 1): Promise<ProcessBlocksResponse> {\n return this.testBlocks([block], network)\n }\n\n testBlocks(blocks: Partial<Block> & { number: number }[], network: Networkish = 1) {\n const bindings = []\n for (const block of blocks) {\n const binding = this.buildBlockBinding(block, network)\n if (!binding) {\n throw Error('Invalid test block: ' + JSON.stringify(block))\n }\n bindings.push(binding)\n }\n return this.processBlocks({\n blockBindings: bindings,\n })\n }\n\n buildBlockBinding(block: Partial<Block> & { number: number }, network: Networkish = 1): BlockBinding {\n const binding: BlockBinding = {\n block: {\n raw: toBytes(block),\n },\n handlerIds: [],\n }\n for (const contract of this.contractConfig) {\n if (contract.contract?.chainId !== getNetwork(network).chainId.toString()) {\n continue\n }\n const longBlockNumber = Long.fromNumber(block.number)\n if (longBlockNumber < contract.startBlock) {\n continue\n }\n if (contract.endBlock !== Long.ZERO && longBlockNumber >= contract.endBlock) {\n continue\n }\n\n for (const config of contract.blockConfigs) {\n binding.handlerIds.push(config.handlerId)\n }\n }\n return binding\n }\n}\n\nfunction toBytes(obj: any): Uint8Array {\n const logJsonStr = JSON.stringify(obj)\n const raw = new Uint8Array(logJsonStr.length)\n for (let i = 0; i < logJsonStr.length; i++) {\n raw[i] = logJsonStr.charCodeAt(i)\n }\n return raw\n}\n"]}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game_wallet.js","sourceRoot":"","sources":["../../../src/test/types/game_wallet.ts"],"names":[],"mappings":"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","sourcesContent":["export const game_wallet_idl = {\n \"version\": \"0.1.0\",\n \"name\": \"game_wallet\",\n \"instructions\": [\n {\n \"name\": \"initializeTokenConfig\",\n \"accounts\": [\n {\n \"name\": \"payer\",\n \"isMut\": true,\n \"isSigner\": true\n },\n {\n \"name\": \"signingAuthority\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"tokenMintAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPool\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPoolTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"distributionPool\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"distributionPoolTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"associatedTokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"systemProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"rent\",\n \"isMut\": false,\n \"isSigner\": false\n }\n ],\n \"args\": [\n {\n \"name\": \"tokenDecimal\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"isPaused\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canDeposit\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canWithdraw\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canSpend\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canDistribute\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"isWithdrawServiceFeeEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"withdrawServiceFeePercentage\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"isSpendServiceFeeEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"spendServiceFeePercentage\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"isDistributionServiceFeeEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"distributionServiceFeePercentage\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"isMinWithdrawEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"isMaxWithdrawEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"minWithdraw\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"maxWithdraw\",\n \"type\": \"u64\"\n }\n ]\n },\n {\n \"name\": \"deposit\",\n \"accounts\": [\n {\n \"name\": \"payer\",\n \"isMut\": true,\n \"isSigner\": true\n },\n {\n \"name\": \"signingAuthority\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"user\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"depositFor\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenMintAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositForTokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"userTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPool\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPoolTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"associatedTokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"systemProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"rent\",\n \"isMut\": false,\n \"isSigner\": false\n }\n ],\n \"args\": [\n {\n \"name\": \"tokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolTokenAccountBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n }\n ]\n },\n {\n \"name\": \"withdraw\",\n \"accounts\": [\n {\n \"name\": \"payer\",\n \"isMut\": true,\n \"isSigner\": true\n },\n {\n \"name\": \"signingAuthority\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"user\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"tokenMintAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"userTokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"userTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPool\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPoolTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"receiver\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"receiverTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"associatedTokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"systemProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"rent\",\n \"isMut\": false,\n \"isSigner\": false\n }\n ],\n \"args\": [\n {\n \"name\": \"tokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolTokenAccountBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"userTokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"nonce\",\n \"type\": \"i64\"\n }\n ]\n },\n {\n \"name\": \"spend\",\n \"accounts\": [\n {\n \"name\": \"payer\",\n \"isMut\": true,\n \"isSigner\": true\n },\n {\n \"name\": \"signingAuthority\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"user\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"tokenMintAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"userTokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPool\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPoolTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"associatedTokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"systemProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"rent\",\n \"isMut\": false,\n \"isSigner\": false\n }\n ],\n \"args\": [\n {\n \"name\": \"tokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolTokenAccountBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"userTokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"nonce\",\n \"type\": \"i64\"\n }\n ]\n },\n {\n \"name\": \"spendWithoutUser\",\n \"accounts\": [\n {\n \"name\": \"payer\",\n \"isMut\": true,\n \"isSigner\": true\n },\n {\n \"name\": \"signingAuthority\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"user\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenMintAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"userTokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPool\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPoolTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"associatedTokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"systemProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"rent\",\n \"isMut\": false,\n \"isSigner\": false\n }\n ],\n \"args\": [\n {\n \"name\": \"tokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolTokenAccountBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"userTokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"nonce\",\n \"type\": \"i64\"\n }\n ]\n },\n {\n \"name\": \"addDistributeSupply\",\n \"accounts\": [\n {\n \"name\": \"payer\",\n \"isMut\": true,\n \"isSigner\": true\n },\n {\n \"name\": \"signingAuthority\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"user\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"tokenMintAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"userTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"distributionPool\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"distributionPoolTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"associatedTokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"systemProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"rent\",\n \"isMut\": false,\n \"isSigner\": false\n }\n ],\n \"args\": [\n {\n \"name\": \"tokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"distributionPoolBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"distributionPoolTokenAccountBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n }\n ]\n },\n {\n \"name\": \"distribute\",\n \"accounts\": [\n {\n \"name\": \"payer\",\n \"isMut\": true,\n \"isSigner\": true\n },\n {\n \"name\": \"signingAuthority\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"user\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"tokenMintAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"userTokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPool\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPoolTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"distributionPool\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"distributionPoolTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"associatedTokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"systemProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"rent\",\n \"isMut\": false,\n \"isSigner\": false\n }\n ],\n \"args\": [\n {\n \"name\": \"tokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolTokenAccountBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"distributionPoolBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"distributionPoolTokenAccountBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"nonce\",\n \"type\": \"i64\"\n }\n ]\n },\n {\n \"name\": \"distributeWithoutUser\",\n \"accounts\": [\n {\n \"name\": \"payer\",\n \"isMut\": true,\n \"isSigner\": true\n },\n {\n \"name\": \"signingAuthority\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"user\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenMintAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"userTokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPool\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"depositPoolTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"distributionPool\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"distributionPoolTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"associatedTokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"systemProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"rent\",\n \"isMut\": false,\n \"isSigner\": false\n }\n ],\n \"args\": [\n {\n \"name\": \"tokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"depositPoolTokenAccountBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"distributionPoolBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"distributionPoolTokenAccountBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"nonce\",\n \"type\": \"i64\"\n }\n ]\n },\n {\n \"name\": \"updateTokenConfig\",\n \"accounts\": [\n {\n \"name\": \"payer\",\n \"isMut\": true,\n \"isSigner\": true\n },\n {\n \"name\": \"signingAuthority\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"tokenMintAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"incomeTokenAccount\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"associatedTokenProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"systemProgram\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"rent\",\n \"isMut\": false,\n \"isSigner\": false\n }\n ],\n \"args\": [\n {\n \"name\": \"tokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"tokenDecimal\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"isPaused\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canDeposit\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canWithdraw\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canSpend\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canDistribute\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"isWithdrawServiceFeeEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"withdrawServiceFeePercentage\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"isSpendServiceFeeEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"spendServiceFeePercentage\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"isDistributionServiceFeeEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"distributionServiceFeePercentage\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"isMinWithdrawEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"isMaxWithdrawEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"minWithdraw\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"maxWithdraw\",\n \"type\": \"u64\"\n }\n ]\n },\n {\n \"name\": \"updateUserTokenConfig\",\n \"accounts\": [\n {\n \"name\": \"payer\",\n \"isMut\": true,\n \"isSigner\": true\n },\n {\n \"name\": \"signingAuthority\",\n \"isMut\": false,\n \"isSigner\": true\n },\n {\n \"name\": \"user\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenMintAccount\",\n \"isMut\": false,\n \"isSigner\": false\n },\n {\n \"name\": \"tokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n },\n {\n \"name\": \"userTokenConfig\",\n \"isMut\": true,\n \"isSigner\": false\n }\n ],\n \"args\": [\n {\n \"name\": \"tokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"userTokenConfigBump\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"isActive\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canDeposit\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canWithdraw\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canSpend\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canDistribute\",\n \"type\": \"bool\"\n }\n ]\n }\n ],\n \"accounts\": [\n {\n \"name\": \"DepositPoolAccount\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"tokenAccount\",\n \"type\": \"publicKey\"\n },\n {\n \"name\": \"currentValue\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"totalValue\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"DistributionPoolAccount\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"tokenAccount\",\n \"type\": \"publicKey\"\n },\n {\n \"name\": \"currentValue\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"totalValue\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"TokenConfigAccount\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"signingAuthority\",\n \"type\": \"publicKey\"\n },\n {\n \"name\": \"tokenMintAccount\",\n \"type\": \"publicKey\"\n },\n {\n \"name\": \"tokenDecimal\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"isPaused\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canDeposit\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canWithdraw\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canSpend\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canDistribute\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"isWithdrawServiceFeeEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"withdrawServiceFeePercentage\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"isSpendServiceFeeEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"spendServiceFeePercentage\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"isDistributionServiceFeeEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"distributionServiceFeePercentage\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"isMinWithdrawEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"isMaxWithdrawEnable\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"minWithdraw\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"maxWithdraw\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"depositPool\",\n \"type\": \"publicKey\"\n },\n {\n \"name\": \"incomeAccount\",\n \"type\": \"publicKey\"\n },\n {\n \"name\": \"distributionPool\",\n \"type\": \"publicKey\"\n },\n {\n \"name\": \"lastUsedBlockTimestamp\",\n \"type\": \"i64\"\n }\n ]\n }\n },\n {\n \"name\": \"UserTokenConfigAccount\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"user\",\n \"type\": \"publicKey\"\n },\n {\n \"name\": \"currentValue\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"totalDepositValue\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"totalWithdrawValue\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"totalSpendValue\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"totalDistributeValue\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"totalServiceFeeValue\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"isActive\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canDeposit\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canWithdraw\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canSpend\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"canDistribute\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"lastUsedBlockTimestamp\",\n \"type\": \"i64\"\n },\n {\n \"name\": \"lastGameAction\",\n \"type\": {\n \"defined\": \"GameAction\"\n }\n }\n ]\n }\n }\n ],\n \"types\": [\n {\n \"name\": \"GameAction\",\n \"type\": {\n \"kind\": \"enum\",\n \"variants\": [\n {\n \"name\": \"None\"\n },\n {\n \"name\": \"Deposit\"\n },\n {\n \"name\": \"Withdraw\"\n },\n {\n \"name\": \"Spend\"\n },\n {\n \"name\": \"Distribute\"\n }\n ]\n }\n }\n ],\n \"errors\": [\n {\n \"code\": 6000,\n \"name\": \"InvalidSigningAuthority\",\n \"msg\": \"Invalid Signing Authority\"\n },\n {\n \"code\": 6001,\n \"name\": \"InvalidIncomeAccount\",\n \"msg\": \"Invalid Income Account\"\n },\n {\n \"code\": 6002,\n \"name\": \"Paused\",\n \"msg\": \"Paused\"\n },\n {\n \"code\": 6003,\n \"name\": \"InvalidWithdrawServiceFee\",\n \"msg\": \"Invalid Withdraw Service Fee\"\n },\n {\n \"code\": 6004,\n \"name\": \"InvalidSpendServiceFee\",\n \"msg\": \"Invalid Spend Service Fee\"\n },\n {\n \"code\": 6005,\n \"name\": \"InvalidDistributionServiceFee\",\n \"msg\": \"Invalid Distribution Service Fee\"\n },\n {\n \"code\": 6006,\n \"name\": \"InvalidMinWithdraw\",\n \"msg\": \"Invalid Min Withdraw\"\n },\n {\n \"code\": 6007,\n \"name\": \"InvalidMaxWithdraw\",\n \"msg\": \"Invalid Max Withdraw\"\n },\n {\n \"code\": 6008,\n \"name\": \"InvalidMinMaxWithdraw\",\n \"msg\": \"Invalid Min Max Withdraw\"\n },\n {\n \"code\": 6009,\n \"name\": \"DepositIsDisable\",\n \"msg\": \"Deposit Is Disable\"\n },\n {\n \"code\": 6010,\n \"name\": \"UserDepositIsDisable\",\n \"msg\": \"User Deposit Is Disable\"\n },\n {\n \"code\": 6011,\n \"name\": \"WithdrawIsDisable\",\n \"msg\": \"User Withdraw Is Disable\"\n },\n {\n \"code\": 6012,\n \"name\": \"UserWithdrawIsDisable\",\n \"msg\": \"User Withdraw Is Disable\"\n },\n {\n \"code\": 6013,\n \"name\": \"SpendIsDisable\",\n \"msg\": \"User Spend Is Disable\"\n },\n {\n \"code\": 6014,\n \"name\": \"UserSpendIsDisable\",\n \"msg\": \"User Spend Is Disable\"\n },\n {\n \"code\": 6015,\n \"name\": \"DistributeIsDisable\",\n \"msg\": \"User Distribute Is Disable\"\n },\n {\n \"code\": 6016,\n \"name\": \"UserDistributeIsDisable\",\n \"msg\": \"User Distribute Is Disable\"\n },\n {\n \"code\": 6017,\n \"name\": \"UserIsNotActive\",\n \"msg\": \"User Is Not Active\"\n },\n {\n \"code\": 6018,\n \"name\": \"InvalidTimestamp\",\n \"msg\": \"Invalid Timestamp\"\n },\n {\n \"code\": 6019,\n \"name\": \"InvalidAmount\",\n \"msg\": \"Invalid Amount\"\n }\n ]\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game_wallet_processor.js","sourceRoot":"","sources":["../../../src/test/types/game_wallet_processor.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAmF;AACnF,qCAAmF;AACnF,+CAA+C;AAC/C,gDAAuB;AAGvB,MAAa,mBAAoB,SAAQ,yBAAmB;IAC1D,MAAM,CAAC,IAAI,CAAC,OAA0B;QACpC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAC5B,OAAO,CAAC,IAAI,GAAG,YAAY,CAAA;SAC5B;QACD,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,iBAAiB,GAAmD,CAAC,cAAc,EAAE,EAAE;QACrF,MAAM,gBAAgB,GAAG,IAAI,8BAAqB,CAAC,6BAAsB,CAAC,CAAA;QAC1E,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;QACpF,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;IAGD,uBAAuB,CAAC,OAAme;QACzf,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC,GAAgB,EAAE,GAAG,EAAE,EAAE;YACpE,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,IAA8b,EAAE,GAAG,CAAC,CAAA;aACjd;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,CAAC,OAAkJ;QAC1J,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAgB,EAAE,GAAG,EAAE,EAAE;YACtD,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,IAA6G,EAAE,GAAG,CAAC,CAAA;aAChI;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,OAA0L;QACnM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,GAAgB,EAAE,GAAG,EAAE,EAAE;YACvD,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,IAAqJ,EAAE,GAAG,CAAC,CAAA;aACxK;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,OAA0L;QAChM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAgB,EAAE,GAAG,EAAE,EAAE;YACpD,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,IAAqJ,EAAE,GAAG,CAAC,CAAA;aACxK;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kBAAkB,CAAC,OAA0L;QAC3M,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,GAAgB,EAAE,GAAG,EAAE,EAAE;YAC/D,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,IAAqJ,EAAE,GAAG,CAAC,CAAA;aACxK;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qBAAqB,CAAC,OAA4J;QAChL,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAgB,EAAE,GAAG,EAAE,EAAE;YAClE,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,IAAuH,EAAE,GAAG,CAAC,CAAA;aAC1I;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,OAAqO;QAChP,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,GAAgB,EAAE,GAAG,EAAE,EAAE;YACzD,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,IAAgM,EAAE,GAAG,CAAC,CAAA;aACnN;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,uBAAuB,CAAC,OAAqO;QAC3P,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC,GAAgB,EAAE,GAAG,EAAE,EAAE;YACpE,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,IAAgM,EAAE,GAAG,CAAC,CAAA;aACnN;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mBAAmB,CAAC,OAA4f;QAC9gB,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,GAAgB,EAAE,GAAG,EAAE,EAAE;YAChE,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,IAAud,EAAE,GAAG,CAAC,CAAA;aAC1e;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,uBAAuB,CAAC,OAA8M;QACpO,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC,GAAgB,EAAE,GAAG,EAAE,EAAE;YACpE,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,IAAyK,EAAE,GAAG,CAAC,CAAA;aAC5L;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CAEF;AAzGD,kDAyGC","sourcesContent":["import { BorshInstructionCoder, Instruction, Idl, BN } from '@project-serum/anchor'\nimport { SolanaBaseProcessor, SolanaContext, SolanaBindOptions } from \"@sentio/sdk\"\nimport { game_wallet_idl } from \"./game_wallet\"\nimport bs58 from 'bs58'\nimport { PublicKey } from '@solana/web3.js'\n\nexport class GameWalletProcessor extends SolanaBaseProcessor {\n static bind(options: SolanaBindOptions): GameWalletProcessor {\n if (options && !options.name) {\n options.name = 'GameWallet'\n }\n return new GameWalletProcessor(options)\n }\n\n decodeInstruction: (rawInstruction: string) => Instruction | null = (rawInstruction) => {\n const instructionCoder = new BorshInstructionCoder(game_wallet_idl as Idl)\n const decodedIns = instructionCoder.decode(Buffer.from(bs58.decode(rawInstruction)))\n return decodedIns\n }\n\n \n onInitializeTokenConfig(handler: (args: { tokenDecimal: number, isPaused: boolean, canDeposit: boolean, canWithdraw: boolean, canSpend: boolean, canDistribute: boolean, isWithdrawServiceFeeEnable: boolean, withdrawServiceFeePercentage: BN, isSpendServiceFeeEnable: boolean, spendServiceFeePercentage: BN, isDistributionServiceFeeEnable: boolean, distributionServiceFeePercentage: BN, isMinWithdrawEnable: boolean, isMaxWithdrawEnable: boolean, minWithdraw: BN, maxWithdraw: BN }, ctx: SolanaContext) => void): GameWalletProcessor {\n this.onInstruction('initializeTokenConfig', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as { tokenDecimal: number, isPaused: boolean, canDeposit: boolean, canWithdraw: boolean, canSpend: boolean, canDistribute: boolean, isWithdrawServiceFeeEnable: boolean, withdrawServiceFeePercentage: BN, isSpendServiceFeeEnable: boolean, spendServiceFeePercentage: BN, isDistributionServiceFeeEnable: boolean, distributionServiceFeePercentage: BN, isMinWithdrawEnable: boolean, isMaxWithdrawEnable: boolean, minWithdraw: BN, maxWithdraw: BN }, ctx)\n }\n })\n return this\n }\n \n onDeposit(handler: (args: { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, amount: BN }, ctx: SolanaContext) => void): GameWalletProcessor {\n this.onInstruction('deposit', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, amount: BN }, ctx)\n }\n })\n return this\n }\n \n onWithdraw(handler: (args: { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, userTokenConfigBump: number, amount: BN, nonce: BN }, ctx: SolanaContext) => void): GameWalletProcessor {\n this.onInstruction('withdraw', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, userTokenConfigBump: number, amount: BN, nonce: BN }, ctx)\n }\n })\n return this\n }\n \n onSpend(handler: (args: { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, userTokenConfigBump: number, amount: BN, nonce: BN }, ctx: SolanaContext) => void): GameWalletProcessor {\n this.onInstruction('spend', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, userTokenConfigBump: number, amount: BN, nonce: BN }, ctx)\n }\n })\n return this\n }\n \n onSpendWithoutUser(handler: (args: { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, userTokenConfigBump: number, amount: BN, nonce: BN }, ctx: SolanaContext) => void): GameWalletProcessor {\n this.onInstruction('spendWithoutUser', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, userTokenConfigBump: number, amount: BN, nonce: BN }, ctx)\n }\n })\n return this\n }\n \n onAddDistributeSupply(handler: (args: { tokenConfigBump: number, distributionPoolBump: number, distributionPoolTokenAccountBump: number, amount: BN }, ctx: SolanaContext) => void): GameWalletProcessor {\n this.onInstruction('addDistributeSupply', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as { tokenConfigBump: number, distributionPoolBump: number, distributionPoolTokenAccountBump: number, amount: BN }, ctx)\n }\n })\n return this\n }\n \n onDistribute(handler: (args: { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, distributionPoolBump: number, distributionPoolTokenAccountBump: number, amount: BN, nonce: BN }, ctx: SolanaContext) => void): GameWalletProcessor {\n this.onInstruction('distribute', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, distributionPoolBump: number, distributionPoolTokenAccountBump: number, amount: BN, nonce: BN }, ctx)\n }\n })\n return this\n }\n \n onDistributeWithoutUser(handler: (args: { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, distributionPoolBump: number, distributionPoolTokenAccountBump: number, amount: BN, nonce: BN }, ctx: SolanaContext) => void): GameWalletProcessor {\n this.onInstruction('distributeWithoutUser', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as { tokenConfigBump: number, depositPoolBump: number, depositPoolTokenAccountBump: number, distributionPoolBump: number, distributionPoolTokenAccountBump: number, amount: BN, nonce: BN }, ctx)\n }\n })\n return this\n }\n \n onUpdateTokenConfig(handler: (args: { tokenConfigBump: number, tokenDecimal: number, isPaused: boolean, canDeposit: boolean, canWithdraw: boolean, canSpend: boolean, canDistribute: boolean, isWithdrawServiceFeeEnable: boolean, withdrawServiceFeePercentage: BN, isSpendServiceFeeEnable: boolean, spendServiceFeePercentage: BN, isDistributionServiceFeeEnable: boolean, distributionServiceFeePercentage: BN, isMinWithdrawEnable: boolean, isMaxWithdrawEnable: boolean, minWithdraw: BN, maxWithdraw: BN }, ctx: SolanaContext) => void): GameWalletProcessor {\n this.onInstruction('updateTokenConfig', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as { tokenConfigBump: number, tokenDecimal: number, isPaused: boolean, canDeposit: boolean, canWithdraw: boolean, canSpend: boolean, canDistribute: boolean, isWithdrawServiceFeeEnable: boolean, withdrawServiceFeePercentage: BN, isSpendServiceFeeEnable: boolean, spendServiceFeePercentage: BN, isDistributionServiceFeeEnable: boolean, distributionServiceFeePercentage: BN, isMinWithdrawEnable: boolean, isMaxWithdrawEnable: boolean, minWithdraw: BN, maxWithdraw: BN }, ctx)\n }\n })\n return this\n }\n \n onUpdateUserTokenConfig(handler: (args: { tokenConfigBump: number, userTokenConfigBump: number, isActive: boolean, canDeposit: boolean, canWithdraw: boolean, canSpend: boolean, canDistribute: boolean }, ctx: SolanaContext) => void): GameWalletProcessor {\n this.onInstruction('updateUserTokenConfig', (ins: Instruction, ctx) => {\n if (ins) {\n handler(ins.data as { tokenConfigBump: number, userTokenConfigBump: number, isActive: boolean, canDeposit: boolean, canWithdraw: boolean, canSpend: boolean, canDistribute: boolean }, ctx)\n }\n })\n return this\n }\n \n}\n "]}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wormhole-token-bridge.js","sourceRoot":"","sources":["../../src/test/wormhole-token-bridge.ts"],"names":[],"mappings":";;AAAA,6EAA2E;AAC3E,+CAAqD;AAErD,yCAAoB,CAAC,IAAI,CAAC;IACxB,OAAO,EAAE,6CAA6C;CACvD,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAChC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC7D,CAAC,CAAC,CAAA;AAEF,2BAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;KAC/E,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACtB,IAAI,IAAI,CAAC,IAAI,KAAK,8CAA8C,EAAE;QAChE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAA;KACjE;AACH,CAAC,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACpB,IAAI,IAAI,CAAC,IAAI,KAAK,8CAA8C,EAAE;QAChE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAA;KACjE;AACH,CAAC,CAAC;KACD,gBAAgB,CAAC,IAAI,CAAC,CAAA","sourcesContent":["import { TokenBridgeProcessor } from '../solana/builtin/wormhole-processor'\nimport { SPLTokenProcessor } from '../solana/builtin'\n\nTokenBridgeProcessor.bind({\n address: 'wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb',\n}).onTransferNative((args, ctx) => {\n ctx.meter.Counter('total_transfer_amount').add(args.amount)\n})\n\nSPLTokenProcessor.bind({ address: 'wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb' })\n .onMintTo((data, ctx) => {\n if (data.mint === '7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs') {\n ctx.meter.Counter('totalWeth_supply').add(data.amount as number)\n }\n })\n .onBurn((data, ctx) => {\n if (data.mint === '7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs') {\n ctx.meter.Counter('totalWeth_supply').sub(data.amount as number)\n }\n })\n .innerInstruction(true)\n"]}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chainmap.js","sourceRoot":"","sources":["../../src/utils/chainmap.ts"],"names":[],"mappings":";AAAA,mFAAmF;AACnF,6EAA6E;;;AAEhE,QAAA,SAAS,GAA2B;IAC/C,aAAa,EAAE,QAAQ;IACvB,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,aAAa;IAC5B,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,WAAW;IACf,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,OAAO;CACzB,CAAA;AAED,SAAgB,YAAY,CAAC,OAAwB;IACnD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;KAC7B;IACD,MAAM,IAAI,GAAG,iBAAS,CAAC,OAAO,CAAC,CAAA;IAC/B,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AATD,oCASC","sourcesContent":["// copy from https://github.com/DefiLlama/chainlist/blob/main/constants/chainIds.js\n// and https://besu.hyperledger.org/en/stable/Concepts/NetworkID-And-ChainID/\n\nexport const CHAIN_MAP: Record<string, string> = {\n 'SOL:mainnet': 'solana',\n 'SOL:devnet': 'solana-dev',\n 'SOL:testnet': 'solana-test',\n 0: 'kardia',\n 1: 'ethereum',\n 2: 'expanse',\n 3: 'ropsten',\n 4: 'rinkeby',\n 5: 'goerli',\n 6: 'kotti',\n 8: 'ubiq',\n 10: 'optimism',\n 19: 'songbird',\n 20: 'elastos',\n 25: 'cronos',\n 30: 'rsk',\n 40: 'telos',\n 50: 'xdc',\n 52: 'csc',\n 55: 'zyx',\n 56: 'binance',\n 57: 'syscoin',\n 60: 'gochain',\n 61: 'ethclassic',\n 63: 'mordor',\n 66: 'okexchain',\n 70: 'hoo',\n 82: 'meter',\n 88: 'tomochain',\n 100: 'xdai',\n 106: 'velas',\n 108: 'thundercore',\n 122: 'fuse',\n 128: 'heco',\n 137: 'polygon',\n 200: 'xdaiarb',\n 212: 'astor',\n 246: 'energyweb',\n 250: 'fantom',\n 269: 'hpb',\n 288: 'boba',\n 321: 'kucoin',\n 336: 'shiden',\n 361: 'theta',\n 416: 'sx',\n 534: 'candle',\n 592: 'astar',\n 820: 'callisto',\n 888: 'wanchain',\n 1088: 'metis',\n 1246: 'omchain',\n 1284: 'moonbeam',\n 1285: 'moonriver',\n 2018: 'dev',\n 2020: 'ronin',\n 2222: 'kava',\n 2612: 'ezchain',\n 4181: 'phi',\n 4689: 'iotex',\n 5050: 'xlc',\n 5551: 'nahmii',\n 7777: 'nmactest',\n 8217: 'klaytn',\n 9001: 'evmos',\n 10000: 'smartbch',\n 103090: 'crystaleum',\n 32659: 'fusion',\n 42161: 'arbitrum',\n 42220: 'celo',\n 42262: 'oasis',\n 43114: 'avalanche',\n 71402: 'godwoken',\n 200625: 'akroma',\n 333999: 'polis',\n 11155111: 'sepolia',\n 1313161554: 'aurora',\n 1666600000: 'harmony',\n 11297108109: 'palm',\n 836542336838601: 'curio',\n}\n\nexport function getChainName(chainId: string | number): string {\n if (typeof chainId === 'number') {\n chainId = chainId.toString()\n }\n const name = CHAIN_MAP[chainId]\n if (name) {\n return name\n }\n return chainId\n}\n"]}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/utils/convert.ts"],"names":[],"mappings":";;;AACA,qCAAwC;AAExC,SAAgB,YAAY,CAAC,CAAY;IACvC,OAAO,IAAI,gBAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AACrC,CAAC;AAFD,oCAEC","sourcesContent":["import { BigNumber } from 'ethers'\nimport { BigDecimal } from '@sentio/sdk'\n\nexport function toBigDecimal(n: BigNumber) {\n return new BigDecimal(n.toString())\n}\n"]}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AAAhC,wGAAA,YAAY,OAAA;AACrB,qCAAwC;AAA/B,uGAAA,YAAY,OAAA","sourcesContent":["export { getChainName } from './chainmap'\nexport { toBigDecimal } from './convert'\n"]}
package/package.json CHANGED
@@ -1,7 +1,24 @@
1
1
  {
2
2
  "name": "@sentio/sdk",
3
3
  "license": "Apache-2.0",
4
- "version": "1.7.13",
4
+ "version": "1.7.16",
5
+ "scripts": {
6
+ "compile_target": "yarn tsc -b src/target-ethers-sentio/tsconfig.json",
7
+ "compile": "tsc -p . && cp src/cli/webpack.config.js lib/cli",
8
+ "build": "yarn gen && yarn compile",
9
+ "start_ts": "ts-node --files src/processor-runner.ts ../examples/x2y2/src/processor.ts",
10
+ "start_ts_solana": "ts-node --files src/processor-runner.ts ../examples/mirrorworld/src/processor.ts",
11
+ "start": "ts-node --files src/processor-runner.ts ../examples/x2y2/dist/lib.js",
12
+ "start_js": "node lib/processor.js ../examples/x2y2/dist/lib.js",
13
+ "ts-start": "ts-node --files src/processor-runner.ts ./src/anyswap/src/processor.ts",
14
+ "cli": "yarn build && node lib/cli/cli.js",
15
+ "test": "jest",
16
+ "gen": "yarn compile_target && yarn gen_bultin_evm && yarn gen_test_abi",
17
+ "gen_test_abi": "yarn gen_solana_abi",
18
+ "gen_bultin_evm": "typechain --target lib/target-ethers-sentio --out-dir src/builtin/internal 'src/abis/*.json'",
19
+ "gen_solana_abi": "ts-node src/cli/solana-code-gen.ts src/test types",
20
+ "postbuild": "echo || clear-package-json package.json -o ./lib/package.json && cp release.config.js ./lib"
21
+ },
5
22
  "dependencies": {
6
23
  "@ethersproject/providers": "~5.7.0",
7
24
  "@project-serum/anchor": "^0.25.0",
@@ -27,11 +44,35 @@
27
44
  "webpack": "^5.72.1",
28
45
  "webpack-cli": "^4.9.2"
29
46
  },
47
+ "devDependencies": {
48
+ "@types/chai": "^4.3.1",
49
+ "@types/command-line-args": "^5.2.0",
50
+ "@types/command-line-usage": "^5.0.2",
51
+ "@types/expect": "^24.3.0",
52
+ "@types/fs-extra": "^9.0.13",
53
+ "@types/google-protobuf": "^3.15.6",
54
+ "@types/jest": "^29.0.0",
55
+ "@types/js-yaml": "^4.0.5",
56
+ "@types/mkdirp": "^1.0.2",
57
+ "@types/node": "^18.0.4",
58
+ "chai": "^4.3.6",
59
+ "clean-publish": "^4.0.1",
60
+ "jest": "^28.0.1",
61
+ "semantic-release": "^19.0.5",
62
+ "ts-jest": "^28.0.8",
63
+ "ts-node": "^10.8.0",
64
+ "tsconfig-paths": "^4.0.0",
65
+ "typescript": "^4.8.0"
66
+ },
30
67
  "bin": {
31
- "processor-runner": "./processor-runner.js",
32
- "sentio": "./cli/cli.js"
68
+ "processor-runner": "./lib/processor-runner.js",
69
+ "sentio": "./lib/cli/cli.js"
33
70
  },
34
- "main": "./index.js",
35
- "types": "./index.d.js",
36
- "module": "./index.js"
71
+ "main": "./lib/index.js",
72
+ "types": "./lib/index.d.ts",
73
+ "module": "./lib/index.js",
74
+ "files": [
75
+ "lib/**/*",
76
+ "src/**/*"
77
+ ]
37
78
  }
@@ -0,0 +1,198 @@
1
+ [
2
+ {
3
+ "anonymous": false,
4
+ "inputs": [
5
+ {
6
+ "indexed": true,
7
+ "internalType": "address",
8
+ "name": "owner",
9
+ "type": "address"
10
+ },
11
+ {
12
+ "indexed": true,
13
+ "internalType": "address",
14
+ "name": "spender",
15
+ "type": "address"
16
+ },
17
+ {
18
+ "indexed": false,
19
+ "internalType": "uint256",
20
+ "name": "value",
21
+ "type": "uint256"
22
+ }
23
+ ],
24
+ "name": "Approval",
25
+ "type": "event"
26
+ },
27
+ {
28
+ "anonymous": false,
29
+ "inputs": [
30
+ {
31
+ "indexed": true,
32
+ "internalType": "address",
33
+ "name": "from",
34
+ "type": "address"
35
+ },
36
+ {
37
+ "indexed": true,
38
+ "internalType": "address",
39
+ "name": "to",
40
+ "type": "address"
41
+ },
42
+ {
43
+ "indexed": false,
44
+ "internalType": "uint256",
45
+ "name": "value",
46
+ "type": "uint256"
47
+ }
48
+ ],
49
+ "name": "Transfer",
50
+ "type": "event"
51
+ },
52
+ {
53
+ "inputs": [
54
+ {
55
+ "internalType": "address",
56
+ "name": "owner",
57
+ "type": "address"
58
+ },
59
+ {
60
+ "internalType": "address",
61
+ "name": "spender",
62
+ "type": "address"
63
+ }
64
+ ],
65
+ "name": "allowance",
66
+ "outputs": [
67
+ {
68
+ "internalType": "uint256",
69
+ "name": "",
70
+ "type": "uint256"
71
+ }
72
+ ],
73
+ "stateMutability": "view",
74
+ "type": "function"
75
+ },
76
+ {
77
+ "inputs": [
78
+ {
79
+ "internalType": "address",
80
+ "name": "spender",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "internalType": "uint256",
85
+ "name": "amount",
86
+ "type": "uint256"
87
+ }
88
+ ],
89
+ "name": "approve",
90
+ "outputs": [
91
+ {
92
+ "internalType": "bool",
93
+ "name": "",
94
+ "type": "bool"
95
+ }
96
+ ],
97
+ "stateMutability": "nonpayable",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [
102
+ {
103
+ "internalType": "address",
104
+ "name": "account",
105
+ "type": "address"
106
+ }
107
+ ],
108
+ "name": "balanceOf",
109
+ "outputs": [
110
+ {
111
+ "internalType": "uint256",
112
+ "name": "",
113
+ "type": "uint256"
114
+ }
115
+ ],
116
+ "stateMutability": "view",
117
+ "type": "function"
118
+ },
119
+ {
120
+ "inputs": [],
121
+ "name": "decimals",
122
+ "outputs": [
123
+ {
124
+ "internalType": "uint8",
125
+ "name": "",
126
+ "type": "uint8"
127
+ }
128
+ ],
129
+ "stateMutability": "view",
130
+ "type": "function"
131
+ },
132
+ {
133
+ "inputs": [],
134
+ "name": "totalSupply",
135
+ "outputs": [
136
+ {
137
+ "internalType": "uint256",
138
+ "name": "",
139
+ "type": "uint256"
140
+ }
141
+ ],
142
+ "stateMutability": "view",
143
+ "type": "function"
144
+ },
145
+ {
146
+ "inputs": [
147
+ {
148
+ "internalType": "address",
149
+ "name": "to",
150
+ "type": "address"
151
+ },
152
+ {
153
+ "internalType": "uint256",
154
+ "name": "amount",
155
+ "type": "uint256"
156
+ }
157
+ ],
158
+ "name": "transfer",
159
+ "outputs": [
160
+ {
161
+ "internalType": "bool",
162
+ "name": "",
163
+ "type": "bool"
164
+ }
165
+ ],
166
+ "stateMutability": "nonpayable",
167
+ "type": "function"
168
+ },
169
+ {
170
+ "inputs": [
171
+ {
172
+ "internalType": "address",
173
+ "name": "from",
174
+ "type": "address"
175
+ },
176
+ {
177
+ "internalType": "address",
178
+ "name": "to",
179
+ "type": "address"
180
+ },
181
+ {
182
+ "internalType": "uint256",
183
+ "name": "amount",
184
+ "type": "uint256"
185
+ }
186
+ ],
187
+ "name": "transferFrom",
188
+ "outputs": [
189
+ {
190
+ "internalType": "bool",
191
+ "name": "",
192
+ "type": "bool"
193
+ }
194
+ ],
195
+ "stateMutability": "nonpayable",
196
+ "type": "function"
197
+ }
198
+ ]