While I accept it's a tradeoff where other people might take another view, this is type of thing is why I personally don't want to put money into blockchains.
I want mistakes to be fixable, by going to court if necessary, rather than money just being lost forever because I mistyped a character and "computer says no".
Much like a real world contract between - say - you and a bank when they accept your deposit, a smart contract should contain code provisions to revert the funds back to their owner if a certain set of circumstances happens in the environment (i.e. in the blockchain).
For example there could be, as part of the contract, much like there are exceptional provisions in real world contract, a M-of-N sig allowing the funds to be reverted back to the sender if enough (M) people agree that it's the correct thing to do.
This particular contract didn't seem to have any such provisions, which made it very unsafe.
Current smart contracts aren't very sophisticated yet, this is still the stone age for programmable money.
Things will improve, but in the meantime ... be safe out there.
And in banks, all your money can be frozen by a hostile government, for example.
Diversification.
I DO keep all my money in Western financial institutions, but that's laziness, not out of some misguided perception of stability. If I were optimizing, I'd have some in US institutions, some abroad, some in land, some in blockchain, some in gold, etc.
The US has had a nice 250-year run. Past performance doesn't always predict future performance, and more importantly, if I live 100 years, that means the US has been around for 2.5 of my lifetimes. I think that's a good indicator of the level of stability. There's perhaps a 1-in-2 chance of some major event within my lifetime, consider things like the American Revolution, Civil War, or Great Depression to be major events.
Not all of those would wipe out my assets, but I'd say about a 1:5 chance of my assets being neutered or neutralized within my life.
We tend to plan for the common, minor stuff (typo, guy loses $50k), and overlook big, rare events (like the current, entirely predictable pandemic).
Might be doable to reverse transactions on exchanges, which operate like banks and will do 'shadow' transactions, because e.g. the Bitcoin blockchain can only handle a handful of real transactions per second.
This is fixable with escrows (which etherum has on-chain I think). It's just not very used right now. Although this is about participating in contracts themselves so this is more akin to a bug in the escrow.
Unfortunately I can't even see anything about the library because /webscript/docs/ renders as a completely blank white page. Viewing the source, it appears that an empty page is the correct rendering because you aren't actually serving any content - the <body> tag is empty save for a few <script> tags!
Given the submission title I assume you have intentionally replaced the HTML content with some sort of Javascript based template and/or dynamic generation. Running Javascript has risks; if you want me to run your program written in a Turing complete language (which are inherently undecidable; see the halting problem), I need to have a reason to accept the risk of run an unknown program. A blank page doesn't count.
After looking briefly at app.js, it appears you are using a html-tag-like DSL (domain specific language) similar to HAML/Pug/Handlebars. This type of tool can make development a lot easier, but you need to render them server side! Send the client HTML, and progressively enhance into other features when they are supported!
To help him out this Christmas the Aavegotchi project setup a donation address (santagotchi.eth).
Earlier story: https://news.ycombinator.com/item?id=25443212