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
}