universa 3.14.4 → 3.14.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 690d9b0d12c13cef08e33c05a58191e00cccad6240849b243a4bbdd506b1e363
4
- data.tar.gz: 812c123b24f4c18835072bb09a6441755b0c15091c828079c37cb30ab0c856e2
3
+ metadata.gz: 73b364bddb0a494976ebf2cd0ebf2931cf69abfa9cb8d58479b8775c3e24b3f6
4
+ data.tar.gz: 9c4891a5a8d1a6eba04f61708edad2d449519aa6520c78cd0b19857f6e3736f6
5
5
  SHA512:
6
- metadata.gz: c1d07d03e1bcdb0e857955ee8bf0a95916adaa8d6e74ca8e11f81d2ef447c4ff158ac7fb1e3fd4ef7268137185cbf36b3778c20c19b6fd36bf0347da5b3f1bc0
7
- data.tar.gz: e42f11f368ba643c43ff8c39bb1681b92f2b423447ea01e7779832e12ed3d679290b509d8cb34274d54449a22b6a1b631fa6d1f8173f06812fd222b049af5ac6
6
+ metadata.gz: 87a5e9e6b7711b7c5315cfacd98faf3bef3e45aaf6261e4daf1a6bc76befd8f0a39d3d65aa65ee146f297f9b94fa20eb5b7974bc372de0e745694e8873a9456e
7
+ data.tar.gz: e85a4b6306857ec5aef891302f645ba7973a3c963bad8b460cd25c04ebb2f9aa9de78093e848c9e57f79aa59e5a491a76f67d82a65c830f0cf1abca0d5d370f5
data/README.md CHANGED
@@ -5,6 +5,7 @@ Java library using Universa UMI protocol and Universa client services.
5
5
 
6
6
  ## News
7
7
 
8
+ - fixed complex reference types integration
8
9
  - upgraded to new UMI (universa core is updated)
9
10
  - unikeys cli tool now show information about public keys too
10
11
  - unikeys extracts public keys and export as files or unversa text objects
data/bin/umi/bin/umi ADDED
@@ -0,0 +1,355 @@
1
+ #!/usr/bin/env bash
2
+
3
+ ### ------------------------------- ###
4
+ ### Helper methods for BASH scripts ###
5
+ ### ------------------------------- ###
6
+
7
+ die() {
8
+ echo "$@" 1>&2
9
+ exit 1
10
+ }
11
+
12
+ realpath () {
13
+ (
14
+ TARGET_FILE="$1"
15
+ CHECK_CYGWIN="$2"
16
+
17
+ cd "$(dirname "$TARGET_FILE")"
18
+ TARGET_FILE=$(basename "$TARGET_FILE")
19
+
20
+ COUNT=0
21
+ while [ -L "$TARGET_FILE" -a $COUNT -lt 100 ]
22
+ do
23
+ TARGET_FILE=$(readlink "$TARGET_FILE")
24
+ cd "$(dirname "$TARGET_FILE")"
25
+ TARGET_FILE=$(basename "$TARGET_FILE")
26
+ COUNT=$(($COUNT + 1))
27
+ done
28
+
29
+ if [ "$TARGET_FILE" == "." -o "$TARGET_FILE" == ".." ]; then
30
+ cd "$TARGET_FILE"
31
+ TARGET_FILEPATH=
32
+ else
33
+ TARGET_FILEPATH=/$TARGET_FILE
34
+ fi
35
+
36
+ # make sure we grab the actual windows path, instead of cygwin's path.
37
+ if [[ "x$CHECK_CYGWIN" == "x" ]]; then
38
+ echo "$(pwd -P)/$TARGET_FILE"
39
+ else
40
+ echo $(cygwinpath "$(pwd -P)/$TARGET_FILE")
41
+ fi
42
+ )
43
+ }
44
+
45
+ # TODO - Do we need to detect msys?
46
+
47
+ # Uses uname to detect if we're in the odd cygwin environment.
48
+ is_cygwin() {
49
+ local os=$(uname -s)
50
+ case "$os" in
51
+ CYGWIN*) return 0 ;;
52
+ *) return 1 ;;
53
+ esac
54
+ }
55
+
56
+ # This can fix cygwin style /cygdrive paths so we get the
57
+ # windows style paths.
58
+ cygwinpath() {
59
+ local file="$1"
60
+ if is_cygwin; then
61
+ echo $(cygpath -w $file)
62
+ else
63
+ echo $file
64
+ fi
65
+ }
66
+
67
+ # Make something URI friendly
68
+ make_url() {
69
+ url="$1"
70
+ local nospaces=${url// /%20}
71
+ if is_cygwin; then
72
+ echo "/${nospaces//\\//}"
73
+ else
74
+ echo "$nospaces"
75
+ fi
76
+ }
77
+
78
+ # This crazy function reads in a vanilla "linux" classpath string (only : are separators, and all /),
79
+ # and returns a classpath with windows style paths, and ; separators.
80
+ fixCygwinClasspath() {
81
+ OLDIFS=$IFS
82
+ IFS=":"
83
+ read -a classpath_members <<< "$1"
84
+ declare -a fixed_members
85
+ IFS=$OLDIFS
86
+ for i in "${!classpath_members[@]}"
87
+ do
88
+ fixed_members[i]=$(realpath "${classpath_members[i]}" "fix")
89
+ done
90
+ IFS=";"
91
+ echo "${fixed_members[*]}"
92
+ IFS=$OLDIFS
93
+ }
94
+
95
+ # Fix the classpath we use for cygwin.
96
+ fix_classpath() {
97
+ cp="$1"
98
+ if is_cygwin; then
99
+ echo "$(fixCygwinClasspath "$cp")"
100
+ else
101
+ echo "$cp"
102
+ fi
103
+ }
104
+ # Detect if we should use JAVA_HOME or just try PATH.
105
+ get_java_cmd() {
106
+ if [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
107
+ echo "$JAVA_HOME/bin/java"
108
+ else
109
+ echo "java"
110
+ fi
111
+ }
112
+
113
+ echoerr () {
114
+ echo 1>&2 "$@"
115
+ }
116
+ vlog () {
117
+ [[ $verbose || $debug ]] && echoerr "$@"
118
+ }
119
+ dlog () {
120
+ [[ $debug ]] && echoerr "$@"
121
+ }
122
+ execRunner () {
123
+ # print the arguments one to a line, quoting any containing spaces
124
+ [[ $verbose || $debug ]] && echo "# Executing command line:" && {
125
+ for arg; do
126
+ if printf "%s\n" "$arg" | grep -q ' '; then
127
+ printf "\"%s\"\n" "$arg"
128
+ else
129
+ printf "%s\n" "$arg"
130
+ fi
131
+ done
132
+ echo ""
133
+ }
134
+
135
+ # we use "exec" here for our pids to be accurate.
136
+ exec "$@"
137
+ }
138
+ addJava () {
139
+ dlog "[addJava] arg = '$1'"
140
+ java_args+=( "$1" )
141
+ }
142
+ addApp () {
143
+ dlog "[addApp] arg = '$1'"
144
+ app_commands+=( "$1" )
145
+ }
146
+ addResidual () {
147
+ dlog "[residual] arg = '$1'"
148
+ residual_args+=( "$1" )
149
+ }
150
+ addDebugger () {
151
+ addJava "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$1"
152
+ }
153
+
154
+ require_arg () {
155
+ local type="$1"
156
+ local opt="$2"
157
+ local arg="$3"
158
+ if [[ -z "$arg" ]] || [[ "${arg:0:1}" == "-" ]]; then
159
+ die "$opt requires <$type> argument"
160
+ fi
161
+ }
162
+ is_function_defined() {
163
+ declare -f "$1" > /dev/null
164
+ }
165
+
166
+ # Attempt to detect if the script is running via a GUI or not
167
+ # TODO - Determine where/how we use this generically
168
+ detect_terminal_for_ui() {
169
+ [[ ! -t 0 ]] && [[ "${#residual_args}" == "0" ]] && {
170
+ echo "true"
171
+ }
172
+ # SPECIAL TEST FOR MAC
173
+ [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]] && [[ "${#residual_args}" == "0" ]] && {
174
+ echo "true"
175
+ }
176
+ }
177
+
178
+ # Processes incoming arguments and places them in appropriate global variables. called by the run method.
179
+ process_args () {
180
+ local no_more_snp_opts=0
181
+ while [[ $# -gt 0 ]]; do
182
+ case "$1" in
183
+ --) shift && no_more_snp_opts=1 && break ;;
184
+ -h|-help) usage; exit 1 ;;
185
+ -v|-verbose) verbose=1 && shift ;;
186
+ -d|-debug) debug=1 && shift ;;
187
+
188
+ -no-version-check) no_version_check=1 && shift ;;
189
+
190
+ -mem) echo "!! WARNING !! -mem option is ignored. Please use -J-Xmx and -J-Xms" && shift 2 ;;
191
+ -jvm-debug) require_arg port "$1" "$2" && addDebugger $2 && shift 2 ;;
192
+
193
+ -main) custom_mainclass="$2" && shift 2 ;;
194
+
195
+ -java-home) require_arg path "$1" "$2" && jre=`eval echo $2` && java_cmd="$jre/bin/java" && shift 2 ;;
196
+
197
+ -D*|-agentlib*|-XX*) addJava "$1" && shift ;;
198
+ -J*) addJava "${1:2}" && shift ;;
199
+ *) addResidual "$1" && shift ;;
200
+ esac
201
+ done
202
+
203
+ if [[ no_more_snp_opts ]]; then
204
+ while [[ $# -gt 0 ]]; do
205
+ addResidual "$1" && shift
206
+ done
207
+ fi
208
+
209
+ is_function_defined process_my_args && {
210
+ myargs=("${residual_args[@]}")
211
+ residual_args=()
212
+ process_my_args "${myargs[@]}"
213
+ }
214
+ }
215
+
216
+ # Actually runs the script.
217
+ run() {
218
+ # TODO - check for sane environment
219
+
220
+ # process the combined args, then reset "$@" to the residuals
221
+ process_args "$@"
222
+ set -- "${residual_args[@]}"
223
+ argumentCount=$#
224
+
225
+ #check for jline terminal fixes on cygwin
226
+ if is_cygwin; then
227
+ stty -icanon min 1 -echo > /dev/null 2>&1
228
+ addJava "-Djline.terminal=jline.UnixTerminal"
229
+ addJava "-Dsbt.cygwin=true"
230
+ fi
231
+
232
+ # check java version
233
+ if [[ ! $no_version_check ]]; then
234
+ java_version_check
235
+ fi
236
+
237
+ if [ -n "$custom_mainclass" ]; then
238
+ mainclass=("$custom_mainclass")
239
+ else
240
+ mainclass=("${app_mainclass[@]}")
241
+ fi
242
+
243
+ # Now we check to see if there are any java opts on the environment. These get listed first, with the script able to override them.
244
+ if [[ "$JAVA_OPTS" != "" ]]; then
245
+ java_opts="${JAVA_OPTS}"
246
+ fi
247
+
248
+ # run sbt
249
+ execRunner "$java_cmd" \
250
+ ${java_opts[@]} \
251
+ "${java_args[@]}" \
252
+ -cp "$(fix_classpath "$app_classpath")" \
253
+ "${mainclass[@]}" \
254
+ "${app_commands[@]}" \
255
+ "${residual_args[@]}"
256
+
257
+ local exit_code=$?
258
+ if is_cygwin; then
259
+ stty icanon echo > /dev/null 2>&1
260
+ fi
261
+ exit $exit_code
262
+ }
263
+
264
+ # Loads a configuration file full of default command line options for this script.
265
+ loadConfigFile() {
266
+ cat "$1" | sed $'/^\#/d;s/\r$//'
267
+ }
268
+
269
+ # Now check to see if it's a good enough version
270
+ # TODO - Check to see if we have a configured default java version, otherwise use 1.8
271
+ java_version_check() {
272
+ readonly java_version=$("$java_cmd" -version 2>&1 | awk -F '"' '/version/ {print $2}')
273
+ if [[ "$java_version" == "" ]]; then
274
+ echo
275
+ echo No java installations was detected.
276
+ echo Please go to http://www.java.com/getjava/ and download
277
+ echo
278
+ exit 1
279
+ else
280
+ local major=$(echo "$java_version" | cut -d'.' -f1)
281
+ if [[ "$major" -eq "1" ]]; then
282
+ local major=$(echo "$java_version" | cut -d'.' -f2)
283
+ fi
284
+ if [[ "$major" -lt "8" ]]; then
285
+ echo
286
+ echo The java installation you have is not up to date
287
+ echo $app_name requires at least version 1.8+, you have
288
+ echo version $java_version
289
+ echo
290
+ echo Please go to http://www.java.com/getjava/ and download
291
+ echo a valid Java Runtime and install before running $app_name.
292
+ echo
293
+ exit 1
294
+ fi
295
+ fi
296
+ }
297
+
298
+ ### ------------------------------- ###
299
+ ### Start of customized settings ###
300
+ ### ------------------------------- ###
301
+ usage() {
302
+ cat <<EOM
303
+ Usage: $script_name [options]
304
+
305
+ -h | -help print this message
306
+ -v | -verbose this runner is chattier
307
+ -d | -debug set sbt log level to debug
308
+ -no-version-check Don't run the java version check.
309
+ -main <classname> Define a custom main class
310
+ -jvm-debug <port> Turn on JVM debugging, open at the given port.
311
+
312
+ # java version (default: java from PATH, currently $(java -version 2>&1 | grep version))
313
+ -java-home <path> alternate JAVA_HOME
314
+
315
+ # jvm options and output control
316
+ JAVA_OPTS environment variable, if unset uses "$java_opts"
317
+ -Dkey=val pass -Dkey=val directly to the java runtime
318
+ -J-X pass option -X directly to the java runtime
319
+ (-J is stripped)
320
+
321
+ # special option
322
+ -- To stop parsing built-in commands from the rest of the command-line.
323
+ e.g.) enabling debug and sending -d as app argument
324
+ \$ ./start-script -d -- -d
325
+
326
+ In the case of duplicated or conflicting options, basically the order above
327
+ shows precedence: JAVA_OPTS lowest, command line options highest except "--".
328
+ Available main classes:
329
+ com.icodici.farcallscala.Main
330
+ EOM
331
+ }
332
+
333
+ ### ------------------------------- ###
334
+ ### Main script ###
335
+ ### ------------------------------- ###
336
+
337
+ declare -a residual_args
338
+ declare -a java_args
339
+ declare -a app_commands
340
+ declare -r real_script_path="$(realpath "$0")"
341
+ declare -r app_home="$(realpath "$(dirname "$real_script_path")")"
342
+ # TODO - Check whether this is ok in cygwin...
343
+ declare -r lib_dir="$(realpath "${app_home}/../lib")"
344
+ declare -a app_mainclass=(com.icodici.farcallscala.Main)
345
+
346
+ declare -r script_conf_file="${app_home}/../conf/application.ini"
347
+ declare -r app_classpath="$lib_dir/com.icodici.umi-0.8.79.jar:$lib_dir/org.scala-lang.scala-library-2.12.7.jar:$lib_dir/com.icodici.universa_core-3.14.5.jar:$lib_dir/org.scala-sbt.ipcsocket.ipcsocket-1.0.0.jar:$lib_dir/net.sf.jopt-simple.jopt-simple-4.9.jar:$lib_dir/org.yaml.snakeyaml-1.18.jar:$lib_dir/com.icodici.nanohttpd-2.1.0-20210921.jar:$lib_dir/com.icodici.common_tools-3.14.5.jar:$lib_dir/com.icodici.crypto-3.14.5.jar:$lib_dir/net.java.dev.jna.jna-4.5.1.jar:$lib_dir/net.java.dev.jna.jna-platform-4.5.0.jar:$lib_dir/com.eclipsesource.minimal-json.minimal-json-0.9.4.jar:$lib_dir/org.checkerframework.checker-qual-2.3.2.jar:$lib_dir/org.bouncycastle.bcprov-jdk15on-1.62.jar:$lib_dir/com.squareup.jnagmp.jnagmp-2.0.0.jar"
348
+
349
+ # java_cmd is overrode in process_args when -java-home is used
350
+ declare java_cmd=$(get_java_cmd)
351
+
352
+ # if configuration files exist, prepend their contents to $@ so it can be processed by this runner
353
+ [[ -f "$script_conf_file" ]] && set -- $(loadConfigFile "$script_conf_file") "$@"
354
+
355
+ run "$@"
@@ -0,0 +1,180 @@
1
+ @REM umi launcher script
2
+ @REM
3
+ @REM Environment:
4
+ @REM JAVA_HOME - location of a JDK home dir (optional if java on path)
5
+ @REM CFG_OPTS - JVM options (optional)
6
+ @REM Configuration:
7
+ @REM UMI_config.txt found in the UMI_HOME.
8
+ @setlocal enabledelayedexpansion
9
+
10
+ @echo off
11
+
12
+
13
+ if "%UMI_HOME%"=="" (
14
+ set "APP_HOME=%~dp0\\.."
15
+
16
+ rem Also set the old env name for backwards compatibility
17
+ set "UMI_HOME=%~dp0\\.."
18
+ ) else (
19
+ set "APP_HOME=%UMI_HOME%"
20
+ )
21
+
22
+ set "APP_LIB_DIR=%APP_HOME%\lib\"
23
+
24
+ rem Detect if we were double clicked, although theoretically A user could
25
+ rem manually run cmd /c
26
+ for %%x in (!cmdcmdline!) do if %%~x==/c set DOUBLECLICKED=1
27
+
28
+ rem FIRST we load the config file of extra options.
29
+ set "CFG_FILE=%APP_HOME%\UMI_config.txt"
30
+ set CFG_OPTS=
31
+ call :parse_config "%CFG_FILE%" CFG_OPTS
32
+
33
+ rem We use the value of the JAVACMD environment variable if defined
34
+ set _JAVACMD=%JAVACMD%
35
+
36
+ if "%_JAVACMD%"=="" (
37
+ if not "%JAVA_HOME%"=="" (
38
+ if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"
39
+ )
40
+ )
41
+
42
+ if "%_JAVACMD%"=="" set _JAVACMD=java
43
+
44
+ rem Detect if this java is ok to use.
45
+ for /F %%j in ('"%_JAVACMD%" -version 2^>^&1') do (
46
+ if %%~j==java set JAVAINSTALLED=1
47
+ if %%~j==openjdk set JAVAINSTALLED=1
48
+ )
49
+
50
+ rem BAT has no logical or, so we do it OLD SCHOOL! Oppan Redmond Style
51
+ set JAVAOK=true
52
+ if not defined JAVAINSTALLED set JAVAOK=false
53
+
54
+ if "%JAVAOK%"=="false" (
55
+ echo.
56
+ echo A Java JDK is not installed or can't be found.
57
+ if not "%JAVA_HOME%"=="" (
58
+ echo JAVA_HOME = "%JAVA_HOME%"
59
+ )
60
+ echo.
61
+ echo Please go to
62
+ echo http://www.oracle.com/technetwork/java/javase/downloads/index.html
63
+ echo and download a valid Java JDK and install before running umi.
64
+ echo.
65
+ echo If you think this message is in error, please check
66
+ echo your environment variables to see if "java.exe" and "javac.exe" are
67
+ echo available via JAVA_HOME or PATH.
68
+ echo.
69
+ if defined DOUBLECLICKED pause
70
+ exit /B 1
71
+ )
72
+
73
+
74
+ rem We use the value of the JAVA_OPTS environment variable if defined, rather than the config.
75
+ set _JAVA_OPTS=%JAVA_OPTS%
76
+ if "!_JAVA_OPTS!"=="" set _JAVA_OPTS=!CFG_OPTS!
77
+
78
+ rem We keep in _JAVA_PARAMS all -J-prefixed and -D-prefixed arguments
79
+ rem "-J" is stripped, "-D" is left as is, and everything is appended to JAVA_OPTS
80
+ set _JAVA_PARAMS=
81
+ set _APP_ARGS=
82
+
83
+ set "APP_CLASSPATH=%APP_LIB_DIR%\com.icodici.umi-0.8.79.jar;%APP_LIB_DIR%\org.scala-lang.scala-library-2.12.7.jar;%APP_LIB_DIR%\com.icodici.universa_core-3.14.5.jar;%APP_LIB_DIR%\org.scala-sbt.ipcsocket.ipcsocket-1.0.0.jar;%APP_LIB_DIR%\net.sf.jopt-simple.jopt-simple-4.9.jar;%APP_LIB_DIR%\org.yaml.snakeyaml-1.18.jar;%APP_LIB_DIR%\com.icodici.nanohttpd-2.1.0-20210921.jar;%APP_LIB_DIR%\com.icodici.common_tools-3.14.5.jar;%APP_LIB_DIR%\com.icodici.crypto-3.14.5.jar;%APP_LIB_DIR%\net.java.dev.jna.jna-4.5.1.jar;%APP_LIB_DIR%\net.java.dev.jna.jna-platform-4.5.0.jar;%APP_LIB_DIR%\com.eclipsesource.minimal-json.minimal-json-0.9.4.jar;%APP_LIB_DIR%\org.checkerframework.checker-qual-2.3.2.jar;%APP_LIB_DIR%\org.bouncycastle.bcprov-jdk15on-1.62.jar;%APP_LIB_DIR%\com.squareup.jnagmp.jnagmp-2.0.0.jar"
84
+ set "APP_MAIN_CLASS=com.icodici.farcallscala.Main"
85
+ set "SCRIPT_CONF_FILE=%APP_HOME%\conf\application.ini"
86
+
87
+ rem if configuration files exist, prepend their contents to the script arguments so it can be processed by this runner
88
+ call :parse_config "%SCRIPT_CONF_FILE%" SCRIPT_CONF_ARGS
89
+
90
+ call :process_args %SCRIPT_CONF_ARGS% %%*
91
+
92
+ set _JAVA_OPTS=!_JAVA_OPTS! !_JAVA_PARAMS!
93
+
94
+ if defined CUSTOM_MAIN_CLASS (
95
+ set MAIN_CLASS=!CUSTOM_MAIN_CLASS!
96
+ ) else (
97
+ set MAIN_CLASS=!APP_MAIN_CLASS!
98
+ )
99
+
100
+ rem Call the application and pass all arguments unchanged.
101
+ "%_JAVACMD%" !_JAVA_OPTS! !UMI_OPTS! -cp "%APP_CLASSPATH%" %MAIN_CLASS% !_APP_ARGS!
102
+
103
+ @endlocal
104
+
105
+ exit /B %ERRORLEVEL%
106
+
107
+
108
+ rem Loads a configuration file full of default command line options for this script.
109
+ rem First argument is the path to the config file.
110
+ rem Second argument is the name of the environment variable to write to.
111
+ :parse_config
112
+ set _PARSE_FILE=%~1
113
+ set _PARSE_OUT=
114
+ if exist "%_PARSE_FILE%" (
115
+ FOR /F "tokens=* eol=# usebackq delims=" %%i IN ("%_PARSE_FILE%") DO (
116
+ set _PARSE_OUT=!_PARSE_OUT! %%i
117
+ )
118
+ )
119
+ set %2=!_PARSE_OUT!
120
+ exit /B 0
121
+
122
+
123
+ :add_java
124
+ set _JAVA_PARAMS=!_JAVA_PARAMS! %*
125
+ exit /B 0
126
+
127
+
128
+ :add_app
129
+ set _APP_ARGS=!_APP_ARGS! %*
130
+ exit /B 0
131
+
132
+
133
+ rem Processes incoming arguments and places them in appropriate global variables
134
+ :process_args
135
+ :param_loop
136
+ call set _PARAM1=%%1
137
+ set "_TEST_PARAM=%~1"
138
+
139
+ if ["!_PARAM1!"]==[""] goto param_afterloop
140
+
141
+
142
+ rem ignore arguments that do not start with '-'
143
+ if "%_TEST_PARAM:~0,1%"=="-" goto param_java_check
144
+ set _APP_ARGS=!_APP_ARGS! !_PARAM1!
145
+ shift
146
+ goto param_loop
147
+
148
+ :param_java_check
149
+ if "!_TEST_PARAM:~0,2!"=="-J" (
150
+ rem strip -J prefix
151
+ set _JAVA_PARAMS=!_JAVA_PARAMS! !_TEST_PARAM:~2!
152
+ shift
153
+ goto param_loop
154
+ )
155
+
156
+ if "!_TEST_PARAM:~0,2!"=="-D" (
157
+ rem test if this was double-quoted property "-Dprop=42"
158
+ for /F "delims== tokens=1,*" %%G in ("!_TEST_PARAM!") DO (
159
+ if not ["%%H"] == [""] (
160
+ set _JAVA_PARAMS=!_JAVA_PARAMS! !_PARAM1!
161
+ ) else if [%2] neq [] (
162
+ rem it was a normal property: -Dprop=42 or -Drop="42"
163
+ call set _PARAM1=%%1=%%2
164
+ set _JAVA_PARAMS=!_JAVA_PARAMS! !_PARAM1!
165
+ shift
166
+ )
167
+ )
168
+ ) else (
169
+ if "!_TEST_PARAM!"=="-main" (
170
+ call set CUSTOM_MAIN_CLASS=%%2
171
+ shift
172
+ ) else (
173
+ set _APP_ARGS=!_APP_ARGS! !_PARAM1!
174
+ )
175
+ )
176
+ shift
177
+ goto param_loop
178
+ :param_afterloop
179
+
180
+ exit /B 0
@@ -97,8 +97,9 @@ module Universa
97
97
  # @param [Contract | HashId] obj contract to check
98
98
  # @param [Object] trust level, should be between 0.1 (10% of network) and 0.9 (90% of the network)
99
99
  # @return [ContractState] of some final node check It does not calculates average time (yet)
100
+ # @raise Error if any of the queried nodes will cause an error.
100
101
  def get_state obj, trust: 0.3
101
- raise ArgumentError, "trusst must be in 0.1..0.9 range" if trust < 0.1 || trust > 0.9
102
+ raise ArgumentError, "trust must be in 0.1..0.9 range" if trust < 0.1 || trust > 0.9
102
103
  result = Concurrent::IVar.new
103
104
  found_error = nil
104
105
  negative_votes = Concurrent::AtomicFixnum.new((size * 0.1).round + 1)
@@ -1,4 +1,4 @@
1
1
  module Universa
2
2
  # Current gem version
3
- VERSION = "3.14.4"
3
+ VERSION = "3.14.5"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: universa
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.14.4
4
+ version: 3.14.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - sergeych
@@ -141,6 +141,23 @@ files:
141
141
  - bin/console
142
142
  - bin/refresh_umi
143
143
  - bin/setup
144
+ - bin/umi/bin/umi
145
+ - bin/umi/bin/umi.bat
146
+ - bin/umi/lib/com.eclipsesource.minimal-json.minimal-json-0.9.4.jar
147
+ - bin/umi/lib/com.icodici.common_tools-3.14.5.jar
148
+ - bin/umi/lib/com.icodici.crypto-3.14.5.jar
149
+ - bin/umi/lib/com.icodici.nanohttpd-2.1.0-20210921.jar
150
+ - bin/umi/lib/com.icodici.umi-0.8.79.jar
151
+ - bin/umi/lib/com.icodici.universa_core-3.14.5.jar
152
+ - bin/umi/lib/com.squareup.jnagmp.jnagmp-2.0.0.jar
153
+ - bin/umi/lib/net.java.dev.jna.jna-4.5.1.jar
154
+ - bin/umi/lib/net.java.dev.jna.jna-platform-4.5.0.jar
155
+ - bin/umi/lib/net.sf.jopt-simple.jopt-simple-4.9.jar
156
+ - bin/umi/lib/org.bouncycastle.bcprov-jdk15on-1.62.jar
157
+ - bin/umi/lib/org.checkerframework.checker-qual-2.3.2.jar
158
+ - bin/umi/lib/org.scala-lang.scala-library-2.12.7.jar
159
+ - bin/umi/lib/org.scala-sbt.ipcsocket.ipcsocket-1.0.0.jar
160
+ - bin/umi/lib/org.yaml.snakeyaml-1.18.jar
144
161
  - exe/unikeys
145
162
  - lib/universa.rb
146
163
  - lib/universa/binder.rb