1
1
using System . Collections . Generic ;
2
2
using UnityEngine ;
3
3
using Thirdweb ;
4
+ using Nethereum . ABI . FunctionEncoding . Attributes ;
5
+ using System . Numerics ;
6
+ using Newtonsoft . Json ;
4
7
5
- // Your Event data structure
8
+ // Your Event type (WebGL)
6
9
[ System . Serializable ]
7
10
public struct TransferEvent
8
11
{
@@ -12,7 +15,26 @@ public struct TransferEvent
12
15
13
16
public override string ToString ( )
14
17
{
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 } ";
16
38
}
17
39
}
18
40
@@ -26,12 +48,24 @@ public async void GetEvents()
26
48
{
27
49
Contract contract = ThirdwebManager . Instance . SDK . GetContract ( "0x2e01763fA0e15e07294D74B63cE4b526B321E389" ) ;
28
50
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 ;
32
65
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
+ }
35
69
}
36
70
catch ( System . Exception e )
37
71
{
0 commit comments