2024-02-26 12:05:08 +01:00
|
|
|
################################################################################
|
|
|
|
# Author: Fred (support@qo-op.com)
|
|
|
|
# Version: 0.1
|
|
|
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
|
|
|
################################################################################
|
|
|
|
#~ ZEN.SECTOR.memory.sh
|
|
|
|
#~ Search for last "UPLANET:$1:..." in UPLANETG1PUB wallet history
|
|
|
|
#~ INTERCOM="UPLANET:${SECTOR}:${TODATE}:/ipfs/${IPFSPOP}" TX COMMENT are made during SECTOR.refresh.sh
|
|
|
|
#~ ~/.zen/tmp/${MOATS}/${SECTOR} <=> "/ipfs/$ipfs_pop"
|
|
|
|
################################################################################
|
|
|
|
################################################################################
|
|
|
|
MY_PATH="`dirname \"$0\"`" # relative
|
|
|
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
|
|
|
. "${MY_PATH}/../tools/my.sh"
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
SECTOR="$1"
|
|
|
|
[[ $SECTOR == "" ]] && echo "MISSING SECTOR ADRESS" && exit 1
|
|
|
|
MOATS="$2"
|
2024-03-08 14:29:58 +01:00
|
|
|
G1PUB="$3"
|
2024-02-26 12:05:08 +01:00
|
|
|
|
|
|
|
## CHECK FOR BAD PARAM
|
|
|
|
[[ ! -d ~/.zen/tmp/${MOATS-empty}/${SECTOR-empty}/ ]] \
|
|
|
|
&& echo "BAD ~/.zen/tmp/${MOATS}/${SECTOR}" \
|
|
|
|
&& exit 1
|
|
|
|
|
|
|
|
## STARTING
|
|
|
|
start=`date +%s`
|
|
|
|
|
|
|
|
## CORRESPONDING REGION UKEY
|
|
|
|
LAT=$(echo ${SECTOR} | cut -d '_' -f 2)
|
|
|
|
LON=$(echo ${SECTOR} | cut -d '_' -f 3)
|
2024-03-27 11:10:34 +01:00
|
|
|
RLAT=$(echo ${LAT} | cut -d '.' -f 1)
|
|
|
|
RLON=$(echo ${LON} | cut -d '.' -f 1)
|
2024-02-26 12:05:08 +01:00
|
|
|
|
2024-03-27 11:10:34 +01:00
|
|
|
REGION="_${RLAT}_${RLON}"
|
2024-02-26 12:52:21 +01:00
|
|
|
${MY_PATH}/../tools/keygen -t duniter -o ~/.zen/tmp/${MOATS}/${REGION}.priv "${UPLANETNAME}${REGION}" "${UPLANETNAME}${REGION}"
|
|
|
|
REGIONG1PUB=$(cat ~/.zen/tmp/${MOATS}/${REGION}.priv | grep "pub:" | cut -d ' ' -f 2)
|
2024-02-26 12:05:08 +01:00
|
|
|
[[ ! ${REGIONG1PUB} ]] && echo "ERROR generating REGION WALLET" && exit 1
|
|
|
|
COINS=$($MY_PATH/../tools/COINScheck.sh ${REGIONG1PUB} | tail -n 1)
|
|
|
|
echo "REGION : ${REGION} (${COINS} G1) WALLET : ${REGIONG1PUB}"
|
|
|
|
|
|
|
|
## RETRIEVE FROM REGION UKEY
|
2024-03-08 14:29:58 +01:00
|
|
|
${MY_PATH}/../tools/timeout.sh -t 20 ${MY_PATH}/../tools/jaklis/jaklis.py history -n 100 -p ${REGIONG1PUB} -j \
|
2024-02-26 12:05:08 +01:00
|
|
|
> ~/.zen/tmp/${MOATS}/${REGION}.g1history.json
|
|
|
|
|
|
|
|
## SCAN FOR UPLANET:${SECTOR} in TX
|
|
|
|
if [[ -s ~/.zen/tmp/${MOATS}/${REGION}.g1history.json ]]; then
|
|
|
|
|
2024-03-08 14:29:58 +01:00
|
|
|
intercom=$(jq -r '.[] | select(.comment | test("UPLANET:'"${SECTOR}"'")) | .comment' ~/.zen/tmp/${MOATS}/${REGION}.g1history.json | tail -n 1)
|
|
|
|
ipfs_pop=$(echo "$intercom" | rev | cut -d ':' -f 1 | rev)
|
|
|
|
todate=$(echo "$intercom" | rev | cut -d ':' -f 2 | rev)
|
2024-03-16 10:59:18 +01:00
|
|
|
echo "SYNC ${SECTOR} <= $todate => $ipfs_pop"
|
2024-02-26 12:05:08 +01:00
|
|
|
|
2024-04-01 00:50:16 +02:00
|
|
|
## TODO: SECURITY PATCH : check payment emitter is from BOOSTRAP
|
2024-02-26 12:05:08 +01:00
|
|
|
if [[ $ipfs_pop ]]; then
|
2024-03-16 10:59:18 +01:00
|
|
|
g1pub=$(jq -r '.[] | select(.comment | test("UPLANET:'"${SECTOR}"'")) | .pubkey' ~/.zen/tmp/${MOATS}/${REGION}.g1history.json | tail -n 1)
|
|
|
|
echo "INFO :: $g1pub Memory updater"
|
2024-04-15 11:51:33 +02:00
|
|
|
ipfs --timeout 180s get --progress="false" -o ~/.zen/tmp/${MOATS}/${SECTOR} $ipfs_pop \
|
2024-04-01 22:50:41 +02:00
|
|
|
&& ipfs pin rm $ipfs_pop \
|
2024-03-20 22:57:52 +01:00
|
|
|
|| echo "$ipfs_pop ERROR ... "
|
2024-02-26 12:05:08 +01:00
|
|
|
else
|
2024-03-08 14:29:58 +01:00
|
|
|
echo "WARNING cannot revover any memory !!"
|
2024-02-26 12:05:08 +01:00
|
|
|
fi
|
|
|
|
|
|
|
|
else
|
|
|
|
echo "FATAL ERROR cannot access to REGIONG1PUB history"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2024-02-26 12:52:21 +01:00
|
|
|
end=`date +%s`
|
|
|
|
echo "(${SECTOR}.memory) ${todate} get time : "`expr $end - $start` seconds.
|
2024-02-26 12:05:08 +01:00
|
|
|
|
|
|
|
exit 0
|