Aaron Li: 1Wallet & Social NFT
🍠

Aaron Li: 1Wallet & Social NFT

Here are Aaron's timesheet, peer bonus, deliverables and bio. He is currently at Pacific Time UTC-7, Palo Alto, CA.

⏰
Timesheet & Peer Bonus (with giv.one)

DateHoursTagsArtifactsFeedback
...
354.5
(...many weeks passed. see open dev log)
2021-07-17
1.2
Token and NFT experimentation and debugging; Client API implentation for token operation
2021-07-17
11
Research on daVinci market; Client: ERC20 grid; Token assets manager; Unified token key compute utility; In-browser IPFS retrieval analysis and benchmark; Client API initialization for token contracts and metadata, and API implementations for metadata retrieval and balance checking for token and NFT contracts; Refactor and modularization of client wallet components; Smart contract support for Override-Track capability; Smart contract optimization for universal deployability (<24K); Smart contract multi-track capability; Client side state management (reducer, saga, actions) for tracking tokens, token balances, and currently selected tokens; Direct support for well known ERC-20 tokens; Infrastructure support for tokens with custom decimal settings; Unifty bn.js dependecy; Multi-network support for token operations and views; Token operation hash and commit hash utilities, and debugging; Auto chaining and auto refresh token balance after commit-reveal flow; Support sending tokens; fix bugs related to reveal token operations; Distinguished UI for sending tokens (re-used from sending ONEs); Various bug fixes; Complete flow demo + verification;
2021-07-18
11.2
NFT Grid, support for both ERC721 and ERC1155, share same underlying token abstraction with ERC20; Support image, animation, and metadata rendering; NFT details toggle; Responsive grid; End-to-end debugging and testing for tokens; Upgrade versions and warning messages for older clients; v0.3 release; Separate view and filtering for ERC20 and NFT grids; Support sending NFT through existing transfer UI;
2021-07-20
1
OTP Input and Refocus code review + revision + bug fixes; Provide feedback; Fix missing name issue for some ERC721 tokens
2021-07-23
6.1
Address critical security vulnerabilities with commit-reveal (#47); Constant-time commit lookup (#3, #4); Implement suggested contract optimizations in Common Prefix preliminary report (immutable variables, unchecked arithmetics); Added NatSpec compliant comments in contract code; Fix an issue with incorrect key computation of tracked tokens; Unify all reveal operations into a single function with different operation types;
...
299.5
(many weeks passed, content omitted. see open dev log)
2021-09-11
2
Address user experience issues reported by Boris; Special processing for displaying Harmony Punk; Always show full address and address-tools on header section in desktop view
2021-09-11
0.5
Support for video NFT
2021-09-12
1
Scripts for listing 1wallet deployment transactions and inferring their addresses
2021-09-12
1.5
Miscellaneous fixes (HTTPS certificate, protobuf generation; context menu of onboarding QR code upon tapping); Experimentations on non-standard Google Authenticator settings; Binance withdrawal issue (#127) investigation, reproduction, discussion (9:30pm)
2021-09-12
0.5
Review of Red Packet admin tool proposal, elaboration on NFT metadata and TODO for red packet NFT, and IPFS
2021-09-13
1
More special handling on HarmonyPunk (#128)
2021-09-13
1
Resolve miscellaneous address issue (#130) Further discussion with Binance on withdrawal issue; Relayer: deploy new library contracts only when necessary; NFT: get header only when necessary;
2021-09-13
5.5
Release v0.11.1; Make Swap available to all; Limit contract call operation to respect spending limit; Remove extraneous warnings; Make swap obey spending limit; Fix bug in Wallet Graph library that causes command operations always to fail; Make commit-reveal pace faster; Hide double OTP by default; Added expert mode, which allows the user to use double OTP and freely adjust spending limit
2021-09-14
1
Fix a bug that prevents automatically transfer of tokens upon upgrade (#133)
2021-09-14
3
Red packet design and analysis of alternatives; Complete, detailed implementation and design proposal for red packet; Discussions and open questions
2021-09-14
6
Extending daily limit to spending limit and spending interval; Smart contract library: SpendingManager; Refactor wallet smart contract and upgrade constructor and getters to be more compact and informative; Analyze Harmony Java SDK and resolve Binance withdrawal issue
2021-09-15
4.5
Release v0.12.1; Make all existing components work with spending limit and newly refactored wallet smart contract interfaces (core library, relayer, api, Send, Swap, About, and various other modules)
2021-09-16
2.5
Red packet: Gift tab in wallet; Simplify onboarding messages; Make onboarding QR code intuitive for tapping; Substantially simplify onboarding messages; Added paste-from-authenticator button for mobile view;
2021-09-16
1.5
(Continued)
2021-09-17
7
(Continued) First functional red packet creation, end-to-end; Fix issue with not showing commit-reveal progress correctly whie sending tokens; Fix issues with address labels; Make several critical modules shared, exported components; Fix several library bugs (multi-call encoding, etc.)
2021-09-17
5
(Continued) and research and experiment on Android Google Authenticator issue (#136); Discussions; Refine red packet implementation, flow and debugging
2021-09-18
8
Unwrapping red packet: end-to-end, debugging, and live testing; Smart contract upgrade on nonce and operation time exposure; Various reusable frontend infrastructure component for NFT tracking, display, and management
2021-09-19
6.5
Fix Android failure to scan QR code issue; Automatically cleans up invalid or expired temporary wallets; Enable wallet to display a QR code of its address recognizable by 1wallet QR code scan and general camera scan; Intelligent camera selection for all scanning and mobile support; Enable 1wallet to scan QR code and recognize various formats and intents; Simplify prompt and process to save address for new user onboarding; Added a default, not-owned NFT so new user can experience collectibles; Review and revise haolin's work on QR code image upload; Fit and organize all new features; Various high priority miscellaneous user experience issues
2021-09-19
1.5
Fix QR code scanning error message spamming issue; Added support for scanning red packet QR code; Finalize wallet restore entirely on mobile and making video tutorial; Various discussions, debugging with online users who had issues and those reported at the offline event
2021-09-20
4
Allow advanced settings for red packet (custome message, random factor); Measures to reduce errors from claiming red packet, and show urgency; Relayer error analytics and report; Diagnosis and deep parsing of errors reported by people at offline event
2021-09-21
1
Tests, research, and analysis on various browsers and incognito modes
2021-09-22
2.5
Fix issue #147, #148 (error on restore when local double otp state is inconsistent)
2021-09-23
3
(Continued) and fix the underlying cause of the inconsistent state, ensure double otp to work properly in future versions, and add fallback compatibility / auto-fix for restoring older, inconsitent versions
2021-09-23
1
Offline event feedback review and analysis; debugging
2021-09-24
0.5
Debugging; fix a bug which may cause wallet listing screen to run into infinite loop
2021-09-27
1
Assist on #149, #150, research on #151 and 1:1 integration guidance following #149
2021-09-29
1.5
Allow integrations to make binary calls directly via hex data
2021-09-30
1
DEX and hackathon integration assistance; Fix a bug where integration calls with zero send-amount would not function;
2021-10-01
2.5
Gnosis integration debugging; Diagnose issues with Jenya arising from local inconsistent state and old wallet version as part of Gnosis integration;
2021-10-01
2.5
Safeguards and tests against using incompatible wallet versions for integrations
2021-10-01
6.5
Track and untrack tokens, NFTs; Direct integration with daVinci and customization based on its unique IPFS, API, and file formats; Mobile view
2021-10-02
3.5
(Continued); Released v0.12.4
2021-10-02
1
Fix issues that may cause inconsistent state; Diagnosis and debug with Jenya
2021-10-02
1
Gnosis integration finalization with Jenya and demo
2021-10-02
0.5
daVinci NFT purchase IPFS issue further research and adding materials for loading state
2021-10-06
0.5
Gnosis safe integration debugging on multiple environments; Analysis of causes for wallets gone missing
2021-10-06
3
Support Aegis authenticator (#151, #157); Debugging wallet gone missing and bugs in purge routine; Use simple create flow in side menu; Tolerate 30 delay of OTP code;
2021-10-07
5.5
List top 9 ERC-20 assets in wallet home screen (#158); Simplified app-call flow (#159); verify callback domain and whitelist contract and methods (#159); call data decode utility (#159); Hide temporary wallets for app connect. Test and debug Gnosis Safe integrations
2021-10-08
2
Ability to inspect old wallets; Improve wallet About screen; improve Sentry event capturing; Debug IPFS issues and improve NFT visualization robustness
2021-10-08
8
Ability to reclaim domain and tokens from old wallet, debug and testing; Sensisble layout and interactions on wallet about screen; Unify row components; Fix bug with wallet purge to prevent purging partial proofs which are still used by at least one wallet; NFT gateway and display stablity debugging; Reclaim reverse domain
2021-10-09
3
Release v13 (#160); Release notes; Simplify OTP confirmation flow; auto-verify domain in both directions; Fully functional Inspect and Reclaim features
2021-10-10
1
Fix upgrade OTP confirmation bug; Auto copy on address format switching; Mobile friendly wallet title; Auto-spawn temporary old wallets during app-call if needed; Store old wallets in state persistently; 4s retry interval; favicon; Simplified, minimal call screen
2021-10-10
3
(Continued)
2021-10-11
1
Timeless integration and 1wallet library sync
2021-10-11
3
Generalized method for contract and method verification during app call; Tools for add Harmony protocol in MetaMask and to open Harmony Safe; Issue #161
2021-10-11
1.5
Gnosis Safe code review, development tracking, security analysis, and identify potential backdoors
2021-10-11
1.5
(Continued)
2021-10-12
2
(Continued)
2021-10-12
6
Even mapping extraction scripts; Issue #161, cumulative analysis and debugging; Debugging and fix issues with using old wallets; Dev state dump tool; Remove recovery on recover screen when recovery address is not set; Fix infinite loop on connect; Fix NFT tracking on mobile; Gnosis Safe integration contract interaction debugging and tests
2021-10-12
4
Gnosis Safe SushiSwap Transaction encoder tool; Functional Gnosis Safe SushiSwap end-to-end flow; Improve Swap mobile experience; disable mobile autozoom; add paste button on mobile OTP input; fix global usage stats overflow (use abbreviation); always show address options on wallet title; Hex options on wallet address components; allow displaying and choosing old wallet address and hex addresses in app connect screen
2021-10-13
3
(Continued)
2021-10-15
0.5
General integration advice and debugging and resolving Timeless address conversion issues in Python and Swift
2021-10-16
0.5
Tools with individual URLs and guides; Investigation, analysis, and guidance for issues encountered by Harmony DAO grant recipients; Issues #165, #164; expert mode support for grant recipients
2021-10-17
2
Wallet as Safari extension (macOS 12 / iOS 15) debugging, build, research, analysis, and experiments
2021-10-17
4
Trustless bridge review; Review and feedback to security risk raised by Shshank (re: forging commit); Issue #164
2021-10-18
4
(Continued) and address issue #166
2021-10-18
1
Sync with Harmony team re: domain services and use cases
2021-10-18
1.5
Transack integration review and application (#155); Analysis, planning, and feedback to Timeless regarding fiat integration and Apple Pay
2021-10-19
0.5
Analyze and fix QR code compatibility issue (Haodi) and Google Authenticator version history
2021-10-19
1.5
Sync with Transack. Preparation on Transak integration. Plan and acquire resources needed to enable ONE / USD purcahse; Sync with Timeless on fiat integration
2021-10-19
2
Trustless bridge script code review and analysis
2021-10-20
5
Trustless bridge contract code review, analysis, feedback; Comparison with trusted bridge implementations
2021-10-20
5.5
Sync and feedback on Timeless Wallet integration technical issues; Implement fixes for issue #166 and the underlying issues (identifying post-recovery wallets, prevent infinite loop, show warnings, etc.)
2021-10-21
2.5
Re-work notifications; Commit-Reveal progress experience improvement; Mobile experience improvement. Warning for sending to custody-wallet addresses; More #116
2021-10-21
0.5
Cache global usage stats on client side; Resolve stats count issue (#162)
2021-10-22
5
Transact integration implementation, testing, bug analysis and sync; End-to-end staging and production tests
2021-10-24
4
Milestones, progress and development summaries, planning, public pages, and research on various issues (fiat, Apple Pay, library integration, NFT)
2021-10-24
3
Ethereum trustless bridge audit: code and design review (EthereumProvder, Harmony Prover, Merkle Patricia Tree inclusion and exclusion tests, alternative MPT implementation, javascript invocations and example usage, analysis on fork resistance)
2021-10-25
5
(Continued); Timeless integration and 1wallet library customizations
2021-10-25
1
Ethereum trustless bridge audit: more analysis on correctness of MPT membership test implementation in libraries
2021-10-25
4
(Continued) Merkle Mountain Range related implementations review and analysis
2021-10-25
4
(Continued) and all remaining components and libraries except ethash. Analysis on TokenLockerOnHarmony and concern over lack of MMR
2021-10-27
1
Timeless integration: analysis of onboarding issues, suggestions, tentative solutions and improvements
2021-10-27
2
Analysis, proposals, and planning for wallet renewal (#171), predictable address (#172), and 1wallet light client (#174)
2021-10-29
6
v14 WIP: core replacement logics, new reveal libraries, refacotring contracts to conform size limits, simplifying codes, testing; Timeless integration discussions on upgrade, review of alternative approaches in other projects, and discussion of various integration issues
2021-10-29
6
(Continued) Batch operation support; Relayer upgrade for contract caching, better logging for requests, backoff-retry initialization,
2021-10-30
6
Minimal wallet setup components; Extend wallet frontend infrastructure;
2021-11-01
5
Recovery expiration checks; Recovery frontend bug fixes; 1wallet DAO change; Extend frontend infrastructure, core library hash utilities
2021-11-01
3
(Continued) Extend operation implementation and testing
2021-11-02
6
(Continued) Revamp Extend infrastructure; Script utilities for event and topic hashing; Core API for retrieving old cores; Root management utility and deletion utlities; useWallet and various common components; Contract revamp to allow authentication against old cores (old authenticator roots and times); Firelayerinitialization on Ganache; Wallet expiration checks; Wallet root checks and multi-device check
2021-11-02
7
(Continued) Core library: support loading old roots; Experiments on validating new root and old root belong to same seed
2021-11-03
3
(Continued) Self-code review and address review comments; Fix bugs in new reveal mechanism on multi-core authentication and recovery authentication;
2021-11-03
2
Revamp upgrade messaging and experience
2021-11-04
2
Fiat on ramp refacotring and customized currency selector; Allow skip upgrade version and fix layout bugs
2021-11-09
2
Planning, updates, implementation proposals and analysis, and milestones (#189, #190, #191)
2021-11-09
1
(Continued)
2021-11-09
1.5
Using Harmony Safe with 1wallet: create, deposit, and swap tutorials; ETH bridge report discussion; BTC bridge initial review; Unstoppable domain initial review
2021-11-11
7.5
Predictable address, 1wallet deployment factory, (#172) research on proxy upgrade (#189); Bug fix: recovered wallet is stuck in wallet list
2021-11-12
5
(Continued)
2021-11-12
8
(Continued) and analysis on upgrade mechanism and future directions #189
2021-11-13
6.5
(Continued) and factory helper, identification hash mechanism for permanent recovery capability, ecrecover on identification hash on contract; major refactoring and structure optimization of contracts
2021-11-13
5
Recovery and Version libraries; Bolster TokenTracker library; Reduce main contract size by 40%; Improve ENS domain and subdomain libraries; Optimize WalletGraph
2021-11-13
3
Core structure enhancement; Setting up inner cores at initialization; Authentication logics against inner cores; Two levels of daily limit adjustment functionalities; Detailed description of design and variable purposes in comments; Relayer new formats for creating new wallets; More efficient commit and reveal from relayer
2021-11-14
6
(Continued)
2021-11-14
4
Core: make OTP seed dual purpose (also serves as private keys), re-work identification hash to comform with public key formats; Completely reworked relayer initialization code;
2021-11-14
5.5
(Continued) fix several issues with factory and deployer helper; fix issues with relayer deployment using factory;
2021-11-19
5
Core library: efficiently building merkle tree with inner cores; inner tree generations; interlaced sha256 hasher
2021-11-19
5
Make all core tests work again; Make new test utils for common procedures (creation, tree generation); Improve tests; Improve core libraries and fix bugs introduced by inner cores
2021-11-19
5
Make most tests use test utils; Factory tests; Make tests use factory; Add more encoder, decoder, and utils in tests
2021-11-20
4
(Continued) and fix bugs in recovery using inner cores
2021-11-20
2
Core construction utilities; refactoring tests
2021-11-20
3
Improved test flow; commit-reveal utilities for larger scale tests; inner core tests; Make tests use salted creation procedure, run deterministically, using separate creation seeds
2021-11-21
6
(Continued) fix core displacement contract bug; pass most significant inner core related tests (core displacement); add null operation parameters and update various other constants;
2021-11-21
2
Pass additional tests for post-core-replacement operations and transfers
2021-11-24
6
Spend limit tests; Various hash computation utilities in core lib; Relayer default spend limit values; Contract: categorize reveal hash compute functions
2021-11-25
7
Client: adapt to new creation flow, compute inner cores in workers, and store appropriately; Optimize inner core tree heigh; Allow relayer to be more adaptive to arguments; Experiment and reduce wallet creation duration
2021-11-28
1
Status review and updates
2021-12-01
3
1wallet presentations and summary
2021-12-01
2
1wallet short presentation
2021-12-01
1
(continued) and appendix
2021-12-02
1
(continued) and talk preparation