From 6052195987c9d833f656ec4becdb812439bea37b Mon Sep 17 00:00:00 2001 From: failfmi Date: Fri, 24 Nov 2023 15:05:06 +0200 Subject: [PATCH 1/2] feat(unchecked-extrinsic): ecdsa signature verification --- build/runtime.wasm | Bin 713848 -> 717735 bytes execution/types/unchecked_extrinsic.go | 46 +++++-- execution/types/unchecked_extrinsic_test.go | 108 +++++++++++++++- goscale | 2 +- mocks/io_crypto.go | 5 + primitives/io/crypto.go | 14 +++ primitives/types/ecdsa_verify_error.go | 73 +++++++++++ primitives/types/ecdsa_verify_error_test.go | 132 ++++++++++++++++++++ runtime/balances_transfer_test.go | 115 +++++++++++++++++ runtime/runtime_test.go | 65 ++++++++++ 10 files changed, 546 insertions(+), 14 deletions(-) create mode 100644 primitives/types/ecdsa_verify_error.go create mode 100644 primitives/types/ecdsa_verify_error_test.go diff --git a/build/runtime.wasm b/build/runtime.wasm index c6af4cae488c2b2095234a7f441cf58586a9994b..3a2dc3989288bf62095c9cb8ca618e22124415de 100755 GIT binary patch delta 179283 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

UMRglGiAVtQqrDt4ix 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 U24pTEt<-VtbNu_c~$)UIH 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 - // &sp_io::hashing::blake2_256(pubkey.as_ref()) == - // >::as_ref(who), - // _ => false, - // } + sigEcdsa, err := signature.AsEcdsa() + if err != nil { + // TODO: return err + log.Critical(err.Error()) + } + + return uxt.verifyEcdsa(sigEcdsa, msgBytes, signerBytes) } log.Critical("invalid MultiSignature type in Verify") @@ -177,3 +178,28 @@ func (uxt uncheckedExtrinsic) usingEncoded(sp primitives.SignedPayload) sc.Seque return sc.BytesToSequenceU8(enc) } } + +func (uxt uncheckedExtrinsic) verifyEcdsa(signature primitives.SignatureEcdsa, msgBytes []byte, signer []byte) bool { + sigBytes := sc.FixedSequenceU8ToBytes(signature.FixedSequence) + msg := uxt.hashing.Blake256(msgBytes) + + // This returns either the 33-byte ECDSA Public Key or an error. + recovered := uxt.crypto.EcdsaRecoverCompressed(sigBytes, msg) + buffer := bytes.NewBuffer(recovered) + + result, err := sc.DecodeResult(buffer, primitives.DecodeEcdsaPublicKey, primitives.DecodeEcdsaVerifyError) + if err != nil { + // TODO: return err + log.Critical(err.Error()) + } + + if result.HasError { + log.Debug(fmt.Sprintf("Failed to verify signature. Error: [%s]", result.Value.(error).Error())) + return false + } + + // In order to match AccountId, ECDSA public keys are hashed to 32 bytes. + hashPublicKey := uxt.hashing.Blake256(result.Value.Bytes()) + + return reflect.DeepEqual(hashPublicKey, signer) +} diff --git a/execution/types/unchecked_extrinsic_test.go b/execution/types/unchecked_extrinsic_test.go index 4a2cb2b6..1b803403 100644 --- a/execution/types/unchecked_extrinsic_test.go +++ b/execution/types/unchecked_extrinsic_test.go @@ -27,19 +27,27 @@ var ( types.NewInvalidTransactionBadProof(), ) - signerAddressBytes = []byte{ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - } + signerAddressBytes = make([]byte, 32) signer25519Address, _ = types.NewEd25519PublicKey(sc.BytesToSequenceU8(signerAddressBytes)...) signerAccountId = types.NewAccountId[types.PublicKey](signer25519Address) signer = types.NewMultiAddressId(signerAccountId) + ecdsaAddressBytes = make([]byte, 33) + ecdsaPublicKey, _ = types.NewEcdsaPublicKey(sc.BytesToSequenceU8(ecdsaAddressBytes)...) + signatureBytes = []byte{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, } + ecdsaSignatureBytes = []byte{ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + } + signatureEd25519 = types.NewMultiSignatureEd25519( types.NewSignatureEd25519( sc.BytesToFixedSequenceU8(signatureBytes)..., @@ -51,6 +59,12 @@ var ( ), ) + signatureEcdsa = types.NewMultiSignatureEcdsa( + types.NewSignatureEcdsa( + sc.BytesToFixedSequenceU8(ecdsaSignatureBytes)..., + ), + ) + unknownMultisignature = types.MultiSignature{ VaryingData: sc.NewVaryingData(sc.U8(3), signatureEd25519), } @@ -334,6 +348,94 @@ func Test_Check_SignedUncheckedExtrinsic_Success_Sr25519(t *testing.T) { mockCrypto.AssertCalled(t, "Sr25519Verify", signatureBytes, encodedPayloadBytes, signerAddressBytes) } +func Test_SignedUncheckedExtrinsic_Check_Ecdsa_Success(t *testing.T) { + setup(signatureEcdsa) + recoverResult := sc.Result[sc.Encodable]{ + HasError: false, + Value: ecdsaPublicKey, + } + expect := NewCheckedExtrinsic(sc.NewOption[types.AccountId[types.PublicKey]](signerAccountId), mockCall, mockSignedExtra).(checkedExtrinsic) + + mocksSignedPayload.On("Bytes").Return(encodedPayloadBytes) + mockHashing.On("Blake256", encodedPayloadBytes).Return(encodedPayloadBytes) + mockCrypto.On("EcdsaRecoverCompressed", ecdsaSignatureBytes, encodedPayloadBytes).Return(recoverResult.Bytes()) + mockHashing.On("Blake256", ecdsaAddressBytes).Return(signerAddressBytes) + + result, err := targetSigned.Check() + + assert.Nil(t, err) + checked := result.(checkedExtrinsic) + assert.Equal(t, expect.extra, checked.extra) + assert.Equal(t, expect.signer, checked.signer) + assert.Equal(t, expect.function, checked.function) + + mocksSignedPayload.AssertCalled(t, "Bytes") + mockHashing.AssertCalled(t, "Blake256", encodedPayloadBytes) + mockCrypto.AssertCalled(t, "EcdsaRecoverCompressed", ecdsaSignatureBytes, encodedPayloadBytes) + mockHashing.AssertCalled(t, "Blake256", ecdsaAddressBytes) +} + +func Test_SignedUncheckedExtrinsic_Check_Ecdsa_BadProof_MismatchingAddresses(t *testing.T) { + setup(signatureEcdsa) + recoverResult := sc.Result[sc.Encodable]{ + HasError: false, + Value: ecdsaPublicKey, + } + + mocksSignedPayload.On("Bytes").Return(encodedPayloadBytes) + mockHashing.On("Blake256", encodedPayloadBytes).Return(encodedPayloadBytes) + mockCrypto.On("EcdsaRecoverCompressed", ecdsaSignatureBytes, encodedPayloadBytes).Return(recoverResult.Bytes()) + mockHashing.On("Blake256", ecdsaAddressBytes).Return(ecdsaAddressBytes) // Set invalid address + + result, err := targetSigned.Check() + + assert.Nil(t, result) + assert.Equal(t, invalidTransactionBadProofError, err) + + mocksSignedPayload.AssertCalled(t, "Bytes") + mockHashing.AssertCalled(t, "Blake256", encodedPayloadBytes) + mockCrypto.AssertCalled(t, "EcdsaRecoverCompressed", ecdsaSignatureBytes, encodedPayloadBytes) + mockHashing.AssertCalled(t, "Blake256", ecdsaAddressBytes) +} + +func Test_SignedUncheckedExtrinsic_Check_Ecdsa_BadProof_BadSignature(t *testing.T) { + setup(signatureEcdsa) + recoverResult := sc.Result[sc.Encodable]{ + HasError: true, + Value: types.NewEcdsaVerifyErrorBadSignature(), + } + + mocksSignedPayload.On("Bytes").Return(encodedPayloadBytes) + mockHashing.On("Blake256", encodedPayloadBytes).Return(encodedPayloadBytes) + mockCrypto.On("EcdsaRecoverCompressed", ecdsaSignatureBytes, encodedPayloadBytes).Return(recoverResult.Bytes()) + + result, err := targetSigned.Check() + + assert.Nil(t, result) + assert.Equal(t, invalidTransactionBadProofError, err) + + mocksSignedPayload.AssertCalled(t, "Bytes") + mockHashing.AssertCalled(t, "Blake256", encodedPayloadBytes) + mockCrypto.AssertCalled(t, "EcdsaRecoverCompressed", ecdsaSignatureBytes, encodedPayloadBytes) +} + +func Test_SignedUncheckedExtrinsic_Check_Ecdsa_Panics_InvalidResultBytes(t *testing.T) { + setup(signatureEcdsa) + recoverResult := sc.U8(5) + + mocksSignedPayload.On("Bytes").Return(encodedPayloadBytes) + mockHashing.On("Blake256", encodedPayloadBytes).Return(encodedPayloadBytes) + mockCrypto.On("EcdsaRecoverCompressed", ecdsaSignatureBytes, encodedPayloadBytes).Return(recoverResult.Bytes()) + + assert.PanicsWithValue(t, "invalid bool representation", func() { + targetSigned.Check() + }) + + mocksSignedPayload.AssertCalled(t, "Bytes") + mockHashing.AssertCalled(t, "Blake256", encodedPayloadBytes) + mockCrypto.AssertCalled(t, "EcdsaRecoverCompressed", ecdsaSignatureBytes, encodedPayloadBytes) +} + func Test_Check_SignedUncheckedExtrinsic_UnknownSignatureType(t *testing.T) { setup(unknownMultisignature) diff --git a/goscale b/goscale index aa38c840..1e39cea9 160000 --- a/goscale +++ b/goscale @@ -1 +1 @@ -Subproject commit aa38c84062bd6fa217a9914de53759d3061bcb3c +Subproject commit 1e39cea981032e79a6263833746150d012b5795e diff --git a/mocks/io_crypto.go b/mocks/io_crypto.go index de799ce6..50ef0500 100644 --- a/mocks/io_crypto.go +++ b/mocks/io_crypto.go @@ -11,6 +11,11 @@ func (m *IoCrypto) EcdsaGenerate(keyTypeId []byte, seed []byte) []byte { return args.Get(0).([]byte) } +func (m *IoCrypto) EcdsaRecoverCompressed(signature []byte, msg []byte) []byte { + args := m.Called(signature, msg) + return args.Get(0).([]byte) +} + func (m *IoCrypto) Ed25519Generate(keyTypeId []byte, seed []byte) []byte { args := m.Called(keyTypeId, seed) diff --git a/primitives/io/crypto.go b/primitives/io/crypto.go index 00ec38e2..8d38cb50 100644 --- a/primitives/io/crypto.go +++ b/primitives/io/crypto.go @@ -7,6 +7,7 @@ import ( type Crypto interface { EcdsaGenerate(keyTypeId []byte, seed []byte) []byte + EcdsaRecoverCompressed(signature []byte, msg []byte) []byte Ed25519Generate(keyTypeId []byte, seed []byte) []byte Ed25519Verify(signature []byte, message []byte, pubKey []byte) bool @@ -32,6 +33,19 @@ func (c crypto) EcdsaGenerate(keyTypeId []byte, seed []byte) []byte { //return c.memoryTranslator.ToWasmMemorySlice(r, 32) } +func (c crypto) EcdsaRecoverCompressed(signature []byte, msg []byte) []byte { + sigOffsetSize := c.memoryTranslator.BytesToOffsetAndSize(signature) + sigOffset, _ := c.memoryTranslator.Int64ToOffsetAndSize(sigOffsetSize) // signature: 65-byte + + msgOffsetSize := c.memoryTranslator.BytesToOffsetAndSize(msg) + msgOffset, _ := c.memoryTranslator.Int64ToOffsetAndSize(msgOffsetSize) // message: 32-byte + + r := env.ExtCryptoSecp256k1EcdsaRecoverCompressedVersion2(sigOffset, msgOffset) + offset, size := c.memoryTranslator.Int64ToOffsetAndSize(r) + + return c.memoryTranslator.GetWasmMemorySlice(offset, size) +} + func (c crypto) Ed25519Generate(keyTypeId []byte, seed []byte) []byte { r := env.ExtCryptoEd25519GenerateVersion1( c.memoryTranslator.Offset32(keyTypeId), diff --git a/primitives/types/ecdsa_verify_error.go b/primitives/types/ecdsa_verify_error.go new file mode 100644 index 00000000..8495ced2 --- /dev/null +++ b/primitives/types/ecdsa_verify_error.go @@ -0,0 +1,73 @@ +package types + +import ( + "bytes" + + sc "github.com/LimeChain/goscale" +) + +const ( + EcdsaVerifyErrorBadRS sc.U8 = iota + EcdsaVerifyErrorBadV + EcdsaVerifyErrorBadSignature +) + +func NewEcdsaVerifyErrorBadRS() EcdsaVerifyError { + return EcdsaVerifyError(sc.NewVaryingData(EcdsaVerifyErrorBadRS)) +} + +func NewEcdsaVerifyErrorBadV() EcdsaVerifyError { + return EcdsaVerifyError(sc.NewVaryingData(EcdsaVerifyErrorBadV)) +} + +func NewEcdsaVerifyErrorBadSignature() EcdsaVerifyError { + return EcdsaVerifyError(sc.NewVaryingData(EcdsaVerifyErrorBadSignature)) +} + +type EcdsaVerifyError sc.VaryingData + +func (err EcdsaVerifyError) Encode(buffer *bytes.Buffer) error { + if len(err) == 0 { + return newTypeError("EcdsaVerifyError") + } + return err[0].Encode(buffer) +} + +func DecodeEcdsaVerifyError(buffer *bytes.Buffer) (EcdsaVerifyError, error) { + b, err := sc.DecodeU8(buffer) + if err != nil { + return nil, err + } + + switch b { + case EcdsaVerifyErrorBadRS: + return NewEcdsaVerifyErrorBadRS(), nil + case EcdsaVerifyErrorBadV: + return NewEcdsaVerifyErrorBadV(), nil + case EcdsaVerifyErrorBadSignature: + return NewEcdsaVerifyErrorBadSignature(), nil + default: + return nil, newTypeError("EcdsaVerifyError") + } +} + +func (err EcdsaVerifyError) Bytes() []byte { + return sc.EncodedBytes(err) +} + +func (err EcdsaVerifyError) Error() string { + if len(err) == 0 { + return newTypeError("EcdsaVerifyError").Error() + } + + switch err[0] { + case EcdsaVerifyErrorBadRS: + return "Bad RS" + case EcdsaVerifyErrorBadV: + return "Bad V" + case EcdsaVerifyErrorBadSignature: + return "Bad signature" + default: + return newTypeError("EcdsaVerifyError").Error() + } +} diff --git a/primitives/types/ecdsa_verify_error_test.go b/primitives/types/ecdsa_verify_error_test.go new file mode 100644 index 00000000..31c9cb18 --- /dev/null +++ b/primitives/types/ecdsa_verify_error_test.go @@ -0,0 +1,132 @@ +package types + +import ( + "bytes" + "io" + "testing" + + sc "github.com/LimeChain/goscale" + "github.com/stretchr/testify/assert" +) + +func Test_NewEcdsaVerifyErrorBadRS(t *testing.T) { + assert.Equal(t, EcdsaVerifyError(sc.NewVaryingData(EcdsaVerifyErrorBadRS)), NewEcdsaVerifyErrorBadRS()) +} + +func Test_NewEcdsaVerifyErrorBadV(t *testing.T) { + assert.Equal(t, EcdsaVerifyError(sc.NewVaryingData(EcdsaVerifyErrorBadV)), NewEcdsaVerifyErrorBadV()) +} + +func Test_NewEcdsaVerifyErrorBadSignature(t *testing.T) { + assert.Equal(t, EcdsaVerifyError(sc.NewVaryingData(EcdsaVerifyErrorBadSignature)), NewEcdsaVerifyErrorBadSignature()) +} + +func Test_EcdsaVerifyError_Encode(t *testing.T) { + target := NewEcdsaVerifyErrorBadSignature() + buffer := &bytes.Buffer{} + + err := target.Encode(buffer) + + assert.Nil(t, err) + assert.Equal(t, []byte{byte(EcdsaVerifyErrorBadSignature)}, buffer.Bytes()) +} + +func Test_EcdsaVerifyError_Encode_Empty(t *testing.T) { + target := EcdsaVerifyError(sc.NewVaryingData()) + buffer := &bytes.Buffer{} + + err := target.Encode(buffer) + + assert.Equal(t, newTypeError("EcdsaVerifyError"), err) +} + +func Test_DecodeEcdsaVerifyError_BadRS(t *testing.T) { + buffer := &bytes.Buffer{} + buffer.WriteByte(0) + + result, err := DecodeEcdsaVerifyError(buffer) + + assert.Nil(t, err) + assert.Equal(t, NewEcdsaVerifyErrorBadRS(), result) +} + +func Test_DecodeEcdsaVerifyError_BadV(t *testing.T) { + buffer := &bytes.Buffer{} + buffer.WriteByte(1) + + result, err := DecodeEcdsaVerifyError(buffer) + + assert.Nil(t, err) + assert.Equal(t, NewEcdsaVerifyErrorBadV(), result) +} + +func Test_DecodeEcdsaVerifyError_BadSignature(t *testing.T) { + buffer := &bytes.Buffer{} + buffer.WriteByte(2) + + result, err := DecodeEcdsaVerifyError(buffer) + + assert.Nil(t, err) + assert.Equal(t, NewEcdsaVerifyErrorBadSignature(), result) +} + +func Test_DecodeEcdsaVerifyError_TypeError(t *testing.T) { + buffer := &bytes.Buffer{} + buffer.WriteByte(3) + + result, err := DecodeEcdsaVerifyError(buffer) + + assert.Nil(t, result) + assert.Equal(t, newTypeError("EcdsaVerifyError"), err) +} + +func Test_DecodeEcdsaVerifyError_EmptyBuffer(t *testing.T) { + buffer := &bytes.Buffer{} + + result, err := DecodeEcdsaVerifyError(buffer) + + assert.Equal(t, io.EOF, err) + assert.Nil(t, result) +} + +func Test_EcdsaVerifyError_Bytes(t *testing.T) { + target := NewEcdsaVerifyErrorBadSignature() + + result := target.Bytes() + + assert.Equal(t, []byte{byte(EcdsaVerifyErrorBadSignature)}, result) +} + +func Test_EcdsaVerifyError_Error_BadRS(t *testing.T) { + target := NewEcdsaVerifyErrorBadRS() + + assert.Equal(t, "Bad RS", target.Error()) +} + +func Test_EcdsaVerifyError_Error_BadV(t *testing.T) { + target := NewEcdsaVerifyErrorBadV() + + assert.Equal(t, "Bad V", target.Error()) +} + +func Test_EcdsaVerifyError_Error_BadSignature(t *testing.T) { + target := NewEcdsaVerifyErrorBadSignature() + + assert.Equal(t, "Bad signature", target.Error()) +} + +func Test_EcdsaVerifyError_Error_Empty(t *testing.T) { + target := EcdsaVerifyError(sc.NewVaryingData()) + + errorString := target.Error() + + assert.Equal(t, "not a valid 'EcdsaVerifyError' type", errorString) +} + +func Test_EcdsaVerifyError_Error_InvalidValue(t *testing.T) { + target := EcdsaVerifyError(sc.NewVaryingData(sc.U8(3))) + + errorString := target.Error() + + assert.Equal(t, "not a valid 'EcdsaVerifyError' type", errorString) +} diff --git a/runtime/balances_transfer_test.go b/runtime/balances_transfer_test.go index 51dfb006..0fa3dbc1 100644 --- a/runtime/balances_transfer_test.go +++ b/runtime/balances_transfer_test.go @@ -7,12 +7,14 @@ import ( gossamertypes "github.com/ChainSafe/gossamer/dot/types" "github.com/ChainSafe/gossamer/lib/common" + "github.com/ChainSafe/gossamer/lib/crypto/secp256k1" "github.com/ChainSafe/gossamer/pkg/scale" "github.com/LimeChain/gosemble/constants" cscale "github.com/centrifuge/go-substrate-rpc-client/v4/scale" "github.com/centrifuge/go-substrate-rpc-client/v4/signature" ctypes "github.com/centrifuge/go-substrate-rpc-client/v4/types" "github.com/stretchr/testify/assert" + "golang.org/x/crypto/blake2b" ) func Test_Balances_Transfer_Success(t *testing.T) { @@ -226,3 +228,116 @@ func Test_Balances_Transfer_Invalid_ExistentialDeposit(t *testing.T) { assert.Equal(t, applyExtrinsicResultExistentialDepositErr.Bytes(), res) } + +func Test_Balances_Transfer_Ecdsa_Signature(t *testing.T) { + rt, storage := newTestRuntime(t) + runtimeVersion, err := rt.Version() + assert.NoError(t, err) + + metadata := runtimeMetadata(t, rt) + + secpKeypair, err := secp256k1.GenerateKeypair() + assert.NoError(t, err) + + // Since ECDSA Public Keys are 33 bytes, matching the 32-byte AccountId in the runtime is achieved by blake256(publicKey) + accountId := blake2b.Sum256(secpKeypair.Public().Encode()) + + bob, err := ctypes.NewMultiAddressFromHexAccountID( + "0x90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22") + assert.NoError(t, err) + + transferAmount := big.NewInt(0).SetUint64(constants.Dollar) + + call, err := ctypes.NewCall(metadata, "Balances.transfer", bob, ctypes.NewUCompact(transferAmount)) + assert.NoError(t, err) + + // Create the extrinsic + ext := ctypes.NewExtrinsic(call) + o := ctypes.SignatureOptions{ + BlockHash: ctypes.Hash(parentHash), + Era: ctypes.ExtrinsicEra{IsImmortalEra: true}, + GenesisHash: ctypes.Hash(parentHash), + Nonce: ctypes.NewUCompactFromUInt(0), + SpecVersion: ctypes.U32(runtimeVersion.SpecVersion), + Tip: ctypes.NewUCompactFromUInt(0), + TransactionVersion: ctypes.U32(runtimeVersion.TransactionVersion), + } + + // Set Account Info + balance, ok := big.NewInt(0).SetString("500000000000000", 10) + assert.True(t, ok) + + keyStorageAccountAlice, aliceAccountInfo := setStorageAccountInfo(t, storage, accountId[:], balance, 0) + + err = signExtrinsicSecp256k1(&ext, o, secpKeypair) + if err != nil { + panic(err) + } + + extEnc := bytes.Buffer{} + encoder := cscale.NewEncoder(&extEnc) + err = ext.Encode(*encoder) + assert.NoError(t, err) + + header := gossamertypes.NewHeader(parentHash, stateRoot, extrinsicsRoot, uint(blockNumber), gossamertypes.NewDigest()) + encodedHeader, err := scale.Marshal(*header) + assert.NoError(t, err) + + _, err = rt.Exec("Core_initialize_block", encodedHeader) + assert.NoError(t, err) + + queryInfo := getQueryInfo(t, rt, extEnc.Bytes()) + + res, err := rt.Exec("BlockBuilder_apply_extrinsic", extEnc.Bytes()) + assert.NoError(t, err) + assert.Equal(t, applyExtrinsicResultOutcome.Bytes(), res) + + bobHash, _ := common.Blake2b128(bob.AsID[:]) + keyStorageAccountBob := append(keySystemHash, keyAccountHash...) + keyStorageAccountBob = append(keyStorageAccountBob, bobHash...) + keyStorageAccountBob = append(keyStorageAccountBob, bob.AsID[:]...) + bytesStorageBob := (*storage).Get(keyStorageAccountBob) + + expectedBobAccountInfo := gossamertypes.AccountInfo{ + Nonce: 0, + Consumers: 0, + Producers: 1, + Sufficients: 0, + Data: gossamertypes.AccountData{ + Free: scale.MustNewUint128(transferAmount), + Reserved: scale.MustNewUint128(big.NewInt(0)), + MiscFrozen: scale.MustNewUint128(big.NewInt(0)), + FreeFrozen: scale.MustNewUint128(big.NewInt(0)), + }, + } + + bobAccountInfo := gossamertypes.AccountInfo{} + + err = scale.Unmarshal(bytesStorageBob, &bobAccountInfo) + assert.NoError(t, err) + + assert.Equal(t, expectedBobAccountInfo, bobAccountInfo) + + expectedAliceFreeBalance := big.NewInt(0).Sub( + balance, + big.NewInt(0). + Add(transferAmount, queryInfo.PartialFee.ToBigInt())) + expectedAliceAccountInfo := gossamertypes.AccountInfo{ + Nonce: 1, + Consumers: 0, + Producers: 0, + Sufficients: 0, + Data: gossamertypes.AccountData{ + Free: scale.MustNewUint128(expectedAliceFreeBalance), + Reserved: scale.MustNewUint128(big.NewInt(0)), + MiscFrozen: scale.MustNewUint128(big.NewInt(0)), + FreeFrozen: scale.MustNewUint128(big.NewInt(0)), + }, + } + + bytesAliceStorage := (*storage).Get(keyStorageAccountAlice) + err = scale.Unmarshal(bytesAliceStorage, &aliceAccountInfo) + assert.NoError(t, err) + + assert.Equal(t, expectedAliceAccountInfo, aliceAccountInfo) +} diff --git a/runtime/runtime_test.go b/runtime/runtime_test.go index 3a0ce584..2797f5c7 100644 --- a/runtime/runtime_test.go +++ b/runtime/runtime_test.go @@ -2,11 +2,13 @@ package main import ( "bytes" + "fmt" "math/big" "testing" gossamertypes "github.com/ChainSafe/gossamer/dot/types" "github.com/ChainSafe/gossamer/lib/common" + "github.com/ChainSafe/gossamer/lib/crypto/secp256k1" "github.com/ChainSafe/gossamer/lib/runtime" wazero_runtime "github.com/ChainSafe/gossamer/lib/runtime/wazero" "github.com/ChainSafe/gossamer/lib/trie" @@ -18,6 +20,7 @@ import ( ctypes "github.com/centrifuge/go-substrate-rpc-client/v4/types" "github.com/centrifuge/go-substrate-rpc-client/v4/types/codec" "github.com/stretchr/testify/assert" + "golang.org/x/crypto/blake2b" ) const POLKADOT_RUNTIME = "../build/polkadot_runtime-v9400.compact.compressed.wasm" @@ -193,3 +196,65 @@ func timestampExtrinsicBytes(t *testing.T, metadata *ctypes.Metadata, time uint6 return extEnc.Bytes() } + +func signExtrinsicSecp256k1(e *ctypes.Extrinsic, o ctypes.SignatureOptions, signer *secp256k1.Keypair) error { + if e.Type() != ctypes.ExtrinsicVersion4 { + return fmt.Errorf("unsupported extrinsic version: %v (isSigned: %v, type: %v)", e.Version, e.IsSigned(), e.Type()) + } + + mb, err := codec.Encode(e.Method) + if err != nil { + return err + } + + era := o.Era + if !o.Era.IsMortalEra { + era = ctypes.ExtrinsicEra{IsImmortalEra: true} + } + + payload := ctypes.ExtrinsicPayloadV4{ + ExtrinsicPayloadV3: ctypes.ExtrinsicPayloadV3{ + Method: mb, + Era: era, + Nonce: o.Nonce, + Tip: o.Tip, + SpecVersion: o.SpecVersion, + GenesisHash: o.GenesisHash, + BlockHash: o.BlockHash, + }, + TransactionVersion: o.TransactionVersion, + } + + b, err := codec.Encode(payload) + if err != nil { + return err + } + + digest := blake2b.Sum256(b) + sig, err := signer.Private().Sign(digest[:]) + if err != nil { + return err + } + + signerAddress := blake2b.Sum256(signer.Public().Encode()) + + a, err := ctypes.NewMultiAddressFromAccountID(signerAddress[:]) + if err != nil { + return err + } + + extSig := ctypes.ExtrinsicSignatureV4{ + Signer: a, + Signature: ctypes.MultiSignature{IsEcdsa: true, AsEcdsa: ctypes.NewEcdsaSignature(sig)}, + Era: era, + Nonce: o.Nonce, + Tip: o.Tip, + } + + e.Signature = extSig + + // mark the extrinsic as signed + e.Version |= ctypes.ExtrinsicBitSigned + + return nil +} From 002b79c271044e3992d064f992417e66e05d3379 Mon Sep 17 00:00:00 2001 From: failfmi Date: Fri, 24 Nov 2023 15:17:17 +0200 Subject: [PATCH 2/2] nit: clarify variables --- runtime/runtime_test.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/runtime/runtime_test.go b/runtime/runtime_test.go index 2797f5c7..c1fd6d5d 100644 --- a/runtime/runtime_test.go +++ b/runtime/runtime_test.go @@ -197,7 +197,7 @@ func timestampExtrinsicBytes(t *testing.T, metadata *ctypes.Metadata, time uint6 return extEnc.Bytes() } -func signExtrinsicSecp256k1(e *ctypes.Extrinsic, o ctypes.SignatureOptions, signer *secp256k1.Keypair) error { +func signExtrinsicSecp256k1(e *ctypes.Extrinsic, o ctypes.SignatureOptions, keyPair *secp256k1.Keypair) error { if e.Type() != ctypes.ExtrinsicVersion4 { return fmt.Errorf("unsupported extrinsic version: %v (isSigned: %v, type: %v)", e.Version, e.IsSigned(), e.Type()) } @@ -231,21 +231,21 @@ func signExtrinsicSecp256k1(e *ctypes.Extrinsic, o ctypes.SignatureOptions, sign } digest := blake2b.Sum256(b) - sig, err := signer.Private().Sign(digest[:]) + signature, err := keyPair.Private().Sign(digest[:]) if err != nil { return err } - signerAddress := blake2b.Sum256(signer.Public().Encode()) + signerAddress := blake2b.Sum256(keyPair.Public().Encode()) - a, err := ctypes.NewMultiAddressFromAccountID(signerAddress[:]) + signerMultiAddress, err := ctypes.NewMultiAddressFromAccountID(signerAddress[:]) if err != nil { return err } extSig := ctypes.ExtrinsicSignatureV4{ - Signer: a, - Signature: ctypes.MultiSignature{IsEcdsa: true, AsEcdsa: ctypes.NewEcdsaSignature(sig)}, + Signer: signerMultiAddress, + Signature: ctypes.MultiSignature{IsEcdsa: true, AsEcdsa: ctypes.NewEcdsaSignature(signature)}, Era: era, Nonce: o.Nonce, Tip: o.Tip,