# Polkadot Fellowship membership proposal
My name is Alexander (Sasha) Gryaznov ([@agryaznov](https://github.com/agryaznov)), I’ve been working on Substrate's [**pallet_contracts**](https://paritytech.github.io/polkadot-sdk/master/pallet_contracts/index.html) and related stuff since February 2022 at Parity.
As a largest user-facing pallet in [*FRAME*](https://paritytech.github.io/polkadot-sdk/master/frame/index.html), it depends and relies on many things in Substrate and beyond.
I was improving those things here and there:
+ from [*frame_support*](https://paritytech.github.io/polkadot-sdk/master/frame_support/index.html) utilities for dealing with [crypto primitives](https://paritytech.github.io/polkadot-sdk/master/frame_support/crypto/ecdsa/index.html), to re-writing the [major macro](https://paritytech.github.io/polkadot-sdk/master/pallet_contracts_proc_macro/attr.define_env.html) defining sanboxed secure code execution environment;
+ from adding new wasm [instrumentation facilities](https://docs.rs/wasm-instrument/0.4.0/wasm_instrument/gas_metering/mutable_global/index.html), to porting pallet to 2D weights, finding severe benchmarking-cli [bugs](https://github.com/paritytech/substrate/pull/13766) along the way;
+ from introducing new primitives for working with storage, to enriching pallet’s [public interface](https://paritytech.github.io/polkadot-sdk/master/pallet_contracts/api_doc/trait.Current.html) to meet production-running parachains needs.
New features introduced into the pallet require end-to-end implementation through the whole smart contracts stack. Those are basically `FRAME -> pallet_contracts -> ink! -> polkadotjs | cargo-contract` kind of changes, which I was pleased to implement across all the layers involved.
## Pull Requests
You can find my commits to **polkadot-sdk** [here](https://github.com/paritytech/polkadot-sdk/commits?author=agryaznov), and to **ink!** [here](https://github.com/paritytech/ink/commits?author=agryaznov).
Among my pull requests, I’d like to highlight the following ones:
- [Add frame_support::crypto::ecdsa::Public.to_eth_address() (k256-based) and use it in pallets](https://github.com/paritytech/substrate/pull/11087),
- [Implement transparent hashing for contract storage](https://github.com/paritytech/substrate/pull/11501),
- [define_env! re-write as a proc macro](https://github.com/paritytech/substrate/pull/11888),
- [[wasm-instrument] Add new gas metering method: mutable global + local gas function #34](https://github.com/paritytech/wasm-instrument/pull/34),
- [Add per local weight for function call #12806](https://github.com/paritytech/substrate/pull/12806),
- [make debug_message execution outcome invariant to node debug logging setting #13197](https://github.com/paritytech/substrate/pull/13197),
- [Forbid calling back to contracts after switching to runtime #13443](https://github.com/paritytech/substrate/pull/13443),
- [Port host functions to Weight V2 and storage deposit limit #13565](https://github.com/paritytech/substrate/pull/13565),
- [contracts: switch to wasmi gas metering #14084](https://github.com/paritytech/substrate/pull/14084),
You can read more on the context of this change in [this blogpost](https://agryaznov.com/posts/wasm-gas-metering/);
- [contracts: switch from parity-wasm-based to wasmi-based module validation #14449](https://github.com/paritytech/substrate/pull/14449).
I fixed a good number of vulnerability issues found in the pallet during thorough security audit. _(Albeit those ones can’t be explicitly listed here for security reasons)_.
## Network Involvement
Aside from coding contributions, I’m running a couple of validators (you can find their addresses [here](https://agryaznov.com/about/#my-validators)) for more than a year so far, with no slashes, no chill. Recently I started making fun with launching [**Yerba**](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frpc.dev.yerba.network#/explorer) experimental smart-contracts parachain, which is a network for *YOLO-testing* cutting-edge **pallet_contracts** & **ink!** features.
### Blog
Time to time I publish articles concerning Polkadot-related tech to [**my blog**](https://agryaznov.com/). _(The first such post [was made](https://agryaznov.com/posts/2019-05-06-sub-0-highlights/) in *May 2019*)_.
---
With that being said, I would like to apply for Rank 2.
My Polkadot address is: `14DDofWN1JuYK6BTVrCwgqy2AvNr3izFA1BSr9RAdJQPXBbC`.
Email: hi@agryaznov.com.
Cheers!