From 3998388633c981cd1f6cbf803cf0717f3d57a8e3 Mon Sep 17 00:00:00 2001 From: Andres Adjimann Date: Mon, 14 Oct 2024 09:02:48 -0300 Subject: [PATCH] chore: Land sale 37 mainnet --- .../LandPreSale_37/bundles.mainnet.json | 6 + .../LandPreSale_37/sectors.mainnet.json | 1722 ++++++++++++ packages/core/data/landSales/deadlines.ts | 2 +- .../polygon/PolygonLandPreSale_62.json | 2454 +++++++++++++++++ 4 files changed, 4183 insertions(+), 1 deletion(-) create mode 100644 packages/core/data/landSales/LandPreSale_37/bundles.mainnet.json create mode 100644 packages/core/data/landSales/LandPreSale_37/sectors.mainnet.json create mode 100644 packages/core/deployments/polygon/PolygonLandPreSale_62.json diff --git a/packages/core/data/landSales/LandPreSale_37/bundles.mainnet.json b/packages/core/data/landSales/LandPreSale_37/bundles.mainnet.json new file mode 100644 index 0000000000..53a20bc5a9 --- /dev/null +++ b/packages/core/data/landSales/LandPreSale_37/bundles.mainnet.json @@ -0,0 +1,6 @@ +{ + "201": [ + "24746286727506425005907133105494854215487608815285976522", + "24746660871925581717054193248812029583940640734016978378" + ] +} diff --git a/packages/core/data/landSales/LandPreSale_37/sectors.mainnet.json b/packages/core/data/landSales/LandPreSale_37/sectors.mainnet.json new file mode 100644 index 0000000000..5f7097157e --- /dev/null +++ b/packages/core/data/landSales/LandPreSale_37/sectors.mainnet.json @@ -0,0 +1,1722 @@ +[ + { + "sector": 62, + "limit": 10000, + "lands": [ + { + "coordinateX": -42, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -42, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -42, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -42, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -42, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -42, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -42, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -42, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -42, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -41, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -41, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -41, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -41, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -41, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -41, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -41, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -41, + "coordinateY": -158, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -41, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -40, + "coordinateY": -165, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -40, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -40, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -40, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -40, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -40, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -40, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -40, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -40, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -39, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -39, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -39, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -38, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -38, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -38, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -37, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -37, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -37, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -36, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -36, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -36, + "coordinateY": -160, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -36, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -36, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -36, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -35, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -35, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -35, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -35, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -35, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -34, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -34, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -34, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -34, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -34, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -34, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -33, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -33, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -33, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -33, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -33, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -33, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -33, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -33, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -33, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -33, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -33, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -32, + "coordinateY": -167, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -32, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -32, + "coordinateY": -164, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -32, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -32, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -32, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -32, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -32, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -32, + "coordinateY": -158, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -32, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -31, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "201" + }, + { + "coordinateX": -31, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "201" + }, + { + "coordinateX": -31, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "201" + }, + { + "coordinateX": -31, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "201" + }, + { + "coordinateX": -31, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -31, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -31, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -31, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -31, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "201" + }, + { + "coordinateX": -24, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "201" + }, + { + "coordinateX": -24, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "201" + }, + { + "coordinateX": -24, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -163, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -159, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -161, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -164, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -171, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -171, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -159, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -171, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + } + ], + "estates": [ + { + "coordinateX": -39, + "coordinateY": -165, + "type": 1, + "lands": [ + { + "coordinateX": -39, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -38, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -37, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -39, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -38, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -37, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -39, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -38, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -37, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + }, + { + "coordinateX": -36, + "coordinateY": -165, + "type": 1, + "lands": [ + { + "coordinateX": -36, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -35, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -34, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -36, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -35, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -34, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -36, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -35, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -34, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + }, + { + "coordinateX": -21, + "coordinateY": -171, + "type": 1, + "lands": [ + { + "coordinateX": -21, + "coordinateY": -171, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -171, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -171, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -170, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -170, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -170, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -169, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -169, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -169, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + }, + { + "coordinateX": -18, + "coordinateY": -168, + "type": 1, + "lands": [ + { + "coordinateX": -18, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + }, + { + "coordinateX": -18, + "coordinateY": -165, + "type": 1, + "lands": [ + { + "coordinateX": -18, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + }, + { + "coordinateX": -30, + "coordinateY": -168, + "type": 2, + "lands": [ + { + "coordinateX": -30, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -168, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -30, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -167, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -30, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -166, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -30, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -165, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -30, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -164, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -30, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -163, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + }, + { + "coordinateX": -30, + "coordinateY": -162, + "type": 2, + "lands": [ + { + "coordinateX": -30, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -162, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -30, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -161, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -30, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -160, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -30, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -159, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -30, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -158, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -30, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -29, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -28, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -27, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -26, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -25, + "coordinateY": -157, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + } + ] + } +] diff --git a/packages/core/data/landSales/deadlines.ts b/packages/core/data/landSales/deadlines.ts index bef3c1b158..d003744e04 100644 --- a/packages/core/data/landSales/deadlines.ts +++ b/packages/core/data/landSales/deadlines.ts @@ -58,6 +58,6 @@ const deadlines: { [sector: number]: number } = { 57: new Date("2024-07-29T12:00:00.000Z").valueOf() / 1000, 58: new Date("2024-09-20T12:00:00.000Z").valueOf() / 1000, 61: new Date("2024-10-14T12:00:00.000Z").valueOf() / 1000, - 62: new Date("2024-10-21T12:00:00.000Z").valueOf() / 1000, + 62: new Date("2024-10-31T12:00:00.000Z").valueOf() / 1000, }; export default deadlines; diff --git a/packages/core/deployments/polygon/PolygonLandPreSale_62.json b/packages/core/deployments/polygon/PolygonLandPreSale_62.json new file mode 100644 index 0000000000..11353c0178 --- /dev/null +++ b/packages/core/deployments/polygon/PolygonLandPreSale_62.json @@ -0,0 +1,2454 @@ +{ + "address": "0xC4078394076048F4436a26d75F8Fda0E9E69747c", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "landAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "sandContractAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "initialMetaTx", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address payable", + "name": "initialWalletAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "merkleRoot", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "expiryTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "initialSigningWallet", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialMaxCommissionRate", + "type": "uint256" + }, + { + "internalType": "address", + "name": "estate", + "type": "address" + }, + { + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "internalType": "address", + "name": "feeDistributor", + "type": "address" + }, + { + "internalType": "address", + "name": "authValidator", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "buyer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "topCornerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "size", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountPaid", + "type": "uint256" + } + ], + "name": "LandQuadPurchased", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "newMaxCommissionRate", + "type": "uint256" + } + ], + "name": "MaxCommissionRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "metaTransactionProcessor", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "MetaTransactionProcessor", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newWallet", + "type": "address" + } + ], + "name": "NewReceivingWallet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "referee", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "commission", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "commissionRate", + "type": "uint256" + } + ], + "name": "ReferralUsed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newSigningWallet", + "type": "address" + } + ], + "name": "SigningWalletUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "buyer", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "address", + "name": "reserved", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "info", + "type": "uint256[]" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "uint256[]", + "name": "assetIds", + "type": "uint256[]" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + }, + { + "internalType": "bytes", + "name": "referral", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "buyLandWithSand", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "changeAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "referral", + "type": "bytes" + } + ], + "name": "decodeReferral", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "disableWallet", + "type": "address" + } + ], + "name": "disablePreviousSigningWallet", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getExpiryTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxCommissionRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMerkleRoot", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getSigningWallet", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "who", + "type": "address" + } + ], + "name": "isMetaTransactionProcessor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "internalType": "address", + "name": "referee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "expiryTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "commissionRate", + "type": "uint256" + } + ], + "name": "isReferralValid", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC1155BatchReceived", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC1155Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "metaTransactionProcessor", + "type": "address" + }, + { + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "setMetaTransactionProcessor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "newWallet", + "type": "address" + } + ], + "name": "setReceivingWallet", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "newMaxCommissionRate", + "type": "uint256" + } + ], + "name": "updateMaxCommissionRate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newSigningWallet", + "type": "address" + } + ], + "name": "updateSigningWallet", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "assetIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "withdrawAssets", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "transactionHash": "0x8353fe39267818aa8c4e62c69ba3312c6da4cdb717a55f3877965b4918b2c235", + "receipt": { + "to": null, + "from": "0xCba49d154b4Bb9a9aD7F5Dad396CB9a0a3a62ABc", + "contractAddress": "0xC4078394076048F4436a26d75F8Fda0E9E69747c", + "transactionIndex": 81, + "gasUsed": "2668417", + "logsBloom": "0x00000000000000000000000000000000000000000000000010040004000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000101000000000000000000000000000000000000000000000000000000001080000000010000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001001000000000000000000000000000100008000000000100080000000000000000040000000004000000000000000000000000100000", + "blockHash": "0x8aaa91813e87bf223c5085ce444cf6f86118bf17990657c24fc1eb899a683e0d", + "transactionHash": "0x8353fe39267818aa8c4e62c69ba3312c6da4cdb717a55f3877965b4918b2c235", + "logs": [ + { + "transactionIndex": 81, + "blockNumber": 63026839, + "transactionHash": "0x8353fe39267818aa8c4e62c69ba3312c6da4cdb717a55f3877965b4918b2c235", + "address": "0xC4078394076048F4436a26d75F8Fda0E9E69747c", + "topics": [ + "0xb21eb88b4e33b3f1281830a7178d74d8aa73220416215726b68ae23d539515cb" + ], + "data": "0x000000000000000000000000bbba073c31bf03b8acf7c28ef0738decf36956830000000000000000000000000000000000000000000000000000000000000001", + "logIndex": 360, + "blockHash": "0x8aaa91813e87bf223c5085ce444cf6f86118bf17990657c24fc1eb899a683e0d" + }, + { + "transactionIndex": 81, + "blockNumber": 63026839, + "transactionHash": "0x8353fe39267818aa8c4e62c69ba3312c6da4cdb717a55f3877965b4918b2c235", + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000cba49d154b4bb9a9ad7f5dad396cb9a0a3a62abc", + "0x0000000000000000000000001d25c827abd466387bda00b429fe728627d6eee6" + ], + "data": "0x00000000000000000000000000000000000000000000000000ed4569e8658a61000000000000000000000000000000000000000000000000587328d774f2e41f00000000000000000000000000000000000000000000017423aa1558cde9aabf0000000000000000000000000000000000000000000000005785e36d8c8d59be00000000000000000000000000000000000000000000017424975ac2b64f3520", + "logIndex": 361, + "blockHash": "0x8aaa91813e87bf223c5085ce444cf6f86118bf17990657c24fc1eb899a683e0d" + } + ], + "blockNumber": 63026839, + "cumulativeGasUsed": "17318983", + "status": 1, + "byzantium": true + }, + "args": [ + "0x9d305a42A3975Ee4c1C57555BeD5919889DCE63F", + "0xBbba073C31bF03b8ACf7c28EF0738DeCF3695683", + "0xBbba073C31bF03b8ACf7c28EF0738DeCF3695683", + "0xfD30a48Bc6c56E24B0ebF1B0117d750e2CFf7531", + "0x1b47567CBE36e63293A7A2018F79687f942aB24C", + "0xa4fdd95c99908425fe7a5f8906c974d39ad36c3eb06d37f065a2804ff9e0ebdf", + 1730376000, + "0x3044719d139F866a44c988823513eCB93060bF1b", + 2000, + "0x0000000000000000000000000000000000000000", + "0xDbc52cd5b8EdA1A7BCBABb838ca927d23E3673e5", + "0x42a4a3795446A4c070565da201c6303fC78a2569", + "0x7804fb2AF15bB1323795A888B09913cEf629Ffda" + ], + "numDeployments": 1, + "linkedData": [ + { + "x": 162, + "y": 39, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x86555d61f981250f05e8630761da46d3e82fef8ed2e3b43cdadedb9d67d24c65", + "assetIds": [] + }, + { + "x": 162, + "y": 40, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x72fbf65f6296d2f6d7b97dcd85ded60f57a908e44dea2ffa6d6dbaf291b401a1", + "assetIds": [] + }, + { + "x": 162, + "y": 41, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x39ca807a8d6ae93b1e914fcbb100d98f0e8851c62ce966f879ac1bf617bc1d18", + "assetIds": [] + }, + { + "x": 162, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9487386b2b7bef40996dbc6b2e00237094633d1c80ab5b286baeedff70193071", + "assetIds": [] + }, + { + "x": 162, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9a0139bc5c32eea1619b8cac275161cd0c9230d6991743f6e83b43ea46cac0fa", + "assetIds": [] + }, + { + "x": 162, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9a57ba1bc97ee3551a93cad166bd9be4b18edd73bfe9627c9c209f93a0606743", + "assetIds": [] + }, + { + "x": 162, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2a586772ef35378094c08beb1ae88511f02a77df363cd484f794ab16bdf42f2c", + "assetIds": [] + }, + { + "x": 162, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x582998496add8a338e5a2e20f4012012ef50b9df1c62140496bae4ff6a863ece", + "assetIds": [] + }, + { + "x": 162, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xaa0389fad9f071c5793efe7dbbd1b8ec33000ac09cce8928e999f42392d3f6fb", + "assetIds": [] + }, + { + "x": 163, + "y": 39, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x54100f54d93b74bc004eaf01999c87ab3fbd16fe7a515e51afc6ea9aa0495aeb", + "assetIds": [] + }, + { + "x": 163, + "y": 40, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x3e29308056f028ee9e5c56e3246f6afda0c523770010fb9260e11976a96fe105", + "assetIds": [] + }, + { + "x": 163, + "y": 41, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xad6419f511e7e1e3a465ac48c4a994679343181ff2182d825e3a70d568237f50", + "assetIds": [] + }, + { + "x": 163, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xac788a02974c1f4b40feb9153d13125640a9ff6f9d3b7795c94ad3182b090f8c", + "assetIds": [] + }, + { + "x": 163, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6146e151a457e319f0c0f8bdb9654866756e8b572702f934c6ffb8b59e6cef8a", + "assetIds": [] + }, + { + "x": 163, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc4de9f03c2362aa14c1e81157f3c1ea40898d81880cb411330b61fbfc275da26", + "assetIds": [] + }, + { + "x": 163, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x65e6abf6e346bed37aa2645bc722c19707ab1eeb44e5b7e811f973df62d5e47d", + "assetIds": [] + }, + { + "x": 163, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x05f2b6974b816ef654e943f61af80084a0de21b9d31f215eef1ad6635c95aacc", + "assetIds": [] + }, + { + "x": 163, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7c2660a5ee2dcd461852375ce0332e0dcbc139a3c47b5e6c9f832b6df6c422d9", + "assetIds": [] + }, + { + "x": 164, + "y": 39, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x0eaee366958c59d6aa9c51e49bd3c2d7e46d82967220b3ec938631fd8108ae2d", + "assetIds": [] + }, + { + "x": 164, + "y": 40, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x29fc2ca7fddedd2ae4d1455420ba4c1e587b87e9379bdca01795383c7e26b9d7", + "assetIds": [] + }, + { + "x": 164, + "y": 41, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd0af1c7e63be065b21a1353be568dbdc2f52538fee9d350363c389034379bd7e", + "assetIds": [] + }, + { + "x": 164, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x40157d362e43434807ebb7608d8d1984d81164b9b09a0e36d94db37ad483b8e0", + "assetIds": [] + }, + { + "x": 164, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x73ff7422d30bed9d8fed4efb5034692e87a945c1a9f25347cb4cc3d89cd826e1", + "assetIds": [] + }, + { + "x": 164, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8fe9c94d5dd4be7f5d0bf414a399a635abace313f1a869279a2a9bbfcdbf4a66", + "assetIds": [] + }, + { + "x": 164, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8918b3faeee08e3a0b14db32fe27a0575bc20479aaaeaa8e859f9271bfc2bb99", + "assetIds": [] + }, + { + "x": 164, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xe442fc09633495fcb22c6133754a6fbbe342b069cde6cb44379f67d3feb79beb", + "assetIds": [] + }, + { + "x": 164, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7eb6c4a84710f74c34856816721a39b7c11cca5093e45fd5bb552cf13d080534", + "assetIds": [] + }, + { + "x": 165, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x30c00b20810389396112af8b54d33224324c3c703e694a4b6edc43cf4736d247", + "assetIds": [] + }, + { + "x": 165, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb95fe8156333e0009737c4282a964bfaaf42da8c0b4a84f56b0465375cd62d1e", + "assetIds": [] + }, + { + "x": 165, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x0e7aaddf31c802b734cab4715b0a660ba5980fd317c8c5aa0e93256932bc3885", + "assetIds": [] + }, + { + "x": 166, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8c8ba1391671b336f6affdbbe3d7ba99eb16aea00f47c144d32a56b5da3df91e", + "assetIds": [] + }, + { + "x": 166, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb263ecc9dbbe4e692ffb482011e2d9f1efdb52c5aaea951c95d4cfb8854eb0f2", + "assetIds": [] + }, + { + "x": 166, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa6bd276a3ec3c33c77b4887cd74a5da29cae03d69745809aa6743750ba0f62c9", + "assetIds": [] + }, + { + "x": 167, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2e40c79cf93cd5655ae96b92dc144cc879f893473b01efc7bc0ee913f739ef71", + "assetIds": [] + }, + { + "x": 167, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf46b9edc7585ca8133c1dfbeb590bbae088c734c6a7c59fed3971c3dc35ee6f5", + "assetIds": [] + }, + { + "x": 167, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd67ac105174b0a00f9340c4f4978c9c8bc0453b17e3828cd426983658cc0c1a7", + "assetIds": [] + }, + { + "x": 168, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x136559332ca88f2ccbbe175d61f029cdea241e7b7587dbbf0cc16ee89809f973", + "assetIds": [] + }, + { + "x": 168, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb3857cfbc439432d2388bb815b195bad076ebd9cf0ab718bd320bc590ca6bef2", + "assetIds": [] + }, + { + "x": 168, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xa5e03599d545d83944a49207e2aff8a698959916b86f0f1843e4dd0f52e5a87e", + "assetIds": [] + }, + { + "x": 168, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x5f6f4d06238c66a89bd6a963661de6a50a98b95e14677d6357b65d7cb7f9a147", + "assetIds": [] + }, + { + "x": 168, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9df03190530aa89b4f77af9ddc9fb182d810911e5a7cb5878e508225fc5a3064", + "assetIds": [] + }, + { + "x": 168, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xacdef1699083ae84c805171930ef4d40ab212d5bb7c02c8bcda9089039d0e156", + "assetIds": [] + }, + { + "x": 169, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb233ee089e2cd72f25b5eb8e360ae7cf3f7f03e0f62bd050550635599ffe52f6", + "assetIds": [] + }, + { + "x": 169, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x18498a2af677d2fde94b2c7fa7f681305b11ab550a4b6d81814a1b1662650efb", + "assetIds": [] + }, + { + "x": 169, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x84344bbae2643dc7622f70b1909aedde268b17702ce13c03236f3629c7541939", + "assetIds": [] + }, + { + "x": 169, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x0a0bdb724b1fa68c86841794958abbd1de310a7a7f9813db777522167422065c", + "assetIds": [] + }, + { + "x": 169, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x54cf91b63874bde67c0ad9399b595dad206c6736f53954b121e47953c8c30540", + "assetIds": [] + }, + { + "x": 170, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8fcbf1c6d221e869504675e027de6b82d02e5168e119e39704c68a5f2a9e8bfc", + "assetIds": [] + }, + { + "x": 170, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x66cbecb7e942a4ea0fc350be176462263c487e23a20bd65fe5d40ecf709cf47f", + "assetIds": [] + }, + { + "x": 170, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xff0c0a0f6cc764ce6544db16badc0d17ddc0b4f0ec6c3d0a34a8a09c8d68cbbc", + "assetIds": [] + }, + { + "x": 170, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x43f4f05c4857682e4e811864b2430cfc8b7192eb6cb57e0b196154c34c476ca9", + "assetIds": [] + }, + { + "x": 170, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xe9f53f4e19508f872cb68a458f039bb20dd0dc2ccfabd443f024e3dcac5f21f4", + "assetIds": [] + }, + { + "x": 170, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6c54027e4db9086224500c628d0f59106249faa8e88277f9f47cc262a4204f13", + "assetIds": [] + }, + { + "x": 171, + "y": 36, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xeab0587ac5a8871893ad4c06c021e8f512471f3de3da7a72849a14fd77e405c8", + "assetIds": [] + }, + { + "x": 171, + "y": 37, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd35577b92c56021a65e0a39bab44fe288b52329cbe442babed3b8a1da715469d", + "assetIds": [] + }, + { + "x": 171, + "y": 38, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x70ad7feebee5dd33641db00d5b44fb71173fff94e64a1e384e4b6f717d814f0e", + "assetIds": [] + }, + { + "x": 171, + "y": 39, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb4034ef7ba4e10919bc7d749143aeb6707694e9eaa0da85a2dcb056bae3507c2", + "assetIds": [] + }, + { + "x": 171, + "y": 40, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa7c9b119dbb1dc0bc635cc5fd2ff3123b0695419cfa7d57ec6d46611c15f4ccc", + "assetIds": [] + }, + { + "x": 171, + "y": 41, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9ee41f39dd695ed56ad073afb8585aba24d7c07144239d25510c3ca5314d0f3d", + "assetIds": [] + }, + { + "x": 171, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6e8594ae7b9f8e9f00236b824efc51131bf714b390c9a1ff05432f82bf63e82b", + "assetIds": [] + }, + { + "x": 171, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xbd58d8ed28ecf7c2ee59a31918a66b0aa5ae43f95b9703b6c0fb932853c66f29", + "assetIds": [] + }, + { + "x": 171, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2b93c53b3c6988119732d45a108c7508abccc295598a869c5a0700d045740f10", + "assetIds": [] + }, + { + "x": 171, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1868fd17d67dd7c495b6c37f136b30743ab6e0749e6fd5209677edafcc9288e0", + "assetIds": [] + }, + { + "x": 171, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x70d5d4875da5879e5bb8e18e2b4eb62056c84061621309379099110b3f2e2793", + "assetIds": [] + }, + { + "x": 172, + "y": 37, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x86aab9b8c4642cccd0940458799b7808a53a6e981575cc1645ead6411c86788c", + "assetIds": [] + }, + { + "x": 172, + "y": 38, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xfedd4c47c815fd2ae7c98b371e081f14c73ec8a1e10fb1cbea38203814bbc699", + "assetIds": [] + }, + { + "x": 172, + "y": 40, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x4169ed45061b07fd7075d16e68abd7b2512b4d1ae57bf74e9786a17473de8372", + "assetIds": [] + }, + { + "x": 172, + "y": 41, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x808d4a9a603b32d88d95cb8d28c6f3e62a5820562f251a591e1c126c987c0232", + "assetIds": [] + }, + { + "x": 172, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4040ac72212cda55c5f36b40b939d7130d6127b39e55fe576ff64c45f81d4de1", + "assetIds": [] + }, + { + "x": 172, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x59925e00521f0080d61d760d2f80d8134fd3965fba8eaa8351c4ce6c7e913051", + "assetIds": [] + }, + { + "x": 172, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x5a482efd00567f8038af748377e7205663602a2b642b6238cb995ce6518d5faa", + "assetIds": [] + }, + { + "x": 172, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1f8062dae6bd816047e923312bb998a0c258e24e679b8f7582332216f72cf329", + "assetIds": [] + }, + { + "x": 172, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xcaa869344f83d0036eada9bef75c23d8b9861afdf956357246001e48d650196a", + "assetIds": [] + }, + { + "x": 172, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd373ea5d63c19de4500b9d8bb19c225c5c8d7febd6dcef47bfdd29151858f9bf", + "assetIds": [] + }, + { + "x": 173, + "y": 36, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x7baaff0849ef581a3b5ed7a00176cda8a9dddb1d95e98e7a0c422b2b12e07541", + "assetIds": [ + "24746286727506425005907133105494854215487608815285976522", + "24746660871925581717054193248812029583940640734016978378" + ] + }, + { + "x": 173, + "y": 37, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x9800f810d4fd2b994a8868322483422188dbaa20f2ecad5816659b8a0699d370", + "assetIds": [ + "24746286727506425005907133105494854215487608815285976522", + "24746660871925581717054193248812029583940640734016978378" + ] + }, + { + "x": 173, + "y": 39, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x29c56480ffb761ae5c79483e21fd77734897e9d87b9d904c6f67996c74fb2302", + "assetIds": [ + "24746286727506425005907133105494854215487608815285976522", + "24746660871925581717054193248812029583940640734016978378" + ] + }, + { + "x": 173, + "y": 40, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x93878f1b9c960bbf3db29c00faa12af789706592b70c9ea3bc3a83bc0a841370", + "assetIds": [ + "24746286727506425005907133105494854215487608815285976522", + "24746660871925581717054193248812029583940640734016978378" + ] + }, + { + "x": 173, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xfc5bc4fbe50b2e6fc02286dfc7920c50c4b4aad3b5f7407ab651424128449079", + "assetIds": [] + }, + { + "x": 173, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1f4447eb2654b79bee19efa9088631ad2d644c46e9aece4f0f73e52b8757ccba", + "assetIds": [] + }, + { + "x": 173, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2fe11516edf0fc54c0be853120a4af45f0c13a357758647d2d6fc073fd53ada8", + "assetIds": [] + }, + { + "x": 173, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2ea4585b5ca7631896246296fd7b52e8555fe08f8e2b59c2a9839265d4aa050b", + "assetIds": [] + }, + { + "x": 173, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xcb9e3fda44fdfca7d249f911a86883aceb6d042277ea5032d4196ca12ab500ca", + "assetIds": [] + }, + { + "x": 180, + "y": 36, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x818c29d693029c9630d12e6572df2af849945a12bda9ec19bdc12581fdc52a3c", + "assetIds": [ + "24746286727506425005907133105494854215487608815285976522", + "24746660871925581717054193248812029583940640734016978378" + ] + }, + { + "x": 180, + "y": 38, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0xdb1af01fa217bee19d6cf0bb33654d20abb8ce10b1927ad260f136ddc243c090", + "assetIds": [ + "24746286727506425005907133105494854215487608815285976522", + "24746660871925581717054193248812029583940640734016978378" + ] + }, + { + "x": 180, + "y": 40, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x2a4c27a437f370f05b5551a082cd56c0dd77f7d080ba8784e59c6620154127ec", + "assetIds": [ + "24746286727506425005907133105494854215487608815285976522", + "24746660871925581717054193248812029583940640734016978378" + ] + }, + { + "x": 180, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd64a6048559af12193607899a50e633de97055df03e10e44a41b5234ac7ee47a", + "assetIds": [] + }, + { + "x": 180, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x89950e092f28f22a9b6f8085cf98da151b8311b4bebd603a3a8812365d4df16e", + "assetIds": [] + }, + { + "x": 180, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x48af9dda5aab27cad54d56271c9efd779c73c052a09f95e9af17f02b9204adb1", + "assetIds": [] + }, + { + "x": 180, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa7311434d9844c2ff66f7c279761f4318d4fba3e7c9cdc929dea109e32d19b27", + "assetIds": [] + }, + { + "x": 180, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x53bad8019bb4153b907a50c54dd037ad8b1db2e959bd9910b9a8ce5053aed8a4", + "assetIds": [] + }, + { + "x": 181, + "y": 37, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x3061312d8d6d02af5190b79b784b60d227ee96f01a25fb5618c55c23650065c8", + "assetIds": [] + }, + { + "x": 181, + "y": 39, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9b8544b1f0098b44d349268cbb0f065c64e60e40fd4854bfff5c6578a02ec474", + "assetIds": [] + }, + { + "x": 181, + "y": 41, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x88d35b6f307238b4789a20065294a5b1b132d667ae9915e5f24ab7d98484d197", + "assetIds": [] + }, + { + "x": 181, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x867358f2154fd5933885c0e8278b4a1f6e664af26f34ba52d70e733b53715f55", + "assetIds": [] + }, + { + "x": 181, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x88889dc24c9b12e6278f4ebacdda4ae25738daffba5ae1d9db7cf951b253cdfe", + "assetIds": [] + }, + { + "x": 181, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6d0de8ae87c851208eb48af7f5de77ba3c606e8cfc3eccd0e656230959bb2c1d", + "assetIds": [] + }, + { + "x": 181, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x79710331186b014ed6c67a8551175568b4fc380eb3e766fc099c04f3564d8585", + "assetIds": [] + }, + { + "x": 181, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2d50546171bb20ef486e20ef6b2798116acd6e53a812168670caba0950b9696d", + "assetIds": [] + }, + { + "x": 181, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb0819a994a6b812388e07fd971e4ea73c4e8f726a8af30acb614c293f4209387", + "assetIds": [] + }, + { + "x": 182, + "y": 36, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6a1b4088304ddf45ca7f4e15b8d13c0229206d6d764fa65c4310a439dd445503", + "assetIds": [] + }, + { + "x": 182, + "y": 37, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x3d9f1acacd8f46af864df726bfcce068a9d2d7d9bc1c4eaffdc5ca180c940b42", + "assetIds": [] + }, + { + "x": 182, + "y": 38, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x739853be97c8dc3b3ccaaf0f58c324d0916bf34b2e2b417ad52f98885d23bf60", + "assetIds": [] + }, + { + "x": 182, + "y": 39, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x35a6dee2c72a33b3820993361de028a57fa3b707b46b469cede1abf301ec2e55", + "assetIds": [] + }, + { + "x": 182, + "y": 40, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6e52c4cbbdf0a1ad93c0181c432381fdeefb3b77703e476b2d2a638f674024b5", + "assetIds": [] + }, + { + "x": 182, + "y": 41, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xce14c5b1f56057f65aec382e685b52bd568cac03b725fbf867181a59014fbed0", + "assetIds": [] + }, + { + "x": 182, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x3c5bc290378e670c148bcd81df29831146b79e3bb1e16dc116ec598fa11b2181", + "assetIds": [] + }, + { + "x": 182, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x09f8638b4fbf1dbd8d7ef8924e783cd249c17e44fecbcbb0665132b202bc3458", + "assetIds": [] + }, + { + "x": 182, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x3d17d3a52272a685e8b416db86285de6ae7e52aa4855e4d79f695bb5de2f45cf", + "assetIds": [] + }, + { + "x": 182, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xdf905038019fce8b28b22dd3114c8105252946b9484bae1100cab8de6901d46f", + "assetIds": [] + }, + { + "x": 182, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7e22cd852682586775ceaf6104647156d8f15a9d1f24348b703719491166ec6e", + "assetIds": [] + }, + { + "x": 182, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xbf5a3af5761472f8e5ebc2f4b3aa8541858ae3633fe0900d74637a2a4943f20a", + "assetIds": [] + }, + { + "x": 183, + "y": 36, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xed16e7db26926a64a001229673505de769d664bb88e3c9ecbfa0253d0a8d29cb", + "assetIds": [] + }, + { + "x": 183, + "y": 37, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x13f01aa905ddd74b31f7657ec6bb0a891a5d9449e39912aae6d0947821e8a053", + "assetIds": [] + }, + { + "x": 183, + "y": 38, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x37a63edeed62f750a084abdbd43f2df3e273341b9e8e9c172d05170413358f8f", + "assetIds": [] + }, + { + "x": 183, + "y": 39, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb7447643e26e6f103153c60d9c8bedd4ee1d8b6a0c71bb2b7ec553fe96f425bd", + "assetIds": [] + }, + { + "x": 183, + "y": 40, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9dbafef4db514b391cfdb82a45479ec3ee5ca4ce08859b9219d5b09699590129", + "assetIds": [] + }, + { + "x": 183, + "y": 41, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x0065f546dbdb80889de0111b6ec22454529c524a0e42a159f48dc24e62e59ce3", + "assetIds": [] + }, + { + "x": 183, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa7076a79306652396a5385b9236e8ed2b424a79380882b93c529a781a92e78d9", + "assetIds": [] + }, + { + "x": 183, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x6b14d3141434c99881a5992221d77067fe8d37634f1c9a3d2412ad29bafd7302", + "assetIds": [] + }, + { + "x": 183, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa9a6b0b7df82de006ce660057f722634150c4d5223135f61048bda9c230f5da2", + "assetIds": [] + }, + { + "x": 183, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8a3065c7930dcd6db82b7627c4576e4e23ac8bd603a51704250fc7b059d03ed8", + "assetIds": [] + }, + { + "x": 183, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x3d9f8b47cb295526e24c34a18b9c155da687f8b494a5c0ca0043cb6bf9cfe6c4", + "assetIds": [] + }, + { + "x": 183, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7a145b302b607ace5bc0f62001d63649fd56e3f968ea5aef00f412ea4e873cd1", + "assetIds": [] + }, + { + "x": 184, + "y": 36, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf22f9837dae9c0f510e3ab5cbda83af0de9c227aff5529f970c708b7055a77e5", + "assetIds": [] + }, + { + "x": 184, + "y": 37, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x99c7e07a0cb6bf864eb8991d66e9217cfdaaad324f9472761af6f5f14f8ef5cb", + "assetIds": [] + }, + { + "x": 184, + "y": 38, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8e773a31d35f61c7152c94a34e3519edbe2ed962c1596d825eb89df3f2825f51", + "assetIds": [] + }, + { + "x": 184, + "y": 39, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb928875ced96804f6b7386e1449052eef8b2b5511477c9ac7ce32abebaac4387", + "assetIds": [] + }, + { + "x": 184, + "y": 40, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xa8a0a205f5380f6fdd6e6bcbaf03e5b6e96a9b60b548eac6f728a2b86a7008ed", + "assetIds": [] + }, + { + "x": 184, + "y": 41, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x0e9a0b7be03a9a2a0c0355aec8aecd87de12e6b7e3b0414bf6c4746913ba29ff", + "assetIds": [] + }, + { + "x": 184, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc6393e864ad01a4366e972257faa22de6f602a1b78a99f0e9fd96b2e3db20c5b", + "assetIds": [] + }, + { + "x": 184, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2e1962aab762e34bc33d0c102e7e8aa5f832443763388a0e20f5cd88ddd8e57f", + "assetIds": [] + }, + { + "x": 184, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf74863f5a2fd33f017546a5a33bd654ae63af7a58a684301c92369bb00782195", + "assetIds": [] + }, + { + "x": 184, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xce30718064381aae51fc0841881cc24576c923520f836efcddd112a153f3c7e9", + "assetIds": [] + }, + { + "x": 184, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8523298740b95daf1d369dc90a23399789f46364a8eb9f851c6bf80d70318d2e", + "assetIds": [] + }, + { + "x": 185, + "y": 36, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xca1caa8201c60454032f70374e8811f233e3a20542bd51fb2f1ded1672c81ebe", + "assetIds": [] + }, + { + "x": 185, + "y": 37, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xbdab1eb47147080abc5c149cff012b3bfab07c3425f82ec8468985378a88b8ab", + "assetIds": [] + }, + { + "x": 185, + "y": 38, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9384d6f4558bf4b36fe2a3748ed44cda0aa933cb6cbee95bd48a68a71f10e22f", + "assetIds": [] + }, + { + "x": 185, + "y": 39, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf1d5ba57fae0a729194f3e4959e2d2ed459a5ae3eb3ff9c90343720ffc3c4bd6", + "assetIds": [] + }, + { + "x": 185, + "y": 40, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc0018c2261bb329899609c1d1936d3a2155640c4f6b3bb8a1510676624f28ce2", + "assetIds": [] + }, + { + "x": 185, + "y": 41, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd0e735888ecc3568efdaa2a49aa6c27e7c6ec062d5c4e3b7e4d64e1f7fed066d", + "assetIds": [] + }, + { + "x": 185, + "y": 42, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x330f18bcc6ca430482fb6179e8a63b8f193c2bd58e74bfbee150444b56d84e52", + "assetIds": [] + }, + { + "x": 185, + "y": 43, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1e6ceb73eccbc58d3a75b69eb282b3fa0c7b7e7175563ec45f36b0be22789c9a", + "assetIds": [] + }, + { + "x": 185, + "y": 44, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd0fb881fedd6330f5f0f4e74d1735163faa042118eb9d85a822d156af0786a1b", + "assetIds": [] + }, + { + "x": 185, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x551c4c4be7bbb3f9921d787c762b8aa46a9b157325daa33aa7908a61a68224ec", + "assetIds": [] + }, + { + "x": 185, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xfca4877680f922fdd4f2b029c59fad1d32da0949382e2e05ea512306157bce27", + "assetIds": [] + }, + { + "x": 185, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd644810efd57b1e95d223d25cb3aef52cfa674faf46c694990798e4f67daa6b2", + "assetIds": [] + }, + { + "x": 186, + "y": 33, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2958bd7975e5a4a85c0622db3ab83831b04a150bb46fb1195604b3c328c86662", + "assetIds": [] + }, + { + "x": 186, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4abd829943132e276aa5d2d09e73da9177f77a9630e6c57fc3619e6c39c5e87e", + "assetIds": [] + }, + { + "x": 186, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x360e13c996e300aa8b67eb3685ea011429654645da573add247130bd1176a529", + "assetIds": [] + }, + { + "x": 186, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd0a3f22e9a55f1f33c29fb772af7b0257a63d2dbf25f45569bbac80c5807274d", + "assetIds": [] + }, + { + "x": 187, + "y": 33, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xe5984c2454319ddb1629ad34ddc5cf8de98f8bdddfab32eed6499e7e4c3acf7d", + "assetIds": [] + }, + { + "x": 187, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x0537dcfc68cbbacfec1de5749dbc9ddb2d2c624d60b17bcec49714a4bdbb749c", + "assetIds": [] + }, + { + "x": 187, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x96a9270e0185d1d512ebe468efd19521d3b9348e4a726d4f688f4283327e466e", + "assetIds": [] + }, + { + "x": 187, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xcd0d58955fe2bbce67dc083a5ce43109c7b2e3156bf25af58eb02d5e20159d49", + "assetIds": [] + }, + { + "x": 188, + "y": 33, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9e0e624863f116b07c341842d9e27ca6e21a88f0ba8915a333da6fe085418be6", + "assetIds": [] + }, + { + "x": 188, + "y": 45, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x3d05e20386a085950dc7e31f45432bda52c4be825a2d49ba9e67afcc8ed9e1e8", + "assetIds": [] + }, + { + "x": 188, + "y": 46, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xfda17d1892079195d9d7149f4486370a96ad62ac4e00d5b6c873b9a3a0b7f16d", + "assetIds": [] + }, + { + "x": 188, + "y": 47, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd932f0369325968c4da7da048cede28a2a7ca078d70198cb0a5ec64ec048ebb5", + "assetIds": [] + }, + { + "x": 165, + "y": 39, + "size": 3, + "price": "8648000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x205227a13813bbcdd4a78b05471017436dfed316aba4ab8af7de8ee3fc86f4b4", + "assetIds": [] + }, + { + "x": 168, + "y": 39, + "size": 3, + "price": "8648000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x6099cdedad5d43173e7a46ae90a340461f780618dd8b55b509406a71cf573e3a", + "assetIds": [] + }, + { + "x": 183, + "y": 33, + "size": 3, + "price": "8648000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xc553865771f7cf09f93d59ea19d6622bca67ae74e9c1a0435a8d3ad742388910", + "assetIds": [] + }, + { + "x": 186, + "y": 36, + "size": 3, + "price": "8648000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xf527d2db409d5c11ffe7731f024c5fc2522653147e7d24a3092aa2635fc0a99d", + "assetIds": [] + }, + { + "x": 186, + "y": 39, + "size": 3, + "price": "8648000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x40f64bfa7f10d47a0985a84fb4bb9f8b8cd8a3b23f4ac8edc5d89cf7bf83ef47", + "assetIds": [] + }, + { + "x": 174, + "y": 36, + "size": 6, + "price": "32772000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xf4b0dd18fe97f0faf2f9fa41e090379634c08ba61766b6a1a1c0d4aab175d3ba", + "assetIds": [] + }, + { + "x": 174, + "y": 42, + "size": 6, + "price": "32772000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x56a88b4415562d9e5eb2a6910535cf289491e757c991e278c396cf0081ee81fb", + "assetIds": [] + } + ], + "solcInputHash": "b42a863a795806b4ea3a8f05dfa42539", + "metadata": "{\"compiler\":{\"version\":\"0.6.5+commit.f956cc89\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"landAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sandContractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"initialMetaTx\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"initialWalletAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"expiryTime\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"initialSigningWallet\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"initialMaxCommissionRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"estate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeDistributor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"authValidator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"topCornerId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountPaid\",\"type\":\"uint256\"}],\"name\":\"LandQuadPurchased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newMaxCommissionRate\",\"type\":\"uint256\"}],\"name\":\"MaxCommissionRateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"metaTransactionProcessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"MetaTransactionProcessor\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newWallet\",\"type\":\"address\"}],\"name\":\"NewReceivingWallet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"referee\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"commission\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"commissionRate\",\"type\":\"uint256\"}],\"name\":\"ReferralUsed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newSigningWallet\",\"type\":\"address\"}],\"name\":\"SigningWalletUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"reserved\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"info\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"assetIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"referral\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"buyLandWithSand\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"changeAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"referral\",\"type\":\"bytes\"}],\"name\":\"decodeReferral\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"disableWallet\",\"type\":\"address\"}],\"name\":\"disablePreviousSigningWallet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpiryTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxCommissionRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMerkleRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSigningWallet\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"isMetaTransactionProcessor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"referee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"expiryTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commissionRate\",\"type\":\"uint256\"}],\"name\":\"isReferralValid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"metaTransactionProcessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"setMetaTransactionProcessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"newWallet\",\"type\":\"address\"}],\"name\":\"setReceivingWallet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newMaxCommissionRate\",\"type\":\"uint256\"}],\"name\":\"updateMaxCommissionRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newSigningWallet\",\"type\":\"address\"}],\"name\":\"updateSigningWallet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"assetIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"withdrawAssets\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"buyLandWithSand(address,address,address,uint256[],bytes32,uint256[],bytes32[],bytes,bytes)\":{\"params\":{\"assetIds\":\"asset ids (lands) that will be bought\",\"buyer\":\"address that perform the payment\",\"info\":\"[X_INDEX=0] x coordinate of the Land [Y_INDEX=1] y coordinate of the Land [SIZE_INDEX=2] size of the pack of Land to purchase [PRICE_INDEX=3] price in SAND to purchase that Land\",\"proof\":\"merkleProof for that particular Land\",\"referral\":\"referral id\",\"reserved\":\"the reserved address (if any)\",\"salt\":\"The salt submitted for verification.\",\"signature\":\"A signed message specifying tx details\",\"to\":\"address that will own the purchased Land\"}},\"changeAdmin(address)\":{\"details\":\"change the administrator to be `newAdmin`.\",\"params\":{\"newAdmin\":\"address of the new administrator.\"}},\"disablePreviousSigningWallet(address)\":{\"details\":\"Disable compromised signing wallet\",\"params\":{\"disableWallet\":\"The wallet address to be disabled\"}},\"getAdmin()\":{\"details\":\"gives the current administrator of this contract.\",\"returns\":{\"_0\":\"the current administrator of this contract.\"}},\"getSigningWallet()\":{\"details\":\"signing wallet authorized for referral\",\"returns\":{\"_0\":\"the address of the signing wallet\"}},\"isMetaTransactionProcessor(address)\":{\"details\":\"check whether address `who` is given meta-transaction execution rights.\",\"params\":{\"who\":\"The address to query.\"},\"returns\":{\"_0\":\"whether the address has meta-transaction execution rights.\"}},\"isReferralValid(bytes,address,address,uint256,uint256)\":{\"params\":{\"commissionRate\":\"The commissionRate of the referral\",\"expiryTime\":\"The expiry time of the referral\",\"referee\":\"The address of the referee\",\"referrer\":\"The address of the referrer\",\"signature\":\"The signature to check (signed referral)\"},\"returns\":{\"_0\":\"True if the referral is valid\"}},\"setMetaTransactionProcessor(address,bool)\":{\"details\":\"Enable or disable the ability of `metaTransactionProcessor` to perform meta-tx (metaTransactionProcessor rights).\",\"params\":{\"enabled\":\"set whether the metaTransactionProcessor is enabled or disabled.\",\"metaTransactionProcessor\":\"address that will be given/removed metaTransactionProcessor rights.\"}},\"setReceivingWallet(address)\":{\"params\":{\"newWallet\":\"address of the new receiving wallet\"}},\"updateMaxCommissionRate(uint256)\":{\"details\":\"Update the maximum commission rate\",\"params\":{\"newMaxCommissionRate\":\"The new maximum commission rate\"}},\"updateSigningWallet(address)\":{\"details\":\"Update the signing wallet The previous wallet is still valid for a grace period (_previousSigningDelay). If you want to disable the previous wallet, use the disablePreviousSigningWallet function.\",\"params\":{\"newSigningWallet\":\"The new address of the signing wallet\"}},\"withdrawAssets(address,uint256[],uint256[])\":{\"params\":{\"assetIds\":\"the assetIds to be transferred\",\"to\":\"intended recipient of the asset tokens\",\"values\":\"the quantities of the assetIds to be transferred\"}}},\"title\":\"Estate Sale contract with referral\"},\"userdoc\":{\"methods\":{\"buyLandWithSand(address,address,address,uint256[],bytes32,uint256[],bytes32[],bytes,bytes)\":{\"notice\":\"buy Land with SAND using the merkle proof associated with it\"},\"getExpiryTime()\":{\"notice\":\"Gets the expiry time for the current sale\"},\"getMaxCommissionRate()\":{\"notice\":\"the max commission rate\"},\"getMerkleRoot()\":{\"notice\":\"Gets the Merkle root associated with the current sale\"},\"isReferralValid(bytes,address,address,uint256,uint256)\":{\"notice\":\"Check if a referral is valid\"},\"setReceivingWallet(address)\":{\"notice\":\"set the wallet receiving the proceeds\"},\"withdrawAssets(address,uint256[],uint256[])\":{\"notice\":\"enable Admin to withdraw remaining assets from EstateSaleWithFee contract\"}},\"notice\":\"This contract manages the sale of our lands as Estates\"}},\"settings\":{\"compilationTarget\":{\"src/solc_0.6/EstateSale/EstateSaleWithAuth.sol\":\"EstateSaleWithAuth\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":2000},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-0.6/cryptography/ECDSA.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.6.0;\\n\\n/**\\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\\n *\\n * These functions can be used to verify that a message was signed by the holder\\n * of the private keys of a given address.\\n */\\nlibrary ECDSA {\\n /**\\n * @dev Returns the address that signed a hashed message (`hash`) with\\n * `signature`. This address can then be used for verification purposes.\\n *\\n * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\\n * this function rejects them by requiring the `s` value to be in the lower\\n * half order, and the `v` value to be either 27 or 28.\\n *\\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\\n * verification to be secure: it is possible to craft signatures that\\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\\n * this is by receiving a hash of the original message (which may otherwise\\n * be too long), and then calling {toEthSignedMessageHash} on it.\\n */\\n function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {\\n // Check the signature length\\n if (signature.length != 65) {\\n revert(\\\"ECDSA: invalid signature length\\\");\\n }\\n\\n // Divide the signature in r, s and v variables\\n bytes32 r;\\n bytes32 s;\\n uint8 v;\\n\\n // ecrecover takes the signature parameters, and the only way to get them\\n // currently is to use assembly.\\n // solhint-disable-next-line no-inline-assembly\\n assembly {\\n r := mload(add(signature, 0x20))\\n s := mload(add(signature, 0x40))\\n v := byte(0, mload(add(signature, 0x60)))\\n }\\n\\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\\n // the valid range for s in (281): 0 < s < secp256k1n \\u00f7 2 + 1, and for v in (282): v \\u2208 {27, 28}. Most\\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\\n //\\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\\n // these malleable signatures as well.\\n if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {\\n revert(\\\"ECDSA: invalid signature 's' value\\\");\\n }\\n\\n if (v != 27 && v != 28) {\\n revert(\\\"ECDSA: invalid signature 'v' value\\\");\\n }\\n\\n // If the signature is valid (and not malleable), return the signer address\\n address signer = ecrecover(hash, v, r, s);\\n require(signer != address(0), \\\"ECDSA: invalid signature\\\");\\n\\n return signer;\\n }\\n\\n /**\\n * @dev Returns an Ethereum Signed Message, created from a `hash`. This\\n * replicates the behavior of the\\n * https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign[`eth_sign`]\\n * JSON-RPC method.\\n *\\n * See {recover}.\\n */\\n function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) {\\n // 32 is the length in bytes of hash,\\n // enforced by the type signature above\\n return keccak256(abi.encodePacked(\\\"\\\\x19Ethereum Signed Message:\\\\n32\\\", hash));\\n }\\n}\\n\",\"keccak256\":\"0x1efcb1ccef6b3bce65467c4b704cec8d0582e35ff48352269ba8cda4b54ae3da\"},\"@openzeppelin/contracts-0.6/introspection/IERC165.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.6.0;\\n\\n/**\\n * @dev Interface of the ERC165 standard, as defined in the\\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\\n *\\n * Implementers can declare support of contract interfaces, which can then be\\n * queried by others ({ERC165Checker}).\\n *\\n * For an implementation, see {ERC165}.\\n */\\ninterface IERC165 {\\n /**\\n * @dev Returns true if this contract implements the interface defined by\\n * `interfaceId`. See the corresponding\\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\\n * to learn more about how these ids are created.\\n *\\n * This function call must use less than 30 000 gas.\\n */\\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\\n}\\n\",\"keccak256\":\"0xfa152b6e88a1dc50780e8f1580426dc23ad2e1e2c2f086a088adf206a202f453\"},\"@openzeppelin/contracts-0.6/math/SafeMath.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.6.0;\\n\\n/**\\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\\n * checks.\\n *\\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\\n * in bugs, because programmers usually assume that an overflow raises an\\n * error, which is the standard behavior in high level programming languages.\\n * `SafeMath` restores this intuition by reverting the transaction when an\\n * operation overflows.\\n *\\n * Using this library instead of the unchecked operations eliminates an entire\\n * class of bugs, so it's recommended to use it always.\\n */\\nlibrary SafeMath {\\n /**\\n * @dev Returns the addition of two unsigned integers, reverting on\\n * overflow.\\n *\\n * Counterpart to Solidity's `+` operator.\\n *\\n * Requirements:\\n *\\n * - Addition cannot overflow.\\n */\\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\\n uint256 c = a + b;\\n require(c >= a, \\\"SafeMath: addition overflow\\\");\\n\\n return c;\\n }\\n\\n /**\\n * @dev Returns the subtraction of two unsigned integers, reverting on\\n * overflow (when the result is negative).\\n *\\n * Counterpart to Solidity's `-` operator.\\n *\\n * Requirements:\\n *\\n * - Subtraction cannot overflow.\\n */\\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\\n return sub(a, b, \\\"SafeMath: subtraction overflow\\\");\\n }\\n\\n /**\\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\\n * overflow (when the result is negative).\\n *\\n * Counterpart to Solidity's `-` operator.\\n *\\n * Requirements:\\n *\\n * - Subtraction cannot overflow.\\n */\\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\\n require(b <= a, errorMessage);\\n uint256 c = a - b;\\n\\n return c;\\n }\\n\\n /**\\n * @dev Returns the multiplication of two unsigned integers, reverting on\\n * overflow.\\n *\\n * Counterpart to Solidity's `*` operator.\\n *\\n * Requirements:\\n *\\n * - Multiplication cannot overflow.\\n */\\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\\n // benefit is lost if 'b' is also tested.\\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\\n if (a == 0) {\\n return 0;\\n }\\n\\n uint256 c = a * b;\\n require(c / a == b, \\\"SafeMath: multiplication overflow\\\");\\n\\n return c;\\n }\\n\\n /**\\n * @dev Returns the integer division of two unsigned integers. Reverts on\\n * division by zero. The result is rounded towards zero.\\n *\\n * Counterpart to Solidity's `/` operator. Note: this function uses a\\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\\n * uses an invalid opcode to revert (consuming all remaining gas).\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\\n return div(a, b, \\\"SafeMath: division by zero\\\");\\n }\\n\\n /**\\n * @dev Returns the integer division of two unsigned integers. Reverts with custom message on\\n * division by zero. The result is rounded towards zero.\\n *\\n * Counterpart to Solidity's `/` operator. Note: this function uses a\\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\\n * uses an invalid opcode to revert (consuming all remaining gas).\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\\n require(b > 0, errorMessage);\\n uint256 c = a / b;\\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\\n\\n return c;\\n }\\n\\n /**\\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\\n * Reverts when dividing by zero.\\n *\\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\\n * opcode (which leaves remaining gas untouched) while Solidity uses an\\n * invalid opcode to revert (consuming all remaining gas).\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\\n return mod(a, b, \\\"SafeMath: modulo by zero\\\");\\n }\\n\\n /**\\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\\n * Reverts with custom message when dividing by zero.\\n *\\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\\n * opcode (which leaves remaining gas untouched) while Solidity uses an\\n * invalid opcode to revert (consuming all remaining gas).\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\\n require(b != 0, errorMessage);\\n return a % b;\\n }\\n}\\n\",\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\"},\"@openzeppelin/contracts-0.6/token/ERC1155/IERC1155.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.6.2;\\n\\nimport \\\"../../introspection/IERC165.sol\\\";\\n\\n/**\\n * @dev Required interface of an ERC1155 compliant contract, as defined in the\\n * https://eips.ethereum.org/EIPS/eip-1155[EIP].\\n *\\n * _Available since v3.1._\\n */\\ninterface IERC1155 is IERC165 {\\n /**\\n * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\\n */\\n event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);\\n\\n /**\\n * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\\n * transfers.\\n */\\n event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values);\\n\\n /**\\n * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\\n * `approved`.\\n */\\n event ApprovalForAll(address indexed account, address indexed operator, bool approved);\\n\\n /**\\n * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\\n *\\n * If an {URI} event was emitted for `id`, the standard\\n * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\\n * returned by {IERC1155MetadataURI-uri}.\\n */\\n event URI(string value, uint256 indexed id);\\n\\n /**\\n * @dev Returns the amount of tokens of token type `id` owned by `account`.\\n *\\n * Requirements:\\n *\\n * - `account` cannot be the zero address.\\n */\\n function balanceOf(address account, uint256 id) external view returns (uint256);\\n\\n /**\\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\\n *\\n * Requirements:\\n *\\n * - `accounts` and `ids` must have the same length.\\n */\\n function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids) external view returns (uint256[] memory);\\n\\n /**\\n * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\\n *\\n * Emits an {ApprovalForAll} event.\\n *\\n * Requirements:\\n *\\n * - `operator` cannot be the caller.\\n */\\n function setApprovalForAll(address operator, bool approved) external;\\n\\n /**\\n * @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\\n *\\n * See {setApprovalForAll}.\\n */\\n function isApprovedForAll(address account, address operator) external view returns (bool);\\n\\n /**\\n * @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\\n *\\n * Emits a {TransferSingle} event.\\n *\\n * Requirements:\\n *\\n * - `to` cannot be the zero address.\\n * - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}.\\n * - `from` must have a balance of tokens of type `id` of at least `amount`.\\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\\n * acceptance magic value.\\n */\\n function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) external;\\n\\n /**\\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\\n *\\n * Emits a {TransferBatch} event.\\n *\\n * Requirements:\\n *\\n * - `ids` and `amounts` must have the same length.\\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\\n * acceptance magic value.\\n */\\n function safeBatchTransferFrom(address from, address to, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data) external;\\n}\\n\",\"keccak256\":\"0x31691ad0817f8cb338531b78d2ab2989027d9f27e6f8e62492b754fed9429b10\"},\"@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.6.0;\\n\\n/**\\n * @dev Interface of the ERC20 standard as defined in the EIP.\\n */\\ninterface IERC20 {\\n /**\\n * @dev Returns the amount of tokens in existence.\\n */\\n function totalSupply() external view returns (uint256);\\n\\n /**\\n * @dev Returns the amount of tokens owned by `account`.\\n */\\n function balanceOf(address account) external view returns (uint256);\\n\\n /**\\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\\n *\\n * Returns a boolean value indicating whether the operation succeeded.\\n *\\n * Emits a {Transfer} event.\\n */\\n function transfer(address recipient, uint256 amount) external returns (bool);\\n\\n /**\\n * @dev Returns the remaining number of tokens that `spender` will be\\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\\n * zero by default.\\n *\\n * This value changes when {approve} or {transferFrom} are called.\\n */\\n function allowance(address owner, address spender) external view returns (uint256);\\n\\n /**\\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\\n *\\n * Returns a boolean value indicating whether the operation succeeded.\\n *\\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\\n * that someone may use both the old and the new allowance by unfortunate\\n * transaction ordering. One possible solution to mitigate this race\\n * condition is to first reduce the spender's allowance to 0 and set the\\n * desired value afterwards:\\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\\n *\\n * Emits an {Approval} event.\\n */\\n function approve(address spender, uint256 amount) external returns (bool);\\n\\n /**\\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\\n * allowance mechanism. `amount` is then deducted from the caller's\\n * allowance.\\n *\\n * Returns a boolean value indicating whether the operation succeeded.\\n *\\n * Emits a {Transfer} event.\\n */\\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\\n\\n /**\\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\\n * another (`to`).\\n *\\n * Note that `value` may be zero.\\n */\\n event Transfer(address indexed from, address indexed to, uint256 value);\\n\\n /**\\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\\n * a call to {approve}. `value` is the new allowance.\\n */\\n event Approval(address indexed owner, address indexed spender, uint256 value);\\n}\\n\",\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\"},\"@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.6.0;\\n\\nimport \\\"./IERC20.sol\\\";\\nimport \\\"../../math/SafeMath.sol\\\";\\nimport \\\"../../utils/Address.sol\\\";\\n\\n/**\\n * @title SafeERC20\\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\\n * contract returns false). Tokens that return no value (and instead revert or\\n * throw on failure) are also supported, non-reverting calls are assumed to be\\n * successful.\\n * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\\n */\\nlibrary SafeERC20 {\\n using SafeMath for uint256;\\n using Address for address;\\n\\n function safeTransfer(IERC20 token, address to, uint256 value) internal {\\n _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));\\n }\\n\\n function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {\\n _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));\\n }\\n\\n /**\\n * @dev Deprecated. This function has issues similar to the ones found in\\n * {IERC20-approve}, and its usage is discouraged.\\n *\\n * Whenever possible, use {safeIncreaseAllowance} and\\n * {safeDecreaseAllowance} instead.\\n */\\n function safeApprove(IERC20 token, address spender, uint256 value) internal {\\n // safeApprove should only be called when setting an initial allowance,\\n // or when resetting it to zero. To increase and decrease it, use\\n // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'\\n // solhint-disable-next-line max-line-length\\n require((value == 0) || (token.allowance(address(this), spender) == 0),\\n \\\"SafeERC20: approve from non-zero to non-zero allowance\\\"\\n );\\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));\\n }\\n\\n function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {\\n uint256 newAllowance = token.allowance(address(this), spender).add(value);\\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));\\n }\\n\\n function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {\\n uint256 newAllowance = token.allowance(address(this), spender).sub(value, \\\"SafeERC20: decreased allowance below zero\\\");\\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));\\n }\\n\\n /**\\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\\n * on the return value: the return value is optional (but if data is returned, it must not be false).\\n * @param token The token targeted by the call.\\n * @param data The call data (encoded using abi.encode or one of its variants).\\n */\\n function _callOptionalReturn(IERC20 token, bytes memory data) private {\\n // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since\\n // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that\\n // the target address contains contract code and also asserts for success in the low-level call.\\n\\n bytes memory returndata = address(token).functionCall(data, \\\"SafeERC20: low-level call failed\\\");\\n if (returndata.length > 0) { // Return data is optional\\n // solhint-disable-next-line max-line-length\\n require(abi.decode(returndata, (bool)), \\\"SafeERC20: ERC20 operation did not succeed\\\");\\n }\\n }\\n}\\n\",\"keccak256\":\"0xf3b30f8a49631420635a8c35daacfcaa338012755f18a76fdd118730256f9a27\"},\"@openzeppelin/contracts-0.6/utils/Address.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.6.2;\\n\\n/**\\n * @dev Collection of functions related to the address type\\n */\\nlibrary Address {\\n /**\\n * @dev Returns true if `account` is a contract.\\n *\\n * [IMPORTANT]\\n * ====\\n * It is unsafe to assume that an address for which this function returns\\n * false is an externally-owned account (EOA) and not a contract.\\n *\\n * Among others, `isContract` will return false for the following\\n * types of addresses:\\n *\\n * - an externally-owned account\\n * - a contract in construction\\n * - an address where a contract will be created\\n * - an address where a contract lived, but was destroyed\\n * ====\\n */\\n function isContract(address account) internal view returns (bool) {\\n // This method relies in extcodesize, which returns 0 for contracts in\\n // construction, since the code is only stored at the end of the\\n // constructor execution.\\n\\n uint256 size;\\n // solhint-disable-next-line no-inline-assembly\\n assembly { size := extcodesize(account) }\\n return size > 0;\\n }\\n\\n /**\\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\\n * `recipient`, forwarding all available gas and reverting on errors.\\n *\\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\\n * imposed by `transfer`, making them unable to receive funds via\\n * `transfer`. {sendValue} removes this limitation.\\n *\\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\\n *\\n * IMPORTANT: because control is transferred to `recipient`, care must be\\n * taken to not create reentrancy vulnerabilities. Consider using\\n * {ReentrancyGuard} or the\\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\\n */\\n function sendValue(address payable recipient, uint256 amount) internal {\\n require(address(this).balance >= amount, \\\"Address: insufficient balance\\\");\\n\\n // solhint-disable-next-line avoid-low-level-calls, avoid-call-value\\n (bool success, ) = recipient.call{ value: amount }(\\\"\\\");\\n require(success, \\\"Address: unable to send value, recipient may have reverted\\\");\\n }\\n\\n /**\\n * @dev Performs a Solidity function call using a low level `call`. A\\n * plain`call` is an unsafe replacement for a function call: use this\\n * function instead.\\n *\\n * If `target` reverts with a revert reason, it is bubbled up by this\\n * function (like regular Solidity function calls).\\n *\\n * Returns the raw returned data. To convert to the expected return value,\\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\\n *\\n * Requirements:\\n *\\n * - `target` must be a contract.\\n * - calling `target` with `data` must not revert.\\n *\\n * _Available since v3.1._\\n */\\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\\n return functionCall(target, data, \\\"Address: low-level call failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\\n * `errorMessage` as a fallback revert reason when `target` reverts.\\n *\\n * _Available since v3.1._\\n */\\n function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\\n return _functionCallWithValue(target, data, 0, errorMessage);\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\\n * but also transferring `value` wei to `target`.\\n *\\n * Requirements:\\n *\\n * - the calling contract must have an ETH balance of at least `value`.\\n * - the called Solidity function must be `payable`.\\n *\\n * _Available since v3.1._\\n */\\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\\n return functionCallWithValue(target, data, value, \\\"Address: low-level call with value failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\\n * with `errorMessage` as a fallback revert reason when `target` reverts.\\n *\\n * _Available since v3.1._\\n */\\n function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {\\n require(address(this).balance >= value, \\\"Address: insufficient balance for call\\\");\\n return _functionCallWithValue(target, data, value, errorMessage);\\n }\\n\\n function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {\\n require(isContract(target), \\\"Address: call to non-contract\\\");\\n\\n // solhint-disable-next-line avoid-low-level-calls\\n (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);\\n if (success) {\\n return returndata;\\n } else {\\n // Look for revert reason and bubble it up if present\\n if (returndata.length > 0) {\\n // The easiest way to bubble the revert reason is using memory via assembly\\n\\n // solhint-disable-next-line no-inline-assembly\\n assembly {\\n let returndata_size := mload(returndata)\\n revert(add(32, returndata), returndata_size)\\n }\\n } else {\\n revert(errorMessage);\\n }\\n }\\n }\\n}\\n\",\"keccak256\":\"0xf5fa8cbdffa5ef8be49b246b5628facc30b71707e78a45d80d93b64eff3fe390\"},\"@openzeppelin/contracts-0.6/utils/ReentrancyGuard.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity ^0.6.0;\\n\\n/**\\n * @dev Contract module that helps prevent reentrant calls to a function.\\n *\\n * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\\n * available, which can be applied to functions to make sure there are no nested\\n * (reentrant) calls to them.\\n *\\n * Note that because there is a single `nonReentrant` guard, functions marked as\\n * `nonReentrant` may not call one another. This can be worked around by making\\n * those functions `private`, and then adding `external` `nonReentrant` entry\\n * points to them.\\n *\\n * TIP: If you would like to learn more about reentrancy and alternative ways\\n * to protect against it, check out our blog post\\n * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\\n */\\ncontract ReentrancyGuard {\\n // Booleans are more expensive than uint256 or any type that takes up a full\\n // word because each write operation emits an extra SLOAD to first read the\\n // slot's contents, replace the bits taken up by the boolean, and then write\\n // back. This is the compiler's defense against contract upgrades and\\n // pointer aliasing, and it cannot be disabled.\\n\\n // The values being non-zero value makes deployment a bit more expensive,\\n // but in exchange the refund on every call to nonReentrant will be lower in\\n // amount. Since refunds are capped to a percentage of the total\\n // transaction's gas, it is best to keep them low in cases like this one, to\\n // increase the likelihood of the full refund coming into effect.\\n uint256 private constant _NOT_ENTERED = 1;\\n uint256 private constant _ENTERED = 2;\\n\\n uint256 private _status;\\n\\n constructor () internal {\\n _status = _NOT_ENTERED;\\n }\\n\\n /**\\n * @dev Prevents a contract from calling itself, directly or indirectly.\\n * Calling a `nonReentrant` function from another `nonReentrant`\\n * function is not supported. It is possible to prevent this from happening\\n * by making the `nonReentrant` function external, and make it call a\\n * `private` function that does the actual work.\\n */\\n modifier nonReentrant() {\\n // On the first call to nonReentrant, _notEntered will be true\\n require(_status != _ENTERED, \\\"ReentrancyGuard: reentrant call\\\");\\n\\n // Any calls to nonReentrant after this point will fail\\n _status = _ENTERED;\\n\\n _;\\n\\n // By storing the original value once again, a refund is triggered (see\\n // https://eips.ethereum.org/EIPS/eip-2200)\\n _status = _NOT_ENTERED;\\n }\\n}\\n\",\"keccak256\":\"0x7ff0067f2d7df4187eaa1cb4800949b929602c9d9cb20fcaee6922a7613ef2fb\"},\"src/solc_0.6/EstateSale/AuthValidator.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity 0.6.5;\\n\\nimport \\\"@openzeppelin/contracts-0.6/cryptography/ECDSA.sol\\\";\\nimport \\\"../common/BaseWithStorage/Admin.sol\\\";\\n\\ncontract AuthValidator is Admin {\\n address public _signingAuthWallet;\\n\\n event SigningWallet(address indexed signingWallet);\\n\\n constructor(address adminWallet, address initialSigningWallet) public {\\n require(adminWallet != address(0), \\\"AuthValidator: zero address\\\");\\n\\n _admin = adminWallet;\\n _updateSigningAuthWallet(initialSigningWallet);\\n }\\n\\n function updateSigningAuthWallet(address newSigningWallet) external onlyAdmin {\\n _updateSigningAuthWallet(newSigningWallet);\\n }\\n\\n function _updateSigningAuthWallet(address newSigningWallet) internal {\\n require(newSigningWallet != address(0), \\\"AuthValidator: INVALID_SIGNING_WALLET\\\");\\n _signingAuthWallet = newSigningWallet;\\n emit SigningWallet(newSigningWallet);\\n }\\n\\n function isAuthValid(bytes memory signature, bytes32 hashedData) public view returns (bool) {\\n address signer = ECDSA.recover(ECDSA.toEthSignedMessageHash(hashedData), signature);\\n return signer == _signingAuthWallet;\\n }\\n}\\n\",\"keccak256\":\"0x949c6063b3d90a8c53ca8d3c80a1097da05b7189e87d8c8825b97acc17dbd38e\"},\"src/solc_0.6/EstateSale/EstateSaleWithAuth.sol\":{\"content\":\"/* solhint-disable not-rely-on-time, func-order */\\npragma solidity 0.6.5;\\n\\nimport \\\"@openzeppelin/contracts-0.6/utils/ReentrancyGuard.sol\\\";\\nimport \\\"@openzeppelin/contracts-0.6/math/SafeMath.sol\\\";\\nimport \\\"@openzeppelin/contracts-0.6/utils/Address.sol\\\";\\nimport \\\"@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol\\\";\\nimport \\\"@openzeppelin/contracts-0.6/token/ERC1155/IERC1155.sol\\\";\\nimport \\\"./ILandToken.sol\\\";\\nimport \\\"../common/BaseWithStorage/MetaTransactionReceiver.sol\\\";\\nimport \\\"../ReferralValidator/ReferralValidator.sol\\\";\\nimport \\\"./AuthValidator.sol\\\";\\n\\n/// @title Estate Sale contract with referral\\n/// @notice This contract manages the sale of our lands as Estates\\ncontract EstateSaleWithAuth is ReentrancyGuard, MetaTransactionReceiver, ReferralValidator {\\n using SafeMath for uint256;\\n using Address for address;\\n using SafeERC20 for IERC20;\\n\\n event LandQuadPurchased(\\n address indexed buyer,\\n address indexed to,\\n uint256 indexed topCornerId,\\n uint256 size,\\n uint256 price,\\n address token,\\n uint256 amountPaid\\n );\\n\\n event NewReceivingWallet(address indexed newWallet);\\n\\n /// @notice set the wallet receiving the proceeds\\n /// @param newWallet address of the new receiving wallet\\n function setReceivingWallet(address payable newWallet) external {\\n require(newWallet != address(0), \\\"ZERO_ADDRESS\\\");\\n require(msg.sender == _admin, \\\"NOT_AUTHORIZED\\\");\\n _wallet = newWallet;\\n\\n emit NewReceivingWallet(newWallet);\\n }\\n\\n /// @notice buy Land with SAND using the merkle proof associated with it\\n /// @param buyer address that perform the payment\\n /// @param to address that will own the purchased Land\\n /// @param reserved the reserved address (if any)\\n /// @param info [X_INDEX=0] x coordinate of the Land [Y_INDEX=1] y coordinate of the Land [SIZE_INDEX=2] size of the pack of Land to purchase [PRICE_INDEX=3] price in SAND to purchase that Land\\n /// @param salt The salt submitted for verification.\\n /// @param assetIds asset ids (lands) that will be bought\\n /// @param proof merkleProof for that particular Land\\n /// @param referral referral id\\n /// @param signature A signed message specifying tx details\\n function buyLandWithSand(\\n address buyer,\\n address to,\\n address reserved,\\n uint256[] calldata info,\\n bytes32 salt,\\n uint256[] calldata assetIds,\\n bytes32[] calldata proof,\\n bytes calldata referral,\\n bytes calldata signature\\n ) external nonReentrant {\\n _checkAddressesAndExpiryTime(buyer, reserved);\\n _checkAuthAndProofValidity(to, reserved, info, salt, assetIds, proof, signature);\\n _handleFeeAndReferral(buyer, info[PRICE_INDEX], referral);\\n _mint(buyer, to, info);\\n _sendAssets(to, assetIds);\\n }\\n\\n /// @notice Gets the expiry time for the current sale\\n /// @return The expiry time, as a unix epoch\\n function getExpiryTime() external view returns (uint256) {\\n return _expiryTime;\\n }\\n\\n /// @notice Gets the Merkle root associated with the current sale\\n /// @return The Merkle root, as a bytes32 hash\\n function getMerkleRoot() external view returns (bytes32) {\\n return _merkleRoot;\\n }\\n\\n /// @notice enable Admin to withdraw remaining assets from EstateSaleWithFee contract\\n /// @param to intended recipient of the asset tokens\\n /// @param assetIds the assetIds to be transferred\\n /// @param values the quantities of the assetIds to be transferred\\n function withdrawAssets(\\n address to,\\n uint256[] calldata assetIds,\\n uint256[] calldata values\\n ) external {\\n require(msg.sender == _admin, \\\"NOT_AUTHORIZED\\\");\\n _asset.safeBatchTransferFrom(address(this), to, assetIds, values, \\\"\\\");\\n }\\n\\n function onERC1155Received(\\n address, /*operator*/\\n address, /*from*/\\n uint256, /*id*/\\n uint256, /*value*/\\n bytes calldata /*data*/\\n ) external pure returns (bytes4) {\\n return 0xf23a6e61;\\n }\\n\\n function onERC1155BatchReceived(\\n address, /*operator*/\\n address, /*from*/\\n uint256[] calldata, /*ids*/\\n uint256[] calldata, /*values*/\\n bytes calldata /*data*/\\n ) external pure returns (bytes4) {\\n return 0xbc197c81;\\n }\\n\\n function _sendAssets(address to, uint256[] memory assetIds) internal {\\n uint256[] memory values = new uint256[](assetIds.length);\\n for (uint256 i = 0; i < assetIds.length; i++) {\\n values[i] = 1;\\n }\\n _asset.safeBatchTransferFrom(address(this), to, assetIds, values, \\\"\\\");\\n }\\n\\n // NOTE: _checkAddressesAndExpiryTime & _checkAuthAndProofValidity were split due to a stack too deep issue\\n function _checkAddressesAndExpiryTime(address buyer, address reserved) internal view {\\n /* solium-disable-next-line security/no-block-members */\\n require(block.timestamp < _expiryTime, \\\"SALE_IS_OVER\\\");\\n require(buyer == msg.sender || _metaTransactionContracts[msg.sender], \\\"NOT_AUTHORIZED\\\");\\n require(reserved == address(0) || reserved == buyer, \\\"RESERVED_LAND\\\");\\n }\\n\\n // NOTE: _checkAddressesAndExpiryTime & _checkAuthAndProofValidity were split due to a stack too deep issue\\n function _checkAuthAndProofValidity(\\n address to,\\n address reserved,\\n uint256[] memory info,\\n bytes32 salt,\\n uint256[] memory assetIds,\\n bytes32[] memory proof,\\n bytes memory signature\\n ) internal view {\\n bytes32 hashedData = keccak256(\\n abi.encodePacked(\\n to,\\n reserved,\\n info[X_INDEX],\\n info[Y_INDEX],\\n info[SIZE_INDEX],\\n info[PRICE_INDEX],\\n salt,\\n keccak256(abi.encodePacked(assetIds)),\\n keccak256(abi.encodePacked(proof))\\n )\\n );\\n require(_authValidator.isAuthValid(signature, hashedData), \\\"INVALID_AUTH\\\");\\n\\n bytes32 leaf = _generateLandHash(\\n info[X_INDEX],\\n info[Y_INDEX],\\n info[SIZE_INDEX],\\n info[PRICE_INDEX],\\n reserved,\\n salt,\\n assetIds\\n );\\n require(_verify(proof, leaf), \\\"INVALID_LAND\\\");\\n }\\n\\n function _mint(\\n address buyer,\\n address to,\\n uint256[] memory info\\n ) internal {\\n if (info[SIZE_INDEX] == 1 || _estate == address(0)) {\\n _land.mintQuad(to, info[SIZE_INDEX], info[X_INDEX], info[Y_INDEX], \\\"\\\");\\n } else {\\n _land.mintQuad(_estate, info[SIZE_INDEX], info[X_INDEX], info[Y_INDEX], abi.encode(to));\\n }\\n emit LandQuadPurchased(\\n buyer,\\n to,\\n info[X_INDEX] + (info[Y_INDEX] * GRID_SIZE),\\n info[SIZE_INDEX],\\n info[PRICE_INDEX],\\n address(_sand),\\n info[PRICE_INDEX]\\n );\\n }\\n\\n function _generateLandHash(\\n uint256 x,\\n uint256 y,\\n uint256 size,\\n uint256 price,\\n address reserved,\\n bytes32 salt,\\n uint256[] memory assetIds\\n ) internal pure returns (bytes32) {\\n return keccak256(abi.encodePacked(x, y, size, price, reserved, salt, assetIds));\\n }\\n\\n function _verify(bytes32[] memory proof, bytes32 leaf) internal view returns (bool) {\\n bytes32 computedHash = leaf;\\n\\n for (uint256 i = 0; i < proof.length; i++) {\\n bytes32 proofElement = proof[i];\\n\\n if (computedHash < proofElement) {\\n computedHash = keccak256(abi.encodePacked(computedHash, proofElement));\\n } else {\\n computedHash = keccak256(abi.encodePacked(proofElement, computedHash));\\n }\\n }\\n\\n return computedHash == _merkleRoot;\\n }\\n\\n function _handleFeeAndReferral(\\n address buyer,\\n uint256 priceInSand,\\n bytes memory referral\\n ) internal {\\n // send 5% fee to a specially configured instance of FeeDistributor.sol\\n uint256 remainingAmountInSand = _handleSandFee(buyer, priceInSand);\\n\\n // calculate referral based on 95% of original priceInSand\\n handleReferralWithERC20(buyer, remainingAmountInSand, referral, _wallet, address(_sand));\\n }\\n\\n function _handleSandFee(address buyer, uint256 priceInSand) internal returns (uint256) {\\n uint256 feeAmountInSand = priceInSand.mul(FEE).div(100);\\n _sand.safeTransferFrom(buyer, address(_feeDistributor), feeAmountInSand);\\n return priceInSand.sub(feeAmountInSand);\\n }\\n\\n uint256 internal constant GRID_SIZE = 408; // 408 is the size of the Land\\n\\n IERC1155 internal immutable _asset;\\n ILandToken internal immutable _land;\\n IERC20 internal immutable _sand;\\n address internal immutable _estate;\\n address internal immutable _feeDistributor;\\n\\n address payable internal _wallet;\\n AuthValidator internal _authValidator;\\n uint256 internal immutable _expiryTime;\\n bytes32 internal immutable _merkleRoot;\\n\\n uint256 private constant FEE = 5; // percentage of land sale price to be diverted to a specially configured instance of FeeDistributor, shown as an integer\\n // buyLandWithSand info indexes\\n uint256 private constant X_INDEX = 0;\\n uint256 private constant Y_INDEX = 1;\\n uint256 private constant SIZE_INDEX = 2;\\n uint256 private constant PRICE_INDEX = 3;\\n\\n constructor(\\n address landAddress,\\n address sandContractAddress,\\n address initialMetaTx,\\n address admin,\\n address payable initialWalletAddress,\\n bytes32 merkleRoot,\\n uint256 expiryTime,\\n address initialSigningWallet,\\n uint256 initialMaxCommissionRate,\\n address estate,\\n address asset,\\n address feeDistributor,\\n address authValidator\\n ) public ReferralValidator(initialSigningWallet, initialMaxCommissionRate) {\\n require(landAddress.isContract(), \\\"EstateSaleWithAuth: is not a contract\\\");\\n require(sandContractAddress.isContract(), \\\"EstateSaleWithAuth: is not a contract\\\");\\n require(initialMetaTx != address(0), \\\"EstateSaleWithAuth: zero address\\\");\\n require(admin != address(0), \\\"EstateSaleWithAuth: zero address\\\");\\n require(initialWalletAddress != address(0), \\\"EstateSaleWithAuth: zero address\\\");\\n require(asset.isContract(), \\\"EstateSaleWithAuth: is not a contract\\\");\\n require(feeDistributor != address(0), \\\"EstateSaleWithAuth: zero address\\\");\\n require(authValidator.isContract(), \\\"EstateSaleWithAuth: is not a contract\\\");\\n\\n\\n _land = ILandToken(landAddress);\\n _sand = IERC20(sandContractAddress);\\n _setMetaTransactionProcessor(initialMetaTx, true);\\n _wallet = initialWalletAddress;\\n _merkleRoot = merkleRoot;\\n _expiryTime = expiryTime;\\n _admin = admin;\\n _estate = estate;\\n _asset = IERC1155(asset);\\n _feeDistributor = feeDistributor;\\n _authValidator = AuthValidator(authValidator);\\n }\\n}\\n\",\"keccak256\":\"0x039331cd15021fe3b9312674d873fdc02b968ae2af5343caf14e6c054a2fcc1d\"},\"src/solc_0.6/EstateSale/ILandToken.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity 0.6.5;\\n\\n\\ninterface ILandToken {\\n function mintQuad(\\n address to,\\n uint256 size,\\n uint256 x,\\n uint256 y,\\n bytes calldata data\\n ) external;\\n}\\n\",\"keccak256\":\"0x8d03b53d325fbb052d78f274b106f14bf9a5afc928451b26bc9e579585ae44b2\"},\"src/solc_0.6/ReferralValidator/ReferralValidator.sol\":{\"content\":\"/* solhint-disable not-rely-on-time, func-order */\\n\\n// SPDX-License-Identifier: MIT\\n\\npragma solidity 0.6.5;\\n\\nimport \\\"@openzeppelin/contracts-0.6/utils/Address.sol\\\";\\nimport \\\"@openzeppelin/contracts-0.6/cryptography/ECDSA.sol\\\";\\nimport \\\"@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol\\\";\\nimport \\\"@openzeppelin/contracts-0.6/math/SafeMath.sol\\\";\\nimport \\\"../common/BaseWithStorage/Admin.sol\\\";\\n\\n\\n/// @dev This contract verifies if a referral is valid\\ncontract ReferralValidator is Admin {\\n using Address for address;\\n using SafeERC20 for IERC20;\\n\\n address private _signingWallet;\\n uint256 private _maxCommissionRate;\\n\\n mapping(address => uint256) private _previousSigningWallets;\\n uint256 constant private _previousSigningDelay = 10 days;\\n\\n event ReferralUsed(\\n address indexed referrer,\\n address indexed referee,\\n address indexed token,\\n uint256 amount,\\n uint256 commission,\\n uint256 commissionRate\\n );\\n\\n event SigningWalletUpdated(address indexed newSigningWallet);\\n event MaxCommissionRateUpdated(uint256 indexed newMaxCommissionRate);\\n\\n constructor(address initialSigningWallet, uint256 initialMaxCommissionRate) public {\\n require(initialSigningWallet != address(0), \\\"ReferralValidator: zero address\\\");\\n\\n _signingWallet = initialSigningWallet;\\n _maxCommissionRate = initialMaxCommissionRate;\\n }\\n\\n /**\\n * @dev Update the signing wallet\\n * The previous wallet is still valid for a grace period (_previousSigningDelay). If you want to\\n * disable the previous wallet, use the disablePreviousSigningWallet function.\\n * @param newSigningWallet The new address of the signing wallet\\n */\\n function updateSigningWallet(address newSigningWallet) external onlyAdmin {\\n require(newSigningWallet != address(0), \\\"ReferralValidator: zero address\\\");\\n _previousSigningWallets[_signingWallet] = now + _previousSigningDelay;\\n _signingWallet = newSigningWallet;\\n\\n emit SigningWalletUpdated(newSigningWallet);\\n }\\n\\n /**\\n * @dev Disable compromised signing wallet\\n * @param disableWallet The wallet address to be disabled\\n */\\n function disablePreviousSigningWallet(address disableWallet) external {\\n require(_admin == msg.sender, \\\"ReferralValidator: Sender not admin\\\");\\n require(disableWallet != address(0), \\\"ReferralValidator: zero address\\\");\\n _previousSigningWallets[disableWallet] = 0;\\n }\\n\\n /**\\n * @dev signing wallet authorized for referral\\n * @return the address of the signing wallet\\n */\\n function getSigningWallet() external view returns (address) {\\n return _signingWallet;\\n }\\n\\n /**\\n * @notice the max commission rate\\n * @return the maximum commission rate that a referral can give\\n */\\n function getMaxCommissionRate() external view returns (uint256) {\\n return _maxCommissionRate;\\n }\\n\\n /**\\n * @dev Update the maximum commission rate\\n * @param newMaxCommissionRate The new maximum commission rate\\n */\\n function updateMaxCommissionRate(uint256 newMaxCommissionRate) external onlyAdmin {\\n _maxCommissionRate = newMaxCommissionRate;\\n\\n emit MaxCommissionRateUpdated(newMaxCommissionRate);\\n }\\n\\n function handleReferralWithETH(\\n uint256 amount,\\n bytes memory referral,\\n address payable destination\\n ) internal {\\n uint256 amountForDestination = amount;\\n\\n require(msg.value >= amount, \\\"ReferralValidator: insufficient funds\\\");\\n\\n if (referral.length > 0) {\\n (bytes memory signature, address referrer, address referee, uint256 expiryTime, uint256 commissionRate) = decodeReferral(referral);\\n\\n require(commissionRate < 10000, \\\"ReferralValidator: invalid commisionRate\\\");\\n\\n uint256 commission = 0;\\n\\n if (isReferralValid(signature, referrer, referee, expiryTime, commissionRate)) {\\n commission = SafeMath.div(SafeMath.mul(amount, commissionRate), 10000);\\n\\n emit ReferralUsed(referrer, referee, address(0), amount, commission, commissionRate);\\n amountForDestination = SafeMath.sub(amountForDestination, commission);\\n }\\n\\n if (commission > 0) {\\n // solhint-disable-next-line avoid-low-level-calls\\n (bool success, ) = payable(referrer).call{value:commission}(\\\"\\\");\\n require(success, \\\"ReferralValidator: Transfer failed.\\\");\\n }\\n }\\n\\n // solhint-disable-next-line avoid-low-level-calls\\n (bool success, ) = destination.call{value:amountForDestination}(\\\"\\\");\\n require(success, \\\"ReferralValidator: Transfer failed.\\\");\\n }\\n\\n function handleReferralWithERC20(\\n address buyer,\\n uint256 amount,\\n bytes memory referral,\\n address payable destination,\\n address tokenAddress\\n ) internal {\\n IERC20 token = IERC20(tokenAddress);\\n uint256 amountForDestination = amount;\\n\\n if (referral.length > 0) {\\n (bytes memory signature, address referrer, address referee, uint256 expiryTime, uint256 commissionRate) = decodeReferral(referral);\\n\\n uint256 commission = 0;\\n\\n if (isReferralValid(signature, referrer, referee, expiryTime, commissionRate)) {\\n commission = SafeMath.div(SafeMath.mul(amount, commissionRate), 10000);\\n\\n emit ReferralUsed(referrer, referee, tokenAddress, amount, commission, commissionRate);\\n amountForDestination = SafeMath.sub(amountForDestination, commission);\\n }\\n\\n if (commission > 0) {\\n token.safeTransferFrom(buyer, referrer, commission);\\n }\\n }\\n\\n token.safeTransferFrom(buyer, destination, amountForDestination);\\n }\\n\\n /**\\n * @notice Check if a referral is valid\\n * @param signature The signature to check (signed referral)\\n * @param referrer The address of the referrer\\n * @param referee The address of the referee\\n * @param expiryTime The expiry time of the referral\\n * @param commissionRate The commissionRate of the referral\\n * @return True if the referral is valid\\n */\\n function isReferralValid(\\n bytes memory signature,\\n address referrer,\\n address referee,\\n uint256 expiryTime,\\n uint256 commissionRate\\n ) public view returns (bool) {\\n if (commissionRate > _maxCommissionRate || referrer == referee || now > expiryTime) {\\n return false;\\n }\\n\\n bytes32 hashedData = keccak256(abi.encodePacked(referrer, referee, expiryTime, commissionRate));\\n\\n address signer = ECDSA.recover(keccak256(abi.encodePacked(\\\"\\\\x19Ethereum Signed Message:\\\\n32\\\", hashedData)), signature);\\n\\n if (_previousSigningWallets[signer] >= now) {\\n return true;\\n }\\n\\n return _signingWallet == signer;\\n }\\n\\n function decodeReferral(bytes memory referral)\\n public\\n pure\\n returns (\\n bytes memory,\\n address,\\n address,\\n uint256,\\n uint256\\n )\\n {\\n (bytes memory signature, address referrer, address referee, uint256 expiryTime, uint256 commissionRate) = abi.decode(\\n referral,\\n (bytes, address, address, uint256, uint256)\\n );\\n\\n return (signature, referrer, referee, expiryTime, commissionRate);\\n }\\n}\\n\",\"keccak256\":\"0xad5300e058f15841c54f3bc70ad5c89a6c9a0853aa6e0b542e7a9e59192687d2\"},\"src/solc_0.6/common/BaseWithStorage/Admin.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity 0.6.5;\\n\\n\\ncontract Admin {\\n address internal _admin;\\n\\n /// @dev emitted when the contract administrator is changed.\\n /// @param oldAdmin address of the previous administrator.\\n /// @param newAdmin address of the new administrator.\\n event AdminChanged(address oldAdmin, address newAdmin);\\n\\n /// @dev gives the current administrator of this contract.\\n /// @return the current administrator of this contract.\\n function getAdmin() external view returns (address) {\\n return _admin;\\n }\\n\\n /// @dev change the administrator to be `newAdmin`.\\n /// @param newAdmin address of the new administrator.\\n function changeAdmin(address newAdmin) external {\\n require(msg.sender == _admin, \\\"only admin can change admin\\\");\\n require(_admin != newAdmin, \\\"already admin\\\");\\n emit AdminChanged(_admin, newAdmin);\\n _admin = newAdmin;\\n }\\n\\n modifier onlyAdmin() {\\n require(msg.sender == _admin, \\\"only admin allowed\\\");\\n _;\\n }\\n}\\n\",\"keccak256\":\"0xe1a95ec41b32e523a6fad060f90aa6d03a72a545857a91c2f51473b6072637dc\"},\"src/solc_0.6/common/BaseWithStorage/MetaTransactionReceiver.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n\\npragma solidity 0.6.5;\\n\\nimport \\\"./Admin.sol\\\";\\n\\ncontract MetaTransactionReceiver is Admin {\\n mapping(address => bool) internal _metaTransactionContracts;\\n\\n /// @dev emiited when a meta transaction processor is enabled/disabled\\n /// @param metaTransactionProcessor address that will be given/removed metaTransactionProcessor rights.\\n /// @param enabled set whether the metaTransactionProcessor is enabled or disabled.\\n event MetaTransactionProcessor(address metaTransactionProcessor, bool enabled);\\n\\n /// @dev Enable or disable the ability of `metaTransactionProcessor` to perform meta-tx (metaTransactionProcessor rights).\\n /// @param metaTransactionProcessor address that will be given/removed metaTransactionProcessor rights.\\n /// @param enabled set whether the metaTransactionProcessor is enabled or disabled.\\n function setMetaTransactionProcessor(address metaTransactionProcessor, bool enabled) public onlyAdmin {\\n _setMetaTransactionProcessor(metaTransactionProcessor, enabled);\\n }\\n\\n function _setMetaTransactionProcessor(address metaTransactionProcessor, bool enabled) internal {\\n require(metaTransactionProcessor != address(0), \\\"MetaTransactionReceiver: zero address\\\");\\n _metaTransactionContracts[metaTransactionProcessor] = enabled;\\n emit MetaTransactionProcessor(metaTransactionProcessor, enabled);\\n }\\n\\n /// @dev check whether address `who` is given meta-transaction execution rights.\\n /// @param who The address to query.\\n /// @return whether the address has meta-transaction execution rights.\\n function isMetaTransactionProcessor(address who) external view returns (bool) {\\n return _metaTransactionContracts[who];\\n }\\n}\\n\",\"keccak256\":\"0x4a11e21dfc85fb9330c02abc019bfb5b1e40d0fcd36e2a2e652d4c06b6e8105b\"}},\"version\":1}", + "bytecode": "0x6101606040523480156200001257600080fd5b50604051620031e9380380620031e983398181016040526101a08110156200003957600080fd5b508051602082015160408301516060840151608085015160a086015160c087015160e08801516101008901516101208a01516101408b01516101608c0151610180909c015160016000559a9b999a9899979896979596949593949293919290919085856001600160a01b038216620000f8576040805162461bcd60e51b815260206004820152601f60248201527f526566657272616c56616c696461746f723a207a65726f206164647265737300604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0393841617905560045562000130908e1662000459602090811b62002adc17901c565b6200016d5760405162461bcd60e51b8152600401808060200182810382526025815260200180620031c46025913960400191505060405180910390fd5b6200018c8c6001600160a01b03166200045960201b62002adc1760201c565b620001c95760405162461bcd60e51b8152600401808060200182810382526025815260200180620031c46025913960400191505060405180910390fd5b6001600160a01b038b1662000214576040805162461bcd60e51b815260206004820181905260248201526000805160206200317f833981519152604482015290519081900360640190fd5b6001600160a01b038a166200025f576040805162461bcd60e51b815260206004820181905260248201526000805160206200317f833981519152604482015290519081900360640190fd5b6001600160a01b038916620002aa576040805162461bcd60e51b815260206004820181905260248201526000805160206200317f833981519152604482015290519081900360640190fd5b620002c9836001600160a01b03166200045960201b62002adc1760201c565b620003065760405162461bcd60e51b8152600401808060200182810382526025815260200180620031c46025913960400191505060405180910390fd5b6001600160a01b03821662000351576040805162461bcd60e51b815260206004820181905260248201526000805160206200317f833981519152604482015290519081900360640190fd5b62000370816001600160a01b03166200045960201b62002adc1760201c565b620003ad5760405162461bcd60e51b8152600401808060200182810382526025815260200180620031c46025913960400191505060405180910390fd5b6001600160601b031960608e811b821660a0528d901b1660c052620003dd8b60016001600160e01b036200045f16565b600680546001600160a01b039a8b166001600160a01b031991821617909155610140989098526101209690965260018054998916998816999099179098556001600160601b0319606092831b811660e05290821b811660805296901b909516610100525060078054919093169116179055506200050a92505050565b3b151590565b6001600160a01b038216620004a65760405162461bcd60e51b81526004018080602001828103825260258152602001806200319f6025913960400191505060405180910390fd5b6001600160a01b038216600081815260026020908152604091829020805460ff191685151590811790915582519384529083015280517fb21eb88b4e33b3f1281830a7178d74d8aa73220416215726b68ae23d539515cb9281900390910190a15050565b60805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205161014051612bef6200059060003980610be0528061247e525080610bbc528061159d5250806124fc525080611af25280611c4f525080611aa85280611e4e52806124d9525080611b235280611c205250806111075280611f3a5250612bef6000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c8063984d6252116100b2578063c10a420811610081578063dc5074af11610066578063dc5074af146108a0578063e56f8a9e146108c6578063f23a6e61146108e357610136565b8063c10a4208146107c1578063caed35001461089857610136565b8063984d62521461055f578063ab1cc78c14610631578063b522ecff14610639578063bc197c811461065f57610136565b806365194ce71161010957806378e6e5b9116100ee57806378e6e5b9146104e55780638a04af6a1461050b5780638f2839701461053957610136565b806365194ce7146103635780636e9960c3146104c157610136565b80631187fd3c1461013b57806325cb5bc01461031b578063495906571461033557806358bc29441461033d575b600080fd5b610319600480360361012081101561015257600080fd5b6001600160a01b038235811692602081013582169260408201359092169181019060808101606082013564010000000081111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460208302840111640100000000831117156101c257600080fd5b919390928235926040810190602001356401000000008111156101e457600080fd5b8201836020820111156101f657600080fd5b8035906020019184602083028401116401000000008311171561021857600080fd5b91939092909160208101903564010000000081111561023657600080fd5b82018360208201111561024857600080fd5b8035906020019184602083028401116401000000008311171561026a57600080fd5b91939092909160208101903564010000000081111561028857600080fd5b82018360208201111561029a57600080fd5b803590602001918460018302840111640100000000831117156102bc57600080fd5b9193909290916020810190356401000000008111156102da57600080fd5b8201836020820111156102ec57600080fd5b8035906020019184600183028401116401000000008311171561030e57600080fd5b509092509050610978565b005b610323610bba565b60408051918252519081900360200190f35b610323610bde565b6103196004803603602081101561035357600080fd5b50356001600160a01b0316610c02565b6104096004803603602081101561037957600080fd5b81019060208101813564010000000081111561039457600080fd5b8201836020820111156103a657600080fd5b803590602001918460018302840111640100000000831117156103c857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d2e945050505050565b6040518080602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b03168152602001848152602001838152602001828103825287818151815260200191508051906020019080838360005b8381101561048257818101518382015260200161046a565b50505050905090810190601f1680156104af5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b6104c9610e33565b604080516001600160a01b039092168252519081900360200190f35b610319600480360360208110156104fb57600080fd5b50356001600160a01b0316610e42565b6103196004803603604081101561052157600080fd5b506001600160a01b0381351690602001351515610f00565b6103196004803603602081101561054f57600080fd5b50356001600160a01b0316610f6d565b6103196004803603606081101561057557600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156105a057600080fd5b8201836020820111156105b257600080fd5b803590602001918460208302840111640100000000831117156105d457600080fd5b9193909290916020810190356401000000008111156105f257600080fd5b82018360208201111561060457600080fd5b8035906020019184602083028401116401000000008311171561062657600080fd5b5090925090506110a6565b610323611231565b6103196004803603602081101561064f57600080fd5b50356001600160a01b0316611237565b61078c600480360360a081101561067557600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156106a957600080fd5b8201836020820111156106bb57600080fd5b803590602001918460208302840111640100000000831117156106dd57600080fd5b9193909290916020810190356401000000008111156106fb57600080fd5b82018360208201111561070d57600080fd5b8035906020019184602083028401116401000000008311171561072f57600080fd5b91939092909160208101903564010000000081111561074d57600080fd5b82018360208201111561075f57600080fd5b8035906020019184600183028401116401000000008311171561078157600080fd5b509092509050611348565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b610884600480360360a08110156107d757600080fd5b8101906020810181356401000000008111156107f257600080fd5b82018360208201111561080457600080fd5b8035906020019184600183028401116401000000008311171561082657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550506001600160a01b038335811694506020840135169260408101359250606001359050611375565b604080519115158252519081900360200190f35b6104c96114b1565b610884600480360360208110156108b657600080fd5b50356001600160a01b03166114c0565b610319600480360360208110156108dc57600080fd5b50356114de565b61078c600480360360a08110156108f957600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a08101608082013564010000000081111561093957600080fd5b82018360208201111561094b57600080fd5b8035906020019184600183028401116401000000008311171561096d57600080fd5b509092509050611570565b600260005414156109d0576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556109df8e8d61159b565b610ad68d8d8d8d80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508c8c8c80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508b8b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152506116fe92505050565b610b2a8e8c8c6003818110610ae757fe5b9050602002013586868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a8192505050565b610b688e8e8d8d80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611ad292505050565b610ba58d898980806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611ec392505050565b50506001600055505050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001546001600160a01b03163314610c61576040805162461bcd60e51b815260206004820152601260248201527f6f6e6c792061646d696e20616c6c6f7765640000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038116610cbc576040805162461bcd60e51b815260206004820152601f60248201527f526566657272616c56616c696461746f723a207a65726f206164647265737300604482015290519081900360640190fd5b600380546001600160a01b03908116600090815260056020526040808220620d2f0042019055835473ffffffffffffffffffffffffffffffffffffffff1916928516928317909355915190917fbbb5fb2ee7e707ae0c968f63e94211ea81e66a718c34e2f810a7619e5678a21791a250565b606060008060008060606000806000808a80602001905160a0811015610d5357600080fd5b8101908080516040519392919084640100000000821115610d7357600080fd5b908301906020820185811115610d8857600080fd5b8251640100000000811182820188101715610da257600080fd5b82525081516020918201929091019080838360005b83811015610dcf578181015183820152602001610db7565b50505050905090810190601f168015610dfc5780820380516001836020036101000a031916815260200191505b5060409081526020820151908201516060830151608090930151959f50909d509b5099509197505050505050505091939590929450565b6001546001600160a01b031690565b6001546001600160a01b03163314610e8b5760405162461bcd60e51b8152600401808060200182810382526023815260200180612b056023913960400191505060405180910390fd5b6001600160a01b038116610ee6576040805162461bcd60e51b815260206004820152601f60248201527f526566657272616c56616c696461746f723a207a65726f206164647265737300604482015290519081900360640190fd5b6001600160a01b0316600090815260056020526040812055565b6001546001600160a01b03163314610f5f576040805162461bcd60e51b815260206004820152601260248201527f6f6e6c792061646d696e20616c6c6f7765640000000000000000000000000000604482015290519081900360640190fd5b610f698282612087565b5050565b6001546001600160a01b03163314610fcc576040805162461bcd60e51b815260206004820152601b60248201527f6f6e6c792061646d696e2063616e206368616e67652061646d696e0000000000604482015290519081900360640190fd5b6001546001600160a01b038281169116141561102f576040805162461bcd60e51b815260206004820152600d60248201527f616c72656164792061646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b600154604080516001600160a01b039283168152918316602083015280517f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f9281900390910190a16001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001546001600160a01b03163314611105576040805162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632eb2c2d63087878787876040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b031681526020018060200180602001806020018481038452888882818152602001925060200280828437600083820152601f01601f19169091018581038452868152602090810191508790870280828437600081840152601f19601f8201169050808301925050508481038252600081526020016020019950505050505050505050600060405180830381600087803b15801561121257600080fd5b505af1158015611226573d6000803e3d6000fd5b505050505050505050565b60045490565b6001600160a01b038116611292576040805162461bcd60e51b815260206004820152600c60248201527f5a45524f5f414444524553530000000000000000000000000000000000000000604482015290519081900360640190fd5b6001546001600160a01b031633146112f1576040805162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517f4d66958b757eb92a1b43d02be4c38c9500b73f532420ee3706cb43d420ba023690600090a250565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b60006004548211806113985750836001600160a01b0316856001600160a01b0316145b806113a257508242115b156113af575060006114a8565b60408051606087811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009081166020808501919091529188901b166034830152604882018690526068808301869052835180840390910181526088830184528051908201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000060a884015260c48084018290528451808503909101815260e49093019093528151910120600090611466908961214e565b6001600160a01b0381166000908152600560205260409020549091504211611493576001925050506114a8565b6003546001600160a01b039081169116149150505b95945050505050565b6003546001600160a01b031690565b6001600160a01b031660009081526002602052604090205460ff1690565b6001546001600160a01b0316331461153d576040805162461bcd60e51b815260206004820152601260248201527f6f6e6c792061646d696e20616c6c6f7765640000000000000000000000000000604482015290519081900360640190fd5b600481905560405181907f774069781371d65424b3b0b101c1d40014532cac040f979595b99a3fcf8ce08c90600090a250565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000421061160f576040805162461bcd60e51b815260206004820152600c60248201527f53414c455f49535f4f5645520000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03821633148061163557503360009081526002602052604090205460ff165b611686576040805162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03811615806116ad5750816001600160a01b0316816001600160a01b0316145b610f69576040805162461bcd60e51b815260206004820152600d60248201527f52455345525645445f4c414e4400000000000000000000000000000000000000604482015290519081900360640190fd5b600087878760008151811061170f57fe5b60200260200101518860018151811061172457fe5b60200260200101518960028151811061173957fe5b60200260200101518a60038151811061174e57fe5b60200260200101518a8a60405160200180828051906020019060200280838360005b83811015611788578181015183820152602001611770565b50505050905001915050604051602081830303815290604052805190602001208a60405160200180828051906020019060200280838360005b838110156117d95781810151838201526020016117c1565b5050505090500191505060405160208183030381529060405280519060200120604051602001808a6001600160a01b03166001600160a01b031660601b8152601401896001600160a01b03166001600160a01b031660601b81526014018881526020018781526020018681526020018581526020018481526020018381526020018281526020019950505050505050505050604051602081830303815290604052805190602001209050600760009054906101000a90046001600160a01b03166001600160a01b031663012847ed83836040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b838110156118fb5781810151838201526020016118e3565b50505050905090810190601f1680156119285780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561194657600080fd5b505afa15801561195a573d6000803e3d6000fd5b505050506040513d602081101561197057600080fd5b50516119c3576040805162461bcd60e51b815260206004820152600c60248201527f494e56414c49445f415554480000000000000000000000000000000000000000604482015290519081900360640190fd5b6000611a24876000815181106119d557fe5b6020026020010151886001815181106119ea57fe5b6020026020010151896002815181106119ff57fe5b60200260200101518a600381518110611a1457fe5b60200260200101518c8b8b612337565b9050611a3084826123dc565b611226576040805162461bcd60e51b815260206004820152600c60248201527f494e56414c49445f4c414e440000000000000000000000000000000000000000604482015290519081900360640190fd5b6000611a8d84846124a5565b600654909150611acc908590839085906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000061253f565b50505050565b80600281518110611adf57fe5b602002602001015160011480611b1c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316155b15611c1e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e1e3bbf8383600281518110611b5e57fe5b602002602001015184600081518110611b7357fe5b602002602001015185600181518110611b8857fe5b60200260200101516040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b031681526020018481526020018381526020018281526020018060200182810382526000815260200160200195505050505050600060405180830381600087803b158015611c0157600080fd5b505af1158015611c15573d6000803e3d6000fd5b50505050611dbe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e1e3bbf7f000000000000000000000000000000000000000000000000000000000000000083600281518110611c7b57fe5b602002602001015184600081518110611c9057fe5b602002602001015185600181518110611ca557fe5b60200260200101518760405160200180826001600160a01b03166001600160a01b031681526020019150506040516020818303038152906040526040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b0316815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611d55578181015183820152602001611d3d565b50505050905090810190601f168015611d825780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b158015611da557600080fd5b505af1158015611db9573d6000803e3d6000fd5b505050505b61019881600181518110611dce57fe5b60200260200101510281600081518110611de457fe5b602002602001015101826001600160a01b0316846001600160a01b03167fe4dfa6ac11314892f3029b34a25b1a887da3b1cab2bbf8506d87128ba6e3ac0284600281518110611e2f57fe5b602002602001015185600381518110611e4457fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000087600381518110611e7a57fe5b602002602001015160405180858152602001848152602001836001600160a01b03166001600160a01b0316815260200182815260200194505050505060405180910390a4505050565b6060815167ffffffffffffffff81118015611edd57600080fd5b50604051908082528060200260200182016040528015611f07578160200160208202803683370190505b50905060005b8251811015611f37576001828281518110611f2457fe5b6020908102919091010152600101611f0d565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632eb2c2d6308585856040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b03168152602001806020018060200180602001848103845286818151815260200191508051906020019060200280838360005b83811015611ff2578181015183820152602001611fda565b50505050905001848103835285818151815260200191508051906020019060200280838360005b83811015612031578181015183820152602001612019565b50505050905001848103825260008152602001602001975050505050505050600060405180830381600087803b15801561206a57600080fd5b505af115801561207e573d6000803e3d6000fd5b50505050505050565b6001600160a01b0382166120cc5760405162461bcd60e51b8152600401808060200182810382526025815260200180612b6b6025913960400191505060405180910390fd5b6001600160a01b03821660008181526002602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915582519384529083015280517fb21eb88b4e33b3f1281830a7178d74d8aa73220416215726b68ae23d539515cb9281900390910190a15050565b600081516041146121a6576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156122175760405162461bcd60e51b8152600401808060200182810382526022815260200180612ae36022913960400191505060405180910390fd5b8060ff16601b1415801561222f57508060ff16601c14155b1561226b5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b286022913960400191505060405180910390fd5b60408051600080825260208083018085528a905260ff85168385015260608301879052608083018690529251909260019260a080820193601f1981019281900390910190855afa1580156122c3573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661232b576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b93505050505b92915050565b60008787878787878760405160200180888152602001878152602001868152602001858152602001846001600160a01b03166001600160a01b031660601b8152601401838152602001828051906020019060200280838360005b838110156123a9578181015183820152602001612391565b50505050905001975050505050505050604051602081830303815290604052805190602001209050979650505050505050565b600081815b845181101561247b5760008582815181106123f857fe5b60200260200101519050808310156124405782816040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209250612472565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b506001016123e1565b507f0000000000000000000000000000000000000000000000000000000000000000149392505050565b6000806124ca60646124be85600563ffffffff61264716565b9063ffffffff6126a716565b90506125276001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016857f00000000000000000000000000000000000000000000000000000000000000008463ffffffff6126e916565b612537838263ffffffff61277116565b949350505050565b8251819085901561262c57606060008060008061255b8a610d2e565b93985091965094509250905060006125768686868686611375565b15612604576125906125888d84612647565b6127106126a7565b9050886001600160a01b0316846001600160a01b0316866001600160a01b03167fac7a699eb95c3c6d390ec4626de17ef9a67b35891efdb197beba7c7fdd45fac48f858760405180848152602001838152602001828152602001935050505060405180910390a46126018782612771565b96505b8015612625576126256001600160a01b0389168e878463ffffffff6126e916565b5050505050505b61207e6001600160a01b03831688868463ffffffff6126e916565b60008261265657506000612331565b8282028284828161266357fe5b04146126a05760405162461bcd60e51b8152600401808060200182810382526021815260200180612b4a6021913960400191505060405180910390fd5b9392505050565b60006126a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127b3565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611acc908590612855565b60006126a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061290b565b6000818361283f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156128045781810151838201526020016127ec565b50505050905090810190601f1680156128315780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161284b57fe5b0495945050505050565b60606128aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166129659092919063ffffffff16565b805190915015612906578080602001905160208110156128c957600080fd5b50516129065760405162461bcd60e51b815260040180806020018281038252602a815260200180612b90602a913960400191505060405180910390fd5b505050565b6000818484111561295d5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156128045781810151838201526020016127ec565b505050900390565b60606125378484600085606061297a85612adc565b6129cb576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310612a0a5780518252601f1990920191602091820191016129eb565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612a6c576040519150601f19603f3d011682016040523d82523d6000602084013e612a71565b606091505b50915091508115612a855791506125379050565b805115612a955780518082602001fd5b60405162461bcd60e51b81526020600482018181528651602484015286518793919283926044019190850190808383600083156128045781810151838201526020016127ec565b3b15159056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c7565526566657272616c56616c696461746f723a2053656e646572206e6f742061646d696e45434453413a20696e76616c6964207369676e6174757265202776272076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d6574615472616e73616374696f6e52656365697665723a207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122077f2d13cbcb85fa08010a53c1e4ef27117b031e8c1c9273d55cef362af299f3164736f6c6343000605003345737461746553616c6557697468417574683a207a65726f20616464726573734d6574615472616e73616374696f6e52656365697665723a207a65726f206164647265737345737461746553616c6557697468417574683a206973206e6f74206120636f6e7472616374", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101365760003560e01c8063984d6252116100b2578063c10a420811610081578063dc5074af11610066578063dc5074af146108a0578063e56f8a9e146108c6578063f23a6e61146108e357610136565b8063c10a4208146107c1578063caed35001461089857610136565b8063984d62521461055f578063ab1cc78c14610631578063b522ecff14610639578063bc197c811461065f57610136565b806365194ce71161010957806378e6e5b9116100ee57806378e6e5b9146104e55780638a04af6a1461050b5780638f2839701461053957610136565b806365194ce7146103635780636e9960c3146104c157610136565b80631187fd3c1461013b57806325cb5bc01461031b578063495906571461033557806358bc29441461033d575b600080fd5b610319600480360361012081101561015257600080fd5b6001600160a01b038235811692602081013582169260408201359092169181019060808101606082013564010000000081111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460208302840111640100000000831117156101c257600080fd5b919390928235926040810190602001356401000000008111156101e457600080fd5b8201836020820111156101f657600080fd5b8035906020019184602083028401116401000000008311171561021857600080fd5b91939092909160208101903564010000000081111561023657600080fd5b82018360208201111561024857600080fd5b8035906020019184602083028401116401000000008311171561026a57600080fd5b91939092909160208101903564010000000081111561028857600080fd5b82018360208201111561029a57600080fd5b803590602001918460018302840111640100000000831117156102bc57600080fd5b9193909290916020810190356401000000008111156102da57600080fd5b8201836020820111156102ec57600080fd5b8035906020019184600183028401116401000000008311171561030e57600080fd5b509092509050610978565b005b610323610bba565b60408051918252519081900360200190f35b610323610bde565b6103196004803603602081101561035357600080fd5b50356001600160a01b0316610c02565b6104096004803603602081101561037957600080fd5b81019060208101813564010000000081111561039457600080fd5b8201836020820111156103a657600080fd5b803590602001918460018302840111640100000000831117156103c857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d2e945050505050565b6040518080602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b03168152602001848152602001838152602001828103825287818151815260200191508051906020019080838360005b8381101561048257818101518382015260200161046a565b50505050905090810190601f1680156104af5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b6104c9610e33565b604080516001600160a01b039092168252519081900360200190f35b610319600480360360208110156104fb57600080fd5b50356001600160a01b0316610e42565b6103196004803603604081101561052157600080fd5b506001600160a01b0381351690602001351515610f00565b6103196004803603602081101561054f57600080fd5b50356001600160a01b0316610f6d565b6103196004803603606081101561057557600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156105a057600080fd5b8201836020820111156105b257600080fd5b803590602001918460208302840111640100000000831117156105d457600080fd5b9193909290916020810190356401000000008111156105f257600080fd5b82018360208201111561060457600080fd5b8035906020019184602083028401116401000000008311171561062657600080fd5b5090925090506110a6565b610323611231565b6103196004803603602081101561064f57600080fd5b50356001600160a01b0316611237565b61078c600480360360a081101561067557600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156106a957600080fd5b8201836020820111156106bb57600080fd5b803590602001918460208302840111640100000000831117156106dd57600080fd5b9193909290916020810190356401000000008111156106fb57600080fd5b82018360208201111561070d57600080fd5b8035906020019184602083028401116401000000008311171561072f57600080fd5b91939092909160208101903564010000000081111561074d57600080fd5b82018360208201111561075f57600080fd5b8035906020019184600183028401116401000000008311171561078157600080fd5b509092509050611348565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b610884600480360360a08110156107d757600080fd5b8101906020810181356401000000008111156107f257600080fd5b82018360208201111561080457600080fd5b8035906020019184600183028401116401000000008311171561082657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550506001600160a01b038335811694506020840135169260408101359250606001359050611375565b604080519115158252519081900360200190f35b6104c96114b1565b610884600480360360208110156108b657600080fd5b50356001600160a01b03166114c0565b610319600480360360208110156108dc57600080fd5b50356114de565b61078c600480360360a08110156108f957600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a08101608082013564010000000081111561093957600080fd5b82018360208201111561094b57600080fd5b8035906020019184600183028401116401000000008311171561096d57600080fd5b509092509050611570565b600260005414156109d0576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556109df8e8d61159b565b610ad68d8d8d8d80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508c8c8c80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508b8b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152506116fe92505050565b610b2a8e8c8c6003818110610ae757fe5b9050602002013586868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a8192505050565b610b688e8e8d8d80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611ad292505050565b610ba58d898980806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611ec392505050565b50506001600055505050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001546001600160a01b03163314610c61576040805162461bcd60e51b815260206004820152601260248201527f6f6e6c792061646d696e20616c6c6f7765640000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038116610cbc576040805162461bcd60e51b815260206004820152601f60248201527f526566657272616c56616c696461746f723a207a65726f206164647265737300604482015290519081900360640190fd5b600380546001600160a01b03908116600090815260056020526040808220620d2f0042019055835473ffffffffffffffffffffffffffffffffffffffff1916928516928317909355915190917fbbb5fb2ee7e707ae0c968f63e94211ea81e66a718c34e2f810a7619e5678a21791a250565b606060008060008060606000806000808a80602001905160a0811015610d5357600080fd5b8101908080516040519392919084640100000000821115610d7357600080fd5b908301906020820185811115610d8857600080fd5b8251640100000000811182820188101715610da257600080fd5b82525081516020918201929091019080838360005b83811015610dcf578181015183820152602001610db7565b50505050905090810190601f168015610dfc5780820380516001836020036101000a031916815260200191505b5060409081526020820151908201516060830151608090930151959f50909d509b5099509197505050505050505091939590929450565b6001546001600160a01b031690565b6001546001600160a01b03163314610e8b5760405162461bcd60e51b8152600401808060200182810382526023815260200180612b056023913960400191505060405180910390fd5b6001600160a01b038116610ee6576040805162461bcd60e51b815260206004820152601f60248201527f526566657272616c56616c696461746f723a207a65726f206164647265737300604482015290519081900360640190fd5b6001600160a01b0316600090815260056020526040812055565b6001546001600160a01b03163314610f5f576040805162461bcd60e51b815260206004820152601260248201527f6f6e6c792061646d696e20616c6c6f7765640000000000000000000000000000604482015290519081900360640190fd5b610f698282612087565b5050565b6001546001600160a01b03163314610fcc576040805162461bcd60e51b815260206004820152601b60248201527f6f6e6c792061646d696e2063616e206368616e67652061646d696e0000000000604482015290519081900360640190fd5b6001546001600160a01b038281169116141561102f576040805162461bcd60e51b815260206004820152600d60248201527f616c72656164792061646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b600154604080516001600160a01b039283168152918316602083015280517f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f9281900390910190a16001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001546001600160a01b03163314611105576040805162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632eb2c2d63087878787876040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b031681526020018060200180602001806020018481038452888882818152602001925060200280828437600083820152601f01601f19169091018581038452868152602090810191508790870280828437600081840152601f19601f8201169050808301925050508481038252600081526020016020019950505050505050505050600060405180830381600087803b15801561121257600080fd5b505af1158015611226573d6000803e3d6000fd5b505050505050505050565b60045490565b6001600160a01b038116611292576040805162461bcd60e51b815260206004820152600c60248201527f5a45524f5f414444524553530000000000000000000000000000000000000000604482015290519081900360640190fd5b6001546001600160a01b031633146112f1576040805162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517f4d66958b757eb92a1b43d02be4c38c9500b73f532420ee3706cb43d420ba023690600090a250565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b60006004548211806113985750836001600160a01b0316856001600160a01b0316145b806113a257508242115b156113af575060006114a8565b60408051606087811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009081166020808501919091529188901b166034830152604882018690526068808301869052835180840390910181526088830184528051908201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000060a884015260c48084018290528451808503909101815260e49093019093528151910120600090611466908961214e565b6001600160a01b0381166000908152600560205260409020549091504211611493576001925050506114a8565b6003546001600160a01b039081169116149150505b95945050505050565b6003546001600160a01b031690565b6001600160a01b031660009081526002602052604090205460ff1690565b6001546001600160a01b0316331461153d576040805162461bcd60e51b815260206004820152601260248201527f6f6e6c792061646d696e20616c6c6f7765640000000000000000000000000000604482015290519081900360640190fd5b600481905560405181907f774069781371d65424b3b0b101c1d40014532cac040f979595b99a3fcf8ce08c90600090a250565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000421061160f576040805162461bcd60e51b815260206004820152600c60248201527f53414c455f49535f4f5645520000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03821633148061163557503360009081526002602052604090205460ff165b611686576040805162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03811615806116ad5750816001600160a01b0316816001600160a01b0316145b610f69576040805162461bcd60e51b815260206004820152600d60248201527f52455345525645445f4c414e4400000000000000000000000000000000000000604482015290519081900360640190fd5b600087878760008151811061170f57fe5b60200260200101518860018151811061172457fe5b60200260200101518960028151811061173957fe5b60200260200101518a60038151811061174e57fe5b60200260200101518a8a60405160200180828051906020019060200280838360005b83811015611788578181015183820152602001611770565b50505050905001915050604051602081830303815290604052805190602001208a60405160200180828051906020019060200280838360005b838110156117d95781810151838201526020016117c1565b5050505090500191505060405160208183030381529060405280519060200120604051602001808a6001600160a01b03166001600160a01b031660601b8152601401896001600160a01b03166001600160a01b031660601b81526014018881526020018781526020018681526020018581526020018481526020018381526020018281526020019950505050505050505050604051602081830303815290604052805190602001209050600760009054906101000a90046001600160a01b03166001600160a01b031663012847ed83836040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b838110156118fb5781810151838201526020016118e3565b50505050905090810190601f1680156119285780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561194657600080fd5b505afa15801561195a573d6000803e3d6000fd5b505050506040513d602081101561197057600080fd5b50516119c3576040805162461bcd60e51b815260206004820152600c60248201527f494e56414c49445f415554480000000000000000000000000000000000000000604482015290519081900360640190fd5b6000611a24876000815181106119d557fe5b6020026020010151886001815181106119ea57fe5b6020026020010151896002815181106119ff57fe5b60200260200101518a600381518110611a1457fe5b60200260200101518c8b8b612337565b9050611a3084826123dc565b611226576040805162461bcd60e51b815260206004820152600c60248201527f494e56414c49445f4c414e440000000000000000000000000000000000000000604482015290519081900360640190fd5b6000611a8d84846124a5565b600654909150611acc908590839085906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000061253f565b50505050565b80600281518110611adf57fe5b602002602001015160011480611b1c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316155b15611c1e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e1e3bbf8383600281518110611b5e57fe5b602002602001015184600081518110611b7357fe5b602002602001015185600181518110611b8857fe5b60200260200101516040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b031681526020018481526020018381526020018281526020018060200182810382526000815260200160200195505050505050600060405180830381600087803b158015611c0157600080fd5b505af1158015611c15573d6000803e3d6000fd5b50505050611dbe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e1e3bbf7f000000000000000000000000000000000000000000000000000000000000000083600281518110611c7b57fe5b602002602001015184600081518110611c9057fe5b602002602001015185600181518110611ca557fe5b60200260200101518760405160200180826001600160a01b03166001600160a01b031681526020019150506040516020818303038152906040526040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b0316815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611d55578181015183820152602001611d3d565b50505050905090810190601f168015611d825780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b158015611da557600080fd5b505af1158015611db9573d6000803e3d6000fd5b505050505b61019881600181518110611dce57fe5b60200260200101510281600081518110611de457fe5b602002602001015101826001600160a01b0316846001600160a01b03167fe4dfa6ac11314892f3029b34a25b1a887da3b1cab2bbf8506d87128ba6e3ac0284600281518110611e2f57fe5b602002602001015185600381518110611e4457fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000087600381518110611e7a57fe5b602002602001015160405180858152602001848152602001836001600160a01b03166001600160a01b0316815260200182815260200194505050505060405180910390a4505050565b6060815167ffffffffffffffff81118015611edd57600080fd5b50604051908082528060200260200182016040528015611f07578160200160208202803683370190505b50905060005b8251811015611f37576001828281518110611f2457fe5b6020908102919091010152600101611f0d565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632eb2c2d6308585856040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b03168152602001806020018060200180602001848103845286818151815260200191508051906020019060200280838360005b83811015611ff2578181015183820152602001611fda565b50505050905001848103835285818151815260200191508051906020019060200280838360005b83811015612031578181015183820152602001612019565b50505050905001848103825260008152602001602001975050505050505050600060405180830381600087803b15801561206a57600080fd5b505af115801561207e573d6000803e3d6000fd5b50505050505050565b6001600160a01b0382166120cc5760405162461bcd60e51b8152600401808060200182810382526025815260200180612b6b6025913960400191505060405180910390fd5b6001600160a01b03821660008181526002602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915582519384529083015280517fb21eb88b4e33b3f1281830a7178d74d8aa73220416215726b68ae23d539515cb9281900390910190a15050565b600081516041146121a6576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156122175760405162461bcd60e51b8152600401808060200182810382526022815260200180612ae36022913960400191505060405180910390fd5b8060ff16601b1415801561222f57508060ff16601c14155b1561226b5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b286022913960400191505060405180910390fd5b60408051600080825260208083018085528a905260ff85168385015260608301879052608083018690529251909260019260a080820193601f1981019281900390910190855afa1580156122c3573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661232b576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b93505050505b92915050565b60008787878787878760405160200180888152602001878152602001868152602001858152602001846001600160a01b03166001600160a01b031660601b8152601401838152602001828051906020019060200280838360005b838110156123a9578181015183820152602001612391565b50505050905001975050505050505050604051602081830303815290604052805190602001209050979650505050505050565b600081815b845181101561247b5760008582815181106123f857fe5b60200260200101519050808310156124405782816040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209250612472565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b506001016123e1565b507f0000000000000000000000000000000000000000000000000000000000000000149392505050565b6000806124ca60646124be85600563ffffffff61264716565b9063ffffffff6126a716565b90506125276001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016857f00000000000000000000000000000000000000000000000000000000000000008463ffffffff6126e916565b612537838263ffffffff61277116565b949350505050565b8251819085901561262c57606060008060008061255b8a610d2e565b93985091965094509250905060006125768686868686611375565b15612604576125906125888d84612647565b6127106126a7565b9050886001600160a01b0316846001600160a01b0316866001600160a01b03167fac7a699eb95c3c6d390ec4626de17ef9a67b35891efdb197beba7c7fdd45fac48f858760405180848152602001838152602001828152602001935050505060405180910390a46126018782612771565b96505b8015612625576126256001600160a01b0389168e878463ffffffff6126e916565b5050505050505b61207e6001600160a01b03831688868463ffffffff6126e916565b60008261265657506000612331565b8282028284828161266357fe5b04146126a05760405162461bcd60e51b8152600401808060200182810382526021815260200180612b4a6021913960400191505060405180910390fd5b9392505050565b60006126a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127b3565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611acc908590612855565b60006126a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061290b565b6000818361283f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156128045781810151838201526020016127ec565b50505050905090810190601f1680156128315780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161284b57fe5b0495945050505050565b60606128aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166129659092919063ffffffff16565b805190915015612906578080602001905160208110156128c957600080fd5b50516129065760405162461bcd60e51b815260040180806020018281038252602a815260200180612b90602a913960400191505060405180910390fd5b505050565b6000818484111561295d5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156128045781810151838201526020016127ec565b505050900390565b60606125378484600085606061297a85612adc565b6129cb576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310612a0a5780518252601f1990920191602091820191016129eb565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612a6c576040519150601f19603f3d011682016040523d82523d6000602084013e612a71565b606091505b50915091508115612a855791506125379050565b805115612a955780518082602001fd5b60405162461bcd60e51b81526020600482018181528651602484015286518793919283926044019190850190808383600083156128045781810151838201526020016127ec565b3b15159056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c7565526566657272616c56616c696461746f723a2053656e646572206e6f742061646d696e45434453413a20696e76616c6964207369676e6174757265202776272076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d6574615472616e73616374696f6e52656365697665723a207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122077f2d13cbcb85fa08010a53c1e4ef27117b031e8c1c9273d55cef362af299f3164736f6c63430006050033", + "devdoc": { + "methods": { + "buyLandWithSand(address,address,address,uint256[],bytes32,uint256[],bytes32[],bytes,bytes)": { + "params": { + "assetIds": "asset ids (lands) that will be bought", + "buyer": "address that perform the payment", + "info": "[X_INDEX=0] x coordinate of the Land [Y_INDEX=1] y coordinate of the Land [SIZE_INDEX=2] size of the pack of Land to purchase [PRICE_INDEX=3] price in SAND to purchase that Land", + "proof": "merkleProof for that particular Land", + "referral": "referral id", + "reserved": "the reserved address (if any)", + "salt": "The salt submitted for verification.", + "signature": "A signed message specifying tx details", + "to": "address that will own the purchased Land" + } + }, + "changeAdmin(address)": { + "details": "change the administrator to be `newAdmin`.", + "params": { + "newAdmin": "address of the new administrator." + } + }, + "disablePreviousSigningWallet(address)": { + "details": "Disable compromised signing wallet", + "params": { + "disableWallet": "The wallet address to be disabled" + } + }, + "getAdmin()": { + "details": "gives the current administrator of this contract.", + "returns": { + "_0": "the current administrator of this contract." + } + }, + "getSigningWallet()": { + "details": "signing wallet authorized for referral", + "returns": { + "_0": "the address of the signing wallet" + } + }, + "isMetaTransactionProcessor(address)": { + "details": "check whether address `who` is given meta-transaction execution rights.", + "params": { + "who": "The address to query." + }, + "returns": { + "_0": "whether the address has meta-transaction execution rights." + } + }, + "isReferralValid(bytes,address,address,uint256,uint256)": { + "params": { + "commissionRate": "The commissionRate of the referral", + "expiryTime": "The expiry time of the referral", + "referee": "The address of the referee", + "referrer": "The address of the referrer", + "signature": "The signature to check (signed referral)" + }, + "returns": { + "_0": "True if the referral is valid" + } + }, + "setMetaTransactionProcessor(address,bool)": { + "details": "Enable or disable the ability of `metaTransactionProcessor` to perform meta-tx (metaTransactionProcessor rights).", + "params": { + "enabled": "set whether the metaTransactionProcessor is enabled or disabled.", + "metaTransactionProcessor": "address that will be given/removed metaTransactionProcessor rights." + } + }, + "setReceivingWallet(address)": { + "params": { + "newWallet": "address of the new receiving wallet" + } + }, + "updateMaxCommissionRate(uint256)": { + "details": "Update the maximum commission rate", + "params": { + "newMaxCommissionRate": "The new maximum commission rate" + } + }, + "updateSigningWallet(address)": { + "details": "Update the signing wallet The previous wallet is still valid for a grace period (_previousSigningDelay). If you want to disable the previous wallet, use the disablePreviousSigningWallet function.", + "params": { + "newSigningWallet": "The new address of the signing wallet" + } + }, + "withdrawAssets(address,uint256[],uint256[])": { + "params": { + "assetIds": "the assetIds to be transferred", + "to": "intended recipient of the asset tokens", + "values": "the quantities of the assetIds to be transferred" + } + } + }, + "title": "Estate Sale contract with referral" + }, + "userdoc": { + "methods": { + "buyLandWithSand(address,address,address,uint256[],bytes32,uint256[],bytes32[],bytes,bytes)": { + "notice": "buy Land with SAND using the merkle proof associated with it" + }, + "getExpiryTime()": { + "notice": "Gets the expiry time for the current sale" + }, + "getMaxCommissionRate()": { + "notice": "the max commission rate" + }, + "getMerkleRoot()": { + "notice": "Gets the Merkle root associated with the current sale" + }, + "isReferralValid(bytes,address,address,uint256,uint256)": { + "notice": "Check if a referral is valid" + }, + "setReceivingWallet(address)": { + "notice": "set the wallet receiving the proceeds" + }, + "withdrawAssets(address,uint256[],uint256[])": { + "notice": "enable Admin to withdraw remaining assets from EstateSaleWithFee contract" + } + }, + "notice": "This contract manages the sale of our lands as Estates" + }, + "storageLayout": { + "storage": [ + { + "astId": 1129, + "contract": "src/solc_0.6/EstateSale/EstateSaleWithAuth.sol:EstateSaleWithAuth", + "label": "_status", + "offset": 0, + "slot": "0", + "type": "t_uint256" + }, + { + "astId": 14099, + "contract": "src/solc_0.6/EstateSale/EstateSaleWithAuth.sol:EstateSaleWithAuth", + "label": "_admin", + "offset": 0, + "slot": "1", + "type": "t_address" + }, + { + "astId": 14168, + "contract": "src/solc_0.6/EstateSale/EstateSaleWithAuth.sol:EstateSaleWithAuth", + "label": "_metaTransactionContracts", + "offset": 0, + "slot": "2", + "type": "t_mapping(t_address,t_bool)" + }, + { + "astId": 12200, + "contract": "src/solc_0.6/EstateSale/EstateSaleWithAuth.sol:EstateSaleWithAuth", + "label": "_signingWallet", + "offset": 0, + "slot": "3", + "type": "t_address" + }, + { + "astId": 12202, + "contract": "src/solc_0.6/EstateSale/EstateSaleWithAuth.sol:EstateSaleWithAuth", + "label": "_maxCommissionRate", + "offset": 0, + "slot": "4", + "type": "t_uint256" + }, + { + "astId": 12206, + "contract": "src/solc_0.6/EstateSale/EstateSaleWithAuth.sol:EstateSaleWithAuth", + "label": "_previousSigningWallets", + "offset": 0, + "slot": "5", + "type": "t_mapping(t_address,t_uint256)" + }, + { + "astId": 7750, + "contract": "src/solc_0.6/EstateSale/EstateSaleWithAuth.sol:EstateSaleWithAuth", + "label": "_wallet", + "offset": 0, + "slot": "6", + "type": "t_address_payable" + }, + { + "astId": 7752, + "contract": "src/solc_0.6/EstateSale/EstateSaleWithAuth.sol:EstateSaleWithAuth", + "label": "_authValidator", + "offset": 0, + "slot": "7", + "type": "t_contract(AuthValidator)7063" + } + ], + "types": { + "t_address": { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_address_payable": { + "encoding": "inplace", + "label": "address payable", + "numberOfBytes": "20" + }, + "t_bool": { + "encoding": "inplace", + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(AuthValidator)7063": { + "encoding": "inplace", + "label": "contract AuthValidator", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => bool)", + "numberOfBytes": "32", + "value": "t_bool" + }, + "t_mapping(t_address,t_uint256)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => uint256)", + "numberOfBytes": "32", + "value": "t_uint256" + }, + "t_uint256": { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + } +} \ No newline at end of file