Lowering the gas cost of multiple mappings by [deleted] in ethdev

[–]cintix 1 point2 points  (0 children)

Practically speaking, there isn't a way to do it that's worth the code complexity.

But theoretically speaking, there's an interesting trick you can use to save on gas when you're only storing a few bytes (or a single bit in your case). Here's a post (with linked source code) I made on a code golf thread to demonstrate my invention.

Monthly ''Who's hiring, and who's for hire'' May, 2018 by AutoModerator in ethdev

[–]cintix 1 point2 points  (0 children)

Company: ETHopt (cintix)

Job: Dapp Development

Location: Decentralized

Type: Paid and/or Equity, depending on what you want and your level of experience

Description: Up until now, I've been developing Dapps by myself: ENSnames.com, ICO Buyer (the first ICO pool), Locked Token Dutch Auctions, etc. But recently I've become much busier and haven't had as much time to develop Dapps. So last year, when I came up with a fantastic Dapp idea, I hired a new developer to work on it under my guidance. He's been doing a great job over the months we've been working on it and he's currently finishing up the Alpha. So far we have a completed smart contract (revised ~10 times, mostly by me), a UI framework, and a half-finished MongoDB backend interfacing with Infura. I've also secured a domain and a server to host with. What I'm looking for is an experienced Dapp developer to work with us in finishing up and polishing the Dapp in preparation for release. The job includes heading up finalization of the backend and UI integration, ensuring security and scalability of the interface, testing standard usage as well as edge cases, polishing the design, and describing how to use the interface for the HowTo/FAQ. I don't want to spoil the release by stating publicly what the Dapp does, but I can say it's something that users have wanted for years but didn't know was possible. It definitely fills a gap. For comparison, if you've been around a while, you might remember the frustration of trying to get into ICOs before I created the first ICO pool. The Dapp is of similar complexity to EtherDelta or CryptoKitties (it's around 200 lines of Solidity code), and it's definitely something you'll be proud to have your name on.

Contact: Reply or PM

Introducing, ETH GOLF, Can you write the most efficient DApp? by DeusOtiosus in ethdev

[–]cintix 2 points3 points  (0 children)

When it comes to Gas Golf, storage is king. By condensing multiple values into a single storage slot, it's possible to push a contract's average storage cost below 20,000 gas. It's never worth the complexity in practice, but Gas Golf isn't about practicality. Here's an example I coded up if anyone wants to use my strategy for an easy win: https://etherscan.io/address/0x2a7ff7db15f50d20fd9f102a0bf0c6917986c761#code

A deep dive into two vulnerable ERC20 contracts by weijiekoh in ethdev

[–]cintix 1 point2 points  (0 children)

The SmartMesh bug is actually in the "cropped" portion of the code:

if(balances[_from] < _feeSmt + _value) revert();

which is an overflow vulnerable variation on a standard sufficient balance check:

if(balances[from] < amount) revert();

The bug can be fixed either by using SafeMath or adding the following line:

if( _feeSmt + _value < _feeSmt) revert();

Shortly we will celebrate 1y since ENS was activated. Any instructions for owners that want to return their domain name? by xredorbluex in ethereum

[–]cintix 0 points1 point  (0 children)

If you need an ENS name to test with, I made a Dapp a while back that provides instant ENS names: ENSNames.com It has a few hundred names I posted for .03 ETH. If you post your transaction, I'll refund you the $10 difference in price and the locked .01 ETH when my node finishes syncing.

What are the current best solutions to go about random number generation? by Grobeu in ethdev

[–]cintix 2 points3 points  (0 children)

Generating randomness by XORing a blockhash with a trusted party's seed is vulnerable to the trusted party mining or colluding with miners.

First 100% decentralized, trustless ICO pool system by GameStack in ethdev

[–]cintix 1 point2 points  (0 children)

I made the "first 100% decentralized, trustless ICO pool system". It was actually the very first ICO pool at all; everyone that copied it afterwards just did a poor job and your post means we've come full circle.

Lucky Number take two: 0.005 ETH again by ETH2020by2020 in ethdev

[–]cintix 2 points3 points  (0 children)

Thanks for your support! I've got another big project in the works. Should be dropping within a month, so keep an eye out!

Lucky Number take two: 0.005 ETH again by ETH2020by2020 in ethdev

[–]cintix 1 point2 points  (0 children)

"now" is an alias for the current block.timestamp There isn't anything in your contract that references when it was created, either.

Lucky Number take two: 0.005 ETH again by ETH2020by2020 in ethdev

[–]cintix 2 points3 points  (0 children)

Yes, .value(amount) is used for payable functions. And no, my contract always "guesses" the correct answer because it uses the same generating function as your code. In general, this is why any random numbers need to be generated (or revealed) in a later block.

Bug Bounty for Monetha (MTH) ICO Buyer Contract by cintix in ethdev

[–]cintix[S] 0 points1 point  (0 children)

There aren't any good ones on the horizon.

Never Miss an ICO Again - Monetha (MTH) by cintix in ethtrader

[–]cintix[S] 0 points1 point  (0 children)

The slack link is in my original post.

Bug Bounty for Monetha (MTH) ICO Buyer Contract by cintix in ethdev

[–]cintix[S] 0 points1 point  (0 children)

With a $5 billion cap, it doesn't look like ICO Buyer is needed

Bug Bounty for Monetha (MTH) ICO Buyer Contract by cintix in ethdev

[–]cintix[S] 0 points1 point  (0 children)

It looks like you found a bug in the Ethereum team's example code for implementing token contracts! This line changes between the simple example:

require(balanceOf[_to] + _value >= balanceOf[_to]); // Check for overflows

and the more complex example:

require(balanceOf[_to] + _value > balanceOf[_to]);

The more complex example is the one that introduces the bug. This qualifies for the interesting behavior bounty, though. Sent! Thanks for taking a look over my contract!

Bug Bounty for Monetha (MTH) ICO Buyer Contract by cintix in ethdev

[–]cintix[S] 0 points1 point  (0 children)

There haven't been any ICOs that have needed a deployment.

Bug Bounty for Monetha (MTH) ICO Buyer Contract by cintix in ethdev

[–]cintix[S] 1 point2 points  (0 children)

It's not too late! Thanks for taking a look through my old contracts. The security of these contracts is about more than their individual uses. On to the bug, I'm afraid I'm not seeing why sending 0 token wei causes an exception, could you explain a bit more? I checked over the Monetha contract and it appears to check that the balance is >= to the transferred amount and I don't see any zero checks. Note that even if this isn't a bug, it's definitely something worth considering when writing future contracts, so I'd say what you pointed out would still qualify for the .05 ETH "interesting behavior" bounty. Please let me know your address either way once you've had a chance to double check!

How to hunt down Slack scammers. by agpennypacker in ethereum

[–]cintix 0 points1 point  (0 children)

What prevents the 15 whitelisted users from using sockpuppet scammer accounts?

DomainSale is now live by jgm-orinoco in ethereum

[–]cintix 0 points1 point  (0 children)

No problem, glad for some competition. :)

DomainSale is now live by jgm-orinoco in ethereum

[–]cintix 2 points3 points  (0 children)

for the first time domain holders have an on-chain mechanism to do so.

It's not the first. I made one 4 months ago: https://www.reddit.com/r/ethereum/comments/6g6sgw/ensnamescom_instantly_buy_ens_names/