require(_share_price > 0, “Invalid share price”);
https://github.com/IronFinance/iron-contracts
Is it in a different repo? Does it exist?
61–70 of 502 posts
require(_share_price > 0, “Invalid share price”);
https://github.com/IronFinance/iron-contracts
Is it in a different repo? Does it exist?
This has always been the problem with smart contracts. They are infact dumb contacts. To program one you need to think about all the edge cases. The programmers here likely did want >0 here. The possibility that the thing feeding price data return zero incorrectly was higher than the price legitimately being zero in their minds. There is no court or lawyer who can interpret the spirit of the contract.
Hmm. I don't think this is the first legal contract of ambiguous intent. Surely any court would decide what the proper reading is and rule in some direction.
This is particularly the case with ownership of money. If you've put money in a bank, and the bank says "sorry, due to a programming error you can't get your money back," that's on the bank. They are legally required to try and get you your money back.
Similarly, legal contracts (as opposed to defi smart contracts) must contain certain elements to make them legally enforceable. These include such elements as capacity (the capacity of the signer to enter into a contract, which can take into account whether they can fully-understand the contract) and adequate consideration (whether the contract is blatantly unfair to one party). So a contract that seems reasonable but might have some complex edge-case that requires extreme fine-grain parsing or auditing to see how you might end up with no money may not be legally-enforceable at all.
In the defi world, it seems like you're entering into a contract that's written in code, but there's no requirement to be able to actually parse and have the capacity to understand all the code that is written in the contract (or omitted, in the case of edge-cases the programers didn't think about). This seems like it wouldn't fly in any legal contract.
Earlier quoted context omitted.
Are you saying the only time a contract is disputed is when the other party is evading the law? Nobody abuses the legal system to screw over people without enough resources to fight in court?
I'm saying the legal system takes authority. A smart contract doesn't avoid or override that authority. https://digitalchamber.org/wp-content/uploads/2018/02/Smart-... > Is A Smart Contract Always A Legal Contract? > No. Because a smart contract is computer code, a smart contract may represent all, part, or none of a valid legal contract under U.S. law. Smart contracts function – in whole or in part – to give effect…
Earlier quoted context omitted.
They said "typically", so they aren't saying it's true in all cases, but generally when a person is trying to evade some legal authority, it's probably not for reasons good for society.
They are trading one legal authority for another, and this is agreed upon up front. Both parties agree that the code is the legal authority before entering into a contract, which is much different from evading authority after the fact. > but generally when a person is trying to evade some legal authority, it's probably not for reasons good for society Reminds me of the "nothing to hide" argument, that only someone tr…
> The developers seem to have been earnest in their attempt to create a new kind of stablecoin , one that was only partially collateralized by a “real” stablecoin. This space is a giant house of cards.
Seriously. I posit that many of the programmers in the field have no financial background whatsoever, on top of whatever shaky software background they may also have (especially if they went to a bootcamp). Just hilarious to watch.
The line of source code cited in the post isn't immediately evident in the Iron Contracts repo: require(_share_price > 0, “Invalid share price”); https://github.com/IronFinance/iron-contracts Is it in a different repo? Does it exist?
(If verified source is published, you can see the actual code; else you'd have to decompile the EVM bytecode. But basically 100% of the time, if verified source isn't provided then it's a scam, so it's safe to just ignore things without source. And, of course, even if verified source is published, there's still a high chance any given contract picked out of a bucket will be a scam, but at least you can review the code and spot the backdoor.)
Earlier quoted context omitted.
They are trading one legal authority for another, and this is agreed upon up front. Both parties agree that the code is the legal authority before entering into a contract, which is much different from evading authority after the fact. > but generally when a person is trying to evade some legal authority, it's probably not for reasons good for society Reminds me of the "nothing to hide" argument, that only someone tr…
>They are trading one legal authority for another, and this is agreed upon up front. Both parties agree that the code is the legal authority before entering into a contract, which is much different from evading authority after the fact. The parties might "agree", but who cares? If they are in the US, for example, and the two parties have a smart contract that breaks US contract law, one of the parties can file a laws…
1. A normal contract (legal or illegal) that requires outside enforcement in the first place to force parties to comply.
2. A smart contract (legal or illegal) that executes itself without outside enforcement and can be overturned later (not literally overturned, but a subsequent transaction can be forced) by meatspace mechanisms
Earlier quoted context omitted.
Seriously. I posit that many of the programmers in the field have no financial background whatsoever, on top of whatever shaky software background they may also have (especially if they went to a bootcamp). Just hilarious to watch.
Developers used to “we can fix it in production, ship it” develop system where fixes can’t be shipped with expected results.
And the unexpected results may be billions of dollars worth of assets lost. Like most of SV, most of the cryptocurrency space is "move fast and break things", but breaking things entails a little more than an app being down for a few hours.
Probably a dumb question, but is there any possibility of temporarily getting the price to slightly above 0 in order to let people get their money out? For example, could some group with a lot of money offer to buy/sell a bit until the oracle considers it above 0, in exchange for some sort of compensation from the investors or devs?
Yep, and btw, how can the price of anything be exactly 0? This doesn't sound right either.
I don’t know what the Oracle is using but it would be amusing if something else means the price is “stuck” at zero once it hits zero.
Earlier quoted context omitted.
Wait so USDC is linked to existing USD in a bank somewhere, so what's stopping coinbase from just nulling the locked usdc and minting 262MM new ones? Sorry if it's a dumb question Im not sure how stablecoins work.
USDC represents a claim on USD, but why would Circle want to help out this contract and lose 262 million? If a stablecoin issuer like USDC can make arbitrary decisions to null any USDC token and they use that power, that is a good argument for the point that they are not following aml/kyc on every hop or transaction of USDC, even though they are allowing the transfer of dollars behind it. USDC can be charged with vio…
Probably a rhetorical question, but they might decide that it's a price they can pay for trust in their system.
Not sure if I understood where the real value currently is though.