assert.gno
1.03 Kb ยท 35 lines
1package gnft
2
3import (
4 "gno.land/p/demo/tokens/grc721"
5 "gno.land/p/nt/ufmt"
6)
7
8// assertIsValidTokenURI panics if the token already has a URI set.
9func assertIsValidTokenURI(tid grc721.TokenID) {
10 uri, _ := nft.TokenURI(tid)
11 if string(uri) != "" {
12 panic(makeErrorWithDetails(errCannotSetURI, ufmt.Sprintf("token id (%s) has already set URI", string(tid))))
13 }
14}
15
16// assertIsValidAddress panics if the address is invalid.
17func assertIsValidAddress(addr address) {
18 if !addr.IsValid() {
19 panic(makeErrorWithDetails(errInvalidAddress, ufmt.Sprintf("address (%s)", addr.String())))
20 }
21}
22
23// assertFromIsValidAddress panics if the from address is invalid.
24func assertFromIsValidAddress(from address) {
25 if !from.IsValid() {
26 panic(makeErrorWithDetails(errInvalidAddress, ufmt.Sprintf("from address (%s)", from.String())))
27 }
28}
29
30// assertToIsValidAddress panics if the to address is invalid.
31func assertToIsValidAddress(to address) {
32 if !to.IsValid() {
33 panic(makeErrorWithDetails(errInvalidAddress, ufmt.Sprintf("to address (%s)", to.String())))
34 }
35}