Skip to content

Commit 316ce31

Browse files
feat: remove node free/used resources
1 parent 314490d commit 316ce31

File tree

8 files changed

+3
-180
lines changed

8 files changed

+3
-180
lines changed

schema.graphql

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,6 @@ type Node @entity {
7272
city: String
7373
publicConfig: PublicConfig @derivedFrom(field: "node")
7474
resourcesTotal: NodeResourcesTotal @derivedFrom(field: "node")
75-
resourcesUsed: NodeResourcesUsed @derivedFrom(field: "node")
76-
resourcesFree: NodeResourcesFree @derivedFrom(field: "node")
7775
uptime: BigInt
7876
created: Int!
7977
farmingPolicyId: Int!
@@ -94,22 +92,6 @@ type NodeResourcesTotal @entity {
9492
mru: BigInt!
9593
}
9694

97-
type NodeResourcesUsed @entity {
98-
node: Node! @unique
99-
hru: BigInt!
100-
sru: BigInt!
101-
cru: BigInt!
102-
mru: BigInt!
103-
}
104-
105-
type NodeResourcesFree @entity {
106-
node: Node! @unique
107-
hru: BigInt!
108-
sru: BigInt!
109-
cru: BigInt!
110-
mru: BigInt!
111-
}
112-
11395
type Interfaces @entity {
11496
node: Node!
11597
name: String!

src/mappings/contracts.ts

Lines changed: 1 addition & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {
22
EventHandlerContext,
33
Store
44
} from "@subsquid/substrate-processor";
5-
import { ContractState, PublicIp, NameContract, NodeContract, ContractBillReport, DiscountLevel, ContractResources, NodeResourcesFree, NodeResourcesUsed, NodeResourcesTotal, Node, RentContract, Farm, NruConsumption } from "../model";
5+
import { ContractState, PublicIp, NameContract, NodeContract, ContractBillReport, DiscountLevel, ContractResources, NodeResourcesTotal, Node, RentContract, Farm, NruConsumption } from "../model";
66
import { SmartContractModuleContractCreatedEvent, SmartContractModuleContractUpdatedEvent, SmartContractModuleNodeContractCanceledEvent, SmartContractModuleNameContractCanceledEvent, SmartContractModuleContractBilledEvent, SmartContractModuleUpdatedUsedResourcesEvent, SmartContractModuleNruConsumptionReportReceivedEvent, SmartContractModuleRentContractCanceledEvent } from "../types/events";
77

88
export async function contractCreated(ctx: EventHandlerContext) {
@@ -168,31 +168,6 @@ export async function nodeContractCanceled(ctx: EventHandlerContext) {
168168
savedPublicIP.contractId = BigInt(0)
169169
await ctx.store.save<PublicIp>(savedPublicIP)
170170
}
171-
172-
const usedResources = await ctx.store.get(ContractResources, { where: { contract: savedContract }})
173-
if (!usedResources) return
174-
175-
const resourcesUsed = await ctx.store.get(NodeResourcesUsed, { where: { node: savedNode }})
176-
const resourcesFree = await ctx.store.get(NodeResourcesFree, { where: { node: savedNode }})
177-
const resourcesTotal = await ctx.store.get(NodeResourcesTotal, { where: { node: savedNode }})
178-
179-
// update used
180-
if (resourcesUsed) {
181-
resourcesUsed.cru -= usedResources.cru
182-
resourcesUsed.sru -= usedResources.sru
183-
resourcesUsed.hru -= usedResources.hru
184-
resourcesUsed.mru -= usedResources.mru
185-
await ctx.store.save<NodeResourcesUsed>(resourcesUsed)
186-
}
187-
188-
// update free
189-
if (resourcesFree && resourcesUsed && resourcesTotal) {
190-
resourcesFree.cru = resourcesTotal.cru - resourcesUsed.cru
191-
resourcesFree.sru = (BigInt(2) * resourcesTotal.sru) - resourcesUsed.sru
192-
resourcesFree.hru = resourcesTotal.hru - resourcesUsed.hru
193-
resourcesFree.mru = resourcesTotal.mru - resourcesUsed.mru
194-
await ctx.store.save<NodeResourcesFree>(resourcesFree)
195-
}
196171
}
197172

198173
export async function nameContractCanceled(ctx: EventHandlerContext) {
@@ -268,31 +243,6 @@ export async function contractUpdateUsedResources(ctx: EventHandlerContext) {
268243
savedContract.resourcesUsed = contractUsedResources
269244

270245
await ctx.store.save<NodeContract>(savedContract)
271-
272-
const node = await ctx.store.get(Node, { where: { nodeID: savedContract.nodeID }})
273-
if (!node) return
274-
275-
const resourcesUsed = await ctx.store.get(NodeResourcesUsed, { where: { node: node }})
276-
const resourcesFree = await ctx.store.get(NodeResourcesFree, { where: { node: node }})
277-
const resourcesTotal = await ctx.store.get(NodeResourcesTotal, { where: { node: node }})
278-
279-
// update used
280-
if (resourcesUsed) {
281-
resourcesUsed.cru += usedResources.used.cru
282-
resourcesUsed.sru += usedResources.used.sru
283-
resourcesUsed.hru += usedResources.used.hru
284-
resourcesUsed.mru += usedResources.used.mru
285-
await ctx.store.save<NodeResourcesUsed>(resourcesUsed)
286-
}
287-
288-
// update free
289-
if (resourcesFree && resourcesUsed && resourcesTotal) {
290-
resourcesFree.cru = resourcesTotal.cru - resourcesUsed.cru
291-
resourcesFree.sru = (BigInt(2) * resourcesTotal.sru) - resourcesUsed.sru
292-
resourcesFree.hru = resourcesTotal.hru - resourcesUsed.hru
293-
resourcesFree.mru = resourcesTotal.mru - resourcesUsed.mru
294-
await ctx.store.save<NodeResourcesFree>(resourcesFree)
295-
}
296246
}
297247

298248
export async function nruConsumptionReportReceived(ctx: EventHandlerContext) {

src/mappings/nodes.ts

Lines changed: 1 addition & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {
22
EventHandlerContext,
33
} from "@subsquid/substrate-processor";
4-
import { Node, Location, PublicConfig, CertificationType, Interfaces, UptimeEvent, NodeResourcesUsed, NodeResourcesFree, NodeResourcesTotal } from "../model";
4+
import { Node, Location, PublicConfig, CertificationType, Interfaces, UptimeEvent, NodeResourcesTotal } from "../model";
55
import { TfgridModuleNodeDeletedEvent, TfgridModuleNodePublicConfigStoredEvent, TfgridModuleNodeStoredEvent, TfgridModuleNodeUpdatedEvent, TfgridModuleNodeUptimeReportedEvent } from "../types/events";
66

77
export async function nodeStored(ctx: EventHandlerContext) {
@@ -92,25 +92,7 @@ export async function nodeStored(ctx: EventHandlerContext) {
9292
resourcesTotal.mru = nodeEvent.resources.mru
9393
resourcesTotal.cru = nodeEvent.resources.cru
9494

95-
const resourcesUsed = new NodeResourcesUsed()
96-
resourcesUsed.node = newNode
97-
resourcesUsed.id = ctx.event.id
98-
resourcesUsed.sru = BigInt(0)
99-
resourcesUsed.hru = BigInt(0)
100-
resourcesUsed.mru = BigInt(0)
101-
resourcesUsed.cru = BigInt(0)
102-
103-
const resourcesFree = new NodeResourcesFree()
104-
resourcesFree.node = newNode
105-
resourcesFree.id = ctx.event.id
106-
resourcesFree.sru = nodeEvent.resources.sru
107-
resourcesFree.hru = nodeEvent.resources.hru
108-
resourcesFree.mru = nodeEvent.resources.mru
109-
resourcesFree.cru = nodeEvent.resources.cru
110-
11195
await ctx.store.save<NodeResourcesTotal>(resourcesTotal)
112-
await ctx.store.save<NodeResourcesUsed>(resourcesUsed)
113-
await ctx.store.save<NodeResourcesFree>(resourcesFree)
11496

11597
if (nodeEvent.publicConfig) {
11698
const pubConfig = new PublicConfig()
@@ -174,19 +156,6 @@ export async function nodeUpdated(ctx: EventHandlerContext) {
174156
resourcesTotal.mru = nodeEvent.resources.mru
175157
resourcesTotal.cru = nodeEvent.resources.cru
176158
await ctx.store.save<NodeResourcesTotal>(resourcesTotal)
177-
178-
// recalculate free resources
179-
let resourcesFree = await ctx.store.get(NodeResourcesFree, { where: { node: savedNode } })
180-
if (resourcesFree) {
181-
let resourcesUsed = await ctx.store.get(NodeResourcesUsed, { where: { node: savedNode } })
182-
if (resourcesUsed) {
183-
resourcesFree.sru = resourcesTotal.sru - resourcesUsed.sru
184-
resourcesFree.hru = resourcesTotal.hru - resourcesUsed.hru
185-
resourcesFree.mru = resourcesTotal.mru - resourcesUsed.mru
186-
resourcesFree.cru = resourcesTotal.cru - resourcesUsed.cru
187-
await ctx.store.save<NodeResourcesFree>(resourcesFree)
188-
}
189-
}
190159
}
191160

192161
savedNode.country = nodeEvent.country.toString()
@@ -283,14 +252,6 @@ export async function nodeDeleted(ctx: EventHandlerContext) {
283252
if (resourcesTotal) {
284253
await ctx.store.remove(resourcesTotal)
285254
}
286-
const resourcesFree = await ctx.store.get(NodeResourcesFree, { where: { node: savedNode } })
287-
if (resourcesFree) {
288-
await ctx.store.remove(resourcesFree)
289-
}
290-
const resourcesUsed = await ctx.store.get(NodeResourcesUsed, { where: { node: savedNode } })
291-
if (resourcesUsed) {
292-
await ctx.store.remove(resourcesUsed)
293-
}
294255
const pubConfig = await ctx.store.get(PublicConfig, { where: { node: savedNode } })
295256
if (pubConfig) {
296257
await ctx.store.remove(pubConfig)

src/model/generated/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ export * from "./_certificationType"
99
export * from "./publicIp.model"
1010
export * from "./node.model"
1111
export * from "./nodeResourcesTotal.model"
12-
export * from "./nodeResourcesUsed.model"
13-
export * from "./nodeResourcesFree.model"
1412
export * from "./interfaces.model"
1513
export * from "./publicConfig.model"
1614
export * from "./location.model"

src/model/generated/node.model.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ import * as marshal from "./marshal"
33
import {Location} from "./location.model"
44
import {PublicConfig} from "./publicConfig.model"
55
import {NodeResourcesTotal} from "./nodeResourcesTotal.model"
6-
import {NodeResourcesUsed} from "./nodeResourcesUsed.model"
7-
import {NodeResourcesFree} from "./nodeResourcesFree.model"
86
import {Interfaces} from "./interfaces.model"
97
import {CertificationType} from "./_certificationType"
108

@@ -45,12 +43,6 @@ export class Node {
4543
@OneToOne_(() => NodeResourcesTotal)
4644
resourcesTotal!: NodeResourcesTotal | undefined | null
4745

48-
@OneToOne_(() => NodeResourcesUsed)
49-
resourcesUsed!: NodeResourcesUsed | undefined | null
50-
51-
@OneToOne_(() => NodeResourcesFree)
52-
resourcesFree!: NodeResourcesFree | undefined | null
53-
5446
@Column_("numeric", {transformer: marshal.bigintTransformer, nullable: true})
5547
uptime!: bigint | undefined | null
5648

src/model/generated/nodeResourcesFree.model.ts

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/model/generated/nodeResourcesUsed.model.ts

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/processor.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
const processor = new SubstrateProcessor("substrate_threefold");
1515

1616
processor.setTypesBundle("typegen/typesBundle.json");
17-
processor.setBatchSize(2000);
17+
processor.setBatchSize(500);
1818
processor.setPrometheusPort(44233)
1919

2020
processor.setDataSource({

0 commit comments

Comments
 (0)