func()

in releases/go/encryption-sdk/MessageBody/MessageBody.go [372:412]


func (_static *CompanionStruct_Default___) EncryptRegularFrame(key _dafny.Sequence, header m_Header.HeaderInfo, plaintext _dafny.Sequence, sequenceNumber uint32, crypto *m_AtomicPrimitives.AtomicPrimitivesClient) m_Wrappers.Result {
	var res m_Wrappers.Result = m_Wrappers.Result{}
	_ = res
	var _0_iv _dafny.Sequence
	_ = _0_iv
	_0_iv = Companion_Default___.IVSeq((header).Dtor_suite(), sequenceNumber)
	var _1_aad _dafny.Sequence
	_ = _1_aad
	_1_aad = Companion_Default___.BodyAAD(((header).Dtor_body()).Dtor_messageId(), Companion_BodyAADContent_.Create_AADRegularFrame_(), sequenceNumber, uint64((plaintext).Cardinality()))
	var _2_aesEncryptInput m_AwsCryptographyPrimitivesTypes.AESEncryptInput
	_ = _2_aesEncryptInput
	_2_aesEncryptInput = m_AwsCryptographyPrimitivesTypes.Companion_AESEncryptInput_.Create_AESEncryptInput_((((header).Dtor_suite()).Dtor_encrypt()).Dtor_AES__GCM(), _0_iv, key, plaintext, _1_aad)
	var _3_maybeEncryptionOutput m_Wrappers.Result
	_ = _3_maybeEncryptionOutput
	var _out0 m_Wrappers.Result
	_ = _out0
	_out0 = (crypto).AESEncrypt(_2_aesEncryptInput)
	_3_maybeEncryptionOutput = _out0
	var _4_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_AESEncryptOutput_.Default())
	_ = _4_valueOrError0
	_4_valueOrError0 = (_3_maybeEncryptionOutput).MapFailure(func(coer8 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyEncryptionSdkTypes.Error) func(interface{}) interface{} {
		return func(arg9 interface{}) interface{} {
			return coer8(arg9.(m_AwsCryptographyPrimitivesTypes.Error))
		}
	}(func(_5_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyEncryptionSdkTypes.Error {
		return m_AwsCryptographyEncryptionSdkTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_5_e)
	}))
	if (_4_valueOrError0).IsFailure() {
		res = (_4_valueOrError0).PropagateFailure()
		return res
	}
	var _6_encryptionOutput m_AwsCryptographyPrimitivesTypes.AESEncryptOutput
	_ = _6_encryptionOutput
	_6_encryptionOutput = (_4_valueOrError0).Extract().(m_AwsCryptographyPrimitivesTypes.AESEncryptOutput)
	var _7_frame m_Frames.Frame
	_ = _7_frame
	_7_frame = m_Frames.Companion_Frame_.Create_RegularFrame_(header, sequenceNumber, _0_iv, (_6_encryptionOutput).Dtor_cipherText(), (_6_encryptionOutput).Dtor_authTag())
	res = m_Wrappers.Companion_Result_.Create_Success_(_7_frame)
	return res
	return res
}