-
Notifications
You must be signed in to change notification settings - Fork 193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SmartContract as trait #446
SmartContract as trait #446
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
afae438
to
7c325d4
Compare
/// EVM smart contract instance. | ||
Evm(sp_core::H160), | ||
/// Wasm smart contract instance. | ||
Wasm(AccountId), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shibuya have no wasm contracts now, let’s guard users of errors
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, but please fix shibuya runtime
@@ -0,0 +1,3 @@ | |||
pub trait IsContract { | |||
fn is_contract(&self) -> bool; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Imo, this should just be in the mod.rs of the pallet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there is no fast rule on where the traits should be defined. We can do it either way
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I commented since it's 3 lines of code.
You could re-export it as something from pallet_dapps_staking::trait if you want to use trait.
But it's fine like this too.
Now that I wrote the comment above, I realized there's no documentation on the method :P
Change request resolved in Slack. |
* SmartContract as trait * contract_id.is_contract() changes * changed SmartContract to trait * more rebase fixes * runtime updates for shibuya and local * changing Shibuya parameters, delete unused code * default HistoryDepth set to 30 * fixing reserved amount for registration * minor comment fix
* re fork * remove recursive limit * add bond() bond_extra() set_controller() * formatting fix * Feature/dapp step1 (#407) * dapps-staking step1. (#405) * added unbond() withraw_unbonded() * dapp_staking_bond_test_wip * add EraFinder mock and test bonding not_ok Co-authored-by: Dinonard <dino.pacandi@gmail.com> * Expanded UT for bond() Added UT for bond_extra() and set_controller() Left some TODOs to discuss in review * add unbond() UT * withdraw_unbonded() UT * UT granularization, various improvements Co-authored-by: Mar.io <34627453+Maar-io@users.noreply.github.com> * Feature/dapp step2 (#409) * dapps-staking step1. (#405) * added unbond() withraw_unbonded() * dapp_staking_bond_test_wip * add EraFinder mock and test bonding not_ok Co-authored-by: Dinonard <dino.pacandi@gmail.com> * Expanded UT for bond() Added UT for bond_extra() and set_controller() Left some TODOs to discuss in review * add unbond() UT * withdraw_unbonded() UT * UT granularization, various improvements * resolving some merge issues * Feature/dapps register (#408) * register + test * added SmartContract struct * removed ContractFinder trait * Feature/dapp step1 (#407) * dapps-staking step1. (#405) * added unbond() withraw_unbonded() * dapp_staking_bond_test_wip * add EraFinder mock and test bonding not_ok Co-authored-by: Dinonard <dino.pacandi@gmail.com> * Expanded UT for bond() Added UT for bond_extra() and set_controller() Left some TODOs to discuss in review * add unbond() UT * withdraw_unbonded() UT * UT granularization, various improvements Co-authored-by: Mar.io <34627453+Maar-io@users.noreply.github.com> * register + test * added SmartContract struct * removed ContractFinder trait * add to runtime * resolvimg merge issues * fmt fix Co-authored-by: Dinonard <3002868+Dinonard@users.noreply.github.com> * review fixes. Added support for AlreadyUsedDeveloperAccount * fmt fix * moved helper register() on top * fmt test file * fmt fix after merge Co-authored-by: Dinonard <dino.pacandi@gmail.com> Co-authored-by: Dinonard <3002868+Dinonard@users.noreply.github.com> * dapps-staking Era handling (#410) * era handling and ForceEra * remove reward distribution from on_initialize * added new storage maps (#413) * added new storage maps * added comment for PalletEraRewards * Dapps-staking register() refactoring (#414) * register() refactoring * updateds after review register() updated with initial: ContractLastClaimed ContractLastStaked * not needed empty insert for ContractLastClaimed and Staked * Update Cargo.toml (#420) with license * Feature/bond and stake (#415) * Initial stake and unbond * Initial implementation of bond and stake * Finished bond_and_stake, start with UT * UT update & staked era bug fix * Added era reward struct * Pallet constants for staking, bug fixes, new UTs * Finalized unit test, ready for review * fix compilation error for runtime * documentation fixes * addressing review comments Weight calculation will be implemented in a follow-up PR. * License move to dapps (#421) * Feature/unbond unstake and withdraw (#424) * unbond,unstake&withdraw initial commit * additional UTs for unbond_and_withdraw * more UTs and bug fixes * added test utils, minor modifications * dapps staking claim (#422) * initial claim() function * fmt fix and license info * added clearing of storage until claim era * UT with several staking for a contract * sceleton for payour_stakers() * more checks on claim() * fixes after running UT * review fixes * more review fixesž * optimize storage use during payout * minor comment fix * added UT for 2 contracts * minor merge fix * claim() review updates * use map instead of vec of vec, plus fmt * renaming and adding comments to claim algorithm * remove unnecessary cloning * implemented accumulator for era rewards * Feature/dapp shiden15 (#429) * Added DealWithFees handler for tx fees (#391) * Temporary disable custom signatures pallet (#401) * Temporary disable custom signatures pallet * Bump version * Fix custom signatures pallet (#402) * Added stale transaction traction * Added constant transaction fee * EVM contracts integration (#397) * Added EVM into runtime * Added EVM support into collator * Enabled Ethereum-compatible RPC * Added Frontier consensus middleware * Fix frontier consensus * Fix frontier invalid transaction bug * Added Shibuya testnet * Fix EVM gas fee charge (#411) * Fix pallet custom signatures issues (#412) * Fix pallet custom signatures issues * Update Cargo.lock * Development chain with EVM and Ink contracts (#423) * Development chain with EVM and Ink contracts * Fix code formatting * Added local chain properties * Enable EVM withdraws & customsig fixes (#419) * Enable EVM withdraws & customsig fixes * Enable customsig pallet for shiden * Fix EVM native tx conversion (#426) * Fix EVM native tx conversion * Increase Alice development endowment * Update Cargo.lock * Added staking EVM precompiles (#425) * re fork * remove recursive limit * add bond() bond_extra() set_controller() * formatting fix * Feature/dapp step1 (#407) * dapps-staking step1. (#405) * added unbond() withraw_unbonded() * dapp_staking_bond_test_wip * add EraFinder mock and test bonding not_ok Co-authored-by: Dinonard <dino.pacandi@gmail.com> * Expanded UT for bond() Added UT for bond_extra() and set_controller() Left some TODOs to discuss in review * add unbond() UT * withdraw_unbonded() UT * UT granularization, various improvements Co-authored-by: Mar.io <34627453+Maar-io@users.noreply.github.com> * Feature/dapp step2 (#409) * dapps-staking step1. (#405) * added unbond() withraw_unbonded() * dapp_staking_bond_test_wip * add EraFinder mock and test bonding not_ok Co-authored-by: Dinonard <dino.pacandi@gmail.com> * Expanded UT for bond() Added UT for bond_extra() and set_controller() Left some TODOs to discuss in review * add unbond() UT * withdraw_unbonded() UT * UT granularization, various improvements * resolving some merge issues * Feature/dapps register (#408) * register + test * added SmartContract struct * removed ContractFinder trait * Feature/dapp step1 (#407) * dapps-staking step1. (#405) * added unbond() withraw_unbonded() * dapp_staking_bond_test_wip * add EraFinder mock and test bonding not_ok Co-authored-by: Dinonard <dino.pacandi@gmail.com> * Expanded UT for bond() Added UT for bond_extra() and set_controller() Left some TODOs to discuss in review * add unbond() UT * withdraw_unbonded() UT * UT granularization, various improvements Co-authored-by: Mar.io <34627453+Maar-io@users.noreply.github.com> * register + test * added SmartContract struct * removed ContractFinder trait * add to runtime * resolvimg merge issues * fmt fix Co-authored-by: Dinonard <3002868+Dinonard@users.noreply.github.com> * review fixes. Added support for AlreadyUsedDeveloperAccount * fmt fix * moved helper register() on top * fmt test file * fmt fix after merge Co-authored-by: Dinonard <dino.pacandi@gmail.com> Co-authored-by: Dinonard <3002868+Dinonard@users.noreply.github.com> * dapps-staking Era handling (#410) * era handling and ForceEra * remove reward distribution from on_initialize * added new storage maps (#413) * added new storage maps * added comment for PalletEraRewards * Dapps-staking register() refactoring (#414) * register() refactoring * updateds after review register() updated with initial: ContractLastClaimed ContractLastStaked * not needed empty insert for ContractLastClaimed and Staked * Update Cargo.toml (#420) with license * Feature/bond and stake (#415) * Initial stake and unbond * Initial implementation of bond and stake * Finished bond_and_stake, start with UT * UT update & staked era bug fix * Added era reward struct * Pallet constants for staking, bug fixes, new UTs * Finalized unit test, ready for review * fix compilation error for runtime * documentation fixes * addressing review comments Weight calculation will be implemented in a follow-up PR. * License move to dapps (#421) * Feature/unbond unstake and withdraw (#424) * unbond,unstake&withdraw initial commit * additional UTs for unbond_and_withdraw * more UTs and bug fixes * added test utils, minor modifications * dapps staking claim (#422) * initial claim() function * fmt fix and license info * added clearing of storage until claim era * UT with several staking for a contract * sceleton for payour_stakers() * more checks on claim() * fixes after running UT * review fixes * more review fixesž * optimize storage use during payout * minor comment fix * added UT for 2 contracts * minor merge fix * claim() review updates * use map instead of vec of vec, plus fmt * renaming and adding comments to claim algorithm * remove unnecessary cloning * implemented accumulator for era rewards * moved pallet-dapps-staking to local runtime * megre conflict and fmt Co-authored-by: Aleksandr Krupenkin <mail@akru.me> Co-authored-by: satellitex <s.a.t.e.3.ths@gmail.com> Co-authored-by: Dinonard <3002868+Dinonard@users.noreply.github.com> Co-authored-by: Dinonard <dino.pacandi@gmail.com> Co-authored-by: Sota Watanabe <w.souta.s.life@gmail.com> * test failing due to wrong name (#430) * wrong era to read EraRewardsAndStakes (#431) Co-authored-by: Dinonard <3002868+Dinonard@users.noreply.github.com> * Feature/dapps staking cleanup (#437) * Initial dapps staking cleanup * Dapps staking cleanup 2nd part * Dapps staking cleanup part3 * Improved empty current era handling * Era reward bug fix * Revert some fixes * Addressed comments * Fixed issue with era staking and reward. 3 more UTs need to be changed * Claim UTs few fixes, more remains to be done * refactoring claim UTs (#438) * Feature/dapps staking claim refactor (#439) * Refactored claim method to handle eras beyond history depth. Added unclaimed reward accumulation * Rebase and some improvements * Comment update * registration with pre-approved list of contracts (#442) * registration with preapproved list of contracts * format fix * renaming and using append * Inject rewards into dapps staking pallet (#448) * Inject rewards into dapps staking pallet * local-runtime uses OnTimestamp * Use of OnUnbalanced trait * Aura and BLockReward tuple * added counter for individual rewards (#450) * added counter for individual rewards * update claim UT * added counter for rewards paid out to contract * review rework * review rework2 * Added register deposit function (#451) * Added register deposit function * Fix code formatting * rebase updates Co-authored-by: Dinonard <dino.pacandi@gmail.com> * SmartContract as trait (#446) * SmartContract as trait * contract_id.is_contract() changes * changed SmartContract to trait * more rebase fixes * runtime updates for shibuya and local * changing Shibuya parameters, delete unused code * default HistoryDepth set to 30 * fixing reserved amount for registration * minor comment fix * enable developer as the key for preapproval (#455) * enable developer as the key for preapproval * use StorageMap instead of Vec for preapproved devs * adding Vesting pallet (#459) * Feature/dapps staking unregister (#458) * use secure hasher * Unregister implementation * Unregister unit tests * Addressed review comments * Use safe hasher * Rebase to latest * Adding README.md for pallet-dapps-staking (#460) * added README.md * Some updates, added unregister documentation Co-authored-by: Dinonard <3002868+Dinonard@users.noreply.github.com> Co-authored-by: satellitex <s.a.t.e.3.ths@gmail.com> Co-authored-by: Mar.io <mario@stake.co.jp> Co-authored-by: Dinonard <3002868+Dinonard@users.noreply.github.com> Co-authored-by: Mar.io <34627453+Maar-io@users.noreply.github.com> Co-authored-by: Dinonard <dino.pacandi@gmail.com> Co-authored-by: Sota Watanabe <w.souta.s.life@gmail.com> Co-authored-by: Aleksandr Krupenkin <mail@akru.me>
@akru @Dinonard
please take a look at this commit.
The implementation of trait
IsContract
is placed in runtime in order to reach EVM module.But now the visibility of fn
is_contract
in pallet-dapps-staking is moved as well and compiler complains with:no variant or associated item namedis_contractfound for enumtraits::SmartContractin the current scope
please advice what would be the best approach to solve this