Ledger-side credit and withdrawal-intent paths
This commit is contained in:
@@ -171,9 +171,13 @@ async function readReviewSubject(client: PoolClient, walletFingerprint: string,
|
||||
if (allocation.rowCount !== 1) throw new Error('Deposit output has no unique registered beneficiary allocation');
|
||||
const identity = await client.query("SELECT value FROM wk_custody.custody_meta WHERE key='identity'");
|
||||
if (identity.rowCount !== 1) throw new Error('Custodian identity is unavailable');
|
||||
const custodian = JSON.parse(identity.rows[0].value) as { id?: string; network?: string; chainId?: string; mode?: string };
|
||||
const custodian = JSON.parse(identity.rows[0].value) as { id?: string; network?: string; chainId?: string; mode?: string; policy?: string };
|
||||
const mapped = allocation.rows[0];
|
||||
if (custodian.mode !== 'sandbox' || mapped.custodian_id !== custodian.id || mapped.market_network !== custodian.network ||
|
||||
const validIdentity = (custodian.mode === 'sandbox' && custodian.network === 'wikideck-randomx-testnet-6' &&
|
||||
custodian.policy === 'custody-sandbox-v1' && mapped.market_network === 'wikideck-randomx-testnet-6') ||
|
||||
(custodian.mode === 'mainnet-custody' && custodian.network === 'wikideck-randomx-mainnet-1' &&
|
||||
custodian.policy === 'custody-mainnet-v1' && mapped.market_network === 'wikideck-randomx-mainnet-1');
|
||||
if (!validIdentity || mapped.custodian_id !== custodian.id || mapped.market_network !== custodian.network ||
|
||||
mapped.market_chain_id !== custodian.chainId) throw new Error('Deposit allocation is outside this custody identity');
|
||||
|
||||
const events = await client.query(`SELECT sequence,event_type,payload_digest,wallet_height,observed_at
|
||||
|
||||
Reference in New Issue
Block a user