Unit ID
4tvMs0mSnc6CusUFGxrhpURP13djXhPP5Raa63G4efo=
Received
21.05.2021 17:26:45
Confirmation delay (full node)
2 minutes 31 seconds
Confirmation delay (light node)
5 minutes 37 seconds
Messages
Payments
Data
method: REDEEM
signed_message: { "NFT": "ndJyoHvDZDwMtk+g01lCsCmjS8H5zSl02lkIWSNhkMQ=", "claimer": "GQW2MIU2ULJLAQLTIZKOOKNXUTPDLYNG", "amount": 100000000, "serial": 1621617572, "expire": 1621703972 }
authors: [ { "address": "WHO3527FS32FWWP3PQUBXPOQVGDJ62IH", "definition": [ "sig", { "pubkey": "A1uU9X/keK9Jqqa9NHpSJgyDKowLnubpW4Uz+y8JWz4E" } ], "authentifiers": { "r": "Vtao38ClK8JpXW4AHMezL3Bt+C9AqtxrQydyKHXp8BM3XATJqF7KZ18FrEG1NC4JRspOH+eIcr6Ap1SRuEMz/g==" } } ]
meta: { "version": "3.0t" }
AA responses
From VSWWELE2MVLG3CHVOKHWSINL2BGSSOPE
  • 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 = json_parse(trigger.data["signed_message"]) || json_parse(trigger.data["authors"]) || json_parse(trigger.data["meta"]); 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:2011458
Witnessed level:2011451
Main chain index:2003470
Latest included mc index:2003469
Status:stable/confirmed/final