defmodule Circlex.Struct.PhysicalAddress do @moduledoc """ Transfer beneficiaries need a physical address for travel rule requirements References: https://www.circle.com/blog/introducing-the-travel-rule-universal-solution-technology """ use Circlex.Struct.JasonHelper import Circlex.Struct.Util defstruct [:line1, :line2, :city, :district, :postal_code, :country] def deserialize(physical_address) do %__MODULE__{ line1: fetch(physical_address, :line1), line2: fetch(physical_address, :line2), city: fetch(physical_address, :city), district: fetch(physical_address, :district), postal_code: fetch(physical_address, :postalCode), country: fetch(physical_address, :country) } end def serialize(physical_address) do %{ line1: physical_address.line1, line2: physical_address.line2, city: physical_address.city, district: physical_address.district, postalCode: physical_address.postal_code, country: physical_address.country } end end