11using System . Collections . Generic ;
22using UnityEngine ;
33using Thirdweb ;
4+ using Nethereum . ABI . FunctionEncoding . Attributes ;
5+ using System . Numerics ;
6+ using Newtonsoft . Json ;
47
5- // Your Event data structure
8+ // Your Event type (WebGL)
69[ System . Serializable ]
710public struct TransferEvent
811{
@@ -12,7 +15,26 @@ public struct TransferEvent
1215
1316 public override string ToString ( )
1417 {
15- return $ "TransferEvent:" + $ "\n >prevURI: { from } " + $ "\n >newURI: { to } " + $ "\n >tokenId: { tokenId } ";
18+ return $ "TransferEvent:" + $ "\n >from: { from } " + $ "\n >to: { to } " + $ "\n >tokenId: { tokenId } ";
19+ }
20+ }
21+
22+ // Your Event type (Native platforms)
23+ [ Event ( "Transfer" ) ]
24+ public class TransferEventDTO : IEventDTO
25+ {
26+ [ Parameter ( "address" , "from" , 1 , true ) ]
27+ public string From { get ; set ; }
28+
29+ [ Parameter ( "address" , "to" , 2 , true ) ]
30+ public string To { get ; set ; }
31+
32+ [ Parameter ( "uint256" , "tokenId" , 3 , true ) ]
33+ public BigInteger TokenId { get ; set ; }
34+
35+ public override string ToString ( )
36+ {
37+ return $ "TransferEvent:" + $ "\n >from: { From } " + $ "\n >to: { To } " + $ "\n >tokenId: { TokenId } ";
1638 }
1739}
1840
@@ -26,12 +48,24 @@ public async void GetEvents()
2648 {
2749 Contract contract = ThirdwebManager . Instance . SDK . GetContract ( "0x2e01763fA0e15e07294D74B63cE4b526B321E389" ) ;
2850
29- // Optional event query options
30- Dictionary < string , object > filters = new Dictionary < string , object > { { "tokenId" , 20 } } ;
31- EventQueryOptions options = new EventQueryOptions ( filters ) ;
51+ if ( Utils . IsWebGLBuild ( ) )
52+ {
53+ // Optional event query options
54+ Dictionary < string , object > filters = new Dictionary < string , object > { { "tokenId" , 20 } } ;
55+ EventQueryOptions options = new EventQueryOptions ( filters ) ;
56+
57+ List < ContractEvent < TransferEvent > > allEvents = await contract . events . Get < TransferEvent > ( "Transfer" , options ) ;
58+ Debugger . Instance . Log ( "[Get Events] Get - TransferEvent #1" , allEvents [ 0 ] . ToString ( ) ) ;
59+ }
60+ else
61+ {
62+ // Optional event query options
63+ ulong ? fromBlock = null ;
64+ ulong ? toBlock = null ;
3265
33- List < ContractEvent < TransferEvent > > allEvents = await contract . events . Get < TransferEvent > ( "Transfer" , options ) ;
34- Debugger . Instance . Log ( "[Get Events] Get - TransferEvent #1" , allEvents [ 0 ] . ToString ( ) ) ;
66+ var allEvents = await contract . GetEventLogs < TransferEventDTO > ( fromBlock , toBlock ) ;
67+ Debugger . Instance . Log ( "[Get Events] Get - TransferEvent #1" , allEvents [ 0 ] . Event . ToString ( ) ) ;
68+ }
3569 }
3670 catch ( System . Exception e )
3771 {
0 commit comments