tx · 8CAhPTLRExcCkPzyFi3xPdekw1PPBULkPapStptMb6LJ 3MqxNQues3HH3kBjuzTSnJ7UKwmS9hgnxxx: -0.01400000 Waves 2022.04.13 01:07 [2005945] smart account 3MqxNQues3HH3kBjuzTSnJ7UKwmS9hgnxxx > SELF 0.00000000 Waves
{ "type": 13, "id": "8CAhPTLRExcCkPzyFi3xPdekw1PPBULkPapStptMb6LJ", "fee": 1400000, "feeAssetId": null, "timestamp": 1649801350879, "version": 2, "chainId": 84, "sender": "3MqxNQues3HH3kBjuzTSnJ7UKwmS9hgnxxx", "senderPublicKey": "3karvhVe3LgRMXprezaPpdeYknh9ju1rETVV3zdunQ1p", "proofs": [ "4gmyk4hnAHhRsZHXfhWnWLzvj6pofdP14Ljb4Px7kA7JbPbxXq85sYjosZYyTpJtpMpcE9uMkK7E6u9AhXnhkGqr" ], "script": "base64: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", "height": 2005945, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HmNPYYd6ZfPY58gEj15YccakGgCpe9RMwgoLise8Yp5N Next: 3Aq71avoGGz337Jp1jKiSEaPp2EqcxnYxiekSUcHBqPh Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | ||
4 | + | let ChatAssetID = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H' | |
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | - | func | |
7 | + | func RegisterUserName (UserName,UserDescription) = { | |
8 | 8 | let currentKey = toBase58String(i.caller.bytes) | |
9 | + | let pmt = value(i.payments[0]) | |
9 | 10 | let checkseries = getString(this, ("UserName_" + UserName)) | |
10 | 11 | if ((3 > size(UserName))) | |
11 | 12 | then throw("Choose a Unique UserName above 3 Chars.") | |
12 | - | else if ((checkseries == UserName)) | |
13 | - | then throw("User Name Already Exist or Taken. Choose Another Unique User Name.") | |
14 | - | else [StringEntry(("UserName_" + UserName), UserName), StringEntry(("UserDescription_" + UserName), UserDescription), StringEntry(("UserAddress_" + UserName), currentKey), StringEntry(("Plan_" + UserName), "Basic"), IntegerEntry(("Account_Creation_TimeStamp" + UserName), lastBlock.timestamp), IntegerEntry(("Last_Message_Timestamp" + UserName), lastBlock.timestamp), IntegerEntry(("MessageCounter_" + UserName), 0)] | |
13 | + | else if ((pmt.assetId != ChatAssetID)) | |
14 | + | then throw(("Wrong Asset Attached please Attach " + toBase58String(ChatAssetID))) | |
15 | + | else if ((checkseries == UserName)) | |
16 | + | then throw("User Name Already Exist or Taken. Choose Another Unique User Name.") | |
17 | + | else if ((1000000 > pmt.amount)) | |
18 | + | then throw(("Please Attach Exact Amount = 1 " + toBase58String(ChatAssetID))) | |
19 | + | else [StringEntry(("UserName_" + UserName), UserName), StringEntry(("UserDescription_" + UserName), UserDescription), StringEntry(("UserAddress_" + UserName), currentKey), StringEntry(("Plan_" + UserName), "Basic"), IntegerEntry(("Account_Creation_TimeStamp" + UserName), lastBlock.timestamp), IntegerEntry(("Last_Message_Timestamp" + UserName), lastBlock.timestamp), IntegerEntry(("MessageCounter_" + UserName), 0)] | |
15 | 20 | } | |
16 | 21 | ||
17 | 22 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | ||
4 | + | let ChatAssetID = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H' | |
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | - | func | |
7 | + | func RegisterUserName (UserName,UserDescription) = { | |
8 | 8 | let currentKey = toBase58String(i.caller.bytes) | |
9 | + | let pmt = value(i.payments[0]) | |
9 | 10 | let checkseries = getString(this, ("UserName_" + UserName)) | |
10 | 11 | if ((3 > size(UserName))) | |
11 | 12 | then throw("Choose a Unique UserName above 3 Chars.") | |
12 | - | else if ((checkseries == UserName)) | |
13 | - | then throw("User Name Already Exist or Taken. Choose Another Unique User Name.") | |
14 | - | else [StringEntry(("UserName_" + UserName), UserName), StringEntry(("UserDescription_" + UserName), UserDescription), StringEntry(("UserAddress_" + UserName), currentKey), StringEntry(("Plan_" + UserName), "Basic"), IntegerEntry(("Account_Creation_TimeStamp" + UserName), lastBlock.timestamp), IntegerEntry(("Last_Message_Timestamp" + UserName), lastBlock.timestamp), IntegerEntry(("MessageCounter_" + UserName), 0)] | |
13 | + | else if ((pmt.assetId != ChatAssetID)) | |
14 | + | then throw(("Wrong Asset Attached please Attach " + toBase58String(ChatAssetID))) | |
15 | + | else if ((checkseries == UserName)) | |
16 | + | then throw("User Name Already Exist or Taken. Choose Another Unique User Name.") | |
17 | + | else if ((1000000 > pmt.amount)) | |
18 | + | then throw(("Please Attach Exact Amount = 1 " + toBase58String(ChatAssetID))) | |
19 | + | else [StringEntry(("UserName_" + UserName), UserName), StringEntry(("UserDescription_" + UserName), UserDescription), StringEntry(("UserAddress_" + UserName), currentKey), StringEntry(("Plan_" + UserName), "Basic"), IntegerEntry(("Account_Creation_TimeStamp" + UserName), lastBlock.timestamp), IntegerEntry(("Last_Message_Timestamp" + UserName), lastBlock.timestamp), IntegerEntry(("MessageCounter_" + UserName), 0)] | |
15 | 20 | } | |
16 | 21 | ||
17 | 22 | ||
18 | 23 | @Verifier(tx) | |
19 | 24 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
20 | 25 |
github/deemru/w8io/169f3d6 29.01 ms ◑