Skip to content

Commit 9dc9781

Browse files
committed
Add ETH Address Validation
1 parent b29be8b commit 9dc9781

File tree

1 file changed

+30
-78
lines changed

1 file changed

+30
-78
lines changed

Scripts/LaunchSidechainMasternode.ps1

Lines changed: 30 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -158,18 +158,18 @@ function Get-Median($numberSeries)
158158
}
159159
}
160160

161-
function Check-TimeDifference3
161+
function Check-TimeDifference
162162
{
163163
Write-Host "Checking UTC Time Difference (unixtime.co.za)" -ForegroundColor Cyan
164164
$timeDifSamples = @([int16]::MaxValue,[int16]::MaxValue,[int16]::MaxValue)
165165
$SystemTime0 = ((New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date).ToUniversalTime()).TotalSeconds)
166-
$RemoteTime0 = (Invoke-WebRequest https://showcase.api.linx.twenty57.net/UnixTime/tounix?date=now -TimeoutSec 3 -ErrorAction SilentlyContinue| Select-Object -ExpandProperty content).replace('"','')
166+
$RemoteTime0 = (Invoke-WebRequest https://showcase.api.linx.twenty57.net/UnixTime/tounix?date=now -ErrorAction SilentlyContinue| Select-Object -ExpandProperty content).replace('"','')
167167
$timeDifSamples[0] = $RemoteTime0 - $SystemTime0
168168
$SystemTime1 = ((New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date).ToUniversalTime()).TotalSeconds)
169-
$RemoteTime1 = (Invoke-WebRequest https://showcase.api.linx.twenty57.net/UnixTime/tounix?date=now -TimeoutSec 3 -ErrorAction SilentlyContinue | Select-Object -ExpandProperty content).replace('"','')
169+
$RemoteTime1 = (Invoke-WebRequest https://showcase.api.linx.twenty57.net/UnixTime/tounix?date=now -ErrorAction SilentlyContinue | Select-Object -ExpandProperty content).replace('"','')
170170
$timeDifSamples[1] = $RemoteTime1 - $SystemTime1
171171
$SystemTime2 = ((New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date).ToUniversalTime()).TotalSeconds)
172-
$RemoteTime2 = (Invoke-WebRequest https://showcase.api.linx.twenty57.net/UnixTime/tounix?date=now -TimeoutSec 3 -ErrorAction SilentlyContinue | Select-Object -ExpandProperty content).replace('"','')
172+
$RemoteTime2 = (Invoke-WebRequest https://showcase.api.linx.twenty57.net/UnixTime/tounix?date=now -ErrorAction SilentlyContinue | Select-Object -ExpandProperty content).replace('"','')
173173
$timeDifSamples[2] = $RemoteTime2 - $SystemTime2
174174
$timeDif = Get-Median -numberSeries $timeDifSamples
175175

@@ -190,13 +190,13 @@ function Check-TimeDifference2
190190
Write-Host "Checking UTC Time Difference (unixtimestamp.com)" -ForegroundColor Cyan
191191
$timeDifSamples = @([int16]::MaxValue,[int16]::MaxValue,[int16]::MaxValue)
192192
$SystemTime0 = ((New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date).ToUniversalTime()).TotalSeconds)
193-
$RemoteTime0 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://unixtimestamp.com/ -TimeoutSec 3 -UseBasicParsing -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
193+
$RemoteTime0 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://unixtimestamp.com/ -UseBasicParsing -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
194194
$timeDifSamples[0] = $RemoteTime0 - $SystemTime0
195195
$SystemTime1 = ((New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date).ToUniversalTime()).TotalSeconds)
196-
$RemoteTime1 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://unixtimestamp.com/ -TimeoutSec 3 -UseBasicParsing -ErrorAction SilentlyContinue| Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
196+
$RemoteTime1 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://unixtimestamp.com/ -UseBasicParsing -ErrorAction SilentlyContinue| Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
197197
$timeDifSamples[1] = $RemoteTime1 - $SystemTime1
198198
$SystemTime2 = ((New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date).ToUniversalTime()).TotalSeconds)
199-
$RemoteTime2 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://unixtimestamp.com/ -TimeoutSec 3 -UseBasicParsing -ErrorAction SilentlyContinue| Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
199+
$RemoteTime2 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://unixtimestamp.com/ -UseBasicParsing -ErrorAction SilentlyContinue| Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
200200
$timeDifSamples[2] = $RemoteTime2 - $SystemTime2
201201
$timeDif = Get-Median -numberSeries $timeDifSamples
202202

@@ -212,18 +212,18 @@ function Check-TimeDifference2
212212
}
213213
}
214214

215-
function Check-TimeDifference
215+
function Check-TimeDifference3
216216
{
217217
Write-Host "Checking UTC Time Difference (google.com)" -ForegroundColor Cyan
218218
$timeDifSamples = @([int16]::MaxValue,[int16]::MaxValue,[int16]::MaxValue)
219219
$SystemTime0 = ((New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date).ToUniversalTime()).TotalSeconds)
220-
$RemoteTime0 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://google.com/ -TimeoutSec 3 -UseBasicParsing -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
220+
$RemoteTime0 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://google.com/ -UseBasicParsing -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
221221
$timeDifSamples[0] = $RemoteTime0 - $SystemTime0
222222
$SystemTime1 = ((New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date).ToUniversalTime()).TotalSeconds)
223-
$RemoteTime1 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://google.com/ -TimeoutSec 3 -UseBasicParsing -ErrorAction SilentlyContinue| Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
223+
$RemoteTime1 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://google.com/ -UseBasicParsing -ErrorAction SilentlyContinue| Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
224224
$timeDifSamples[1] = $RemoteTime1 - $SystemTime1
225225
$SystemTime2 = ((New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date).ToUniversalTime()).TotalSeconds)
226-
$RemoteTime2 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://google.com/ -TimeoutSec 3 -UseBasicParsing -ErrorAction SilentlyContinue| Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
226+
$RemoteTime2 = (New-Timespan -Start (Get-Date "01/01/1970") -End ([datetime]::Parse((Invoke-WebRequest http://google.com/ -UseBasicParsing -ErrorAction SilentlyContinue| Select-Object -ExpandProperty Headers).Date).ToUniversalTime())).TotalSeconds
227227
$timeDifSamples[2] = $RemoteTime2 - $SystemTime2
228228
$timeDif = Get-Median -numberSeries $timeDifSamples
229229

@@ -358,10 +358,17 @@ if ( $NodeType -eq "50K" )
358358
""
359359
Start-Sleep 10
360360

361+
if ($ethAddress -notmatch '^0x[a-fA-F0-9]{40}$')
362+
{
363+
Write-Host (Get-TimeStamp) "ERROR: Invalid ETH Address Loaded.. Is GETH already running?" -ForegroundColor Red
364+
Start-Sleep 30
365+
Exit
366+
}
367+
361368
#Launching GETH
362369
$API = $gethAPIPort
363370
Write-Host (Get-TimeStamp) "Starting GETH Masternode" -ForegroundColor Cyan
364-
$StartNode = Start-Process 'geth.exe' -ArgumentList "--syncmode snap --http --http.corsdomain=* --http.api web3,eth,debug,personal,net --datadir=$ethDataDir" -PassThru
371+
$StartNode = Start-Process 'geth.exe' -ArgumentList "--syncmode fast --http --http.corsdomain=* --http.api web3,eth,debug,personal,net --datadir=$ethDataDir" -PassThru
365372

366373
While ( -not ( Test-Connection -TargetName 127.0.0.1 -TCPPort $API ) )
367374
{
@@ -498,7 +505,8 @@ if ( $NodeType -eq "50K" )
498505
{
499506
if ( $ethGasPrice )
500507
{
501-
$StartNode = Start-Process dotnet -ArgumentList "run -c Release -- -sidechain -apiport=$sideChainAPIPort -counterchainapiport=$mainChainAPIPort -redeemscript=""$redeemscript"" -publickey=$multiSigPublicKey -federationips=$federationIPs -eth_interopenabled=1 -ethereumgaspricetracking -pricetracking -eth_account=$ethAddress -eth_passphrase=$ethPassword -eth_multisigwalletcontractaddress=$ethMultiSigContract -eth_wrappedstraxcontractaddress=$ethWrappedStraxContract -eth_keyvaluestorecontractaddress=$ethKeyValueStoreContractAddress -eth_gasprice=$ethGasPrice -eth_gas=$ethGasLimit -cirrusmultisigcontractaddress=$cirrusMultiSigContract -cirrussmartcontractactiveaddress=$miningWalletAddress -eth_watcherc20=$Token1 -eth_watcherc20=$Token2 -eth_watcherc20=$Token3 -eth_watcherc20=$Token4 -eth_watcherc20=$Token5 -eth_watcherc20=$Token6 -ethereummultisigwalletquorum=7" -PassThru }
508+
$StartNode = Start-Process dotnet -ArgumentList "run -c Release -- -sidechain -apiport=$sideChainAPIPort -counterchainapiport=$mainChainAPIPort -redeemscript=""$redeemscript"" -publickey=$multiSigPublicKey -federationips=$federationIPs -eth_interopenabled=1 -eth_account=$ethAddress -eth_passphrase=$ethPassword -eth_multisigwalletcontractaddress=$ethMultiSigContract -eth_wrappedstraxcontractaddress=$ethWrappedStraxContract -eth_gasprice=$ethGasPrice -eth_gas=$ethGasLimit" -PassThru
509+
}
502510
Else
503511
{
504512
$StartNode = Start-Process dotnet -ArgumentList "run -c Release -- -sidechain -apiport=$sideChainAPIPort -counterchainapiport=$mainChainAPIPort -redeemscript=""$redeemscript"" -publickey=$multiSigPublicKey -federationips=$federationIPs -eth_interopenabled=1 -eth_account=$ethAddress -eth_passphrase=$ethPassword -eth_multisigwalletcontractaddress=$ethMultiSigContract -eth_wrappedstraxcontractaddress=$ethWrappedStraxContract" -PassThru
@@ -627,62 +635,6 @@ if ( $WalletNames -eq $null )
627635
}
628636
if ( $NodeType -eq "50K" )
629637
{
630-
#Initialize InterFlux
631-
Write-Host (Get-TimeStamp) "Initializing InterFlux" -ForegroundColor Cyan
632-
633-
if ( $miningWalletPassword.GetType().Name -eq "SecureString" )
634-
{
635-
$requestBody = ConvertTo-Json @{
636-
637-
name = $miningWalletName
638-
password = ConvertFrom-SecureString -SecureString $miningWalletPassword -AsPlainText
639-
}
640-
}
641-
Else {
642-
$requestBody = ConvertTo-Json @{
643-
644-
name = $miningWalletName
645-
password = $miningWalletPassword
646-
}
647-
}
648-
649-
Invoke-RestMethod -Uri http://localhost:$sideChainAPIPort/api/Wallet/load -Method Post -Body $requestBody -ContentType "application/json-patch+json" -UseBasicParsing -ErrorVariable loadWallet
650-
651-
if ( $loadWallet )
652-
{
653-
Write-Host (Get-TimeStamp) "ERROR: Wallet could not be loaded. Please launch again" -ForegroundColor Red
654-
Shutdown-SidechainNode
655-
Shutdown-MainchainNode
656-
Start-Sleep 30
657-
Exit
658-
}
659-
660-
if ( $miningWalletPassword.GetType().Name -eq "SecureString" )
661-
{
662-
$requestBody = ConvertTo-Json @{
663-
664-
walletName = $miningWalletName
665-
walletPassword = ConvertFrom-SecureString -SecureString $miningWalletPassword -AsPlainText
666-
accountName = "account 0"
667-
}
668-
}
669-
Else {
670-
$requestBody = ConvertTo-Json @{
671-
672-
walletName = $miningWalletName
673-
walletPassword = $miningWalletPassword
674-
accountName = "account 0"
675-
}
676-
}
677-
678-
$initializeInterFlux = Invoke-RestMethod -Uri http://localhost:$API/api/Interop/initializeinterflux -Method Post -Body $requestBody -ContentType "application/json-patch+json"
679-
if ( $initializeInterFlux -ne $true )
680-
{
681-
Write-Host (Get-TimeStamp) "ERROR: Something went wrong. Cannot Initialize InterFlux! Please contact support in Discord" -ForegroundColor Red
682-
Start-Sleep 30
683-
Exit
684-
}
685-
686638
#Enable Federation
687639
Write-Host (Get-TimeStamp) "Enabling Federation" -ForegroundColor Cyan
688640

@@ -759,8 +711,8 @@ Exit
759711
# SIG # Begin signature block
760712
# MIIO+gYJKoZIhvcNAQcCoIIO6zCCDucCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
761713
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
762-
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUejsUZ0JLxas+Jqi18Wly5q0+
763-
# JuugggxCMIIFfjCCBGagAwIBAgIQCrk836uc/wPyOiuycqPb5zANBgkqhkiG9w0B
714+
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUoJVoN2zur44Fl0V8e48warDR
715+
# eQOgggxCMIIFfjCCBGagAwIBAgIQCrk836uc/wPyOiuycqPb5zANBgkqhkiG9w0B
764716
# AQsFADBsMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD
765717
# VQQLExB3d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBFViBDb2Rl
766718
# IFNpZ25pbmcgQ0EgKFNIQTIpMB4XDTIxMDQyMjAwMDAwMFoXDTI0MDcxOTIzNTk1
@@ -830,11 +782,11 @@ Exit
830782
# ZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgRVYgQ29kZSBTaWduaW5nIENBIChT
831783
# SEEyKQIQCrk836uc/wPyOiuycqPb5zAJBgUrDgMCGgUAoHgwGAYKKwYBBAGCNwIB
832784
# DDEKMAigAoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEE
833-
# AYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQU0uX/VCXDvyJn
834-
# BQQNVZ7Sa/3rHyEwDQYJKoZIhvcNAQEBBQAEggEAREhkDWsFFW5NTq6O8Tu7XOrj
835-
# zVyt4YmbvHrOu4YtPRNsbs0Ch+OMa0oB2I5JSN5Ftez4YfjVyCt8xui+0hLpoZE5
836-
# HABgRZDZVpO5RLjB6j5DFx5nbWT1YZ32dM5DrATgYny3lf1/EIQUGlW6AKtxO8R4
837-
# PF64f7iq6v9Kv70e0HNc/hAFspRraOgwtJnMcVN4EsEMv8BqkKXoqUFJ/eycpMQJ
838-
# yGpodM6/FleM8t/clyx3roZVE81QZcYphMbG6YvCn/8IfD44ibEHBq7wyGIST2ZP
839-
# 9qoH+rk7qb16DiI0LT88CufOGxWPgEEB/Ic4oqiQC0sDG14SiWJ1mK3FuKbn1w==
785+
# AYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQUzjxVSHQrtXeA
786+
# GtUYCke/s2cM8GYwDQYJKoZIhvcNAQEBBQAEggEAAE4grVagcgp4uYk+Zb2e0XgQ
787+
# MpJRQPVF2m0FJ8NbiY08Act6CBqIEqXZQzFyvRN44KcY30bPoIr54yZlrvwG7xmQ
788+
# 3KmLcd1t1X98aR+dRLPu5VlZrZ+pw/B4WD3z9kGZrwlSYewOaiKa4W21YIYl+1Zh
789+
# qEzt9Qy+eZkZ0f31DJpsO0yzlb70XYsNdjnOJ1KGYkgwG0h46jJ1crSmxvI35yS/
790+
# A0FeBvB04n2PhzCupd/uJeGvZv6FCsfOodqLMoh6dUf2CsFPuhHFwkZVGDwCwN6h
791+
# +Ma/AraN0VHUF0IBHLu/H8ECn6cCvGj/hTdMBVx8CVx7p2DqTKiT9LOn7p6+GA==
840792
# SIG # End signature block

0 commit comments

Comments
 (0)