github.com/0chain/gosdk@v1.17.11/zcnbridge/transaction/functions.go (about)

     1  package transaction
     2  
     3  // ZCNSC smart contract functions wrappers
     4  
     5  import (
     6  	"context"
     7  
     8  	"github.com/0chain/gosdk/zcncore"
     9  )
    10  
    11  // AddAuthorizer adds authorizer to the bridge
    12  //   - ctx is the context of the request.
    13  //   - input is the payload of the request.
    14  func AddAuthorizer(ctx context.Context, input *zcncore.AddAuthorizerPayload) (Transaction, error) {
    15  	t, err := NewTransactionEntity(0)
    16  	if err != nil {
    17  		return nil, err
    18  	}
    19  
    20  	scheme := t.GetScheme()
    21  
    22  	err = scheme.ZCNSCAddAuthorizer(input)
    23  	if err != nil {
    24  		return t, err
    25  	}
    26  
    27  	callBack := t.GetCallback()
    28  
    29  	err = callBack.WaitCompleteCall(ctx)
    30  	t.SetHash(scheme.Hash())
    31  	if err != nil {
    32  		return t, err
    33  	}
    34  
    35  	return t, nil
    36  }
    37  
    38  // AuthorizerHealthCheck performs health check of the authorizer
    39  //   - ctx is the context of the request.
    40  //   - input is the payload of the request.
    41  func AuthorizerHealthCheck(ctx context.Context, input *zcncore.AuthorizerHealthCheckPayload) (Transaction, error) {
    42  	t, err := NewTransactionEntity(0)
    43  	if err != nil {
    44  		return nil, err
    45  	}
    46  
    47  	scheme := t.GetScheme()
    48  
    49  	err = scheme.ZCNSCAuthorizerHealthCheck(input)
    50  	if err != nil {
    51  		return t, err
    52  	}
    53  
    54  	callBack := t.GetCallback()
    55  
    56  	err = callBack.WaitCompleteCall(ctx)
    57  	t.SetHash(scheme.Hash())
    58  	if err != nil {
    59  		return t, err
    60  	}
    61  
    62  	return t, nil
    63  }