/*
Lethean Blockchain API

OpenAPI for Lethean Blockchain

API version: 6.0.1
*/

// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.

package lthn

import (
	"encoding/json"
)

// checks if the TxGenerationContextModel type satisfies the MappedNullable interface at compile time
var _ MappedNullable = &TxGenerationContextModel{}

// TxGenerationContextModel struct for TxGenerationContextModel
type TxGenerationContextModel struct {
	AssetIds []string `json:"asset_ids,omitempty"`
	BlindedAssetIds []string `json:"blinded_asset_ids,omitempty"`
	AmountCommitments []string `json:"amount_commitments,omitempty"`
	AssetIdBlindingMasks []string `json:"asset_id_blinding_masks,omitempty"`
	Amounts []string `json:"amounts,omitempty"`
	AmountBlindingMasks []string `json:"amount_blinding_masks,omitempty"`
	PseudoOutsBlindedAssetIds []string `json:"pseudo_outs_blinded_asset_ids,omitempty"`
	PseudoOutsPlusRealOutBlindingMasks []string `json:"pseudo_outs_plus_real_out_blinding_masks,omitempty"`
	RealZcInsAssetIds []string `json:"real_zc_ins_asset_ids,omitempty"`
	ZcInputAmounts []int32 `json:"zc_input_amounts,omitempty"`
	PseudoOutAmountCommitmentsSum *string `json:"pseudo_out_amount_commitments_sum,omitempty"`
	PseudoOutAmountBlindingMasksSum *string `json:"pseudo_out_amount_blinding_masks_sum,omitempty"`
	RealInAssetIdBlindingMaskXAmountSum *string `json:"real_in_asset_id_blinding_mask_x_amount_sum,omitempty"`
	AmountCommitmentsSum *string `json:"amount_commitments_sum,omitempty"`
	AmountBlindingMasksSum *string `json:"amount_blinding_masks_sum,omitempty"`
	AssetIdBlindingMaskXAmountSum *string `json:"asset_id_blinding_mask_x_amount_sum,omitempty"`
	AoAssetId *string `json:"ao_asset_id,omitempty"`
	AoAssetIdPt *string `json:"ao_asset_id_pt,omitempty"`
	AoAmountCommitment *string `json:"ao_amount_commitment,omitempty"`
	AoAmountBlindingMask *string `json:"ao_amount_blinding_mask,omitempty"`
	AoCommitmentInOutputs *bool `json:"ao_commitment_in_outputs,omitempty"`
	TxKeyPub *string `json:"tx_key_pub,omitempty"`
	TxKeySec *string `json:"tx_key_sec,omitempty"`
	TxPubKeyP *string `json:"tx_pub_key_p,omitempty"`
	AdditionalProperties map[string]interface{}
}

type _TxGenerationContextModel TxGenerationContextModel

// NewTxGenerationContextModel instantiates a new TxGenerationContextModel object
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed
func NewTxGenerationContextModel() *TxGenerationContextModel {
	this := TxGenerationContextModel{}
	return &this
}

// NewTxGenerationContextModelWithDefaults instantiates a new TxGenerationContextModel object
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set
func NewTxGenerationContextModelWithDefaults() *TxGenerationContextModel {
	this := TxGenerationContextModel{}
	return &this
}

// GetAssetIds returns the AssetIds field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAssetIds() []string {
	if o == nil || IsNil(o.AssetIds) {
		var ret []string
		return ret
	}
	return o.AssetIds
}

// GetAssetIdsOk returns a tuple with the AssetIds field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAssetIdsOk() ([]string, bool) {
	if o == nil || IsNil(o.AssetIds) {
		return nil, false
	}
	return o.AssetIds, true
}

// HasAssetIds returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAssetIds() bool {
	if o != nil && !IsNil(o.AssetIds) {
		return true
	}

	return false
}

// SetAssetIds gets a reference to the given []string and assigns it to the AssetIds field.
func (o *TxGenerationContextModel) SetAssetIds(v []string) {
	o.AssetIds = v
}

// GetBlindedAssetIds returns the BlindedAssetIds field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetBlindedAssetIds() []string {
	if o == nil || IsNil(o.BlindedAssetIds) {
		var ret []string
		return ret
	}
	return o.BlindedAssetIds
}

// GetBlindedAssetIdsOk returns a tuple with the BlindedAssetIds field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetBlindedAssetIdsOk() ([]string, bool) {
	if o == nil || IsNil(o.BlindedAssetIds) {
		return nil, false
	}
	return o.BlindedAssetIds, true
}

// HasBlindedAssetIds returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasBlindedAssetIds() bool {
	if o != nil && !IsNil(o.BlindedAssetIds) {
		return true
	}

	return false
}

// SetBlindedAssetIds gets a reference to the given []string and assigns it to the BlindedAssetIds field.
func (o *TxGenerationContextModel) SetBlindedAssetIds(v []string) {
	o.BlindedAssetIds = v
}

// GetAmountCommitments returns the AmountCommitments field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAmountCommitments() []string {
	if o == nil || IsNil(o.AmountCommitments) {
		var ret []string
		return ret
	}
	return o.AmountCommitments
}

// GetAmountCommitmentsOk returns a tuple with the AmountCommitments field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAmountCommitmentsOk() ([]string, bool) {
	if o == nil || IsNil(o.AmountCommitments) {
		return nil, false
	}
	return o.AmountCommitments, true
}

// HasAmountCommitments returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAmountCommitments() bool {
	if o != nil && !IsNil(o.AmountCommitments) {
		return true
	}

	return false
}

// SetAmountCommitments gets a reference to the given []string and assigns it to the AmountCommitments field.
func (o *TxGenerationContextModel) SetAmountCommitments(v []string) {
	o.AmountCommitments = v
}

// GetAssetIdBlindingMasks returns the AssetIdBlindingMasks field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAssetIdBlindingMasks() []string {
	if o == nil || IsNil(o.AssetIdBlindingMasks) {
		var ret []string
		return ret
	}
	return o.AssetIdBlindingMasks
}

// GetAssetIdBlindingMasksOk returns a tuple with the AssetIdBlindingMasks field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAssetIdBlindingMasksOk() ([]string, bool) {
	if o == nil || IsNil(o.AssetIdBlindingMasks) {
		return nil, false
	}
	return o.AssetIdBlindingMasks, true
}

// HasAssetIdBlindingMasks returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAssetIdBlindingMasks() bool {
	if o != nil && !IsNil(o.AssetIdBlindingMasks) {
		return true
	}

	return false
}

// SetAssetIdBlindingMasks gets a reference to the given []string and assigns it to the AssetIdBlindingMasks field.
func (o *TxGenerationContextModel) SetAssetIdBlindingMasks(v []string) {
	o.AssetIdBlindingMasks = v
}

// GetAmounts returns the Amounts field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAmounts() []string {
	if o == nil || IsNil(o.Amounts) {
		var ret []string
		return ret
	}
	return o.Amounts
}

// GetAmountsOk returns a tuple with the Amounts field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAmountsOk() ([]string, bool) {
	if o == nil || IsNil(o.Amounts) {
		return nil, false
	}
	return o.Amounts, true
}

// HasAmounts returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAmounts() bool {
	if o != nil && !IsNil(o.Amounts) {
		return true
	}

	return false
}

// SetAmounts gets a reference to the given []string and assigns it to the Amounts field.
func (o *TxGenerationContextModel) SetAmounts(v []string) {
	o.Amounts = v
}

// GetAmountBlindingMasks returns the AmountBlindingMasks field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAmountBlindingMasks() []string {
	if o == nil || IsNil(o.AmountBlindingMasks) {
		var ret []string
		return ret
	}
	return o.AmountBlindingMasks
}

// GetAmountBlindingMasksOk returns a tuple with the AmountBlindingMasks field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAmountBlindingMasksOk() ([]string, bool) {
	if o == nil || IsNil(o.AmountBlindingMasks) {
		return nil, false
	}
	return o.AmountBlindingMasks, true
}

// HasAmountBlindingMasks returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAmountBlindingMasks() bool {
	if o != nil && !IsNil(o.AmountBlindingMasks) {
		return true
	}

	return false
}

// SetAmountBlindingMasks gets a reference to the given []string and assigns it to the AmountBlindingMasks field.
func (o *TxGenerationContextModel) SetAmountBlindingMasks(v []string) {
	o.AmountBlindingMasks = v
}

// GetPseudoOutsBlindedAssetIds returns the PseudoOutsBlindedAssetIds field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetPseudoOutsBlindedAssetIds() []string {
	if o == nil || IsNil(o.PseudoOutsBlindedAssetIds) {
		var ret []string
		return ret
	}
	return o.PseudoOutsBlindedAssetIds
}

// GetPseudoOutsBlindedAssetIdsOk returns a tuple with the PseudoOutsBlindedAssetIds field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetPseudoOutsBlindedAssetIdsOk() ([]string, bool) {
	if o == nil || IsNil(o.PseudoOutsBlindedAssetIds) {
		return nil, false
	}
	return o.PseudoOutsBlindedAssetIds, true
}

// HasPseudoOutsBlindedAssetIds returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasPseudoOutsBlindedAssetIds() bool {
	if o != nil && !IsNil(o.PseudoOutsBlindedAssetIds) {
		return true
	}

	return false
}

// SetPseudoOutsBlindedAssetIds gets a reference to the given []string and assigns it to the PseudoOutsBlindedAssetIds field.
func (o *TxGenerationContextModel) SetPseudoOutsBlindedAssetIds(v []string) {
	o.PseudoOutsBlindedAssetIds = v
}

// GetPseudoOutsPlusRealOutBlindingMasks returns the PseudoOutsPlusRealOutBlindingMasks field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetPseudoOutsPlusRealOutBlindingMasks() []string {
	if o == nil || IsNil(o.PseudoOutsPlusRealOutBlindingMasks) {
		var ret []string
		return ret
	}
	return o.PseudoOutsPlusRealOutBlindingMasks
}

// GetPseudoOutsPlusRealOutBlindingMasksOk returns a tuple with the PseudoOutsPlusRealOutBlindingMasks field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetPseudoOutsPlusRealOutBlindingMasksOk() ([]string, bool) {
	if o == nil || IsNil(o.PseudoOutsPlusRealOutBlindingMasks) {
		return nil, false
	}
	return o.PseudoOutsPlusRealOutBlindingMasks, true
}

// HasPseudoOutsPlusRealOutBlindingMasks returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasPseudoOutsPlusRealOutBlindingMasks() bool {
	if o != nil && !IsNil(o.PseudoOutsPlusRealOutBlindingMasks) {
		return true
	}

	return false
}

// SetPseudoOutsPlusRealOutBlindingMasks gets a reference to the given []string and assigns it to the PseudoOutsPlusRealOutBlindingMasks field.
func (o *TxGenerationContextModel) SetPseudoOutsPlusRealOutBlindingMasks(v []string) {
	o.PseudoOutsPlusRealOutBlindingMasks = v
}

// GetRealZcInsAssetIds returns the RealZcInsAssetIds field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetRealZcInsAssetIds() []string {
	if o == nil || IsNil(o.RealZcInsAssetIds) {
		var ret []string
		return ret
	}
	return o.RealZcInsAssetIds
}

// GetRealZcInsAssetIdsOk returns a tuple with the RealZcInsAssetIds field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetRealZcInsAssetIdsOk() ([]string, bool) {
	if o == nil || IsNil(o.RealZcInsAssetIds) {
		return nil, false
	}
	return o.RealZcInsAssetIds, true
}

// HasRealZcInsAssetIds returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasRealZcInsAssetIds() bool {
	if o != nil && !IsNil(o.RealZcInsAssetIds) {
		return true
	}

	return false
}

// SetRealZcInsAssetIds gets a reference to the given []string and assigns it to the RealZcInsAssetIds field.
func (o *TxGenerationContextModel) SetRealZcInsAssetIds(v []string) {
	o.RealZcInsAssetIds = v
}

// GetZcInputAmounts returns the ZcInputAmounts field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetZcInputAmounts() []int32 {
	if o == nil || IsNil(o.ZcInputAmounts) {
		var ret []int32
		return ret
	}
	return o.ZcInputAmounts
}

// GetZcInputAmountsOk returns a tuple with the ZcInputAmounts field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetZcInputAmountsOk() ([]int32, bool) {
	if o == nil || IsNil(o.ZcInputAmounts) {
		return nil, false
	}
	return o.ZcInputAmounts, true
}

// HasZcInputAmounts returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasZcInputAmounts() bool {
	if o != nil && !IsNil(o.ZcInputAmounts) {
		return true
	}

	return false
}

// SetZcInputAmounts gets a reference to the given []int32 and assigns it to the ZcInputAmounts field.
func (o *TxGenerationContextModel) SetZcInputAmounts(v []int32) {
	o.ZcInputAmounts = v
}

// GetPseudoOutAmountCommitmentsSum returns the PseudoOutAmountCommitmentsSum field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetPseudoOutAmountCommitmentsSum() string {
	if o == nil || IsNil(o.PseudoOutAmountCommitmentsSum) {
		var ret string
		return ret
	}
	return *o.PseudoOutAmountCommitmentsSum
}

// GetPseudoOutAmountCommitmentsSumOk returns a tuple with the PseudoOutAmountCommitmentsSum field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetPseudoOutAmountCommitmentsSumOk() (*string, bool) {
	if o == nil || IsNil(o.PseudoOutAmountCommitmentsSum) {
		return nil, false
	}
	return o.PseudoOutAmountCommitmentsSum, true
}

// HasPseudoOutAmountCommitmentsSum returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasPseudoOutAmountCommitmentsSum() bool {
	if o != nil && !IsNil(o.PseudoOutAmountCommitmentsSum) {
		return true
	}

	return false
}

// SetPseudoOutAmountCommitmentsSum gets a reference to the given string and assigns it to the PseudoOutAmountCommitmentsSum field.
func (o *TxGenerationContextModel) SetPseudoOutAmountCommitmentsSum(v string) {
	o.PseudoOutAmountCommitmentsSum = &v
}

// GetPseudoOutAmountBlindingMasksSum returns the PseudoOutAmountBlindingMasksSum field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetPseudoOutAmountBlindingMasksSum() string {
	if o == nil || IsNil(o.PseudoOutAmountBlindingMasksSum) {
		var ret string
		return ret
	}
	return *o.PseudoOutAmountBlindingMasksSum
}

// GetPseudoOutAmountBlindingMasksSumOk returns a tuple with the PseudoOutAmountBlindingMasksSum field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetPseudoOutAmountBlindingMasksSumOk() (*string, bool) {
	if o == nil || IsNil(o.PseudoOutAmountBlindingMasksSum) {
		return nil, false
	}
	return o.PseudoOutAmountBlindingMasksSum, true
}

// HasPseudoOutAmountBlindingMasksSum returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasPseudoOutAmountBlindingMasksSum() bool {
	if o != nil && !IsNil(o.PseudoOutAmountBlindingMasksSum) {
		return true
	}

	return false
}

// SetPseudoOutAmountBlindingMasksSum gets a reference to the given string and assigns it to the PseudoOutAmountBlindingMasksSum field.
func (o *TxGenerationContextModel) SetPseudoOutAmountBlindingMasksSum(v string) {
	o.PseudoOutAmountBlindingMasksSum = &v
}

// GetRealInAssetIdBlindingMaskXAmountSum returns the RealInAssetIdBlindingMaskXAmountSum field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetRealInAssetIdBlindingMaskXAmountSum() string {
	if o == nil || IsNil(o.RealInAssetIdBlindingMaskXAmountSum) {
		var ret string
		return ret
	}
	return *o.RealInAssetIdBlindingMaskXAmountSum
}

// GetRealInAssetIdBlindingMaskXAmountSumOk returns a tuple with the RealInAssetIdBlindingMaskXAmountSum field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetRealInAssetIdBlindingMaskXAmountSumOk() (*string, bool) {
	if o == nil || IsNil(o.RealInAssetIdBlindingMaskXAmountSum) {
		return nil, false
	}
	return o.RealInAssetIdBlindingMaskXAmountSum, true
}

// HasRealInAssetIdBlindingMaskXAmountSum returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasRealInAssetIdBlindingMaskXAmountSum() bool {
	if o != nil && !IsNil(o.RealInAssetIdBlindingMaskXAmountSum) {
		return true
	}

	return false
}

// SetRealInAssetIdBlindingMaskXAmountSum gets a reference to the given string and assigns it to the RealInAssetIdBlindingMaskXAmountSum field.
func (o *TxGenerationContextModel) SetRealInAssetIdBlindingMaskXAmountSum(v string) {
	o.RealInAssetIdBlindingMaskXAmountSum = &v
}

// GetAmountCommitmentsSum returns the AmountCommitmentsSum field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAmountCommitmentsSum() string {
	if o == nil || IsNil(o.AmountCommitmentsSum) {
		var ret string
		return ret
	}
	return *o.AmountCommitmentsSum
}

// GetAmountCommitmentsSumOk returns a tuple with the AmountCommitmentsSum field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAmountCommitmentsSumOk() (*string, bool) {
	if o == nil || IsNil(o.AmountCommitmentsSum) {
		return nil, false
	}
	return o.AmountCommitmentsSum, true
}

// HasAmountCommitmentsSum returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAmountCommitmentsSum() bool {
	if o != nil && !IsNil(o.AmountCommitmentsSum) {
		return true
	}

	return false
}

// SetAmountCommitmentsSum gets a reference to the given string and assigns it to the AmountCommitmentsSum field.
func (o *TxGenerationContextModel) SetAmountCommitmentsSum(v string) {
	o.AmountCommitmentsSum = &v
}

// GetAmountBlindingMasksSum returns the AmountBlindingMasksSum field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAmountBlindingMasksSum() string {
	if o == nil || IsNil(o.AmountBlindingMasksSum) {
		var ret string
		return ret
	}
	return *o.AmountBlindingMasksSum
}

// GetAmountBlindingMasksSumOk returns a tuple with the AmountBlindingMasksSum field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAmountBlindingMasksSumOk() (*string, bool) {
	if o == nil || IsNil(o.AmountBlindingMasksSum) {
		return nil, false
	}
	return o.AmountBlindingMasksSum, true
}

// HasAmountBlindingMasksSum returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAmountBlindingMasksSum() bool {
	if o != nil && !IsNil(o.AmountBlindingMasksSum) {
		return true
	}

	return false
}

// SetAmountBlindingMasksSum gets a reference to the given string and assigns it to the AmountBlindingMasksSum field.
func (o *TxGenerationContextModel) SetAmountBlindingMasksSum(v string) {
	o.AmountBlindingMasksSum = &v
}

// GetAssetIdBlindingMaskXAmountSum returns the AssetIdBlindingMaskXAmountSum field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAssetIdBlindingMaskXAmountSum() string {
	if o == nil || IsNil(o.AssetIdBlindingMaskXAmountSum) {
		var ret string
		return ret
	}
	return *o.AssetIdBlindingMaskXAmountSum
}

// GetAssetIdBlindingMaskXAmountSumOk returns a tuple with the AssetIdBlindingMaskXAmountSum field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAssetIdBlindingMaskXAmountSumOk() (*string, bool) {
	if o == nil || IsNil(o.AssetIdBlindingMaskXAmountSum) {
		return nil, false
	}
	return o.AssetIdBlindingMaskXAmountSum, true
}

// HasAssetIdBlindingMaskXAmountSum returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAssetIdBlindingMaskXAmountSum() bool {
	if o != nil && !IsNil(o.AssetIdBlindingMaskXAmountSum) {
		return true
	}

	return false
}

// SetAssetIdBlindingMaskXAmountSum gets a reference to the given string and assigns it to the AssetIdBlindingMaskXAmountSum field.
func (o *TxGenerationContextModel) SetAssetIdBlindingMaskXAmountSum(v string) {
	o.AssetIdBlindingMaskXAmountSum = &v
}

// GetAoAssetId returns the AoAssetId field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAoAssetId() string {
	if o == nil || IsNil(o.AoAssetId) {
		var ret string
		return ret
	}
	return *o.AoAssetId
}

// GetAoAssetIdOk returns a tuple with the AoAssetId field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAoAssetIdOk() (*string, bool) {
	if o == nil || IsNil(o.AoAssetId) {
		return nil, false
	}
	return o.AoAssetId, true
}

// HasAoAssetId returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAoAssetId() bool {
	if o != nil && !IsNil(o.AoAssetId) {
		return true
	}

	return false
}

// SetAoAssetId gets a reference to the given string and assigns it to the AoAssetId field.
func (o *TxGenerationContextModel) SetAoAssetId(v string) {
	o.AoAssetId = &v
}

// GetAoAssetIdPt returns the AoAssetIdPt field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAoAssetIdPt() string {
	if o == nil || IsNil(o.AoAssetIdPt) {
		var ret string
		return ret
	}
	return *o.AoAssetIdPt
}

// GetAoAssetIdPtOk returns a tuple with the AoAssetIdPt field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAoAssetIdPtOk() (*string, bool) {
	if o == nil || IsNil(o.AoAssetIdPt) {
		return nil, false
	}
	return o.AoAssetIdPt, true
}

// HasAoAssetIdPt returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAoAssetIdPt() bool {
	if o != nil && !IsNil(o.AoAssetIdPt) {
		return true
	}

	return false
}

// SetAoAssetIdPt gets a reference to the given string and assigns it to the AoAssetIdPt field.
func (o *TxGenerationContextModel) SetAoAssetIdPt(v string) {
	o.AoAssetIdPt = &v
}

// GetAoAmountCommitment returns the AoAmountCommitment field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAoAmountCommitment() string {
	if o == nil || IsNil(o.AoAmountCommitment) {
		var ret string
		return ret
	}
	return *o.AoAmountCommitment
}

// GetAoAmountCommitmentOk returns a tuple with the AoAmountCommitment field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAoAmountCommitmentOk() (*string, bool) {
	if o == nil || IsNil(o.AoAmountCommitment) {
		return nil, false
	}
	return o.AoAmountCommitment, true
}

// HasAoAmountCommitment returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAoAmountCommitment() bool {
	if o != nil && !IsNil(o.AoAmountCommitment) {
		return true
	}

	return false
}

// SetAoAmountCommitment gets a reference to the given string and assigns it to the AoAmountCommitment field.
func (o *TxGenerationContextModel) SetAoAmountCommitment(v string) {
	o.AoAmountCommitment = &v
}

// GetAoAmountBlindingMask returns the AoAmountBlindingMask field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAoAmountBlindingMask() string {
	if o == nil || IsNil(o.AoAmountBlindingMask) {
		var ret string
		return ret
	}
	return *o.AoAmountBlindingMask
}

// GetAoAmountBlindingMaskOk returns a tuple with the AoAmountBlindingMask field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAoAmountBlindingMaskOk() (*string, bool) {
	if o == nil || IsNil(o.AoAmountBlindingMask) {
		return nil, false
	}
	return o.AoAmountBlindingMask, true
}

// HasAoAmountBlindingMask returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAoAmountBlindingMask() bool {
	if o != nil && !IsNil(o.AoAmountBlindingMask) {
		return true
	}

	return false
}

// SetAoAmountBlindingMask gets a reference to the given string and assigns it to the AoAmountBlindingMask field.
func (o *TxGenerationContextModel) SetAoAmountBlindingMask(v string) {
	o.AoAmountBlindingMask = &v
}

// GetAoCommitmentInOutputs returns the AoCommitmentInOutputs field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetAoCommitmentInOutputs() bool {
	if o == nil || IsNil(o.AoCommitmentInOutputs) {
		var ret bool
		return ret
	}
	return *o.AoCommitmentInOutputs
}

// GetAoCommitmentInOutputsOk returns a tuple with the AoCommitmentInOutputs field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetAoCommitmentInOutputsOk() (*bool, bool) {
	if o == nil || IsNil(o.AoCommitmentInOutputs) {
		return nil, false
	}
	return o.AoCommitmentInOutputs, true
}

// HasAoCommitmentInOutputs returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasAoCommitmentInOutputs() bool {
	if o != nil && !IsNil(o.AoCommitmentInOutputs) {
		return true
	}

	return false
}

// SetAoCommitmentInOutputs gets a reference to the given bool and assigns it to the AoCommitmentInOutputs field.
func (o *TxGenerationContextModel) SetAoCommitmentInOutputs(v bool) {
	o.AoCommitmentInOutputs = &v
}

// GetTxKeyPub returns the TxKeyPub field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetTxKeyPub() string {
	if o == nil || IsNil(o.TxKeyPub) {
		var ret string
		return ret
	}
	return *o.TxKeyPub
}

// GetTxKeyPubOk returns a tuple with the TxKeyPub field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetTxKeyPubOk() (*string, bool) {
	if o == nil || IsNil(o.TxKeyPub) {
		return nil, false
	}
	return o.TxKeyPub, true
}

// HasTxKeyPub returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasTxKeyPub() bool {
	if o != nil && !IsNil(o.TxKeyPub) {
		return true
	}

	return false
}

// SetTxKeyPub gets a reference to the given string and assigns it to the TxKeyPub field.
func (o *TxGenerationContextModel) SetTxKeyPub(v string) {
	o.TxKeyPub = &v
}

// GetTxKeySec returns the TxKeySec field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetTxKeySec() string {
	if o == nil || IsNil(o.TxKeySec) {
		var ret string
		return ret
	}
	return *o.TxKeySec
}

// GetTxKeySecOk returns a tuple with the TxKeySec field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetTxKeySecOk() (*string, bool) {
	if o == nil || IsNil(o.TxKeySec) {
		return nil, false
	}
	return o.TxKeySec, true
}

// HasTxKeySec returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasTxKeySec() bool {
	if o != nil && !IsNil(o.TxKeySec) {
		return true
	}

	return false
}

// SetTxKeySec gets a reference to the given string and assigns it to the TxKeySec field.
func (o *TxGenerationContextModel) SetTxKeySec(v string) {
	o.TxKeySec = &v
}

// GetTxPubKeyP returns the TxPubKeyP field value if set, zero value otherwise.
func (o *TxGenerationContextModel) GetTxPubKeyP() string {
	if o == nil || IsNil(o.TxPubKeyP) {
		var ret string
		return ret
	}
	return *o.TxPubKeyP
}

// GetTxPubKeyPOk returns a tuple with the TxPubKeyP field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TxGenerationContextModel) GetTxPubKeyPOk() (*string, bool) {
	if o == nil || IsNil(o.TxPubKeyP) {
		return nil, false
	}
	return o.TxPubKeyP, true
}

// HasTxPubKeyP returns a boolean if a field has been set.
func (o *TxGenerationContextModel) HasTxPubKeyP() bool {
	if o != nil && !IsNil(o.TxPubKeyP) {
		return true
	}

	return false
}

// SetTxPubKeyP gets a reference to the given string and assigns it to the TxPubKeyP field.
func (o *TxGenerationContextModel) SetTxPubKeyP(v string) {
	o.TxPubKeyP = &v
}

func (o TxGenerationContextModel) MarshalJSON() ([]byte, error) {
	toSerialize,err := o.ToMap()
	if err != nil {
		return []byte{}, err
	}
	return json.Marshal(toSerialize)
}

func (o TxGenerationContextModel) ToMap() (map[string]interface{}, error) {
	toSerialize := map[string]interface{}{}
	if !IsNil(o.AssetIds) {
		toSerialize["asset_ids"] = o.AssetIds
	}
	if !IsNil(o.BlindedAssetIds) {
		toSerialize["blinded_asset_ids"] = o.BlindedAssetIds
	}
	if !IsNil(o.AmountCommitments) {
		toSerialize["amount_commitments"] = o.AmountCommitments
	}
	if !IsNil(o.AssetIdBlindingMasks) {
		toSerialize["asset_id_blinding_masks"] = o.AssetIdBlindingMasks
	}
	if !IsNil(o.Amounts) {
		toSerialize["amounts"] = o.Amounts
	}
	if !IsNil(o.AmountBlindingMasks) {
		toSerialize["amount_blinding_masks"] = o.AmountBlindingMasks
	}
	if !IsNil(o.PseudoOutsBlindedAssetIds) {
		toSerialize["pseudo_outs_blinded_asset_ids"] = o.PseudoOutsBlindedAssetIds
	}
	if !IsNil(o.PseudoOutsPlusRealOutBlindingMasks) {
		toSerialize["pseudo_outs_plus_real_out_blinding_masks"] = o.PseudoOutsPlusRealOutBlindingMasks
	}
	if !IsNil(o.RealZcInsAssetIds) {
		toSerialize["real_zc_ins_asset_ids"] = o.RealZcInsAssetIds
	}
	if !IsNil(o.ZcInputAmounts) {
		toSerialize["zc_input_amounts"] = o.ZcInputAmounts
	}
	if !IsNil(o.PseudoOutAmountCommitmentsSum) {
		toSerialize["pseudo_out_amount_commitments_sum"] = o.PseudoOutAmountCommitmentsSum
	}
	if !IsNil(o.PseudoOutAmountBlindingMasksSum) {
		toSerialize["pseudo_out_amount_blinding_masks_sum"] = o.PseudoOutAmountBlindingMasksSum
	}
	if !IsNil(o.RealInAssetIdBlindingMaskXAmountSum) {
		toSerialize["real_in_asset_id_blinding_mask_x_amount_sum"] = o.RealInAssetIdBlindingMaskXAmountSum
	}
	if !IsNil(o.AmountCommitmentsSum) {
		toSerialize["amount_commitments_sum"] = o.AmountCommitmentsSum
	}
	if !IsNil(o.AmountBlindingMasksSum) {
		toSerialize["amount_blinding_masks_sum"] = o.AmountBlindingMasksSum
	}
	if !IsNil(o.AssetIdBlindingMaskXAmountSum) {
		toSerialize["asset_id_blinding_mask_x_amount_sum"] = o.AssetIdBlindingMaskXAmountSum
	}
	if !IsNil(o.AoAssetId) {
		toSerialize["ao_asset_id"] = o.AoAssetId
	}
	if !IsNil(o.AoAssetIdPt) {
		toSerialize["ao_asset_id_pt"] = o.AoAssetIdPt
	}
	if !IsNil(o.AoAmountCommitment) {
		toSerialize["ao_amount_commitment"] = o.AoAmountCommitment
	}
	if !IsNil(o.AoAmountBlindingMask) {
		toSerialize["ao_amount_blinding_mask"] = o.AoAmountBlindingMask
	}
	if !IsNil(o.AoCommitmentInOutputs) {
		toSerialize["ao_commitment_in_outputs"] = o.AoCommitmentInOutputs
	}
	if !IsNil(o.TxKeyPub) {
		toSerialize["tx_key_pub"] = o.TxKeyPub
	}
	if !IsNil(o.TxKeySec) {
		toSerialize["tx_key_sec"] = o.TxKeySec
	}
	if !IsNil(o.TxPubKeyP) {
		toSerialize["tx_pub_key_p"] = o.TxPubKeyP
	}

	for key, value := range o.AdditionalProperties {
		toSerialize[key] = value
	}

	return toSerialize, nil
}

func (o *TxGenerationContextModel) UnmarshalJSON(data []byte) (err error) {
	varTxGenerationContextModel := _TxGenerationContextModel{}

	err = json.Unmarshal(data, &varTxGenerationContextModel)

	if err != nil {
		return err
	}

	*o = TxGenerationContextModel(varTxGenerationContextModel)

	additionalProperties := make(map[string]interface{})

	if err = json.Unmarshal(data, &additionalProperties); err == nil {
		delete(additionalProperties, "asset_ids")
		delete(additionalProperties, "blinded_asset_ids")
		delete(additionalProperties, "amount_commitments")
		delete(additionalProperties, "asset_id_blinding_masks")
		delete(additionalProperties, "amounts")
		delete(additionalProperties, "amount_blinding_masks")
		delete(additionalProperties, "pseudo_outs_blinded_asset_ids")
		delete(additionalProperties, "pseudo_outs_plus_real_out_blinding_masks")
		delete(additionalProperties, "real_zc_ins_asset_ids")
		delete(additionalProperties, "zc_input_amounts")
		delete(additionalProperties, "pseudo_out_amount_commitments_sum")
		delete(additionalProperties, "pseudo_out_amount_blinding_masks_sum")
		delete(additionalProperties, "real_in_asset_id_blinding_mask_x_amount_sum")
		delete(additionalProperties, "amount_commitments_sum")
		delete(additionalProperties, "amount_blinding_masks_sum")
		delete(additionalProperties, "asset_id_blinding_mask_x_amount_sum")
		delete(additionalProperties, "ao_asset_id")
		delete(additionalProperties, "ao_asset_id_pt")
		delete(additionalProperties, "ao_amount_commitment")
		delete(additionalProperties, "ao_amount_blinding_mask")
		delete(additionalProperties, "ao_commitment_in_outputs")
		delete(additionalProperties, "tx_key_pub")
		delete(additionalProperties, "tx_key_sec")
		delete(additionalProperties, "tx_pub_key_p")
		o.AdditionalProperties = additionalProperties
	}

	return err
}

type NullableTxGenerationContextModel struct {
	value *TxGenerationContextModel
	isSet bool
}

func (v NullableTxGenerationContextModel) Get() *TxGenerationContextModel {
	return v.value
}

func (v *NullableTxGenerationContextModel) Set(val *TxGenerationContextModel) {
	v.value = val
	v.isSet = true
}

func (v NullableTxGenerationContextModel) IsSet() bool {
	return v.isSet
}

func (v *NullableTxGenerationContextModel) Unset() {
	v.value = nil
	v.isSet = false
}

func NewNullableTxGenerationContextModel(val *TxGenerationContextModel) *NullableTxGenerationContextModel {
	return &NullableTxGenerationContextModel{value: val, isSet: true}
}

func (v NullableTxGenerationContextModel) MarshalJSON() ([]byte, error) {
	return json.Marshal(v.value)
}

func (v *NullableTxGenerationContextModel) UnmarshalJSON(src []byte) error {
	v.isSet = true
	return json.Unmarshal(src, &v.value)
}


