@graphprotocol/graph-cli 0.37.3 → 0.37.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +5 -1
  3. package/babel.config.js +0 -3
  4. package/jest.config.js +0 -175
  5. package/src/bin.ts +0 -6
  6. package/src/cli.ts +0 -30
  7. package/src/codegen/schema.test.ts +0 -460
  8. package/src/codegen/schema.ts +0 -299
  9. package/src/codegen/template.ts +0 -45
  10. package/src/codegen/types/conversions.ts +0 -358
  11. package/src/codegen/types/index.test.ts +0 -715
  12. package/src/codegen/types/index.ts +0 -111
  13. package/src/codegen/typescript.ts +0 -224
  14. package/src/codegen/util.test.ts +0 -112
  15. package/src/codegen/util.ts +0 -54
  16. package/src/command-helpers/abi.ts +0 -99
  17. package/src/command-helpers/auth.ts +0 -46
  18. package/src/command-helpers/compiler.ts +0 -60
  19. package/src/command-helpers/data-sources.ts +0 -36
  20. package/src/command-helpers/fs.ts +0 -5
  21. package/src/command-helpers/gluegun.ts +0 -52
  22. package/src/command-helpers/ipfs-http-client.d.ts +0 -1
  23. package/src/command-helpers/ipfs.ts +0 -3
  24. package/src/command-helpers/jsonrpc.ts +0 -22
  25. package/src/command-helpers/network.test.ts +0 -85
  26. package/src/command-helpers/network.ts +0 -133
  27. package/src/command-helpers/node.ts +0 -46
  28. package/src/command-helpers/scaffold.ts +0 -174
  29. package/src/command-helpers/spinner.ts +0 -60
  30. package/src/command-helpers/studio.test.ts +0 -84
  31. package/src/command-helpers/studio.ts +0 -25
  32. package/src/command-helpers/subgraph.ts +0 -21
  33. package/src/command-helpers/version.test.ts +0 -241
  34. package/src/command-helpers/version.ts +0 -53
  35. package/src/commands/add.ts +0 -220
  36. package/src/commands/auth.ts +0 -138
  37. package/src/commands/binary-install-raw.d.ts +0 -1
  38. package/src/commands/build.ts +0 -147
  39. package/src/commands/codegen.ts +0 -123
  40. package/src/commands/create.ts +0 -109
  41. package/src/commands/deploy.ts +0 -388
  42. package/src/commands/init.ts +0 -1060
  43. package/src/commands/local.ts +0 -539
  44. package/src/commands/remove.ts +0 -110
  45. package/src/commands/test.ts +0 -369
  46. package/src/compiler/asc.ts +0 -77
  47. package/src/compiler/index.ts +0 -677
  48. package/src/debug.ts +0 -15
  49. package/src/migrations/mapping_api_version_0_0_1.ts +0 -75
  50. package/src/migrations/mapping_api_version_0_0_2.ts +0 -75
  51. package/src/migrations/mapping_api_version_0_0_3.ts +0 -75
  52. package/src/migrations/mapping_api_version_0_0_4.ts +0 -77
  53. package/src/migrations/mapping_api_version_0_0_5.ts +0 -77
  54. package/src/migrations/spec_version_0_0_2.ts +0 -24
  55. package/src/migrations/spec_version_0_0_3.ts +0 -29
  56. package/src/migrations/util/load-manifest.ts +0 -10
  57. package/src/migrations/util/versions.ts +0 -27
  58. package/src/migrations.ts +0 -33
  59. package/src/protocols/arweave/manifest.graphql +0 -57
  60. package/src/protocols/arweave/scaffold/manifest.ts +0 -14
  61. package/src/protocols/arweave/scaffold/mapping.ts +0 -49
  62. package/src/protocols/arweave/subgraph.ts +0 -22
  63. package/src/protocols/contract.ts +0 -9
  64. package/src/protocols/cosmos/manifest.graphql +0 -76
  65. package/src/protocols/cosmos/scaffold/manifest.ts +0 -11
  66. package/src/protocols/cosmos/scaffold/mapping.ts +0 -35
  67. package/src/protocols/cosmos/subgraph.ts +0 -27
  68. package/src/protocols/ethereum/abi.ts +0 -153
  69. package/src/protocols/ethereum/codegen/abi.test.ts +0 -330
  70. package/src/protocols/ethereum/codegen/abi.ts +0 -719
  71. package/src/protocols/ethereum/codegen/template.ts +0 -41
  72. package/src/protocols/ethereum/contract.ts +0 -24
  73. package/src/protocols/ethereum/manifest.graphql +0 -94
  74. package/src/protocols/ethereum/scaffold/manifest.ts +0 -28
  75. package/src/protocols/ethereum/scaffold/mapping.ts +0 -76
  76. package/src/protocols/ethereum/subgraph.ts +0 -189
  77. package/src/protocols/ethereum/type-generator.ts +0 -191
  78. package/src/protocols/index.ts +0 -287
  79. package/src/protocols/ipfs/codegen/file_template.ts +0 -43
  80. package/src/protocols/near/contract.ts +0 -47
  81. package/src/protocols/near/manifest.graphql +0 -64
  82. package/src/protocols/near/scaffold/manifest.ts +0 -13
  83. package/src/protocols/near/scaffold/mapping.ts +0 -35
  84. package/src/protocols/near/subgraph.ts +0 -22
  85. package/src/protocols/subgraph.ts +0 -12
  86. package/src/protocols/substreams/manifest.graphql +0 -45
  87. package/src/protocols/substreams/scaffold/manifest.ts +0 -8
  88. package/src/protocols/substreams/subgraph.ts +0 -22
  89. package/src/scaffold/cosmos.test.ts +0 -83
  90. package/src/scaffold/ethereum.test.ts +0 -512
  91. package/src/scaffold/index.ts +0 -172
  92. package/src/scaffold/mapping.ts +0 -44
  93. package/src/scaffold/near.test.ts +0 -86
  94. package/src/scaffold/schema.ts +0 -89
  95. package/src/scaffold/tests.ts +0 -217
  96. package/src/schema.ts +0 -26
  97. package/src/subgraph.ts +0 -302
  98. package/src/type-generator.ts +0 -266
  99. package/src/validation/contract.ts +0 -51
  100. package/src/validation/index.ts +0 -5
  101. package/src/validation/manifest.ts +0 -360
  102. package/src/validation/schema.test.ts +0 -38
  103. package/src/validation/schema.ts +0 -957
  104. package/src/watcher.ts +0 -96
  105. package/tests/cli/globalSetup.ts +0 -8
  106. package/tests/cli/globalTeardown.ts +0 -8
  107. package/tests/cli/init/ethereum/abis/Marketplace.json +0 -408
  108. package/tests/cli/init/ethereum/abis/OverloadedElements.json +0 -91
  109. package/tests/cli/init/ethereum/abis/SoloMargin.json +0 -2729
  110. package/tests/cli/init/ethereum/from-contract-with-abi-and-structs.stderr +0 -14
  111. package/tests/cli/init/ethereum/from-contract-with-abi-and-structs.stdout +0 -12
  112. package/tests/cli/init/ethereum/from-contract-with-abi.stderr +0 -14
  113. package/tests/cli/init/ethereum/from-contract-with-abi.stdout +0 -12
  114. package/tests/cli/init/ethereum/from-contract-with-overloaded-elements.stderr +0 -14
  115. package/tests/cli/init/ethereum/from-contract-with-overloaded-elements.stdout +0 -12
  116. package/tests/cli/init/ethereum/from-contract.stderr +0 -16
  117. package/tests/cli/init/ethereum/from-contract.stdout +0 -12
  118. package/tests/cli/init/ethereum/from-example.stderr +0 -12
  119. package/tests/cli/init/ethereum/from-example.stdout +0 -12
  120. package/tests/cli/init/near/from-contract.stderr +0 -14
  121. package/tests/cli/init/near/from-contract.stdout +0 -12
  122. package/tests/cli/init.test.ts +0 -157
  123. package/tests/cli/spawn-command.d.ts +0 -7
  124. package/tests/cli/util.ts +0 -132
  125. package/tests/cli/validation/abi-not-found/Abi.json +0 -7
  126. package/tests/cli/validation/abi-not-found/mapping.ts +0 -0
  127. package/tests/cli/validation/abi-not-found/schema.graphql +0 -3
  128. package/tests/cli/validation/abi-not-found/subgraph.yaml +0 -42
  129. package/tests/cli/validation/abi-not-found copy.stderr +0 -13
  130. package/tests/cli/validation/big-decimal-is-valid/Abi.json +0 -7
  131. package/tests/cli/validation/big-decimal-is-valid/mapping.ts +0 -0
  132. package/tests/cli/validation/big-decimal-is-valid/schema.graphql +0 -4
  133. package/tests/cli/validation/big-decimal-is-valid/subgraph.yaml +0 -23
  134. package/tests/cli/validation/call-function-not-found/Abi.json +0 -57
  135. package/tests/cli/validation/call-function-not-found/mapping.ts +0 -0
  136. package/tests/cli/validation/call-function-not-found/schema.graphql +0 -3
  137. package/tests/cli/validation/call-function-not-found/subgraph.yaml +0 -22
  138. package/tests/cli/validation/call-function-not-found.stderr +0 -10
  139. package/tests/cli/validation/call-handler-with-tuple/Abi.json +0 -24
  140. package/tests/cli/validation/call-handler-with-tuple/generated/schema.ts +0 -44
  141. package/tests/cli/validation/call-handler-with-tuple/mapping.ts +0 -0
  142. package/tests/cli/validation/call-handler-with-tuple/schema.graphql +0 -3
  143. package/tests/cli/validation/call-handler-with-tuple/subgraph.yaml +0 -22
  144. package/tests/cli/validation/call-handler-with-tuple.stderr +0 -24
  145. package/tests/cli/validation/conflicting-network-names/Abi.json +0 -7
  146. package/tests/cli/validation/conflicting-network-names/mapping.ts +0 -0
  147. package/tests/cli/validation/conflicting-network-names/schema.graphql +0 -3
  148. package/tests/cli/validation/conflicting-network-names/subgraph.yaml +0 -41
  149. package/tests/cli/validation/conflicting-network-names.stderr +0 -10
  150. package/tests/cli/validation/conflicting-protocol-names/Abi.json +0 -7
  151. package/tests/cli/validation/conflicting-protocol-names/mapping.ts +0 -0
  152. package/tests/cli/validation/conflicting-protocol-names/schema.graphql +0 -3
  153. package/tests/cli/validation/conflicting-protocol-names/subgraph.yaml +0 -41
  154. package/tests/cli/validation/conflicting-protocol-names.stderr +0 -10
  155. package/tests/cli/validation/derived-from-target-type-missing/Abi.json +0 -6
  156. package/tests/cli/validation/derived-from-target-type-missing/mapping.ts +0 -0
  157. package/tests/cli/validation/derived-from-target-type-missing/schema.graphql +0 -4
  158. package/tests/cli/validation/derived-from-target-type-missing/subgraph.yaml +0 -22
  159. package/tests/cli/validation/derived-from-target-type-missing.stderr +0 -5
  160. package/tests/cli/validation/derived-from-with-interface/Gravity.json +0 -1
  161. package/tests/cli/validation/derived-from-with-interface/mapping.ts +0 -22
  162. package/tests/cli/validation/derived-from-with-interface/schema.graphql +0 -19
  163. package/tests/cli/validation/derived-from-with-interface/subgraph.yaml +0 -25
  164. package/tests/cli/validation/duplicate-data-source-name/Abi.json +0 -7
  165. package/tests/cli/validation/duplicate-data-source-name/mapping.ts +0 -0
  166. package/tests/cli/validation/duplicate-data-source-name/schema.graphql +0 -4
  167. package/tests/cli/validation/duplicate-data-source-name/subgraph.yaml +0 -40
  168. package/tests/cli/validation/duplicate-data-source-name.stderr +0 -5
  169. package/tests/cli/validation/duplicate-template-name/Abi.json +0 -7
  170. package/tests/cli/validation/duplicate-template-name/mapping.ts +0 -0
  171. package/tests/cli/validation/duplicate-template-name/schema.graphql +0 -4
  172. package/tests/cli/validation/duplicate-template-name/subgraph.yaml +0 -59
  173. package/tests/cli/validation/duplicate-template-name.stderr +0 -5
  174. package/tests/cli/validation/entity-field-args/Abi.json +0 -7
  175. package/tests/cli/validation/entity-field-args/mapping.ts +0 -0
  176. package/tests/cli/validation/entity-field-args/schema.graphql +0 -4
  177. package/tests/cli/validation/entity-field-args/subgraph.yaml +0 -22
  178. package/tests/cli/validation/entity-field-args.stderr +0 -5
  179. package/tests/cli/validation/ethereum-contract-without-handlers/Abi.json +0 -7
  180. package/tests/cli/validation/ethereum-contract-without-handlers/mapping.ts +0 -0
  181. package/tests/cli/validation/ethereum-contract-without-handlers/schema.graphql +0 -3
  182. package/tests/cli/validation/ethereum-contract-without-handlers/subgraph.yaml +0 -19
  183. package/tests/cli/validation/ethereum-contract-without-handlers.stderr +0 -6
  184. package/tests/cli/validation/event-not-found/Abi.json +0 -7
  185. package/tests/cli/validation/event-not-found/mapping.ts +0 -0
  186. package/tests/cli/validation/event-not-found/schema.graphql +0 -3
  187. package/tests/cli/validation/event-not-found/subgraph.yaml +0 -40
  188. package/tests/cli/validation/event-not-found.stderr +0 -12
  189. package/tests/cli/validation/example-values-found/Abi.json +0 -7
  190. package/tests/cli/validation/example-values-found/generated/ExampleSubgraph/ExampleContract.ts +0 -35
  191. package/tests/cli/validation/example-values-found/generated/schema.ts +0 -44
  192. package/tests/cli/validation/example-values-found/mapping.ts +0 -0
  193. package/tests/cli/validation/example-values-found/schema.graphql +0 -3
  194. package/tests/cli/validation/example-values-found/subgraph.yaml +0 -24
  195. package/tests/cli/validation/example-values-found.stderr +0 -34
  196. package/tests/cli/validation/invalid-abis/InvalidAbi.json +0 -1
  197. package/tests/cli/validation/invalid-abis/mapping.ts +0 -0
  198. package/tests/cli/validation/invalid-abis/schema.graphql +0 -3
  199. package/tests/cli/validation/invalid-abis/subgraph.yaml +0 -22
  200. package/tests/cli/validation/invalid-abis.stderr +0 -5
  201. package/tests/cli/validation/invalid-contract-addresses/Abi.json +0 -7
  202. package/tests/cli/validation/invalid-contract-addresses/mapping.ts +0 -0
  203. package/tests/cli/validation/invalid-contract-addresses/schema.graphql +0 -3
  204. package/tests/cli/validation/invalid-contract-addresses/subgraph.yaml +0 -58
  205. package/tests/cli/validation/invalid-contract-addresses.stderr +0 -14
  206. package/tests/cli/validation/invalid-data-source-template/mapping.ts +0 -0
  207. package/tests/cli/validation/invalid-data-source-template/schema.graphql +0 -3
  208. package/tests/cli/validation/invalid-data-source-template/subgraph.yaml +0 -32
  209. package/tests/cli/validation/invalid-data-source-template.stderr +0 -30
  210. package/tests/cli/validation/invalid-entity-field-types/Abi.json +0 -7
  211. package/tests/cli/validation/invalid-entity-field-types/mapping.ts +0 -0
  212. package/tests/cli/validation/invalid-entity-field-types/schema.graphql +0 -157
  213. package/tests/cli/validation/invalid-entity-field-types/subgraph.yaml +0 -22
  214. package/tests/cli/validation/invalid-entity-field-types.stderr +0 -148
  215. package/tests/cli/validation/invalid-fulltext-directive/Abi.json +0 -7
  216. package/tests/cli/validation/invalid-fulltext-directive/mapping.ts +0 -0
  217. package/tests/cli/validation/invalid-fulltext-directive/schema.graphql +0 -140
  218. package/tests/cli/validation/invalid-fulltext-directive/subgraph.yaml +0 -22
  219. package/tests/cli/validation/invalid-fulltext-directive.stderr +0 -32
  220. package/tests/cli/validation/invalid-graphql-schema/Abi.json +0 -7
  221. package/tests/cli/validation/invalid-graphql-schema/mapping.ts +0 -0
  222. package/tests/cli/validation/invalid-graphql-schema/schema.graphql +0 -8
  223. package/tests/cli/validation/invalid-graphql-schema/subgraph.yaml +0 -22
  224. package/tests/cli/validation/invalid-graphql-schema.stderr +0 -25
  225. package/tests/cli/validation/invalid-manifest/subgraph.yaml +0 -13
  226. package/tests/cli/validation/invalid-manifest-cannot-infer-protocol/subgraph.yaml +0 -12
  227. package/tests/cli/validation/invalid-manifest-cannot-infer-protocol.stderr +0 -5
  228. package/tests/cli/validation/invalid-manifest.stderr +0 -28
  229. package/tests/cli/validation/missing-entity-id/Abi.json +0 -7
  230. package/tests/cli/validation/missing-entity-id/mapping.ts +0 -0
  231. package/tests/cli/validation/missing-entity-id/schema.graphql +0 -3
  232. package/tests/cli/validation/missing-entity-id/subgraph.yaml +0 -22
  233. package/tests/cli/validation/missing-entity-id/types/ExampleSubgraph/ExampleContract.ts +0 -35
  234. package/tests/cli/validation/missing-entity-id/types/schema.ts +0 -27
  235. package/tests/cli/validation/missing-entity-id.stderr +0 -5
  236. package/tests/cli/validation/missing-or-invalid-derived-from-fields/Abi.json +0 -7
  237. package/tests/cli/validation/missing-or-invalid-derived-from-fields/mapping.ts +0 -0
  238. package/tests/cli/validation/missing-or-invalid-derived-from-fields/schema.graphql +0 -40
  239. package/tests/cli/validation/missing-or-invalid-derived-from-fields/subgraph.yaml +0 -22
  240. package/tests/cli/validation/missing-or-invalid-derived-from-fields.stderr +0 -10
  241. package/tests/cli/validation/missing-or-invalid-derived-from-fields.stdout +0 -0
  242. package/tests/cli/validation/near-is-valid/mapping.ts +0 -0
  243. package/tests/cli/validation/near-is-valid/schema.graphql +0 -8
  244. package/tests/cli/validation/near-is-valid/subgraph.yaml +0 -30
  245. package/tests/cli/validation/nested-template-nice-error/Abi.json +0 -7
  246. package/tests/cli/validation/nested-template-nice-error/mapping.ts +0 -0
  247. package/tests/cli/validation/nested-template-nice-error/schema.graphql +0 -3
  248. package/tests/cli/validation/nested-template-nice-error/subgraph.yaml +0 -35
  249. package/tests/cli/validation/nested-template-nice-error.stderr +0 -5
  250. package/tests/cli/validation/no-network-names/Abi.json +0 -7
  251. package/tests/cli/validation/no-network-names/mapping.ts +0 -0
  252. package/tests/cli/validation/no-network-names/schema.graphql +0 -3
  253. package/tests/cli/validation/no-network-names/subgraph.yaml +0 -40
  254. package/tests/cli/validation/no-network-names.stderr +0 -34
  255. package/tests/cli/validation/source-without-address-is-valid/Abi.json +0 -7
  256. package/tests/cli/validation/source-without-address-is-valid/generated/ExampleSubgraph/ExampleContract.ts +0 -35
  257. package/tests/cli/validation/source-without-address-is-valid/mapping.ts +0 -0
  258. package/tests/cli/validation/source-without-address-is-valid/schema.graphql +0 -3
  259. package/tests/cli/validation/source-without-address-is-valid/subgraph.yaml +0 -23
  260. package/tests/cli/validation/source-without-address-is-valid.stderr +0 -24
  261. package/tests/cli/validation/topic0-is-valid/Abi.json +0 -7
  262. package/tests/cli/validation/topic0-is-valid/mapping.ts +0 -0
  263. package/tests/cli/validation/topic0-is-valid/schema.graphql +0 -4
  264. package/tests/cli/validation/topic0-is-valid/subgraph.yaml +0 -24
  265. package/tests/cli/validation.test.ts +0 -226
  266. package/tsconfig.build.json +0 -4
  267. 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