From 841a59861bb3b9d577fe1882a32b1373dd9e7819 Mon Sep 17 00:00:00 2001 From: Nazeeh Vahora Date: Tue, 19 Jul 2022 00:39:07 +0530 Subject: [PATCH 1/2] Index Lens-profile and deploy subgraph --- build/LensHub/LensHub.wasm | Bin 35542 -> 36172 bytes .../TransparentUpgradeableProxy.wasm | Bin 32964 -> 21876 bytes build/schema.graphql | 29 ++---- build/subgraph.yaml | 43 ++------- generated/schema.ts | 75 +++------------- schema.graphql | 28 ++---- src/lens-hub.ts | 2 + src/transparent-upgradeable-proxy.ts | 84 +++++++++--------- subgraph.yaml | 78 ++++++++-------- 9 files changed, 111 insertions(+), 228 deletions(-) diff --git a/build/LensHub/LensHub.wasm b/build/LensHub/LensHub.wasm index d5b2440b80db5747a0a7260a2819cce09e770729..d0d085bad498595ca88aa9d812b2bc4eda73a858 100644 GIT binary patch delta 3931 zcmb7HdrVZ>89(RVJKPyA!W9M>7?67hNOs<9y%meBXCDfBu;?e@&VUmPzR}IW4E%H%*@=>=r@zmNGjS- zLbLx+=Jn0x-bgH#IEy7x;pyv(M_(sij3a|_vQh2p8;c97(%08_HW7w+ z^M07YnyhCVk|7Tn)KI`4DGyUGpDr(;IsCWf-2rciG8Nl{Ew##CgRtpb?32TDDoXrf zQ#QVCWmk$_w^!VOg|909x+kdhP&o}1DHW1U#gG|6NRmO}B;H~_4PnVTHZde;lNLz< zOKy?87!Y`tLHQpyeitTRs%)p({D+lgc;Be($jH_Vs@>&(tE{C3++Wp53;C|9Q|S;D zUMahQ;anA)D`1}!=Fth!7%>q>jqJT4M6yD{ouZIZEh(l)25g3GSnHC&V_$HOfKs>) zS0OVbP=!95t_HQwbJ<)TE3gm7AWqhT@man>^q>G~A>ZgGdWj$(=Ck?yRR9Rx08_0)eFUWR0$5fw z&7=Z|UAt}~YCFc0wUyngz>wi;$N>XMwh|a}LHI7)fl(wi3PS`|{vtSH3Ew@L0 zVipOoaXA70$N5)U@f0>7ovaL4L1pc6-)eLsvQ@r5KOU}9_`mXFu~DEhL0?Re%S|pS z6HTXGSjL;!(&ja={1}bP%8*+^!_5$<&@x1Om~LU?I{U(b&mf{TXurykRMZnds{t;9 zn@a2=$U`xCOqCHf*Q^(r9yAjPwQDMDqFHQAFPIrs97a%(Su01rJ_tSrh>w4N$G)vo*M1Nzb z5k13D?Qaw?!pF#}9ehkg2}wXhRK1f;z|Cqw)vGhmYggw=MtDU#kww+n?L?S$+X??p zeYRJ%bJOJ64d%CQwTk4p=4D&N`HC`j4KA0lFz9i1k(tM;?HvS*_-3&2R;Red3BOif z*Z_<~=9?>q+|3QkGl?y>u6QPj-|37x%E{fE*f0=RWwH%vheBs_ZGhLRdA8UFT%Irg zts<6t>Whhfr`=8TyMnUH|5iJjX&32M;e0uS@`tM13Rfk%_VZjaJ09Lf`D9p`{axdi zDpmQlwo?DZ15yE3b+y=fY1$83{xbVXTctl;PuQEy=%Iv=VmwDkk_?h__=|!vNDpR7 z(EWtXG;6ekuz3t83Hzd1J1ms;SxO0#fbakWU&k1M$~iJdhB1$m6dAR63CrLBB$MDo zux^l11B2Kx4h8W&WHVbV^Y3nP%=2$-?=%I!AI9Dw4VF1J(PBwmZP9j7IMBs^vbTvh z?$6ou6byv)&lasvFpw&i7b)!5Z|xZ&Y^qhG9fZBp%47R$d<&Q%tS7Df?fr$mCCmgQ zZT!9c!SGC*HG8*BD-zan@eCrGop5CU*2YK-?yv=0>PZ{-9;ot7Y}IItu&Y~n+ktQU zmN1)wy={Ezz?H_ScFW#7?OJgOZ29r%rFh{tooSEbDj;4OmtXES39(P z@t>^-=@FE~V}SOeIdy339)J{6@dJzt9h!s^Wlx~&A?<K7X(#eWz2)G%OK91oyK} zEf=HpTfM&6sjVw;3S$UUJ?x9&ijOSA1*3ccz=z+H=NJ}w3rJQCO&j* zO}WGji0AN~7YnW_jA?fL_qOsp#?>75*kLSTv`%i~BZruGi3OLK_}Dfw<%~1V_!y(5 zyW|jaBT76n9Hq~4YDnIt*x>BrmwPC!&CMJ7Bhgzjri?zkMW^YW((*U(hVR|7f6iovkyL z8jLv_VmLc;F`K842IQP^>ZqQiIu9Nzme%jY!UjHftjx>$`;*bp(Omw$V-+-y|MJ*Q z$-j|*|Ja7iRN{OzzPCSrS-V%k^{{|XzOpq~xN67v*zlQXGCY_{M4C1ScEfTbPaoHK z+3~FWqU8v!iyTWPBNvN#{c%$Yw!4B-iA$=Umw;L+|M+-`v_UL}vl|AIiQyfIL@XMK zmzn&*@gVQ&&DdZBN0Vp6v1ojB)2qPKzD~OLOA}Fa@#)?S8say4LsEGszkQ;K|ED)o ns%W>!&J*6cjmxe%M}li*<=SJiE}K<+~ z=oU?ly{R8kjip&`CRHtys1~V<)~Iwu>WA@xZEd$sp2Rk`p($FZv=95h2R>98d^Jy>srl=bU?f=bU?eORtf?{+L|xH%o;=0i7n|BUoHGjnHWsxB?FiYMJI)zBmror!o6-@Mf&qkOgs~(^7|HNM$o32TrbHI|_zl@Vfs8_nmQNoP_Ifr?B9YhibmB~MCM7}q=Tql% z`3nTu6Ek`;ucNS2!H8js>s&X613c#aIkqp|_FlySC4i`g=&(G*Wad+?AwzM3n93Sd zg}>qpC`ynpO?522>(dlmv9#XIaIGsskcL$%4{1oSlIr4}fgo0vMgp_gX%AuzX^L9O z{}AlL4o*VPxxo#{B(+i_nsiRXnhew53q`TQ-wAnf75`mm$fpD`Q($?RCOwivLu{c2 z)~VuJOQTyX%8Hdct72GnwB;6fu(kdj*YmdUcY*(DxF1*YJK<*d{wF+OucR8LcQ|Y7 zz#g7yi(xPSN!z#hXKi%_4Yf;-H-mD7R0M5|=ztVK8YDn3sY(#S6|opZ214QlLegw; zQXyc=0ZAHyNNt+ofB-PtqyDc!PO#xih~;xerZkx?M1b38Ljk*)0DGLY0#1g{1#ktX zloca}Q}L-_D-qSFRJB2&UaK{1rI!5>@mNRQ@p^&fwnsy1 zgWy&@tmN4hyU_eIVv33oWg7=T%>#~PN&^^Q)X?zoO#ooV`$|W6XcsOC;tX22uqNFN zF(?^5tx1|JnhHY`K_d#Fq5FXf5db}OA5dsbsF`R@!wX?oIz?+*Ucf{G=tEGn)XUA#2M(Qr4n?%}j>i%w$AaDY_>amtjvB$tcEllJU_O6}9!tiW)Y6 z)pzcx-+izaV-_sa;Qz_Q>TZ+E?e+dI>Vd78NW^b>(?Q=^1NGeDGV0=Cw*A#Ts6Q;D zUKDEO7J%I-^z4s7{;qVfqRQ5-Rx$T7eO)F}0bhiwv;*GxgNtf;9M2Et$C-Fu^IW@Cfw+@s%4oJ%6+Tu?CT&hjZnFBi*ZOP z^e9`5Gpriz$~NMF|DMjh(j(A(uH4_b*L%UPwS5P+BP4NI?uXgj-M%vp;FoI~-yJ@YksDSrb(8_{- z1}xbo%!9{Iy7}ga-#H&QMn8*lb+pM@GDqui9v^K}w_%ilpnB+-@HEP`6MlYawAZ=W zL-9Pg=;6N~y%wA6HC(*fOB)(N%?&RS3_J@ilNJ@kmO%}oEcNoskB5(Kn?{%Vs7C@F zfom0v#H#`CKy0y(R(=Sq7>Wn}6ia=SKnt_=K8kIK{j-mM`gnWcdOvk(h6+Mr_Pu^u z1JrnS%QyOIrPtE)0R@LI4VVtE0hPh@x;4Hfs1vc30qV3_CSF+g-r<%pq~<(Kzw{u# z`NVOu_8|Y{iDQ%32Tk9%EV?pC@lnLq2C1tYorrc5#3GU-)FWa(0k5EsSrmdO9l6)y z<0DqkEBwaE5wf|$KRp>NT>BL=#c!3FEZ*WNRYmx1n{VQbdJCQ!rcc9~gz-;$Kd%r-C>BANTZ zr1KVC18UfAT1;_T&L+>N@H^FQsP?o2eVM`!feGtorCxKk=Md!%r= zbnuVH+;+H!W}HX)^H0UDj@4inuN`|GQ~vgtuc4yOu$k4cke)lK=hNA z=Xm@9+rvpc*#O)C_VdB<#;fCB;XfF!AWZ>&WZbWq_wxPxm*b73*^KYscZO%p*J r;6oFGB-qc{#Nnp$O+2(Wac~E3;j0s#`d06rlv=m)@Y3fK--!Je+Z~1q diff --git a/build/TransparentUpgradeableProxy/TransparentUpgradeableProxy.wasm b/build/TransparentUpgradeableProxy/TransparentUpgradeableProxy.wasm index 43e1985381bff35416cffdc066072e0cd1e74248..935c51e8d2a2c1f9e6ee93b4af963be6498b1ba4 100644 GIT binary patch delta 1717 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.get("ExampleEntity", id)); - } - - get id(): string { - let value = this.get("id"); - return value!.toString(); - } - - set id(value: string) { - this.set("id", Value.fromString(value)); - } - - get count(): BigInt { - let value = this.get("count"); - return value!.toBigInt(); - } - - set count(value: BigInt) { - this.set("count", Value.fromBigInt(value)); - } - - get previousAdmin(): Bytes { - let value = this.get("previousAdmin"); - return value!.toBytes(); - } - - set previousAdmin(value: Bytes) { - this.set("previousAdmin", Value.fromBytes(value)); - } - - get newAdmin(): Bytes { - let value = this.get("newAdmin"); - return value!.toBytes(); - } - - set newAdmin(value: Bytes) { - this.set("newAdmin", Value.fromBytes(value)); - } -} - export class Approval extends Entity { constructor(id: string) { super(); @@ -1179,13 +1120,21 @@ export class Profile extends Entity { } } - get stats(): string { + get stats(): string | null { let value = this.get("stats"); - return value!.toString(); + if (!value || value.kind == ValueKind.NULL) { + return null; + } else { + return value.toString(); + } } - set stats(value: string) { - this.set("stats", Value.fromString(value)); + set stats(value: string | null) { + if (!value) { + this.unset("stats"); + } else { + this.set("stats", Value.fromString(value)); + } } get followModule(): string | null { diff --git a/schema.graphql b/schema.graphql index f6b860f..bb519c0 100644 --- a/schema.graphql +++ b/schema.graphql @@ -1,10 +1,3 @@ -type ExampleEntity @entity { - id: ID! - count: BigInt! - previousAdmin: Bytes! # address - newAdmin: Bytes! # address -} - type Approval @entity { id: ID! owner: Bytes! # address @@ -129,12 +122,12 @@ type Profile @entity { coverPicture: ProfileMedia onwnedBy: String! dispatcher: Dispatcher - stats: ProfileStats! + stats: ProfileStats followModule: FollowModule - isDefault: Boolean! + isDefault: Boolean attributes: [Attribute!] - isFollowedByMe: Boolean! - isFollowingMe: Boolean! + isFollowedByMe: Boolean + isFollowingMe: Boolean } enum ReactionTypes { @@ -181,14 +174,13 @@ type MetadataOutput @entity { attributes: [MetadataAttributeOutput!]! } -union MainPostReference = Post | Mirror + type ReactionFieldResolverRequest @entity { id: ID! profileId: BigInt } -union CollectModule = FreeCollectModuleSettings | FeeCollectModuleSettings | LimitedFeeCollectModuleSettings | LimitedTimedFeeCollectModuleSettings | RevertCollectModuleSettings | TimedFeeCollectModuleSettings enum CollectModules { LimitedFeeCollectModule @@ -256,10 +248,6 @@ type TimedFeeCollectModuleSettings @entity { endTimestamp: String! } -union MirrorablePublication = Post - -union ReferenceModule = FollowOnlyReferenceModuleSettings - enum ReferenceModules { FollowOnlyReferenceModule } @@ -277,12 +265,9 @@ type Mirror @entity { metadata: MetadataOutput! onChainContentURI: String! createdAt: String! - collectModule: CollectModule! - referenceModule: ReferenceModule! appId: BigInt hidden: Boolean! collectNftAddress: String - mirrorOf: MirrorablePublication! reaction: ReactionTypes hasCollectedByMe: Boolean! } @@ -294,8 +279,6 @@ type Post @entity { metadata: MetadataOutput! onChainContentURI: String! createdAt: String! - collectModule: CollectModule! - referenceModule: ReferenceModule appId: String hidden: Boolean! collectNftAddress: String @@ -305,4 +288,3 @@ type Post @entity { mirrors: [ID!]! } -union Publication = Post | Mirror diff --git a/src/lens-hub.ts b/src/lens-hub.ts index 73448e2..812666b 100644 --- a/src/lens-hub.ts +++ b/src/lens-hub.ts @@ -1,3 +1,4 @@ +import { log } from "@graphprotocol/graph-ts"; import { Approval as ApprovalEvent, ApprovalForAll as ApprovalForAllEvent, @@ -38,6 +39,7 @@ export function handleTransfer(event: TransferEvent): void { export function handleProfileCreated(event: ProfileCreated): void { let profile = Profile.load(event.params.profileId.toString()) + log.info("Trigger Fired", []) if(!profile) { profile = new Profile(event.params.profileId.toString()) diff --git a/src/transparent-upgradeable-proxy.ts b/src/transparent-upgradeable-proxy.ts index 6915d81..758ee44 100644 --- a/src/transparent-upgradeable-proxy.ts +++ b/src/transparent-upgradeable-proxy.ts @@ -7,48 +7,48 @@ import { } from "../generated/TransparentUpgradeableProxy/TransparentUpgradeableProxy" import { ExampleEntity } from "../generated/schema" -export function handleAdminChanged(event: AdminChanged): void { - // Entities can be loaded from the store using a string ID; this ID - // needs to be unique across all entities of the same type - let entity = ExampleEntity.load(event.transaction.from.toHex()) - - // Entities only exist after they have been saved to the store; - // `null` checks allow to create entities on demand - if (!entity) { - entity = new ExampleEntity(event.transaction.from.toHex()) - - // Entity fields can be set using simple assignments - entity.count = BigInt.fromI32(0) - } - - // BigInt and BigDecimal math are supported - entity.count = entity.count + BigInt.fromI32(1) - - // Entity fields can be set based on event parameters - entity.previousAdmin = event.params.previousAdmin - entity.newAdmin = event.params.newAdmin - - // Entities can be written to the store with `.save()` - entity.save() - - // Note: If a handler doesn't require existing field values, it is faster - // _not_ to load the entity from the store. Instead, create it fresh with - // `new Entity(...)`, set the fields that should be updated and save the - // entity back to the store. Fields that were not set or unset remain - // unchanged, allowing for partial updates to be applied. - - // It is also possible to access smart contracts from mappings. For - // example, the contract that has emitted the event can be connected to - // with: - // - // let contract = Contract.bind(event.address) - // - // The following functions can then be called on this contract to access - // state variables and other data: - // - // - contract.admin(...) - // - contract.implementation(...) -} +// export function handleAdminChanged(event: AdminChanged): void { +// // Entities can be loaded from the store using a string ID; this ID +// // needs to be unique across all entities of the same type +// let entity = ExampleEntity.load(event.transaction.from.toHex()) + +// // Entities only exist after they have been saved to the store; +// // `null` checks allow to create entities on demand +// if (!entity) { +// entity = new ExampleEntity(event.transaction.from.toHex()) + +// // Entity fields can be set using simple assignments +// entity.count = BigInt.fromI32(0) +// } + +// // BigInt and BigDecimal math are supported +// entity.count = entity.count + BigInt.fromI32(1) + +// // Entity fields can be set based on event parameters +// entity.previousAdmin = event.params.previousAdmin +// entity.newAdmin = event.params.newAdmin + +// // Entities can be written to the store with `.save()` +// entity.save() + +// // Note: If a handler doesn't require existing field values, it is faster +// // _not_ to load the entity from the store. Instead, create it fresh with +// // `new Entity(...)`, set the fields that should be updated and save the +// // entity back to the store. Fields that were not set or unset remain +// // unchanged, allowing for partial updates to be applied. + +// // It is also possible to access smart contracts from mappings. For +// // example, the contract that has emitted the event can be connected to +// // with: +// // +// // let contract = Contract.bind(event.address) +// // +// // The following functions can then be called on this contract to access +// // state variables and other data: +// // +// // - contract.admin(...) +// // - contract.implementation(...) +// } export function handleBeaconUpgraded(event: BeaconUpgraded): void {} diff --git a/subgraph.yaml b/subgraph.yaml index 533a7ce..36c0e3b 100644 --- a/subgraph.yaml +++ b/subgraph.yaml @@ -2,58 +2,60 @@ specVersion: 0.0.5 schema: file: ./schema.graphql dataSources: + # - kind: ethereum + # name: LensHub + # network: matic + # source: + # address: "0x20f4D7DdeE23029048C53B42dc73A02De19F1c9E" + # abi: LensHub + # startBlock: 30068251 + # mapping: + # kind: ethereum/events + # apiVersion: 0.0.5 + # language: wasm/assemblyscript + # entities: + # - Approval + # - ApprovalForAll + # - Transfer + # - Profile + # abis: + # - name: LensHub + # file: ./abis/LensHub.json + # eventHandlers: + # # - event: Approval(indexed address,indexed address,indexed uint256) + # # handler: handleApproval + # # - event: ApprovalForAll(indexed address,indexed address,bool) + # # handler: handleApprovalForAll + # # - event: Transfer(indexed address,indexed address,indexed uint256) + # # handler: handleTransfer + # - event: ProfileCreated(indexed uint256,indexed address,indexed address,string,string,address,bytes,string,uint256) + # handler: handleProfileCreated + # file: ./src/lens-hub.ts - kind: ethereum name: LensHub network: matic source: - address: "0x20f4D7DdeE23029048C53B42dc73A02De19F1c9E" + address: "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d" abi: LensHub - startBlock: 30068251 + startBlock: 28384641 mapping: kind: ethereum/events apiVersion: 0.0.5 language: wasm/assemblyscript entities: - - Approval - - ApprovalForAll - - Transfer - - Profile + - AdminChanged + - BeaconUpgraded + - Upgraded abis: - name: LensHub file: ./abis/LensHub.json eventHandlers: - - event: Approval(indexed address,indexed address,indexed uint256) - handler: handleApproval - - event: ApprovalForAll(indexed address,indexed address,bool) - handler: handleApprovalForAll - - event: Transfer(indexed address,indexed address,indexed uint256) - handler: handleTransfer + # - event: AdminChanged(address,address) + # handler: handleAdminChanged + # - event: BeaconUpgraded(indexed address) + # handler: handleBeaconUpgraded + # - event: Upgraded(indexed address) + # handler: handleUpgraded - event: ProfileCreated(indexed uint256,indexed address,indexed address,string,string,address,bytes,string,uint256) handler: handleProfileCreated file: ./src/lens-hub.ts - - kind: ethereum - name: TransparentUpgradeableProxy - network: matic - source: - address: "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d" - abi: TransparentUpgradeableProxy - startBlock: 28384641 - mapping: - kind: ethereum/events - apiVersion: 0.0.5 - language: wasm/assemblyscript - entities: - - AdminChanged - - BeaconUpgraded - - Upgraded - abis: - - name: TransparentUpgradeableProxy - file: ./abis/TransparentUpgradeableProxy.json - eventHandlers: - - event: AdminChanged(address,address) - handler: handleAdminChanged - - event: BeaconUpgraded(indexed address) - handler: handleBeaconUpgraded - - event: Upgraded(indexed address) - handler: handleUpgraded - file: ./src/transparent-upgradeable-proxy.ts From 1c4db9938a62ff64364bff80c46e839f0541310a Mon Sep 17 00:00:00 2001 From: amtaf Date: Tue, 20 Sep 2022 10:32:31 +0300 Subject: [PATCH 2/2] updated comment schema --- schema.graphql | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/schema.graphql b/schema.graphql index bb519c0..5cc99d4 100644 --- a/schema.graphql +++ b/schema.graphql @@ -288,3 +288,24 @@ type Post @entity { mirrors: [ID!]! } +type Comment @entity{ + id: ID! + profile: Profile! + stats: PublicationStats! + metadata: MetadataOutput! + onChainContentURI: String! + createdAt: String! + collectModule: CollectModule! + referenceModule: ReferenceModule! + appId: String! + hidden: Boolean! + collectNftAddress:contractAddress! + mainPost:MainPostReference! + commentOn:Publication + firstComment:Comment + collectedBy:Wallet + reaction:ReactionTypes + hasCollectedByMe: Boolean! + mirrors:[ID!]! +} +