blob: d2a553bac6c50cdceb2138701b4743aa9fb11c49 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
import json
# sample valid transaction:
# txn = {
# "asset": {
# "id": "ageuiagh93421941a"
# },
# "id": "12490124812041",
# }
# todo: take in string, convert to
def validate(transaction):
print(f'Validating {transaction}')
if (not transaction) or type(transaction) is not dict:
return False
if "id" not in transaction:
return False
if "asset" not in transaction:
return False
if "id" not in transaction["asset"]:
return False
if transaction["id"] == None or transaction["asset"] == None:
return False
return True
txn = {
"asset": {
"id": "ageuiagh93421941a"
},
"id": "12490124812041",
}
test_str = '{"inputs": [{"owners_before": ["Gn5NZjYEUvTy92yYe41ca2jBk5NwMo48Phb313jjn1gH"], "fulfills": {"transaction_id": "067a838231600ab759bcae80e99f8f60cdc3515fa6bd9dd4cf445f79f3793005", "output_index": 0}, "fulfillment": "pGSAIOprYi3p2guMgsoEMkUlR_UdKCByqHskl0i0DX6QkdVOgUBj2-DpWnXozis7h8G4wjBiTRhRevdQfE13m_afC8XfYso5YbSWyNPdlzoyu9bx2jQhAKVjnVF86x0xBBN2_xsB"}], "outputs": [{"public_keys": ["HxA4JhEdFRK1cwXUc4pLgsTB3p42nzpzgei6xBmpNoN8"], "condition": {"details": {"type": "ed25519-sha-256", "public_key": "HxA4JhEdFRK1cwXUc4pLgsTB3p42nzpzgei6xBmpNoN8"}, "uri": "ni:///sha-256;Lo6vco_Q3hZAvqZnA83nrHU9TgBREvLfjTg5Ndq0RDs?fpt=ed25519-sha-256&cost=131072"}, "amount": "3"}, {"public_keys": ["Gn5NZjYEUvTy92yYe41ca2jBk5NwMo48Phb313jjn1gH"], "condition": {"details": {"type": "ed25519-sha-256", "public_key": "Gn5NZjYEUvTy92yYe41ca2jBk5NwMo48Phb313jjn1gH"}, "uri": "ni:///sha-256;66z4Y1OrLmJYJ9NucNAiDR6U4-OGdQdGMxw2gEB1QC4?fpt=ed25519-sha-256&cost=131072"}, "amount": "8"}], "operation": "TRANSFER", "metadata": null, "asset": {"id": "067a838231600ab759bcae80e99f8f60cdc3515fa6bd9dd4cf445f79f3793005"}, "version": "2.0", "id": "2c255fd56be65aa19cb709455352b78919b8b628f224adce370250c0f0d70fbe"}'
print("string version: " + str(test_str))
res = json.loads(test_str)
print("dict: " + str(res))
"""print(validate(4))
print(validate("string"))
print(validate(dict(id = "hi")))
print(validate(txn))"""