tx · edHHWZhzMocFaEmRgCHdG39rnEcosEpcE9P1JVNUaNo

3Moz6HJhucpFh4V3VScXhd9efei4Curytfj:  -0.01000000 Waves

2023.11.16 21:35 [2846300] smart account 3Moz6HJhucpFh4V3VScXhd9efei4Curytfj > SELF 0.00000000 Waves

{ "type": 13, "id": "edHHWZhzMocFaEmRgCHdG39rnEcosEpcE9P1JVNUaNo", "fee": 1000000, "feeAssetId": null, "timestamp": 1700159806412, "version": 2, "chainId": 84, "sender": "3Moz6HJhucpFh4V3VScXhd9efei4Curytfj", "senderPublicKey": "Ec1VLg3r1E7mwHmaNidmoKrFAUJ55UVJFq3J1YKRy5Zm", "proofs": [ "3LyJCwpjJGsKsCTuX98DQrK9FnrtM2LGpT3QM3S8w6R1xiVjoHnTKozFkacHnHefB2UEjs9wCVLTKAcWfRTgKPe8" ], "script": "base64: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", "height": 2846300, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7TxoJfzsmTY4kCjXtwb4Rrio9Vm5m292D5RKdp53fR9B Next: 6DrJB7N5VQq3DfNbszAaJgPxpfNyCvSkCshDXW3uSv4b Full:
OldNewDifferences
1-{-# STDLIB_VERSION 6 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let species = ["Iris-setosa", "Iris-versicolor", "Iris-virginica"]
5-
6-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]]
7-
8-let biases1 = [-2287, -3248, -5442, -3810, 3699, 11759, -1281, 11270, 12675, 12008, 10765, -2116]
9-
10-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]]
11-
12-let bias2 = [6583, 6472, -4596]
13-
14-func relu (x) = if ((x > 0))
15- then x
16- else 0
174
185
19-func calc (input,weight,bias) = {
20- let calc = (((((input[0] * weight[0]) + (input[1] * weight[1])) + (input[2] * weight[2])) + (input[3] * weight[3])) + bias)
21- calc
6+@Callable(i)
7+func call (input,input2) = [IntegerEntry("1", input[0]), IntegerEntry("2", input[1])]
8+
9+
10+
11+@Callable(i)
12+func registerData (clientInput,opponentInput,id,oppAddress) = {
13+ let client = toString(i.caller)
14+ let txId = toBase58String(i.transactionId)
15+[StringEntry(id, txId), IntegerEntry((((txId + "_") + client) + "_age"), clientInput[0]), IntegerEntry((((txId + "_") + client) + "_sex"), clientInput[1]), IntegerEntry((((txId + "_") + client) + "_damage"), clientInput[2]), IntegerEntry((((txId + "_") + client) + "_fac1"), clientInput[3]), IntegerEntry((((txId + "_") + client) + "_fac2"), clientInput[4]), IntegerEntry((((txId + "_") + client) + "_fac3"), clientInput[5]), IntegerEntry((((txId + "_") + client) + "_fac4"), clientInput[6]), IntegerEntry((((txId + "_") + client) + "_vio1"), clientInput[7]), IntegerEntry((((txId + "_") + client) + "_vio2"), clientInput[8]), IntegerEntry((((txId + "_") + client) + "_vio3"), clientInput[9]), IntegerEntry((((txId + "_") + client) + "_vio4"), clientInput[10]), IntegerEntry((((txId + "_") + oppAddress) + "_age"), opponentInput[0]), IntegerEntry((((txId + "_") + oppAddress) + "_sex"), opponentInput[1]), IntegerEntry((((txId + "_") + oppAddress) + "_damage"), opponentInput[2]), IntegerEntry((((txId + "_") + oppAddress) + "_fac1"), opponentInput[3]), IntegerEntry((((txId + "_") + oppAddress) + "_fac2"), opponentInput[4]), IntegerEntry((((txId + "_") + oppAddress) + "_fac3"), opponentInput[5]), IntegerEntry((((txId + "_") + oppAddress) + "_fac4"), opponentInput[6]), IntegerEntry((((txId + "_") + oppAddress) + "_vio1"), opponentInput[7]), IntegerEntry((((txId + "_") + oppAddress) + "_vio2"), opponentInput[8]), IntegerEntry((((txId + "_") + oppAddress) + "_vio3"), opponentInput[9]), IntegerEntry((((txId + "_") + oppAddress) + "_vio4"), opponentInput[10])]
2216 }
2317
2418
25-func calc_second_layer (input,weight,bias) = {
26- 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)
27- calc_second
28- }
29-
30-
31-func calculateFirstLayer (input) = {
32- let output_layer1 = relu(calc(input, weight1[0], biases1[0]))
33- let output_layer2 = relu(calc(input, weight1[1], biases1[1]))
34- let output_layer3 = relu(calc(input, weight1[2], biases1[2]))
35- let output_layer4 = relu(calc(input, weight1[3], biases1[3]))
36- let output_layer5 = relu(calc(input, weight1[4], biases1[4]))
37- let output_layer6 = relu(calc(input, weight1[5], biases1[5]))
38- let output_layer7 = relu(calc(input, weight1[6], biases1[6]))
39- let output_layer8 = relu(calc(input, weight1[7], biases1[7]))
40- let output_layer9 = relu(calc(input, weight1[8], biases1[8]))
41- let output_layer10 = relu(calc(input, weight1[9], biases1[9]))
42- let output_layer11 = relu(calc(input, weight1[10], biases1[10]))
43- let output_layer12 = relu(calc(input, weight1[11], biases1[11]))
44-[output_layer1, output_layer2, output_layer3, output_layer4, output_layer5, output_layer6, output_layer7, output_layer8, output_layer9, output_layer10, output_layer11, output_layer12]
45- }
46-
47-
48-func calculateSecondLayer (input) = {
49- let output_layer1 = calc_second_layer(input, weight2[0], bias2[0])
50- let output_layer2 = calc_second_layer(input, weight2[1], bias2[1])
51- let output_layer3 = calc_second_layer(input, weight2[2], bias2[2])
52-[output_layer1, output_layer2, output_layer3]
53- }
54-
55-
56-func forward_prop (input) = {
57- let first_layer = calculateFirstLayer(input)
58- let second_layer = calculateSecondLayer(first_layer)
59- second_layer
60- }
61-
62-
63-func find_pred (output) = {
64- let max1 = if ((output[0] > output[1]))
65- then 0
66- else 1
67- let max2 = if ((max1 > output[2]))
68- then max1
69- else 2
70- max2
71- }
72-
73-
74-@Callable(i)
75-func prediction (input) = {
76- let output = forward_prop(input)
77- let callerAddress = toString(i.caller)
78- let pred = find_pred(output)
79-[IntegerEntry((callerAddress + "_1"), output[0]), IntegerEntry((callerAddress + "_2"), output[1]), IntegerEntry((callerAddress + "_3"), output[2]), StringEntry((callerAddress + "_p"), species[pred])]
80- }
81-
19+@Verifier(tx)
20+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8221

github/deemru/w8io/169f3d6 
64.81 ms