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