Method: Eth::Eip712#enforce_typed_data
- Defined in:
- lib/eth/eip712.rb
#enforce_typed_data(data) ⇒ Array
Enforces basic properties to be represented in the EIP-712 typed data structure: types, domain, message, etc.
151 152 153 154 155 156 157 158 159 160 |
# File 'lib/eth/eip712.rb', line 151 def enforce_typed_data(data) data = JSON.parse data if Util.is_hex? data raise TypedDataError, "Data is missing, try again with data." if data.nil? or data.empty? raise TypedDataError, "Data types are missing." if data[:types].nil? or data[:types].empty? raise TypedDataError, "Data primaryType is missing." if data[:primaryType].nil? or data[:primaryType].empty? raise TypedDataError, "Data domain is missing." if data[:domain].nil? raise TypedDataError, "Data message is missing." if data[:message].nil? or data[:message].empty? raise TypedDataError, "Data EIP712Domain is missing." if data[:types][:EIP712Domain].nil? return data end |