@graphprotocol/graph-cli 0.36.1 → 0.37.1-alpha-20221207192322-dd39b34

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 (64) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +6 -3
  3. package/src/command-helpers/abi.js +2 -0
  4. package/src/command-helpers/compiler.js +1 -1
  5. package/src/command-helpers/network.test.js +13 -10
  6. package/src/commands/build.js +7 -3
  7. package/src/commands/codegen.js +5 -0
  8. package/src/commands/init.js +12 -3
  9. package/src/compiler/index.js +128 -73
  10. package/src/debug.js +15 -0
  11. package/src/protocols/index.js +140 -128
  12. package/src/protocols/substreams/manifest.graphql +45 -0
  13. package/src/protocols/substreams/scaffold/manifest.js +13 -0
  14. package/src/protocols/substreams/subgraph.js +17 -0
  15. package/src/scaffold/index.js +7 -2
  16. package/src/subgraph.js +14 -3
  17. package/tests/cli/validation/call-handler-with-tuple/generated/schema.ts +44 -0
  18. package/tests/cli/validation/example-values-found/generated/ExampleSubgraph/ExampleContract.ts +35 -0
  19. package/tests/cli/validation/example-values-found/generated/schema.ts +44 -0
  20. package/tests/cli/validation/source-without-address-is-valid/generated/ExampleSubgraph/ExampleContract.ts +35 -0
  21. package/.eslintrc +0 -10
  22. package/.prettierrc.json +0 -6
  23. package/.travis.yml +0 -37
  24. package/CONTRIBUTING.md +0 -16
  25. package/LICENSE-APACHE +0 -190
  26. package/LICENSE-MIT +0 -21
  27. package/NEWS.md +0 -80
  28. package/README.md +0 -146
  29. package/examples/basic-event-handlers/LICENSE +0 -21
  30. package/examples/basic-event-handlers/README.md +0 -3
  31. package/examples/basic-event-handlers/abis/Gravity.json +0 -1
  32. package/examples/basic-event-handlers/bin/Counter.bin +0 -1
  33. package/examples/basic-event-handlers/build/Gravity/Gravity.wasm +0 -0
  34. package/examples/basic-event-handlers/build/Gravity/abis/Gravity.json +0 -199
  35. package/examples/basic-event-handlers/build/schema.graphql +0 -13
  36. package/examples/basic-event-handlers/build/subgraph.yaml +0 -27
  37. package/examples/basic-event-handlers/contracts/Gravity.sol +0 -62
  38. package/examples/basic-event-handlers/contracts/Migrations.sol +0 -23
  39. package/examples/basic-event-handlers/generated/Gravity/Gravity.ts +0 -343
  40. package/examples/basic-event-handlers/generated/schema.ts +0 -133
  41. package/examples/basic-event-handlers/migrations/1_initial_migration.js +0 -5
  42. package/examples/basic-event-handlers/migrations/2_deploy_contract.js +0 -5
  43. package/examples/basic-event-handlers/migrations/3_create_gravatars.js +0 -14
  44. package/examples/basic-event-handlers/migrations/4_update_gravatars.js +0 -9
  45. package/examples/basic-event-handlers/package.json +0 -24
  46. package/examples/basic-event-handlers/schema.graphql +0 -13
  47. package/examples/basic-event-handlers/src/mapping.ts +0 -21
  48. package/examples/basic-event-handlers/subgraph.yaml +0 -27
  49. package/examples/basic-event-handlers/test/handlers.js +0 -110
  50. package/examples/basic-event-handlers/truffle.js +0 -34
  51. package/examples/basic-event-handlers/yarn.lock +0 -1027
  52. package/examples/example-subgraph/abis/ExampleContract.json +0 -2388
  53. package/examples/example-subgraph/dist/ExampleSubgraph/ExampleSubgraph.wasm +0 -0
  54. package/examples/example-subgraph/dist/ExampleSubgraph/abis/ExampleContract.json +0 -2394
  55. package/examples/example-subgraph/dist/abis/ExampleContract.json +0 -2388
  56. package/examples/example-subgraph/dist/schema.graphql +0 -37
  57. package/examples/example-subgraph/dist/subgraph.yaml +0 -26
  58. package/examples/example-subgraph/package.json +0 -15
  59. package/examples/example-subgraph/schema.graphql +0 -37
  60. package/examples/example-subgraph/src/mapping.ts +0 -286
  61. package/examples/example-subgraph/subgraph.yaml +0 -26
  62. package/examples/example-subgraph/yarn.lock +0 -28
  63. package/resources/test/docker-compose-standalone-node.yml +0 -20
  64. package/resources/test/docker-compose.yml +0 -43
@@ -1,199 +0,0 @@
1
- [
2
- {
3
- "constant": false,
4
- "inputs": [
5
- {
6
- "name": "_imageUrl",
7
- "type": "string"
8
- }
9
- ],
10
- "name": "updateGravatarImage",
11
- "outputs": [],
12
- "payable": false,
13
- "stateMutability": "nonpayable",
14
- "type": "function"
15
- },
16
- {
17
- "constant": false,
18
- "inputs": [],
19
- "name": "setMythicalGravatar",
20
- "outputs": [],
21
- "payable": false,
22
- "stateMutability": "nonpayable",
23
- "type": "function"
24
- },
25
- {
26
- "constant": true,
27
- "inputs": [
28
- {
29
- "name": "owner",
30
- "type": "address"
31
- }
32
- ],
33
- "name": "getGravatar",
34
- "outputs": [
35
- {
36
- "name": "",
37
- "type": "string"
38
- },
39
- {
40
- "name": "",
41
- "type": "string"
42
- }
43
- ],
44
- "payable": false,
45
- "stateMutability": "view",
46
- "type": "function"
47
- },
48
- {
49
- "constant": true,
50
- "inputs": [
51
- {
52
- "name": "",
53
- "type": "uint256"
54
- }
55
- ],
56
- "name": "gravatarToOwner",
57
- "outputs": [
58
- {
59
- "name": "",
60
- "type": "address"
61
- }
62
- ],
63
- "payable": false,
64
- "stateMutability": "view",
65
- "type": "function"
66
- },
67
- {
68
- "constant": true,
69
- "inputs": [
70
- {
71
- "name": "",
72
- "type": "address"
73
- }
74
- ],
75
- "name": "ownerToGravatar",
76
- "outputs": [
77
- {
78
- "name": "",
79
- "type": "uint256"
80
- }
81
- ],
82
- "payable": false,
83
- "stateMutability": "view",
84
- "type": "function"
85
- },
86
- {
87
- "constant": false,
88
- "inputs": [
89
- {
90
- "name": "_displayName",
91
- "type": "string"
92
- }
93
- ],
94
- "name": "updateGravatarName",
95
- "outputs": [],
96
- "payable": false,
97
- "stateMutability": "nonpayable",
98
- "type": "function"
99
- },
100
- {
101
- "constant": false,
102
- "inputs": [
103
- {
104
- "name": "_displayName",
105
- "type": "string"
106
- },
107
- {
108
- "name": "_imageUrl",
109
- "type": "string"
110
- }
111
- ],
112
- "name": "createGravatar",
113
- "outputs": [],
114
- "payable": false,
115
- "stateMutability": "nonpayable",
116
- "type": "function"
117
- },
118
- {
119
- "constant": true,
120
- "inputs": [
121
- {
122
- "name": "",
123
- "type": "uint256"
124
- }
125
- ],
126
- "name": "gravatars",
127
- "outputs": [
128
- {
129
- "name": "owner",
130
- "type": "address"
131
- },
132
- {
133
- "name": "displayName",
134
- "type": "string"
135
- },
136
- {
137
- "name": "imageUrl",
138
- "type": "string"
139
- }
140
- ],
141
- "payable": false,
142
- "stateMutability": "view",
143
- "type": "function"
144
- },
145
- {
146
- "anonymous": false,
147
- "inputs": [
148
- {
149
- "indexed": false,
150
- "name": "id",
151
- "type": "uint256"
152
- },
153
- {
154
- "indexed": false,
155
- "name": "owner",
156
- "type": "address"
157
- },
158
- {
159
- "indexed": false,
160
- "name": "displayName",
161
- "type": "string"
162
- },
163
- {
164
- "indexed": false,
165
- "name": "imageUrl",
166
- "type": "string"
167
- }
168
- ],
169
- "name": "NewGravatar",
170
- "type": "event"
171
- },
172
- {
173
- "anonymous": false,
174
- "inputs": [
175
- {
176
- "indexed": false,
177
- "name": "id",
178
- "type": "uint256"
179
- },
180
- {
181
- "indexed": false,
182
- "name": "owner",
183
- "type": "address"
184
- },
185
- {
186
- "indexed": false,
187
- "name": "displayName",
188
- "type": "string"
189
- },
190
- {
191
- "indexed": false,
192
- "name": "imageUrl",
193
- "type": "string"
194
- }
195
- ],
196
- "name": "UpdatedGravatar",
197
- "type": "event"
198
- }
199
- ]
@@ -1,13 +0,0 @@
1
- type NewGravatar @entity {
2
- id: ID!
3
- owner: Bytes!
4
- displayName: String!
5
- imageUrl: String!
6
- }
7
-
8
- type UpdatedGravatar @entity {
9
- id: ID!
10
- owner: Bytes!
11
- displayName: String!
12
- imageUrl: String!
13
- }
@@ -1,27 +0,0 @@
1
- specVersion: 0.0.5
2
- description: Gravatar for Ethereum
3
- repository: https://github.com/graphprotocol/example-subgraph
4
- schema:
5
- file: schema.graphql
6
- dataSources:
7
- - kind: ethereum/contract
8
- name: Gravity
9
- network: test
10
- source:
11
- address: '0xCfEB869F69431e42cdB54A4F4f105C19C080A601'
12
- abi: Gravity
13
- mapping:
14
- kind: ethereum/events
15
- apiVersion: 0.0.7
16
- language: wasm/assemblyscript
17
- entities:
18
- - Gravatar
19
- abis:
20
- - name: Gravity
21
- file: Gravity/abis/Gravity.json
22
- eventHandlers:
23
- - event: NewGravatar(uint256,address,string,string)
24
- handler: handleNewGravatar
25
- - event: UpdatedGravatar(uint256,address,string,string)
26
- handler: handleUpdatedGravatar
27
- file: Gravity/Gravity.wasm
@@ -1,62 +0,0 @@
1
- pragma solidity ^0.4.0;
2
-
3
- contract GravatarRegistry {
4
- event NewGravatar(uint id, address owner, string displayName, string imageUrl);
5
- event UpdatedGravatar(uint id, address owner, string displayName, string imageUrl);
6
-
7
- struct Gravatar {
8
- address owner;
9
- string displayName;
10
- string imageUrl;
11
- }
12
-
13
- Gravatar[] public gravatars;
14
-
15
- mapping (uint => address) public gravatarToOwner;
16
- mapping (address => uint) public ownerToGravatar;
17
-
18
- function createGravatar(string _displayName, string _imageUrl) public {
19
- require(ownerToGravatar[msg.sender] == 0);
20
- uint id = gravatars.push(Gravatar(msg.sender, _displayName, _imageUrl)) - 1;
21
-
22
- gravatarToOwner[id] = msg.sender;
23
- ownerToGravatar[msg.sender] = id;
24
-
25
- emit NewGravatar(id, msg.sender, _displayName, _imageUrl);
26
- }
27
-
28
- function getGravatar(address owner) public view returns (string, string) {
29
- uint id = ownerToGravatar[owner];
30
- return (gravatars[id].displayName, gravatars[id].imageUrl);
31
- }
32
-
33
- function updateGravatarName(string _displayName) public {
34
- require(ownerToGravatar[msg.sender] != 0);
35
- require(msg.sender == gravatars[ownerToGravatar[msg.sender]].owner);
36
-
37
- uint id = ownerToGravatar[msg.sender];
38
-
39
- gravatars[id].displayName = _displayName;
40
- emit UpdatedGravatar(id, msg.sender, _displayName, gravatars[id].imageUrl);
41
- }
42
-
43
- function updateGravatarImage(string _imageUrl) public {
44
- require(ownerToGravatar[msg.sender] != 0);
45
- require(msg.sender == gravatars[ownerToGravatar[msg.sender]].owner);
46
-
47
- uint id = ownerToGravatar[msg.sender];
48
-
49
- gravatars[id].imageUrl = _imageUrl;
50
- emit UpdatedGravatar(id, msg.sender, gravatars[id].displayName, _imageUrl);
51
- }
52
-
53
- // the gravatar at position 0 of gravatars[]
54
- // is fake
55
- // it's a mythical gravatar
56
- // that doesn't really exist
57
- // dani will invoke this function once when this contract is deployed
58
- // but then no more
59
- function setMythicalGravatar() public {
60
- gravatars.push(Gravatar(0x0, " ", " "));
61
- }
62
- }
@@ -1,23 +0,0 @@
1
- pragma solidity ^0.4.0;
2
-
3
- contract Migrations {
4
- address public owner;
5
- uint public last_completed_migration;
6
-
7
- constructor() public {
8
- owner = msg.sender;
9
- }
10
-
11
- modifier restricted() {
12
- if (msg.sender == owner) _;
13
- }
14
-
15
- function setCompleted(uint completed) public restricted {
16
- last_completed_migration = completed;
17
- }
18
-
19
- function upgrade(address new_address) public restricted {
20
- Migrations upgraded = Migrations(new_address);
21
- upgraded.setCompleted(last_completed_migration);
22
- }
23
- }
@@ -1,343 +0,0 @@
1
- // THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
-
3
- import {
4
- ethereum,
5
- JSONValue,
6
- TypedMap,
7
- Entity,
8
- Bytes,
9
- Address,
10
- BigInt
11
- } from "@graphprotocol/graph-ts";
12
-
13
- export class NewGravatar extends ethereum.Event {
14
- get params(): NewGravatar__Params {
15
- return new NewGravatar__Params(this);
16
- }
17
- }
18
-
19
- export class NewGravatar__Params {
20
- _event: NewGravatar;
21
-
22
- constructor(event: NewGravatar) {
23
- this._event = event;
24
- }
25
-
26
- get id(): BigInt {
27
- return this._event.parameters[0].value.toBigInt();
28
- }
29
-
30
- get owner(): Address {
31
- return this._event.parameters[1].value.toAddress();
32
- }
33
-
34
- get displayName(): string {
35
- return this._event.parameters[2].value.toString();
36
- }
37
-
38
- get imageUrl(): string {
39
- return this._event.parameters[3].value.toString();
40
- }
41
- }
42
-
43
- export class UpdatedGravatar extends ethereum.Event {
44
- get params(): UpdatedGravatar__Params {
45
- return new UpdatedGravatar__Params(this);
46
- }
47
- }
48
-
49
- export class UpdatedGravatar__Params {
50
- _event: UpdatedGravatar;
51
-
52
- constructor(event: UpdatedGravatar) {
53
- this._event = event;
54
- }
55
-
56
- get id(): BigInt {
57
- return this._event.parameters[0].value.toBigInt();
58
- }
59
-
60
- get owner(): Address {
61
- return this._event.parameters[1].value.toAddress();
62
- }
63
-
64
- get displayName(): string {
65
- return this._event.parameters[2].value.toString();
66
- }
67
-
68
- get imageUrl(): string {
69
- return this._event.parameters[3].value.toString();
70
- }
71
- }
72
-
73
- export class Gravity__getGravatarResult {
74
- value0: string;
75
- value1: string;
76
-
77
- constructor(value0: string, value1: string) {
78
- this.value0 = value0;
79
- this.value1 = value1;
80
- }
81
-
82
- toMap(): TypedMap<string, ethereum.Value> {
83
- let map = new TypedMap<string, ethereum.Value>();
84
- map.set("value0", ethereum.Value.fromString(this.value0));
85
- map.set("value1", ethereum.Value.fromString(this.value1));
86
- return map;
87
- }
88
- }
89
-
90
- export class Gravity__gravatarsResult {
91
- value0: Address;
92
- value1: string;
93
- value2: string;
94
-
95
- constructor(value0: Address, value1: string, value2: string) {
96
- this.value0 = value0;
97
- this.value1 = value1;
98
- this.value2 = value2;
99
- }
100
-
101
- toMap(): TypedMap<string, ethereum.Value> {
102
- let map = new TypedMap<string, ethereum.Value>();
103
- map.set("value0", ethereum.Value.fromAddress(this.value0));
104
- map.set("value1", ethereum.Value.fromString(this.value1));
105
- map.set("value2", ethereum.Value.fromString(this.value2));
106
- return map;
107
- }
108
- }
109
-
110
- export class Gravity extends ethereum.SmartContract {
111
- static bind(address: Address): Gravity {
112
- return new Gravity("Gravity", address);
113
- }
114
-
115
- getGravatar(owner: Address): Gravity__getGravatarResult {
116
- let result = super.call(
117
- "getGravatar",
118
- "getGravatar(address):(string,string)",
119
- [ethereum.Value.fromAddress(owner)]
120
- );
121
-
122
- return new Gravity__getGravatarResult(
123
- result[0].toString(),
124
- result[1].toString()
125
- );
126
- }
127
-
128
- try_getGravatar(
129
- owner: Address
130
- ): ethereum.CallResult<Gravity__getGravatarResult> {
131
- let result = super.tryCall(
132
- "getGravatar",
133
- "getGravatar(address):(string,string)",
134
- [ethereum.Value.fromAddress(owner)]
135
- );
136
- if (result.reverted) {
137
- return new ethereum.CallResult();
138
- }
139
- let value = result.value;
140
- return ethereum.CallResult.fromValue(
141
- new Gravity__getGravatarResult(value[0].toString(), value[1].toString())
142
- );
143
- }
144
-
145
- gravatarToOwner(param0: BigInt): Address {
146
- let result = super.call(
147
- "gravatarToOwner",
148
- "gravatarToOwner(uint256):(address)",
149
- [ethereum.Value.fromUnsignedBigInt(param0)]
150
- );
151
-
152
- return result[0].toAddress();
153
- }
154
-
155
- try_gravatarToOwner(param0: BigInt): ethereum.CallResult<Address> {
156
- let result = super.tryCall(
157
- "gravatarToOwner",
158
- "gravatarToOwner(uint256):(address)",
159
- [ethereum.Value.fromUnsignedBigInt(param0)]
160
- );
161
- if (result.reverted) {
162
- return new ethereum.CallResult();
163
- }
164
- let value = result.value;
165
- return ethereum.CallResult.fromValue(value[0].toAddress());
166
- }
167
-
168
- ownerToGravatar(param0: Address): BigInt {
169
- let result = super.call(
170
- "ownerToGravatar",
171
- "ownerToGravatar(address):(uint256)",
172
- [ethereum.Value.fromAddress(param0)]
173
- );
174
-
175
- return result[0].toBigInt();
176
- }
177
-
178
- try_ownerToGravatar(param0: Address): ethereum.CallResult<BigInt> {
179
- let result = super.tryCall(
180
- "ownerToGravatar",
181
- "ownerToGravatar(address):(uint256)",
182
- [ethereum.Value.fromAddress(param0)]
183
- );
184
- if (result.reverted) {
185
- return new ethereum.CallResult();
186
- }
187
- let value = result.value;
188
- return ethereum.CallResult.fromValue(value[0].toBigInt());
189
- }
190
-
191
- gravatars(param0: BigInt): Gravity__gravatarsResult {
192
- let result = super.call(
193
- "gravatars",
194
- "gravatars(uint256):(address,string,string)",
195
- [ethereum.Value.fromUnsignedBigInt(param0)]
196
- );
197
-
198
- return new Gravity__gravatarsResult(
199
- result[0].toAddress(),
200
- result[1].toString(),
201
- result[2].toString()
202
- );
203
- }
204
-
205
- try_gravatars(param0: BigInt): ethereum.CallResult<Gravity__gravatarsResult> {
206
- let result = super.tryCall(
207
- "gravatars",
208
- "gravatars(uint256):(address,string,string)",
209
- [ethereum.Value.fromUnsignedBigInt(param0)]
210
- );
211
- if (result.reverted) {
212
- return new ethereum.CallResult();
213
- }
214
- let value = result.value;
215
- return ethereum.CallResult.fromValue(
216
- new Gravity__gravatarsResult(
217
- value[0].toAddress(),
218
- value[1].toString(),
219
- value[2].toString()
220
- )
221
- );
222
- }
223
- }
224
-
225
- export class UpdateGravatarImageCall extends ethereum.Call {
226
- get inputs(): UpdateGravatarImageCall__Inputs {
227
- return new UpdateGravatarImageCall__Inputs(this);
228
- }
229
-
230
- get outputs(): UpdateGravatarImageCall__Outputs {
231
- return new UpdateGravatarImageCall__Outputs(this);
232
- }
233
- }
234
-
235
- export class UpdateGravatarImageCall__Inputs {
236
- _call: UpdateGravatarImageCall;
237
-
238
- constructor(call: UpdateGravatarImageCall) {
239
- this._call = call;
240
- }
241
-
242
- get _imageUrl(): string {
243
- return this._call.inputValues[0].value.toString();
244
- }
245
- }
246
-
247
- export class UpdateGravatarImageCall__Outputs {
248
- _call: UpdateGravatarImageCall;
249
-
250
- constructor(call: UpdateGravatarImageCall) {
251
- this._call = call;
252
- }
253
- }
254
-
255
- export class SetMythicalGravatarCall extends ethereum.Call {
256
- get inputs(): SetMythicalGravatarCall__Inputs {
257
- return new SetMythicalGravatarCall__Inputs(this);
258
- }
259
-
260
- get outputs(): SetMythicalGravatarCall__Outputs {
261
- return new SetMythicalGravatarCall__Outputs(this);
262
- }
263
- }
264
-
265
- export class SetMythicalGravatarCall__Inputs {
266
- _call: SetMythicalGravatarCall;
267
-
268
- constructor(call: SetMythicalGravatarCall) {
269
- this._call = call;
270
- }
271
- }
272
-
273
- export class SetMythicalGravatarCall__Outputs {
274
- _call: SetMythicalGravatarCall;
275
-
276
- constructor(call: SetMythicalGravatarCall) {
277
- this._call = call;
278
- }
279
- }
280
-
281
- export class UpdateGravatarNameCall extends ethereum.Call {
282
- get inputs(): UpdateGravatarNameCall__Inputs {
283
- return new UpdateGravatarNameCall__Inputs(this);
284
- }
285
-
286
- get outputs(): UpdateGravatarNameCall__Outputs {
287
- return new UpdateGravatarNameCall__Outputs(this);
288
- }
289
- }
290
-
291
- export class UpdateGravatarNameCall__Inputs {
292
- _call: UpdateGravatarNameCall;
293
-
294
- constructor(call: UpdateGravatarNameCall) {
295
- this._call = call;
296
- }
297
-
298
- get _displayName(): string {
299
- return this._call.inputValues[0].value.toString();
300
- }
301
- }
302
-
303
- export class UpdateGravatarNameCall__Outputs {
304
- _call: UpdateGravatarNameCall;
305
-
306
- constructor(call: UpdateGravatarNameCall) {
307
- this._call = call;
308
- }
309
- }
310
-
311
- export class CreateGravatarCall extends ethereum.Call {
312
- get inputs(): CreateGravatarCall__Inputs {
313
- return new CreateGravatarCall__Inputs(this);
314
- }
315
-
316
- get outputs(): CreateGravatarCall__Outputs {
317
- return new CreateGravatarCall__Outputs(this);
318
- }
319
- }
320
-
321
- export class CreateGravatarCall__Inputs {
322
- _call: CreateGravatarCall;
323
-
324
- constructor(call: CreateGravatarCall) {
325
- this._call = call;
326
- }
327
-
328
- get _displayName(): string {
329
- return this._call.inputValues[0].value.toString();
330
- }
331
-
332
- get _imageUrl(): string {
333
- return this._call.inputValues[1].value.toString();
334
- }
335
- }
336
-
337
- export class CreateGravatarCall__Outputs {
338
- _call: CreateGravatarCall;
339
-
340
- constructor(call: CreateGravatarCall) {
341
- this._call = call;
342
- }
343
- }