@@ -111,7 +111,7 @@ func (tzkt *TzKT) SubscribeToBigMaps(ptr *int64, contract, path string, tags ...
111111 return tzkt .subscribe (MethodBigMap , args )
112112}
113113
114- // SubscribeToBigMaps - subscribe to accounts channel. Sends touched accounts (affected by any operation in any way)..
114+ // SubscribeToAccounts - subscribe to accounts channel. Sends touched accounts (affected by any operation in any way)..
115115func (tzkt * TzKT ) SubscribeToAccounts (addresses ... string ) error {
116116 args := make (map [string ]interface {})
117117 if len (addresses ) > 0 {
@@ -120,6 +120,21 @@ func (tzkt *TzKT) SubscribeToAccounts(addresses ...string) error {
120120 return tzkt .subscribe (MethodAccounts , args )
121121}
122122
123+ // SubscribeToTokenTransfers - subscribe to transfers channel. Sends token transfers.
124+ func (tzkt * TzKT ) SubscribeToTokenTransfers (account , contract , tokenID string ) error {
125+ args := make (map [string ]interface {})
126+ if account != "" {
127+ args ["account" ] = account
128+ }
129+ if contract != "" {
130+ args ["contract" ] = contract
131+ }
132+ if tokenID != "" {
133+ args ["tokenID" ] = tokenID
134+ }
135+ return tzkt .subscribe (MethodTokenTransfers , args )
136+ }
137+
123138func (tzkt * TzKT ) subscribe (channel string , args ... interface {}) error {
124139 tzkt .invokationID += 1
125140 msg := signalr .NewInvocation (fmt .Sprintf ("%d" , tzkt .invokationID ), channel , args ... )
@@ -214,6 +229,10 @@ func parseData(channel string, data []byte) (interface{}, error) {
214229 return head , err
215230 case ChannelOperations :
216231 return parseOperations (data )
232+ case ChannelTransfers :
233+ var transfer []Transfer
234+ err := json .Unmarshal (data , & transfer )
235+ return transfer , err
217236 default :
218237 return nil , errors .Errorf ("unknown channel: %s" , channel )
219238 }
0 commit comments