mirror of
https://github.com/corda/corda.git
synced 2025-04-16 07:27:17 +00:00
CORDA-2232 external id to pub key mapping - fixes
Fixes in PersistentKeyManagementService.kt, VaultSchema.kt, and vault-schema.changelog-v8.xml. (#4295)
This commit is contained in:
parent
88fbb47f67
commit
d399e3c242
@ -102,6 +102,10 @@ By default, the node database has the following tables:
|
||||
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| NODE_TRANSACTIONS | TX_ID, TRANSACTION_VALUE, STATE_MACHINE_RUN_ID |
|
||||
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| PK_HASH_TO_EXT_ID_MAP | ID, EXTERNAL_ID, PUBLIC_KEY_HASH |
|
||||
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| STATE_PARTY | OUTPUT_INDEX, TRANSACTION_ID, ID, PUBLIC_KEY_HASH, X500_NAME |
|
||||
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| VAULT_FUNGIBLE_STATES | OUTPUT_INDEX, TRANSACTION_ID, ISSUER_NAME, ISSUER_REF, OWNER_NAME, QUANTITY |
|
||||
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| VAULT_FUNGIBLE_STATES_PARTS | OUTPUT_INDEX, TRANSACTION_ID, PARTICIPANTS |
|
||||
@ -114,3 +118,5 @@ By default, the node database has the following tables:
|
||||
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| VAULT_TRANSACTION_NOTES | SEQ_NO, NOTE, TRANSACTION_ID |
|
||||
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| V_PKEY_HASH_EX_ID_MAP | ID, PUBLIC_KEY_HASH, TRANSACTION_ID, OUTPUT_INDEX, EXTERNAL_ID |
|
||||
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
@ -11,6 +11,7 @@ import net.corda.nodeapi.internal.persistence.CordaPersistence
|
||||
import net.corda.nodeapi.internal.persistence.NODE_DATABASE_PREFIX
|
||||
import org.apache.commons.lang.ArrayUtils.EMPTY_BYTE_ARRAY
|
||||
import org.bouncycastle.operator.ContentSigner
|
||||
import org.hibernate.annotations.Type
|
||||
import java.security.KeyPair
|
||||
import java.security.PrivateKey
|
||||
import java.security.PublicKey
|
||||
@ -50,13 +51,14 @@ class PersistentKeyManagementService(cacheFactory: NamedCacheFactory, val identi
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "id", unique = true, nullable = false)
|
||||
var key: Long? = null,
|
||||
val key: Long?,
|
||||
|
||||
@Column(name = "external_id", nullable = false)
|
||||
var externalId: UUID,
|
||||
@Type(type = "uuid-char")
|
||||
val externalId: UUID,
|
||||
|
||||
@Column(name = "public_key_hash", nullable = false)
|
||||
var publicKeyHash: String
|
||||
val publicKeyHash: String
|
||||
) {
|
||||
constructor(accountId: UUID, publicKey: PublicKey)
|
||||
: this(null, accountId, publicKey.toStringShort())
|
||||
|
@ -167,14 +167,14 @@ object VaultSchemaV1 : MappedSchema(
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "id", unique = true, nullable = false)
|
||||
var id: Long? = null,
|
||||
val id: Long?,
|
||||
|
||||
// Foreign key.
|
||||
@Column(name = "state_ref")
|
||||
var stateRef: PersistentStateRef,
|
||||
val stateRef: PersistentStateRef,
|
||||
|
||||
@Column(name = "public_key_hash", nullable = false)
|
||||
var publicKeyHash: String,
|
||||
val publicKeyHash: String,
|
||||
|
||||
@Column(name = "x500_name", nullable = true)
|
||||
var x500Name: AbstractParty? = null
|
||||
@ -190,17 +190,18 @@ object VaultSchemaV1 : MappedSchema(
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name = "id", unique = true, nullable = false)
|
||||
var id: Long? = null,
|
||||
val id: Long,
|
||||
|
||||
// Foreign key.
|
||||
@Column(name = "state_ref")
|
||||
var stateRef: PersistentStateRef,
|
||||
val stateRef: PersistentStateRef,
|
||||
|
||||
@Column(name = "public_key_hash")
|
||||
var publicKeyHash: String,
|
||||
val publicKeyHash: String,
|
||||
|
||||
@Column(name = "external_id")
|
||||
var externalId: UUID
|
||||
@Type(type = "uuid-char")
|
||||
val externalId: UUID
|
||||
) : StatePersistable
|
||||
}
|
||||
|
||||
|
@ -6,17 +6,27 @@
|
||||
<createTable tableName="state_party">
|
||||
<column name="output_index" type="INT"/>
|
||||
<column name="transaction_id" type="NVARCHAR(64)"/>
|
||||
<column name="id" type="INT"/>
|
||||
<column name="public_key_hash" type="NVARCHAR(255)"/>
|
||||
<column name="id" type="BIGINT">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="public_key_hash" type="NVARCHAR(255)">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="x500_name" type="NVARCHAR(255)"/>
|
||||
</createTable>
|
||||
<createIndex indexName="state_pk_hash_idx" tableName="state_party">
|
||||
<column name="public_key_hash"/>
|
||||
</createIndex>
|
||||
<createTable tableName="pk_hash_to_ext_id_map">
|
||||
<column name="id" type="INT"/>
|
||||
<column name="external_id" type="NVARCHAR(255)"/>
|
||||
<column name="public_key_hash" type="NVARCHAR(255)"/>
|
||||
<column name="id" type="BIGINT">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="external_id" type="VARCHAR(255)">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="public_key_hash" type="NVARCHAR(255)">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
</createTable>
|
||||
<createIndex indexName="pk_hash_to_xid_idx" tableName="pk_hash_to_ext_id_map">
|
||||
<column name="public_key_hash"/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user