Skip to content

Commit 8eaf5af

Browse files
committed
Merge branch 'dev'
2 parents b231a13 + 9f37b36 commit 8eaf5af

File tree

6 files changed

+19
-9
lines changed

6 files changed

+19
-9
lines changed

build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ sh ./scripts/prepare_folders.sh
3131
cd ./networks/$1
3232

3333
# ----Installing Subql-Query----
34-
npm install -g @subql/query
34+
npm install -g @subql/query@1.6.0
3535

3636
# ----Installing Subql-Node----
3737
npm install -g @subql/node@1.9.2

run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,5 @@ sh ./scripts/prepare_folders.sh
3030

3131
cd ./networks/$1
3232

33-
npm install -g @subql/query
33+
npm install -g @subql/query@1.6.0
3434
subql-query --name subql_ternoa --playground

schema.graphql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ type TransmissionEntity @entity {
225225
from: String!
226226
to: String!
227227
isActive: Boolean!
228+
isThresholdReached: Boolean!
228229
protocol: String!
229230
endBlock: Int
230231
consentList: [String]

src/eventHandlers/nftOperations.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export const nftOperationEntityHandler = async (
2424
nftOperationRecord.price = args[0]
2525
nftOperationRecord.priceRounded = roundPrice(nftOperationRecord.price)
2626
break
27+
case NFTOperation.TransmissionProtocolRemoved:
2728
case NFTOperation.Burned:
2829
nftOperationRecord.to = null
2930
break
@@ -34,6 +35,7 @@ export const nftOperationEntityHandler = async (
3435
case NFTOperation.Transmitted:
3536
nftOperationRecord.to = record.owner
3637
nftOperationRecord.transmissionProtocol = args[0]
38+
nftOperationRecord.transmissionEndBlock = args[1]
3739
break
3840
case NFTOperation.Delegated:
3941
case NFTOperation.Undelegated:
@@ -89,6 +91,7 @@ export const nftOperationEntityHandler = async (
8991
case NFTOperation.TransmissionThresholdReached:
9092
nftOperationRecord.transmissionProtocol = args[0]
9193
nftOperationRecord.transmissionEndBlock = args[1]
94+
nftOperationRecord.to = args[3]
9295
break
9396
}
9497

src/eventHandlers/transmissions.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ export const protocolSetHandler = async (event: SubstrateEvent): Promise<void> =
5555
record.currentConsent = currentConsent
5656
record.endBlock = endBlock
5757
record.threshold = threshold
58-
record.isActive = protocol === ProtocolAction.OnConsent || protocol === ProtocolAction.OnConsentAtBlock ? false : true
58+
record.isActive = true
59+
record.isThresholdReached = false
5960
record.cancellation = cancellation === TransmissionCancellationAction.None ? null : cancellation
6061
record.cancellationBlock = cancellationBlock
6162
record.createdAt = commonEventData.timestamp
@@ -71,7 +72,7 @@ export const protocolSetHandler = async (event: SubstrateEvent): Promise<void> =
7172
const nftRecord = await NftEntity.get(nftId.toString())
7273
if (nftRecord === undefined)
7374
throw new Error("NFT record not found in db for when setting a new transmission protocol")
74-
nftRecord.isTransmission = true
75+
nftRecord.isTransmission = record.isActive
7576
nftRecord.transmissionRecipient = record.to
7677
nftRecord.transmissionProtocolId = transmissionId
7778
nftRecord.updatedAt = commonEventData.timestamp
@@ -81,6 +82,7 @@ export const protocolSetHandler = async (event: SubstrateEvent): Promise<void> =
8182
await nftOperationEntityHandler(nftRecord, record.from, commonEventData, NFTOperation.TransmissionProtocolSet, [
8283
record.protocol,
8384
record.endBlock,
85+
record.to,
8486
])
8587
}
8688

@@ -100,7 +102,7 @@ export const protocolRemovedHandler = async (event: SubstrateEvent): Promise<voi
100102
// Side Effects on NftEntity
101103
const nftRecord = await NftEntity.get(nftId.toString())
102104
if (nftRecord === undefined) throw new Error("NFT record not found in db for when removing transmission protocol")
103-
nftRecord.isTransmission = false
105+
nftRecord.isTransmission = record.isActive
104106
nftRecord.transmissionRecipient = null
105107
nftRecord.transmissionProtocolId = null
106108
nftRecord.updatedAt = commonEventData.timestamp
@@ -128,6 +130,7 @@ export const timerResetHandler = async (event: SubstrateEvent): Promise<void> =>
128130
await nftOperationEntityHandler(nftRecord, record.from, commonEventData, NFTOperation.TransmissionTimerReset, [
129131
record.protocol,
130132
record.endBlock,
133+
record.to,
131134
])
132135
}
133136

@@ -151,6 +154,7 @@ export const consentAddedHandler = async (event: SubstrateEvent): Promise<void>
151154
await nftOperationEntityHandler(nftRecord, consentFrom, commonEventData, NFTOperation.TransmissionConsentAdded, [
152155
record.protocol,
153156
record.endBlock,
157+
record.to,
154158
])
155159
}
156160

@@ -161,19 +165,19 @@ export const thresholdReachedHandler = async (event: SubstrateEvent): Promise<vo
161165
const [nftId] = event.event.data
162166
const record = await getLastTransmission(nftId.toString())
163167
if (record === undefined) throw new Error("Transmission not found in db")
164-
record.isActive = true
168+
record.isThresholdReached = true
165169
record.updatedAt = commonEventData.timestamp
166170
record.timestampUpdated = commonEventData.timestamp
171+
await record.save()
167172

168173
const nftRecord = await NftEntity.get(nftId.toString())
169174

170175
// Side Effects on NftOperationEntity
171176
await nftOperationEntityHandler(nftRecord, null, commonEventData, NFTOperation.TransmissionThresholdReached, [
172177
record.protocol,
173178
record.endBlock,
179+
record.to,
174180
])
175-
176-
await record.save()
177181
}
178182

179183
export const capsuleTransmittedHandler = async (event: SubstrateEvent): Promise<void> => {
@@ -192,7 +196,7 @@ export const capsuleTransmittedHandler = async (event: SubstrateEvent): Promise<
192196
// Side Effects on NftEntity
193197
const nftRecord = await NftEntity.get(nftId.toString())
194198
if (nftRecord === undefined) throw new Error("NFT record not found in db for when transmitting a capsule")
195-
nftRecord.isTransmission = false
199+
nftRecord.isTransmission = record.isActive
196200
nftRecord.transmissionRecipient = null
197201
nftRecord.transmissionProtocolId = null
198202
nftRecord.owner = record.to

src/types/models/TransmissionEntity.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ export class TransmissionEntity implements Entity {
2424

2525
public isActive: boolean;
2626

27+
public isThresholdReached: boolean;
28+
2729
public protocol: string;
2830

2931
public endBlock?: number;

0 commit comments

Comments
 (0)