| 
									
										
										
										
											2020-02-25 15:11:09 +00:00
										 |  |  | package simulation | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							| 
									
										
										
										
											2020-04-01 16:33:18 +00:00
										 |  |  | 	"bytes" | 
					
						
							|  |  |  | 	"encoding/binary" | 
					
						
							|  |  |  | 	"fmt" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-23 16:35:58 +00:00
										 |  |  | 	"github.com/tendermint/tendermint/libs/kv" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-25 15:11:09 +00:00
										 |  |  | 	"github.com/cosmos/cosmos-sdk/codec" | 
					
						
							| 
									
										
										
										
											2020-04-01 16:33:18 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	"github.com/kava-labs/kava/x/auction/types" | 
					
						
							| 
									
										
										
										
											2020-02-25 15:11:09 +00:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // DecodeStore unmarshals the KVPair's Value to the corresponding auction type
 | 
					
						
							| 
									
										
										
										
											2020-04-23 16:35:58 +00:00
										 |  |  | func DecodeStore(cdc *codec.Codec, kvA, kvB kv.Pair) string { | 
					
						
							| 
									
										
										
										
											2020-04-01 16:33:18 +00:00
										 |  |  | 	switch { | 
					
						
							|  |  |  | 	case bytes.Equal(kvA.Key[:1], types.AuctionKeyPrefix): | 
					
						
							|  |  |  | 		var auctionA, auctionB types.Auction | 
					
						
							|  |  |  | 		cdc.MustUnmarshalBinaryLengthPrefixed(kvA.Value, &auctionA) | 
					
						
							|  |  |  | 		cdc.MustUnmarshalBinaryLengthPrefixed(kvB.Value, &auctionB) | 
					
						
							|  |  |  | 		return fmt.Sprintf("%v\n%v", auctionA, auctionB) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	case bytes.Equal(kvA.Key[:1], types.AuctionByTimeKeyPrefix), | 
					
						
							|  |  |  | 		bytes.Equal(kvA.Key[:1], types.NextAuctionIDKey): | 
					
						
							|  |  |  | 		auctionIDA := binary.BigEndian.Uint64(kvA.Value) | 
					
						
							|  |  |  | 		auctionIDB := binary.BigEndian.Uint64(kvB.Value) | 
					
						
							|  |  |  | 		return fmt.Sprintf("%d\n%d", auctionIDA, auctionIDB) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	default: | 
					
						
							|  |  |  | 		panic(fmt.Sprintf("invalid %s key prefix %X", types.ModuleName, kvA.Key[:1])) | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2020-02-25 15:11:09 +00:00
										 |  |  | } |