@sentio/sdk 1.7.14 → 1.7.17

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 (283) 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/{base-processor-template.js.map → lib/base-processor-template.js.map} +0 -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/{base-processor.js.map → lib/base-processor.js.map} +0 -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/{bind-options.js.map → lib/bind-options.js.map} +0 -0
  10. package/{binds.d.ts → lib/binds.d.ts} +0 -0
  11. package/{binds.js → lib/binds.js} +0 -0
  12. package/{binds.js.map → lib/binds.js.map} +0 -0
  13. package/{builtin → lib/builtin}/erc20/index.d.ts +0 -0
  14. package/{builtin → lib/builtin}/erc20/index.js +0 -0
  15. package/{builtin → lib/builtin}/erc20/index.js.map +0 -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/{builtin → lib/builtin}/erc20/test-utils.js.map +0 -0
  19. package/{builtin → lib/builtin}/internal/Erc20.d.ts +0 -0
  20. package/{builtin → lib/builtin}/internal/Erc20.js +0 -0
  21. package/{builtin → lib/builtin}/internal/Erc20.js.map +0 -0
  22. package/lib/builtin/internal/Weth9.d.ts +221 -0
  23. package/lib/builtin/internal/Weth9.js +3 -0
  24. package/lib/builtin/internal/Weth9.js.map +1 -0
  25. package/{builtin → lib/builtin}/internal/common.d.ts +0 -0
  26. package/{builtin → lib/builtin}/internal/common.js +0 -0
  27. package/{builtin → lib/builtin}/internal/common.js.map +0 -0
  28. package/{builtin → lib/builtin}/internal/erc20_processor.d.ts +0 -0
  29. package/{builtin → lib/builtin}/internal/erc20_processor.js +0 -0
  30. package/{builtin → lib/builtin}/internal/erc20_processor.js.map +0 -0
  31. package/{builtin → lib/builtin}/internal/factories/Erc20__factory.d.ts +0 -0
  32. package/{builtin → lib/builtin}/internal/factories/Erc20__factory.js +0 -0
  33. package/{builtin → lib/builtin}/internal/factories/Erc20__factory.js.map +0 -0
  34. package/lib/builtin/internal/factories/Weth9__factory.d.ts +45 -0
  35. package/lib/builtin/internal/factories/Weth9__factory.js +297 -0
  36. package/lib/builtin/internal/factories/Weth9__factory.js.map +1 -0
  37. package/{builtin → lib/builtin}/internal/factories/index.d.ts +1 -0
  38. package/{builtin → lib/builtin}/internal/factories/index.js +3 -1
  39. package/lib/builtin/internal/factories/index.js.map +1 -0
  40. package/{builtin → lib/builtin}/internal/index.d.ts +2 -0
  41. package/{builtin → lib/builtin}/internal/index.js +3 -1
  42. package/lib/builtin/internal/index.js.map +1 -0
  43. package/lib/builtin/internal/weth9_processor.d.ts +50 -0
  44. package/lib/builtin/internal/weth9_processor.js +295 -0
  45. package/lib/builtin/internal/weth9_processor.js.map +1 -0
  46. package/lib/builtin/weth9/index.d.ts +2 -0
  47. package/lib/builtin/weth9/index.js +22 -0
  48. package/lib/builtin/weth9/index.js.map +1 -0
  49. package/lib/builtin/weth9/test-utils.d.ts +6 -0
  50. package/lib/builtin/weth9/test-utils.js +57 -0
  51. package/lib/builtin/weth9/test-utils.js.map +1 -0
  52. package/{chain-config.d.ts → lib/chain-config.d.ts} +0 -0
  53. package/{chain-config.js → lib/chain-config.js} +0 -0
  54. package/{chain-config.js.map → lib/chain-config.js.map} +0 -0
  55. package/{cli → lib/cli}/build.d.ts +0 -0
  56. package/{cli → lib/cli}/build.js +14 -0
  57. package/lib/cli/build.js.map +1 -0
  58. package/{cli → lib/cli}/cli.d.ts +0 -0
  59. package/{cli → lib/cli}/cli.js +0 -0
  60. package/{cli → lib/cli}/cli.js.map +0 -0
  61. package/{cli → lib/cli}/config.d.ts +0 -0
  62. package/{cli → lib/cli}/config.js +0 -0
  63. package/{cli → lib/cli}/config.js.map +0 -0
  64. package/{cli → lib/cli}/key.d.ts +0 -0
  65. package/{cli → lib/cli}/key.js +0 -0
  66. package/{cli → lib/cli}/key.js.map +0 -0
  67. package/{cli → lib/cli}/solana-code-gen.d.ts +0 -0
  68. package/{cli → lib/cli}/solana-code-gen.js +0 -0
  69. package/{cli → lib/cli}/solana-code-gen.js.map +0 -0
  70. package/{cli → lib/cli}/upload.d.ts +0 -0
  71. package/{cli → lib/cli}/upload.js +0 -0
  72. package/{cli → lib/cli}/upload.js.map +0 -0
  73. package/{cli → lib/cli}/webpack.config.js +0 -0
  74. package/{context.d.ts → lib/context.d.ts} +0 -0
  75. package/{context.js → lib/context.js} +0 -0
  76. package/{context.js.map → lib/context.js.map} +0 -0
  77. package/{contract-namer.d.ts → lib/contract-namer.d.ts} +0 -0
  78. package/{contract-namer.js → lib/contract-namer.js} +0 -0
  79. package/{contract-namer.js.map → lib/contract-namer.js.map} +0 -0
  80. package/{error.d.ts → lib/error.d.ts} +0 -0
  81. package/{error.js → lib/error.js} +0 -0
  82. package/{error.js.map → lib/error.js.map} +0 -0
  83. package/{gen → lib/gen}/builtin.d.ts +0 -0
  84. package/{gen → lib/gen}/builtin.js +0 -0
  85. package/{gen → lib/gen}/builtin.js.map +0 -0
  86. package/{gen → lib/gen}/google/protobuf/empty.d.ts +0 -0
  87. package/{gen → lib/gen}/google/protobuf/empty.js +0 -0
  88. package/{gen → lib/gen}/google/protobuf/empty.js.map +0 -0
  89. package/{gen → lib/gen}/processor/protos/processor.d.ts +0 -0
  90. package/{gen → lib/gen}/processor/protos/processor.js +0 -0
  91. package/{gen → lib/gen}/processor/protos/processor.js.map +0 -0
  92. package/{generic-processor.d.ts → lib/generic-processor.d.ts} +0 -0
  93. package/{generic-processor.js → lib/generic-processor.js} +0 -0
  94. package/{generic-processor.js.map → lib/generic-processor.js.map} +0 -0
  95. package/{index.d.ts → lib/index.d.ts} +0 -0
  96. package/{index.js → lib/index.js} +0 -0
  97. package/{index.js.map → lib/index.js.map} +0 -0
  98. package/lib/loader.d.ts +5 -0
  99. package/lib/loader.js +30 -0
  100. package/lib/loader.js.map +1 -0
  101. package/{meter.d.ts → lib/meter.d.ts} +0 -0
  102. package/{meter.js → lib/meter.js} +0 -0
  103. package/{meter.js.map → lib/meter.js.map} +0 -0
  104. package/{numberish.d.ts → lib/numberish.d.ts} +0 -0
  105. package/{numberish.js → lib/numberish.js} +0 -0
  106. package/{numberish.js.map → lib/numberish.js.map} +0 -0
  107. package/{numberish.test.d.ts → lib/numberish.test.d.ts} +0 -0
  108. package/{numberish.test.js → lib/numberish.test.js} +0 -0
  109. package/{numberish.test.js.map → lib/numberish.test.js.map} +0 -0
  110. package/{processor-runner.d.ts → lib/processor-runner.d.ts} +0 -0
  111. package/{processor-runner.js → lib/processor-runner.js} +2 -27
  112. package/lib/processor-runner.js.map +1 -0
  113. package/{processor-state.d.ts → lib/processor-state.d.ts} +0 -0
  114. package/{processor-state.js → lib/processor-state.js} +0 -0
  115. package/{processor-state.js.map → lib/processor-state.js.map} +0 -0
  116. package/{promise-or-void.d.ts → lib/promise-or-void.d.ts} +0 -0
  117. package/{promise-or-void.js → lib/promise-or-void.js} +0 -0
  118. package/{promise-or-void.js.map → lib/promise-or-void.js.map} +0 -0
  119. package/{provider.d.ts → lib/provider.d.ts} +0 -0
  120. package/{provider.js → lib/provider.js} +0 -0
  121. package/{provider.js.map → lib/provider.js.map} +0 -0
  122. package/{release.config.js → lib/release.config.js} +0 -0
  123. package/{service.d.ts → lib/service.d.ts} +2 -1
  124. package/{service.js → lib/service.js} +6 -3
  125. package/lib/service.js.map +1 -0
  126. package/{solana → lib/solana}/builtin/index.d.ts +0 -0
  127. package/{solana → lib/solana}/builtin/index.js +0 -0
  128. package/{solana → lib/solana}/builtin/index.js.map +0 -0
  129. package/{solana → lib/solana}/builtin/spl-token-processor.d.ts +0 -0
  130. package/{solana → lib/solana}/builtin/spl-token-processor.js +0 -0
  131. package/{solana → lib/solana}/builtin/spl-token-processor.js.map +0 -0
  132. package/{solana → lib/solana}/builtin/types.d.ts +0 -0
  133. package/{solana → lib/solana}/builtin/types.js +0 -0
  134. package/{solana → lib/solana}/builtin/types.js.map +0 -0
  135. package/{solana → lib/solana}/builtin/wormhole-processor.d.ts +0 -0
  136. package/{solana → lib/solana}/builtin/wormhole-processor.js +0 -0
  137. package/{solana → lib/solana}/builtin/wormhole-processor.js.map +0 -0
  138. package/{solana-processor.d.ts → lib/solana-processor.d.ts} +0 -0
  139. package/{solana-processor.js → lib/solana-processor.js} +0 -0
  140. package/{solana-processor.js.map → lib/solana-processor.js.map} +0 -0
  141. package/{target-ethers-sentio → lib/target-ethers-sentio}/codegen.d.ts +0 -0
  142. package/{target-ethers-sentio → lib/target-ethers-sentio}/codegen.js +0 -0
  143. package/lib/target-ethers-sentio/codegen.js.map +1 -0
  144. package/{target-ethers-sentio → lib/target-ethers-sentio}/index.d.ts +0 -0
  145. package/{target-ethers-sentio → lib/target-ethers-sentio}/index.js +0 -0
  146. package/lib/target-ethers-sentio/index.js.map +1 -0
  147. package/{test → lib/test}/codegen.test.d.ts +0 -0
  148. package/{test → lib/test}/codegen.test.js +1 -1
  149. package/{test → lib/test}/codegen.test.js.map +1 -1
  150. package/{test → lib/test}/erc20-template.d.ts +0 -0
  151. package/{test → lib/test}/erc20-template.js +0 -0
  152. package/{test → lib/test}/erc20-template.js.map +0 -0
  153. package/{test → lib/test}/erc20-template.test.d.ts +0 -0
  154. package/{test → lib/test}/erc20-template.test.js +1 -3
  155. package/lib/test/erc20-template.test.js.map +1 -0
  156. package/{test → lib/test}/erc20.d.ts +0 -0
  157. package/{test → lib/test}/erc20.js +0 -0
  158. package/{test → lib/test}/erc20.js.map +0 -0
  159. package/{test → lib/test}/erc20.test.d.ts +0 -0
  160. package/{test → lib/test}/erc20.test.js +1 -3
  161. package/lib/test/erc20.test.js.map +1 -0
  162. package/{test → lib/test}/generic-processor.test.d.ts +0 -0
  163. package/{test → lib/test}/generic-processor.test.js +3 -3
  164. package/lib/test/generic-processor.test.js.map +1 -0
  165. package/{test → lib/test}/index.d.ts +0 -0
  166. package/{test → lib/test}/index.js +0 -0
  167. package/{test → lib/test}/index.js.map +0 -0
  168. package/{test → lib/test}/metric-utils.d.ts +0 -0
  169. package/{test → lib/test}/metric-utils.js +0 -0
  170. package/{test → lib/test}/metric-utils.js.map +0 -0
  171. package/{test → lib/test}/mirrorworld.d.ts +0 -0
  172. package/{test → lib/test}/mirrorworld.js +0 -0
  173. package/{test → lib/test}/mirrorworld.js.map +0 -0
  174. package/{test → lib/test}/solana.test.d.ts +0 -0
  175. package/{test → lib/test}/solana.test.js +3 -3
  176. package/lib/test/solana.test.js.map +1 -0
  177. package/{test → lib/test}/test-processor-server.d.ts +1 -1
  178. package/{test → lib/test}/test-processor-server.js +3 -8
  179. package/lib/test/test-processor-server.js.map +1 -0
  180. package/{test → lib/test}/types/game_wallet.d.ts +0 -0
  181. package/{test → lib/test}/types/game_wallet.js +0 -0
  182. package/{test → lib/test}/types/game_wallet.js.map +0 -0
  183. package/{test → lib/test}/types/game_wallet_processor.d.ts +0 -0
  184. package/{test → lib/test}/types/game_wallet_processor.js +0 -0
  185. package/{test → lib/test}/types/game_wallet_processor.js.map +0 -0
  186. package/{test → lib/test}/wormhole-token-bridge.d.ts +0 -0
  187. package/{test → lib/test}/wormhole-token-bridge.js +0 -0
  188. package/{test → lib/test}/wormhole-token-bridge.js.map +0 -0
  189. package/{utils → lib/utils}/chainmap.d.ts +0 -0
  190. package/{utils → lib/utils}/chainmap.js +0 -0
  191. package/{utils → lib/utils}/chainmap.js.map +0 -0
  192. package/{utils → lib/utils}/convert.d.ts +0 -0
  193. package/{utils → lib/utils}/convert.js +0 -0
  194. package/{utils → lib/utils}/convert.js.map +0 -0
  195. package/{utils → lib/utils}/index.d.ts +0 -0
  196. package/{utils → lib/utils}/index.js +0 -0
  197. package/{utils → lib/utils}/index.js.map +0 -0
  198. package/package.json +47 -6
  199. package/src/abis/erc20.json +198 -0
  200. package/src/abis/weth9.json +153 -0
  201. package/src/base-processor-template.ts +92 -0
  202. package/src/base-processor.ts +128 -0
  203. package/src/bind-options.ts +41 -0
  204. package/src/binds.ts +73 -0
  205. package/src/builtin/erc20/index.ts +6 -0
  206. package/src/builtin/erc20/test-utils.ts +49 -0
  207. package/src/builtin/internal/Erc20.ts +356 -0
  208. package/src/builtin/internal/Weth9.ts +480 -0
  209. package/src/builtin/internal/common.ts +46 -0
  210. package/src/builtin/internal/erc20_processor.ts +295 -0
  211. package/src/builtin/internal/factories/Erc20__factory.ts +216 -0
  212. package/src/builtin/internal/factories/Weth9__factory.ts +297 -0
  213. package/src/builtin/internal/factories/index.ts +5 -0
  214. package/src/builtin/internal/index.ts +8 -0
  215. package/src/builtin/internal/weth9_processor.ts +403 -0
  216. package/src/builtin/weth9/index.ts +6 -0
  217. package/src/builtin/weth9/test-utils.ts +89 -0
  218. package/src/chain-config.ts +6 -0
  219. package/src/cli/build.ts +196 -0
  220. package/src/cli/cli.ts +217 -0
  221. package/src/cli/config.ts +43 -0
  222. package/src/cli/key.ts +43 -0
  223. package/src/cli/solana-code-gen.ts +16 -0
  224. package/src/cli/upload.ts +86 -0
  225. package/src/cli/webpack.config.js +42 -0
  226. package/src/context.ts +93 -0
  227. package/src/contract-namer.ts +17 -0
  228. package/src/error.ts +43 -0
  229. package/src/gen/builtin.ts +22 -0
  230. package/src/gen/google/protobuf/empty.ts +70 -0
  231. package/src/gen/processor/protos/processor.ts +3071 -0
  232. package/src/generic-processor.ts +38 -0
  233. package/src/index.ts +19 -0
  234. package/src/loader.ts +24 -0
  235. package/src/meter.ts +122 -0
  236. package/src/numberish.test.ts +82 -0
  237. package/src/numberish.ts +99 -0
  238. package/src/processor-runner.ts +49 -0
  239. package/src/processor-state.ts +24 -0
  240. package/src/promise-or-void.ts +1 -0
  241. package/src/provider.ts +74 -0
  242. package/src/service.ts +439 -0
  243. package/src/solana/builtin/index.ts +2 -0
  244. package/src/solana/builtin/spl-token-processor.ts +164 -0
  245. package/src/solana/builtin/types.ts +268 -0
  246. package/src/solana/builtin/wormhole-processor.ts +178 -0
  247. package/src/solana-processor.ts +105 -0
  248. package/src/target-ethers-sentio/codegen.ts +289 -0
  249. package/src/target-ethers-sentio/index.ts +50 -0
  250. package/src/target-ethers-sentio/tsconfig.json +9 -0
  251. package/src/test/abis/evm/anyswapRouter.json +490 -0
  252. package/src/test/abis/solana/mirrorworld.json +1392 -0
  253. package/src/test/codegen.test.ts +26 -0
  254. package/src/test/erc20-template.test.ts +37 -0
  255. package/src/test/erc20-template.ts +25 -0
  256. package/src/test/erc20.test.ts +90 -0
  257. package/src/test/erc20.ts +48 -0
  258. package/src/test/generic-processor.test.ts +70 -0
  259. package/src/test/index.ts +1 -0
  260. package/src/test/metric-utils.ts +49 -0
  261. package/src/test/mirrorworld.ts +40 -0
  262. package/src/test/sentio.yaml +4 -0
  263. package/src/test/solana.test.ts +93 -0
  264. package/src/test/test-processor-server.ts +205 -0
  265. package/src/test/types/game_wallet.ts +1392 -0
  266. package/src/test/types/game_wallet_processor.ts +113 -0
  267. package/src/test/wormhole-token-bridge.ts +21 -0
  268. package/src/types/global.d.ts +17 -0
  269. package/src/utils/chainmap.ts +95 -0
  270. package/src/utils/convert.ts +6 -0
  271. package/src/utils/index.ts +2 -0
  272. package/builtin/internal/factories/index.js.map +0 -1
  273. package/builtin/internal/index.js.map +0 -1
  274. package/cli/build.js.map +0 -1
  275. package/processor-runner.js.map +0 -1
  276. package/service.js.map +0 -1
  277. package/target-ethers-sentio/codegen.js.map +0 -1
  278. package/target-ethers-sentio/index.js.map +0 -1
  279. package/test/erc20-template.test.js.map +0 -1
  280. package/test/erc20.test.js.map +0 -1
  281. package/test/generic-processor.test.js.map +0 -1
  282. package/test/solana.test.js.map +0 -1
  283. package/test/test-processor-server.js.map +0 -1
@@ -0,0 +1,42 @@
1
+ /* eslint-disable */
2
+ const path = require('path')
3
+
4
+ module.exports = {
5
+ entry: {
6
+ lib: './src/processor.ts',
7
+ },
8
+ devtool: 'inline-source-map',
9
+ module: {
10
+ rules: [
11
+ {
12
+ test: /\.tsx?$/,
13
+ use: 'ts-loader',
14
+ exclude: /node_modules/,
15
+ },
16
+ ],
17
+ },
18
+ resolve: {
19
+ extensions: ['.ts', '.js'],
20
+ },
21
+ output: {
22
+ filename: '[name].js',
23
+ path: path.resolve(process.cwd(), 'dist'),
24
+ },
25
+ target: 'node',
26
+ mode: 'production',
27
+ externals: [
28
+ {
29
+ ethers: 'commonjs2 ethers',
30
+ '@sentio/sdk': 'root sentio_sdk',
31
+ bs58: 'commonjs2 bs58',
32
+ "bignumber.js": 'commonjs2 bignumber.js',
33
+ 'bn.js': 'commonjs2 bn.js',
34
+ },
35
+ function ({ context, request }, callback) {
36
+ if (/^@(ethersproject|solana|project-serum).*$/.test(request)) {
37
+ return callback(null, 'commonjs ' + request)
38
+ }
39
+ callback()
40
+ },
41
+ ],
42
+ }
package/src/context.ts ADDED
@@ -0,0 +1,93 @@
1
+ import { CounterResult, GaugeResult } from './gen/processor/protos/processor'
2
+ import { BaseContract, EventFilter } from 'ethers'
3
+ import { Block, Log } from '@ethersproject/abstract-provider'
4
+ import { Meter } from './meter'
5
+ import Long from 'long'
6
+
7
+ export class EthContext {
8
+ chainId: number
9
+ log?: Log
10
+ block?: Block
11
+ blockNumber: Long
12
+ gauges: GaugeResult[] = []
13
+ counters: CounterResult[] = []
14
+ meter: Meter
15
+
16
+ constructor(chainId: number, block?: Block, log?: Log) {
17
+ this.chainId = chainId
18
+ this.log = log
19
+ this.block = block
20
+ if (log) {
21
+ this.blockNumber = Long.fromNumber(log.blockNumber)
22
+ } else if (block) {
23
+ this.blockNumber = Long.fromNumber(block.number)
24
+ }
25
+ this.meter = new Meter(this)
26
+ }
27
+ }
28
+
29
+ export class Context<
30
+ TContract extends BaseContract,
31
+ TContractBoundView extends BoundContractView<TContract, ContractView<TContract>>
32
+ > extends EthContext {
33
+ contract: TContractBoundView
34
+
35
+ constructor(view: TContractBoundView, chainId: number, block?: Block, log?: Log) {
36
+ super(chainId, block, log)
37
+ view.context = this
38
+ this.contract = view
39
+ }
40
+ }
41
+
42
+ export class ContractView<TContract extends BaseContract> {
43
+ filters: { [name: string]: (...args: Array<any>) => EventFilter }
44
+ protected contract: TContract
45
+
46
+ constructor(contract: TContract) {
47
+ this.contract = contract
48
+ this.filters = contract.filters
49
+ }
50
+
51
+ get rawContract() {
52
+ return this.contract
53
+ }
54
+
55
+ get provider() {
56
+ return this.contract.provider
57
+ }
58
+ }
59
+
60
+ export class BoundContractView<TContract extends BaseContract, TContractView extends ContractView<TContract>> {
61
+ protected view: TContractView
62
+ // context will be set right after context creation (in context's constructor)
63
+ context: Context<TContract, BoundContractView<TContract, TContractView>>
64
+
65
+ constructor(view: TContractView) {
66
+ this.view = view
67
+ }
68
+
69
+ get rawContract() {
70
+ return this.view.rawContract
71
+ }
72
+
73
+ get provider() {
74
+ return this.view.provider
75
+ }
76
+
77
+ get filters() {
78
+ return this.view.filters
79
+ }
80
+ }
81
+
82
+ export class SolanaContext {
83
+ gauges: GaugeResult[] = []
84
+ counters: CounterResult[] = []
85
+ meter: Meter
86
+
87
+ address: string
88
+
89
+ constructor(address: string) {
90
+ this.meter = new Meter(this)
91
+ this.address = address
92
+ }
93
+ }
@@ -0,0 +1,17 @@
1
+ export class ContractNamer {
2
+ defaultName: string
3
+ counter: number
4
+
5
+ constructor(defaultName: string) {
6
+ this.defaultName = defaultName
7
+ this.counter = 0
8
+ }
9
+
10
+ public nextName(): string {
11
+ const id = this.counter++
12
+ if (id > 0) {
13
+ return this.defaultName + '_' + id
14
+ }
15
+ return this.defaultName
16
+ }
17
+ }
package/src/error.ts ADDED
@@ -0,0 +1,43 @@
1
+ // Transform error in more readable format
2
+ import { Context } from './context'
3
+ import { errors } from 'ethers'
4
+
5
+ class EthersError extends Error {
6
+ constructor(message: string, stack?: string) {
7
+ super(message)
8
+ this.stack = stack
9
+ }
10
+
11
+ toString() {
12
+ return this.message + '\n' + this.stack?.toString()
13
+ }
14
+ }
15
+
16
+ export function transformEtherError(e: Error, ctx: Context<any, any> | undefined): Error {
17
+ let msg = ''
18
+ // @ts-ignore expected error fields
19
+ if (e.code === errors.CALL_EXCEPTION) {
20
+ // @ts-ignore expected error fields
21
+ if (e.data === '0x') {
22
+ if (ctx) {
23
+ msg =
24
+ "jsonrpc eth_call return '0x' (likely contract not existed) at chain " +
25
+ ctx.chainId +
26
+ ': ' +
27
+ JSON.stringify(e)
28
+ } else {
29
+ msg = "jsonrpc eth_call return '0x' (likely contract not existed): " + JSON.stringify(e)
30
+ }
31
+ }
32
+ return new EthersError(msg, e.stack)
33
+ }
34
+
35
+ if (e instanceof EthersError) {
36
+ return e
37
+ }
38
+
39
+ // TODO gracefully handle more errors
40
+
41
+ msg = 'ethers call error\n' + e.message + '\n' + e.stack?.toString()
42
+ return new Error(msg)
43
+ }
@@ -0,0 +1,22 @@
1
+ import Long from 'long'
2
+
3
+ type Builtin =
4
+ | Date
5
+ | Function
6
+ | Uint8Array
7
+ | string
8
+ | number
9
+ | boolean
10
+ | undefined;
11
+
12
+ export type DeepPartial<T> = T extends Builtin
13
+ ? T
14
+ : T extends Long
15
+ ? string | number | Long
16
+ : T extends Array<infer U>
17
+ ? Array<DeepPartial<U>>
18
+ : T extends ReadonlyArray<infer U>
19
+ ? ReadonlyArray<DeepPartial<U>>
20
+ : T extends {}
21
+ ? { [K in keyof T]?: DeepPartial<T[K]> }
22
+ : Partial<T>;
@@ -0,0 +1,70 @@
1
+ /* eslint-disable */
2
+ import Long from "long";
3
+ import _m0 from "protobufjs/minimal";
4
+
5
+ export interface Empty {}
6
+
7
+ function createBaseEmpty(): Empty {
8
+ return {};
9
+ }
10
+
11
+ export const Empty = {
12
+ encode(_: Empty, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
13
+ return writer;
14
+ },
15
+
16
+ decode(input: _m0.Reader | Uint8Array, length?: number): Empty {
17
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
18
+ let end = length === undefined ? reader.len : reader.pos + length;
19
+ const message = createBaseEmpty();
20
+ while (reader.pos < end) {
21
+ const tag = reader.uint32();
22
+ switch (tag >>> 3) {
23
+ default:
24
+ reader.skipType(tag & 7);
25
+ break;
26
+ }
27
+ }
28
+ return message;
29
+ },
30
+
31
+ fromJSON(_: any): Empty {
32
+ return {};
33
+ },
34
+
35
+ toJSON(_: Empty): unknown {
36
+ const obj: any = {};
37
+ return obj;
38
+ },
39
+
40
+ fromPartial(_: DeepPartial<Empty>): Empty {
41
+ const message = createBaseEmpty();
42
+ return message;
43
+ },
44
+ };
45
+
46
+ type Builtin =
47
+ | Date
48
+ | Function
49
+ | Uint8Array
50
+ | string
51
+ | number
52
+ | boolean
53
+ | undefined;
54
+
55
+ type DeepPartial<T> = T extends Builtin
56
+ ? T
57
+ : T extends Long
58
+ ? string | number | Long
59
+ : T extends Array<infer U>
60
+ ? Array<DeepPartial<U>>
61
+ : T extends ReadonlyArray<infer U>
62
+ ? ReadonlyArray<DeepPartial<U>>
63
+ : T extends {}
64
+ ? { [K in keyof T]?: DeepPartial<T[K]> }
65
+ : Partial<T>;
66
+
67
+ if (_m0.util.Long !== Long) {
68
+ _m0.util.Long = Long as any;
69
+ _m0.configure();
70
+ }