tx · H6sz7NuGC9FLhvsbx9yZGoLpzr36iZs7xEWSaQQTAc5S

3Moz6HJhucpFh4V3VScXhd9efei4Curytfj:  -0.01000000 Waves

2023.10.28 16:55 [2818573] smart account 3Moz6HJhucpFh4V3VScXhd9efei4Curytfj > SELF 0.00000000 Waves

{ "type": 13, "id": "H6sz7NuGC9FLhvsbx9yZGoLpzr36iZs7xEWSaQQTAc5S", "fee": 1000000, "feeAssetId": null, "timestamp": 1698501341224, "version": 2, "chainId": 84, "sender": "3Moz6HJhucpFh4V3VScXhd9efei4Curytfj", "senderPublicKey": "Ec1VLg3r1E7mwHmaNidmoKrFAUJ55UVJFq3J1YKRy5Zm", "proofs": [ "5qbauNGyQeMpENfJoKw1c8f252ufYG7iAb4PjXzx8S9kSQqvvroZ1ZwagGEyR1UsjnYH11MRNY8ia1kRYXYwrWM7" ], "script": "base64:BgIHCAISAwoBEQoAB3dlaWdodDEJAMwIAgkAzAgCAI0wCQDMCAIAhuj/////////AQkAzAgCAMZeCQDMCAIAmYcBBQNuaWwJAMwIAgkAzAgCAKDh/////////wEJAMwIAgD36/////////8BCQDMCAIAgOr/////////AQkAzAgCAIgDBQNuaWwJAMwIAgkAzAgCAOkzCQDMCAIArAIJAMwIAgCrWQkAzAgCAKVbBQNuaWwJAMwIAgkAzAgCALUgCQDMCAIAodn/////////AQkAzAgCAM/n/////////wEJAMwIAgCVBwUDbmlsCQDMCAIJAMwIAgCmMQkAzAgCALq3/////////wEJAMwIAgDERAkAzAgCAIoCBQNuaWwJAMwIAgkAzAgCAPH7/////////wEJAMwIAgDqKwkAzAgCANXo/////////wEJAMwIAgDNnf////////8BBQNuaWwJAMwIAgkAzAgCAMw2CQDMCAIAw9T/////////AQkAzAgCAPlZCQDMCAIA/XIFA25pbAkAzAgCCQDMCAIAgBUJAMwIAgCvLgkAzAgCALi1/////////wEJAMwIAgCIu/////////8BBQNuaWwJAMwIAgkAzAgCAKoSCQDMCAIApDQJAMwIAgCTzv////////8BCQDMCAIArJj/////////AQUDbmlsCQDMCAIJAMwIAgDkFgkAzAgCAPpUCQDMCAIAorH/////////AQkAzAgCAJSp/////////wEFA25pbAkAzAgCCQDMCAIAx+b/////////AQkAzAgCAJqUAQkAzAgCANaU/////////wEJAMwIAgCs7v7///////8BBQNuaWwJAMwIAgkAzAgCAK1TCQDMCAIA7sj/////////AQkAzAgCAL+DAQkAzAgCALuHAQUDbmlsBQNuaWwAB2JpYXNlczEJAMwIAgCR7v////////8BCQDMCAIA0Ob/////////AQkAzAgCAL7V/////////wEJAMwIAgCe4v////////8BCQDMCAIA8xwJAMwIAgDvWwkAzAgCAP/1/////////wEJAMwIAgCGWAkAzAgCAINjCQDMCAIA6F0JAMwIAgCNVAkAzAgCALzv/////////wEFA25pbAAHd2VpZ2h0MgkAzAgCCQDMCAIAvZL/////////AQkAzAgCANb+/////////wEJAMwIAgCYmv////////8BCQDMCAIAiBMJAMwIAgCjpP////////8BCQDMCAIAy2sJAMwIAgCzh/////////8BCQDMCAIAwGMJAMwIAgD0agkAzAgCAPJzCQDMCAIA8Y4BCQDMCAIAnp7/////////AQUDbmlsCQDMCAIJAMwIAgDt+f////////8BCQDMCAIAjQQJAMwIAgDW1P////////8BCQDMCAIA5P//////////AQkAzAgCAMIdCQDMCAIA0nIJAMwIAgDKAgkAzAgCAMJ4CQDMCAIAs2sJAMwIAgCXTgkAzAgCAKja/v///////wEJAMwIAgDRAwUDbmlsCQDMCAIJAMwIAgChMAkAzAgCAMUICQDMCAIAsEsJAMwIAgChDgkAzAgCALcKCQDMCAIAg97+////////AQkAzAgCAMY1CQDMCAIA17f+////////AQkAzAgCAJ26/v///////wEJAMwIAgCy8P7///////8BCQDMCAIAoLz/////////AQkAzAgCAKI8BQNuaWwFA25pbAAFYmlhczIJAMwIAgC3MwkAzAgCAMgyCQDMCAIAjNz/////////AQUDbmlsAQRyZWx1AQF4AwkAZgIFAXgAAAUBeAAAAQRjYWxjAwVpbnB1dAZ3ZWlnaHQEYmlhcwQEY2FsYwkAZAIJAGQCCQBkAgkAZAIJAGgCCQCRAwIFBWlucHV0AAAJAJEDAgUGd2VpZ2h0AAAJAGgCCQCRAwIFBWlucHV0AAEJAJEDAgUGd2VpZ2h0AAEJAGgCCQCRAwIFBWlucHV0AAIJAJEDAgUGd2VpZ2h0AAIJAGgCCQCRAwIFBWlucHV0AAMJAJEDAgUGd2VpZ2h0AAMFBGJpYXMFBGNhbGMBEWNhbGNfc2Vjb25kX2xheWVyAwVpbnB1dAZ3ZWlnaHQEYmlhcwQLY2FsY19zZWNvbmQJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIJAGgCCQCRAwIFBWlucHV0AAAJAJEDAgUGd2VpZ2h0AAAJAGgCCQCRAwIFBWlucHV0AAEJAJEDAgUGd2VpZ2h0AAEJAGgCCQCRAwIFBWlucHV0AAIJAJEDAgUGd2VpZ2h0AAIJAGgCCQCRAwIFBWlucHV0AAMJAJEDAgUGd2VpZ2h0AAMJAGgCCQCRAwIFBWlucHV0AAQJAJEDAgUGd2VpZ2h0AAQJAGgCCQCRAwIFBWlucHV0AAUJAJEDAgUGd2VpZ2h0AAUJAGgCCQCRAwIFBWlucHV0AAYJAJEDAgUGd2VpZ2h0AAYJAGgCCQCRAwIFBWlucHV0AAcJAJEDAgUGd2VpZ2h0AAcJAGgCCQCRAwIFBWlucHV0AAgJAJEDAgUGd2VpZ2h0AAgJAGgCCQCRAwIFBWlucHV0AAkJAJEDAgUGd2VpZ2h0AAkJAGgCCQCRAwIFBWlucHV0AAoJAJEDAgUGd2VpZ2h0AAoJAGgCCQCRAwIFBWlucHV0AAsJAJEDAgUGd2VpZ2h0AAsFBGJpYXMFC2NhbGNfc2Vjb25kARNjYWxjdWxhdGVGaXJzdExheWVyAQVpbnB1dAQMb3VwdXRfbGF5ZXIxCQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAACQCRAwIFB2JpYXNlczEAAAQMb3VwdXRfbGF5ZXIyCQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQABCQCRAwIFB2JpYXNlczEAAQQMb3VwdXRfbGF5ZXIzCQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQACCQCRAwIFB2JpYXNlczEAAgQMb3VwdXRfbGF5ZXI0CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQADCQCRAwIFB2JpYXNlczEAAwQMb3VwdXRfbGF5ZXI1CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAECQCRAwIFB2JpYXNlczEABAQMb3VwdXRfbGF5ZXI2CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAFCQCRAwIFB2JpYXNlczEABQQMb3VwdXRfbGF5ZXI3CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAGCQCRAwIFB2JpYXNlczEABgQMb3VwdXRfbGF5ZXI4CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAHCQCRAwIFB2JpYXNlczEABwQMb3VwdXRfbGF5ZXI5CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAICQCRAwIFB2JpYXNlczEACAQNb3VwdXRfbGF5ZXIxMAkBBHJlbHUBCQEEY2FsYwMFBWlucHV0CQCRAwIFB3dlaWdodDEACQkAkQMCBQdiaWFzZXMxAAkEDW91cHV0X2xheWVyMTEJAQRyZWx1AQkBBGNhbGMDBQVpbnB1dAkAkQMCBQd3ZWlnaHQxAAoJAJEDAgUHYmlhc2VzMQAKBA1vdXB1dF9sYXllcjEyCQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQALCQCRAwIFB2JpYXNlczEACwkAzAgCBQxvdXB1dF9sYXllcjEJAMwIAgUMb3VwdXRfbGF5ZXIyCQDMCAIFDG91cHV0X2xheWVyMwkAzAgCBQxvdXB1dF9sYXllcjQJAMwIAgUMb3VwdXRfbGF5ZXI1CQDMCAIFDG91cHV0X2xheWVyNgkAzAgCBQxvdXB1dF9sYXllcjYJAMwIAgUMb3VwdXRfbGF5ZXI3CQDMCAIFDG91cHV0X2xheWVyOAkAzAgCBQxvdXB1dF9sYXllcjkJAMwIAgUNb3VwdXRfbGF5ZXIxMAkAzAgCBQ1vdXB1dF9sYXllcjExCQDMCAIFDW91cHV0X2xheWVyMTIFA25pbAEUY2FsY3VsYXRlU2Vjb25kTGF5ZXIBBWlucHV0BA1vdXRwdXRfbGF5ZXIxCQERY2FsY19zZWNvbmRfbGF5ZXIDBQVpbnB1dAkAkQMCBQd3ZWlnaHQyAAAJAJEDAgUFYmlhczIAAAQNb3V0cHV0X2xheWVyMgkBEWNhbGNfc2Vjb25kX2xheWVyAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MgABCQCRAwIFBWJpYXMyAAEEDW91dHB1dF9sYXllcjMJARFjYWxjX3NlY29uZF9sYXllcgMFBWlucHV0CQCRAwIFB3dlaWdodDIAAgkAkQMCBQViaWFzMgACCQDMCAIFDW91dHB1dF9sYXllcjEJAMwIAgUNb3V0cHV0X2xheWVyMgkAzAgCBQ1vdXRwdXRfbGF5ZXIzBQNuaWwBDGZvcndhcmRfcHJvcAEFaW5wdXQEC2ZpcnN0X2xheWVyCQETY2FsY3VsYXRlRmlyc3RMYXllcgEFBWlucHV0BAxzZWNvbmRfbGF5ZXIJARRjYWxjdWxhdGVTZWNvbmRMYXllcgEFC2ZpcnN0X2xheWVyBQxzZWNvbmRfbGF5ZXIBAWkBCnByZWRpY3Rpb24BBWlucHV0BAZvdXRwdXQJAQxmb3J3YXJkX3Byb3ABBQVpbnB1dAQNY2FsbGVyQWRkcmVzcwkApQgBCAUBaQZjYWxsZXIJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUNY2FsbGVyQWRkcmVzcwICXzEJAJEDAgUGb3V0cHV0AAAJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUNY2FsbGVyQWRkcmVzcwICXzIJAJEDAgUGb3V0cHV0AAEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUNY2FsbGVyQWRkcmVzcwICXzMJAJEDAgUGb3V0cHV0AAIFA25pbABqzwNp", "height": 2818573, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DR1Chumb9J2aPpdfvJUVYKicJoaKq9SAE9o3eLghLEtv Next: BKm1fGjneVAZtyFXdKv5eE84qs1rP7eV61jjb4vcD86B Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let answersCount = 20
4+let weight1 = [[6157, -3066, 12102, 17305], [-3936, -2569, -2816, 392], [6633, 300, 11435, 11685], [4149, -4959, -3121, 917], [6310, -9286, 8772, 266], [-527, 5610, -2987, -12595], [6988, -5565, 11513, 14717], [2688, 5935, -9544, -8824], [2346, 6692, -6381, -13268], [2916, 10874, -10078, -11116], [-3257, 18970, -13738, -18644], [10669, -7058, 16831, 17339]]
55
6-let answers = ["It is certain.", "It is decidedly so.", "Without a doubt.", "Yes - definitely.", "You may rely on it.", "As I see it, yes.", "Most likely.", "Outlook good.", "Yes.", "Signs point to yes.", "Reply hazy, try again.", "Ask again later.", "Better not tell you now.", "Cannot predict now.", "Concentrate and ask again.", "Don't count on it.", "My reply is no.", "My sources say no.", "Outlook not so good.", "Very doubtful."]
6+let biases1 = [-2287, -3248, -5442, -3810, 3699, 11759, -1281, 11270, 12675, 12008, 10765, -2116]
77
8-func getAnswer (question,previousAnswer) = {
9- let hash = sha256(toBytes((question + previousAnswer)))
10- let index = toInt(hash)
11-answers[(index % answersCount)]
8+let weight2 = [[-14019, -170, -13032, 2440, -11741, 13771, -15437, 12736, 13684, 14834, 18289, -12514], [-787, 525, -5546, -28, 3778, 14674, 330, 15426, 13747, 10007, -21208, 465], [6177, 1093, 9648, 1825, 1335, -20733, 6854, -25641, -25315, -18382, -8672, 7714]]
9+
10+let bias2 = [6583, 6472, -4596]
11+
12+func relu (x) = if ((x > 0))
13+ then x
14+ else 0
15+
16+
17+func calc (input,weight,bias) = {
18+ let calc = (((((input[0] * weight[0]) + (input[1] * weight[1])) + (input[2] * weight[2])) + (input[3] * weight[3])) + bias)
19+ calc
1220 }
1321
1422
15-func getPreviousAnswer (address) = match getString(this, (address + "_a")) {
16- case a: String =>
17- a
18- case _ =>
19- address
20-}
23+func calc_second_layer (input,weight,bias) = {
24+ let calc_second = (((((((((((((input[0] * weight[0]) + (input[1] * weight[1])) + (input[2] * weight[2])) + (input[3] * weight[3])) + (input[4] * weight[4])) + (input[5] * weight[5])) + (input[6] * weight[6])) + (input[7] * weight[7])) + (input[8] * weight[8])) + (input[9] * weight[9])) + (input[10] * weight[10])) + (input[11] * weight[11])) + bias)
25+ calc_second
26+ }
27+
28+
29+func calculateFirstLayer (input) = {
30+ let ouput_layer1 = relu(calc(input, weight1[0], biases1[0]))
31+ let ouput_layer2 = relu(calc(input, weight1[1], biases1[1]))
32+ let ouput_layer3 = relu(calc(input, weight1[2], biases1[2]))
33+ let ouput_layer4 = relu(calc(input, weight1[3], biases1[3]))
34+ let ouput_layer5 = relu(calc(input, weight1[4], biases1[4]))
35+ let ouput_layer6 = relu(calc(input, weight1[5], biases1[5]))
36+ let ouput_layer7 = relu(calc(input, weight1[6], biases1[6]))
37+ let ouput_layer8 = relu(calc(input, weight1[7], biases1[7]))
38+ let ouput_layer9 = relu(calc(input, weight1[8], biases1[8]))
39+ let ouput_layer10 = relu(calc(input, weight1[9], biases1[9]))
40+ let ouput_layer11 = relu(calc(input, weight1[10], biases1[10]))
41+ let ouput_layer12 = relu(calc(input, weight1[11], biases1[11]))
42+[ouput_layer1, ouput_layer2, ouput_layer3, ouput_layer4, ouput_layer5, ouput_layer6, ouput_layer6, ouput_layer7, ouput_layer8, ouput_layer9, ouput_layer10, ouput_layer11, ouput_layer12]
43+ }
44+
45+
46+func calculateSecondLayer (input) = {
47+ let output_layer1 = calc_second_layer(input, weight2[0], bias2[0])
48+ let output_layer2 = calc_second_layer(input, weight2[1], bias2[1])
49+ let output_layer3 = calc_second_layer(input, weight2[2], bias2[2])
50+[output_layer1, output_layer2, output_layer3]
51+ }
52+
53+
54+func forward_prop (input) = {
55+ let first_layer = calculateFirstLayer(input)
56+ let second_layer = calculateSecondLayer(first_layer)
57+ second_layer
58+ }
2159
2260
2361 @Callable(i)
24-func tellme (question) = {
62+func prediction (input) = {
63+ let output = forward_prop(input)
2564 let callerAddress = toString(i.caller)
26- let answer = getAnswer(question, getPreviousAnswer(callerAddress))
27-[StringEntry((callerAddress + "_q"), question), StringEntry((callerAddress + "_a"), answer)]
65+[IntegerEntry((callerAddress + "_1"), output[0]), IntegerEntry((callerAddress + "_2"), output[1]), IntegerEntry((callerAddress + "_3"), output[2])]
2866 }
2967
3068

github/deemru/w8io/3ef1775 
171.88 ms