Search Apps Documentation Source Content File Folder Download Copy Actions Download

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}