• Rakan Alhneiti's avatar
    Offchain signing (#5182) · b20dc82a
    Rakan Alhneiti authored
    
    
    * New approach to offchain signing.
    
    * Use in im-online
    
    * Rewrite to use Account<T>
    
    * DRY signing.
    
    * Implement send_raw_unsigned_transaction
    
    * WiP
    
    * Expunge LocalCall
    
    * Expunge LocalCall
    
    * Fix compilation.
    
    * Solve call.
    
    * Make it compile again.
    
    * Finalize implementation.
    
    * Change CreateTransaction
    
    * Clear CreateTransaction.
    
    * Add price payload
    
    * Send raw transaction
    
    * Submit signed payload / unsigned transaction (WIP)
    
    * Supertrait requirements on T::Signature
    
    * Validate signature of payload on an unsigned transaction
    
    * Fix encoding - part 1
    
    * Make it compile.
    
    * Fix compilation of unsigned validator.
    
    * Pass price payload to the transaction
    
    * Make block number part of the signed payload
    
    * Send signed transaction
    
    * Implement all_accounts, any_account
    
    * Fix formatting
    
    * Implement submit_transaction
    
    * Submit signed transaction (ForAll, ForAny)
    
    * Fix formatting
    
    * Implement CreateSignedTransaction
    
    * Move sign and verify to AppCrypto
    
    * Sign transaction
    
    * Call `use_encoded`
    
    * Remove SubmitAndSignTransaction
    
    * Implement runtime using new SigningTypes
    
    * Adapt offchain example to changes
    
    * Fix im-online pallet
    
    * Quick fix: rename AuthorityId2
    
    * Fix offchain example tests
    
    * Add a comment on why keystore is required in unsigned transaction test
    
    * Use UintAuthorityId instead of u64
    
    * WIP
    
    * Remove IdentifyAccount from UintAuthorityId
    
    * Implement PublicWrapper type
    
    * Fix im-online tests
    
    * Fix runtime test
    
    * Bump spec version
    
    * Fix executor tests
    
    * Rename ImOnlineAuthId -> ImOnlineAuthorityId and formatting
    
    * Fix merge
    
    * Documentation
    
    * Revert u64 -> UintAuthorityId conversion
    
    * Fix string errors
    
    * Document public members in offchain module
    
    * Introduce SubmitTransaction
    
    * Update pallets to use SubmitTransaction
    
    * WIP
    
    * Use SubmitTransaction in offchain
    
    * Use `submit_unsigned_transaction`
    
    * Fix tests
    
    * Update docs
    
    * Remove SigningTypes requirement from `SendTransactionTypes`
    
    * Fix tests
    
    * Update frame/system/src/offchain.rs
    
    Co-Authored-By: default avatarKian Paimani <[email protected]>
    
    * Update frame/system/src/offchain.rs
    
    Co-Authored-By: default avatarKian Paimani <[email protected]>
    
    * Update frame/example-offchain-worker/src/tests.rs
    
    Co-Authored-By: default avatarKian Paimani <[email protected]>
    
    * Update frame/system/src/offchain.rs
    
    Co-Authored-By: default avatarKian Paimani <[email protected]>
    
    * Update frame/system/src/offchain.rs
    
    Co-Authored-By: default avatarKian Paimani <[email protected]>
    
    * Remove leftover from previous iterations
    
    * Change enum to struct
    
    * Remove public
    
    * Move mock to node/executor/tests
    
    * Cleanup test-helpers
    
    * Make `application-crypto` `std` feature internal
    
    The macros should not generate code that requires that the calling crate
    has a feature with the name `std` defined.
    
    * Revert cargo lock update
    
    * Use TestAuthorityId from common
    
    * Restore members of account to public
    
    * Tidy up imports
    
    * Fix benchmarking pallet
    
    * Add tests demonstrating ForAll, ForAny on signer
    
    * Move definition of AppCrypto
    
    in example-offchain-worker
    from tests to mod::crypto
    
    * Cleanup stray comment
    
    * Fix ValidTransaction
    
    * Re-fix CreateSignedTransaction
    
    * Address PR feedback
    
    * Add can_sign method to signer
    
    * Propagate error
    
    * Improve documentation
    
    * Fix vec! macro not available
    
    * Document SendTransactiontypes
    
    * Add some docs.
    
    * Split signing examples
    
    * Add tests for signing examples
    
    * WIP can_sign - PR feedback
    
    * WIP
    
    * Split for_any / for_all into different calls
    
    * Verify payload and signature in test
    
    * Fix can_sign implementation
    
    * Fix impl_version
    
    * Import Box from sp_std
    
    * Create issues for TODOs
    
    * Ignore doctest.
    
    * Add test directly to system. Adjust UintTypes.
    
    * Add some tests to account filtering.
    
    * Remove code samples and point to example offchain worker
    
    * Fix doc links
    
    * Fix im-online tests using signatures.
    
    Co-authored-by: default avatarTomasz Drwięga <[email protected]>
    Co-authored-by: default avatarKian Paimani <[email protected]>
    Co-authored-by: default avatarBastian Köcher <[email protected]>
    b20dc82a