@graphprotocol/graph-cli 0.37.3 → 0.37.4-alpha-20230117095424-b5750b1

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 (352) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/bin.js +6 -0
  3. package/dist/cli.js +26 -0
  4. package/dist/codegen/schema.js +244 -0
  5. package/dist/codegen/schema.test.js +455 -0
  6. package/dist/codegen/template.js +66 -0
  7. package/dist/codegen/types/conversions.js +335 -0
  8. package/dist/codegen/types/index.js +71 -0
  9. package/dist/codegen/types/index.test.js +563 -0
  10. package/dist/codegen/typescript.js +200 -0
  11. package/dist/codegen/util.js +40 -0
  12. package/dist/codegen/util.test.js +93 -0
  13. package/dist/command-helpers/abi.js +76 -0
  14. package/dist/command-helpers/auth.js +76 -0
  15. package/dist/command-helpers/compiler.js +66 -0
  16. package/dist/command-helpers/data-sources.js +29 -0
  17. package/dist/command-helpers/fs.js +9 -0
  18. package/dist/command-helpers/gluegun.js +48 -0
  19. package/dist/command-helpers/ipfs.js +5 -0
  20. package/dist/command-helpers/jsonrpc.js +27 -0
  21. package/dist/command-helpers/network.js +90 -0
  22. package/dist/command-helpers/network.test.js +86 -0
  23. package/dist/command-helpers/node.js +40 -0
  24. package/dist/command-helpers/scaffold.js +110 -0
  25. package/dist/command-helpers/spinner.js +80 -0
  26. package/dist/command-helpers/studio.js +14 -0
  27. package/dist/command-helpers/studio.test.js +41 -0
  28. package/dist/command-helpers/subgraph.js +22 -0
  29. package/dist/command-helpers/version.js +66 -0
  30. package/dist/command-helpers/version.test.js +186 -0
  31. package/dist/commands/add.js +187 -0
  32. package/dist/commands/auth.js +122 -0
  33. package/dist/commands/build.js +136 -0
  34. package/dist/commands/codegen.js +128 -0
  35. package/dist/commands/create.js +94 -0
  36. package/dist/commands/deploy.js +335 -0
  37. package/dist/commands/init.js +800 -0
  38. package/dist/commands/local.js +380 -0
  39. package/dist/commands/remove.js +95 -0
  40. package/dist/commands/test.js +293 -0
  41. package/dist/compiler/asc.js +83 -0
  42. package/dist/compiler/index.js +466 -0
  43. package/dist/debug.js +16 -0
  44. package/dist/migrations/mapping_api_version_0_0_1.js +83 -0
  45. package/dist/migrations/mapping_api_version_0_0_2.js +83 -0
  46. package/dist/migrations/mapping_api_version_0_0_3.js +83 -0
  47. package/dist/migrations/mapping_api_version_0_0_4.js +85 -0
  48. package/dist/migrations/mapping_api_version_0_0_5.js +85 -0
  49. package/dist/migrations/spec_version_0_0_2.js +45 -0
  50. package/dist/migrations/spec_version_0_0_3.js +50 -0
  51. package/dist/migrations/util/load-manifest.js +16 -0
  52. package/dist/migrations/util/versions.js +28 -0
  53. package/dist/migrations.js +54 -0
  54. package/{src → dist}/protocols/arweave/manifest.graphql +0 -0
  55. package/{src/protocols/arweave/scaffold/manifest.ts → dist/protocols/arweave/scaffold/manifest.js} +7 -3
  56. package/{src/protocols/arweave/scaffold/mapping.ts → dist/protocols/arweave/scaffold/mapping.js} +5 -2
  57. package/dist/protocols/arweave/subgraph.js +23 -0
  58. package/dist/protocols/contract.js +2 -0
  59. package/{src → dist}/protocols/cosmos/manifest.graphql +0 -0
  60. package/dist/protocols/cosmos/scaffold/manifest.js +15 -0
  61. package/{src/protocols/cosmos/scaffold/mapping.ts → dist/protocols/cosmos/scaffold/mapping.js} +5 -2
  62. package/dist/protocols/cosmos/subgraph.js +28 -0
  63. package/dist/protocols/ethereum/abi.js +138 -0
  64. package/dist/protocols/ethereum/codegen/abi.js +474 -0
  65. package/dist/protocols/ethereum/codegen/abi.test.js +325 -0
  66. package/dist/protocols/ethereum/codegen/template.js +52 -0
  67. package/dist/protocols/ethereum/contract.js +22 -0
  68. package/{src → dist}/protocols/ethereum/manifest.graphql +0 -0
  69. package/dist/protocols/ethereum/scaffold/manifest.js +32 -0
  70. package/{src/protocols/ethereum/scaffold/mapping.ts → dist/protocols/ethereum/scaffold/mapping.js} +18 -29
  71. package/dist/protocols/ethereum/subgraph.js +172 -0
  72. package/dist/protocols/ethereum/type-generator.js +123 -0
  73. package/dist/protocols/index.js +266 -0
  74. package/dist/protocols/ipfs/codegen/file_template.js +53 -0
  75. package/dist/protocols/near/contract.js +41 -0
  76. package/{src → dist}/protocols/near/manifest.graphql +0 -0
  77. package/dist/protocols/near/scaffold/manifest.js +16 -0
  78. package/{src/protocols/near/scaffold/mapping.ts → dist/protocols/near/scaffold/mapping.js} +5 -2
  79. package/dist/protocols/near/subgraph.js +23 -0
  80. package/dist/protocols/subgraph.js +2 -0
  81. package/{src → dist}/protocols/substreams/manifest.graphql +0 -0
  82. package/dist/protocols/substreams/scaffold/manifest.js +12 -0
  83. package/dist/protocols/substreams/subgraph.js +23 -0
  84. package/{src/scaffold/cosmos.test.ts → dist/scaffold/cosmos.test.js} +21 -22
  85. package/{src/scaffold/ethereum.test.ts → dist/scaffold/ethereum.test.js} +85 -101
  86. package/dist/scaffold/index.js +133 -0
  87. package/dist/scaffold/mapping.js +57 -0
  88. package/{src/scaffold/near.test.ts → dist/scaffold/near.test.js} +22 -23
  89. package/dist/scaffold/schema.js +86 -0
  90. package/dist/scaffold/tests.js +179 -0
  91. package/dist/schema.js +54 -0
  92. package/dist/subgraph.js +243 -0
  93. package/dist/type-generator.js +225 -0
  94. package/dist/validation/contract.js +44 -0
  95. package/dist/validation/index.js +10 -0
  96. package/dist/validation/manifest.js +266 -0
  97. package/dist/validation/schema.js +768 -0
  98. package/dist/validation/schema.test.js +35 -0
  99. package/dist/watcher.js +79 -0
  100. package/package.json +5 -1
  101. package/babel.config.js +0 -3
  102. package/jest.config.js +0 -175
  103. package/src/bin.ts +0 -6
  104. package/src/cli.ts +0 -30
  105. package/src/codegen/schema.test.ts +0 -460
  106. package/src/codegen/schema.ts +0 -299
  107. package/src/codegen/template.ts +0 -45
  108. package/src/codegen/types/conversions.ts +0 -358
  109. package/src/codegen/types/index.test.ts +0 -715
  110. package/src/codegen/types/index.ts +0 -111
  111. package/src/codegen/typescript.ts +0 -224
  112. package/src/codegen/util.test.ts +0 -112
  113. package/src/codegen/util.ts +0 -54
  114. package/src/command-helpers/abi.ts +0 -99
  115. package/src/command-helpers/auth.ts +0 -46
  116. package/src/command-helpers/compiler.ts +0 -60
  117. package/src/command-helpers/data-sources.ts +0 -36
  118. package/src/command-helpers/fs.ts +0 -5
  119. package/src/command-helpers/gluegun.ts +0 -52
  120. package/src/command-helpers/ipfs-http-client.d.ts +0 -1
  121. package/src/command-helpers/ipfs.ts +0 -3
  122. package/src/command-helpers/jsonrpc.ts +0 -22
  123. package/src/command-helpers/network.test.ts +0 -85
  124. package/src/command-helpers/network.ts +0 -133
  125. package/src/command-helpers/node.ts +0 -46
  126. package/src/command-helpers/scaffold.ts +0 -174
  127. package/src/command-helpers/spinner.ts +0 -60
  128. package/src/command-helpers/studio.test.ts +0 -84
  129. package/src/command-helpers/studio.ts +0 -25
  130. package/src/command-helpers/subgraph.ts +0 -21
  131. package/src/command-helpers/version.test.ts +0 -241
  132. package/src/command-helpers/version.ts +0 -53
  133. package/src/commands/add.ts +0 -220
  134. package/src/commands/auth.ts +0 -138
  135. package/src/commands/binary-install-raw.d.ts +0 -1
  136. package/src/commands/build.ts +0 -147
  137. package/src/commands/codegen.ts +0 -123
  138. package/src/commands/create.ts +0 -109
  139. package/src/commands/deploy.ts +0 -388
  140. package/src/commands/init.ts +0 -1060
  141. package/src/commands/local.ts +0 -539
  142. package/src/commands/remove.ts +0 -110
  143. package/src/commands/test.ts +0 -369
  144. package/src/compiler/asc.ts +0 -77
  145. package/src/compiler/index.ts +0 -677
  146. package/src/debug.ts +0 -15
  147. package/src/migrations/mapping_api_version_0_0_1.ts +0 -75
  148. package/src/migrations/mapping_api_version_0_0_2.ts +0 -75
  149. package/src/migrations/mapping_api_version_0_0_3.ts +0 -75
  150. package/src/migrations/mapping_api_version_0_0_4.ts +0 -77
  151. package/src/migrations/mapping_api_version_0_0_5.ts +0 -77
  152. package/src/migrations/spec_version_0_0_2.ts +0 -24
  153. package/src/migrations/spec_version_0_0_3.ts +0 -29
  154. package/src/migrations/util/load-manifest.ts +0 -10
  155. package/src/migrations/util/versions.ts +0 -27
  156. package/src/migrations.ts +0 -33
  157. package/src/protocols/arweave/subgraph.ts +0 -22
  158. package/src/protocols/contract.ts +0 -9
  159. package/src/protocols/cosmos/scaffold/manifest.ts +0 -11
  160. package/src/protocols/cosmos/subgraph.ts +0 -27
  161. package/src/protocols/ethereum/abi.ts +0 -153
  162. package/src/protocols/ethereum/codegen/abi.test.ts +0 -330
  163. package/src/protocols/ethereum/codegen/abi.ts +0 -719
  164. package/src/protocols/ethereum/codegen/template.ts +0 -41
  165. package/src/protocols/ethereum/contract.ts +0 -24
  166. package/src/protocols/ethereum/scaffold/manifest.ts +0 -28
  167. package/src/protocols/ethereum/subgraph.ts +0 -189
  168. package/src/protocols/ethereum/type-generator.ts +0 -191
  169. package/src/protocols/index.ts +0 -287
  170. package/src/protocols/ipfs/codegen/file_template.ts +0 -43
  171. package/src/protocols/near/contract.ts +0 -47
  172. package/src/protocols/near/scaffold/manifest.ts +0 -13
  173. package/src/protocols/near/subgraph.ts +0 -22
  174. package/src/protocols/subgraph.ts +0 -12
  175. package/src/protocols/substreams/scaffold/manifest.ts +0 -8
  176. package/src/protocols/substreams/subgraph.ts +0 -22
  177. package/src/scaffold/index.ts +0 -172
  178. package/src/scaffold/mapping.ts +0 -44
  179. package/src/scaffold/schema.ts +0 -89
  180. package/src/scaffold/tests.ts +0 -217
  181. package/src/schema.ts +0 -26
  182. package/src/subgraph.ts +0 -302
  183. package/src/type-generator.ts +0 -266
  184. package/src/validation/contract.ts +0 -51
  185. package/src/validation/index.ts +0 -5
  186. package/src/validation/manifest.ts +0 -360
  187. package/src/validation/schema.test.ts +0 -38
  188. package/src/validation/schema.ts +0 -957
  189. package/src/watcher.ts +0 -96
  190. package/tests/cli/globalSetup.ts +0 -8
  191. package/tests/cli/globalTeardown.ts +0 -8
  192. package/tests/cli/init/ethereum/abis/Marketplace.json +0 -408
  193. package/tests/cli/init/ethereum/abis/OverloadedElements.json +0 -91
  194. package/tests/cli/init/ethereum/abis/SoloMargin.json +0 -2729
  195. package/tests/cli/init/ethereum/from-contract-with-abi-and-structs.stderr +0 -14
  196. package/tests/cli/init/ethereum/from-contract-with-abi-and-structs.stdout +0 -12
  197. package/tests/cli/init/ethereum/from-contract-with-abi.stderr +0 -14
  198. package/tests/cli/init/ethereum/from-contract-with-abi.stdout +0 -12
  199. package/tests/cli/init/ethereum/from-contract-with-overloaded-elements.stderr +0 -14
  200. package/tests/cli/init/ethereum/from-contract-with-overloaded-elements.stdout +0 -12
  201. package/tests/cli/init/ethereum/from-contract.stderr +0 -16
  202. package/tests/cli/init/ethereum/from-contract.stdout +0 -12
  203. package/tests/cli/init/ethereum/from-example.stderr +0 -12
  204. package/tests/cli/init/ethereum/from-example.stdout +0 -12
  205. package/tests/cli/init/near/from-contract.stderr +0 -14
  206. package/tests/cli/init/near/from-contract.stdout +0 -12
  207. package/tests/cli/init.test.ts +0 -157
  208. package/tests/cli/spawn-command.d.ts +0 -7
  209. package/tests/cli/util.ts +0 -132
  210. package/tests/cli/validation/abi-not-found/Abi.json +0 -7
  211. package/tests/cli/validation/abi-not-found/mapping.ts +0 -0
  212. package/tests/cli/validation/abi-not-found/schema.graphql +0 -3
  213. package/tests/cli/validation/abi-not-found/subgraph.yaml +0 -42
  214. package/tests/cli/validation/abi-not-found copy.stderr +0 -13
  215. package/tests/cli/validation/big-decimal-is-valid/Abi.json +0 -7
  216. package/tests/cli/validation/big-decimal-is-valid/mapping.ts +0 -0
  217. package/tests/cli/validation/big-decimal-is-valid/schema.graphql +0 -4
  218. package/tests/cli/validation/big-decimal-is-valid/subgraph.yaml +0 -23
  219. package/tests/cli/validation/call-function-not-found/Abi.json +0 -57
  220. package/tests/cli/validation/call-function-not-found/mapping.ts +0 -0
  221. package/tests/cli/validation/call-function-not-found/schema.graphql +0 -3
  222. package/tests/cli/validation/call-function-not-found/subgraph.yaml +0 -22
  223. package/tests/cli/validation/call-function-not-found.stderr +0 -10
  224. package/tests/cli/validation/call-handler-with-tuple/Abi.json +0 -24
  225. package/tests/cli/validation/call-handler-with-tuple/generated/schema.ts +0 -44
  226. package/tests/cli/validation/call-handler-with-tuple/mapping.ts +0 -0
  227. package/tests/cli/validation/call-handler-with-tuple/schema.graphql +0 -3
  228. package/tests/cli/validation/call-handler-with-tuple/subgraph.yaml +0 -22
  229. package/tests/cli/validation/call-handler-with-tuple.stderr +0 -24
  230. package/tests/cli/validation/conflicting-network-names/Abi.json +0 -7
  231. package/tests/cli/validation/conflicting-network-names/mapping.ts +0 -0
  232. package/tests/cli/validation/conflicting-network-names/schema.graphql +0 -3
  233. package/tests/cli/validation/conflicting-network-names/subgraph.yaml +0 -41
  234. package/tests/cli/validation/conflicting-network-names.stderr +0 -10
  235. package/tests/cli/validation/conflicting-protocol-names/Abi.json +0 -7
  236. package/tests/cli/validation/conflicting-protocol-names/mapping.ts +0 -0
  237. package/tests/cli/validation/conflicting-protocol-names/schema.graphql +0 -3
  238. package/tests/cli/validation/conflicting-protocol-names/subgraph.yaml +0 -41
  239. package/tests/cli/validation/conflicting-protocol-names.stderr +0 -10
  240. package/tests/cli/validation/derived-from-target-type-missing/Abi.json +0 -6
  241. package/tests/cli/validation/derived-from-target-type-missing/mapping.ts +0 -0
  242. package/tests/cli/validation/derived-from-target-type-missing/schema.graphql +0 -4
  243. package/tests/cli/validation/derived-from-target-type-missing/subgraph.yaml +0 -22
  244. package/tests/cli/validation/derived-from-target-type-missing.stderr +0 -5
  245. package/tests/cli/validation/derived-from-with-interface/Gravity.json +0 -1
  246. package/tests/cli/validation/derived-from-with-interface/mapping.ts +0 -22
  247. package/tests/cli/validation/derived-from-with-interface/schema.graphql +0 -19
  248. package/tests/cli/validation/derived-from-with-interface/subgraph.yaml +0 -25
  249. package/tests/cli/validation/duplicate-data-source-name/Abi.json +0 -7
  250. package/tests/cli/validation/duplicate-data-source-name/mapping.ts +0 -0
  251. package/tests/cli/validation/duplicate-data-source-name/schema.graphql +0 -4
  252. package/tests/cli/validation/duplicate-data-source-name/subgraph.yaml +0 -40
  253. package/tests/cli/validation/duplicate-data-source-name.stderr +0 -5
  254. package/tests/cli/validation/duplicate-template-name/Abi.json +0 -7
  255. package/tests/cli/validation/duplicate-template-name/mapping.ts +0 -0
  256. package/tests/cli/validation/duplicate-template-name/schema.graphql +0 -4
  257. package/tests/cli/validation/duplicate-template-name/subgraph.yaml +0 -59
  258. package/tests/cli/validation/duplicate-template-name.stderr +0 -5
  259. package/tests/cli/validation/entity-field-args/Abi.json +0 -7
  260. package/tests/cli/validation/entity-field-args/mapping.ts +0 -0
  261. package/tests/cli/validation/entity-field-args/schema.graphql +0 -4
  262. package/tests/cli/validation/entity-field-args/subgraph.yaml +0 -22
  263. package/tests/cli/validation/entity-field-args.stderr +0 -5
  264. package/tests/cli/validation/ethereum-contract-without-handlers/Abi.json +0 -7
  265. package/tests/cli/validation/ethereum-contract-without-handlers/mapping.ts +0 -0
  266. package/tests/cli/validation/ethereum-contract-without-handlers/schema.graphql +0 -3
  267. package/tests/cli/validation/ethereum-contract-without-handlers/subgraph.yaml +0 -19
  268. package/tests/cli/validation/ethereum-contract-without-handlers.stderr +0 -6
  269. package/tests/cli/validation/event-not-found/Abi.json +0 -7
  270. package/tests/cli/validation/event-not-found/mapping.ts +0 -0
  271. package/tests/cli/validation/event-not-found/schema.graphql +0 -3
  272. package/tests/cli/validation/event-not-found/subgraph.yaml +0 -40
  273. package/tests/cli/validation/event-not-found.stderr +0 -12
  274. package/tests/cli/validation/example-values-found/Abi.json +0 -7
  275. package/tests/cli/validation/example-values-found/generated/ExampleSubgraph/ExampleContract.ts +0 -35
  276. package/tests/cli/validation/example-values-found/generated/schema.ts +0 -44
  277. package/tests/cli/validation/example-values-found/mapping.ts +0 -0
  278. package/tests/cli/validation/example-values-found/schema.graphql +0 -3
  279. package/tests/cli/validation/example-values-found/subgraph.yaml +0 -24
  280. package/tests/cli/validation/example-values-found.stderr +0 -34
  281. package/tests/cli/validation/invalid-abis/InvalidAbi.json +0 -1
  282. package/tests/cli/validation/invalid-abis/mapping.ts +0 -0
  283. package/tests/cli/validation/invalid-abis/schema.graphql +0 -3
  284. package/tests/cli/validation/invalid-abis/subgraph.yaml +0 -22
  285. package/tests/cli/validation/invalid-abis.stderr +0 -5
  286. package/tests/cli/validation/invalid-contract-addresses/Abi.json +0 -7
  287. package/tests/cli/validation/invalid-contract-addresses/mapping.ts +0 -0
  288. package/tests/cli/validation/invalid-contract-addresses/schema.graphql +0 -3
  289. package/tests/cli/validation/invalid-contract-addresses/subgraph.yaml +0 -58
  290. package/tests/cli/validation/invalid-contract-addresses.stderr +0 -14
  291. package/tests/cli/validation/invalid-data-source-template/mapping.ts +0 -0
  292. package/tests/cli/validation/invalid-data-source-template/schema.graphql +0 -3
  293. package/tests/cli/validation/invalid-data-source-template/subgraph.yaml +0 -32
  294. package/tests/cli/validation/invalid-data-source-template.stderr +0 -30
  295. package/tests/cli/validation/invalid-entity-field-types/Abi.json +0 -7
  296. package/tests/cli/validation/invalid-entity-field-types/mapping.ts +0 -0
  297. package/tests/cli/validation/invalid-entity-field-types/schema.graphql +0 -157
  298. package/tests/cli/validation/invalid-entity-field-types/subgraph.yaml +0 -22
  299. package/tests/cli/validation/invalid-entity-field-types.stderr +0 -148
  300. package/tests/cli/validation/invalid-fulltext-directive/Abi.json +0 -7
  301. package/tests/cli/validation/invalid-fulltext-directive/mapping.ts +0 -0
  302. package/tests/cli/validation/invalid-fulltext-directive/schema.graphql +0 -140
  303. package/tests/cli/validation/invalid-fulltext-directive/subgraph.yaml +0 -22
  304. package/tests/cli/validation/invalid-fulltext-directive.stderr +0 -32
  305. package/tests/cli/validation/invalid-graphql-schema/Abi.json +0 -7
  306. package/tests/cli/validation/invalid-graphql-schema/mapping.ts +0 -0
  307. package/tests/cli/validation/invalid-graphql-schema/schema.graphql +0 -8
  308. package/tests/cli/validation/invalid-graphql-schema/subgraph.yaml +0 -22
  309. package/tests/cli/validation/invalid-graphql-schema.stderr +0 -25
  310. package/tests/cli/validation/invalid-manifest/subgraph.yaml +0 -13
  311. package/tests/cli/validation/invalid-manifest-cannot-infer-protocol/subgraph.yaml +0 -12
  312. package/tests/cli/validation/invalid-manifest-cannot-infer-protocol.stderr +0 -5
  313. package/tests/cli/validation/invalid-manifest.stderr +0 -28
  314. package/tests/cli/validation/missing-entity-id/Abi.json +0 -7
  315. package/tests/cli/validation/missing-entity-id/mapping.ts +0 -0
  316. package/tests/cli/validation/missing-entity-id/schema.graphql +0 -3
  317. package/tests/cli/validation/missing-entity-id/subgraph.yaml +0 -22
  318. package/tests/cli/validation/missing-entity-id/types/ExampleSubgraph/ExampleContract.ts +0 -35
  319. package/tests/cli/validation/missing-entity-id/types/schema.ts +0 -27
  320. package/tests/cli/validation/missing-entity-id.stderr +0 -5
  321. package/tests/cli/validation/missing-or-invalid-derived-from-fields/Abi.json +0 -7
  322. package/tests/cli/validation/missing-or-invalid-derived-from-fields/mapping.ts +0 -0
  323. package/tests/cli/validation/missing-or-invalid-derived-from-fields/schema.graphql +0 -40
  324. package/tests/cli/validation/missing-or-invalid-derived-from-fields/subgraph.yaml +0 -22
  325. package/tests/cli/validation/missing-or-invalid-derived-from-fields.stderr +0 -10
  326. package/tests/cli/validation/missing-or-invalid-derived-from-fields.stdout +0 -0
  327. package/tests/cli/validation/near-is-valid/mapping.ts +0 -0
  328. package/tests/cli/validation/near-is-valid/schema.graphql +0 -8
  329. package/tests/cli/validation/near-is-valid/subgraph.yaml +0 -30
  330. package/tests/cli/validation/nested-template-nice-error/Abi.json +0 -7
  331. package/tests/cli/validation/nested-template-nice-error/mapping.ts +0 -0
  332. package/tests/cli/validation/nested-template-nice-error/schema.graphql +0 -3
  333. package/tests/cli/validation/nested-template-nice-error/subgraph.yaml +0 -35
  334. package/tests/cli/validation/nested-template-nice-error.stderr +0 -5
  335. package/tests/cli/validation/no-network-names/Abi.json +0 -7
  336. package/tests/cli/validation/no-network-names/mapping.ts +0 -0
  337. package/tests/cli/validation/no-network-names/schema.graphql +0 -3
  338. package/tests/cli/validation/no-network-names/subgraph.yaml +0 -40
  339. package/tests/cli/validation/no-network-names.stderr +0 -34
  340. package/tests/cli/validation/source-without-address-is-valid/Abi.json +0 -7
  341. package/tests/cli/validation/source-without-address-is-valid/generated/ExampleSubgraph/ExampleContract.ts +0 -35
  342. package/tests/cli/validation/source-without-address-is-valid/mapping.ts +0 -0
  343. package/tests/cli/validation/source-without-address-is-valid/schema.graphql +0 -3
  344. package/tests/cli/validation/source-without-address-is-valid/subgraph.yaml +0 -23
  345. package/tests/cli/validation/source-without-address-is-valid.stderr +0 -24
  346. package/tests/cli/validation/topic0-is-valid/Abi.json +0 -7
  347. package/tests/cli/validation/topic0-is-valid/mapping.ts +0 -0
  348. package/tests/cli/validation/topic0-is-valid/schema.graphql +0 -4
  349. package/tests/cli/validation/topic0-is-valid/subgraph.yaml +0 -24
  350. package/tests/cli/validation.test.ts +0 -226
  351. package/tsconfig.build.json +0 -4
  352. package/tsconfig.json +0 -19
@@ -1,14 +0,0 @@
1
- - Create subgraph scaffold
2
- Generate subgraph
3
- - Create subgraph scaffold
4
- Write subgraph to directory
5
- - Create subgraph scaffold
6
- ✔ Create subgraph scaffold
7
- - Initialize networks config
8
- ✔ Initialize networks config
9
- - Initialize subgraph repository
10
- ✔ Initialize subgraph repository
11
- - Install dependencies with yarn
12
- ✔ Install dependencies with yarn
13
- - Generate ABI and schema types with yarn codegen
14
- ✔ Generate ABI and schema types with yarn codegen
@@ -1,12 +0,0 @@
1
-
2
- Subgraph user/subgraph-from-contract-with-abi-and-structs created in from-contract-with-abi-and-structs
3
-
4
- Next steps:
5
-
6
- 1. Run `graph auth` to authenticate with your deploy key.
7
-
8
- 2. Type `cd from-contract-with-abi-and-structs` to enter the subgraph.
9
-
10
- 3. Run `yarn deploy` to deploy the subgraph.
11
-
12
- Make sure to visit the documentation on https://thegraph.com/docs/ for further information.
@@ -1,14 +0,0 @@
1
- - Create subgraph scaffold
2
- Generate subgraph
3
- - Create subgraph scaffold
4
- Write subgraph to directory
5
- - Create subgraph scaffold
6
- ✔ Create subgraph scaffold
7
- - Initialize networks config
8
- ✔ Initialize networks config
9
- - Initialize subgraph repository
10
- ✔ Initialize subgraph repository
11
- - Install dependencies with yarn
12
- ✔ Install dependencies with yarn
13
- - Generate ABI and schema types with yarn codegen
14
- ✔ Generate ABI and schema types with yarn codegen
@@ -1,12 +0,0 @@
1
-
2
- Subgraph user/subgraph-from-contract-with-abi created in from-contract-with-abi
3
-
4
- Next steps:
5
-
6
- 1. Run `graph auth` to authenticate with your deploy key.
7
-
8
- 2. Type `cd from-contract-with-abi` to enter the subgraph.
9
-
10
- 3. Run `yarn deploy` to deploy the subgraph.
11
-
12
- Make sure to visit the documentation on https://thegraph.com/docs/ for further information.
@@ -1,14 +0,0 @@
1
- - Create subgraph scaffold
2
- Generate subgraph
3
- - Create subgraph scaffold
4
- Write subgraph to directory
5
- - Create subgraph scaffold
6
- ✔ Create subgraph scaffold
7
- - Initialize networks config
8
- ✔ Initialize networks config
9
- - Initialize subgraph repository
10
- ✔ Initialize subgraph repository
11
- - Install dependencies with yarn
12
- ✔ Install dependencies with yarn
13
- - Generate ABI and schema types with yarn codegen
14
- ✔ Generate ABI and schema types with yarn codegen
@@ -1,12 +0,0 @@
1
-
2
- Subgraph user/subgraph-from-contract-with-overloaded-elements created in from-contract-with-overloaded-elements
3
-
4
- Next steps:
5
-
6
- 1. Run `graph auth` to authenticate with your deploy key.
7
-
8
- 2. Type `cd from-contract-with-overloaded-elements` to enter the subgraph.
9
-
10
- 3. Run `yarn deploy` to deploy the subgraph.
11
-
12
- Make sure to visit the documentation on https://thegraph.com/docs/ for further information.
@@ -1,16 +0,0 @@
1
- - Fetching ABI from Etherscan
2
- ✔ Fetching ABI from Etherscan
3
- - Create subgraph scaffold
4
- Generate subgraph
5
- - Create subgraph scaffold
6
- Write subgraph to directory
7
- - Create subgraph scaffold
8
- ✔ Create subgraph scaffold
9
- - Initialize networks config
10
- ✔ Initialize networks config
11
- - Initialize subgraph repository
12
- ✔ Initialize subgraph repository
13
- - Install dependencies with yarn
14
- ✔ Install dependencies with yarn
15
- - Generate ABI and schema types with yarn codegen
16
- ✔ Generate ABI and schema types with yarn codegen
@@ -1,12 +0,0 @@
1
-
2
- Subgraph user/subgraph-from-contract created in from-contract
3
-
4
- Next steps:
5
-
6
- 1. Run `graph auth` to authenticate with your deploy key.
7
-
8
- 2. Type `cd from-contract` to enter the subgraph.
9
-
10
- 3. Run `yarn deploy` to deploy the subgraph.
11
-
12
- Make sure to visit the documentation on https://thegraph.com/docs/ for further information.
@@ -1,12 +0,0 @@
1
- - Cloning example subgraph
2
- ✔ Cloning example subgraph
3
- - Initialize networks config
4
- ✔ Initialize networks config
5
- - Update subgraph name and commands in package.json
6
- ✔ Update subgraph name and commands in package.json
7
- - Initialize subgraph repository
8
- ✔ Initialize subgraph repository
9
- - Install dependencies with yarn
10
- ✔ Install dependencies with yarn
11
- - Generate ABI and schema types with yarn codegen
12
- ✔ Generate ABI and schema types with yarn codegen
@@ -1,12 +0,0 @@
1
-
2
- Subgraph user/example-subgraph created in from-example
3
-
4
- Next steps:
5
-
6
- 1. Run `graph auth` to authenticate with your deploy key.
7
-
8
- 2. Type `cd from-example` to enter the subgraph.
9
-
10
- 3. Run `yarn deploy` to deploy the subgraph.
11
-
12
- Make sure to visit the documentation on https://thegraph.com/docs/ for further information.
@@ -1,14 +0,0 @@
1
- - Create subgraph scaffold
2
- Generate subgraph
3
- - Create subgraph scaffold
4
- Write subgraph to directory
5
- - Create subgraph scaffold
6
- ✔ Create subgraph scaffold
7
- - Initialize networks config
8
- ✔ Initialize networks config
9
- - Initialize subgraph repository
10
- ✔ Initialize subgraph repository
11
- - Install dependencies with yarn
12
- ✔ Install dependencies with yarn
13
- - Generate ABI and schema types with yarn codegen
14
- ✔ Generate ABI and schema types with yarn codegen
@@ -1,12 +0,0 @@
1
-
2
- Subgraph user/near-from-contract created in from-contract
3
-
4
- Next steps:
5
-
6
- 1. Run `graph auth` to authenticate with your deploy key.
7
-
8
- 2. Type `cd from-contract` to enter the subgraph.
9
-
10
- 3. Run `yarn deploy` to deploy the subgraph.
11
-
12
- Make sure to visit the documentation on https://thegraph.com/docs/ for further information.
@@ -1,157 +0,0 @@
1
- import path from 'path';
2
- import { cliTest } from './util';
3
-
4
- describe('Init', () => {
5
- const baseDir = path.join(__dirname, 'init');
6
-
7
- describe('Ethereum', () => {
8
- const ethereumBaseDir = path.join(baseDir, 'ethereum');
9
-
10
- cliTest(
11
- 'From example',
12
- [
13
- 'init',
14
- '--protocol',
15
- 'ethereum',
16
- '--studio',
17
- '--from-example',
18
- 'ethereum/gravatar',
19
- 'user/example-subgraph',
20
- path.join(ethereumBaseDir, 'from-example'),
21
- ],
22
- path.join('init', 'ethereum', 'from-example'),
23
- {
24
- exitCode: 0,
25
- timeout: 100_000,
26
- cwd: ethereumBaseDir,
27
- deleteDir: true,
28
- },
29
- );
30
-
31
- cliTest(
32
- 'From contract',
33
- [
34
- 'init',
35
- '--protocol',
36
- 'ethereum',
37
- '--studio',
38
- '--from-contract',
39
- '0xF87E31492Faf9A91B02Ee0dEAAd50d51d56D5d4d',
40
- '--network',
41
- 'mainnet',
42
- 'user/subgraph-from-contract',
43
- path.join(ethereumBaseDir, 'from-contract'),
44
- ],
45
- path.join('init', 'ethereum', 'from-contract'),
46
- {
47
- exitCode: 0,
48
- timeout: 100_000,
49
- cwd: ethereumBaseDir,
50
- deleteDir: true,
51
- },
52
- );
53
-
54
- cliTest(
55
- 'From contract with abi',
56
- [
57
- 'init',
58
- '--protocol',
59
- 'ethereum',
60
- '--studio',
61
- '--from-contract',
62
- '0xF87E31492Faf9A91B02Ee0dEAAd50d51d56D5d4d',
63
- '--abi',
64
- path.join(ethereumBaseDir, 'abis', 'Marketplace.json'),
65
- '--network',
66
- 'mainnet',
67
- 'user/subgraph-from-contract-with-abi',
68
- path.join(ethereumBaseDir, 'from-contract-with-abi'),
69
- ],
70
- path.join('init', 'ethereum', 'from-contract-with-abi'),
71
- {
72
- exitCode: 0,
73
- timeout: 100_000,
74
- cwd: ethereumBaseDir,
75
- deleteDir: true,
76
- },
77
- );
78
-
79
- cliTest(
80
- 'From contract with abi and structs',
81
- [
82
- 'init',
83
- '--protocol',
84
- 'ethereum',
85
- '--studio',
86
- '--from-contract',
87
- '0x1E0447b19BB6EcFdAe1e4AE1694b0C3659614e4e',
88
- '--abi',
89
- path.join(ethereumBaseDir, 'abis', 'SoloMargin.json'),
90
- '--network',
91
- 'mainnet',
92
- 'user/subgraph-from-contract-with-abi-and-structs',
93
- path.join(ethereumBaseDir, 'from-contract-with-abi-and-structs'),
94
- ],
95
- path.join('init', 'ethereum', 'from-contract-with-abi-and-structs'),
96
- {
97
- exitCode: 0,
98
- timeout: 100_000,
99
- cwd: ethereumBaseDir,
100
- deleteDir: true,
101
- },
102
- );
103
-
104
- cliTest(
105
- 'From contract with overloaded elements',
106
- [
107
- 'init',
108
- '--protocol',
109
- 'ethereum',
110
- '--studio',
111
- '--from-contract',
112
- '0x1E0447b19BB6EcFdAe1e4AE1694b0C3659614e4e',
113
- '--abi',
114
- path.join(ethereumBaseDir, 'abis', 'OverloadedElements.json'),
115
- '--network',
116
- 'mainnet',
117
- 'user/subgraph-from-contract-with-overloaded-elements',
118
- path.join(ethereumBaseDir, 'from-contract-with-overloaded-elements'),
119
- ],
120
- path.join('init', 'ethereum', 'from-contract-with-overloaded-elements'),
121
- {
122
- exitCode: 0,
123
- timeout: 100_000,
124
- cwd: ethereumBaseDir,
125
- deleteDir: true,
126
- },
127
- );
128
- });
129
-
130
- describe('NEAR', () => {
131
- const nearBaseDir = path.join(baseDir, 'near');
132
-
133
- cliTest(
134
- 'From contract',
135
- [
136
- 'init',
137
- '--protocol',
138
- 'near',
139
- '--product',
140
- 'hosted-service',
141
- '--from-contract',
142
- 'app.good-morning.near',
143
- '--network',
144
- 'near-mainnet',
145
- 'user/near-from-contract',
146
- path.join(nearBaseDir, 'from-contract'),
147
- ],
148
- path.join('init', 'near', 'from-contract'),
149
- {
150
- exitCode: 0,
151
- timeout: 100_000,
152
- cwd: nearBaseDir,
153
- deleteDir: true,
154
- },
155
- );
156
- });
157
- });
@@ -1,7 +0,0 @@
1
- declare module 'spawn-command' {
2
- import { spawn, SpawnOptions, ChildProcessByStdio } from 'child_process';
3
-
4
- type SpawnResult = ChildProcessByStdio<Writable, Readable, Readable>;
5
- export { SpawnOptions, SpawnResult };
6
- export default function spawn(command: string, options: SpawnOptions): SpawnResult;
7
- }
package/tests/cli/util.ts DELETED
@@ -1,132 +0,0 @@
1
- import path from 'path';
2
- import fs from 'fs-extra';
3
- import spawn from 'spawn-command';
4
- import stripAnsi from 'strip-ansi';
5
-
6
- // Deletes folder if:
7
- // - flag is true
8
- // - folder exists
9
- const deleteDir = (dir: string, flag: boolean) => {
10
- if (flag && fs.existsSync(dir)) {
11
- fs.removeSync(dir);
12
- }
13
- };
14
-
15
- const resolvePath = (p: string) => path.join(__dirname, p);
16
-
17
- export function cliTest(
18
- title: string,
19
- args: string[],
20
- testPath: string,
21
- options: {
22
- cwd?: string;
23
- deleteDir?: boolean;
24
- exitCode?: number;
25
- timeout?: number;
26
- } = {},
27
- ) {
28
- test(
29
- title,
30
- async () => {
31
- try {
32
- deleteDir(resolvePath(`./${testPath}`), !!options.deleteDir);
33
-
34
- // Use the provided cwd if desired
35
- const cwd = options.cwd ? options.cwd : resolvePath(`./${testPath}`);
36
-
37
- const [exitCode, stdout, stderr] = await runGraphCli(args, cwd);
38
-
39
- let expectedExitCode = undefined;
40
- if (options.exitCode !== undefined) {
41
- expectedExitCode = options.exitCode;
42
- }
43
- let expectedStdout = undefined;
44
- try {
45
- expectedStdout = fs.readFileSync(resolvePath(`./${testPath}.stdout`), 'utf-8');
46
- } catch (e) {
47
- // noop
48
- }
49
-
50
- let expectedStderr = undefined;
51
- try {
52
- expectedStderr = fs.readFileSync(resolvePath(`./${testPath}.stderr`), 'utf-8');
53
- } catch (e) {
54
- // noop
55
- }
56
-
57
- if (expectedStderr !== undefined) {
58
- // For some reason the error sometimes comes in stdout, then
59
- // stderr comes empty.
60
- //
61
- // If that's the case, we should throw it so it's easier
62
- // to debug the error.
63
- //
64
- // TODO: investigate why that happens (somewhere it should
65
- // be using console.error or print.error for example) so this
66
- // check can be removed.
67
- if (stderr.length === 0 && stdout.length !== 0) {
68
- throw new Error(stdout);
69
- }
70
- expect(stripAnsi(stderr)).toBe(expectedStderr);
71
- }
72
- if (expectedExitCode !== undefined) {
73
- expect(exitCode).toBe(expectedExitCode);
74
- }
75
- if (expectedStdout !== undefined) {
76
- expect(stripAnsi(stdout)).toBe(expectedStdout);
77
- }
78
- } finally {
79
- deleteDir(resolvePath(`./${testPath}`), !!options.deleteDir);
80
- }
81
- },
82
- options.timeout || undefined,
83
- );
84
- }
85
-
86
- function runCommand(
87
- command: string,
88
- args: string[] = [],
89
- cwd = process.cwd(),
90
- ): Promise<
91
- [
92
- number | null, // exitCode
93
- string, // stdout
94
- string, // stderr
95
- ]
96
- > {
97
- // Make sure to set an absolute working directory
98
- cwd = cwd[0] !== '/' ? path.resolve(__dirname, cwd) : cwd;
99
-
100
- return new Promise((resolve, reject) => {
101
- let stdout = '';
102
- let stderr = '';
103
- const child = spawn(`${command} ${args.join(' ')}`, { cwd });
104
-
105
- child.on('error', error => {
106
- reject(error);
107
- });
108
-
109
- child.stdout.on('data', (data: Buffer) => {
110
- stdout += data.toString();
111
- });
112
-
113
- child.stderr.on('data', (data: Buffer) => {
114
- stderr += data.toString();
115
- });
116
-
117
- child.on('exit', exitCode => {
118
- resolve([exitCode, stdout, stderr]);
119
- });
120
- });
121
- }
122
-
123
- export function runGraphCli(args: string[], cwd: string) {
124
- // Resolve the path to graph.js
125
- const graphCli = path.join(__dirname, '..', '..', 'dist', 'bin.js');
126
-
127
- return runCommand(graphCli, args, cwd);
128
- }
129
-
130
- export const npmLinkCli = () => runCommand('npm', ['link']);
131
-
132
- export const npmUnlinkCli = () => runCommand('npm', ['unlink']);
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "event",
4
- "name": "ExampleEvent",
5
- "inputs": [{ "type": "string" }]
6
- }
7
- ]
File without changes
@@ -1,3 +0,0 @@
1
- type MyEntity @entity {
2
- id: ID!
3
- }
@@ -1,42 +0,0 @@
1
- specVersion: 0.0.1
2
- schema:
3
- file: ./schema.graphql
4
- dataSources:
5
- - kind: ethereum/contract
6
- name: DataSource
7
- source:
8
- address: '0x22843e74c59580b3eaf6c233fa67d8b7c561a835'
9
- abi: NonExistentAbi
10
- mapping:
11
- kind: ethereum/events
12
- apiVersion: 0.0.5
13
- language: wasm/assemblyscript
14
- file: ./mapping.ts
15
- entities:
16
- - ExampleEntity
17
- abis:
18
- - name: FirstAbi
19
- file: ./Abi.json
20
- - name: SecondAbi
21
- file: ./Abi.json
22
- eventHandlers:
23
- - event: ExampleEvent(string)
24
- handler: handleExampleEvent
25
- templates:
26
- - kind: ethereum/contract
27
- name: ExampleTemplate
28
- source:
29
- abi: ExampleContract
30
- mapping:
31
- kind: ethereum/events
32
- apiVersion: 0.0.5
33
- language: wasm/assemblyscript
34
- file: ./mapping.ts
35
- entities:
36
- - ExampleEntity
37
- abis:
38
- - name: ExampleContract
39
- file: ./Abi.json
40
- eventHandlers:
41
- - event: ExampleEvent(string,uint256)
42
- handler: handleExampleEvent
@@ -1,13 +0,0 @@
1
- - Load subgraph from subgraph.yaml
2
- ✖ Failed to load subgraph from subgraph.yaml: Error in subgraph.yaml:
3
-
4
- Path: dataSources > 0 > source > abi
5
- ABI name 'NonExistentAbi' not found in mapping > abis.
6
- Available ABIs:
7
- - FirstAbi
8
- - SecondAbi
9
-
10
- Path: templates > 0 > eventHandlers > 0
11
- Event with signature 'ExampleEvent(string,uint256)' not present in ABI 'ExampleContract'.
12
- Available events:
13
- - ExampleEvent(string)
@@ -1,7 +0,0 @@
1
- [
2
- {
3
- "type": "event",
4
- "name": "ExampleEvent",
5
- "inputs": [{ "type": "string" }]
6
- }
7
- ]
@@ -1,4 +0,0 @@
1
- type MyEntity @entity {
2
- id: ID!
3
- x: BigDecimal!
4
- }
@@ -1,23 +0,0 @@
1
- specVersion: 0.0.1
2
- repository: https://github.com/graphprotocol/test-subgraph
3
- description: Test subgraph
4
- schema:
5
- file: ./schema.graphql
6
- dataSources:
7
- - kind: ethereum/contract
8
- name: ExampleSubgraph
9
- source:
10
- abi: ExampleContract
11
- mapping:
12
- kind: ethereum/events
13
- apiVersion: 0.0.5
14
- language: wasm/assemblyscript
15
- file: ./mapping.ts
16
- entities:
17
- - ExampleEntity
18
- abis:
19
- - name: ExampleContract
20
- file: ./Abi.json
21
- eventHandlers:
22
- - event: ExampleEvent(string)
23
- handler: handleExampleEvent
@@ -1,57 +0,0 @@
1
- [
2
- {
3
- "type": "event",
4
- "name": "ExampleEvent",
5
- "inputs": [{ "type": "string" }]
6
- },
7
- {
8
- "constant": true,
9
- "inputs": [],
10
- "name": "proxyOwner",
11
- "outputs": [{ "name": "", "type": "address" }],
12
- "payable": false,
13
- "stateMutability": "view",
14
- "type": "function"
15
- },
16
- {
17
- "constant": true,
18
- "inputs": [],
19
- "name": "currentContract",
20
- "outputs": [{ "name": "", "type": "address" }],
21
- "payable": false,
22
- "stateMutability": "pure",
23
- "type": "function"
24
- },
25
- {
26
- "constant": true,
27
- "inputs": [],
28
- "name": "owner",
29
- "outputs": [{ "name": "", "type": "address" }],
30
- "payable": false,
31
- "stateMutability": "payable",
32
- "type": "function"
33
- },
34
- {
35
- "constant": false,
36
- "inputs": [
37
- { "name": "newContract", "type": "address" },
38
- { "name": "data", "type": "bytes" }
39
- ],
40
- "name": "upgrade",
41
- "outputs": [],
42
- "payable": false,
43
- "stateMutability": "nonpayable",
44
- "type": "function"
45
- },
46
- {
47
- "constant": false,
48
- "inputs": [{ "name": "_newOwner", "type": "address" }],
49
- "name": "transferOwnership",
50
- "outputs": [],
51
- "payable": false,
52
- "stateMutability": "nonpayable",
53
- "type": "function"
54
- },
55
- { "stateMutability": "payable", "type": "constructor" },
56
- { "payable": true, "stateMutability": "payable", "type": "fallback" }
57
- ]
@@ -1,3 +0,0 @@
1
- type MyEntity @entity {
2
- id: ID!
3
- }
@@ -1,22 +0,0 @@
1
- specVersion: 0.0.1
2
- schema:
3
- file: ./schema.graphql
4
- dataSources:
5
- - kind: ethereum/contract
6
- name: ExampleSubgraph
7
- source:
8
- address: "22843e74c59580b3eaf6c233fa67d8b7c561a835"
9
- abi: ExampleContract
10
- mapping:
11
- kind: ethereum/events
12
- apiVersion: 0.0.5
13
- language: wasm/assemblyscript
14
- file: ./mapping.ts
15
- entities:
16
- - ExampleEntity
17
- abis:
18
- - name: ExampleContract
19
- file: ./Abi.json
20
- callHandlers:
21
- - function: doSomething(uint256)
22
- handler: handleDoSomething