tx · 8FfhZKXNXG9SNHYDcsrANSKfKaSobwU281H5wQXSCBMo

3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV:  -0.05000000 Waves

2024.10.28 10:19 [3346412] smart account 3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV > SELF 0.00000000 Waves

{ "type": 13, "id": "8FfhZKXNXG9SNHYDcsrANSKfKaSobwU281H5wQXSCBMo", "fee": 5000000, "feeAssetId": null, "timestamp": 1730099969850, "version": 2, "chainId": 84, "sender": "3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV", "senderPublicKey": "DS6HkopS9zypvxX6VhkdNvv6v4wcPZuChRvTwKJeacxE", "proofs": [ "xu3bE2WqLv157CaCJmXx9WVerfSCkWyz5msS4qAWFPsSS1ueuhy93svXwFTX1wy879WtejAZKJN1jdUSei7jf2X" ], "script": "base64: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", "height": 3346412, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DwHkFLxNsAVbSrHcoLTHD2XBxAJnuVUaeVi8iiL3kvA1 Next: GZtrLmwpweSUDTLzjPPuKXa8M8dQXoQUWpcnJChWEkaF Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let BAI_CONTRACT_PUBLIC_KEY = base58'DS6HkopS9zypvxX6VhkdNvv6v4wcPZuChRvTwKJeacxE'
55
6-let BAI_CONTRACT = addressFromPublicKey(BAI_CONTRACT_PUBLIC_KEY)
6+let BAI_CONTRACT = "3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV"
77
88 let BAI_ASSET_ID = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1'
99
1616 let payment = i.payments[0]
1717 let fee = payment.amount
1818 let feeAssetId = payment.assetId
19- let minFee = match getInteger(BAI_CONTRACT, "price_fullchatgpt") {
19+ let minFee = match getInteger(Address(fromBase58String(BAI_CONTRACT)), "price_fullchatgpt") {
2020 case n: Int =>
2121 n
2222 case _ =>
2929 else {
3030 let publicKey = toBase58String(i.callerPublicKey)
3131 let timestamp = toString(lastBlock.timestamp)
32- let result = invoke(BAI_CONTRACT, "registerTaskCallback", [cid, "fullchatgpt", "callback"], [AttachedPayment(BAI_ASSET_ID, 10000000)])
32+ let result = invoke(Address(fromBase58String(BAI_CONTRACT)), "registerTaskCallback", [cid, "fullchatgpt", "callback"], [AttachedPayment(BAI_ASSET_ID, 10000000)])
3333 if ((result == result))
3434 then {
3535 let taskId = match result {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let BAI_CONTRACT_PUBLIC_KEY = base58'DS6HkopS9zypvxX6VhkdNvv6v4wcPZuChRvTwKJeacxE'
55
6-let BAI_CONTRACT = addressFromPublicKey(BAI_CONTRACT_PUBLIC_KEY)
6+let BAI_CONTRACT = "3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV"
77
88 let BAI_ASSET_ID = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1'
99
1010 @Callable(i)
1111 func getAnswerForChat (chatId,cid) = {
1212 let numberOfPayments = size(i.payments)
1313 if ((numberOfPayments != 1))
1414 then throw("Payment necessary!")
1515 else {
1616 let payment = i.payments[0]
1717 let fee = payment.amount
1818 let feeAssetId = payment.assetId
19- let minFee = match getInteger(BAI_CONTRACT, "price_fullchatgpt") {
19+ let minFee = match getInteger(Address(fromBase58String(BAI_CONTRACT)), "price_fullchatgpt") {
2020 case n: Int =>
2121 n
2222 case _ =>
2323 0
2424 }
2525 if (if ((feeAssetId != BAI_ASSET_ID))
2626 then true
2727 else (minFee > fee))
2828 then throw("Payment of the minimal BAI amount necessary!")
2929 else {
3030 let publicKey = toBase58String(i.callerPublicKey)
3131 let timestamp = toString(lastBlock.timestamp)
32- let result = invoke(BAI_CONTRACT, "registerTaskCallback", [cid, "fullchatgpt", "callback"], [AttachedPayment(BAI_ASSET_ID, 10000000)])
32+ let result = invoke(Address(fromBase58String(BAI_CONTRACT)), "registerTaskCallback", [cid, "fullchatgpt", "callback"], [AttachedPayment(BAI_ASSET_ID, 10000000)])
3333 if ((result == result))
3434 then {
3535 let taskId = match result {
3636 case s: String =>
3737 s
3838 case _ =>
3939 throw("Unknown task id!")
4040 }
4141 [StringEntry((chatId + "_latest"), cid), StringEntry((chatId + "_status"), "waiting"), StringEntry(taskId, chatId), StringEntry(((publicKey + "_") + chatId), ((((cid + "_") + timestamp) + "_") + "waiting")), StringEntry((chatId + "_initiator"), publicKey)]
4242 }
4343 else throw("Strict value is not equal to itself.")
4444 }
4545 }
4646 }
4747
4848
4949
5050 @Callable(i)
5151 func callback (taskId,cid) = if ((i.callerPublicKey != BAI_CONTRACT_PUBLIC_KEY))
5252 then throw("Only BAI Contract is allowed to call the callback!")
5353 else {
5454 let chatId = match getString(taskId) {
5555 case s: String =>
5656 s
5757 case _ =>
5858 throw("Chat ID for task id not found!")
5959 }
6060 let publicKey = match getString((chatId + "_initiator")) {
6161 case s: String =>
6262 s
6363 case _ =>
6464 throw("No initiator found!")
6565 }
6666 let timestamp = toString(lastBlock.timestamp)
6767 [StringEntry((chatId + "_latest"), cid), StringEntry((chatId + "_status"), "done"), StringEntry(((publicKey + "_") + chatId), ((((cid + "_") + timestamp) + "_") + "done")), StringEntry("caller", toBase58String(i.callerPublicKey))]
6868 }
6969
7070
7171 @Verifier(tx)
7272 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7373

github/deemru/w8io/169f3d6 
25.60 ms