Skip to content
  1. Jun 06, 2023
    • Kian Paimani's avatar
      add pallet macro kitchensink example/template (#14052) · 6f79a9e9
      Kian Paimani authored
      
      
      * add pallet macro kitchen-sink pallet
      
      * update
      
      * Adds benchmarking setup
      
      * Updates APIs
      
      * Fixes benchmark
      
      * Uses derive_impl for frame_system
      
      * Adds benchmarks
      
      * Minor update
      
      * Adds license
      
      * Adds examples crate
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update frame/examples/kitchensink/src/tests.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/examples/kitchensink/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/examples/kitchensink/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Addresses review comments
      
      * Addresses review comments
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      ---------
      
      Co-authored-by: default avatarNikhil Gupta <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarcommand-bot <[email protected]>
      6f79a9e9
    • achimcc's avatar
      arkworks integration (#13031) · 03490d5d
      achimcc authored
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix compression
      
      * fix compression
      
      * fix compression
      
      * fix compression
      
      * fix compression
      
      * fix std leak
      
      * fix std leak
      
      * fix std leak
      
      * merge master
      
      * merge master
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * use serialize_result
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * reduce boilerplate code
      
      * remove host function muls
      
      * reduce boilerplate code
      
      * remove patches
      
      * uuse correct ark-substrate branch
      
      * reduce boilerplate code
      
      * cleanup
      
      * cleanup
      
      * proper error handling
      
      * derive serialize for error
      
      * proper error handling
      
      * proper error handling
      
      * proper error handling
      
      * derive Debug for PairingError
      
      * sp-arkworks path
      
      * cargo update
      
      * adopt tests to error handling
      
      * fix tests
      
      * cargo update
      
      * remove results
      
      * deserialize as G2Affine
      
      * cargo update
      
      * add codex index to PairingError
      
      * replace Vec<Vec<u8>>
      
      * replace Vec<Vec<u8>>
      
      * use into_iter for chunks
      
      * use chunks for scalars
      
      * fix ersialized_size
      
      * use into
      
      * collect as vec
      
      * collect as vec
      
      * no collect Vec
      
      * use into_iter
      
      * import AffineRepr
      
      * fix typo
      
      * cargo update
      
      * new serialization
      
      * fix typo
      
      * unwrap results
      
      * unwrap results
      
      * use correct deserialization
      
      * fix bugs, cleanup
      
      * correct len
      
      * vec without capacity
      
      * Revert "vec without capacity"
      
      This reverts commit 2b1cd004f9f3f7cb1b0513c794f9ea781bb75ef1.
      
      * Revert "correct len"
      
      This reverts commit b85de8606364260c310f3c306b0a920e184e7e53.
      
      * Revert "fix bugs, cleanup"
      
      This reverts commit eef4c77ac99c0ed2e4b4857702e6ab5f1d2ce36c.
      
      * Revert "use correct deserialization"
      
      This reverts commit 9eacba93150bd41614e198cc6f2838d57d14f8db.
      
      * Revert "unwrap results"
      
      This reverts commit b0df1e1bdbd2518baa23040e0c6663ca69d2ba25.
      
      * Revert "unwrap results"
      
      This reverts commit de3cfbd04964dd66faeae5616b5763b1d30520e2.
      
      * Revert "fix typo"
      
      This reverts commit c12045d78f2468800be30ee1b31b12768aa7a786.
      
      * Revert "new serialization"
      
      This reverts commit e56a088be7612e4511382817afaf61f65b0c3aca.
      
      * Revert "cargo update"
      
      This reverts commit 15898da94677a5f19290a7f15fb15cb4cbd8f431.
      
      * Revert "fix typo"
      
      This reverts commit c89e96331f1d07e3b9b6a00ea9c89896553d67c6.
      
      * Revert "import AffineRepr"
      
      This reverts commit 5a103ac1b3506736181ddda040d896930bd8f83a.
      
      * Revert "use into_iter"
      
      This reverts commit 2e31d912bd4103529b40b250410f9f5b1a980ce4.
      
      * Revert "no collect Vec"
      
      This reverts commit db18dcac34fc3c3ddc20c3b42331f8d5fa7014b5.
      
      * Revert "collect as vec"
      
      This reverts commit dd3f809e965cec361a0feaab9abfae7115756e2c.
      
      * Revert "collect as vec"
      
      This reverts commit 9167d5984d8ecc3903d24f96d8c9fcac45c87bf7.
      
      * Revert "use into"
      
      This reverts commit 344cfffbd38fde130225df35f36259872754bd3a.
      
      * Revert "fix ersialized_size"
      
      This reverts commit c6a760986551cbbcaa3748564dd5e3c7630209c6.
      
      * Revert "use chunks for scalars"
      
      This reverts commit 67987ae0bbba7e3963ccba0dd9f1fbaa4c922d4f.
      
      * Revert "use into_iter for chunks"
      
      This reverts commit 1ddd6b89c2f8fb4e6dd26768be0edaca2d1be3f9.
      
      * Revert "replace Vec<Vec<u8>>"
      
      This reverts commit 4d3b13c02a9db0ea6bd130bda38c851f2371ec6e.
      
      * cargo update
      
      * cargo update
      
      * Revert "replace Vec<Vec<u8>>"
      
      This reverts commit 4389714068d939abc97288c5b06ee23d399a19ad.
      
      * cargo update
      
      * add error
      
      * add error
      
      * add error
      
      * fix typo
      
      * fix imports
      
      * import coded
      
      * import codec
      
      * import PairingError
      
      * fix patches
      
      * sp-arkworks
      
      * sp-arkworks
      
      * use random values for multiplications
      
      * cargo update
      
      * fix imports
      
      * fix imports
      
      * add host functions
      
      * re-add mul impls
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * PairingError -> ()
      
      * remove PairingError
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * reduce boilerplate code
      
      * cargo update
      
      * update comments
      
      * cargo update
      
      * optimize code quality
      
      * use ark_scale (#13954)
      
      * use ark_scale
      
      * fix tests
      
      * fix tests
      
      * cleanup & comments
      
      * use correct PR branch
      
      * hazmat
      
      * ed curves, use ArkScaleProjective
      
      * Achimcc/arkworks integration remove affine hostcalls (#13971)
      
      * remove affine host-calls
      
      * remove affine host-call impls, also in tests
      
      * cargo update
      
      * ark-substrate: use main branch
      
      * cargo update
      
      * Achimcc/arkworks integration bandersnatch (#13977)
      
      * use bandersnatch
      
      * bandersnatch
      
      * add abndersnatch sw msm
      
      * use correct PR branch
      
      * cargo update
      
      * cargo update
      
      * fix tests
      
      * cleanup
      
      * cleanup
      
      * fix tests
      
      * refactor tests
      
      * cargo update
      
      * cargo update
      
      * cargo update
      
      * refactor tests
      
      * cleanup & update tests
      
      * upgrade arkworks/algebra
      
      * cargo update
      
      * adopt tests
      
      * versioning ark-substrate
      
      * cargo update
      
      * remove patched deps
      
      * bump ark-scale
      
      * use crates-io deps
      
      * fix doc comments
      
      * Cargo.toml, linebreaks at end
      
      * reorgainze tests
      
      * sp-arkworks -> sp-crypto-ec-utils
      
      * move host functions to crypto-ec-utils
      
      * fmt
      
      * remove sp-ec-crypto-utils from io
      
      * remove unwrap from te msm
      
      * remove elliptic_curves references in test
      
      * elliptic_curves references in test
      
      * update doc comments
      
      * remove warn missing docs
      
      * fmt
      
      * cargo update
      
      * update doc comments
      
      * cargo update
      
      * cargo update, bump arkworks, codec versions
      
      * bump runtime version in sp-crypto-ec-utils
      
      * remove feature flag ec-utils-experimental
      
      * crypto-ec-utils -> crypto/ec-utils
      
      * tests/ -> test-data/
      
      * update doc comments for signatures
      
      * update comments
      
      * update doc comments for signatures
      
      * fix doc comments
      
      * fix doc comments
      
      * fix doc comments
      
      * fix doc comments
      
      * fix doc comments
      
      * cleanup
      
      * fix doc comments
      
      * cargo update
      
      * fix doc comments
      
      * cargo update
      03490d5d
  2. Jun 05, 2023
    • Sam Johnson's avatar
      upgrade macro_magic to 0.3.5 (#14303) · 35cc4162
      Sam Johnson authored
      35cc4162
    • Liam Aharon's avatar
      migration(tips): unreserve deposits (#14241) · c6287425
      Liam Aharon authored
      * unreserve all tip funds migration
      
      * improve test
      
      * fix comment
      
      * implement weights
      
      * saturating_accrue
      
      * remove unnecessary collect
      
      * prefer ensure
      
      * use assert
      
      * use saturating_add
      
      * use saturating_accrue
      
      * test pre_upgrade and post_upgrade
      
      * remove pallet_treasury bound
      
      * resolve pr comments
      
      * rename migration
      
      * kick ci
      
      * kick ci
      c6287425
  3. Jun 04, 2023
  4. Jun 02, 2023
  5. Jun 01, 2023
  6. May 31, 2023
  7. May 30, 2023
    • Michal Kucharczyk's avatar
      app_crypto: macro improvements (#14263) · e7e13116
      Michal Kucharczyk authored
      * app_crypto: macro improvements
      
      During `app_crypto`  macro expansion the `cfg` feature gate was injected
        into the macro client crate. This resulted in compilation error if
      `serde` or `std` was not defined in client crate. This PR fixes this
      problem.
      
      For reference, the error was:
      
      ```
        error: cannot find macro `format` in this scope
          --> /home/miszka/parity/10-genesis-config/substrate-2/primitives/consensus/aura/src/lib.rs:32:3
           |
        32 |         app_crypto!(sr25519, AURA);
           |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
           |
      ...
      
        error[E0433]: failed to resolve: use of undeclared type `String`
          -->
      /home/miszka/parity/10-genesis-config/substrate-2/primitives/consensus/aura/src/lib.rs:32:3
           |
        32 |         app_crypto!(sr25519, AURA);
           |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `String`
      ```
      
      * app_crypto: cleanup
      e7e13116
    • Kian Paimani's avatar
      Default Pallet Config Trait / derive_impl (#13454) · 263a5d6c
      Kian Paimani authored
      
      
      * first draft, probably won't work
      
      * first draft, probably won't work
      
      * good progress..
      
      * good milestone, still a lot to do.
      
      * EVERYTHING WORKS
      
      * Update frame/support/procedural/src/derive_impl.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/support/procedural/src/derive_impl.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * clean up + cargo fmt
      
      * import tokens WIP
      
      * export_tokens working with impl Trait
      
      * WIP / notes
      
      * use macro_magic 0.2.0's export_tokens to access foreign items
      
      * token importing working properly using macro_magic 0.2.5
      
      * combine_impls almost working
      
      * successfully get foreign path via macro_magic 0.2.6
      
      * combine_impls using implementing_type generics
      
      * working + clean up
      
      * more clean up
      
      * decrease rightwards drift and add docs to combine_impls
      
      * add support for macros to impl_item_ident in case we hit that
      
      * add docs for impl_item_ident method
      
      * fix no_std issues
      
      * re-export of macro_magic working in pallets 🎉
      
      * clean up + fully resolve no_std issue with macro_magic with v0.2.11
      
      * remove trait item code for different trait item types since this
      is now handled directly by combine_impls
      
      * clean up
      
      * remove dev comments
      
      * only generate default trait if #[pallet::default_trait] is attached
      
      * authorship and most other pallets now compiling
      
      * compiling 🎉
      
      * add check for more than two pallet attributes on Config trait
      
      * remove unused import in nomination-pool
      
      * clean up debug code
      
      * upgrade to macro_magic v0.2.12
      
      * add neater #[register_default_config(SomeIdent)] macro
      
      * really just a thin wrapper around #[export_tokens]
      
      * upgrade to macro_magic 0.3.1
      
      * rewrite parsing to be compatible with syn 2.x, compiling 🎉
      
      
      
      * remove unused keywords
      
      * macro stubs for the new pallet:: macros, preliminary docs
      
      * upgrade to macro_magic v0.3.2
      
      * rename register_default_config => register_default_impl
      
      * bump to macro_magic v0.3.3
      
      * custom disambiguation_path working as 2nd arg to derive_impl
      
      * overhaul docs
      
      * fixes, ident-style paths shortcut working
      
      * remove ident-style shortcut because it makes testing difficult
      
      * add passing UI tests for derive_impl
      
      * switch to `ForeignPath as DisambiguationPath` syntax + update docs
      
      * add UI test for bad foreign path
      
      * add UI test for bad disambiguation path
      
      * add UI test for missing disambiguation path
      
      * add UI test for attached to non impl
      
      * fix derive_impl_attr_args_parsing test
      
      * move tests to bottom
      
      * fix nightly issue
      
      * add doc notes on importing/re-exporting
      
      * remove explicit use of macro_magic::use_attr
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * use explicit macro_magic::use_attr
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * remove unneeded {}
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * remove unneeded collect
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * add docs for TestDefaultConfig
      
      * remove unneeded `#[export_tokens]` on `DefaultConfig`
      
      * add docs for auto-generated `DefaultConfig`
      
      * no need to clone
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * clean up combine_impls + compiling again
      
      * remove unused dependency
      
      * simplify struct definition
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * fix register_default_impl docs
      
      * reduce rightward drift / refactor
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * fix derive_impl after keith's changes
      
      * simplify disambiguation_path calculation
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * compiling again
      
      * simplify parsing of trait item
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * rename preludes => prelude
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * fix other places where we used preludes instead of prelude
      
      * fix indents
      
      * simplify PalletAttr parsing
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * go back to having no_default and constant as keywords
      
      * make it more clear that disambiguation_path is optional
      
      * make default_trait_items just a Vec instead of Option<Vec>
      
      * rename foreign_path => default_impl_path within substrate
      
      * fix docs
      
      * Change {} to ;
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * highlight full end-to-end example with link
      
      * add pallet-default-config-example, start by copying dev mode code
      
      * update dev-mode specific docs
      
      * use Person and Points instead of Dummy and Bar
      
      * add docs to example pallet
      
      * revert changes to pallets other than the default config example
      
      * fix outdated references to basic example pallet
      
      * re-order docs to be a bit more clear
      
      * better errors for extra attributes
      
      * add UI tests for duplicate/extra attributes on trait items
      
      * change `#[pallet::default_config]` to option on `#[pallet::config()]`
      
      * update UI tests
      * add UI test covering missing `#[pallet::config(with_default)]` when
        `#[pallet::no_default]` is used
      
      * add note about new optional conventions
      
      * improve docs about `DefaultConfig` and link to these from a few places
      
      * fix doc comment
      
      * fix old comment referencing `pallet::default_config`
      
      * use u32 instead of u64 for block number
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * use () instead of u32 for `AccountData`
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * use ConstU32<10> for BlockHashCount instead of ConstU64<10>
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * people are not dummies
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      
      * fix wording
      
      Co-authored-by: default avatarJust van Stam <[email protected]>
      
      * Person => People and compiling again
      
      * add docs for `prelude` module in frame_system
      
      * update Cargo.lock
      
      * cleaner example
      
      * tweaks
      
      * update docs more
      
      * update docs more
      
      * update docs more
      
      * update docs more
      
      * fix ui tests
      
      * err
      
      * Update frame/support/test/tests/pallet_ui.rs
      
      * update ui tests
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarSam Johnson <[email protected]>
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarJust van Stam <[email protected]>
      263a5d6c
  8. May 29, 2023