Compare commits

..

4 commits

Author SHA1 Message Date
c15a0d3bd4
fix: Stagenet host
Previously, the displayed stagenet host, port and key is wrong.
This commit correct the stagenet subdomain host and port.
2024-07-30 05:16:54 +07:00
7e952fb886
chore: Thanks for your donations
Thank you so much for your donations, whoever you may be.
It means a lot to me.
2024-07-30 05:03:06 +07:00
4395a5e2d5
test: Add benchmark Test for QueryNodes.toSQL() 2024-07-29 22:44:10 +07:00
97fad6cacb
refactor: Use slice.Contains() nettype check
Instead using `||` for each nettype query check , simply using `slice.Contains`.
Also, checking `any` value is not needed here.
2024-07-29 22:30:03 +07:00
4 changed files with 32 additions and 9 deletions

View file

@ -17,9 +17,9 @@ export async function load() {
{ text: 'revuo-xmr.com', uri: 'https://revuo-xmr.com/' }
],
stagenet: [
{ label: 'P2P', value: 'testnet.xmr.ditatompel.com:28080', key: 'tnetP2P' },
{ label: 'RPC', value: 'testnet.xmr.ditatompel.com:28089', key: 'tnetRPC' },
{ label: 'RPC SSL', value: 'testnet.xmr.ditatompel.com:443', key: 'tnetSSL' }
{ label: 'P2P', value: 'stagenet.xmr.ditatompel.com:38080', key: 'snetP2P' },
{ label: 'RPC', value: 'stagenet.xmr.ditatompel.com:38089', key: 'snetRPC' },
{ label: 'RPC SSL', value: 'stagenet.xmr.ditatompel.com:443', key: 'snetSSL' }
],
testnet: [
{ label: 'P2P', value: 'testnet.xmr.ditatompel.com:28080', key: 'tnetP2P' },
@ -27,6 +27,7 @@ export async function load() {
{ label: 'RPC SSL', value: 'testnet.xmr.ditatompel.com:443', key: 'tnetSSL' }
],
donation: {
// You change donation address and qr image below if you run your own "instance"
address:
'8BWYe6GzbNKbxe3D8mPkfFMQA2rViaZJFhWShhZTjJCNG6EZHkXRZCKHiuKmwwe4DXDYF8KKcbGkvNYaiRG3sNt7JhnVp7D',
qr: '/img/monerotip.png'

View file

@ -178,7 +178,7 @@
</div>
<div class="md:basis-1/4">
<img src={data.donation.qr} alt="ditatompel's monero address" />
<p>Thank you so much! 🥰</p>
<p>Thank you so much! It means a lot to me. 🥰</p>
</div>
</div>
</section>

View file

@ -94,11 +94,9 @@ func (q QueryNodes) toSQL() (args []interface{}, where, sortBy, sortDirection st
wq = append(wq, "(hostname LIKE ? OR ip_addr LIKE ?)")
args = append(args, "%"+q.Host+"%", "%"+q.Host+"%")
}
if q.Nettype != "any" {
if q.Nettype == "mainnet" || q.Nettype == "stagenet" || q.Nettype == "testnet" {
wq = append(wq, "nettype = ?")
args = append(args, q.Nettype)
}
if slices.Contains([]string{"mainnet", "stagenet", "testnet"}, q.Nettype) {
wq = append(wq, "nettype = ?")
args = append(args, q.Nettype)
}
if q.Protocol != "any" && slices.Contains([]string{"tor", "http", "https"}, q.Protocol) {
if q.Protocol == "tor" {

View file

@ -35,6 +35,8 @@ func init() {
}
}
// Single test:
// go test -race ./internal/monero -run=TestQueryNodes_toSQL -v
func TestQueryNodes_toSQL(t *testing.T) {
tests := []struct {
name string
@ -102,6 +104,28 @@ func TestQueryNodes_toSQL(t *testing.T) {
}
}
// Single bench test:
// go test ./internal/monero -bench QueryNodes_toSQL -benchmem -run=^$ -v
func Benchmark_QueryNodes_toSQL(b *testing.B) {
for i := 0; i < b.N; i++ {
_, _, _, _ = QueryNodes{
Host: "test",
Nettype: "any",
Protocol: "any",
CC: "any",
Status: -1,
CORS: -1,
RowsPerPage: 10,
Page: 1,
SortBy: "last_checked",
SortDirection: "desc",
}.toSQL()
}
}
// equalArgs is helper function for testing.
//
// This returns true if two slices of interface{} are equal.
func equalArgs(a, b []interface{}) bool {
if len(a) != len(b) {
return false