Unit ID
Ir3QyBOpY1AMmb4Xr4rqCivkO8u2Hdr+yjXUfyaf9DI=
Received
21.05.2021 17:51:09
Confirmation delay (full node)
6 minutes 15 seconds
Confirmation delay (light node)
7 minutes 27 seconds
Messages
Payments
Data
method: REDEEM
signed_message: { "NFT": "P+v5pXaTsOUv5gf54n/q53hE5chf0AP6JeVsJPd4+Aw=", "claimer": "GQW2MIU2ULJLAQLTIZKOOKNXUTPDLYNG", "amount": 100000000, "serial": 1621619082, "expire": 1621705482 }
authors: [ { "address": "WHO3527FS32FWWP3PQUBXPOQVGDJ62IH", "definition": [ "sig", { "pubkey": "A1uU9X/keK9Jqqa9NHpSJgyDKowLnubpW4Uz+y8JWz4E" } ], "authentifiers": { "r": "0kD7ZIB/UZJMffCxi4feuEzB2m7MWSJpO8XS+ujWln52EHN9im1FN+zuOcWkHXhoeBmo9aAl+Fy1JB+TeVJfbw==" } } ]
meta: { "version": "3.0t" }
AA responses
From 6IUBNCAMJLNWX43IEORSRLB74CV76ZTT
  • Bounced
  • Response: { "error": "formula if (NOT exists(trigger.data["signed_message"])) bounce("signed_message field is mandatory"); if (NOT exists(trigger.data["authors"])) bounce('authors field is mandatory'); if (NOT exists(trigger.data["meta"])) bounce("meta field is mandatory"); $spack = { signed_message: json_parse(trigger.data["signed_message"]), authors: json_parse(trigger.data["authors"]) } || json_parse(trigger.data["meta"]); response["pack"] = json_stringify($spack); if (NOT is_valid_signed_package($spack, $spack.authors[0]["address"])) bounce("The signed message signature is invalid"); if (NOT $spack.signed_message["serial"]) bounce("The signed message does not contains a serial field"); if (NOT $spack.signed_message["NFT"]) bounce("The signer of this message does not include a NFT field"); $NFT = $saleInfo($spack.signed_message["NFT"]); if (NOT $NFT) bounce("That NFT does not exist"); //Prevent author from stealing their NFTs from other people if ($NFT.soldBy != $NFT.author) bounce("You cannot claim an NFT that is not being sold by their author"); if ($NFT.author != $spack.authors[0]["address"]) bounce("The signer of that message is not the author of that NFT"); //NFTs have to be created with redeemable: true to be redeemable if (NOT $NFT.redeem) bounce("That NFT is not redeemable"); //Check if sale is over and expire was set in the signed message if ($spack.signed_message["expireDate"]) if ($NFT.endTime < timestamp OR $spack.signed_message["expireDate"] < timestamp) bounce("That NFT is no longer claimable"); //Check if the NFT is address-locked if ($spack.signed_message["claimer"]) if ($spack.signed_message["claimer"] != trigger.address) bounce("You cannot claim that NFT from that address"); $signedAmount = $spack.signed_message["amount"] OTHERWISE 1; //Uncapped asset, we can issue whatever amount was signed if (NOT $NFT.cap){ $amount = $signedAmount; } //If it is going over the cap we need to reduce the claimed amount to match the asset cap else { if ($NFT.unitsSold + $signedAmount > $NFT.cap) $amount = $NFT.cap - $NFT.unitsSold; else $amount = $signedAmount; } //All copies were issued if ($amount == 0) bounce("All copies of that NFT have been already minted"); failed: bad address in is_valid_signed_package: false" }
Technical information
Fees:
1,235 bytes
(452 headers, 783 payload)
Level:2011572
Witnessed level:2011565
Main chain index:2003584
Latest included mc index:2003583
Status:stable/confirmed/final