Skip to content

Commit

Permalink
fix: remove signer columns from tenure-change transactions (#1845)
Browse files Browse the repository at this point in the history
  • Loading branch information
rafaelcr authored Jan 26, 2024
1 parent 8533bef commit 8ec726b
Show file tree
Hide file tree
Showing 10 changed files with 44 additions and 56 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"tenure_change_payload": {
"type": "object",
"additionalProperties": false,
"required": ["tenure_consensus_hash", "prev_tenure_consensus_hash", "burn_view_consensus_hash", "previous_tenure_end", "previous_tenure_blocks", "cause", "pubkey_hash", "signature", "signers"],
"required": ["tenure_consensus_hash", "prev_tenure_consensus_hash", "burn_view_consensus_hash", "previous_tenure_end", "previous_tenure_blocks", "cause", "pubkey_hash"],
"properties": {
"tenure_consensus_hash": {
"type": "string",
Expand Down Expand Up @@ -42,14 +42,6 @@
"pubkey_hash": {
"type": "string",
"description": "(Hex string) The ECDSA public key hash of the current tenure."
},
"signature": {
"type": "string",
"description": "(Hex string) A Schnorr signature from the Stackers."
},
"signers": {
"type": "string",
"description": "(Hex string) A bitmap of which Stackers signed."
}
}
}
Expand Down
8 changes: 0 additions & 8 deletions docs/generated.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1134,14 +1134,6 @@ export interface TenureChangeTransactionMetadata {
* (Hex string) The ECDSA public key hash of the current tenure.
*/
pubkey_hash: string;
/**
* (Hex string) A Schnorr signature from the Stackers.
*/
signature: string;
/**
* (Hex string) A bitmap of which Stackers signed.
*/
signers: string;
};
}
/**
Expand Down
37 changes: 37 additions & 0 deletions migrations/1706115578711_remove-tenure-change-signers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/* eslint-disable camelcase */

exports.shorthands = undefined;

exports.up = pgm => {
pgm.dropConstraint('txs', 'valid_tenure-change');
pgm.dropColumns('txs', ['tenure_change_signature', 'tenure_change_signers']);
pgm.addConstraint('txs', 'valid_tenure-change', `CHECK (type_id != 7 OR (
NOT (tenure_change_tenure_consensus_hash, tenure_change_prev_tenure_consensus_hash, tenure_change_burn_view_consensus_hash, tenure_change_previous_tenure_end, tenure_change_previous_tenure_blocks, tenure_change_cause, tenure_change_pubkey_hash) IS NULL
))`);

pgm.dropConstraint('mempool_txs', 'valid_tenure-change');
pgm.dropColumns('mempool_txs', ['tenure_change_signature', 'tenure_change_signers']);
pgm.addConstraint('mempool_txs', 'valid_tenure-change', `CHECK (type_id != 7 OR (
NOT (tenure_change_tenure_consensus_hash, tenure_change_prev_tenure_consensus_hash, tenure_change_burn_view_consensus_hash, tenure_change_previous_tenure_end, tenure_change_previous_tenure_blocks, tenure_change_cause, tenure_change_pubkey_hash) IS NULL
))`);
};

exports.down = pgm => {
pgm.dropConstraint('txs', 'valid_tenure-change');
pgm.addColumns('txs', {
tenure_change_signature: 'bytea',
tenure_change_signers: 'bytea',
});
pgm.addConstraint('txs', 'valid_tenure-change', `CHECK (type_id != 7 OR (
NOT (tenure_change_tenure_consensus_hash, tenure_change_prev_tenure_consensus_hash, tenure_change_burn_view_consensus_hash, tenure_change_previous_tenure_end, tenure_change_previous_tenure_blocks, tenure_change_cause, tenure_change_pubkey_hash, tenure_change_signature, tenure_change_signers) IS NULL
))`);

pgm.dropConstraint('mempool_txs', 'valid_tenure-change');
pgm.addColumns('mempool_txs', {
tenure_change_signature: 'bytea',
tenure_change_signers: 'bytea',
});
pgm.addConstraint('mempool_txs', 'valid_tenure-change', `CHECK (type_id != 7 OR (
NOT (tenure_change_tenure_consensus_hash, tenure_change_prev_tenure_consensus_hash, tenure_change_burn_view_consensus_hash, tenure_change_previous_tenure_end, tenure_change_previous_tenure_blocks, tenure_change_cause, tenure_change_pubkey_hash, tenure_change_signature, tenure_change_signers) IS NULL
))`);
};
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@
"socket.io": "4.6.1",
"source-map-support": "0.5.21",
"split2": "3.2.2",
"stacks-encoding-native-js": "1.1.0-beta.4",
"stacks-encoding-native-js": "1.1.0-beta.5",
"strict-event-emitter-types": "2.0.0",
"tiny-secp256k1": "2.2.1",
"ts-unused-exports": "7.0.3",
Expand Down
9 changes: 0 additions & 9 deletions src/api/controllers/db-controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import {
AbstractTransaction,
BaseTransaction,
Block,
BurnBlock,
CoinbaseTransactionMetadata,
ContractCallTransactionMetadata,
MempoolTransaction,
Expand Down Expand Up @@ -972,14 +971,6 @@ function parseDbTxTypeMetadata(dbTx: DbTx | DbMempoolTx): TransactionMetadata {
dbTx.tenure_change_pubkey_hash,
() => 'Unexpected nullish tenure_change_pubkey_hash'
),
signature: unwrapOptional(
dbTx.tenure_change_signature,
() => 'Unexpected nullish tenure_change_signature'
),
signers: unwrapOptional(
dbTx.tenure_change_signers,
() => 'Unexpected nullish tenure_change_signers'
),
},
};
return metadata;
Expand Down
10 changes: 0 additions & 10 deletions src/datastore/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,6 @@ export interface BaseTx {
tenure_change_previous_tenure_blocks?: number;
tenure_change_cause?: number;
tenure_change_pubkey_hash?: string;
tenure_change_signature?: string;
tenure_change_signers?: string;
}

export interface DbTx extends BaseTx {
Expand Down Expand Up @@ -881,8 +879,6 @@ export interface MempoolTxQueryResult {
tenure_change_previous_tenure_blocks?: number;
tenure_change_cause?: number;
tenure_change_pubkey_hash: string;
tenure_change_signature?: string;
tenure_change_signers?: string;

// sending abi in case tx is contract call
abi: unknown | null;
Expand Down Expand Up @@ -955,8 +951,6 @@ export interface TxQueryResult {
tenure_change_previous_tenure_blocks?: number;
tenure_change_cause?: number;
tenure_change_pubkey_hash: string;
tenure_change_signature?: string;
tenure_change_signers?: string;

// events count
event_count: number;
Expand Down Expand Up @@ -1084,8 +1078,6 @@ export interface TxInsertValues {
tenure_change_previous_tenure_blocks: number | null;
tenure_change_cause: number | null;
tenure_change_pubkey_hash: string | null;
tenure_change_signature: string | null;
tenure_change_signers: string | null;
raw_result: PgBytea;
event_count: number;
execution_cost_read_count: number;
Expand Down Expand Up @@ -1133,8 +1125,6 @@ export interface MempoolTxInsertValues {
tenure_change_previous_tenure_blocks: number | null;
tenure_change_cause: number | null;
tenure_change_pubkey_hash: string | null;
tenure_change_signature: string | null;
tenure_change_signers: string | null;
}

export interface BlockInsertValues {
Expand Down
8 changes: 0 additions & 8 deletions src/datastore/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,6 @@ export const TX_COLUMNS = [
'tenure_change_previous_tenure_blocks',
'tenure_change_cause',
'tenure_change_pubkey_hash',
'tenure_change_signature',
'tenure_change_signers',
'raw_result',
'event_count',
'execution_cost_read_count',
Expand Down Expand Up @@ -162,8 +160,6 @@ export const MEMPOOL_TX_COLUMNS = [
'tenure_change_previous_tenure_blocks',
'tenure_change_cause',
'tenure_change_pubkey_hash',
'tenure_change_signature',
'tenure_change_signers',
];

export const BLOCK_COLUMNS = [
Expand Down Expand Up @@ -409,8 +405,6 @@ function parseTxTypeSpecificQueryResult(
target.tenure_change_previous_tenure_blocks = result.tenure_change_previous_tenure_blocks;
target.tenure_change_cause = result.tenure_change_cause;
target.tenure_change_pubkey_hash = result.tenure_change_pubkey_hash;
target.tenure_change_signature = result.tenure_change_signature;
target.tenure_change_signers = result.tenure_change_signers;
} else {
throw new Error(`Received unexpected tx type_id from db query: ${target.type_id}`);
}
Expand Down Expand Up @@ -1069,8 +1063,6 @@ function extractTransactionPayload(txData: DecodedTxResult, dbTx: DbTx | DbMempo
dbTx.tenure_change_previous_tenure_blocks = txData.payload.previous_tenure_blocks;
dbTx.tenure_change_cause = txData.payload.cause;
dbTx.tenure_change_pubkey_hash = txData.payload.pubkey_hash;
dbTx.tenure_change_signature = txData.payload.signature;
dbTx.tenure_change_signers = txData.payload.signers;
break;
}
default:
Expand Down
6 changes: 0 additions & 6 deletions src/datastore/pg-write-store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1616,8 +1616,6 @@ export class PgWriteStore extends PgStore {
tenure_change_previous_tenure_blocks: tx.tenure_change_previous_tenure_blocks ?? null,
tenure_change_cause: tx.tenure_change_cause ?? null,
tenure_change_pubkey_hash: tx.tenure_change_pubkey_hash ?? null,
tenure_change_signature: tx.tenure_change_signature ?? null,
tenure_change_signers: tx.tenure_change_signers ?? null,
raw_result: tx.raw_result,
event_count: tx.event_count,
execution_cost_read_count: tx.execution_cost_read_count,
Expand Down Expand Up @@ -1684,8 +1682,6 @@ export class PgWriteStore extends PgStore {
tenure_change_previous_tenure_blocks: tx.tenure_change_previous_tenure_blocks ?? null,
tenure_change_cause: tx.tenure_change_cause ?? null,
tenure_change_pubkey_hash: tx.tenure_change_pubkey_hash ?? null,
tenure_change_signature: tx.tenure_change_signature ?? null,
tenure_change_signers: tx.tenure_change_signers ?? null,
}));

// Revive mempool txs that were previously dropped
Expand Down Expand Up @@ -2996,8 +2992,6 @@ export class PgWriteStore extends PgStore {
tenure_change_previous_tenure_blocks: tx.tenure_change_previous_tenure_blocks ?? null,
tenure_change_cause: tx.tenure_change_cause ?? null,
tenure_change_pubkey_hash: tx.tenure_change_pubkey_hash ?? null,
tenure_change_signature: tx.tenure_change_signature ?? null,
tenure_change_signers: tx.tenure_change_signers ?? null,
raw_result: tx.raw_result,
event_count: tx.event_count,
execution_cost_read_count: tx.execution_cost_read_count,
Expand Down
2 changes: 1 addition & 1 deletion src/event-stream/reader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -823,7 +823,7 @@ export function parseMessageTransaction(
}
case TxPayloadTypeID.TenureChange: {
logger.debug(
`Tenure change: cause=${payload.cause}, prev_tenure_blocks=${payload.previous_tenure_blocks}, prev_tenure_block=${payload.previous_tenure_end}, signers=${payload.signers},`
`Tenure change: cause=${payload.cause}, prev_tenure_blocks=${payload.previous_tenure_blocks}, prev_tenure_block=${payload.previous_tenure_end},`
);
break;
}
Expand Down

0 comments on commit 8ec726b

Please sign in to comment.