diff --git a/basick.yaml b/basick.yaml index 5e7dbe1..c480ae5 100644 --- a/basick.yaml +++ b/basick.yaml @@ -1,6 +1,6 @@ manifestVersion: subsquid.io/v0.1 name: basick -version: 8 +version: 9 description: 'SubSquid indexer for Base' build: deploy: diff --git a/package-lock.json b/package-lock.json index f5f7e1a..f339306 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,8 +10,8 @@ "@kodadot1/metasquid": "^0.3.0-rc.0", "@kodadot1/minipfs": "^0.4.3-rc.2", "@subsquid/archive-registry": "^3.3.2", - "@subsquid/evm-processor": "^1.19.1", - "@subsquid/graphql-server": "^4.6.0", + "@subsquid/evm-processor": "^1.19.2", + "@subsquid/graphql-server": "^4.7.0", "@subsquid/typeorm-migration": "^1.3.0", "@subsquid/typeorm-store": "^1.5.1", "dotenv": "^16.4.5", @@ -22,8 +22,8 @@ "typeorm": "^0.3.20" }, "devDependencies": { - "@subsquid/evm-typegen": "^4.1.2", - "@subsquid/typeorm-codegen": "^2.0.1", + "@subsquid/evm-typegen": "^4.3.0", + "@subsquid/typeorm-codegen": "^2.0.2", "@types/md5": "^2.3.5", "@types/node": "^20.12.11", "typescript": "~5.4.5" @@ -556,28 +556,28 @@ } }, "node_modules/@subsquid/evm-abi": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@subsquid/evm-abi/-/evm-abi-0.2.2.tgz", - "integrity": "sha512-F5dBnri/PuhqQe9yGRSr3VB1U5TyfPqrsT5OaSsUgnJ9SFcN5j9MQkNXQcSWfILOYp8xjHq4EarG35zKQJts4A==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@subsquid/evm-abi/-/evm-abi-0.3.0.tgz", + "integrity": "sha512-6Rc0ClZCtuHfA6Mxxo+fJO4/j0MfOB2KZ+zpm+LGURLfAw5gAlgN/+a3rhcLkn/m/hI0k2f744djOkUn0LN1cg==", "dev": true, "dependencies": { - "@subsquid/evm-codec": "^0.2.1", + "@subsquid/evm-codec": "^0.3.0", "keccak256": "^1.0.6" } }, "node_modules/@subsquid/evm-codec": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@subsquid/evm-codec/-/evm-codec-0.2.1.tgz", - "integrity": "sha512-xS7t0gjYq5PbBqNI0h3CUYyL7Mgy9CHsqCooVyDcI2P2xLcSka9iYolCUA44VWJ30vIs51c/PLXeCgIs0lX2BA==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@subsquid/evm-codec/-/evm-codec-0.3.0.tgz", + "integrity": "sha512-W6EIiC7MJN2oWdbgzpUSDop+UtROdFAlvsrzc10g3AnCAaK31nH59tkTjylRxgECewWFCFWZrwsVp+a+lwvXMA==", "dev": true, "dependencies": { "@subsquid/util-internal-hex": "^1.2.2" } }, "node_modules/@subsquid/evm-processor": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@subsquid/evm-processor/-/evm-processor-1.19.1.tgz", - "integrity": "sha512-wJIzd5bMDDZmOZ0cgjzobqdFt+UtBRwEb4jtpb47Z4uZuPketrKSxG3njcs3V6DaqbdwAXiHBmWhbo7TMkHjPQ==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@subsquid/evm-processor/-/evm-processor-1.19.2.tgz", + "integrity": "sha512-7RyRUQpavwkcvYSD3SgNa1J4jIh1CV/7dtTWze/aAiwozUwTfxpe3/305v9nj+Dlbh3v6wczbibQnZoRAy3RHA==", "dependencies": { "@subsquid/http-client": "^1.4.0", "@subsquid/logger": "^1.3.3", @@ -585,7 +585,7 @@ "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-archive-client": "^0.1.2", "@subsquid/util-internal-hex": "^1.2.2", - "@subsquid/util-internal-ingest-tools": "^1.1.2", + "@subsquid/util-internal-ingest-tools": "^1.1.4", "@subsquid/util-internal-processor-tools": "^4.1.1", "@subsquid/util-internal-range": "^0.3.0", "@subsquid/util-internal-validation": "^0.5.0", @@ -602,13 +602,13 @@ } }, "node_modules/@subsquid/evm-typegen": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@subsquid/evm-typegen/-/evm-typegen-4.1.2.tgz", - "integrity": "sha512-X+E5lxnl8zUuWUoD/qT5T6DW8f87XUAcFGOItAFV1izCa0kRJwZsQTcUzwtAmfX4uyOoOI+JBJvOxMfNIDJ5kQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@subsquid/evm-typegen/-/evm-typegen-4.3.0.tgz", + "integrity": "sha512-a/9MyePxlKmWpcsAopcZXBeNv+W0Mf39j7USOeHyE9QYJ7avF6baMsOQFvzbOwlk8s6w/uEURMxAMvnKgCWo5Q==", "dev": true, "dependencies": { - "@subsquid/evm-abi": "^0.2.2", - "@subsquid/evm-codec": "^0.2.1", + "@subsquid/evm-abi": "^0.3.0", + "@subsquid/evm-codec": "^0.3.0", "@subsquid/http-client": "^1.4.0", "@subsquid/logger": "^1.3.3", "@subsquid/util-internal": "^3.2.0", @@ -644,9 +644,9 @@ "integrity": "sha512-C89mus6IXnNi0xMQrZqUFBZwLj8tbuq9lye8Gq/lHmmERAUpi6UsWEyLdJLx2mneZzF3JtY8eNiiZ16jmjtvfw==" }, "node_modules/@subsquid/graphql-server": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@subsquid/graphql-server/-/graphql-server-4.6.0.tgz", - "integrity": "sha512-urQr5yLgYaPKSkCDQQ7ZwmpnYDOFfUSIKGxA7qk5LFoJlIJ+ycO4rkzb3ln29LrhSw25D3E/ZfrDlS+PFnV4ZA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@subsquid/graphql-server/-/graphql-server-4.7.0.tgz", + "integrity": "sha512-KzpiMT3veTSWdYMcnsleqJyzgeYfuO1z9u9qjC24Q4cCvp/4eMhWbxp0oUYnpWwwaZYGL/wACMvulpYEB3ndxQ==", "dependencies": { "@apollo/utils.keyvadapter": "~1.1.2", "@apollo/utils.keyvaluecache": "~1.0.2", @@ -655,7 +655,7 @@ "@graphql-tools/utils": "^10.0.11", "@keyv/redis": "~2.5.8", "@subsquid/logger": "^1.3.3", - "@subsquid/openreader": "^4.6.0", + "@subsquid/openreader": "^5.0.0", "@subsquid/typeorm-config": "^4.1.1", "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-commander": "^1.4.0", @@ -734,9 +734,9 @@ } }, "node_modules/@subsquid/openreader": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@subsquid/openreader/-/openreader-4.6.0.tgz", - "integrity": "sha512-/05vSoKP3UHxU6GJYfKcfSIi4bWfzbr9x/H2wW5XxE4uc8gFeaVZHCmQMTaO9941oK//9rk9BQTH5Slhwuj7gw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@subsquid/openreader/-/openreader-5.0.0.tgz", + "integrity": "sha512-sSi2PtZcTBW6ZAhquIrFF5R6sQigtz0cJHdJV4S0uAEp+QzZhRA/GRVNmMw/Ab9gPd7Meiq+18PbsfN08IBedw==", "dependencies": { "@graphql-tools/merge": "^9.0.1", "@subsquid/graphiql-console": "^0.3.0", @@ -754,6 +754,7 @@ "graphql": "^15.8.0", "graphql-parse-resolve-info": "^4.14.0", "graphql-ws": "^5.14.2", + "inflected": "^2.1.0", "pg": "^8.11.3", "ws": "^8.14.2" }, @@ -917,12 +918,12 @@ } }, "node_modules/@subsquid/typeorm-codegen": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@subsquid/typeorm-codegen/-/typeorm-codegen-2.0.1.tgz", - "integrity": "sha512-OVQTHSn538lzxgZuuf4NJiRvoHPuAmAK2Hfr4PEhaAVJg1AufjXL5CjZUjDOZEFgepgS7GH40RVZJEq7E0obzg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@subsquid/typeorm-codegen/-/typeorm-codegen-2.0.2.tgz", + "integrity": "sha512-MDeA4LrqbRIYpmlwRdO1GyPzq+pfIS17VAgkMbYx2LtyqMbSvIaYU5D+iE0QMJr/XvO4bXC8+qZ6Fx4kIMuvfw==", "dev": true, "dependencies": { - "@subsquid/openreader": "^4.6.0", + "@subsquid/openreader": "^5.0.0", "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-code-printer": "^1.2.2", "@subsquid/util-naming": "^1.3.0", @@ -1065,12 +1066,12 @@ } }, "node_modules/@subsquid/util-internal-ingest-tools": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@subsquid/util-internal-ingest-tools/-/util-internal-ingest-tools-1.1.2.tgz", - "integrity": "sha512-1fgi4W6x1B2+fYLGwjo+R4FjbLvR2b9h2/0EEqT8Ww6o4V15EubLf1TjBr8o/AWGN5Y/eYaMqWlFzbQsKQlcUQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@subsquid/util-internal-ingest-tools/-/util-internal-ingest-tools-1.1.4.tgz", + "integrity": "sha512-2xWyqfg0mITsNdsYuGi3++UTy/D04N69KovyW5Rd71zCDSEedV0ePX5hQl/IT/o+H/u++HcXPggwJMVl09g6kQ==", "dependencies": { "@subsquid/logger": "^1.3.3", - "@subsquid/util-internal": "^3.1.0", + "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-range": "^0.3.0" }, "peerDependencies": { @@ -2695,9 +2696,9 @@ } }, "node_modules/graphql-parse-resolve-info/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dependencies": { "ms": "2.1.2" }, @@ -5104,28 +5105,28 @@ } }, "@subsquid/evm-abi": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@subsquid/evm-abi/-/evm-abi-0.2.2.tgz", - "integrity": "sha512-F5dBnri/PuhqQe9yGRSr3VB1U5TyfPqrsT5OaSsUgnJ9SFcN5j9MQkNXQcSWfILOYp8xjHq4EarG35zKQJts4A==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@subsquid/evm-abi/-/evm-abi-0.3.0.tgz", + "integrity": "sha512-6Rc0ClZCtuHfA6Mxxo+fJO4/j0MfOB2KZ+zpm+LGURLfAw5gAlgN/+a3rhcLkn/m/hI0k2f744djOkUn0LN1cg==", "dev": true, "requires": { - "@subsquid/evm-codec": "^0.2.1", + "@subsquid/evm-codec": "^0.3.0", "keccak256": "^1.0.6" } }, "@subsquid/evm-codec": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@subsquid/evm-codec/-/evm-codec-0.2.1.tgz", - "integrity": "sha512-xS7t0gjYq5PbBqNI0h3CUYyL7Mgy9CHsqCooVyDcI2P2xLcSka9iYolCUA44VWJ30vIs51c/PLXeCgIs0lX2BA==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@subsquid/evm-codec/-/evm-codec-0.3.0.tgz", + "integrity": "sha512-W6EIiC7MJN2oWdbgzpUSDop+UtROdFAlvsrzc10g3AnCAaK31nH59tkTjylRxgECewWFCFWZrwsVp+a+lwvXMA==", "dev": true, "requires": { "@subsquid/util-internal-hex": "^1.2.2" } }, "@subsquid/evm-processor": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@subsquid/evm-processor/-/evm-processor-1.19.1.tgz", - "integrity": "sha512-wJIzd5bMDDZmOZ0cgjzobqdFt+UtBRwEb4jtpb47Z4uZuPketrKSxG3njcs3V6DaqbdwAXiHBmWhbo7TMkHjPQ==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@subsquid/evm-processor/-/evm-processor-1.19.2.tgz", + "integrity": "sha512-7RyRUQpavwkcvYSD3SgNa1J4jIh1CV/7dtTWze/aAiwozUwTfxpe3/305v9nj+Dlbh3v6wczbibQnZoRAy3RHA==", "requires": { "@subsquid/http-client": "^1.4.0", "@subsquid/logger": "^1.3.3", @@ -5133,7 +5134,7 @@ "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-archive-client": "^0.1.2", "@subsquid/util-internal-hex": "^1.2.2", - "@subsquid/util-internal-ingest-tools": "^1.1.2", + "@subsquid/util-internal-ingest-tools": "^1.1.4", "@subsquid/util-internal-processor-tools": "^4.1.1", "@subsquid/util-internal-range": "^0.3.0", "@subsquid/util-internal-validation": "^0.5.0", @@ -5152,13 +5153,13 @@ } }, "@subsquid/evm-typegen": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@subsquid/evm-typegen/-/evm-typegen-4.1.2.tgz", - "integrity": "sha512-X+E5lxnl8zUuWUoD/qT5T6DW8f87XUAcFGOItAFV1izCa0kRJwZsQTcUzwtAmfX4uyOoOI+JBJvOxMfNIDJ5kQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@subsquid/evm-typegen/-/evm-typegen-4.3.0.tgz", + "integrity": "sha512-a/9MyePxlKmWpcsAopcZXBeNv+W0Mf39j7USOeHyE9QYJ7avF6baMsOQFvzbOwlk8s6w/uEURMxAMvnKgCWo5Q==", "dev": true, "requires": { - "@subsquid/evm-abi": "^0.2.2", - "@subsquid/evm-codec": "^0.2.1", + "@subsquid/evm-abi": "^0.3.0", + "@subsquid/evm-codec": "^0.3.0", "@subsquid/http-client": "^1.4.0", "@subsquid/logger": "^1.3.3", "@subsquid/util-internal": "^3.2.0", @@ -5188,9 +5189,9 @@ "integrity": "sha512-C89mus6IXnNi0xMQrZqUFBZwLj8tbuq9lye8Gq/lHmmERAUpi6UsWEyLdJLx2mneZzF3JtY8eNiiZ16jmjtvfw==" }, "@subsquid/graphql-server": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@subsquid/graphql-server/-/graphql-server-4.6.0.tgz", - "integrity": "sha512-urQr5yLgYaPKSkCDQQ7ZwmpnYDOFfUSIKGxA7qk5LFoJlIJ+ycO4rkzb3ln29LrhSw25D3E/ZfrDlS+PFnV4ZA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@subsquid/graphql-server/-/graphql-server-4.7.0.tgz", + "integrity": "sha512-KzpiMT3veTSWdYMcnsleqJyzgeYfuO1z9u9qjC24Q4cCvp/4eMhWbxp0oUYnpWwwaZYGL/wACMvulpYEB3ndxQ==", "requires": { "@apollo/utils.keyvadapter": "~1.1.2", "@apollo/utils.keyvaluecache": "~1.0.2", @@ -5199,7 +5200,7 @@ "@graphql-tools/utils": "^10.0.11", "@keyv/redis": "~2.5.8", "@subsquid/logger": "^1.3.3", - "@subsquid/openreader": "^4.6.0", + "@subsquid/openreader": "^5.0.0", "@subsquid/typeorm-config": "^4.1.1", "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-commander": "^1.4.0", @@ -5252,9 +5253,9 @@ } }, "@subsquid/openreader": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@subsquid/openreader/-/openreader-4.6.0.tgz", - "integrity": "sha512-/05vSoKP3UHxU6GJYfKcfSIi4bWfzbr9x/H2wW5XxE4uc8gFeaVZHCmQMTaO9941oK//9rk9BQTH5Slhwuj7gw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@subsquid/openreader/-/openreader-5.0.0.tgz", + "integrity": "sha512-sSi2PtZcTBW6ZAhquIrFF5R6sQigtz0cJHdJV4S0uAEp+QzZhRA/GRVNmMw/Ab9gPd7Meiq+18PbsfN08IBedw==", "requires": { "@graphql-tools/merge": "^9.0.1", "@subsquid/graphiql-console": "^0.3.0", @@ -5272,6 +5273,7 @@ "graphql": "^15.8.0", "graphql-parse-resolve-info": "^4.14.0", "graphql-ws": "^5.14.2", + "inflected": "^2.1.0", "pg": "^8.11.3", "ws": "^8.14.2" }, @@ -5407,12 +5409,12 @@ } }, "@subsquid/typeorm-codegen": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@subsquid/typeorm-codegen/-/typeorm-codegen-2.0.1.tgz", - "integrity": "sha512-OVQTHSn538lzxgZuuf4NJiRvoHPuAmAK2Hfr4PEhaAVJg1AufjXL5CjZUjDOZEFgepgS7GH40RVZJEq7E0obzg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@subsquid/typeorm-codegen/-/typeorm-codegen-2.0.2.tgz", + "integrity": "sha512-MDeA4LrqbRIYpmlwRdO1GyPzq+pfIS17VAgkMbYx2LtyqMbSvIaYU5D+iE0QMJr/XvO4bXC8+qZ6Fx4kIMuvfw==", "dev": true, "requires": { - "@subsquid/openreader": "^4.6.0", + "@subsquid/openreader": "^5.0.0", "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-code-printer": "^1.2.2", "@subsquid/util-naming": "^1.3.0", @@ -5521,12 +5523,12 @@ } }, "@subsquid/util-internal-ingest-tools": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@subsquid/util-internal-ingest-tools/-/util-internal-ingest-tools-1.1.2.tgz", - "integrity": "sha512-1fgi4W6x1B2+fYLGwjo+R4FjbLvR2b9h2/0EEqT8Ww6o4V15EubLf1TjBr8o/AWGN5Y/eYaMqWlFzbQsKQlcUQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@subsquid/util-internal-ingest-tools/-/util-internal-ingest-tools-1.1.4.tgz", + "integrity": "sha512-2xWyqfg0mITsNdsYuGi3++UTy/D04N69KovyW5Rd71zCDSEedV0ePX5hQl/IT/o+H/u++HcXPggwJMVl09g6kQ==", "requires": { "@subsquid/logger": "^1.3.3", - "@subsquid/util-internal": "^3.1.0", + "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-range": "^0.3.0" }, "dependencies": { @@ -6756,9 +6758,9 @@ }, "dependencies": { "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "requires": { "ms": "2.1.2" } diff --git a/package.json b/package.json index add6f96..6a9407f 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ "@kodadot1/metasquid": "^0.3.0-rc.0", "@kodadot1/minipfs": "^0.4.3-rc.2", "@subsquid/archive-registry": "^3.3.2", - "@subsquid/evm-processor": "^1.19.1", - "@subsquid/graphql-server": "^4.6.0", + "@subsquid/evm-processor": "^1.19.2", + "@subsquid/graphql-server": "^4.7.0", "@subsquid/typeorm-migration": "^1.3.0", "@subsquid/typeorm-store": "^1.5.1", "dotenv": "^16.4.5", @@ -22,8 +22,8 @@ "typeorm": "^0.3.20" }, "devDependencies": { - "@subsquid/evm-typegen": "^4.1.2", - "@subsquid/typeorm-codegen": "^2.0.1", + "@subsquid/evm-typegen": "^4.3.0", + "@subsquid/typeorm-codegen": "^2.0.2", "@types/md5": "^2.3.5", "@types/node": "^20.12.11", "typescript": "~5.4.5" diff --git a/src/environment.ts b/src/environment.ts index ccf69b2..07c8f3e 100644 --- a/src/environment.ts +++ b/src/environment.ts @@ -1,5 +1,3 @@ -import { lookupArchive } from '@subsquid/archive-registry' - export type Chain = 'zksync' | 'immutable-zkevm' | 'base' export type ChainEnv = 'mainnet' // | 'testnet' @@ -29,7 +27,7 @@ const nodes: Record = { } // Setup -const ARCHIVE_URL = lookupArchive(CHAIN) +const ARCHIVE_URL = `https://v2.archive.subsquid.io/network/${CHAIN}` const NODE_URL = nodes[CHAIN] diff --git a/src/mappings/erc721/burn.ts b/src/mappings/erc721/burn.ts index d6c4235..4375010 100644 --- a/src/mappings/erc721/burn.ts +++ b/src/mappings/erc721/burn.ts @@ -25,6 +25,11 @@ export function handleTokenBurn({ tokenId }: Transfer, context: Log): ItemStateU const final = merge(item, this.state) this.event.nft = final return final + }, + applyFrom(collection) { + // update collection + collection.supply -= 1 + return collection } } diff --git a/src/mappings/erc721/mint.ts b/src/mappings/erc721/mint.ts index f0a2218..f4a1ffb 100644 --- a/src/mappings/erc721/mint.ts +++ b/src/mappings/erc721/mint.ts @@ -44,6 +44,10 @@ export function handleTokenCreate({ to, tokenId }: Transfer, context: Log): Item metadata: tokenUri(collection.baseUri, this.state.sn) } + // update collection + collection.nftCount += 1; + collection.supply += 1; + return collection } } diff --git a/src/mappings/index.ts b/src/mappings/index.ts index 417faf5..ed4683f 100644 --- a/src/mappings/index.ts +++ b/src/mappings/index.ts @@ -88,6 +88,7 @@ export async function whatToDoWithTokens( const knownTokens = await findByIdListAsMap(ctx.store, NE, tokens) const events: EventEntity[] = [] const metadataEntities: MetadataEntity[] = [] + const collectionsToSave: Set = new Set() for (const item of items) { if (!collections.has(item.contract)) { @@ -101,6 +102,7 @@ export async function whatToDoWithTokens( if (item.applyFrom) { const collection = collections.get(item.contract)! item.applyFrom(collection) + collectionsToSave.add(item.contract) } if (item.applyTo) { knownToken = item.applyTo(knownToken) @@ -127,6 +129,11 @@ export async function whatToDoWithTokens( await ctx.store.upsert(values) await ctx.store.save(events) + if (collectionsToSave.size > 0) { + const toUpsert = [...collectionsToSave.values()].map(id => collections.get(id)!) + await ctx.store.save(toUpsert) + } + if (metadataEntities.length > 0) { await ctx.store.save(metadataEntities) } diff --git a/src/processable.ts b/src/processable.ts index 349f18b..3ed3166 100644 --- a/src/processable.ts +++ b/src/processable.ts @@ -129,7 +129,7 @@ function toMap( highestSale: BigInt(0), nftCount: 0, ownerCount: 0, - supply: max, + supply: 0, volume: BigInt(0), version: 721, };