Missing Payouts Because Node Is in a "Sanctioned Country"?

Well at least there’s a cache involved.

Good to know, thanks Alexey.

1 Like

Is there a dev in this house, besides me?! This is day one kindergarten stuff.

It could be. If you want to help, you can submit a PR with the proposed change, our team would be glad to accept it after review.

I will think about the implications of that, thank-you.

1 Like

Wow! This clearly got you excited, I don’t think I’ve ever seen you being this generous! :wink:

4 Likes

Like, reading?

// IsGeonameIDSanctioned returns true if the uint64 geonames.org id is sanctioned
// for purposes of best-effort conformance to the Office of Foreign Assets Code.
// It is assumed that IsGeonameIDSanctioned is only called after considering
// IsCountrySanctioned, as IsGeonameIDSanctioned does not currently include
// sanctioned countries.

I didn’t include the rest of the code that calls these functions, because that’s not what the conversation is about, but for sure, IsCountrySanctioned is called first, and IsGeonameIDSanctioned is only called if IsCountrySanctioned is false.

Don’t worry, we have this handled correctly.

6 Likes

just a simple question: is there any free online tool to check ip (better multiply ip’s) for sanction or not list

GeoIP databases demo | MaxMind

1 Like

There is no information about the IP’s country of registration, so it doesn’t help.

I didn’t find such a tool, I stopped on 5th page of the Google search…
I believe the only way is to find the one of the geoIP databases, which also shows the registration info, not only presence.
And if any of these (current and the registration) would be in the sanctioned list, it likely would be blocked.

There are also sites, which provides information about registration for the IP ranges by countries.
I.e.:

1 Like

That’s sensible - whew. While I do know the intent of Russian sanctions is not to affect the populace (ie: including Russian citizens), I’m not sure that those regions would still apply. I would presume there are factors to your D series license which may require those regions; unknown to me.

There will be another round of scruitiny, as Russia has just commenced adopting/legalizing crypto as payment the import of goods; avoiding tarrifs & sanctions. Specific to this industry, the size of the crypto market is dwarfed by their requirements. Oddly,
I think this should help secure crypto assets value.

Absolutely all the code was not in front of me, but the implication of

well open for interpretation, that it would be further looking for regional exclusions, not inclusions. Extra confusing.

I take your explanation at face value, appreciate the explanation and do so apologize for thinking otherwise. False is false.

n’ stuff
2 cents.

25 cents.

By the way regarding the hierarchy of that execution of programming logic: if you’re going to require a check excluding those regions, you should do that first, and then do iscountrysanctioned separately. As is the case you state (referral on false) they are programmatically unrelated - they are independent. Because you’ve made a system to have to check EVERY IP’s geolocation (except for only a few sanctioned countries), it’s not operating efficiently. The idea would be to avoid wasting those resources. Thereafter, checking for any special exclusions.
3 1/3 cents.

Actually, it’s reverse. Any sanctions always affects innocent people in a first place, sometimes including the country which government imposed them. But it’s offtopick.

No, the use of cryptocurrency as a means of payment in Russia is prohibited for its citizens. Cryptocurrency is a legal asset in Russia, but is not allowed as a means of payment between citizens.
It also doesn’t allow to evade sanctions, because USA-based companies cannot pay even in Crypto to the sanctioned countries, as you can see from the top post. However, as far as I know, Russia is not under such sanctions.

News to you then, they announced several initiatives just, I believe, August 1st. It will still remain banned for citizens. Point is, it’s an avenue to pay for military hardware. Umm google it up.

Hmm. The completely offtopick.
Do you have something useful to add?
Otherwise, please, stop right here.

2 Likes

As a better structure for the code.

a.) Case check if IP from banned/sanctioned country, if yes… goto/execute c.)
b.) Case check if country is either RUS or UKR, if yes execute geocheck function on IP.;
if result = false goto d.)
c.) do some banned country/region stuff. This does not relate to anything political… the regions in that code can have a country association as EITHER/OR, depending on what database of countries lists on a given day/month/year. It’s just to accomodate any overlap, as only the region will return true, if so.
d.) loop 'til done

If there are 160 countries, you’d save unnecessarily doing geo lookups 97% of the time.

And if you do have to Geo check every IP. then the geo IP lookup is just it’s own routine, and nothing can be saved, and that existing code would operate well enough.

It’s not related only to RUS or UA. There are several sanctioned countries. And no one of RUS or UA are affected, as far as I know. Only specific regions. Or persons. You know, how USA sanctions are works…
There is SDL. And we must follow it.
I would suggest to do not extend this topic, I do not want to delete posts. Politics - not on that forum, thank you.

5 Likes