github.com/0chain/gosdk@v1.17.11/znft/storageerc721fixed.go (about) 1 package znft 2 3 import ( 4 "context" 5 "math/big" 6 7 storageerc721fixed "github.com/0chain/gosdk/znft/contracts/dstorageerc721fixed/binding" 8 9 "github.com/ethereum/go-ethereum/common" 10 "github.com/pkg/errors" 11 ) 12 13 // Solidity Functions 14 // function mint(uint256 amount) 15 // function price() public view override returns (uint256) 16 17 type IStorageECR721Fixed interface { 18 IStorageECR721 19 } 20 21 var ( 22 _ IStorageECR721Fixed = (*StorageECR721Fixed)(nil) 23 ) 24 25 type StorageECR721Fixed struct { 26 session *storageerc721fixed.BindingSession 27 ctx context.Context 28 } 29 30 func (s *StorageECR721Fixed) SetURIFallback(uri string) error { 31 evmTr, err := s.session.SetURIFallback(uri) 32 if err != nil { 33 err = errors.Wrapf(err, "failed to execute %s", "SetURIFallback") 34 Logger.Error(err) 35 return err 36 } 37 38 Logger.Info("Executed SetURIFallback, hash: ", evmTr.Hash().Hex()) 39 40 return nil 41 } 42 43 func (s *StorageECR721Fixed) Total() (*big.Int, error) { 44 total, err := s.session.Total() 45 if err != nil { 46 err = errors.Wrapf(err, "failed to read %s", "Total") 47 Logger.Error(err) 48 return nil, err 49 } 50 51 return total, nil 52 } 53 54 func (s *StorageECR721Fixed) Batch() (*big.Int, error) { 55 batch, err := s.session.Batch() 56 if err != nil { 57 err = errors.Wrapf(err, "failed to read %s", "Batch") 58 Logger.Error(err) 59 return nil, err 60 } 61 62 return batch, nil 63 } 64 65 func (s *StorageECR721Fixed) Mintable() (bool, error) { 66 mintable, err := s.session.Mintable() 67 if err != nil { 68 err = errors.Wrapf(err, "failed to read %s", "Mintable") 69 Logger.Error(err) 70 return false, err 71 } 72 73 return mintable, nil 74 } 75 76 func (s *StorageECR721Fixed) Allocation() (string, error) { 77 allocation, err := s.session.Allocation() 78 if err != nil { 79 err = errors.Wrapf(err, "failed to read %s", "Allocation") 80 Logger.Error(err) 81 return "", err 82 } 83 84 return allocation, nil 85 } 86 87 func (s *StorageECR721Fixed) Uri() (string, error) { 88 uri, err := s.session.Uri() 89 if err != nil { 90 err = errors.Wrapf(err, "failed to read %s", "URI") 91 Logger.Error(err) 92 return "", err 93 } 94 95 return uri, nil 96 } 97 98 func (s *StorageECR721Fixed) UriFallback() (string, error) { 99 uri, err := s.session.UriFallback() 100 if err != nil { 101 err = errors.Wrapf(err, "failed to read %s", "URIFallback") 102 Logger.Error(err) 103 return "", err 104 } 105 106 return uri, nil 107 } 108 109 func (s *StorageECR721Fixed) Royalty() (*big.Int, error) { 110 value, err := s.session.Royalty() 111 if err != nil { 112 err = errors.Wrapf(err, "failed to read %s", "Royalty") 113 Logger.Error(err) 114 return nil, err 115 } 116 117 return value, nil 118 } 119 120 func (s *StorageECR721Fixed) Receiver() (string, error) { 121 value, err := s.session.Receiver() 122 if err != nil { 123 err = errors.Wrapf(err, "failed to read %s", "Receiver") 124 Logger.Error(err) 125 return "", err 126 } 127 128 return value.String(), nil 129 } 130 131 func (s *StorageECR721Fixed) Max() (*big.Int, error) { 132 max, err := s.session.Max() 133 if err != nil { 134 err = errors.Wrapf(err, "failed to read %s", "Max") 135 Logger.Error(err) 136 return nil, err 137 } 138 139 return max, nil 140 } 141 142 func (s *StorageECR721Fixed) Mint(amount *big.Int) error { 143 evmTr, err := s.session.Mint(amount) 144 if err != nil { 145 err = errors.Wrapf(err, "failed to execute %s", Mint) 146 Logger.Error(err) 147 return err 148 } 149 150 Logger.Info("Executed ", Mint, "hash: ", evmTr.Hash()) 151 152 return nil 153 } 154 155 func (s *StorageECR721Fixed) RoyaltyInfo(tokenId, salePrice *big.Int) (string, *big.Int, error) { 156 address, sum, err := s.session.RoyaltyInfo(tokenId, salePrice) 157 if err != nil { 158 err = errors.Wrapf(err, "failed to read %s", RoyaltyInfo) 159 Logger.Error(err) 160 return "", nil, err 161 } 162 163 return address.Hex(), sum, nil 164 } 165 166 func (s *StorageECR721Fixed) MintOwner(amount *big.Int) error { 167 evmTr, err := s.session.MintOwner(amount) 168 if err != nil { 169 err = errors.Wrapf(err, "failed to execute %s", MintOwner) 170 Logger.Error(err) 171 return err 172 } 173 174 Logger.Info("Executed ", MintOwner, "hash: ", evmTr.Hash()) 175 176 return nil 177 } 178 179 func (s *StorageECR721Fixed) TokenURI(token *big.Int) (string, error) { 180 tokenURI, err := s.session.TokenURI(token) 181 if err != nil { 182 err = errors.Wrapf(err, "failed to read %s", TokenURI) 183 Logger.Error(err) 184 return "", err 185 } 186 187 return tokenURI, nil 188 } 189 190 func (s *StorageECR721Fixed) TokenURIFallback(token *big.Int) (string, error) { 191 tokenURI, err := s.session.TokenURIFallback(token) 192 if err != nil { 193 err = errors.Wrapf(err, "failed to read %s", TokenURIFallback) 194 Logger.Error(err) 195 return "", err 196 } 197 198 return tokenURI, nil 199 } 200 201 // Price returns price 202 func (s *StorageECR721Fixed) Price() (*big.Int, error) { 203 price, err := s.session.Price() 204 if err != nil { 205 err = errors.Wrapf(err, "failed to read %s", Price) 206 Logger.Error(err) 207 return nil, err 208 } 209 210 return price, nil 211 } 212 213 // SetURI updates uri 214 func (s *StorageECR721Fixed) SetURI(uri string) error { 215 evmTr, err := s.session.SetURI(uri) 216 if err != nil { 217 err = errors.Wrapf(err, "failed to execute %s", SetURI) 218 Logger.Error(err) 219 return err 220 } 221 222 Logger.Info("Executed ", SetURI, " hash: ", evmTr.Hash()) 223 224 return nil 225 } 226 227 // SetAllocation updates allocation 228 func (s *StorageECR721Fixed) SetAllocation(allocation string) error { 229 evmTr, err := s.session.SetAllocation(allocation) 230 if err != nil { 231 err = errors.Wrapf(err, "failed to execute %s", SetAllocation) 232 Logger.Error(err) 233 return err 234 } 235 236 Logger.Info("Executed ", SetAllocation, "hash: ", evmTr.Hash()) 237 238 return nil 239 } 240 241 // SetMintable updates mintable state 242 func (s *StorageECR721Fixed) SetMintable(status bool) error { 243 evmTr, err := s.session.SetMintable(status) 244 if err != nil { 245 err = errors.Wrapf(err, "failed to execute %s", SetMintable) 246 Logger.Error(err) 247 return err 248 } 249 250 Logger.Info("Executed ", SetMintable, "hash: ", evmTr.Hash()) 251 252 return nil 253 } 254 255 // SetRoyalty eth balance from token contract - setReceiver(address receiver_) 256 func (s *StorageECR721Fixed) SetRoyalty(sum *big.Int) error { 257 evmTr, err := s.session.SetRoyalty(sum) 258 if err != nil { 259 err = errors.Wrapf(err, "failed to execute %s", SetRoyalty) 260 Logger.Error(err) 261 return err 262 } 263 264 Logger.Info("Executed ", SetRoyalty, " hash: ", evmTr.Hash()) 265 266 return nil 267 } 268 269 // SetReceiver eth balance from token contract - setReceiver(address receiver_) 270 func (s *StorageECR721Fixed) SetReceiver(receiver string) error { 271 address := common.HexToAddress(receiver) 272 273 evmTr, err := s.session.SetReceiver(address) 274 if err != nil { 275 err = errors.Wrapf(err, "failed to execute %s", SetReceiver) 276 Logger.Error(err) 277 return err 278 } 279 280 Logger.Info("Executed ", SetReceiver, " hash: ", evmTr.Hash()) 281 282 return nil 283 } 284 285 // Withdraw eth balance from token contract - withdraw() 286 func (s *StorageECR721Fixed) Withdraw() error { 287 evmTr, err := s.session.Withdraw() 288 if err != nil { 289 err = errors.Wrapf(err, "failed to execute %s", Withdraw) 290 Logger.Error(err) 291 return err 292 } 293 294 Logger.Info("Executed ", Withdraw, " hash: ", evmTr.Hash()) 295 296 return nil 297 }