@@ -126,7 +126,18 @@ SELECT
126126 'type', gov_action_proposal.type::text,
127127 'details', CASE
128128 when gov_action_proposal.type = 'TreasuryWithdrawals' then
129- json_build_object('Reward Address', stake_address.view, 'Amount', treasury_withdrawal.amount)
129+ (
130+ SELECT json_agg(
131+ jsonb_build_object(
132+ 'receivingAddress', stake_address.view,
133+ 'amount', treasury_withdrawal.amount
134+ )
135+ )
136+ FROM treasury_withdrawal
137+ LEFT JOIN stake_address
138+ ON stake_address.id = treasury_withdrawal.stake_address_id
139+ WHERE treasury_withdrawal.gov_action_proposal_id = gov_action_proposal.id
140+ )
130141 when gov_action_proposal.type::text = 'InfoAction' then
131142 json_build_object('data', gov_action_proposal.description)
132143 when gov_action_proposal.type::text = 'HardForkInitiation' then
@@ -185,7 +196,16 @@ SELECT
185196 'createdSlotNo', creator_block.slot_no,
186197 'url', voting_anchor.url,
187198 'metadataHash', encode(voting_anchor.data_hash, 'hex'),
188- 'protocolParams', ROW_TO_JSON(proposal_params),
199+ 'protocolParams', jsonb_set(
200+ ROW_TO_JSON(proposal_params)::jsonb,
201+ '{cost_model}',
202+ CASE
203+ WHEN cost_model.id IS NOT NULL THEN
204+ ROW_TO_JSON(cost_model)::jsonb
205+ ELSE
206+ 'null'::jsonb
207+ END
208+ ),
189209 'title', off_chain_vote_gov_action_data.title,
190210 'abstract', off_chain_vote_gov_action_data.abstract,
191211 'motivation', off_chain_vote_gov_action_data.motivation,
226246 JOIN block AS creator_block ON creator_block.id = creator_tx.block_id
227247 LEFT JOIN voting_anchor ON voting_anchor.id = gov_action_proposal.voting_anchor_id
228248 LEFT JOIN param_proposal as proposal_params ON gov_action_proposal.param_proposal = proposal_params.id
249+ LEFT JOIN cost_model AS cost_model ON proposal_params.cost_model_id = cost_model.id
229250 LEFT JOIN off_chain_vote_data ON off_chain_vote_data.voting_anchor_id = voting_anchor.id
230251 LEFT JOIN off_chain_vote_gov_action_data ON off_chain_vote_gov_action_data.off_chain_vote_data_id = off_chain_vote_data.id
231252 LEFT JOIN voting_procedure ON voting_procedure.gov_action_proposal_id = gov_action_proposal.id
@@ -300,6 +321,7 @@ GROUP BY
300321 epoch_utils.last_epoch_no,
301322 epoch_utils.last_epoch_end_time,
302323 proposal_params,
324+ cost_model.id,
303325 voting_anchor.url,
304326 voting_anchor.data_hash,
305327 always_no_confidence_voting_power.amount,
@@ -1155,7 +1177,16 @@ export const fetchProposalById = async (proposalId: string, proposaIndex: number
11551177 'createdSlotNo', creator_block.slot_no,
11561178 'url', voting_anchor.url,
11571179 'metadataHash', encode(voting_anchor.data_hash, 'hex'),
1158- 'protocolParams', ROW_TO_JSON(proposal_params),
1180+ 'protocolParams', jsonb_set(
1181+ ROW_TO_JSON(proposal_params)::jsonb,
1182+ '{cost_model}',
1183+ CASE
1184+ WHEN cost_model.id IS NOT NULL THEN
1185+ ROW_TO_JSON(cost_model)::jsonb
1186+ ELSE
1187+ 'null'::jsonb
1188+ END
1189+ ),
11591190 'title', off_chain_vote_gov_action_data.title,
11601191 'abstract', off_chain_vote_gov_action_data.abstract,
11611192 'motivation', off_chain_vote_gov_action_data.motivation,
@@ -1196,6 +1227,7 @@ export const fetchProposalById = async (proposalId: string, proposaIndex: number
11961227 JOIN block AS creator_block ON creator_block.id = creator_tx.block_id
11971228 LEFT JOIN voting_anchor ON voting_anchor.id = gov_action_proposal.voting_anchor_id
11981229 LEFT JOIN param_proposal as proposal_params ON gov_action_proposal.param_proposal = proposal_params.id
1230+ LEFT JOIN cost_model AS cost_model ON proposal_params.cost_model_id = cost_model.id
11991231 LEFT JOIN off_chain_vote_data ON off_chain_vote_data.voting_anchor_id = voting_anchor.id
12001232 LEFT JOIN off_chain_vote_gov_action_data ON off_chain_vote_gov_action_data.off_chain_vote_data_id = off_chain_vote_data.id
12011233 LEFT JOIN voting_procedure ON voting_procedure.gov_action_proposal_id = gov_action_proposal.id
@@ -1265,6 +1297,7 @@ export const fetchProposalById = async (proposalId: string, proposaIndex: number
12651297 epoch_utils.last_epoch_no,
12661298 epoch_utils.last_epoch_end_time,
12671299 proposal_params,
1300+ cost_model.id,
12681301 voting_anchor.url,
12691302 voting_anchor.data_hash,
12701303 always_no_confidence_voting_power.amount,
0 commit comments