bitshares / bitshares-core

BitShares Blockchain node and command-line wallet
https://bitshares.github.io/
Other
1.17k stars 647 forks source link

Fund account on account creation #1403

Open clockworkgr opened 5 years ago

clockworkgr commented 5 years ago

As a faucet operator I want to be able to fund accounts on creation so that newly created accounts can contain a balance without having to wait for the account creation operation to be in LIB before performing a transfer.

CORE TEAM TASK LIST

clockworkgr commented 5 years ago

Related: https://github.com/bitshares/bitshares-core/issues/1398

sschiessl-bcp commented 5 years ago

Many gateways have been asking for this kind of feature, and it would be extremely helpful as well for all the "Insufficient funds" support requests for not properly maintained fee pools.

The testnet faucet is also supporting that, but via a separate transfer after account creation, which is error prone.

+1

xeroc commented 5 years ago

That would be helpful to the testnet faucet too, which gives every new account x TEST for, well, testing ... :)

@stefan: that script is not error prone - ever. I wrote it :D :D :p

cogutvalera commented 5 years ago

@ryanRfox I want to implement this feature a bit later :) claiming it now if possible, just wanted to mention it ...

Thanks !

clockworkgr commented 5 years ago

that was fast :P

pmconrad commented 5 years ago

Please write a BSIP.

clockworkgr commented 5 years ago

ok. will do

ryanRfox commented 5 years ago

Yes, BSIP is the proper next step. @cogutvalera love the enthusiasm. Hope you are willing to assist with drafting the spec.

cogutvalera commented 5 years ago

@ryanRfox yes sure thank you !

abitmore commented 5 years ago

As mentioned in Telegram:

oxarbitrage commented 5 years ago

I like the idea, it is somehow related to something we discussed about approving a proposal at the same time as creating it(dont remember if we have an issue for this)

clockworkgr commented 5 years ago

As mentioned in Telegram:

  • perhaps good to have a list of asset objects (asset_id+amount);
  • need to honor asset authorization settings (whitelisting)

second part should be quite easy....if an asset simply has a whitelist....it can't be there... as account hasn't been created yet, it can't be whitelisted.

abitmore commented 5 years ago

@clockworkgr asset authorization is not only whitelisting. My bad for didn't state it clearly. IMHO we need to mention it in the BSIP, but don't need to go into details about it.

btsabc commented 5 years ago

It looks like we can test the consistency of account_id and name or the consistency of asset_id and symbol etc by modifying or adding predicate in assert_operation.

https://github.com/bitshares/bitshares-core/blob/3ea52879d634f0bd5bca80e6059b9308ba3270ff/libraries/chain/assert_evaluator.cpp#L33-L71

abitmore commented 5 years ago

@btsabc yes a faucet can do that, but also with downsides: