@@ -10,20 +10,21 @@ import (
1010)
1111
1212const (
13- resourceTxs = "txs"
14- resourceTx = "tx"
15- resourceTxStakes = "stakes"
16- resourceTxUTXOs = "utxos"
17- resourceTxWithdrawals = "withdrawals"
18- resourceTxMetadata = "metadata"
19- resourceTxRedeemers = "redeemers"
20- resourceCbor = "cbor"
21- resourceTxDelegations = "delegations"
22- resourceTxPoolUpdates = "pool_updates"
23- resourceTxPoolRetires = "pool_retires"
24- resourceTxSubmit = "submit"
25- resourceTxEvaluate = "utils/txs/evaluate"
26- resourceTxEvaluateUtxos = "utils/txs/evaluate/utxos"
13+ resourceTxs = "txs"
14+ resourceTx = "tx"
15+ resourceTxStakes = "stakes"
16+ resourceTxUTXOs = "utxos"
17+ resourceTxWithdrawals = "withdrawals"
18+ resourceTxMetadata = "metadata"
19+ resourceTxRedeemers = "redeemers"
20+ resourceTxRequiredSigners = "required_signers"
21+ resourceCbor = "cbor"
22+ resourceTxDelegations = "delegations"
23+ resourceTxPoolUpdates = "pool_updates"
24+ resourceTxPoolRetires = "pool_retires"
25+ resourceTxSubmit = "submit"
26+ resourceTxEvaluate = "utils/txs/evaluate"
27+ resourceTxEvaluateUtxos = "utils/txs/evaluate/utxos"
2728)
2829
2930type TransactionContent struct {
@@ -284,6 +285,10 @@ type TransactionRedeemer struct {
284285 Fee string `json:"fee"`
285286}
286287
288+ type TransactionRequiredSigner struct {
289+ WitnessHash string `json:"witness_hash"`
290+ }
291+
287292type Quantity string
288293
289294type Value struct {
@@ -563,6 +568,26 @@ func (c *apiClient) TransactionPoolRetirementCerts(ctx context.Context, hash str
563568 return tcs , nil
564569}
565570
571+ func (c * apiClient ) TransactionRequiredSigners (ctx context.Context , hash string ) (tm []TransactionRequiredSigner , err error ) {
572+ requestUrl , err := url .Parse (fmt .Sprintf ("%s/%s/%s/%s" , c .server , resourceTxs , hash , resourceTxRequiredSigners ))
573+ if err != nil {
574+ return
575+ }
576+ req , err := http .NewRequestWithContext (ctx , http .MethodGet , requestUrl .String (), nil )
577+ if err != nil {
578+ return
579+ }
580+ res , err := c .handleRequest (req )
581+ if err != nil {
582+ return
583+ }
584+ defer res .Body .Close ()
585+ if err = json .NewDecoder (res .Body ).Decode (& tm ); err != nil {
586+ return
587+ }
588+ return tm , nil
589+ }
590+
566591func (c * apiClient ) TransactionSubmit (ctx context.Context , cbor []byte ) (hash string , err error ) {
567592 requestUrl , err := url .Parse (fmt .Sprintf ("%s/%s/%s" , c .server , resourceTx , resourceTxSubmit ))
568593 if err != nil {
0 commit comments