Skip to content

Commit 8ec726b

Browse files
authored
fix: remove signer columns from tenure-change transactions (#1845)
1 parent 8533bef commit 8ec726b

File tree

10 files changed

+44
-56
lines changed

10 files changed

+44
-56
lines changed

docs/entities/transactions/transaction-7-tenure-change-metadata.schema.json

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"tenure_change_payload": {
1313
"type": "object",
1414
"additionalProperties": false,
15-
"required": ["tenure_consensus_hash", "prev_tenure_consensus_hash", "burn_view_consensus_hash", "previous_tenure_end", "previous_tenure_blocks", "cause", "pubkey_hash", "signature", "signers"],
15+
"required": ["tenure_consensus_hash", "prev_tenure_consensus_hash", "burn_view_consensus_hash", "previous_tenure_end", "previous_tenure_blocks", "cause", "pubkey_hash"],
1616
"properties": {
1717
"tenure_consensus_hash": {
1818
"type": "string",
@@ -42,14 +42,6 @@
4242
"pubkey_hash": {
4343
"type": "string",
4444
"description": "(Hex string) The ECDSA public key hash of the current tenure."
45-
},
46-
"signature": {
47-
"type": "string",
48-
"description": "(Hex string) A Schnorr signature from the Stackers."
49-
},
50-
"signers": {
51-
"type": "string",
52-
"description": "(Hex string) A bitmap of which Stackers signed."
5345
}
5446
}
5547
}

docs/generated.d.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1134,14 +1134,6 @@ export interface TenureChangeTransactionMetadata {
11341134
* (Hex string) The ECDSA public key hash of the current tenure.
11351135
*/
11361136
pubkey_hash: string;
1137-
/**
1138-
* (Hex string) A Schnorr signature from the Stackers.
1139-
*/
1140-
signature: string;
1141-
/**
1142-
* (Hex string) A bitmap of which Stackers signed.
1143-
*/
1144-
signers: string;
11451137
};
11461138
}
11471139
/**
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/* eslint-disable camelcase */
2+
3+
exports.shorthands = undefined;
4+
5+
exports.up = pgm => {
6+
pgm.dropConstraint('txs', 'valid_tenure-change');
7+
pgm.dropColumns('txs', ['tenure_change_signature', 'tenure_change_signers']);
8+
pgm.addConstraint('txs', 'valid_tenure-change', `CHECK (type_id != 7 OR (
9+
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
10+
))`);
11+
12+
pgm.dropConstraint('mempool_txs', 'valid_tenure-change');
13+
pgm.dropColumns('mempool_txs', ['tenure_change_signature', 'tenure_change_signers']);
14+
pgm.addConstraint('mempool_txs', 'valid_tenure-change', `CHECK (type_id != 7 OR (
15+
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
16+
))`);
17+
};
18+
19+
exports.down = pgm => {
20+
pgm.dropConstraint('txs', 'valid_tenure-change');
21+
pgm.addColumns('txs', {
22+
tenure_change_signature: 'bytea',
23+
tenure_change_signers: 'bytea',
24+
});
25+
pgm.addConstraint('txs', 'valid_tenure-change', `CHECK (type_id != 7 OR (
26+
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
27+
))`);
28+
29+
pgm.dropConstraint('mempool_txs', 'valid_tenure-change');
30+
pgm.addColumns('mempool_txs', {
31+
tenure_change_signature: 'bytea',
32+
tenure_change_signers: 'bytea',
33+
});
34+
pgm.addConstraint('mempool_txs', 'valid_tenure-change', `CHECK (type_id != 7 OR (
35+
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
36+
))`);
37+
};

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@
138138
"socket.io": "4.6.1",
139139
"source-map-support": "0.5.21",
140140
"split2": "3.2.2",
141-
"stacks-encoding-native-js": "1.1.0-beta.4",
141+
"stacks-encoding-native-js": "1.1.0-beta.5",
142142
"strict-event-emitter-types": "2.0.0",
143143
"tiny-secp256k1": "2.2.1",
144144
"ts-unused-exports": "7.0.3",

src/api/controllers/db-controller.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import {
1616
AbstractTransaction,
1717
BaseTransaction,
1818
Block,
19-
BurnBlock,
2019
CoinbaseTransactionMetadata,
2120
ContractCallTransactionMetadata,
2221
MempoolTransaction,
@@ -972,14 +971,6 @@ function parseDbTxTypeMetadata(dbTx: DbTx | DbMempoolTx): TransactionMetadata {
972971
dbTx.tenure_change_pubkey_hash,
973972
() => 'Unexpected nullish tenure_change_pubkey_hash'
974973
),
975-
signature: unwrapOptional(
976-
dbTx.tenure_change_signature,
977-
() => 'Unexpected nullish tenure_change_signature'
978-
),
979-
signers: unwrapOptional(
980-
dbTx.tenure_change_signers,
981-
() => 'Unexpected nullish tenure_change_signers'
982-
),
983974
},
984975
};
985976
return metadata;

src/datastore/common.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,6 @@ export interface BaseTx {
160160
tenure_change_previous_tenure_blocks?: number;
161161
tenure_change_cause?: number;
162162
tenure_change_pubkey_hash?: string;
163-
tenure_change_signature?: string;
164-
tenure_change_signers?: string;
165163
}
166164

167165
export interface DbTx extends BaseTx {
@@ -881,8 +879,6 @@ export interface MempoolTxQueryResult {
881879
tenure_change_previous_tenure_blocks?: number;
882880
tenure_change_cause?: number;
883881
tenure_change_pubkey_hash: string;
884-
tenure_change_signature?: string;
885-
tenure_change_signers?: string;
886882

887883
// sending abi in case tx is contract call
888884
abi: unknown | null;
@@ -955,8 +951,6 @@ export interface TxQueryResult {
955951
tenure_change_previous_tenure_blocks?: number;
956952
tenure_change_cause?: number;
957953
tenure_change_pubkey_hash: string;
958-
tenure_change_signature?: string;
959-
tenure_change_signers?: string;
960954

961955
// events count
962956
event_count: number;
@@ -1084,8 +1078,6 @@ export interface TxInsertValues {
10841078
tenure_change_previous_tenure_blocks: number | null;
10851079
tenure_change_cause: number | null;
10861080
tenure_change_pubkey_hash: string | null;
1087-
tenure_change_signature: string | null;
1088-
tenure_change_signers: string | null;
10891081
raw_result: PgBytea;
10901082
event_count: number;
10911083
execution_cost_read_count: number;
@@ -1133,8 +1125,6 @@ export interface MempoolTxInsertValues {
11331125
tenure_change_previous_tenure_blocks: number | null;
11341126
tenure_change_cause: number | null;
11351127
tenure_change_pubkey_hash: string | null;
1136-
tenure_change_signature: string | null;
1137-
tenure_change_signers: string | null;
11381128
}
11391129

11401130
export interface BlockInsertValues {

src/datastore/helpers.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,6 @@ export const TX_COLUMNS = [
114114
'tenure_change_previous_tenure_blocks',
115115
'tenure_change_cause',
116116
'tenure_change_pubkey_hash',
117-
'tenure_change_signature',
118-
'tenure_change_signers',
119117
'raw_result',
120118
'event_count',
121119
'execution_cost_read_count',
@@ -162,8 +160,6 @@ export const MEMPOOL_TX_COLUMNS = [
162160
'tenure_change_previous_tenure_blocks',
163161
'tenure_change_cause',
164162
'tenure_change_pubkey_hash',
165-
'tenure_change_signature',
166-
'tenure_change_signers',
167163
];
168164

169165
export const BLOCK_COLUMNS = [
@@ -409,8 +405,6 @@ function parseTxTypeSpecificQueryResult(
409405
target.tenure_change_previous_tenure_blocks = result.tenure_change_previous_tenure_blocks;
410406
target.tenure_change_cause = result.tenure_change_cause;
411407
target.tenure_change_pubkey_hash = result.tenure_change_pubkey_hash;
412-
target.tenure_change_signature = result.tenure_change_signature;
413-
target.tenure_change_signers = result.tenure_change_signers;
414408
} else {
415409
throw new Error(`Received unexpected tx type_id from db query: ${target.type_id}`);
416410
}
@@ -1069,8 +1063,6 @@ function extractTransactionPayload(txData: DecodedTxResult, dbTx: DbTx | DbMempo
10691063
dbTx.tenure_change_previous_tenure_blocks = txData.payload.previous_tenure_blocks;
10701064
dbTx.tenure_change_cause = txData.payload.cause;
10711065
dbTx.tenure_change_pubkey_hash = txData.payload.pubkey_hash;
1072-
dbTx.tenure_change_signature = txData.payload.signature;
1073-
dbTx.tenure_change_signers = txData.payload.signers;
10741066
break;
10751067
}
10761068
default:

src/datastore/pg-write-store.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1616,8 +1616,6 @@ export class PgWriteStore extends PgStore {
16161616
tenure_change_previous_tenure_blocks: tx.tenure_change_previous_tenure_blocks ?? null,
16171617
tenure_change_cause: tx.tenure_change_cause ?? null,
16181618
tenure_change_pubkey_hash: tx.tenure_change_pubkey_hash ?? null,
1619-
tenure_change_signature: tx.tenure_change_signature ?? null,
1620-
tenure_change_signers: tx.tenure_change_signers ?? null,
16211619
raw_result: tx.raw_result,
16221620
event_count: tx.event_count,
16231621
execution_cost_read_count: tx.execution_cost_read_count,
@@ -1684,8 +1682,6 @@ export class PgWriteStore extends PgStore {
16841682
tenure_change_previous_tenure_blocks: tx.tenure_change_previous_tenure_blocks ?? null,
16851683
tenure_change_cause: tx.tenure_change_cause ?? null,
16861684
tenure_change_pubkey_hash: tx.tenure_change_pubkey_hash ?? null,
1687-
tenure_change_signature: tx.tenure_change_signature ?? null,
1688-
tenure_change_signers: tx.tenure_change_signers ?? null,
16891685
}));
16901686

16911687
// Revive mempool txs that were previously dropped
@@ -2996,8 +2992,6 @@ export class PgWriteStore extends PgStore {
29962992
tenure_change_previous_tenure_blocks: tx.tenure_change_previous_tenure_blocks ?? null,
29972993
tenure_change_cause: tx.tenure_change_cause ?? null,
29982994
tenure_change_pubkey_hash: tx.tenure_change_pubkey_hash ?? null,
2999-
tenure_change_signature: tx.tenure_change_signature ?? null,
3000-
tenure_change_signers: tx.tenure_change_signers ?? null,
30012995
raw_result: tx.raw_result,
30022996
event_count: tx.event_count,
30032997
execution_cost_read_count: tx.execution_cost_read_count,

src/event-stream/reader.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -823,7 +823,7 @@ export function parseMessageTransaction(
823823
}
824824
case TxPayloadTypeID.TenureChange: {
825825
logger.debug(
826-
`Tenure change: cause=${payload.cause}, prev_tenure_blocks=${payload.previous_tenure_blocks}, prev_tenure_block=${payload.previous_tenure_end}, signers=${payload.signers},`
826+
`Tenure change: cause=${payload.cause}, prev_tenure_blocks=${payload.previous_tenure_blocks}, prev_tenure_block=${payload.previous_tenure_end},`
827827
);
828828
break;
829829
}

0 commit comments

Comments
 (0)