diff --git a/packages/core/data/landSales/LandPreSale_36/bundles.testnet.json b/packages/core/data/landSales/LandPreSale_36/bundles.testnet.json new file mode 100644 index 0000000000..9c816abccb --- /dev/null +++ b/packages/core/data/landSales/LandPreSale_36/bundles.testnet.json @@ -0,0 +1,3 @@ +{ + "200": [] +} diff --git a/packages/core/data/landSales/LandPreSale_36/sectors.testnet.json b/packages/core/data/landSales/LandPreSale_36/sectors.testnet.json new file mode 100644 index 0000000000..033ef4c56a --- /dev/null +++ b/packages/core/data/landSales/LandPreSale_36/sectors.testnet.json @@ -0,0 +1,1984 @@ +[ + { + "sector": 61, + "limit": 10000, + "lands": [ + { + "coordinateX": -24, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -149, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -148, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -147, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -146, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -145, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -24, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -149, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -148, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -147, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -146, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -145, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -23, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -22, + "coordinateY": -148, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -22, + "coordinateY": -147, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -146, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -145, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -22, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -146, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -145, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -147, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -20, + "coordinateY": -146, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -145, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -146, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -145, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -142, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -142, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -140, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -18, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -17, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -16, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -15, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -15, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -15, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -14, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -14, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -14, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -13, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -13, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -12, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -12, + "coordinateY": -149, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -12, + "coordinateY": -148, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -12, + "coordinateY": -147, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -12, + "coordinateY": -146, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -12, + "coordinateY": -138, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -12, + "coordinateY": -137, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -12, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -149, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -148, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -147, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -146, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -145, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -11, + "coordinateY": -137, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -149, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -147, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -146, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -138, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -10, + "coordinateY": -137, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -149, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -148, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -147, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -146, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -145, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -9, + "coordinateY": -138, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -9, + "coordinateY": -137, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -149, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -148, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -147, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -146, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -137, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -149, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -148, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -147, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -146, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -145, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -7, + "coordinateY": -138, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -7, + "coordinateY": -137, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -6, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "200" + }, + { + "coordinateX": -6, + "coordinateY": -138, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -137, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -135, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -134, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -133, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -128, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -138, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -137, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -135, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -133, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -128, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -138, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -137, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -135, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -134, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -133, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -129, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -128, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -138, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -137, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -135, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -134, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -133, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -128, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -138, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -137, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -134, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -133, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -128, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -138, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -137, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -136, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -135, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -134, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -133, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -128, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 0, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 0, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 0, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 0, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 1, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 1, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 1, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 1, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 2, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 2, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 2, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 2, + "coordinateY": -129, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": 3, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 3, + "coordinateY": -131, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": 3, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 3, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 4, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 4, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 4, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 4, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 5, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 5, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 5, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 5, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 6, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 6, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 6, + "coordinateY": -129, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": 7, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 7, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 7, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 7, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 8, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 8, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 8, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 8, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 9, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 9, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 9, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 9, + "coordinateY": -129, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 10, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 10, + "coordinateY": -131, + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "bundleId": "" + }, + { + "coordinateX": 10, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 11, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 11, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 11, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + } + ], + "estates": [ + { + "coordinateX": -21, + "coordinateY": -150, + "type": 1, + "lands": [ + { + "coordinateX": -21, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -150, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -149, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -149, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -149, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -21, + "coordinateY": -148, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -20, + "coordinateY": -148, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -19, + "coordinateY": -148, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + }, + { + "coordinateX": -15, + "coordinateY": -144, + "type": 1, + "lands": [ + { + "coordinateX": -15, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -14, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -13, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -15, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -14, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -13, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -15, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -14, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -13, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + }, + { + "coordinateX": -6, + "coordinateY": -144, + "type": 1, + "lands": [ + { + "coordinateX": -6, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -6, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -5, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -4, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + }, + { + "coordinateX": -3, + "coordinateY": -144, + "type": 1, + "lands": [ + { + "coordinateX": -3, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -3, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -2, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -1, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + }, + { + "coordinateX": 12, + "coordinateY": -132, + "type": 1, + "lands": [ + { + "coordinateX": 12, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 13, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 14, + "coordinateY": -132, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 12, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 13, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 14, + "coordinateY": -131, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 12, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 13, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": 14, + "coordinateY": -130, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + }, + { + "coordinateX": -12, + "coordinateY": -144, + "type": 2, + "lands": [ + { + "coordinateX": -12, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -144, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -12, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -143, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -12, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -142, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -12, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -141, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -12, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -140, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -12, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -11, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -10, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -9, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -8, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + }, + { + "coordinateX": -7, + "coordinateY": -139, + "ownerAddress": "", + "bundleId": "" + } + ], + "ownerAddress": "0x7a9fe22691c811ea339d9b73150e6911a5343dca" + } + ] + } +] diff --git a/packages/core/data/landSales/deadlines.ts b/packages/core/data/landSales/deadlines.ts index 5a517dc6b6..1847548180 100644 --- a/packages/core/data/landSales/deadlines.ts +++ b/packages/core/data/landSales/deadlines.ts @@ -57,5 +57,6 @@ const deadlines: { [sector: number]: number } = { 56: new Date("2024-04-19T12:00:00.000Z").valueOf() / 1000, 57: new Date("2024-07-29T12:00:00.000Z").valueOf() / 1000, 58: new Date("2024-09-04T12:00:00.000Z").valueOf() / 1000, + 61: new Date("2024-09-04T12:00:00.000Z").valueOf() / 1000, }; export default deadlines; diff --git a/packages/core/deploy_polygon/08_landsale/01_deploy_estate_sale.ts b/packages/core/deploy_polygon/08_landsale/01_deploy_estate_sale.ts index 5df63ce65a..af75e8b4b2 100644 --- a/packages/core/deploy_polygon/08_landsale/01_deploy_estate_sale.ts +++ b/packages/core/deploy_polygon/08_landsale/01_deploy_estate_sale.ts @@ -38,7 +38,8 @@ const sales: SaleDeployment[] = [ {name: 'LandPreSale_32', skip: async () => true}, {name: 'LandPreSale_33', skip: async () => true}, {name: 'LandPreSale_34', skip: async () => true}, - {name: 'LandPreSale_35', skip: async () => false}, + {name: 'LandPreSale_35', skip: async () => true}, + {name: 'LandPreSale_36', skip: async () => false}, ]; const func: DeployFunction = async function (hre) { diff --git a/packages/core/deployments/amoy/PolygonLandPreSale_61.json b/packages/core/deployments/amoy/PolygonLandPreSale_61.json new file mode 100644 index 0000000000..bdfdbb22a3 --- /dev/null +++ b/packages/core/deployments/amoy/PolygonLandPreSale_61.json @@ -0,0 +1,3153 @@ +{ + "address": "0x21001e37BFB31D0a6DF6Ccab4a546709335C4c53", + "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": "0x8c5d1096ca00b610df4c16a16cf62e31f49eef8847bf5815a5dabfce7d1a6ffd", + "receipt": { + "to": null, + "from": "0x5F890c9522dCE5670d741D4277BFCC2d9cA8Af02", + "contractAddress": "0x21001e37BFB31D0a6DF6Ccab4a546709335C4c53", + "transactionIndex": 0, + "gasUsed": "2668417", + "logsBloom": "0x00000000000000000000000000000000400000000000000000040000000000000002000000000000000000000000000000008000000000000000000000400000000000000000000000000000000000800000000000000000000100001000000000000000000000000000000000000000000000000000000080000000010000000000000000000000000000000000000000000000000000000000000000200000200000000000000000000000008000000000000000000000000000000000004100000000000000000001000000000000000000000000000000108008000000000000000000000000000000000000008000000000000000000000000000100000", + "blockHash": "0x4a74564009ef890cfc0e2e598af84b35c720787a9637cde514becb6c04484dd3", + "transactionHash": "0x8c5d1096ca00b610df4c16a16cf62e31f49eef8847bf5815a5dabfce7d1a6ffd", + "logs": [ + { + "transactionIndex": 0, + "blockNumber": 11517860, + "transactionHash": "0x8c5d1096ca00b610df4c16a16cf62e31f49eef8847bf5815a5dabfce7d1a6ffd", + "address": "0x21001e37BFB31D0a6DF6Ccab4a546709335C4c53", + "topics": [ + "0xb21eb88b4e33b3f1281830a7178d74d8aa73220416215726b68ae23d539515cb" + ], + "data": "0x000000000000000000000000d20fbd836e80dabfb777e6aabbe52e96c07ecd1b0000000000000000000000000000000000000000000000000000000000000001", + "logIndex": 0, + "blockHash": "0x4a74564009ef890cfc0e2e598af84b35c720787a9637cde514becb6c04484dd3" + }, + { + "transactionIndex": 0, + "blockNumber": 11517860, + "transactionHash": "0x8c5d1096ca00b610df4c16a16cf62e31f49eef8847bf5815a5dabfce7d1a6ffd", + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000005f890c9522dce5670d741d4277bfcc2d9ca8af02", + "0x0000000000000000000000004ad84f7014b7b44f723f284a85b1662337971439" + ], + "data": "0x000000000000000000000000000000000000000000000000016c096319aebf71000000000000000000000000000000000000000000000002132b36a50c7d89c5000000000000000000000000000000000000000000000262ae6c3170db3cdf5e00000000000000000000000000000000000000000000000211bf2d41f2ceca54000000000000000000000000000000000000000000000262afd83ad3f4eb9ecf", + "logIndex": 1, + "blockHash": "0x4a74564009ef890cfc0e2e598af84b35c720787a9637cde514becb6c04484dd3" + } + ], + "blockNumber": 11517860, + "cumulativeGasUsed": "2668417", + "status": 1, + "byzantium": true + }, + "args": [ + "0xEdE111C053616a91975488F8aB3B51382A32979b", + "0xD20fbd836e80DabFb777E6AaBbe52e96c07eCD1B", + "0xD20fbd836e80DabFb777E6AaBbe52e96c07eCD1B", + "0x49c4D4C94829B9c44052C5f5Cb164Fc612181165", + "0xa5Eb9C9Eb4F4c35B9Be8cFaAA7909F9ebe6Cb609", + "0x454ab7369a57abc48d91ccb3718f983129e32b9baa88c562585edcbff35f1cc0", + 2041934400, + "0xB7060D3FeCAC3AE1F0A0AA416E3e8E472257950e", + 2000, + "0x0000000000000000000000000000000000000000", + "0x2D0f3dfe9B7e86b36d188A3AAdE83898d4BeE7a2", + "0xAc3ff31f526Af7f386ea43649e3fa67e329AeF93", + "0x34C87E3A9eD80D50a146C1833043265221c5Abd2" + ], + "numDeployments": 1, + "linkedData": [ + { + "x": 180, + "y": 54, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x66f3a35a9bd07128b94135abf72caf10816737b7de8b0eb6c1040f896007d20d", + "assetIds": [] + }, + { + "x": 180, + "y": 55, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf73e45ef787567ed5f9349588ab0c69e8743d4309ec342253eeaa6c0806d9ed5", + "assetIds": [] + }, + { + "x": 180, + "y": 56, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc00a0166af06951d830610fa5f2bae25ba81a69b9650169d1391684bab8178cd", + "assetIds": [] + }, + { + "x": 180, + "y": 57, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6adc58dfc58e434a6f61fbd403b277ee0da592de4242e88e1af40657c4a400ce", + "assetIds": [] + }, + { + "x": 180, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd578411ff6dc53e8c7341b0a8c1eb492289e4639346d10f33398f7107938caa3", + "assetIds": [] + }, + { + "x": 180, + "y": 59, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf58817458602ef28f06f829925f71a1179ed47e9e534066ba25875c6ccb21267", + "assetIds": [] + }, + { + "x": 180, + "y": 60, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9fbfbb654f9a1171be0aaff32fec5a060921fa25f08ff16cad200e87f394b363", + "assetIds": [] + }, + { + "x": 180, + "y": 61, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x849c59f13f1b4af7a37b356113b8799b895326f8118f7c1e4312e61671a11acf", + "assetIds": [] + }, + { + "x": 180, + "y": 62, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa0d5683fc3d3c1c9d1a6c4fcc76a8fd66192e44a2ffe84f65ce3e99198ad738b", + "assetIds": [] + }, + { + "x": 181, + "y": 54, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf27449fc9a46ee7c7a8f2a2a20caee20b68959cf830dcca271b1922e3fc84f86", + "assetIds": [] + }, + { + "x": 181, + "y": 55, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x54e109be3c8d344a5fb98ffefd933724ec1faac0a87f7abb97686d78c872a2f6", + "assetIds": [] + }, + { + "x": 181, + "y": 56, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xcf0bc45cdfe45aff70c56f6ca1daa2ccab6599a853d41e0e2d6a5064a16a1c70", + "assetIds": [] + }, + { + "x": 181, + "y": 57, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xada866f6ce47844b69ea31c578d329915fc27683755394bc3b541fa2aadb0d77", + "assetIds": [] + }, + { + "x": 181, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x18b9c1bb80bb27d8826d8208591fb9b2569f06bea0764cfc00975d93e59d2530", + "assetIds": [] + }, + { + "x": 181, + "y": 59, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x71eec66ed853e774d317920d78f3b27f31cf5a96f9a492472bcd435fe381afc9", + "assetIds": [] + }, + { + "x": 181, + "y": 60, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xff00525e3e8e1f47ccf577b8f20c262c64d2b8fc7055c942b62a6ab514360a97", + "assetIds": [] + }, + { + "x": 181, + "y": 61, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd171eb8f84e0a292b08b9874b3aed78fa59033c84ed078b61f9f9cabcec22f0a", + "assetIds": [] + }, + { + "x": 181, + "y": 62, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x53f69c18a04b6808d9e754b7e52e4dda314f050f178682bdfdc05be3e0e62a95", + "assetIds": [] + }, + { + "x": 182, + "y": 54, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x389c06c3c8177454bc788ad77158174600ff2d2e6700090e792acaf475feba9e", + "assetIds": [] + }, + { + "x": 182, + "y": 56, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0xdbd71ee5f28c7e2b41b915f03ead67ac93d0d3691b6daa5219104a334c80900d", + "assetIds": [] + }, + { + "x": 182, + "y": 57, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x021642071b0131da42896d958f45d2e1a0f16252aa6e2a43ea2132960234676e", + "assetIds": [] + }, + { + "x": 182, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7c2f40510b58ad127549f385851eb8dd670f533957365e5a4cf8c71fd3215d9a", + "assetIds": [] + }, + { + "x": 182, + "y": 59, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x359917d70730418f89d3c129b79185a4dbc41577cd0552d7388456a60f9464bf", + "assetIds": [] + }, + { + "x": 182, + "y": 60, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x75c7094798637fcfe407a17272f2f18e3b6ecc4cad9239cc48b29f6f6922a589", + "assetIds": [] + }, + { + "x": 182, + "y": 61, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x24fb21836979498cb0e3d66fd25a170056db0a35b2c0ac4b827b7f7029d01691", + "assetIds": [] + }, + { + "x": 182, + "y": 62, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2317cae70bf04f36ed43281687ea113c4f1f03243e6bc24905ba56fdfc56adf1", + "assetIds": [] + }, + { + "x": 183, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x685f984d6f0def5e648a16be6aae8907a9d9fd2eef5e0b9ccffe7b08ebbf99be", + "assetIds": [] + }, + { + "x": 183, + "y": 59, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8762bef5912a8054bbaae4d0ff2062403a6e9468458c176956aa9c6bd7b04ee8", + "assetIds": [] + }, + { + "x": 183, + "y": 61, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc6ac08b4981cadfac3c0669b4f8c4414eeae9fd876a4de3e914bafba9a48fefc", + "assetIds": [] + }, + { + "x": 183, + "y": 62, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4f532f7ff45acdb2ba3976de317a76f86630e32ac59d077241a0a2820a4a7582", + "assetIds": [] + }, + { + "x": 183, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1c165be2933751bc83a9f4011f06ef6b06039aa2aae289b8e1be244c5bb989f9", + "assetIds": [] + }, + { + "x": 183, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xca67e242308926a299ac7e42b0d8dc5bcdfc9470e75fd98c57b5cfb2c2d7a0df", + "assetIds": [] + }, + { + "x": 183, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x24ff4c9bf32e989c204e53f14ff902dcfcb1266f1a3487514b45f02a0aa80512", + "assetIds": [] + }, + { + "x": 184, + "y": 57, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x392e0b8f9bffa6f5151f8fd2df0e73b24ef7c018360f3f9288fda9c3d85027df", + "assetIds": [] + }, + { + "x": 184, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd200fd6bc38cbc6de86baa97f02f33df95d809e8de00cd2968338bb399d5fd60", + "assetIds": [] + }, + { + "x": 184, + "y": 59, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6fa070e1f9a223a46f1fbd4e73a87c66a767142b3b741c0a117bc9f7935e1f01", + "assetIds": [] + }, + { + "x": 184, + "y": 60, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7f13a208733243ec5df80950bbacb95d7bc6cba6e77775aa48e3a1b46d05a895", + "assetIds": [] + }, + { + "x": 184, + "y": 61, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x87c29ca5e04614216282b8c990c64aab4d6e8b490153166cd0a1fc52119e38fb", + "assetIds": [] + }, + { + "x": 184, + "y": 62, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x05a91bca49fbd8905a6a27c701030be78d82c4d51599eb1876206e60a398d694", + "assetIds": [] + }, + { + "x": 184, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x425d3481814a5579b2443a8d4c9aa07e2942782d9617ad3ef475a54664693554", + "assetIds": [] + }, + { + "x": 184, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x71ee210b862f1363d295bd8796abbef45efd9c01bc7db02a5ea0d1378e7d2cb1", + "assetIds": [] + }, + { + "x": 184, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x988217b49bd071d4907c328a9a98c6841efbb83a0a1d512e0076b8e825849dd8", + "assetIds": [] + }, + { + "x": 185, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd1f956f87d4ca095d1f80ab59fe3fcb3669389d25a8f8046a836ac91919ec62d", + "assetIds": [] + }, + { + "x": 185, + "y": 59, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xbd91bd8f9ac5611d82d7c71aad5d9bfbec4a77d4a9418c65ade8956f9b92176a", + "assetIds": [] + }, + { + "x": 185, + "y": 60, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8f7c7fe1e1d75fcee72ae6fa2b636ff83d719aadf72e5058581d5a95c233eb69", + "assetIds": [] + }, + { + "x": 185, + "y": 61, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xba4fc16233a7739fa5c940679476549402c5e210871d0161426e3c00acb64f14", + "assetIds": [] + }, + { + "x": 185, + "y": 62, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x7ab70153bc2d290347a9cb0d63f51dfa4b338677777c235e474a45ea3d09aed4", + "assetIds": [] + }, + { + "x": 185, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf7ac10c139709ad771d94ad0a6519ff8fea5a0e99d6d4c8827726579e64d1754", + "assetIds": [] + }, + { + "x": 185, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x5c51d4f45e5d94fdc75cdb044e9bceaaab37e1288d152b442ae502d530c54bda", + "assetIds": [] + }, + { + "x": 185, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7426d2f7f8772692b9d6f8b9ec53dbeeee7b299dfe94f1e98d14dd662ad67b16", + "assetIds": [] + }, + { + "x": 186, + "y": 60, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x274db11452ca01702c470575470cf620057fed1a0a3a7f953d2fb7a0645345a8", + "assetIds": [] + }, + { + "x": 186, + "y": 61, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc2d65bd1d526b0f356c21a0b1db41d52e6e26d1c9584e594ae7989bb10b93744", + "assetIds": [] + }, + { + "x": 186, + "y": 62, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x54aaa55f0be40cbf145ec5e80d4ba18ea418ae640ab5e1a0f453584f3c6c4326", + "assetIds": [] + }, + { + "x": 186, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2613c3ed334ea04883996b684be2e8d987a824ed2dd8bf57ce0f557f9c0ebc8c", + "assetIds": [] + }, + { + "x": 186, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xceee1cbd32418a1cf6e3b3ac2c720f44c1f1435ca0789c7ca1c5e5cad5e7ef87", + "assetIds": [] + }, + { + "x": 186, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa1e01e28acaf2b7bf71c8fbce6992cbf3ce6a5ad6f9c392220de01111fdf369d", + "assetIds": [] + }, + { + "x": 187, + "y": 60, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x470388a91a36ed9a8bfd1bf6d75909d25252f286a0bf0faafb3a54cba1a15325", + "assetIds": [] + }, + { + "x": 187, + "y": 61, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb9da10031bb861512849cec767c651d9051fcc4e3dfe6fbb43013a890611dda7", + "assetIds": [] + }, + { + "x": 187, + "y": 62, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb06ee4943187030ddc01876d2b55266b2d5b2c8987fece894ee0900e1542f276", + "assetIds": [] + }, + { + "x": 187, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1f61eb54ad80b41d56e7da1da3bd234ecc6c85895d3957a8e44999763fe5eae6", + "assetIds": [] + }, + { + "x": 187, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x41211e8e6f63d9d5048dae0242f45a6b7f7c47d4836fad03adab622a4ef54725", + "assetIds": [] + }, + { + "x": 187, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x53d0b7da66446ed35a6b954994bf309d594b52469a9e17b7f4bd91f4493d953e", + "assetIds": [] + }, + { + "x": 188, + "y": 60, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf059a2a94ec38636ecd0e8cecf66aed0e0efa02b18baf170820d992a68b06558", + "assetIds": [] + }, + { + "x": 188, + "y": 61, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7c2541a5830ee95837728dd7f0f3496114fa310284c87a291ea1f386d36c3ffb", + "assetIds": [] + }, + { + "x": 188, + "y": 62, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x11dcbb72ed1a8604be4c4fb51658ae2f3335a3b57559eb6a01cea2ae3c06580a", + "assetIds": [] + }, + { + "x": 188, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x64076bcf0e869bfd26f6caa1d01d0ff0f6422636a98d67536d7360bac23efc1d", + "assetIds": [] + }, + { + "x": 188, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4db054c5ed37b5d51552f65c4a008e3e8e985e5a250e02fe28c551bd68e6799b", + "assetIds": [] + }, + { + "x": 188, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xadeade8bf773d59e7011da349fe46792571963ab2616aaf7bd59723f3eebbf79", + "assetIds": [] + }, + { + "x": 189, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x133ce4aa77e6732bb31a80c182997d9b27298de31f20af9ad71f6b2060efae2a", + "assetIds": [] + }, + { + "x": 189, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa54274cc21980b634ce05391b94315a4d2a3a949eb4d40238bf3d44bb9a9e35f", + "assetIds": [] + }, + { + "x": 189, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x3622a3a023f9516792c2ca11e42d6acaf5691910e915bceeac486a803f6247fa", + "assetIds": [] + }, + { + "x": 190, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xca86290c4bb48282ca3d055a6599ae6f1730c42e5dd373ab894ea5d3afa74b89", + "assetIds": [] + }, + { + "x": 190, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf7e78ac3a3c54a5e4e28cd8191f8ca093a718f18a156b1aa5c559241923ee6ea", + "assetIds": [] + }, + { + "x": 190, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8a28143a1aa09f4fa5bce56e7118b0ca68f0da90965a5f2254c50d4a86303224", + "assetIds": [] + }, + { + "x": 191, + "y": 63, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0xb7fd4c02076f95443be2ba1f1724b7fe193ad1460c642624d6cd25a939c9d66f", + "assetIds": [] + }, + { + "x": 191, + "y": 65, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0xa712c127b0b357988f6b1f7dbddffd6d769df038fa40064e5957254174d0884a", + "assetIds": [] + }, + { + "x": 192, + "y": 54, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4e79c7f7943d864cfe65eca0d5a4291c4467a7b24052476961c04adb338d776c", + "assetIds": [] + }, + { + "x": 192, + "y": 55, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x447e0698e8d767fda6ab24acba728010c766c128f851e14261562b30c8c2a3bf", + "assetIds": [] + }, + { + "x": 192, + "y": 56, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8d1511b407454acc61960e10eccfc27a3946478501d689988adff201a362b6c2", + "assetIds": [] + }, + { + "x": 192, + "y": 57, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x45878a4ce70b331e78bb86f7c87fa8a59288e82ad9944befa2631b7670549ec6", + "assetIds": [] + }, + { + "x": 192, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x5334283e7789a5df8512bc167ad35a41f4dc9010da1b836bafdd30a043d30209", + "assetIds": [] + }, + { + "x": 192, + "y": 66, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0xd336560ba59e174833b1cb9f960f1d06bde4b2f1f09e460bc3f7dacaeaa41ada", + "assetIds": [] + }, + { + "x": 192, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf6024a1a65d1924cb1a3cf76d1ae80f4a77262ba2d6b30e34c358fcf37d188d2", + "assetIds": [] + }, + { + "x": 192, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x51bfc7efd6ec9c04cbb5d9386cc07896876825caf14d4c6066e7897134cdf18c", + "assetIds": [] + }, + { + "x": 193, + "y": 54, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x04a78d6d16f483e975db4640d58f1a72326bca49531ad0109783e698379bff39", + "assetIds": [] + }, + { + "x": 193, + "y": 55, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7836ce637571818719e86c11b58d8458d8ceb7e0821764f665ce27cdf18e2de9", + "assetIds": [] + }, + { + "x": 193, + "y": 56, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb2a7871f1bb8a2cde26e4b94e53c7d28e8b50c9ca98eff9b15960e67389a40f8", + "assetIds": [] + }, + { + "x": 193, + "y": 57, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x89ad33b10d0fa61daa1e6bd7054185307dee89d2e9302b8e74bba100ba05cdd0", + "assetIds": [] + }, + { + "x": 193, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8c2b89b3ec67806672f49443f4d2437896920404729fcedc6837bcff5001013d", + "assetIds": [] + }, + { + "x": 193, + "y": 59, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x3c8b52415da2165dcefad91ae72e42e9e91444d4ae574eab7d6fae326c9bb121", + "assetIds": [] + }, + { + "x": 193, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xeafd6a6e7965ca74ca3f626bd7c6d0cd6cbc0218f5622bc15a10320b94a862a4", + "assetIds": [] + }, + { + "x": 193, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x32a6a937cba9db4440935aaff4043489cae6011c5e7a3a67f879609798ff02b3", + "assetIds": [] + }, + { + "x": 194, + "y": 54, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7670fde58c8a53857d95b23649e5980d97dc3c7657eacffcf914b7ac7fda9162", + "assetIds": [] + }, + { + "x": 194, + "y": 55, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa6544482442527585b9059f4ad3d3cd7cd4be6985ca83edbd619d88f79c146fc", + "assetIds": [] + }, + { + "x": 194, + "y": 57, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x474036810159ebcb359b538769b17f035232a35db1906355547feecaaaafb23b", + "assetIds": [] + }, + { + "x": 194, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x403cecfeecdaa9845904864e9451cc71ef04390a35e060ec22ac643fc0c55c78", + "assetIds": [] + }, + { + "x": 194, + "y": 66, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x75d3fab54640a05e2cfb476c4378842d6aa6e29c6f5792938cd38e83bc483447", + "assetIds": [] + }, + { + "x": 194, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2ffc27209a83d58385cbd7358f38051cb747d4354f15a2f5c757407605d12d52", + "assetIds": [] + }, + { + "x": 194, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xfa9fb499e8d1c53148b97d1aca8335f5cbf190d2939795338a733740cfd69291", + "assetIds": [] + }, + { + "x": 195, + "y": 54, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xabda0c5ba74da9e9cd27b6061b13861628196db08039d29c7048b6e2948a9832", + "assetIds": [] + }, + { + "x": 195, + "y": 55, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x5c019c7f46fd63ef41131fd9950d1331309c904a31a7f1776f252a55ffc2cf88", + "assetIds": [] + }, + { + "x": 195, + "y": 56, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xaf1bed8bf2cced71dad76c8972f288370058e4332dfb21639dd97a9f6a849cd3", + "assetIds": [] + }, + { + "x": 195, + "y": 57, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4ccb89c159acad3a9cd9ff63346083c7e1bf42bf6c8866069c85c356138b97a6", + "assetIds": [] + }, + { + "x": 195, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4aded825533f2f52ee5c7a9edee03e0468512af99dd6befe0f739e73915d5939", + "assetIds": [] + }, + { + "x": 195, + "y": 59, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x60ee79c8303dfae35f072ebd0ce97d3ec9bdf38835bfa20a5d080b23d403e326", + "assetIds": [] + }, + { + "x": 195, + "y": 66, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x77a94ec2ab250f669de1dceea78af8bb8aecd870986c1913318689c39a94a2f2", + "assetIds": [] + }, + { + "x": 195, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x6f27177aee6cce7b626b5d8b694d073ff9e4ddfb43e9ee6e9bf0d868f2ed1237", + "assetIds": [] + }, + { + "x": 195, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc1b2a0b696e89d7985a5ff2ca9e34d80b5652abb098d98ed35422bd90073438d", + "assetIds": [] + }, + { + "x": 196, + "y": 54, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf98bcaa467a22ee6884408cadefafad35f6ee1e1eac609cea97779015f0b8989", + "assetIds": [] + }, + { + "x": 196, + "y": 55, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x74371c6c908923fe0d5fb44d6f0c4d2a869056572a214d808213d99330d43f0f", + "assetIds": [] + }, + { + "x": 196, + "y": 56, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4c312bdb83559081aed8f3fd56568c99b3dbceb93712bcd6dfdef76de3952944", + "assetIds": [] + }, + { + "x": 196, + "y": 57, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6236b713efc1ddfb5f62398d75ae0902f355efa8e147002e07c17e5996af7ec8", + "assetIds": [] + }, + { + "x": 196, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xe511181edffd8542187034a71c6e3e6d436579cd41394db2f4f391ec24258be3", + "assetIds": [] + }, + { + "x": 196, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa258dd6c87c0b8d4f46775a9c772e97f267bf8d84825cd4d5258114d870eb7ce", + "assetIds": [] + }, + { + "x": 196, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x0611adc8a4c39868a2cebb9a562c8839300aabe7ac8515b0fc3c97f449047af5", + "assetIds": [] + }, + { + "x": 197, + "y": 54, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc96440d4a561bf2aa8bf27e9f7539848a82c5944f6f0ca172622ad9fd8c01512", + "assetIds": [] + }, + { + "x": 197, + "y": 55, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1fbf5e9f66d7d99ef479e950930bb680824561f5f547259a1aca3ecbbe8b44fb", + "assetIds": [] + }, + { + "x": 197, + "y": 56, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf19ee2a478907234fbd8c689cf654b3ac6a48310d5ebcb9de99d929952b8f3de", + "assetIds": [] + }, + { + "x": 197, + "y": 57, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x803f1fc92f70b3e637033d5e2ffc443ab005885744264a432d54374c952a8a0d", + "assetIds": [] + }, + { + "x": 197, + "y": 58, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd51886b3d5cf75bceda91cb7a2b9cd753b83801c5c2217c4e97d8ee0a3f87a3d", + "assetIds": [] + }, + { + "x": 197, + "y": 59, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x8cef79a3f2aa5ee4e7dda8a9e9d5a19de99bbd55baff0f7048410adb01f8db12", + "assetIds": [] + }, + { + "x": 197, + "y": 66, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0x4d1636dc957183b9a5d345983ea7c542289653e6f357ed42a4213f7695934442", + "assetIds": [] + }, + { + "x": 197, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8c5e5adba21b411eb2800eaca72fc041c495026050ff70372457fce9325f4f60", + "assetIds": [] + }, + { + "x": 197, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x3132c52d6bd44726138b4309a6f3c19c51eaeb33585ec7fd5d67d0dc8ed1dea8", + "assetIds": [] + }, + { + "x": 198, + "y": 63, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0xca3ef1c87bced7627fdb29ab7b96f4106c65b991adda326cc9292ae8f4aa04a3", + "assetIds": [] + }, + { + "x": 198, + "y": 65, + "size": 1, + "price": "4683000000000000000000", + "reserved": "", + "salt": "0xd158187f0c2b52de451deff678b78e0d2730c7483357476438f6d8633f74b469", + "assetIds": [] + }, + { + "x": 198, + "y": 66, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xdb592905121804b2f1a7b2c193333b733d7b7ea84c958169fe2d389c574a0a78", + "assetIds": [] + }, + { + "x": 198, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x64aae8bbb9dc9958e4b0ffb70522f1e126f35225c81af8a85e9de6233694f298", + "assetIds": [] + }, + { + "x": 198, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc53f048ce4e8fc48905979b778f710548ea927ea6368e8d1b69c2ac60aaeb6a0", + "assetIds": [] + }, + { + "x": 198, + "y": 69, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xbceae88dae3ffa03eb815e5b13af01f9bf1ffc5e2c406705dfea112879c5b356", + "assetIds": [] + }, + { + "x": 198, + "y": 70, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb536ec0e61cce501c268e276c12a79d21d05cd63cf6b3856fc63c1f8ae6a3b33", + "assetIds": [] + }, + { + "x": 198, + "y": 71, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6e07bd8852a2e6ee40de3252f974a44db385a0c525def614e22474d5a3065a04", + "assetIds": [] + }, + { + "x": 198, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xcd765c9b05eef047ba39caf29e8e6482ca0eb87d50bd6e979948c5799f73e254", + "assetIds": [] + }, + { + "x": 198, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9795d84bd2732e1081fc7f673a0abdb8d199d3e00911a0244dcda322969b6dcd", + "assetIds": [] + }, + { + "x": 198, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x001a3fc15e77e88fc727b54bf1dcc0358c06acb5d8e6eafcb045b3f8cb8d1765", + "assetIds": [] + }, + { + "x": 198, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x03ae872c774891ea2d54d87c6670824284aa107807c8eec8772eeeede3b3c1b2", + "assetIds": [] + }, + { + "x": 198, + "y": 76, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1b26b333423358a7bd8e520e9c0c9346e2bab67ecfa4d1fd80d1717cd1ce46bb", + "assetIds": [] + }, + { + "x": 199, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa67f21c7bbf70de80a031b275e658c63a3dc0c65ad8e0bd3a3aa381fd202827f", + "assetIds": [] + }, + { + "x": 199, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb75905bd91f11c3f01f9619bbf537be4e4794ab7aebee7666f039e356b1bf592", + "assetIds": [] + }, + { + "x": 199, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x36c0c8216c99aa3645b8d9af747ed267897f150195463f2650023b460983a53d", + "assetIds": [] + }, + { + "x": 199, + "y": 66, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x51871fb1c799ef51bbd50f5c9055e954c8f5bc1a8149ead6a5b811995485081a", + "assetIds": [] + }, + { + "x": 199, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xbfbb49fce1e952e91e16ae16d09c6032eef752eabadf0927841a44bd5515cdf0", + "assetIds": [] + }, + { + "x": 199, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb00987e7c1fefbf84dfd1cf8650eefe99b5cc3161adef18e9fd7624fc00894ce", + "assetIds": [] + }, + { + "x": 199, + "y": 69, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2589069f97f7314338ae746f00a3c3147d71a28730047aa0e2d057428a222d39", + "assetIds": [] + }, + { + "x": 199, + "y": 71, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x30aa2a657c60f8329ffd60d2b72349e1eba8dce8247aea9c68c43686a8bc04da", + "assetIds": [] + }, + { + "x": 199, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7b1d01022ea63bdf17dbe3d767bfb150e9c6332a55fe1b33dac0426b302ac097", + "assetIds": [] + }, + { + "x": 199, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xff2418f152d6e2c9a9b4f665019482114d3ccbc3fb0a1c4774eca9141452df37", + "assetIds": [] + }, + { + "x": 199, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xac3ed719ab1bebc77d9e139dc40578cb637355e904211adbc32fb4e003354464", + "assetIds": [] + }, + { + "x": 199, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x687094d29519e016bd8f840e1271fb582486cecdeead374d5f41eca13e4936ba", + "assetIds": [] + }, + { + "x": 199, + "y": 76, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x5a531f52e6ecdca6f39493dadc7cbf7b2b0ac4da69bf0bc97383679f8b62aa26", + "assetIds": [] + }, + { + "x": 200, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x63faf4d63482dd1db11e327ee531bfeb792ce12c4965464246369c1fc8fd65f0", + "assetIds": [] + }, + { + "x": 200, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x647fddab1bbc062acdda5228e9e643c644f2863e3d0b7bd384124e059ff42949", + "assetIds": [] + }, + { + "x": 200, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x9748dbfa5d0648a518b86b76088a80af96483e986036fc476aa78bac2478821f", + "assetIds": [] + }, + { + "x": 200, + "y": 66, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xb0fbdfe48b96d80bb6cfce16019044a2ed64eb4876d5d2b286225b3670677520", + "assetIds": [] + }, + { + "x": 200, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xecc9988566707f9fd70d3233c92afe1c2b4f4a6dfb3de7e0bc146866e7360082", + "assetIds": [] + }, + { + "x": 200, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6e915ec6044b472d3d6f27a0ee3fa99b27aa71fa6ea0953f09cc211317d53dbf", + "assetIds": [] + }, + { + "x": 200, + "y": 69, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa4204288176c66743bff9b0ad76d7640f0e3286a203668d6684b1404504abe8c", + "assetIds": [] + }, + { + "x": 200, + "y": 70, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8e210eee6431b5e0d7fb19de4afe33e40eed6d17e877b06cc6bdcf1e74e90120", + "assetIds": [] + }, + { + "x": 200, + "y": 71, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6e201a6133faf005307b388fef14edcc1bef2a5e203673ecb1c7fcb883ac9534", + "assetIds": [] + }, + { + "x": 200, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xcb4bf43d558e39e00f6c74d127033e9ee20685738593fc60fc5e41e6ce9f7ce9", + "assetIds": [] + }, + { + "x": 200, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x5ce512f984b2873c05accf9bdd28c3814e04d7a43c7c88fd996695f51db2f9cd", + "assetIds": [] + }, + { + "x": 200, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa4a83b90380ff908dc1da55d9feb2bec06a31787659dde0cdf65f0435a46e35a", + "assetIds": [] + }, + { + "x": 200, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xdd67d2811c64dc25e0e89e5c2828640c1030c4c4380aaaa5072203a778119efd", + "assetIds": [] + }, + { + "x": 200, + "y": 76, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf1fdeb06efe28a2e7cc5da369208c0e5c8010637831454ff8370bfa5474f2d82", + "assetIds": [] + }, + { + "x": 201, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x271f537edca609294218914c82d74c0c90d7918e0b3ec2dbdc306806fea24a7e", + "assetIds": [] + }, + { + "x": 201, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x231293c590d1144a56396c27132e8a815bad98fa7c760194ae1631ae4c382350", + "assetIds": [] + }, + { + "x": 201, + "y": 66, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa65676b815e3c63cd741232f16bfe6dcce87dc686f7fea28fe13064c327bad2f", + "assetIds": [] + }, + { + "x": 201, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xccaea2f8af5d5c4578b30747bd53b6928505ec847906a5fbdfafc08ca5f1e73f", + "assetIds": [] + }, + { + "x": 201, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xe5393bc660e02f1a1501e68413b07fa9eafd8a469abecbaa323e62d1839db7a3", + "assetIds": [] + }, + { + "x": 201, + "y": 69, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd2215122b1513183f0121a2e8a9d3202ebab10ab06edaf20b6928d4df01da30a", + "assetIds": [] + }, + { + "x": 201, + "y": 70, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4f21edbe536585d74cb24a9317dfd5de662fd52ae05e29b03143cd0b75e12bb8", + "assetIds": [] + }, + { + "x": 201, + "y": 71, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf6c72813da2d6204e9b9eb1532434209bf6977c4d98282d99b0f00776b497327", + "assetIds": [] + }, + { + "x": 201, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x17d232c91aaf2ee1500fed0f1771c9e6b312e7fe6d2767be9ba43829bcafc027", + "assetIds": [] + }, + { + "x": 201, + "y": 76, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x07bd8ce9189154f44d0169a71f5ea177968b0a37c977871e68c97e02ec3b1c1a", + "assetIds": [] + }, + { + "x": 202, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x770038d3176ee2813fd87ff27386c088f7f2e5c3ff6730107174fb73f23c4e49", + "assetIds": [] + }, + { + "x": 202, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x650fd39fc08fa294ea279a5b0172bc920cd95e47db3a91037ac264d093f3998d", + "assetIds": [] + }, + { + "x": 202, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc3763b9cfa08ae8ea944cb2e8321b6b812cb4ea83bd055b9172d6606ca6cba11", + "assetIds": [] + }, + { + "x": 202, + "y": 66, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x91ae4db90065bdaa0ccad7adde812f50201ef92de96b019724f4ecf7c8367ecd", + "assetIds": [] + }, + { + "x": 202, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6b09e514cd0cdc99a2b17dd2beb8d53fcc4414b3a9ed2991a2f0b8b6259ca144", + "assetIds": [] + }, + { + "x": 202, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x7143f697eaddb2fb7c5165d3d1253b529fa47f4b8ade09653f36a73cd2c5e93e", + "assetIds": [] + }, + { + "x": 202, + "y": 70, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x05946242e7255d5e30044440c06a692b7aa00fd389cac09ce4f4efd2812a989c", + "assetIds": [] + }, + { + "x": 202, + "y": 71, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x507740a207c3d50f7afd0f156736a3d2f209bfb4b31cb6aaae009587abc2a3a6", + "assetIds": [] + }, + { + "x": 202, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa6cbe193d78acfe555e9b77bd3c6bb708574ca2ce31a3a7fdab15c708abcb96b", + "assetIds": [] + }, + { + "x": 202, + "y": 76, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1d189258c560fa1c61be78fb669fc0f6dffc0a86f7f1dbcc18e06e7297d7320a", + "assetIds": [] + }, + { + "x": 203, + "y": 63, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x33e55aa7744565aa8c1231ad6519e7e9c7a317c755ae387166a74beabd1fb0f8", + "assetIds": [] + }, + { + "x": 203, + "y": 64, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x532815a108c8cb3bcab26c9f713e25a990d53b5070c7072127e55ec1c41be33a", + "assetIds": [] + }, + { + "x": 203, + "y": 65, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x968fdc7343e6185f5c833d1c97f3a35d604db9b8da3ba4f741a9aca8600735ef", + "assetIds": [] + }, + { + "x": 203, + "y": 66, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1b4bd8022d1eeb3de462d29ce1650bbe40ad159c5163211318739fe24feaba56", + "assetIds": [] + }, + { + "x": 203, + "y": 67, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x056a5bb13eb988bb9a86eab7e0bf8fa85f27d5d5c12958074c40e53929416ff4", + "assetIds": [] + }, + { + "x": 203, + "y": 68, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x3fcf2169b61853a6edaffa222562df7de1cc1ff8ccc07637df8613337e894775", + "assetIds": [] + }, + { + "x": 203, + "y": 69, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xfcdcd135a409a98b6f5e7f9ef7e82845546533ec8fa00da1fbb355f9d280c4fc", + "assetIds": [] + }, + { + "x": 203, + "y": 70, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xeec6a91ffeec9bb8c7feeb51c7b5a01dec8b8a4fb142091207a7c9ae6e6ca233", + "assetIds": [] + }, + { + "x": 203, + "y": 71, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x96d75b2fbe677a4d9acb078546aba559d98be9c66df08214c215241f6fc2c604", + "assetIds": [] + }, + { + "x": 203, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x3f4d90455ceb5be229e59650c2f9be2b77c091e3dd06dbcf659c155f9182fcca", + "assetIds": [] + }, + { + "x": 203, + "y": 76, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8c34b5185731e6e4944749aff4f3b18192a59419e539635e29fb2ab585be8dbc", + "assetIds": [] + }, + { + "x": 204, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x8dc89eca4495d7485146da8f3d47e461e53888a07bc354d175da6aa565ba694f", + "assetIds": [] + }, + { + "x": 204, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x2735864f66fda14dc60578bcf47585c30c013b59aa3b39240fa9349e24f6905b", + "assetIds": [] + }, + { + "x": 204, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4add16dc694033b57c986c9ad86c2ce7518aded50e503116c4db6d02898ada98", + "assetIds": [] + }, + { + "x": 204, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x5a55e986686c0a8080b3709baa83e2d43bf2aae0e71ebb828009c9da2ec6dd37", + "assetIds": [] + }, + { + "x": 205, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1e32687f8a9a6252333d67fa909fac1a8d3920925c088ccb79dee0eafc051c15", + "assetIds": [] + }, + { + "x": 205, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc19cd7cc7cc77d114684c70b53f1bc7ff1972bc4e18dd7f455144e23e5d593db", + "assetIds": [] + }, + { + "x": 205, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x5309e89e00d76790e607a6aa5704ba5887521c61af5e50581000bafccb202736", + "assetIds": [] + }, + { + "x": 205, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x658ba90ba62a25d4763be039b1fb8dbf7d825b05cbc495d472171efdd269b109", + "assetIds": [] + }, + { + "x": 206, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x5c6df5ac9868a51977a0fbd9ee0264509d2eacce3738727b4ccd4cceab77e9c0", + "assetIds": [] + }, + { + "x": 206, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xf071182d9d5d718ccbf754c4db84ff8b167d155bc7e8c34b9ff5ea67ce400565", + "assetIds": [] + }, + { + "x": 206, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa9b32c0645fbbe5ae7e4c1ea79008a5af0517c22003f51daa29de7546e0f3314", + "assetIds": [] + }, + { + "x": 206, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x56a2476583dc25f4bbaa27a5a09f04417336e1b7de2622c939f68be4b2c132c6", + "assetIds": [] + }, + { + "x": 207, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1cdaabd753ec8c5893277218945a9cf039683452289e050887b64d9b24ed5fa4", + "assetIds": [] + }, + { + "x": 207, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x615b62e5ce2cc2216b962abae1eef04f5eb3785cdde6b3fe24a848e30ff48022", + "assetIds": [] + }, + { + "x": 207, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x634146a5837e1086d39b7f8c443abf47f9d1c9720366bbbd5ab5bae64513da07", + "assetIds": [] + }, + { + "x": 207, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xba40c0547a7f6cae5431e5f7a18a69763fe55b96cb0272a7107556afba5ac6db", + "assetIds": [] + }, + { + "x": 208, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x835839753bebc678dd920e0f2287297b2a9872e06f81516d2de8132b3720cbcc", + "assetIds": [] + }, + { + "x": 208, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x452ba0209696d5ecc5f236cc7ac24dd76fc199a159486024ca23b6b4c9c5d72d", + "assetIds": [] + }, + { + "x": 208, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xd3748ca06f77a6d38671ee11b2c4287461fd1605a20a35fb21b97049b7dfb6ab", + "assetIds": [] + }, + { + "x": 208, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4f166a76031128fd3a00cbf920f60c95728f9215f7fb6a908f8467e71dfdbbd5", + "assetIds": [] + }, + { + "x": 209, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x0ef79340eab8ad1ea7b6e2a4276935fdf869a249686003ed26d308c99975f95b", + "assetIds": [] + }, + { + "x": 209, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x71fe9ccb63b4cd48353b1447319a647d27a2e6fb88389b5466b77e93425ae6aa", + "assetIds": [] + }, + { + "x": 209, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x593d08386a1abd402fecf745a0222ef565182df2063f4f3b59db0c30c3a668de", + "assetIds": [] + }, + { + "x": 209, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x0dd812127738735588e7870d0ce5a4baa470ee34edff70c7bfe8ebd1e6bf60d1", + "assetIds": [] + }, + { + "x": 210, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xa4d8fd88237a331e5da576536412b940b513b4ed5b0b0129cf27634e8197734c", + "assetIds": [] + }, + { + "x": 210, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x94fb6e3f10302043fbfe70a33ee27f2ac78184c18e77993dc304859142452ff1", + "assetIds": [] + }, + { + "x": 210, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xe01dedb02152a0dec04614232fd37267d6975975686812f4672e6f6858d27863", + "assetIds": [] + }, + { + "x": 211, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1686722e5a09e0501244b09add2306b604b28cdf9859c7c236593da6c2e153b5", + "assetIds": [] + }, + { + "x": 211, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6251d8873898bb13859ff9300ab06186e4bb20a6306d4ad5a0ce6b09572e5b0b", + "assetIds": [] + }, + { + "x": 211, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xbf094e54326a8468f80d6cc4cb42e7379b0d1a3253250b76747fa87c691042ca", + "assetIds": [] + }, + { + "x": 211, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xbda42c2e815d54084192d2f4efefd79e6887b0308ef343d2d3689d2226c4c62f", + "assetIds": [] + }, + { + "x": 212, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xdb362fb6e4065e0440b5ce3138784c8682ce69f340469a332cf4c9b1e1a32880", + "assetIds": [] + }, + { + "x": 212, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4db06588121bb932c9f2724024703a7cf508799180f59033d8eaea0569d5202a", + "assetIds": [] + }, + { + "x": 212, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x5dd0c0f72f6a4f8c4be8b3b0bf7a48aa996f564a7e7e95489c951b3bd1477906", + "assetIds": [] + }, + { + "x": 212, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xc6a81a6a6708f2cc034190df91c148ab4b995645470da8802dfa4c8c9d75b6f6", + "assetIds": [] + }, + { + "x": 213, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x4adb5b41b8b6371fbcf03357f58c99e736ead03f6dd0c7efd83ed655087bc5d4", + "assetIds": [] + }, + { + "x": 213, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xfd277a0ab8ecde5277944fde7ea03ec590b3ac18df2d2ca254c3ecf0b62050bb", + "assetIds": [] + }, + { + "x": 213, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x70f77c8c1f198d76a7f4a301e4f6c69e38910a79bfc0a3d317766cfe23cd68d9", + "assetIds": [] + }, + { + "x": 213, + "y": 75, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x1fffb3a6f75d613f8a61a601574865abcfdce74eec03ef1ae3e244ad686af618", + "assetIds": [] + }, + { + "x": 214, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xfc9e26d850eb88188fa7a8997e3fa2a62b93d3656ee2beb2567c1a491741111a", + "assetIds": [] + }, + { + "x": 214, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x5781be27ee749e1f6fd340b6b3b8eccdb233220088ce0462ea4446816bdb79c3", + "assetIds": [] + }, + { + "x": 214, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x10705e539927625d125121df3f595a3c72b21f3de2456421a7f6acbb7a3cda73", + "assetIds": [] + }, + { + "x": 215, + "y": 72, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x028ae98e63e9fd568851888ba1b86cbdbf8c83c5f29ea1f1053fad8e6430928e", + "assetIds": [] + }, + { + "x": 215, + "y": 73, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0x6b390dbe0b5f01a3cc0ef6ca4c3903b593cddf15bd604b653b702571951795e7", + "assetIds": [] + }, + { + "x": 215, + "y": 74, + "size": 1, + "price": "1011000000000000000000", + "reserved": "", + "salt": "0xbb7870fe59698d9349ee01526812d2c22ffd9a5348c6d272b493334b44e9b312", + "assetIds": [] + }, + { + "x": 183, + "y": 54, + "size": 3, + "price": "8648000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0xfdf68c271c028b3c9338dcab4a7d5631b00361d7ba0b069be236380a64711828", + "assetIds": [] + }, + { + "x": 189, + "y": 60, + "size": 3, + "price": "8648000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x9fca30089493f6c77512100870988d250d90d531f3a5e606391ad38504e1bfad", + "assetIds": [] + }, + { + "x": 198, + "y": 60, + "size": 3, + "price": "8648000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x2af17b270a060a41328755cc52ce0434c6219bb7c5c340b9d50a805844483213", + "assetIds": [] + }, + { + "x": 201, + "y": 60, + "size": 3, + "price": "8648000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x3c34a714c08da521df0ed315e0b0fa4c3a57067eca7196f6fb86b989e3a403a2", + "assetIds": [] + }, + { + "x": 216, + "y": 72, + "size": 3, + "price": "8648000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x726396193b13f5e2c4da69021731c5f32e0932a3026f0a9727c43317887e9928", + "assetIds": [] + }, + { + "x": 192, + "y": 60, + "size": 6, + "price": "32772000000000000000000", + "reserved": "0x7a9fe22691c811ea339d9b73150e6911a5343dca", + "salt": "0x1d218b6b61bf36b9eff905942c68830501295280d41d28b67a8fe3bb866eb376", + "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