github.com/Finschia/finschia-sdk@v0.48.1/proto/cosmos/tx/signing/v1beta1/signing.proto (about) 1 syntax = "proto3"; 2 package cosmos.tx.signing.v1beta1; 3 4 import "cosmos/crypto/multisig/v1beta1/multisig.proto"; 5 import "google/protobuf/any.proto"; 6 7 option go_package = "github.com/Finschia/finschia-sdk/types/tx/signing"; 8 9 // SignMode represents a signing mode with its own security guarantees. 10 enum SignMode { 11 // SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be 12 // rejected 13 SIGN_MODE_UNSPECIFIED = 0; 14 15 // SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is 16 // verified with raw bytes from Tx 17 SIGN_MODE_DIRECT = 1; 18 19 // SIGN_MODE_TEXTUAL is a future signing mode that will verify some 20 // human-readable textual representation on top of the binary representation 21 // from SIGN_MODE_DIRECT 22 SIGN_MODE_TEXTUAL = 2; 23 24 // SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses 25 // Amino JSON and will be removed in the future 26 SIGN_MODE_LEGACY_AMINO_JSON = 127; 27 28 // SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos 29 // SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 30 // 31 // Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, 32 // but is not implemented on the SDK by default. To enable EIP-191, you need 33 // to pass a custom `TxConfig` that has an implementation of 34 // `SignModeHandler` for EIP-191. The SDK may decide to fully support 35 // EIP-191 in the future. 36 // 37 // Since: cosmos-sdk 0.45.2 38 SIGN_MODE_EIP_191 = 191; 39 } 40 41 // SignatureDescriptors wraps multiple SignatureDescriptor's. 42 message SignatureDescriptors { 43 // signatures are the signature descriptors 44 repeated SignatureDescriptor signatures = 1; 45 } 46 47 // SignatureDescriptor is a convenience type which represents the full data for 48 // a signature including the public key of the signer, signing modes and the 49 // signature itself. It is primarily used for coordinating signatures between 50 // clients. 51 message SignatureDescriptor { 52 // public_key is the public key of the signer 53 google.protobuf.Any public_key = 1; 54 55 Data data = 2; 56 57 // sequence is the sequence of the account, which describes the 58 // number of committed transactions signed by a given address. It is used to prevent 59 // replay attacks. 60 uint64 sequence = 3; 61 62 // Data represents signature data 63 message Data { 64 // sum is the oneof that specifies whether this represents single or multi-signature data 65 oneof sum { 66 // single represents a single signer 67 Single single = 1; 68 69 // multi represents a multisig signer 70 Multi multi = 2; 71 } 72 73 // Single is the signature data for a single signer 74 message Single { 75 // mode is the signing mode of the single signer 76 SignMode mode = 1; 77 78 // signature is the raw signature bytes 79 bytes signature = 2; 80 } 81 82 // Multi is the signature data for a multisig public key 83 message Multi { 84 // bitarray specifies which keys within the multisig are signing 85 cosmos.crypto.multisig.v1beta1.CompactBitArray bitarray = 1; 86 87 // signatures is the signatures of the multi-signature 88 repeated Data signatures = 2; 89 } 90 } 91 }