diff --git a/contracts/utility/Burner.cdc b/contracts/utility/Burner.cdc index a32fe46..0a3795e 100644 --- a/contracts/utility/Burner.cdc +++ b/contracts/utility/Burner.cdc @@ -21,16 +21,16 @@ access(all) contract Burner { /// If the provided resource implements the Burnable interface, /// it will call the burnCallback method and then destroy afterwards. access(all) fun burn(_ r: @AnyResource) { - if let s <- r as @{Burnable} { + if let s <- r as? @{Burnable} { s.burnCallback() destroy s - } else if let arr <- r as @[AnyResource] { + } else if let arr <- r as? @[AnyResource] { while arr.length > 0 { let item <- arr.removeFirst() self.burn(<-item) } destroy arr - } else if let dict <- r as @{HashableStruct: AnyResource} { + } else if let dict <- r as? @{HashableStruct: AnyResource} { let keys = dict.keys while keys.length > 0 { let item <- dict.remove(key: keys.removeFirst())! diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index 2e47dbc..345f31c 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -4,7 +4,7 @@ // ../../../contracts/FungibleToken.cdc (10.872kB) // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB) // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB) -// ../../../contracts/utility/Burner.cdc (1.879kB) +// ../../../contracts/utility/Burner.cdc (1.882kB) // ../../../contracts/utility/MetadataViews.cdc (25.61kB) // ../../../contracts/utility/NonFungibleToken.cdc (10.391kB) // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.869kB) @@ -159,7 +159,7 @@ func fungibletokenswitchboardCdc() (*asset, error) { return a, nil } -var _utilityBurnerCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x8a\xe3\x46\x10\xbd\xcf\x57\xbc\xdc\xec\x61\xc6\xde\x5c\xcd\x26\xec\xac\xb3\x4b\x42\x48\x02\xc9\x40\x0e\x21\x2c\xad\x56\xc9\x6a\xdc\xae\x36\xdd\xa5\x11\xca\xe0\x3f\xcb\x2d\x3f\x16\xaa\x65\xb5\xb5\xce\x0c\xe4\xb0\x82\x81\x41\x7a\x55\xef\xd5\xab\x57\x5e\xaf\xd7\x78\xdf\x45\xa6\x08\x97\x60\x60\x03\x4b\x34\x56\x20\xad\x11\x58\xc3\x68\x8c\x75\xde\x89\x11\x82\xb4\x84\x9a\x92\xc4\xce\x8a\x0b\x8c\xd0\xc0\xf0\x80\x48\x29\x74\xd1\x12\x02\xa3\xf1\xa1\x5f\xdd\xac\xd7\x6b\xfd\xc3\x56\xbb\xb9\xaa\x93\x10\x53\x7e\x71\x8f\x87\x2e\x89\x63\xfc\xe8\x1d\x13\xee\xd1\x8a\x1c\xd3\x66\xbd\x96\xde\x89\x50\x5c\xd9\x70\x58\x9b\x0c\xf9\xa4\xad\x64\x38\x97\x7d\x47\xec\xfe\xc2\x87\xda\xb1\x75\xfb\x57\xea\x2a\xdf\x51\x72\x3b\x3e\x97\xbc\x37\x49\x9c\x61\xfc\xf4\xcf\xdf\xde\x53\x7c\xa5\x48\xba\x58\x05\x4f\x2c\x37\xc6\x5a\x4a\x69\x61\xbc\x5f\x5e\x6c\x38\x7b\xf3\x7c\x03\x00\xda\xf7\xf7\x96\x18\xdb\x48\xc9\x12\xd7\x01\x8b\xad\xa9\x89\x2d\xe1\xeb\xd5\x9b\xa5\x5a\x18\xc9\x93\x49\x54\xdf\xc1\x76\x49\xc2\xa1\x18\x16\x62\x42\xef\xbc\x47\x45\x88\x74\x08\x4f\x54\xa3\x89\xe1\x00\x6b\x6a\xb2\xb4\x2a\x0c\x4a\x69\x2a\x4f\x79\x21\x0c\xc7\x42\xb1\x31\x96\x70\x20\xc3\x02\x09\x88\x74\xf4\xfa\x42\x5a\x97\xe0\x43\x12\x34\x64\xa4\x8b\x74\x07\xe3\x7d\xe8\x1d\xef\x74\x31\x81\x49\xd1\xa6\xae\x75\xb1\xc6\xfb\xca\xd8\x7d\xa1\x39\x90\xb4\xa1\x56\x00\x71\xea\x62\xde\xee\x80\x3a\x80\x83\x8c\xa2\xc3\x80\x14\x14\xa6\xfd\xfa\xd6\xd9\x56\x25\xe9\xe7\xa2\xa4\xa2\xbb\xd2\x30\xc4\x89\xcd\x87\x9d\xb3\xa8\xd4\x06\xcd\xc4\x3c\x32\xa9\xb3\x2d\x4c\x82\xba\xbb\xd7\xbe\x9a\xa9\xd4\x1d\x8f\x7e\xc8\x71\xc2\xc7\x47\x6c\x83\xf7\x94\xe1\x53\xef\xc2\xf1\xf3\x2f\x8f\x1f\x36\x78\x6c\x35\x6b\x7e\x40\x6f\x06\xe5\x4c\x44\xa8\x88\xa9\x71\x32\x5a\x9a\x8d\x29\xc6\x95\x6a\x97\xb2\x42\xdf\x9b\x21\xa1\x4b\x63\xa0\xab\x2e\xf2\x64\x86\xe3\xb1\x74\x5a\xff\x0a\x0f\xa3\x8d\x7d\x1b\x10\x7a\xd6\x0b\x29\x69\xd7\xe3\x38\xf7\x22\xd5\x8b\xdb\x5b\x0e\x72\x7b\x5b\xe8\x24\x14\x1f\x67\x65\x99\xa0\x37\x43\x86\xcd\x33\x57\x10\x97\x8d\x97\x28\x8c\xf9\x9b\x55\x4c\x0a\x97\x68\x3a\xce\x33\x6c\xcf\x0b\x5e\x2c\x33\xf6\x74\x53\x74\xe4\x09\xf3\x75\xef\x7c\xa8\x8c\x9f\xa6\x1d\x57\x9a\x33\x59\x74\xce\xcf\xd9\x89\x56\xed\xdc\x13\xf1\x25\x9d\x3f\x34\xd9\xb5\x63\x0c\x4f\xae\xa6\x7a\x86\x3e\x1c\x3d\x1d\x88\x25\x65\xc0\x25\xc5\xd3\x34\x97\xa4\x38\x19\x59\x35\x93\x65\x07\x93\xfe\x49\x9d\xe1\x5a\xbf\xf1\x45\x5b\x23\x14\x7b\x13\xeb\xb4\xfa\x8f\x77\x93\x09\x8b\x4f\x88\x1b\xbc\x7b\xe0\xe1\xd7\xb3\xae\xe5\xcc\x3b\xd7\xc0\x93\x20\xe1\xed\x3d\xa2\xa6\xf0\xdd\xf3\x24\xf3\x34\x83\xe9\x93\x56\x2f\x78\x3a\x3d\xe5\x3a\xca\xdb\x13\xc8\x27\x9a\x08\x4c\x8c\x17\x8a\x3f\x66\x62\xfe\xbc\x62\xe9\x5b\xe7\x49\xe1\x2b\x4f\xbc\x93\x16\xdf\xe2\xcd\x15\x44\x1f\xed\xe9\x84\x0e\xda\x54\xc1\xe3\xcf\xc7\x47\x17\x93\x5c\x29\xcb\xd2\xc9\x37\x59\xfd\xe2\xed\xbd\x56\x7d\x8e\x38\xbd\x38\x89\x89\xf1\x95\x59\x6a\x67\x65\xe6\xd7\xf7\x26\xb5\xea\xd7\x6f\xf9\xa2\x37\x98\x0d\x77\x6d\xa1\x56\xef\x69\x48\xf8\x26\x37\x59\xe9\xff\x2f\x4c\xaf\xaf\xff\xff\xf8\xb9\xd3\x38\xff\x62\x4f\xc3\x66\x2c\xff\xcc\x90\xe5\x57\x5f\xc4\x12\x65\xba\xf6\xe4\xf9\x45\xe4\xcc\xba\xf3\xe9\x9d\xfe\x0d\x00\x00\xff\xff\xc4\xc8\xb1\xbd\x57\x07\x00\x00" +var _utilityBurnerCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x8e\xe3\x44\x10\xbd\xcf\x57\x3c\x6e\xc9\x68\x26\x59\xae\xd1\x02\x3b\x1b\x76\x05\x42\x80\x04\x23\x71\x40\x68\xd5\x6e\x97\xe3\x56\x3a\xd5\x51\x77\x79\x2c\x33\xca\x9f\x71\xe3\xc7\x50\xb5\xe3\x8e\x37\xcc\x48\x1c\xb0\x34\xd2\xc8\x7e\x55\xef\xd5\xab\x57\x59\xaf\xd7\x78\xdf\x45\xa6\x08\x97\x60\x60\x03\x4b\x34\x56\x20\xad\x11\x58\xc3\x68\x8c\x75\xde\x89\x11\x82\xb4\x84\x9a\x92\xc4\xce\x8a\x0b\x8c\xd0\xc0\xf0\x80\x48\x29\x74\xd1\x12\x02\xa3\xf1\xa1\x5f\xdd\xac\xd7\x6b\xfd\xc3\x56\xbb\xb9\xaa\x93\x10\x53\x7e\x71\x8f\x87\x2e\x89\x63\xfc\xe0\x1d\x13\xee\xd1\x8a\x1c\xd3\x66\xbd\x96\xde\x89\x50\x5c\xd9\x70\x58\x9b\x0c\xf9\xa4\xad\x64\x38\x97\x7d\x4b\xec\xfe\xc4\x87\xda\xb1\x75\xfb\x57\xea\x2a\xdf\x51\x72\x3b\x3e\x97\xbc\x37\x49\x9c\x61\xfc\xf8\xf7\x5f\xde\x53\x7c\xa5\x48\xba\x58\x05\x4f\x2c\x37\xc6\x5a\x4a\x69\x61\xbc\x5f\x5e\x6c\x38\x7b\xf3\x7c\x03\x00\xda\xf7\xb7\x96\x18\xdb\x48\xc9\x12\xd7\x01\x8b\xad\xa9\x89\x2d\xe1\xcb\xd5\x9b\xa5\x5a\x18\xc9\x93\x49\x54\xdf\xc1\x76\x49\xc2\xa1\x18\x16\x62\x42\xef\xbc\x47\x45\x88\x74\x08\x4f\x54\xa3\x89\xe1\x00\x6b\x6a\xb2\xb4\x2a\x0c\x4a\x69\x2a\x4f\x79\x21\x0c\xc7\x42\xb1\x31\x96\x70\x20\xc3\x02\x09\x88\x74\xf4\xfa\x42\x5a\x97\xe0\x43\x12\x34\x64\xa4\x8b\x74\x07\xe3\x7d\xe8\x1d\xef\x74\x31\x81\x49\xd1\xa6\xae\x75\xb1\xc6\xfb\xca\xd8\x7d\xa1\x39\x90\xb4\xa1\x56\x00\x71\xea\x62\xde\xee\x80\x3a\x80\x83\x8c\xa2\xc3\x80\x14\x14\xa6\xfd\xfa\xd6\xd9\x56\x25\xe9\xe7\xa2\xa4\xa2\xbb\xd2\x30\xc4\x89\xcd\x87\x9d\xb3\xa8\xd4\x06\xcd\xc4\x3c\x32\xa9\xb3\x2d\x4c\x82\xba\xbb\xd7\xbe\x9a\xa9\xd4\x1d\x8f\x7e\xc8\x71\xc2\xc7\x47\x6c\x83\xf7\x94\xe1\x53\xef\xc2\xf1\xd3\xcf\x8f\x1f\x36\x78\x6c\x35\x6b\x7e\x40\x6f\x06\xe5\x4c\x44\xa8\x88\xa9\x71\x32\x5a\x9a\x8d\x29\xc6\x95\x6a\x97\xb2\x42\xdf\x9b\x21\xa1\x4b\x63\xa0\xab\x2e\xf2\x64\x86\xe3\xb1\x74\x5a\xff\x0a\x0f\xa3\x8d\x7d\x1b\x10\x7a\xd6\x0b\x29\x69\xd7\xe3\x38\xf7\x22\xd5\x8b\xdb\x5b\x0e\x72\x7b\x5b\xe8\x24\x14\x1f\x67\x65\x99\xa0\x37\x43\x86\xcd\x33\x57\x10\x97\x8d\x97\x28\x8c\xf9\x9b\x55\x4c\x0a\x97\x68\x3a\xce\x33\x6c\xcf\x0b\x5e\x2c\x33\xf6\x74\x53\x74\xe4\x09\xf3\x75\xef\x7c\xa8\x8c\x9f\xa6\x1d\x57\x9a\x33\x59\x74\xce\xcf\xd9\x89\x56\xed\xdc\x13\xf1\x25\x9d\xdf\x37\xd9\xb5\x63\x0c\x4f\xae\xa6\x7a\x86\x3e\x1c\x3d\x1d\x88\x25\x65\xc0\x25\xc5\xd3\x34\x97\xa4\x38\x19\x59\x35\x93\x65\x07\x93\xfe\x49\x9d\xe1\x5a\xbf\xf1\x45\x5b\x23\x14\x7b\x13\xeb\xb4\xfa\x97\x77\x93\x09\x8b\x4f\x88\x1b\xbc\x7b\xe0\xe1\x97\xb3\xae\xe5\xcc\x3b\xd7\xc0\x93\x20\xe1\xed\x3d\x22\x4c\xfa\x06\xef\x9e\x27\x9d\xa7\x19\x4e\x9f\xb4\x7a\xc1\xd4\xe9\x29\xe7\x51\xde\x9e\x40\x3e\xd1\xc4\x60\x62\x9c\x71\xfc\x3e\x93\xf3\xc7\x15\x4d\xdf\x3a\x4f\x8a\x5f\x79\xe2\x9d\xb4\xf8\x1a\x6f\xae\x20\xfa\x68\x53\x27\x74\xd0\xae\x0a\x1e\x7f\x40\x3e\xba\x98\xe4\x4a\x5a\xd6\x4e\xbe\xc9\xf2\x17\x6f\xef\xb5\xea\x73\xc4\xe9\xc5\x51\x4c\x8c\xaf\x0c\x53\x3b\x2b\x73\xc7\xbe\x33\xa9\x55\xc7\x7e\xcd\x47\xbd\xc1\x6c\xba\x6b\x13\xb5\x7c\x4f\x43\xc2\x57\xb9\xcb\x4a\xff\x7f\x61\x7c\x7d\xfd\xdf\xe7\xcf\x9d\x46\x03\x16\x7b\x1a\x36\x63\xf9\x67\x8e\x2c\xbf\xf8\x5f\x3c\x51\xa6\x6b\x53\x9e\x5f\x44\xce\xbc\x3b\x5f\xdf\xe9\x9f\x00\x00\x00\xff\xff\xfd\xbf\x47\x15\x5a\x07\x00\x00" func utilityBurnerCdcBytes() ([]byte, error) { return bindataRead( @@ -175,7 +175,7 @@ func utilityBurnerCdc() (*asset, error) { } info := bindataFileInfo{name: "utility/Burner.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0x9c, 0xee, 0x29, 0x6f, 0x7c, 0x80, 0xfa, 0x6e, 0x27, 0x7b, 0xaa, 0x4c, 0xa8, 0xd6, 0x4, 0xd6, 0x11, 0x11, 0x3e, 0xf7, 0x65, 0x85, 0x1e, 0x89, 0x28, 0xa8, 0xe7, 0xb0, 0xa0, 0xa1, 0x2b}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9f, 0x84, 0xf0, 0xc, 0x8d, 0x2a, 0xfd, 0x70, 0x91, 0x65, 0x14, 0xe5, 0x6f, 0x94, 0x59, 0xef, 0x7f, 0x42, 0x6b, 0x70, 0xa7, 0x44, 0xd, 0xd1, 0xb6, 0x4f, 0x27, 0x23, 0xff, 0x77, 0x9c, 0xe7}} return a, nil }