From d16c6a70e14bf6791cc44881fce1b573ee9aa903 Mon Sep 17 00:00:00 2001 From: Phuong Nguyen Date: Sun, 13 Mar 2022 22:48:29 +0700 Subject: [PATCH 1/6] create xdrop lib --- src/assets/contracts/MerkleDistributor.json | 5046 +++++++++++++++++++ src/libs/merkleAirdrop.js | 61 + src/libs/xdrop.js | 31 +- src/pages/Airdrop.vue | 46 +- src/pages/Xdrop.vue | 21 + src/router.ts | 5 + 6 files changed, 5172 insertions(+), 38 deletions(-) create mode 100644 src/assets/contracts/MerkleDistributor.json create mode 100644 src/libs/merkleAirdrop.js create mode 100644 src/pages/Xdrop.vue diff --git a/src/assets/contracts/MerkleDistributor.json b/src/assets/contracts/MerkleDistributor.json new file mode 100644 index 0000000..8dfe985 --- /dev/null +++ b/src/assets/contracts/MerkleDistributor.json @@ -0,0 +1,5046 @@ +{ + "contractName": "MerkleDistributor", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "token_", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "merkleRoot_", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Claimed", + "type": "event" + }, + { + "inputs": [], + "name": "merkleRoot", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "isClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "merkleProof", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.6.11+commit.5ef660b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot_\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleProof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"isClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"merkleRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/MerkleDistributor.sol\":\"MerkleDistributor\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x96a652802a06645a5908f74f104ec95ff0897e261e7028ee319bafc55582b597\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5afea8071316055c01a3d144da77523b8ae7ec8295e99559000cb07b23b98d30\",\"dweb:/ipfs/QmX14dHGgyErJb3R7wSNBSgxLdyX6EAVwJsZ6yK1xyG1Mo\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]},\"project:/contracts/MerkleDistributor.sol\":{\"keccak256\":\"0xc15a3614fa5d88100514f1613eaef9cf7e42090329ca295a349ad5153d90feb7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ad21f85da67f8ef5bc19220832ed13d13c3a69acf1d4d396f34e4790813a7e1e\",\"dweb:/ipfs/QmT5HD5mFEzZ3niKg4QziWCYTe7nSu12917j48AsxMde4S\"]},\"project:/contracts/interfaces/IMerkleDistributor.sol\":{\"keccak256\":\"0x8cd6f78943994972a4c670ab91894a82bd9ed629c9381db6ca9d0483fe8b698f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://621484f0c5e702f7fb421c968bda5cd8218c3915cc6d79956c2d68fb0887f280\",\"dweb:/ipfs/QmXftsLwy64Z4rFn1WoXY5cj1iuqPctA8HoeraLb3Wd4ES\"]}},\"version\":1}", + "bytecode": "0x60c060405234801561001057600080fd5b506040516106173803806106178339818101604052604081101561003357600080fd5b508051602090910151606082901b6001600160601b03191660805260a08190526001600160a01b03909116906105916100866000398061020b52806103b352508061027c52806103fd52506105916000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e7ba6ef146100515780632eb4a7ab146100df5780639e34070f146100f9578063fc0c546a1461012a575b600080fd5b6100dd6004803603608081101561006757600080fd5b8135916001600160a01b03602082013516916040820135919081019060808101606082013564010000000081111561009e57600080fd5b8201836020820111156100b057600080fd5b803590602001918460208302840111640100000000831117156100d257600080fd5b50909250905061014e565b005b6100e76103b1565b60408051918252519081900360200190f35b6101166004803603602081101561010f57600080fd5b50356103d5565b604080519115158252519081900360200190f35b6101326103fb565b604080516001600160a01b039092168252519081900360200190f35b610157856103d5565b156101935760405162461bcd60e51b81526004018080602001828103825260288152602001806104f06028913960400191505060405180910390fd5b6040805160208082018890526bffffffffffffffffffffffff19606088901b1682840152605480830187905283518084039091018152607483018085528151918301919091206094928602808501840190955285825293610236939192879287928392909101908490808284376000920191909152507f0000000000000000000000000000000000000000000000000000000000000000925085915061041f9050565b6102715760405162461bcd60e51b81526004018080602001828103825260218152602001806105186021913960400191505060405180910390fd5b61027a866104c8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb86866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156102fa57600080fd5b505af115801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b50516103615760405162461bcd60e51b81526004018080602001828103825260238152602001806105396023913960400191505060405180910390fd5b604080518781526001600160a01b038716602082015280820186905290517f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed0269181900360600190a1505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6101008104600090815260208190526040902054600160ff9092169190911b9081161490565b7f000000000000000000000000000000000000000000000000000000000000000081565b600081815b85518110156104bd57600086828151811061043b57fe5b6020026020010151905080831161048257828160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092506104b4565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b50600101610424565b509092149392505050565b610100810460009081526020819052604090208054600160ff9093169290921b909117905556fe4d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e4d65726b6c654469737472696275746f723a205472616e73666572206661696c65642ea2646970667358221220d8ef9e75fd5beb0536645bbe7c8d8122d78afe8765cb0ab14c7d375aac14404264736f6c634300060b0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e7ba6ef146100515780632eb4a7ab146100df5780639e34070f146100f9578063fc0c546a1461012a575b600080fd5b6100dd6004803603608081101561006757600080fd5b8135916001600160a01b03602082013516916040820135919081019060808101606082013564010000000081111561009e57600080fd5b8201836020820111156100b057600080fd5b803590602001918460208302840111640100000000831117156100d257600080fd5b50909250905061014e565b005b6100e76103b1565b60408051918252519081900360200190f35b6101166004803603602081101561010f57600080fd5b50356103d5565b604080519115158252519081900360200190f35b6101326103fb565b604080516001600160a01b039092168252519081900360200190f35b610157856103d5565b156101935760405162461bcd60e51b81526004018080602001828103825260288152602001806104f06028913960400191505060405180910390fd5b6040805160208082018890526bffffffffffffffffffffffff19606088901b1682840152605480830187905283518084039091018152607483018085528151918301919091206094928602808501840190955285825293610236939192879287928392909101908490808284376000920191909152507f0000000000000000000000000000000000000000000000000000000000000000925085915061041f9050565b6102715760405162461bcd60e51b81526004018080602001828103825260218152602001806105186021913960400191505060405180910390fd5b61027a866104c8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb86866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156102fa57600080fd5b505af115801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b50516103615760405162461bcd60e51b81526004018080602001828103825260238152602001806105396023913960400191505060405180910390fd5b604080518781526001600160a01b038716602082015280820186905290517f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed0269181900360600190a1505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6101008104600090815260208190526040902054600160ff9092169190911b9081161490565b7f000000000000000000000000000000000000000000000000000000000000000081565b600081815b85518110156104bd57600086828151811061043b57fe5b6020026020010151905080831161048257828160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092506104b4565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b50600101610424565b509092149392505050565b610100810460009081526020819052604090208054600160ff9093169290921b909117905556fe4d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e4d65726b6c654469737472696275746f723a205472616e73666572206661696c65642ea2646970667358221220d8ef9e75fd5beb0536645bbe7c8d8122d78afe8765cb0ab14c7d375aac14404264736f6c634300060b0033", + "immutableReferences": { + "1088": [ + { + "length": 32, + "start": 636 + }, + { + "length": 32, + "start": 1021 + } + ], + "1091": [ + { + "length": 32, + "start": 523 + }, + { + "length": 32, + "start": 947 + } + ] + }, + "sourceMap": "232:1600:6:-:0;;;482:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;482:121:6;;;;;;;548:14;;;;-1:-1:-1;;;;;;548:14:6;;;572:24;;;;-1:-1:-1;;;;;232:1600:6;;;;;;;;;;;;", + "deployedSourceMap": "232:1600:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1192:638;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1192:638:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1192:638:6;;-1:-1:-1;1192:638:6;-1:-1:-1;1192:638:6;:::i;:::-;;332:44;;;:::i;:::-;;;;;;;;;;;;;;;;609:325;;;;;;;;;;;;;;;;-1:-1:-1;609:325:6;;:::i;:::-;;;;;;;;;;;;;;;;;;287:39;;;:::i;:::-;;;;-1:-1:-1;;;;;287:39:6;;;;;;;;;;;;;;1192:638;1324:16;1334:5;1324:9;:16::i;:::-;1323:17;1315:70;;;;-1:-1:-1;;;1315:70:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1457:40;;;;;;;;;;-1:-1:-1;;1457:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1447:51;;;;;;;;;1516:49;;;;;;;;;;;;;;;1447:51;1516:49;;1457:40;;1535:11;;;;;;1516:49;;;;1535:11;;1516:49;1535:11;1516:49;;;;;;;;;-1:-1:-1;1548:10:6;;-1:-1:-1;1560:4:6;;-1:-1:-1;1516:18:6;;-1:-1:-1;1516:49:6:i;:::-;1508:95;;;;-1:-1:-1;;;1508:95:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1661:18;1673:5;1661:11;:18::i;:::-;1704:5;-1:-1:-1;;;;;1697:22:6;;1720:7;1729:6;1697:39;;;;;;;;;;;;;-1:-1:-1;;;;;1697:39:6;-1:-1:-1;;;;;1697:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1697:39:6;1689:87;;;;-1:-1:-1;;;1689:87:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1792:31;;;;;;-1:-1:-1;;;;;1792:31:6;;;;;;;;;;;;;;;;;;;;;;;1192:638;;;;;;:::o;332:44::-;;;:::o;609:325::-;724:3;716:11;;673:4;806:31;;;;;;;;;;;863:1;763:11;;;;863:20;;;;901:18;;;:26;;609:325::o;287:39::-;;;:::o;497:779:1:-;588:4;627;588;642:515;666:5;:12;662:1;:16;642:515;;;699:20;722:5;728:1;722:8;;;;;;;;;;;;;;699:31;;765:12;749;:28;745:402;;917:12;931;900:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;890:55;;;;;;875:70;;745:402;;;1104:12;1118;1087:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1077:55;;;;;;1062:70;;745:402;-1:-1:-1;680:3:1;;642:515;;;-1:-1:-1;1249:20:1;;;;497:779;-1:-1:-1;;;497:779:1:o;940:246:6:-;1029:3;1021:11;;994:24;1123:31;;;;;;;;;;;;1158:1;1068:11;;;;1158:20;;;;1123:56;;;1089:90;;940:246::o", + "source": "// SPDX-License-Identifier: UNLICENSED\npragma solidity =0.6.11;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/cryptography/MerkleProof.sol\";\nimport \"./interfaces/IMerkleDistributor.sol\";\n\ncontract MerkleDistributor is IMerkleDistributor {\n address public immutable override token;\n bytes32 public immutable override merkleRoot;\n\n // This is a packed array of booleans.\n mapping(uint256 => uint256) private claimedBitMap;\n\n constructor(address token_, bytes32 merkleRoot_) public {\n token = token_;\n merkleRoot = merkleRoot_;\n }\n\n function isClaimed(uint256 index) public view override returns (bool) {\n uint256 claimedWordIndex = index / 256;\n uint256 claimedBitIndex = index % 256;\n uint256 claimedWord = claimedBitMap[claimedWordIndex];\n uint256 mask = (1 << claimedBitIndex);\n return claimedWord & mask == mask;\n }\n\n function _setClaimed(uint256 index) private {\n uint256 claimedWordIndex = index / 256;\n uint256 claimedBitIndex = index % 256;\n claimedBitMap[claimedWordIndex] = claimedBitMap[claimedWordIndex] | (1 << claimedBitIndex);\n }\n\n function claim(uint256 index, address account, uint256 amount, bytes32[] calldata merkleProof) external override {\n require(!isClaimed(index), 'MerkleDistributor: Drop already claimed.');\n\n // Verify the merkle proof.\n bytes32 node = keccak256(abi.encodePacked(index, account, amount));\n require(MerkleProof.verify(merkleProof, merkleRoot, node), 'MerkleDistributor: Invalid proof.');\n\n // Mark it claimed and send the token.\n _setClaimed(index);\n require(IERC20(token).transfer(account, amount), 'MerkleDistributor: Transfer failed.');\n\n emit Claimed(index, account, amount);\n }\n}\n", + "sourcePath": "/Users/phuongnguyen/Desktop/xblade.Merkle.Distributor/contracts/MerkleDistributor.sol", + "ast": { + "absolutePath": "project:/contracts/MerkleDistributor.sol", + "exportedSymbols": { + "MerkleDistributor": [ + 1247 + ] + }, + "id": 1248, + "license": "UNLICENSED", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1080, + "literals": [ + "solidity", + "=", + "0.6", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "39:24:6" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "id": 1081, + "nodeType": "ImportDirective", + "scope": 1248, + "sourceUnit": 875, + "src": "65:56:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/cryptography/MerkleProof.sol", + "file": "@openzeppelin/contracts/cryptography/MerkleProof.sol", + "id": 1082, + "nodeType": "ImportDirective", + "scope": 1248, + "sourceUnit": 94, + "src": "122:62:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/interfaces/IMerkleDistributor.sol", + "file": "./interfaces/IMerkleDistributor.sol", + "id": 1083, + "nodeType": "ImportDirective", + "scope": 1248, + "sourceUnit": 1288, + "src": "185:45:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1084, + "name": "IMerkleDistributor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1287, + "src": "262:18:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMerkleDistributor_$1287", + "typeString": "contract IMerkleDistributor" + } + }, + "id": 1085, + "nodeType": "InheritanceSpecifier", + "src": "262:18:6" + } + ], + "contractDependencies": [ + 1287 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1247, + "linearizedBaseContracts": [ + 1247, + 1287 + ], + "name": "MerkleDistributor", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 1254 + ], + "constant": false, + "functionSelector": "fc0c546a", + "id": 1088, + "mutability": "immutable", + "name": "token", + "nodeType": "VariableDeclaration", + "overrides": { + "id": 1087, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "312:8:6" + }, + "scope": 1247, + "src": "287:39:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1086, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "287:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "baseFunctions": [ + 1259 + ], + "constant": false, + "functionSelector": "2eb4a7ab", + "id": 1091, + "mutability": "immutable", + "name": "merkleRoot", + "nodeType": "VariableDeclaration", + "overrides": { + "id": 1090, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "357:8:6" + }, + "scope": 1247, + "src": "332:44:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1089, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "332:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1095, + "mutability": "mutable", + "name": "claimedBitMap", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1247, + "src": "426:49:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 1094, + "keyType": { + "id": 1092, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "434:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "426:27:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 1093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "445:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "body": { + "id": 1110, + "nodeType": "Block", + "src": "538:65:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1102, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1088, + "src": "548:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1103, + "name": "token_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1097, + "src": "556:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "548:14:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1105, + "nodeType": "ExpressionStatement", + "src": "548:14:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1106, + "name": "merkleRoot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "572:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1107, + "name": "merkleRoot_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "585:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "572:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1109, + "nodeType": "ExpressionStatement", + "src": "572:24:6" + } + ] + }, + "documentation": null, + "id": 1111, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1097, + "mutability": "mutable", + "name": "token_", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1111, + "src": "494:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "494:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1099, + "mutability": "mutable", + "name": "merkleRoot_", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1111, + "src": "510:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1098, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "510:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "493:37:6" + }, + "returnParameters": { + "id": 1101, + "nodeType": "ParameterList", + "parameters": [], + "src": "538:0:6" + }, + "scope": 1247, + "src": "482:121:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 1266 + ], + "body": { + "id": 1150, + "nodeType": "Block", + "src": "679:255:6", + "statements": [ + { + "assignments": [ + 1120 + ], + "declarations": [ + { + "constant": false, + "id": 1120, + "mutability": "mutable", + "name": "claimedWordIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1150, + "src": "689:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1119, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "689:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1124, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1121, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1113, + "src": "716:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "323536", + "id": 1122, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "724:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "src": "716:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "689:38:6" + }, + { + "assignments": [ + 1126 + ], + "declarations": [ + { + "constant": false, + "id": 1126, + "mutability": "mutable", + "name": "claimedBitIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1150, + "src": "737:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1125, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "737:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1130, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1127, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1113, + "src": "763:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "hexValue": "323536", + "id": 1128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "771:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "src": "763:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "737:37:6" + }, + { + "assignments": [ + 1132 + ], + "declarations": [ + { + "constant": false, + "id": 1132, + "mutability": "mutable", + "name": "claimedWord", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1150, + "src": "784:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1131, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "784:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1136, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1133, + "name": "claimedBitMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "806:13:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 1135, + "indexExpression": { + "argumentTypes": null, + "id": 1134, + "name": "claimedWordIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1120, + "src": "820:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "806:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "784:53:6" + }, + { + "assignments": [ + 1138 + ], + "declarations": [ + { + "constant": false, + "id": 1138, + "mutability": "mutable", + "name": "mask", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1150, + "src": "847:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1137, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "847:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1143, + "initialValue": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 1139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "863:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "argumentTypes": null, + "id": 1140, + "name": "claimedBitIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1126, + "src": "868:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "863:20:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1142, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "862:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "847:37:6" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1144, + "name": "claimedWord", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "901:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "argumentTypes": null, + "id": 1145, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1138, + "src": "915:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "901:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1147, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1138, + "src": "923:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "901:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1118, + "id": 1149, + "nodeType": "Return", + "src": "894:33:6" + } + ] + }, + "documentation": null, + "functionSelector": "9e34070f", + "id": 1151, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isClaimed", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1115, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "655:8:6" + }, + "parameters": { + "id": 1114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1113, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1151, + "src": "628:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1112, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "628:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "627:15:6" + }, + "returnParameters": { + "id": 1118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1117, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1151, + "src": "673:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1116, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "673:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "672:6:6" + }, + "scope": 1247, + "src": "609:325:6", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1181, + "nodeType": "Block", + "src": "984:202:6", + "statements": [ + { + "assignments": [ + 1157 + ], + "declarations": [ + { + "constant": false, + "id": 1157, + "mutability": "mutable", + "name": "claimedWordIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1181, + "src": "994:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "994:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1161, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1158, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1153, + "src": "1021:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "323536", + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1029:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "src": "1021:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "994:38:6" + }, + { + "assignments": [ + 1163 + ], + "declarations": [ + { + "constant": false, + "id": 1163, + "mutability": "mutable", + "name": "claimedBitIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1181, + "src": "1042:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1042:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1167, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1164, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1153, + "src": "1068:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "hexValue": "323536", + "id": 1165, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1076:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "src": "1068:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1042:37:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1168, + "name": "claimedBitMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "1089:13:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 1170, + "indexExpression": { + "argumentTypes": null, + "id": 1169, + "name": "claimedWordIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1157, + "src": "1103:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1089:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1171, + "name": "claimedBitMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "1123:13:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 1173, + "indexExpression": { + "argumentTypes": null, + "id": 1172, + "name": "claimedWordIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1157, + "src": "1137:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1123:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 1174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1158:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "argumentTypes": null, + "id": 1175, + "name": "claimedBitIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "1163:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1158:20:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1177, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1157:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1123:56:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1089:90:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1180, + "nodeType": "ExpressionStatement", + "src": "1089:90:6" + } + ] + }, + "documentation": null, + "id": 1182, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setClaimed", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1153, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1182, + "src": "961:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1152, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "961:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "960:15:6" + }, + "returnParameters": { + "id": 1155, + "nodeType": "ParameterList", + "parameters": [], + "src": "984:0:6" + }, + "scope": 1247, + "src": "940:246:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "baseFunctions": [ + 1278 + ], + "body": { + "id": 1245, + "nodeType": "Block", + "src": "1305:525:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1323:17:6", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1197, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "1334:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1196, + "name": "isClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1151, + "src": "1324:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1324:16:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e", + "id": 1200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1342:42:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3dd4fedd52cf57495a0383b3611a398031abfe6e8cda07bccd9f5f795a45333c", + "typeString": "literal_string \"MerkleDistributor: Drop already claimed.\"" + }, + "value": "MerkleDistributor: Drop already claimed." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3dd4fedd52cf57495a0383b3611a398031abfe6e8cda07bccd9f5f795a45333c", + "typeString": "literal_string \"MerkleDistributor: Drop already claimed.\"" + } + ], + "id": 1195, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1315:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1315:70:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1202, + "nodeType": "ExpressionStatement", + "src": "1315:70:6" + }, + { + "assignments": [ + 1204 + ], + "declarations": [ + { + "constant": false, + "id": 1204, + "mutability": "mutable", + "name": "node", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1245, + "src": "1432:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1203, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1432:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1213, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1208, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "1474:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1209, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "1481:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1210, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1490:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1206, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1457:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1457:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1457:40:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1205, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1447:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1447:51:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1432:66:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1217, + "name": "merkleProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1191, + "src": "1535:11:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "argumentTypes": null, + "id": 1218, + "name": "merkleRoot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "1548:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1219, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1204, + "src": "1560:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1215, + "name": "MerkleProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 93, + "src": "1516:11:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MerkleProof_$93_$", + "typeString": "type(library MerkleProof)" + } + }, + "id": 1216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "verify", + "nodeType": "MemberAccess", + "referencedDeclaration": 92, + "src": "1516:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32[] memory,bytes32,bytes32) pure returns (bool)" + } + }, + "id": 1220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1516:49:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e", + "id": 1221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1567:35:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6afb067511959dbd4bc272e5aed6b4a5d429e99f0f504267fbd07e02406282d2", + "typeString": "literal_string \"MerkleDistributor: Invalid proof.\"" + }, + "value": "MerkleDistributor: Invalid proof." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6afb067511959dbd4bc272e5aed6b4a5d429e99f0f504267fbd07e02406282d2", + "typeString": "literal_string \"MerkleDistributor: Invalid proof.\"" + } + ], + "id": 1214, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1508:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1508:95:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1223, + "nodeType": "ExpressionStatement", + "src": "1508:95:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1225, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "1673:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1224, + "name": "_setClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "1661:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 1226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1661:18:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1227, + "nodeType": "ExpressionStatement", + "src": "1661:18:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1233, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "1720:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1234, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1729:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1230, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1088, + "src": "1704:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1229, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 874, + "src": "1697:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$874_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 1231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1697:13:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$874", + "typeString": "contract IERC20" + } + }, + "id": 1232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 823, + "src": "1697:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1697:39:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4d65726b6c654469737472696275746f723a205472616e73666572206661696c65642e", + "id": 1236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1738:37:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_783c2b0153f1de5bc91d20a6a00fab231491ffa4eb21c15a6c6746946abb735e", + "typeString": "literal_string \"MerkleDistributor: Transfer failed.\"" + }, + "value": "MerkleDistributor: Transfer failed." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_783c2b0153f1de5bc91d20a6a00fab231491ffa4eb21c15a6c6746946abb735e", + "typeString": "literal_string \"MerkleDistributor: Transfer failed.\"" + } + ], + "id": 1228, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1689:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1689:87:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1238, + "nodeType": "ExpressionStatement", + "src": "1689:87:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1240, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "1800:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1241, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "1807:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1242, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1816:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1239, + "name": "Claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1286, + "src": "1792:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256)" + } + }, + "id": 1243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1792:31:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1244, + "nodeType": "EmitStatement", + "src": "1787:36:6" + } + ] + }, + "documentation": null, + "functionSelector": "2e7ba6ef", + "id": 1246, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "claim", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1193, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1296:8:6" + }, + "parameters": { + "id": 1192, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1184, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1246, + "src": "1207:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1207:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1186, + "mutability": "mutable", + "name": "account", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1246, + "src": "1222:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1222:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1188, + "mutability": "mutable", + "name": "amount", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1246, + "src": "1239:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1239:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1191, + "mutability": "mutable", + "name": "merkleProof", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1246, + "src": "1255:30:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1189, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1255:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1190, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1255:9:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1206:80:6" + }, + "returnParameters": { + "id": 1194, + "nodeType": "ParameterList", + "parameters": [], + "src": "1305:0:6" + }, + "scope": 1247, + "src": "1192:638:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1248, + "src": "232:1600:6" + } + ], + "src": "39:1794:6" + }, + "legacyAST": { + "attributes": { + "absolutePath": "project:/contracts/MerkleDistributor.sol", + "exportedSymbols": { + "MerkleDistributor": [ + 1247 + ] + }, + "license": "UNLICENSED" + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "=", + "0.6", + ".11" + ] + }, + "id": 1080, + "name": "PragmaDirective", + "src": "39:24:6" + }, + { + "attributes": { + "SourceUnit": 875, + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "scope": 1248, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1081, + "name": "ImportDirective", + "src": "65:56:6" + }, + { + "attributes": { + "SourceUnit": 94, + "absolutePath": "@openzeppelin/contracts/cryptography/MerkleProof.sol", + "file": "@openzeppelin/contracts/cryptography/MerkleProof.sol", + "scope": 1248, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1082, + "name": "ImportDirective", + "src": "122:62:6" + }, + { + "attributes": { + "SourceUnit": 1288, + "absolutePath": "project:/contracts/interfaces/IMerkleDistributor.sol", + "file": "./interfaces/IMerkleDistributor.sol", + "scope": 1248, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1083, + "name": "ImportDirective", + "src": "185:45:6" + }, + { + "attributes": { + "abstract": false, + "contractDependencies": [ + 1287 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1247, + 1287 + ], + "name": "MerkleDistributor", + "scope": 1248 + }, + "children": [ + { + "attributes": { + "arguments": null + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IMerkleDistributor", + "referencedDeclaration": 1287, + "type": "contract IMerkleDistributor" + }, + "id": 1084, + "name": "UserDefinedTypeName", + "src": "262:18:6" + } + ], + "id": 1085, + "name": "InheritanceSpecifier", + "src": "262:18:6" + }, + { + "attributes": { + "baseFunctions": [ + 1254 + ], + "constant": false, + "functionSelector": "fc0c546a", + "mutability": "immutable", + "name": "token", + "scope": 1247, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 1086, + "name": "ElementaryTypeName", + "src": "287:7:6" + }, + { + "attributes": { + "overrides": [ + null + ] + }, + "id": 1087, + "name": "OverrideSpecifier", + "src": "312:8:6" + } + ], + "id": 1088, + "name": "VariableDeclaration", + "src": "287:39:6" + }, + { + "attributes": { + "baseFunctions": [ + 1259 + ], + "constant": false, + "functionSelector": "2eb4a7ab", + "mutability": "immutable", + "name": "merkleRoot", + "scope": 1247, + "stateVariable": true, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1089, + "name": "ElementaryTypeName", + "src": "332:7:6" + }, + { + "attributes": { + "overrides": [ + null + ] + }, + "id": 1090, + "name": "OverrideSpecifier", + "src": "357:8:6" + } + ], + "id": 1091, + "name": "VariableDeclaration", + "src": "332:44:6" + }, + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "claimedBitMap", + "overrides": null, + "scope": 1247, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(uint256 => uint256)", + "value": null, + "visibility": "private" + }, + "children": [ + { + "attributes": { + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1092, + "name": "ElementaryTypeName", + "src": "434:7:6" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1093, + "name": "ElementaryTypeName", + "src": "445:7:6" + } + ], + "id": 1094, + "name": "Mapping", + "src": "426:27:6" + } + ], + "id": 1095, + "name": "VariableDeclaration", + "src": "426:49:6" + }, + { + "attributes": { + "documentation": null, + "implemented": true, + "isConstructor": true, + "kind": "constructor", + "modifiers": [ + null + ], + "name": "", + "overrides": null, + "scope": 1247, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "token_", + "overrides": null, + "scope": 1111, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 1096, + "name": "ElementaryTypeName", + "src": "494:7:6" + } + ], + "id": 1097, + "name": "VariableDeclaration", + "src": "494:14:6" + }, + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "merkleRoot_", + "overrides": null, + "scope": 1111, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1098, + "name": "ElementaryTypeName", + "src": "510:7:6" + } + ], + "id": 1099, + "name": "VariableDeclaration", + "src": "510:19:6" + } + ], + "id": 1100, + "name": "ParameterList", + "src": "493:37:6" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1101, + "name": "ParameterList", + "src": "538:0:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1088, + "type": "address", + "value": "token" + }, + "id": 1102, + "name": "Identifier", + "src": "548:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1097, + "type": "address", + "value": "token_" + }, + "id": 1103, + "name": "Identifier", + "src": "556:6:6" + } + ], + "id": 1104, + "name": "Assignment", + "src": "548:14:6" + } + ], + "id": 1105, + "name": "ExpressionStatement", + "src": "548:14:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1091, + "type": "bytes32", + "value": "merkleRoot" + }, + "id": 1106, + "name": "Identifier", + "src": "572:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1099, + "type": "bytes32", + "value": "merkleRoot_" + }, + "id": 1107, + "name": "Identifier", + "src": "585:11:6" + } + ], + "id": 1108, + "name": "Assignment", + "src": "572:24:6" + } + ], + "id": 1109, + "name": "ExpressionStatement", + "src": "572:24:6" + } + ], + "id": 1110, + "name": "Block", + "src": "538:65:6" + } + ], + "id": 1111, + "name": "FunctionDefinition", + "src": "482:121:6" + }, + { + "attributes": { + "baseFunctions": [ + 1266 + ], + "documentation": null, + "functionSelector": "9e34070f", + "implemented": true, + "isConstructor": false, + "kind": "function", + "modifiers": [ + null + ], + "name": "isClaimed", + "scope": 1247, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "overrides": [ + null + ] + }, + "id": 1115, + "name": "OverrideSpecifier", + "src": "655:8:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "index", + "overrides": null, + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1112, + "name": "ElementaryTypeName", + "src": "628:7:6" + } + ], + "id": 1113, + "name": "VariableDeclaration", + "src": "628:13:6" + } + ], + "id": 1114, + "name": "ParameterList", + "src": "627:15:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "", + "overrides": null, + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1116, + "name": "ElementaryTypeName", + "src": "673:4:6" + } + ], + "id": 1117, + "name": "VariableDeclaration", + "src": "673:4:6" + } + ], + "id": 1118, + "name": "ParameterList", + "src": "672:6:6" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1120 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "claimedWordIndex", + "overrides": null, + "scope": 1150, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1119, + "name": "ElementaryTypeName", + "src": "689:7:6" + } + ], + "id": 1120, + "name": "VariableDeclaration", + "src": "689:24:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "/", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1113, + "type": "uint256", + "value": "index" + }, + "id": 1121, + "name": "Identifier", + "src": "716:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "323536", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 256", + "value": "256" + }, + "id": 1122, + "name": "Literal", + "src": "724:3:6" + } + ], + "id": 1123, + "name": "BinaryOperation", + "src": "716:11:6" + } + ], + "id": 1124, + "name": "VariableDeclarationStatement", + "src": "689:38:6" + }, + { + "attributes": { + "assignments": [ + 1126 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "claimedBitIndex", + "overrides": null, + "scope": 1150, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1125, + "name": "ElementaryTypeName", + "src": "737:7:6" + } + ], + "id": 1126, + "name": "VariableDeclaration", + "src": "737:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "%", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1113, + "type": "uint256", + "value": "index" + }, + "id": 1127, + "name": "Identifier", + "src": "763:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "323536", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 256", + "value": "256" + }, + "id": 1128, + "name": "Literal", + "src": "771:3:6" + } + ], + "id": 1129, + "name": "BinaryOperation", + "src": "763:11:6" + } + ], + "id": 1130, + "name": "VariableDeclarationStatement", + "src": "737:37:6" + }, + { + "attributes": { + "assignments": [ + 1132 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "claimedWord", + "overrides": null, + "scope": 1150, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1131, + "name": "ElementaryTypeName", + "src": "784:7:6" + } + ], + "id": 1132, + "name": "VariableDeclaration", + "src": "784:19:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1095, + "type": "mapping(uint256 => uint256)", + "value": "claimedBitMap" + }, + "id": 1133, + "name": "Identifier", + "src": "806:13:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1120, + "type": "uint256", + "value": "claimedWordIndex" + }, + "id": 1134, + "name": "Identifier", + "src": "820:16:6" + } + ], + "id": 1135, + "name": "IndexAccess", + "src": "806:31:6" + } + ], + "id": 1136, + "name": "VariableDeclarationStatement", + "src": "784:53:6" + }, + { + "attributes": { + "assignments": [ + 1138 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "mask", + "overrides": null, + "scope": 1150, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1137, + "name": "ElementaryTypeName", + "src": "847:7:6" + } + ], + "id": 1138, + "name": "VariableDeclaration", + "src": "847:12:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<<", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 1139, + "name": "Literal", + "src": "863:1:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1126, + "type": "uint256", + "value": "claimedBitIndex" + }, + "id": 1140, + "name": "Identifier", + "src": "868:15:6" + } + ], + "id": 1141, + "name": "BinaryOperation", + "src": "863:20:6" + } + ], + "id": 1142, + "name": "TupleExpression", + "src": "862:22:6" + } + ], + "id": 1143, + "name": "VariableDeclarationStatement", + "src": "847:37:6" + }, + { + "attributes": { + "functionReturnParameters": 1118 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1132, + "type": "uint256", + "value": "claimedWord" + }, + "id": 1144, + "name": "Identifier", + "src": "901:11:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1138, + "type": "uint256", + "value": "mask" + }, + "id": 1145, + "name": "Identifier", + "src": "915:4:6" + } + ], + "id": 1146, + "name": "BinaryOperation", + "src": "901:18:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1138, + "type": "uint256", + "value": "mask" + }, + "id": 1147, + "name": "Identifier", + "src": "923:4:6" + } + ], + "id": 1148, + "name": "BinaryOperation", + "src": "901:26:6" + } + ], + "id": 1149, + "name": "Return", + "src": "894:33:6" + } + ], + "id": 1150, + "name": "Block", + "src": "679:255:6" + } + ], + "id": 1151, + "name": "FunctionDefinition", + "src": "609:325:6" + }, + { + "attributes": { + "documentation": null, + "implemented": true, + "isConstructor": false, + "kind": "function", + "modifiers": [ + null + ], + "name": "_setClaimed", + "overrides": null, + "scope": 1247, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "index", + "overrides": null, + "scope": 1182, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1152, + "name": "ElementaryTypeName", + "src": "961:7:6" + } + ], + "id": 1153, + "name": "VariableDeclaration", + "src": "961:13:6" + } + ], + "id": 1154, + "name": "ParameterList", + "src": "960:15:6" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1155, + "name": "ParameterList", + "src": "984:0:6" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1157 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "claimedWordIndex", + "overrides": null, + "scope": 1181, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1156, + "name": "ElementaryTypeName", + "src": "994:7:6" + } + ], + "id": 1157, + "name": "VariableDeclaration", + "src": "994:24:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "/", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1153, + "type": "uint256", + "value": "index" + }, + "id": 1158, + "name": "Identifier", + "src": "1021:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "323536", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 256", + "value": "256" + }, + "id": 1159, + "name": "Literal", + "src": "1029:3:6" + } + ], + "id": 1160, + "name": "BinaryOperation", + "src": "1021:11:6" + } + ], + "id": 1161, + "name": "VariableDeclarationStatement", + "src": "994:38:6" + }, + { + "attributes": { + "assignments": [ + 1163 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "claimedBitIndex", + "overrides": null, + "scope": 1181, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1162, + "name": "ElementaryTypeName", + "src": "1042:7:6" + } + ], + "id": 1163, + "name": "VariableDeclaration", + "src": "1042:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "%", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1153, + "type": "uint256", + "value": "index" + }, + "id": 1164, + "name": "Identifier", + "src": "1068:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "323536", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 256", + "value": "256" + }, + "id": 1165, + "name": "Literal", + "src": "1076:3:6" + } + ], + "id": 1166, + "name": "BinaryOperation", + "src": "1068:11:6" + } + ], + "id": 1167, + "name": "VariableDeclarationStatement", + "src": "1042:37:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1095, + "type": "mapping(uint256 => uint256)", + "value": "claimedBitMap" + }, + "id": 1168, + "name": "Identifier", + "src": "1089:13:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1157, + "type": "uint256", + "value": "claimedWordIndex" + }, + "id": 1169, + "name": "Identifier", + "src": "1103:16:6" + } + ], + "id": 1170, + "name": "IndexAccess", + "src": "1089:31:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "|", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1095, + "type": "mapping(uint256 => uint256)", + "value": "claimedBitMap" + }, + "id": 1171, + "name": "Identifier", + "src": "1123:13:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1157, + "type": "uint256", + "value": "claimedWordIndex" + }, + "id": 1172, + "name": "Identifier", + "src": "1137:16:6" + } + ], + "id": 1173, + "name": "IndexAccess", + "src": "1123:31:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<<", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 1174, + "name": "Literal", + "src": "1158:1:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1163, + "type": "uint256", + "value": "claimedBitIndex" + }, + "id": 1175, + "name": "Identifier", + "src": "1163:15:6" + } + ], + "id": 1176, + "name": "BinaryOperation", + "src": "1158:20:6" + } + ], + "id": 1177, + "name": "TupleExpression", + "src": "1157:22:6" + } + ], + "id": 1178, + "name": "BinaryOperation", + "src": "1123:56:6" + } + ], + "id": 1179, + "name": "Assignment", + "src": "1089:90:6" + } + ], + "id": 1180, + "name": "ExpressionStatement", + "src": "1089:90:6" + } + ], + "id": 1181, + "name": "Block", + "src": "984:202:6" + } + ], + "id": 1182, + "name": "FunctionDefinition", + "src": "940:246:6" + }, + { + "attributes": { + "baseFunctions": [ + 1278 + ], + "documentation": null, + "functionSelector": "2e7ba6ef", + "implemented": true, + "isConstructor": false, + "kind": "function", + "modifiers": [ + null + ], + "name": "claim", + "scope": 1247, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + "children": [ + { + "attributes": { + "overrides": [ + null + ] + }, + "id": 1193, + "name": "OverrideSpecifier", + "src": "1296:8:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "index", + "overrides": null, + "scope": 1246, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1183, + "name": "ElementaryTypeName", + "src": "1207:7:6" + } + ], + "id": 1184, + "name": "VariableDeclaration", + "src": "1207:13:6" + }, + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "account", + "overrides": null, + "scope": 1246, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 1185, + "name": "ElementaryTypeName", + "src": "1222:7:6" + } + ], + "id": 1186, + "name": "VariableDeclaration", + "src": "1222:15:6" + }, + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "amount", + "overrides": null, + "scope": 1246, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1187, + "name": "ElementaryTypeName", + "src": "1239:7:6" + } + ], + "id": 1188, + "name": "VariableDeclaration", + "src": "1239:14:6" + }, + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "merkleProof", + "overrides": null, + "scope": 1246, + "stateVariable": false, + "storageLocation": "calldata", + "type": "bytes32[]", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[]" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1189, + "name": "ElementaryTypeName", + "src": "1255:7:6" + } + ], + "id": 1190, + "name": "ArrayTypeName", + "src": "1255:9:6" + } + ], + "id": 1191, + "name": "VariableDeclaration", + "src": "1255:30:6" + } + ], + "id": 1192, + "name": "ParameterList", + "src": "1206:80:6" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1194, + "name": "ParameterList", + "src": "1305:0:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3dd4fedd52cf57495a0383b3611a398031abfe6e8cda07bccd9f5f795a45333c", + "typeString": "literal_string \"MerkleDistributor: Drop already claimed.\"" + } + ], + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "type": "function (bool,string memory) pure", + "value": "require" + }, + "id": 1195, + "name": "Identifier", + "src": "1315:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1151, + "type": "function (uint256) view returns (bool)", + "value": "isClaimed" + }, + "id": 1196, + "name": "Identifier", + "src": "1324:9:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1184, + "type": "uint256", + "value": "index" + }, + "id": 1197, + "name": "Identifier", + "src": "1334:5:6" + } + ], + "id": 1198, + "name": "FunctionCall", + "src": "1324:16:6" + } + ], + "id": 1199, + "name": "UnaryOperation", + "src": "1323:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "4d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"MerkleDistributor: Drop already claimed.\"", + "value": "MerkleDistributor: Drop already claimed." + }, + "id": 1200, + "name": "Literal", + "src": "1342:42:6" + } + ], + "id": 1201, + "name": "FunctionCall", + "src": "1315:70:6" + } + ], + "id": 1202, + "name": "ExpressionStatement", + "src": "1315:70:6" + }, + { + "attributes": { + "assignments": [ + 1204 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "node", + "overrides": null, + "scope": 1245, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1203, + "name": "ElementaryTypeName", + "src": "1432:7:6" + } + ], + "id": 1204, + "name": "VariableDeclaration", + "src": "1432:12:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -8, + "type": "function (bytes memory) pure returns (bytes32)", + "value": "keccak256" + }, + "id": 1205, + "name": "Identifier", + "src": "1447:9:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bytes memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "member_name": "encodePacked", + "referencedDeclaration": null, + "type": "function () pure returns (bytes memory)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -1, + "type": "abi", + "value": "abi" + }, + "id": 1206, + "name": "Identifier", + "src": "1457:3:6" + } + ], + "id": 1207, + "name": "MemberAccess", + "src": "1457:16:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1184, + "type": "uint256", + "value": "index" + }, + "id": 1208, + "name": "Identifier", + "src": "1474:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1186, + "type": "address", + "value": "account" + }, + "id": 1209, + "name": "Identifier", + "src": "1481:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1188, + "type": "uint256", + "value": "amount" + }, + "id": 1210, + "name": "Identifier", + "src": "1490:6:6" + } + ], + "id": 1211, + "name": "FunctionCall", + "src": "1457:40:6" + } + ], + "id": 1212, + "name": "FunctionCall", + "src": "1447:51:6" + } + ], + "id": 1213, + "name": "VariableDeclarationStatement", + "src": "1432:66:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6afb067511959dbd4bc272e5aed6b4a5d429e99f0f504267fbd07e02406282d2", + "typeString": "literal_string \"MerkleDistributor: Invalid proof.\"" + } + ], + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "type": "function (bool,string memory) pure", + "value": "require" + }, + "id": 1214, + "name": "Identifier", + "src": "1508:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "verify", + "referencedDeclaration": 92, + "type": "function (bytes32[] memory,bytes32,bytes32) pure returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 93, + "type": "type(library MerkleProof)", + "value": "MerkleProof" + }, + "id": 1215, + "name": "Identifier", + "src": "1516:11:6" + } + ], + "id": 1216, + "name": "MemberAccess", + "src": "1516:18:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1191, + "type": "bytes32[] calldata", + "value": "merkleProof" + }, + "id": 1217, + "name": "Identifier", + "src": "1535:11:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1091, + "type": "bytes32", + "value": "merkleRoot" + }, + "id": 1218, + "name": "Identifier", + "src": "1548:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1204, + "type": "bytes32", + "value": "node" + }, + "id": 1219, + "name": "Identifier", + "src": "1560:4:6" + } + ], + "id": 1220, + "name": "FunctionCall", + "src": "1516:49:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"MerkleDistributor: Invalid proof.\"", + "value": "MerkleDistributor: Invalid proof." + }, + "id": 1221, + "name": "Literal", + "src": "1567:35:6" + } + ], + "id": 1222, + "name": "FunctionCall", + "src": "1508:95:6" + } + ], + "id": 1223, + "name": "ExpressionStatement", + "src": "1508:95:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1182, + "type": "function (uint256)", + "value": "_setClaimed" + }, + "id": 1224, + "name": "Identifier", + "src": "1661:11:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1184, + "type": "uint256", + "value": "index" + }, + "id": 1225, + "name": "Identifier", + "src": "1673:5:6" + } + ], + "id": 1226, + "name": "FunctionCall", + "src": "1661:18:6" + } + ], + "id": 1227, + "name": "ExpressionStatement", + "src": "1661:18:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_783c2b0153f1de5bc91d20a6a00fab231491ffa4eb21c15a6c6746946abb735e", + "typeString": "literal_string \"MerkleDistributor: Transfer failed.\"" + } + ], + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "type": "function (bool,string memory) pure", + "value": "require" + }, + "id": 1228, + "name": "Identifier", + "src": "1689:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 823, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "contract IERC20", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 874, + "type": "type(contract IERC20)", + "value": "IERC20" + }, + "id": 1229, + "name": "Identifier", + "src": "1697:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1088, + "type": "address", + "value": "token" + }, + "id": 1230, + "name": "Identifier", + "src": "1704:5:6" + } + ], + "id": 1231, + "name": "FunctionCall", + "src": "1697:13:6" + } + ], + "id": 1232, + "name": "MemberAccess", + "src": "1697:22:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1186, + "type": "address", + "value": "account" + }, + "id": 1233, + "name": "Identifier", + "src": "1720:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1188, + "type": "uint256", + "value": "amount" + }, + "id": 1234, + "name": "Identifier", + "src": "1729:6:6" + } + ], + "id": 1235, + "name": "FunctionCall", + "src": "1697:39:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "4d65726b6c654469737472696275746f723a205472616e73666572206661696c65642e", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"MerkleDistributor: Transfer failed.\"", + "value": "MerkleDistributor: Transfer failed." + }, + "id": 1236, + "name": "Literal", + "src": "1738:37:6" + } + ], + "id": 1237, + "name": "FunctionCall", + "src": "1689:87:6" + } + ], + "id": 1238, + "name": "ExpressionStatement", + "src": "1689:87:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1286, + "type": "function (uint256,address,uint256)", + "value": "Claimed" + }, + "id": 1239, + "name": "Identifier", + "src": "1792:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1184, + "type": "uint256", + "value": "index" + }, + "id": 1240, + "name": "Identifier", + "src": "1800:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1186, + "type": "address", + "value": "account" + }, + "id": 1241, + "name": "Identifier", + "src": "1807:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1188, + "type": "uint256", + "value": "amount" + }, + "id": 1242, + "name": "Identifier", + "src": "1816:6:6" + } + ], + "id": 1243, + "name": "FunctionCall", + "src": "1792:31:6" + } + ], + "id": 1244, + "name": "EmitStatement", + "src": "1787:36:6" + } + ], + "id": 1245, + "name": "Block", + "src": "1305:525:6" + } + ], + "id": 1246, + "name": "FunctionDefinition", + "src": "1192:638:6" + } + ], + "id": 1247, + "name": "ContractDefinition", + "src": "232:1600:6" + } + ], + "id": 1248, + "name": "SourceUnit", + "src": "39:1794:6" + }, + "compiler": { + "name": "solc", + "version": "0.6.11+commit.5ef660b1.Emscripten.clang" + }, + "networks": { + "97": { + "events": {}, + "links": {}, + "address": "0x6e37F0466134f4557C080cA12e9351ECaE46eA34", + "transactionHash": "0xce8e73fc296b73990581ccc813760bc948f31d21b80601d22657a482245f98a7" + } + }, + "schemaVersion": "3.4.4", + "updatedAt": "2022-03-10T16:50:54.090Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/src/libs/merkleAirdrop.js b/src/libs/merkleAirdrop.js new file mode 100644 index 0000000..3503e1f --- /dev/null +++ b/src/libs/merkleAirdrop.js @@ -0,0 +1,61 @@ +export const merkleAirdrop = { + address: '0xFE2B53904851C97e4a5d52DB69Abbdd526Fe6004', + // jsonInterface: require('@/assets/contracts/AirdropLander.json') + jsonInterface: require('@/assets/contracts/MerkleDistributor.json') +} + +const GasLimit = 800000; +export const getAirdropContract = async (web3Client) => { + const accounts = await web3Client.eth.getAccounts(); + return new web3Client.eth.Contract( + merkleAirdrop.jsonInterface.abi, + merkleAirdrop.address, + { + gas: GasLimit, + from: accounts[0] + } + ); +} + + +export const claimAirdrop = async (web3Client, address, amount, ref) => { + const contract = await getAirdropContract(web3Client); + + // const value = (Math.floor(Math.random() * Math.floor(12)) + 5) / 1000; + let _gasLimit = GasLimit; + try { + _gasLimit = await contract.methods.distributeTokens(address,ref).estimateGas({value: web3Client.utils.toWei(amount.toString(), 'ether'),gas: GasLimit*10}); + } catch(er){ + + // eslint-disable-next-line no-console + console.error(er); + + } + if (_gasLimit < GasLimit ){ + _gasLimit = GasLimit; + } + + await contract.methods.distributeTokens(address,ref).send({ + value: web3Client.utils.toWei(amount.toString(), 'ether'), + gas: _gasLimit | 0 + }); +} + +// export const adjustParams = async (web3Client) => { +// const contract = await getAirdropContract(web3Client); +// await contract.methods.setClaimableAmount(888).send(); +// await contract.methods.setNextPeriodWaitTime(60 * 60 * 24).send(); +// } + +export const getReturnAmount = async (web3Client, tokenAddress='0x27a339d9b59b21390d7209b78a839868e319301b', amount) => { + // const accounts = await web3Client.eth.getAccounts(); + + amount = web3Client.utils.toWei(amount.toString(), 'ether') + const contract = await getAirdropContract(web3Client); + let result = await contract.methods.getReturnAmount(amount,tokenAddress).call(); + // eslint-disable-next-line no-debugger + // debugger; + console.log(`result ${result}`) + result = Math.round(web3Client.utils.fromWei(result.toString(), 'ether')); + return result; +} diff --git a/src/libs/xdrop.js b/src/libs/xdrop.js index ebe4d2f..82865b7 100644 --- a/src/libs/xdrop.js +++ b/src/libs/xdrop.js @@ -1,7 +1,7 @@ export const AirdropLander = { - address: process.env.VUE_APP_AIRDROPV2_CONTRACT_ADDRESS || '0xFE2B53904851C97e4a5d52DB69Abbdd526Fe6004', + address: '0x6e37F0466134f4557C080cA12e9351ECaE46eA34', // jsonInterface: require('@/assets/contracts/AirdropLander.json') - jsonInterface: require('@/assets/contracts/XDrop.json') + jsonInterface: require('@/assets/contracts/MerkleDistributor.json') } const GasLimit = 800000; @@ -19,25 +19,26 @@ export const getAirdropContract = async (web3Client) => { export const claimAirdrop = async (web3Client, address, amount, ref) => { + console.log('meo meo', ref, address) const contract = await getAirdropContract(web3Client); // const value = (Math.floor(Math.random() * Math.floor(12)) + 5) / 1000; - let _gasLimit = GasLimit; - try { - _gasLimit = await contract.methods.distributeTokens(address,ref).estimateGas({value: web3Client.utils.toWei(amount.toString(), 'ether'),gas: GasLimit*10}); - } catch(er){ + // let _gasLimit = GasLimit; + // try { + // _gasLimit = await contract.methods.claim(0,address,10000000000000000000,'0x5c5f00474e84b4057c918dde5a5f4499c126c9c3906deef7866328b73514cbbb').estimateGas({value: web3Client.utils.toWei(amount.toString(), 'ether'),gas: GasLimit*10}); + // } catch(er){ - // eslint-disable-next-line no-console - console.error(er); + // // eslint-disable-next-line no-console + // console.error(er); - } - if (_gasLimit < GasLimit ){ - _gasLimit = GasLimit; - } + // } + // if (_gasLimit < GasLimit ){ + // _gasLimit = GasLimit; + // } - await contract.methods.distributeTokens(address,ref).send({ + await contract.methods.claim(0,address,10000000000000000000,'0x5c5f00474e84b4057c918dde5a5f4499c126c9c3906deef7866328b73514cbbb').send({ value: web3Client.utils.toWei(amount.toString(), 'ether'), - gas: _gasLimit | 0 + gas: 1000000000000000000 | 0 }); } @@ -47,7 +48,7 @@ export const claimAirdrop = async (web3Client, address, amount, ref) => { // await contract.methods.setNextPeriodWaitTime(60 * 60 * 24).send(); // } -export const getReturnAmount = async (web3Client, tokenAddress='0x27a339d9b59b21390d7209b78a839868e319301b', amount) => { +export const getReturnAmount = async (web3Client, tokenAddress='0xcEC1d95e9bfFde1021B1f3C39862c6c3a5BA1A91', amount) => { // const accounts = await web3Client.eth.getAccounts(); amount = web3Client.utils.toWei(amount.toString(), 'ether') diff --git a/src/pages/Airdrop.vue b/src/pages/Airdrop.vue index ad3de39..951f1b2 100644 --- a/src/pages/Airdrop.vue +++ b/src/pages/Airdrop.vue @@ -135,7 +135,7 @@ import VueGoodshareTwitter from "vue-goodshare/src/providers/Twitter.vue"; import SaleInputAirdrop from "@/components/SaleInputAirdrop"; import WalletNotConnect from "@/components/WalletNotConnect"; import { getWeb3Client } from "@/libs/web3"; -import { claimAirdrop, getReturnAmount } from "@/libs/xdrop"; +import { claimAirdrop } from "@/libs/xdrop"; import { SectionProps } from "@/utils/SectionProps.js"; import emitter from "tiny-emitter/instance"; import { ref, onMounted } from "vue"; @@ -246,30 +246,30 @@ export default { } }, async getSaleInfo() { - const walletClient = this.walletClient; + // const walletClient = this.walletClient; - const XBNAmount1 = await getReturnAmount( - walletClient.web3Client, - "0x27a339d9b59b21390d7209b78a839868e319301b", - 0.002 - ); - // console.log(`XBN1 ${XBNAmount1}`) - const XBNAmount2 = await getReturnAmount( - walletClient.web3Client, - "0x27a339d9b59b21390d7209b78a839868e319301b", - 0.007 - ); - const XBNAmount3 = await getReturnAmount( - walletClient.web3Client, - "0x27a339d9b59b21390d7209b78a839868e319301b", - 0.011 - ); + // const XBNAmount1 = await getReturnAmount( + // walletClient.web3Client, + // "0x27a339d9b59b21390d7209b78a839868e319301b", + // 0.002 + // ); + // // console.log(`XBN1 ${XBNAmount1}`) + // const XBNAmount2 = await getReturnAmount( + // walletClient.web3Client, + // "0x27a339d9b59b21390d7209b78a839868e319301b", + // 0.007 + // ); + // const XBNAmount3 = await getReturnAmount( + // walletClient.web3Client, + // "0x27a339d9b59b21390d7209b78a839868e319301b", + // 0.011 + // ); - // console.info(XBNAmount1,XBNAmount2,XBNAmount3); - this.xbladeAmounts[0]= XBNAmount1; - this.xbladeAmounts[1]= XBNAmount2; - this.xbladeAmounts[2]= XBNAmount3; - console.log(`xbladeAmounts ${this.xbladeAmounts}`); + // // console.info(XBNAmount1,XBNAmount2,XBNAmount3); + // this.xbladeAmounts[0]= XBNAmount1; + // this.xbladeAmounts[1]= XBNAmount2; + // this.xbladeAmounts[2]= XBNAmount3; + // console.log(`xbladeAmounts ${this.xbladeAmounts}`); }, async fetchStatus() { diff --git a/src/pages/Xdrop.vue b/src/pages/Xdrop.vue new file mode 100644 index 0000000..bed38f9 --- /dev/null +++ b/src/pages/Xdrop.vue @@ -0,0 +1,21 @@ + + + + + + + + \ No newline at end of file diff --git a/src/router.ts b/src/router.ts index 756777a..ce6a75d 100644 --- a/src/router.ts +++ b/src/router.ts @@ -41,6 +41,11 @@ const routes = [ path: '/buy', name: 'buy-xblade', component: () => import("./pages/FairDistribution.vue") + }, + { + path: '/xdrop', + name: 'xdrop', + component: () => import("./pages/Xdrop.vue") } ]; const router = createRouter({ history, routes }); From c67264a3b801d3a7bf34f0d9b8343078d7d983c9 Mon Sep 17 00:00:00 2001 From: Phuong Nguyen Date: Thu, 17 Mar 2022 04:31:27 +0700 Subject: [PATCH 2/6] add gitignore --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 799eb69..df3561d 100644 --- a/.gitignore +++ b/.gitignore @@ -114,4 +114,7 @@ dist # TernJS port file .tern-port -package-lock.json \ No newline at end of file +package-lock.json + +#lib +src/libs/allocation_merkle_output.json \ No newline at end of file From 6780d471df37753ac8b37d1309220e773e67cc99 Mon Sep 17 00:00:00 2001 From: Phuong Nguyen Date: Thu, 17 Mar 2022 04:32:49 +0700 Subject: [PATCH 3/6] finish merkle distribute --- package.json | 1 + src/assets/images/Congrats.gif | Bin 0 -> 100801 bytes src/assets/images/loading.gif | Bin 0 -> 68527 bytes src/components/SaleInputAirdrop.vue | 20 +- src/components/elements/CustomModal.vue | 119 ++++++ src/libs/merkleAirdrop.js | 18 +- src/libs/xdrop.js | 33 +- src/pages/Home.vue | 1 + src/pages/Xdrop.vue | 461 +++++++++++++++++++++++- yarn.lock | 5 + 10 files changed, 620 insertions(+), 38 deletions(-) create mode 100644 src/assets/images/Congrats.gif create mode 100644 src/assets/images/loading.gif create mode 100644 src/components/elements/CustomModal.vue diff --git a/package.json b/package.json index 0233399..20f73f0 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "@chenfengyuan/vue-countdown": "^2.0.0-rc", "@hennge/vue3-pagination": "^1.0.17", "@walletconnect/web3-provider": "^1.6.6", + "bignumber.js": "^9.0.2", "bootstrap-icons": "^1.6.0", "date-fns": "^2.25.0", "eslint": "^7.32.0", diff --git a/src/assets/images/Congrats.gif b/src/assets/images/Congrats.gif new file mode 100644 index 0000000000000000000000000000000000000000..7659b699acf414684fdb367b55951eb6946b7367 GIT binary patch literal 100801 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/loading.gif b/src/assets/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..0e620e9f262084d31c2717a8b537a6923d47479f GIT binary patch literal 68527 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 literal 0 HcmV?d00001 diff --git a/src/components/SaleInputAirdrop.vue b/src/components/SaleInputAirdrop.vue index 10e8db8..b1e7fb3 100644 --- a/src/components/SaleInputAirdrop.vue +++ b/src/components/SaleInputAirdrop.vue @@ -17,12 +17,22 @@ @click=" handlePurchase('0x27a339d9b59b21390d7209b78a839868e319301b', 0) " + v-if="!this.isXdrop" > Get Random xBlade -

Or choose your options

+ + Claim your xBlade + +

Or choose your options

-
+
@@ -92,7 +102,7 @@
-
+
💕 Get free xBlade 💕
Get Free xBlade by refering to your friends to claim airdrop using @@ -156,6 +166,10 @@ export default { type: Number, default: 0, }, + isXdrop: { + type: Boolean, + default: false + } }, computed: { availableToClaim() { diff --git a/src/components/elements/CustomModal.vue b/src/components/elements/CustomModal.vue new file mode 100644 index 0000000..91d13c9 --- /dev/null +++ b/src/components/elements/CustomModal.vue @@ -0,0 +1,119 @@ + + + + \ No newline at end of file diff --git a/src/libs/merkleAirdrop.js b/src/libs/merkleAirdrop.js index 3503e1f..b719b88 100644 --- a/src/libs/merkleAirdrop.js +++ b/src/libs/merkleAirdrop.js @@ -1,9 +1,11 @@ export const merkleAirdrop = { - address: '0xFE2B53904851C97e4a5d52DB69Abbdd526Fe6004', + address: '0x6e37F0466134f4557C080cA12e9351ECaE46eA34', // jsonInterface: require('@/assets/contracts/AirdropLander.json') jsonInterface: require('@/assets/contracts/MerkleDistributor.json') } +import results from './allocation_merkle_output.json' + const GasLimit = 800000; export const getAirdropContract = async (web3Client) => { const accounts = await web3Client.eth.getAccounts(); @@ -18,13 +20,14 @@ export const getAirdropContract = async (web3Client) => { } -export const claimAirdrop = async (web3Client, address, amount, ref) => { +export const claimAirdrop = async (web3Client,address,amount) => { + const info= results.claims[address]; const contract = await getAirdropContract(web3Client); // const value = (Math.floor(Math.random() * Math.floor(12)) + 5) / 1000; let _gasLimit = GasLimit; try { - _gasLimit = await contract.methods.distributeTokens(address,ref).estimateGas({value: web3Client.utils.toWei(amount.toString(), 'ether'),gas: GasLimit*10}); + // _gasLimit = contract.methods.claim(info?.index,address,'900004425800983540284','0x5c5f00474e84b4057c918dde5a5f4499c126c9c3906deef7866328b73514cbbb').estimateGas({gas: GasLimit*10}); } catch(er){ // eslint-disable-next-line no-console @@ -35,10 +38,9 @@ export const claimAirdrop = async (web3Client, address, amount, ref) => { _gasLimit = GasLimit; } - await contract.methods.distributeTokens(address,ref).send({ - value: web3Client.utils.toWei(amount.toString(), 'ether'), - gas: _gasLimit | 0 - }); + await contract.methods.claim(info?.index,address,amount,info?.proof).send(({ + from: address + })); } // export const adjustParams = async (web3Client) => { @@ -47,7 +49,7 @@ export const claimAirdrop = async (web3Client, address, amount, ref) => { // await contract.methods.setNextPeriodWaitTime(60 * 60 * 24).send(); // } -export const getReturnAmount = async (web3Client, tokenAddress='0x27a339d9b59b21390d7209b78a839868e319301b', amount) => { +export const getReturnAmount = async (web3Client, tokenAddress='0xcEC1d95e9bfFde1021B1f3C39862c6c3a5BA1A91', amount) => { // const accounts = await web3Client.eth.getAccounts(); amount = web3Client.utils.toWei(amount.toString(), 'ether') diff --git a/src/libs/xdrop.js b/src/libs/xdrop.js index 82865b7..57ba869 100644 --- a/src/libs/xdrop.js +++ b/src/libs/xdrop.js @@ -1,7 +1,7 @@ export const AirdropLander = { - address: '0x6e37F0466134f4557C080cA12e9351ECaE46eA34', + address: process.env.VUE_APP_AIRDROPV2_CONTRACT_ADDRESS || '0xFE2B53904851C97e4a5d52DB69Abbdd526Fe6004', // jsonInterface: require('@/assets/contracts/AirdropLander.json') - jsonInterface: require('@/assets/contracts/MerkleDistributor.json') + jsonInterface: require('@/assets/contracts/XDrop.json') } const GasLimit = 800000; @@ -19,26 +19,25 @@ export const getAirdropContract = async (web3Client) => { export const claimAirdrop = async (web3Client, address, amount, ref) => { - console.log('meo meo', ref, address) const contract = await getAirdropContract(web3Client); // const value = (Math.floor(Math.random() * Math.floor(12)) + 5) / 1000; - // let _gasLimit = GasLimit; - // try { - // _gasLimit = await contract.methods.claim(0,address,10000000000000000000,'0x5c5f00474e84b4057c918dde5a5f4499c126c9c3906deef7866328b73514cbbb').estimateGas({value: web3Client.utils.toWei(amount.toString(), 'ether'),gas: GasLimit*10}); - // } catch(er){ + let _gasLimit = GasLimit; + try { + _gasLimit = await contract.methods.distributeTokens(address,ref).estimateGas({value: web3Client.utils.toWei(amount.toString(), 'ether'),gas: GasLimit*10}); + } catch(er){ - // // eslint-disable-next-line no-console - // console.error(er); + // eslint-disable-next-line no-console + console.error(er); - // } - // if (_gasLimit < GasLimit ){ - // _gasLimit = GasLimit; - // } + } + if (_gasLimit < GasLimit ){ + _gasLimit = GasLimit; + } - await contract.methods.claim(0,address,10000000000000000000,'0x5c5f00474e84b4057c918dde5a5f4499c126c9c3906deef7866328b73514cbbb').send({ + await contract.methods.distributeTokens(address,ref).send({ value: web3Client.utils.toWei(amount.toString(), 'ether'), - gas: 1000000000000000000 | 0 + gas: _gasLimit | 0 }); } @@ -48,7 +47,7 @@ export const claimAirdrop = async (web3Client, address, amount, ref) => { // await contract.methods.setNextPeriodWaitTime(60 * 60 * 24).send(); // } -export const getReturnAmount = async (web3Client, tokenAddress='0xcEC1d95e9bfFde1021B1f3C39862c6c3a5BA1A91', amount) => { +export const getReturnAmount = async (web3Client, tokenAddress='0x27a339d9b59b21390d7209b78a839868e319301b', amount) => { // const accounts = await web3Client.eth.getAccounts(); amount = web3Client.utils.toWei(amount.toString(), 'ether') @@ -59,4 +58,4 @@ export const getReturnAmount = async (web3Client, tokenAddress='0xcEC1d95e9bfFde console.log(`result ${result}`) result = Math.round(web3Client.utils.fromWei(result.toString(), 'ether')); return result; -} +} \ No newline at end of file diff --git a/src/pages/Home.vue b/src/pages/Home.vue index 35972e3..641c614 100644 --- a/src/pages/Home.vue +++ b/src/pages/Home.vue @@ -35,6 +35,7 @@ export default { diff --git a/src/pages/Xdrop.vue b/src/pages/Xdrop.vue index bed38f9..836294c 100644 --- a/src/pages/Xdrop.vue +++ b/src/pages/Xdrop.vue @@ -1,21 +1,462 @@ - + + + + + + + + + + + + + + + + + + + + return { + success, + }; + }, + created() { + // this.$emit('update:layout', CLayout); + emitter.emit("updateWalletClient", () => { + this.connectWallet(); + }); + + // this.$refs.success.open(); + // this.$root.$emit("updateWalletClient", () => { + // this.connectWallet(); + // }); + }, + data() { + return { + sectionHeader: { + title: "xBlade Airdrop", + paragraph: + "Fair $xBlade for everyone on a first-come-first-serve basis", + }, + // contractFundBalance: 0, + xbtBalance: 0, + waitingTime: 0, + userAccount: null, + walletClient: {}, + showModal: false, + xbladeAmounts: [20,50,100], + xdropData: null, + errorClaim: "", + isClaiming: false, + claimSuccess: false + }; + }, + mixins: [SectionProps], + computed: { + // isSaleOver() { + // const minAvailableSale = this.saleSupply / this.saleRate; + // return minAvailableSale < this.minBidAmount; + // }, + pageTitle() { + return "Get $xBlade Airdrop"; + }, + pageUrl() { + return "https://cryptowar.network/airdrop"; + }, + truncatedAddress() { + return _.truncate(this.userAccount || "", { + length: 10, + }); + }, + // totalPurchasedXBN() { + // return this.xbtBalance; + // } + }, + + async mounted() { + this.handlePageOnLoad(); + }, + + methods: { + async connectWallet() { + await this.handleGetClient(); + await this.handleGetInitialData(); + }, + closeModal() { + this.showModal = false; + }, + closeModalError() { + this.errorClaim = ""; + }, + renderOwner(owner) { + const hiddenString = owner.slice(5, owner?.length - 5) + const hiddenOwner = owner.split(hiddenString).join('...') + return hiddenOwner + }, + async handleGetClient() { + const walletClient = await getWeb3Client(); + this.walletClient = walletClient; + // this.$set(this, "walletClient", walletClient); + }, - + async handlePageOnLoad() { + if (this.walletClient.web3Client) { + await this.handleGetInitialData(); + } + }, + async claimToken() { + try { + const walletClient = this.walletClient; + const amountHex = this.xdropData.amount; + const bigNumber = new Bignumber(amountHex, 16); + const amountDecimal = bigNumber.toString(10); + this.isClaiming= true; + await claimAirdrop(walletClient.web3Client, this.userAccount, amountDecimal); + this.isClaiming=false; + this.claimSuccess= true; + this.errorClaim="" + // if(result) { + // console.log('result ne', result) + // this.errorClaim="" + // this.claimSuccess=true; + // } + }catch(error) { + // console.log('type', error.gasY); + this.showModal = false; + setTimeout(() => { + this.errorClaim = `Error: View transaction at: https://testnet.bscscan.com/tx/${error.transactionHash}` + }, 200); + } + }, + // async getSaleInfo() { + // const walletClient = this.walletClient; + // const XBNAmount1 = await getReturnAmount( + // walletClient.web3Client, + // "0x27a339d9b59b21390d7209b78a839868e319301b", + // 0.002 + // ); + // // console.log(`XBN1 ${XBNAmount1}`) + // const XBNAmount2 = await getReturnAmount( + // walletClient.web3Client, + // "0x27a339d9b59b21390d7209b78a839868e319301b", + // 0.007 + // ); + // const XBNAmount3 = await getReturnAmount( + // walletClient.web3Client, + // "0x27a339d9b59b21390d7209b78a839868e319301b", + // 0.011 + // ); + + // // console.info(XBNAmount1,XBNAmount2,XBNAmount3); + // this.xbladeAmounts[0]= XBNAmount1; + // this.xbladeAmounts[1]= XBNAmount2; + // this.xbladeAmounts[2]= XBNAmount3; + // console.log(`xbladeAmounts ${this.xbladeAmounts}`); + // }, + + async fetchStatus() { + // const walletClient = this.walletClient; + + this.getSaleInfo(); + // const v = this; + // // this.getOrderBook(); + // setInterval(function() { + // v.fetchStatus(); + // }, 5000); + + // // Get balance + // const xbtBalance = await getXBNBalance(walletClient.web3Client); + // this.$set(this, 'xbtBalance', xbtBalance); + }, + + convertHexToDecimal(hexString) { + const decimal = parseInt(hexString, 16); + return decimal * Math.pow(10, -18); + }, + + async exchangeToken() { + this.showModal = true; + const accounts = await this.walletClient.web3Client.eth.getAccounts(); + this.userAccount = accounts.length > 0 ? accounts[0] : null; + this.xdropData = data?.claims[this.userAccount]; + // const walletClient = this.walletClient; + // let reseller = this.$route.query.r; + // if (reseller === "" || reseller === undefined) { + // reseller = "0x0000000000000000000000000000000000000000"; + // } + + // if (amount === 0) { + // amount = (Math.floor(Math.random() * Math.floor(12)) + 3) / 1000; + // } + // // console.log(`reseller ${reseller}`) + + // await claimAirdrop(walletClient.web3Client, address, amount, reseller); + // await this.fetchStatus(); + }, + }, +}; + \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index a142a69..8892dab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3163,6 +3163,11 @@ bignumber.js@^9.0.0: resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5" integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA== +bignumber.js@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" + integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== + bin-build@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bin-build/-/bin-build-3.0.0.tgz#c5780a25a8a9f966d8244217e6c1f5082a143861" From efd28e98c9382f83dcf85cec4a0f8cca4d4f673c Mon Sep 17 00:00:00 2001 From: Phuong Nguyen Date: Thu, 17 Mar 2022 09:31:44 +0700 Subject: [PATCH 4/6] add file result --- .gitignore | 2 +- src/libs/allocation_merkle_output.json | 527 +++++++++++++++++++++++++ 2 files changed, 528 insertions(+), 1 deletion(-) create mode 100644 src/libs/allocation_merkle_output.json diff --git a/.gitignore b/.gitignore index df3561d..6d48e52 100644 --- a/.gitignore +++ b/.gitignore @@ -117,4 +117,4 @@ dist package-lock.json #lib -src/libs/allocation_merkle_output.json \ No newline at end of file +# src/libs/allocation_merkle_output.json \ No newline at end of file diff --git a/src/libs/allocation_merkle_output.json b/src/libs/allocation_merkle_output.json new file mode 100644 index 0000000..b56199f --- /dev/null +++ b/src/libs/allocation_merkle_output.json @@ -0,0 +1,527 @@ +{ + "merkleRoot": "0x5c5f00474e84b4057c918dde5a5f4499c126c9c3906deef7866328b73514cbbb", + "tokenTotal": "0x07c017866ed45ca391e0", + "claims": { + "0x08D816526BdC9d077DD685Bd9FA49F58A5Ab8e48": { + "index": 0, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xc96b78a51ddf0c342866ee916cd264e2041ff5f433587940ed224e2fed814150", + "0x04a6fe97930cad12734f986f956eb59e5bfaf25a1daebb7653889f780a277931", + "0x995a0c453bb787ecb90bf9cbb63f9da1516ded848c7588a4409ac2efa1776f96", + "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x097A3a6cE1D77a11Bda1AC40C08fDF9F6202103F": { + "index": 1, + "amount": "0x2086ac351052600000", + "proof": [ + "0xf8ea5b766cb3a14e23e3f48b86be1ec81b4e9ea6994b7e43a63538b0ab144b61", + "0x9232aa88a9ae4a1c636871be567151febdbb2f9972c57c9c72546b33e07fe380", + "0x724662767906a31603f671c6cad2857e97a4d2328c6115aba4ef595c5d402e59", + "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", + "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": false } + }, + "0x110f1C53C546Fb83FBa121033eA22551E5E07193": { + "index": 2, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x7d63980a1ee62b560c7c2f647e7bdff73a03ece33b75133f67efdc5a23710f22", + "0xdb084c73b109127790483dd5eef26ba1c0fc4bf841ed5800a281f12f60160db7", + "0x7f4397d31ca7e49a4681628162b345b45a5503ffcddf6e7152c98c0479d1a450", + "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6": { + "index": 3, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xbdb980a6909131cf249fe8c8809b1372c7f8180bbb25a4c22e7f2b3f974b456c", + "0x04a6fe97930cad12734f986f956eb59e5bfaf25a1daebb7653889f780a277931", + "0x995a0c453bb787ecb90bf9cbb63f9da1516ded848c7588a4409ac2efa1776f96", + "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x1c2E8EF8ae73b1A06cc822fe9FF2ECb441f79Ff8": { + "index": 4, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0x0c9ddd5cc9324f4322bf2743c6d705abed4be6b7bf4690de8471929113450216", + "0xe148154510e65ea823f5f85987490211ce5bcc18fb3801d78e70f005482cbc68", + "0xdb088689a6b39cac90d82d1136766ad56aa30b58c4ccd300adc2fb95b2efd0b8", + "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x217bA130cE2452D3793Fd524C11ddeE63898Aff7": { + "index": 5, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xf8d985eb13c99e05e1f132e722d1f24eae7f2937c1f95cc6d24d0468062c231b", + "0x9232aa88a9ae4a1c636871be567151febdbb2f9972c57c9c72546b33e07fe380", + "0x724662767906a31603f671c6cad2857e97a4d2328c6115aba4ef595c5d402e59", + "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", + "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x3605780992537dCaae52a8dA39238D6D883b7009": { + "index": 6, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x773dcff55a6b7e618986eaa81bf3c5f73b6e9246e981316e34ac62f811354c32", + "0x535164c984de86e30fa4cca3227924b45edc97b6710db04991b8911c13f93677", + "0x7f4397d31ca7e49a4681628162b345b45a5503ffcddf6e7152c98c0479d1a450", + "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x397Aca36ab63dBc1BDAFC65A9916DCaEE6c94e60": { + "index": 7, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xa28e631733a381a79d46f193c7bf34a76a69dfc48d7b9e282dac7321e73cd952", + "0x27ad5c23bf7bf033271237fbc3d6c3efd74738c296ddac4053680bee532332f5", + "0x7cff011f97afe4f914806fd8dc6bcba58e538674ee7a301f8eda11209cb36a34", + "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x3B16821A5dBBFF86E4a88eA0621EC6be016cd79A": { + "index": 8, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x60eccecfdde2d4a689b69c7c3c5367a5093a5fc231020f04f6ddfc620d0d4857", + "0x12beddd8a7d525332953dff99784ded77af656eafe9f539d15323c55a230062b", + "0x75b61b40039deaf80def9ae3c4d407b151fdbf0f8b909c617093844f402f885b", + "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x3f3B4c780dCFC39B24B0d09b1f1f1cF133b733D5": { + "index": 9, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xa0981b56d1e205fb9b881bf6d7eeb29012da44acef9ebd34ee23e5154b64ffc1", + "0x94cac974c6a2a677ae5bafe05facca45301123050ce76764ecde40b667351d2a", + "0x7cff011f97afe4f914806fd8dc6bcba58e538674ee7a301f8eda11209cb36a34", + "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x4A21Fa249086F1227F4005398035340CdB318C20": { + "index": 10, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xeb792a98ab8da022be75c58ce15ea333d82dac80eef487599b53506dc5582402", + "0x6a6176af4f8f86c668efa91f097c122e1f9cbd88e6041d9306984680e62f3288", + "0x3267b515852981c92511eed5a191255b3232992a345b6aa5df77d26ced17ab48", + "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", + "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x54626c49ECd78B2eA5aEeCAEC82049Ca26a04028": { + "index": 11, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x15147e7471b0f84ee3d446839b5e783f772932aa04aeee73fc32441f7ab971d0", + "0xe148154510e65ea823f5f85987490211ce5bcc18fb3801d78e70f005482cbc68", + "0xdb088689a6b39cac90d82d1136766ad56aa30b58c4ccd300adc2fb95b2efd0b8", + "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x5D47C94eFdAF49C8744698F5566495Cf5206eF0e": { + "index": 12, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0x438a64fe170729c7e480ba3a601e2e0a6d8400df69dd595c715017f14a77634b", + "0x12beddd8a7d525332953dff99784ded77af656eafe9f539d15323c55a230062b", + "0x75b61b40039deaf80def9ae3c4d407b151fdbf0f8b909c617093844f402f885b", + "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x5D509F653d7e4914AF9da434bF25c53Cd122763D": { + "index": 13, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xf295fdb1679a6b792ae2da2742ddd6416ebf5f3434cbdd7d83ca63b6ad147838", + "0x066c92921e791ad315f14abd954c05bd97dce4c4ca5d80b145aaac7f186a76fc", + "0x3267b515852981c92511eed5a191255b3232992a345b6aa5df77d26ced17ab48", + "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", + "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x5a4c5d67aF023CaEa327f4b3758d3E5c3950B2c3": { + "index": 14, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0xe700bc4559c982780d69c368c66c107989dd29350ba9ac7431cf93f860bfa47e", + "0x5ed37d00da435269f3cf8a3041c83a2ed4903b3003561c9222e35a58409d4cd4", + "0x995a0c453bb787ecb90bf9cbb63f9da1516ded848c7588a4409ac2efa1776f96", + "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x60E7ba91afd79CE71635b9249072Bd43A63EA390": { + "index": 15, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x155b7ccf43dac6c2b36d130aae24914a9e1e6732b56c5ef5d3831039f632c706", + "0x44855114951adac910e2423938a18547d46306b9340577f317889ec59763a157", + "0xdb088689a6b39cac90d82d1136766ad56aa30b58c4ccd300adc2fb95b2efd0b8", + "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x6561155263438064FFdD5fe2481D872f7dbA95e7": { + "index": 16, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x6159dcff3678606c184cdca35654ac5c94421e7377fa62bfa612085e2ff640d6", + "0xffa7b74b169d9f06bfe928810eb715f1c05beb2dde623200d3580fc708567071", + "0x75b61b40039deaf80def9ae3c4d407b151fdbf0f8b909c617093844f402f885b", + "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x7F46BB25460dD7DAE4211Ca7f15ad312Fc7Dc75C": { + "index": 17, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x9e12f7aa2cec92ed0829eaa6c3be94b46a34266a8db7a038b6f8ceba6bac111a", + "0x94cac974c6a2a677ae5bafe05facca45301123050ce76764ecde40b667351d2a", + "0x7cff011f97afe4f914806fd8dc6bcba58e538674ee7a301f8eda11209cb36a34", + "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x7FDe32A1FA7766c49620Aeb6A66Efb979078DFb7": { + "index": 18, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0x1c6277864427fbeef7b79acfc9c0e2cb6c55e18597c24574ec0c860110ca5618", + "0x44855114951adac910e2423938a18547d46306b9340577f317889ec59763a157", + "0xdb088689a6b39cac90d82d1136766ad56aa30b58c4ccd300adc2fb95b2efd0b8", + "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x97209D58E75a799d41e4F5f7ACf3AA675C9053F2": { + "index": 19, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xe9312a91d6392e0cf57afa213805102717a0063efecc0dcbfdcfd56a860b1071", + "0x6a6176af4f8f86c668efa91f097c122e1f9cbd88e6041d9306984680e62f3288", + "0x3267b515852981c92511eed5a191255b3232992a345b6aa5df77d26ced17ab48", + "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", + "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x9A3e204bd2f012122B228FA68Bf97539dA965D3b": { + "index": 20, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xacd09858a5779e3979f2a5a65c55d1f732a3c46c17c60c3944a4f4669bc93de9", + "0xf479269f579d588b26cc68b226c927141658c4a0ce67731e4a865c6130233331", + "0xeb22ff7051dafb55604a5cf66a1e7bda3c608790c90460403234154378e5d919", + "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x9B82B9Ab7570Ae452D9FF5411F1bE2bad08EF4c4": { + "index": 21, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0x9761c13c972302ed1907aa60f0ea420e22bd08f84c90210f4385492ca7bfcbdb", + "0xc60223124bb422aadb55f66acda5dcf8d18f6f26e5fb3fb10b5f9f623036243c", + "0x3d2fc6a28a938c92250e72dcf3616897232acfd2ae962d36e7528f7a2a4e046c", + "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x9f2942fF27e40445d3CB2aAD90F84C3a03574F26": { + "index": 22, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xb452585b0292498d74112b560287cb900be71090445644228323f86f6160dd9e", + "0xb7b41222183be135920e774bed3b516fd859c3b89b533fc799ffa5352b050a34", + "0xeb22ff7051dafb55604a5cf66a1e7bda3c608790c90460403234154378e5d919", + "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xB262FA34e8Fe3b664689945C9F3830A35D30e44b": { + "index": 23, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xb12dcea39091f40c6cfd2df778609efe3c4f3c10d1cf71d60ba3d948fb184774", + "0xb7b41222183be135920e774bed3b516fd859c3b89b533fc799ffa5352b050a34", + "0xeb22ff7051dafb55604a5cf66a1e7bda3c608790c90460403234154378e5d919", + "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xB827037835778e750b3Ee18bC207C4830888140A": { + "index": 24, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x69e250ae0d41972262bb2a56567199be157e46ec0fedb8274656f01c2e36ec5b", + "0xffa7b74b169d9f06bfe928810eb715f1c05beb2dde623200d3580fc708567071", + "0x75b61b40039deaf80def9ae3c4d407b151fdbf0f8b909c617093844f402f885b", + "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xD1F55571cbB04139716a9a5076Aa69626B6df009": { + "index": 25, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0x24248b6131c6306310b5b38799d268879d84771573943e87ef10c89b79624405", + "0x2981b41cb030e3050d23c05791af29d0548219fbecf497dc71c487f9c03dfccd", + "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", + "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0xE003ffaE3af3211B82b4840D27382D031Da6D027": { + "index": 26, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0x7e306cf4f5936b49a8f01bea5cba37f674939219c1b2d69d4ad23929093f393a", + "0xdb084c73b109127790483dd5eef26ba1c0fc4bf841ed5800a281f12f60160db7", + "0x7f4397d31ca7e49a4681628162b345b45a5503ffcddf6e7152c98c0479d1a450", + "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0xE248bf601aaF6dd25532E92E72630C4f9CdB0ed7": { + "index": 27, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xfb56d3569be553a9fe45f0ab5f51372edfc767bece6044eb2f48de978688a373", + "0x2789af75b18eb5b13adc4acf2906efb5313d2c75109a95f4c3c0c838920461ae", + "0x724662767906a31603f671c6cad2857e97a4d2328c6115aba4ef595c5d402e59", + "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", + "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xEA271B7dc328B43A9af9D406484D1E79613f7127": { + "index": 28, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x757ddbfc7281fcbe41188f060a1f9ec72e351bca9860529bae81816380b165c5", + "0x535164c984de86e30fa4cca3227924b45edc97b6710db04991b8911c13f93677", + "0x7f4397d31ca7e49a4681628162b345b45a5503ffcddf6e7152c98c0479d1a450", + "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xEf6FE9C9B351824c96e5C7a478C1e52BAdCBAEe0": { + "index": 29, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xa2626886829887c9a337e0c8a25b7ef666323cdfa07b14b4c4b32b33c0d5b016", + "0x27ad5c23bf7bf033271237fbc3d6c3efd74738c296ddac4053680bee532332f5", + "0x7cff011f97afe4f914806fd8dc6bcba58e538674ee7a301f8eda11209cb36a34", + "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xFa6863A6507c94ed52e9276F8A72479924E77a36": { + "index": 30, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xf0d366cb33eac883219b33555c530aa81608e771a3cba526166363c12ad2c0ae", + "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xa1d3C765E9A9655e8838bC4a9B16d5E6AF024321": { + "index": 31, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xabbc5344ee34b87f7cb55fae46e53d7e6b7fc25f5e52ae689045e93c009a84ac", + "0xf479269f579d588b26cc68b226c927141658c4a0ce67731e4a865c6130233331", + "0xeb22ff7051dafb55604a5cf66a1e7bda3c608790c90460403234154378e5d919", + "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xa289364347bfC1912ab672425Abe593ec01Ca56E": { + "index": 32, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x2b2d82bef09fe51b1d7ecff38c2a2ca085f2664a95c9920afa772eebd2fbc4da", + "0x2981b41cb030e3050d23c05791af29d0548219fbecf497dc71c487f9c03dfccd", + "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", + "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xaCf4C2950107eF9b1C37faA1F9a866C8F0da88b9": { + "index": 33, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xf171e1a982e6a0943be10e838e8b2170219d4a4a6f9bcfea7c29290965b9f486", + "0x066c92921e791ad315f14abd954c05bd97dce4c4ca5d80b145aaac7f186a76fc", + "0x3267b515852981c92511eed5a191255b3232992a345b6aa5df77d26ced17ab48", + "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", + "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xab2525670F881fB03A478630c5E94D0b1d8c516B": { + "index": 34, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0xfd12740a4d437831eb0a810245881ab0855f4694f9d01efb866e6ec3002b9f3f", + "0x2789af75b18eb5b13adc4acf2906efb5313d2c75109a95f4c3c0c838920461ae", + "0x724662767906a31603f671c6cad2857e97a4d2328c6115aba4ef595c5d402e59", + "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", + "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0xb9B8DE4b0B7020920C0476Ff1D74D6C51AeC7796": { + "index": 35, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x3e74a7e39171c42c1a41757b5a6a4015fc76c2e9d064cfe0e8019c26ea3ed5ac", + "0x96948f1cb4f1a816645da2f80f5d890dcdea9deac66a5e6b7b1e57bc99196fa5", + "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", + "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xd1EdEC711d5Ea0B4b064B678fF4a13b2C2A5ce8b": { + "index": 36, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xe1c9c2d32a1270e6e268b5cfc0e49087640d896d3dd5d75a309ac36302dd51dd", + "0x5ed37d00da435269f3cf8a3041c83a2ed4903b3003561c9222e35a58409d4cd4", + "0x995a0c453bb787ecb90bf9cbb63f9da1516ded848c7588a4409ac2efa1776f96", + "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xdC2Cf5cBFa31958ED32c3aCE696eE6Bf1A6a19f4": { + "index": 37, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x356a869dbb547662849b5f38a599c4962be2d007d9ccea9c2fba302bbc09429d", + "0x96948f1cb4f1a816645da2f80f5d890dcdea9deac66a5e6b7b1e57bc99196fa5", + "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", + "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", + "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xf7dBFe7dcFBA501464008554e7c5EddE8ab7B0ff": { + "index": 38, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x9a8fe004627e0209615f7c0258ebbeb332535960df87e1cc02699a9fc0766c59", + "0xc60223124bb422aadb55f66acda5dcf8d18f6f26e5fb3fb10b5f9f623036243c", + "0x3d2fc6a28a938c92250e72dcf3616897232acfd2ae962d36e7528f7a2a4e046c", + "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xf8F0cB8B06B2BA827Ae8e7915deB0Cf796AeC53B": { + "index": 39, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x8b9c85c2ceaf303b55d1c385f842be18f549b3f9fc73c94b2b32af8f7f2c4d9d", + "0x2905890d1432581c1b609489a96f4553879c0eaa6740facfd98ae5f6a56ccd2a", + "0x3d2fc6a28a938c92250e72dcf3616897232acfd2ae962d36e7528f7a2a4e046c", + "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xfDE5CFf51E4ec5495a86cF8D1b1F7B915eca02E0": { + "index": 40, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x82a0bbb954c4c1ef1f7277635abc856d65e9a80c6a6f850597207fab7b0fd203", + "0x2905890d1432581c1b609489a96f4553879c0eaa6740facfd98ae5f6a56ccd2a", + "0x3d2fc6a28a938c92250e72dcf3616897232acfd2ae962d36e7528f7a2a4e046c", + "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", + "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", + "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + } + } +} From 97b80c750612a7a09b27f9f95f24b10554a7a265 Mon Sep 17 00:00:00 2001 From: Phuong Nguyen Date: Mon, 21 Mar 2022 22:27:59 +0700 Subject: [PATCH 5/6] change contract --- src/assets/contracts/MerkleDistributor.json | 708 ++++++++++---------- src/libs/allocation_merkle_output.json | 543 ++++++++------- src/libs/merkleAirdrop.js | 2 +- 3 files changed, 649 insertions(+), 604 deletions(-) diff --git a/src/assets/contracts/MerkleDistributor.json b/src/assets/contracts/MerkleDistributor.json index 8dfe985..2fdcb73 100644 --- a/src/assets/contracts/MerkleDistributor.json +++ b/src/assets/contracts/MerkleDistributor.json @@ -119,9 +119,9 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.11+commit.5ef660b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot_\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleProof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"isClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"merkleRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/MerkleDistributor.sol\":\"MerkleDistributor\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x96a652802a06645a5908f74f104ec95ff0897e261e7028ee319bafc55582b597\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5afea8071316055c01a3d144da77523b8ae7ec8295e99559000cb07b23b98d30\",\"dweb:/ipfs/QmX14dHGgyErJb3R7wSNBSgxLdyX6EAVwJsZ6yK1xyG1Mo\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]},\"project:/contracts/MerkleDistributor.sol\":{\"keccak256\":\"0xc15a3614fa5d88100514f1613eaef9cf7e42090329ca295a349ad5153d90feb7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ad21f85da67f8ef5bc19220832ed13d13c3a69acf1d4d396f34e4790813a7e1e\",\"dweb:/ipfs/QmT5HD5mFEzZ3niKg4QziWCYTe7nSu12917j48AsxMde4S\"]},\"project:/contracts/interfaces/IMerkleDistributor.sol\":{\"keccak256\":\"0x8cd6f78943994972a4c670ab91894a82bd9ed629c9381db6ca9d0483fe8b698f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://621484f0c5e702f7fb421c968bda5cd8218c3915cc6d79956c2d68fb0887f280\",\"dweb:/ipfs/QmXftsLwy64Z4rFn1WoXY5cj1iuqPctA8HoeraLb3Wd4ES\"]}},\"version\":1}", - "bytecode": "0x60c060405234801561001057600080fd5b506040516106173803806106178339818101604052604081101561003357600080fd5b508051602090910151606082901b6001600160601b03191660805260a08190526001600160a01b03909116906105916100866000398061020b52806103b352508061027c52806103fd52506105916000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e7ba6ef146100515780632eb4a7ab146100df5780639e34070f146100f9578063fc0c546a1461012a575b600080fd5b6100dd6004803603608081101561006757600080fd5b8135916001600160a01b03602082013516916040820135919081019060808101606082013564010000000081111561009e57600080fd5b8201836020820111156100b057600080fd5b803590602001918460208302840111640100000000831117156100d257600080fd5b50909250905061014e565b005b6100e76103b1565b60408051918252519081900360200190f35b6101166004803603602081101561010f57600080fd5b50356103d5565b604080519115158252519081900360200190f35b6101326103fb565b604080516001600160a01b039092168252519081900360200190f35b610157856103d5565b156101935760405162461bcd60e51b81526004018080602001828103825260288152602001806104f06028913960400191505060405180910390fd5b6040805160208082018890526bffffffffffffffffffffffff19606088901b1682840152605480830187905283518084039091018152607483018085528151918301919091206094928602808501840190955285825293610236939192879287928392909101908490808284376000920191909152507f0000000000000000000000000000000000000000000000000000000000000000925085915061041f9050565b6102715760405162461bcd60e51b81526004018080602001828103825260218152602001806105186021913960400191505060405180910390fd5b61027a866104c8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb86866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156102fa57600080fd5b505af115801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b50516103615760405162461bcd60e51b81526004018080602001828103825260238152602001806105396023913960400191505060405180910390fd5b604080518781526001600160a01b038716602082015280820186905290517f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed0269181900360600190a1505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6101008104600090815260208190526040902054600160ff9092169190911b9081161490565b7f000000000000000000000000000000000000000000000000000000000000000081565b600081815b85518110156104bd57600086828151811061043b57fe5b6020026020010151905080831161048257828160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092506104b4565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b50600101610424565b509092149392505050565b610100810460009081526020819052604090208054600160ff9093169290921b909117905556fe4d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e4d65726b6c654469737472696275746f723a205472616e73666572206661696c65642ea2646970667358221220d8ef9e75fd5beb0536645bbe7c8d8122d78afe8765cb0ab14c7d375aac14404264736f6c634300060b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e7ba6ef146100515780632eb4a7ab146100df5780639e34070f146100f9578063fc0c546a1461012a575b600080fd5b6100dd6004803603608081101561006757600080fd5b8135916001600160a01b03602082013516916040820135919081019060808101606082013564010000000081111561009e57600080fd5b8201836020820111156100b057600080fd5b803590602001918460208302840111640100000000831117156100d257600080fd5b50909250905061014e565b005b6100e76103b1565b60408051918252519081900360200190f35b6101166004803603602081101561010f57600080fd5b50356103d5565b604080519115158252519081900360200190f35b6101326103fb565b604080516001600160a01b039092168252519081900360200190f35b610157856103d5565b156101935760405162461bcd60e51b81526004018080602001828103825260288152602001806104f06028913960400191505060405180910390fd5b6040805160208082018890526bffffffffffffffffffffffff19606088901b1682840152605480830187905283518084039091018152607483018085528151918301919091206094928602808501840190955285825293610236939192879287928392909101908490808284376000920191909152507f0000000000000000000000000000000000000000000000000000000000000000925085915061041f9050565b6102715760405162461bcd60e51b81526004018080602001828103825260218152602001806105186021913960400191505060405180910390fd5b61027a866104c8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb86866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156102fa57600080fd5b505af115801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b50516103615760405162461bcd60e51b81526004018080602001828103825260238152602001806105396023913960400191505060405180910390fd5b604080518781526001600160a01b038716602082015280820186905290517f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed0269181900360600190a1505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6101008104600090815260208190526040902054600160ff9092169190911b9081161490565b7f000000000000000000000000000000000000000000000000000000000000000081565b600081815b85518110156104bd57600086828151811061043b57fe5b6020026020010151905080831161048257828160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092506104b4565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b50600101610424565b509092149392505050565b610100810460009081526020819052604090208054600160ff9093169290921b909117905556fe4d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e4d65726b6c654469737472696275746f723a205472616e73666572206661696c65642ea2646970667358221220d8ef9e75fd5beb0536645bbe7c8d8122d78afe8765cb0ab14c7d375aac14404264736f6c634300060b0033", + "metadata": "{\"compiler\":{\"version\":\"0.6.8+commit.0bbfe453\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot_\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleProof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"isClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"merkleRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/MerkleDistributor.sol\":\"MerkleDistributor\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x96a652802a06645a5908f74f104ec95ff0897e261e7028ee319bafc55582b597\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5afea8071316055c01a3d144da77523b8ae7ec8295e99559000cb07b23b98d30\",\"dweb:/ipfs/QmX14dHGgyErJb3R7wSNBSgxLdyX6EAVwJsZ6yK1xyG1Mo\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]},\"project:/contracts/MerkleDistributor.sol\":{\"keccak256\":\"0xf429c39339f1ae3adad9387379c9014c4f28f401ece6a5fa18559c30815e1657\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a9950ba800537311a44f3ccf85e3caf6ecbbee77bd040a1c4b43c3a12f23395f\",\"dweb:/ipfs/QmWtojz6PBLtVNSrbaHou8vb2d4gnixbVkyZamjqxvRvYP\"]},\"project:/contracts/interfaces/IMerkleDistributor.sol\":{\"keccak256\":\"0x8cd6f78943994972a4c670ab91894a82bd9ed629c9381db6ca9d0483fe8b698f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://621484f0c5e702f7fb421c968bda5cd8218c3915cc6d79956c2d68fb0887f280\",\"dweb:/ipfs/QmXftsLwy64Z4rFn1WoXY5cj1iuqPctA8HoeraLb3Wd4ES\"]}},\"version\":1}", + "bytecode": "0x60c060405234801561001057600080fd5b506040516106173803806106178339818101604052604081101561003357600080fd5b508051602090910151606082901b6001600160601b03191660805260a08190526001600160a01b03909116906105916100866000398061020b52806103b352508061027c52806103fd52506105916000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e7ba6ef146100515780632eb4a7ab146100df5780639e34070f146100f9578063fc0c546a1461012a575b600080fd5b6100dd6004803603608081101561006757600080fd5b8135916001600160a01b03602082013516916040820135919081019060808101606082013564010000000081111561009e57600080fd5b8201836020820111156100b057600080fd5b803590602001918460208302840111640100000000831117156100d257600080fd5b50909250905061014e565b005b6100e76103b1565b60408051918252519081900360200190f35b6101166004803603602081101561010f57600080fd5b50356103d5565b604080519115158252519081900360200190f35b6101326103fb565b604080516001600160a01b039092168252519081900360200190f35b610157856103d5565b156101935760405162461bcd60e51b81526004018080602001828103825260288152602001806104f06028913960400191505060405180910390fd5b6040805160208082018890526bffffffffffffffffffffffff19606088901b1682840152605480830187905283518084039091018152607483018085528151918301919091206094928602808501840190955285825293610236939192879287928392909101908490808284376000920191909152507f0000000000000000000000000000000000000000000000000000000000000000925085915061041f9050565b6102715760405162461bcd60e51b81526004018080602001828103825260218152602001806105186021913960400191505060405180910390fd5b61027a866104c8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb86866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156102fa57600080fd5b505af115801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b50516103615760405162461bcd60e51b81526004018080602001828103825260238152602001806105396023913960400191505060405180910390fd5b604080518781526001600160a01b038716602082015280820186905290517f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed0269181900360600190a1505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6101008104600090815260208190526040902054600160ff9092169190911b9081161490565b7f000000000000000000000000000000000000000000000000000000000000000081565b600081815b85518110156104bd57600086828151811061043b57fe5b6020026020010151905080831161048257828160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092506104b4565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b50600101610424565b509092149392505050565b610100810460009081526020819052604090208054600160ff9093169290921b909117905556fe4d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e4d65726b6c654469737472696275746f723a205472616e73666572206661696c65642ea264697066735822122072bd3561901ca7e85c7ba02f83ec6f05bfbd2a40935633fcbca188cf240f485764736f6c63430006080033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e7ba6ef146100515780632eb4a7ab146100df5780639e34070f146100f9578063fc0c546a1461012a575b600080fd5b6100dd6004803603608081101561006757600080fd5b8135916001600160a01b03602082013516916040820135919081019060808101606082013564010000000081111561009e57600080fd5b8201836020820111156100b057600080fd5b803590602001918460208302840111640100000000831117156100d257600080fd5b50909250905061014e565b005b6100e76103b1565b60408051918252519081900360200190f35b6101166004803603602081101561010f57600080fd5b50356103d5565b604080519115158252519081900360200190f35b6101326103fb565b604080516001600160a01b039092168252519081900360200190f35b610157856103d5565b156101935760405162461bcd60e51b81526004018080602001828103825260288152602001806104f06028913960400191505060405180910390fd5b6040805160208082018890526bffffffffffffffffffffffff19606088901b1682840152605480830187905283518084039091018152607483018085528151918301919091206094928602808501840190955285825293610236939192879287928392909101908490808284376000920191909152507f0000000000000000000000000000000000000000000000000000000000000000925085915061041f9050565b6102715760405162461bcd60e51b81526004018080602001828103825260218152602001806105186021913960400191505060405180910390fd5b61027a866104c8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb86866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156102fa57600080fd5b505af115801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b50516103615760405162461bcd60e51b81526004018080602001828103825260238152602001806105396023913960400191505060405180910390fd5b604080518781526001600160a01b038716602082015280820186905290517f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed0269181900360600190a1505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6101008104600090815260208190526040902054600160ff9092169190911b9081161490565b7f000000000000000000000000000000000000000000000000000000000000000081565b600081815b85518110156104bd57600086828151811061043b57fe5b6020026020010151905080831161048257828160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092506104b4565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b50600101610424565b509092149392505050565b610100810460009081526020819052604090208054600160ff9093169290921b909117905556fe4d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e4d65726b6c654469737472696275746f723a205472616e73666572206661696c65642ea264697066735822122072bd3561901ca7e85c7ba02f83ec6f05bfbd2a40935633fcbca188cf240f485764736f6c63430006080033", "immutableReferences": { "1088": [ { @@ -144,9 +144,9 @@ } ] }, - "sourceMap": "232:1600:6:-:0;;;482:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;482:121:6;;;;;;;548:14;;;;-1:-1:-1;;;;;;548:14:6;;;572:24;;;;-1:-1:-1;;;;;232:1600:6;;;;;;;;;;;;", - "deployedSourceMap": "232:1600:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1192:638;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1192:638:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1192:638:6;;-1:-1:-1;1192:638:6;-1:-1:-1;1192:638:6;:::i;:::-;;332:44;;;:::i;:::-;;;;;;;;;;;;;;;;609:325;;;;;;;;;;;;;;;;-1:-1:-1;609:325:6;;:::i;:::-;;;;;;;;;;;;;;;;;;287:39;;;:::i;:::-;;;;-1:-1:-1;;;;;287:39:6;;;;;;;;;;;;;;1192:638;1324:16;1334:5;1324:9;:16::i;:::-;1323:17;1315:70;;;;-1:-1:-1;;;1315:70:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1457:40;;;;;;;;;;-1:-1:-1;;1457:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1447:51;;;;;;;;;1516:49;;;;;;;;;;;;;;;1447:51;1516:49;;1457:40;;1535:11;;;;;;1516:49;;;;1535:11;;1516:49;1535:11;1516:49;;;;;;;;;-1:-1:-1;1548:10:6;;-1:-1:-1;1560:4:6;;-1:-1:-1;1516:18:6;;-1:-1:-1;1516:49:6:i;:::-;1508:95;;;;-1:-1:-1;;;1508:95:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1661:18;1673:5;1661:11;:18::i;:::-;1704:5;-1:-1:-1;;;;;1697:22:6;;1720:7;1729:6;1697:39;;;;;;;;;;;;;-1:-1:-1;;;;;1697:39:6;-1:-1:-1;;;;;1697:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1697:39:6;1689:87;;;;-1:-1:-1;;;1689:87:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1792:31;;;;;;-1:-1:-1;;;;;1792:31:6;;;;;;;;;;;;;;;;;;;;;;;1192:638;;;;;;:::o;332:44::-;;;:::o;609:325::-;724:3;716:11;;673:4;806:31;;;;;;;;;;;863:1;763:11;;;;863:20;;;;901:18;;;:26;;609:325::o;287:39::-;;;:::o;497:779:1:-;588:4;627;588;642:515;666:5;:12;662:1;:16;642:515;;;699:20;722:5;728:1;722:8;;;;;;;;;;;;;;699:31;;765:12;749;:28;745:402;;917:12;931;900:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;890:55;;;;;;875:70;;745:402;;;1104:12;1118;1087:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1077:55;;;;;;1062:70;;745:402;-1:-1:-1;680:3:1;;642:515;;;-1:-1:-1;1249:20:1;;;;497:779;-1:-1:-1;;;497:779:1:o;940:246:6:-;1029:3;1021:11;;994:24;1123:31;;;;;;;;;;;;1158:1;1068:11;;;;1158:20;;;;1123:56;;;1089:90;;940:246::o", - "source": "// SPDX-License-Identifier: UNLICENSED\npragma solidity =0.6.11;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/cryptography/MerkleProof.sol\";\nimport \"./interfaces/IMerkleDistributor.sol\";\n\ncontract MerkleDistributor is IMerkleDistributor {\n address public immutable override token;\n bytes32 public immutable override merkleRoot;\n\n // This is a packed array of booleans.\n mapping(uint256 => uint256) private claimedBitMap;\n\n constructor(address token_, bytes32 merkleRoot_) public {\n token = token_;\n merkleRoot = merkleRoot_;\n }\n\n function isClaimed(uint256 index) public view override returns (bool) {\n uint256 claimedWordIndex = index / 256;\n uint256 claimedBitIndex = index % 256;\n uint256 claimedWord = claimedBitMap[claimedWordIndex];\n uint256 mask = (1 << claimedBitIndex);\n return claimedWord & mask == mask;\n }\n\n function _setClaimed(uint256 index) private {\n uint256 claimedWordIndex = index / 256;\n uint256 claimedBitIndex = index % 256;\n claimedBitMap[claimedWordIndex] = claimedBitMap[claimedWordIndex] | (1 << claimedBitIndex);\n }\n\n function claim(uint256 index, address account, uint256 amount, bytes32[] calldata merkleProof) external override {\n require(!isClaimed(index), 'MerkleDistributor: Drop already claimed.');\n\n // Verify the merkle proof.\n bytes32 node = keccak256(abi.encodePacked(index, account, amount));\n require(MerkleProof.verify(merkleProof, merkleRoot, node), 'MerkleDistributor: Invalid proof.');\n\n // Mark it claimed and send the token.\n _setClaimed(index);\n require(IERC20(token).transfer(account, amount), 'MerkleDistributor: Transfer failed.');\n\n emit Claimed(index, account, amount);\n }\n}\n", + "sourceMap": "231:1600:6:-:0;;;481:121;5:9:-1;2:2;;;27:1;24;17:12;2:2;481:121:6;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;481:121:6;;;;;;;547:14;;;;-1:-1:-1;;;;;;547:14:6;;;571:24;;;;-1:-1:-1;;;;;231:1600:6;;;;;;;;;;;;", + "deployedSourceMap": "231:1600:6:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;231:1600:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;1191:638:6;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;1191:638:6;;;-1:-1:-1;;;;;1191:638:6;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;1191:638:6;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1191:638:6;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;1191:638:6;;-1:-1:-1;1191:638:6;-1:-1:-1;1191:638:6;:::i;:::-;;331:44;;;:::i;:::-;;;;;;;;;;;;;;;;608:325;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;608:325:6;;:::i;:::-;;;;;;;;;;;;;;;;;;286:39;;;:::i;:::-;;;;-1:-1:-1;;;;;286:39:6;;;;;;;;;;;;;;1191:638;1323:16;1333:5;1323:9;:16::i;:::-;1322:17;1314:70;;;;-1:-1:-1;;;1314:70:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1456:40;;;;;;;;;;-1:-1:-1;;1456:40:6;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;1456:40:6;;;;;;1446:51;;;;;;;;;1515:49;;;;;;;;;;;;;;;1446:51;1515:49;;1456:40;;1534:11;;;;;;1515:49;;;;1534:11;;1515:49;1534:11;1515:49;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;1547:10:6;;-1:-1:-1;1559:4:6;;-1:-1:-1;1515:18:6;;-1:-1:-1;1515:49:6:i;:::-;1507:95;;;;-1:-1:-1;;;1507:95:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1660:18;1672:5;1660:11;:18::i;:::-;1703:5;-1:-1:-1;;;;;1696:22:6;;1719:7;1728:6;1696:39;;;;;;;;;;;;;-1:-1:-1;;;;;1696:39:6;-1:-1:-1;;;;;1696:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1696:39:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1696:39:6;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1696:39:6;1688:87;;;;-1:-1:-1;;;1688:87:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1791:31;;;;;;-1:-1:-1;;;;;1791:31:6;;;;;;;;;;;;;;;;;;;;;;;1191:638;;;;;;:::o;331:44::-;;;:::o;608:325::-;723:3;715:11;;672:4;805:31;;;;;;;;;;;862:1;762:11;;;;862:20;;;;900:18;;;:26;;608:325::o;286:39::-;;;:::o;497:779:1:-;588:4;627;588;642:515;666:5;:12;662:1;:16;642:515;;;699:20;722:5;728:1;722:8;;;;;;;;;;;;;;699:31;;765:12;749;:28;745:402;;917:12;931;900:44;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;900:44:1;;;890:55;;;;;;875:70;;745:402;;;1104:12;1118;1087:44;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1087:44:1;;;1077:55;;;;;;1062:70;;745:402;-1:-1:-1;680:3:1;;642:515;;;-1:-1:-1;1249:20:1;;;;497:779;-1:-1:-1;;;497:779:1:o;939:246:6:-;1028:3;1020:11;;993:24;1122:31;;;;;;;;;;;;1157:1;1067:11;;;;1157:20;;;;1122:56;;;1088:90;;939:246::o", + "source": "// SPDX-License-Identifier: UNLICENSED\npragma solidity =0.6.8;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/cryptography/MerkleProof.sol\";\nimport \"./interfaces/IMerkleDistributor.sol\";\n\ncontract MerkleDistributor is IMerkleDistributor {\n address public immutable override token;\n bytes32 public immutable override merkleRoot;\n\n // This is a packed array of booleans.\n mapping(uint256 => uint256) private claimedBitMap;\n\n constructor(address token_, bytes32 merkleRoot_) public {\n token = token_;\n merkleRoot = merkleRoot_;\n }\n\n function isClaimed(uint256 index) public view override returns (bool) {\n uint256 claimedWordIndex = index / 256;\n uint256 claimedBitIndex = index % 256;\n uint256 claimedWord = claimedBitMap[claimedWordIndex];\n uint256 mask = (1 << claimedBitIndex);\n return claimedWord & mask == mask;\n }\n\n function _setClaimed(uint256 index) private {\n uint256 claimedWordIndex = index / 256;\n uint256 claimedBitIndex = index % 256;\n claimedBitMap[claimedWordIndex] = claimedBitMap[claimedWordIndex] | (1 << claimedBitIndex);\n }\n\n function claim(uint256 index, address account, uint256 amount, bytes32[] calldata merkleProof) external override {\n require(!isClaimed(index), 'MerkleDistributor: Drop already claimed.');\n\n // Verify the merkle proof.\n bytes32 node = keccak256(abi.encodePacked(index, account, amount));\n require(MerkleProof.verify(merkleProof, merkleRoot, node), 'MerkleDistributor: Invalid proof.');\n\n // Mark it claimed and send the token.\n _setClaimed(index);\n require(IERC20(token).transfer(account, amount), 'MerkleDistributor: Transfer failed.');\n\n emit Claimed(index, account, amount);\n }\n}\n", "sourcePath": "/Users/phuongnguyen/Desktop/xblade.Merkle.Distributor/contracts/MerkleDistributor.sol", "ast": { "absolutePath": "project:/contracts/MerkleDistributor.sol", @@ -165,10 +165,10 @@ "solidity", "=", "0.6", - ".11" + ".8" ], "nodeType": "PragmaDirective", - "src": "39:24:6" + "src": "39:23:6" }, { "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", @@ -177,7 +177,7 @@ "nodeType": "ImportDirective", "scope": 1248, "sourceUnit": 875, - "src": "65:56:6", + "src": "64:56:6", "symbolAliases": [], "unitAlias": "" }, @@ -188,7 +188,7 @@ "nodeType": "ImportDirective", "scope": 1248, "sourceUnit": 94, - "src": "122:62:6", + "src": "121:62:6", "symbolAliases": [], "unitAlias": "" }, @@ -199,7 +199,7 @@ "nodeType": "ImportDirective", "scope": 1248, "sourceUnit": 1288, - "src": "185:45:6", + "src": "184:45:6", "symbolAliases": [], "unitAlias": "" }, @@ -214,7 +214,7 @@ "name": "IMerkleDistributor", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1287, - "src": "262:18:6", + "src": "261:18:6", "typeDescriptions": { "typeIdentifier": "t_contract$_IMerkleDistributor_$1287", "typeString": "contract IMerkleDistributor" @@ -222,7 +222,7 @@ }, "id": 1085, "nodeType": "InheritanceSpecifier", - "src": "262:18:6" + "src": "261:18:6" } ], "contractDependencies": [ @@ -253,10 +253,10 @@ "id": 1087, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "312:8:6" + "src": "311:8:6" }, "scope": 1247, - "src": "287:39:6", + "src": "286:39:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -267,7 +267,7 @@ "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "287:7:6", + "src": "286:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -291,10 +291,10 @@ "id": 1090, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "357:8:6" + "src": "356:8:6" }, "scope": 1247, - "src": "332:44:6", + "src": "331:44:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -305,7 +305,7 @@ "id": 1089, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "332:7:6", + "src": "331:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -322,7 +322,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1247, - "src": "426:49:6", + "src": "425:49:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -335,14 +335,14 @@ "id": 1092, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "434:7:6", + "src": "433:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "426:27:6", + "src": "425:27:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" @@ -351,7 +351,7 @@ "id": 1093, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "445:7:6", + "src": "444:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -365,7 +365,7 @@ "body": { "id": 1110, "nodeType": "Block", - "src": "538:65:6", + "src": "537:65:6", "statements": [ { "expression": { @@ -382,7 +382,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1088, - "src": "548:5:6", + "src": "547:5:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -397,13 +397,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1097, - "src": "556:6:6", + "src": "555:6:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "548:14:6", + "src": "547:14:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -411,7 +411,7 @@ }, "id": 1105, "nodeType": "ExpressionStatement", - "src": "548:14:6" + "src": "547:14:6" }, { "expression": { @@ -428,7 +428,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1091, - "src": "572:10:6", + "src": "571:10:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -443,13 +443,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1099, - "src": "585:11:6", + "src": "584:11:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "572:24:6", + "src": "571:24:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -457,7 +457,7 @@ }, "id": 1109, "nodeType": "ExpressionStatement", - "src": "572:24:6" + "src": "571:24:6" } ] }, @@ -481,7 +481,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1111, - "src": "494:14:6", + "src": "493:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -492,7 +492,7 @@ "id": 1096, "name": "address", "nodeType": "ElementaryTypeName", - "src": "494:7:6", + "src": "493:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -510,7 +510,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1111, - "src": "510:19:6", + "src": "509:19:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -521,7 +521,7 @@ "id": 1098, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "510:7:6", + "src": "509:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -531,16 +531,16 @@ "visibility": "internal" } ], - "src": "493:37:6" + "src": "492:37:6" }, "returnParameters": { "id": 1101, "nodeType": "ParameterList", "parameters": [], - "src": "538:0:6" + "src": "537:0:6" }, "scope": 1247, - "src": "482:121:6", + "src": "481:121:6", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -552,7 +552,7 @@ "body": { "id": 1150, "nodeType": "Block", - "src": "679:255:6", + "src": "678:255:6", "statements": [ { "assignments": [ @@ -567,7 +567,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1150, - "src": "689:24:6", + "src": "688:24:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -578,7 +578,7 @@ "id": 1119, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "689:7:6", + "src": "688:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -607,7 +607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1113, - "src": "716:5:6", + "src": "715:5:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -625,7 +625,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "724:3:6", + "src": "723:3:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", @@ -633,14 +633,14 @@ }, "value": "256" }, - "src": "716:11:6", + "src": "715:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "689:38:6" + "src": "688:38:6" }, { "assignments": [ @@ -655,7 +655,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1150, - "src": "737:23:6", + "src": "736:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -666,7 +666,7 @@ "id": 1125, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "737:7:6", + "src": "736:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -695,7 +695,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1113, - "src": "763:5:6", + "src": "762:5:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -713,7 +713,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "771:3:6", + "src": "770:3:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", @@ -721,14 +721,14 @@ }, "value": "256" }, - "src": "763:11:6", + "src": "762:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "737:37:6" + "src": "736:37:6" }, { "assignments": [ @@ -743,7 +743,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1150, - "src": "784:19:6", + "src": "783:19:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -754,7 +754,7 @@ "id": 1131, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "784:7:6", + "src": "783:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -774,7 +774,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1095, - "src": "806:13:6", + "src": "805:13:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" @@ -788,7 +788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1120, - "src": "820:16:6", + "src": "819:16:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -799,14 +799,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "806:31:6", + "src": "805:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "784:53:6" + "src": "783:53:6" }, { "assignments": [ @@ -821,7 +821,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1150, - "src": "847:12:6", + "src": "846:12:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -832,7 +832,7 @@ "id": 1137, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "847:7:6", + "src": "846:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -867,7 +867,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "863:1:6", + "src": "862:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -884,13 +884,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1126, - "src": "868:15:6", + "src": "867:15:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "863:20:6", + "src": "862:20:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -904,14 +904,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "862:22:6", + "src": "861:22:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "847:37:6" + "src": "846:37:6" }, { "expression": { @@ -943,7 +943,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1132, - "src": "901:11:6", + "src": "900:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -958,13 +958,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1138, - "src": "915:4:6", + "src": "914:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "901:18:6", + "src": "900:18:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -979,13 +979,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1138, - "src": "923:4:6", + "src": "922:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "901:26:6", + "src": "900:26:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -994,7 +994,7 @@ "functionReturnParameters": 1118, "id": 1149, "nodeType": "Return", - "src": "894:33:6" + "src": "893:33:6" } ] }, @@ -1010,7 +1010,7 @@ "id": 1115, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "655:8:6" + "src": "654:8:6" }, "parameters": { "id": 1114, @@ -1024,7 +1024,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1151, - "src": "628:13:6", + "src": "627:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1035,7 +1035,7 @@ "id": 1112, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "628:7:6", + "src": "627:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1045,7 +1045,7 @@ "visibility": "internal" } ], - "src": "627:15:6" + "src": "626:15:6" }, "returnParameters": { "id": 1118, @@ -1059,7 +1059,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1151, - "src": "673:4:6", + "src": "672:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1070,7 +1070,7 @@ "id": 1116, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "673:4:6", + "src": "672:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1080,10 +1080,10 @@ "visibility": "internal" } ], - "src": "672:6:6" + "src": "671:6:6" }, "scope": 1247, - "src": "609:325:6", + "src": "608:325:6", "stateMutability": "view", "virtual": false, "visibility": "public" @@ -1092,7 +1092,7 @@ "body": { "id": 1181, "nodeType": "Block", - "src": "984:202:6", + "src": "983:202:6", "statements": [ { "assignments": [ @@ -1107,7 +1107,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1181, - "src": "994:24:6", + "src": "993:24:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1118,7 +1118,7 @@ "id": 1156, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "994:7:6", + "src": "993:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1147,7 +1147,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1153, - "src": "1021:5:6", + "src": "1020:5:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1165,7 +1165,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1029:3:6", + "src": "1028:3:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", @@ -1173,14 +1173,14 @@ }, "value": "256" }, - "src": "1021:11:6", + "src": "1020:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "994:38:6" + "src": "993:38:6" }, { "assignments": [ @@ -1195,7 +1195,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1181, - "src": "1042:23:6", + "src": "1041:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1206,7 +1206,7 @@ "id": 1162, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1042:7:6", + "src": "1041:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1235,7 +1235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1153, - "src": "1068:5:6", + "src": "1067:5:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1253,7 +1253,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1076:3:6", + "src": "1075:3:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", @@ -1261,14 +1261,14 @@ }, "value": "256" }, - "src": "1068:11:6", + "src": "1067:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1042:37:6" + "src": "1041:37:6" }, { "expression": { @@ -1287,7 +1287,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1095, - "src": "1089:13:6", + "src": "1088:13:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" @@ -1301,7 +1301,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1157, - "src": "1103:16:6", + "src": "1102:16:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1312,7 +1312,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1089:31:6", + "src": "1088:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1340,7 +1340,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1095, - "src": "1123:13:6", + "src": "1122:13:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" @@ -1354,7 +1354,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1157, - "src": "1137:16:6", + "src": "1136:16:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1365,7 +1365,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1123:31:6", + "src": "1122:31:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1397,7 +1397,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1158:1:6", + "src": "1157:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -1414,13 +1414,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1163, - "src": "1163:15:6", + "src": "1162:15:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1158:20:6", + "src": "1157:20:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1434,19 +1434,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1157:22:6", + "src": "1156:22:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1123:56:6", + "src": "1122:56:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1089:90:6", + "src": "1088:90:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1454,7 +1454,7 @@ }, "id": 1180, "nodeType": "ExpressionStatement", - "src": "1089:90:6" + "src": "1088:90:6" } ] }, @@ -1478,7 +1478,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1182, - "src": "961:13:6", + "src": "960:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1489,7 +1489,7 @@ "id": 1152, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "961:7:6", + "src": "960:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1499,16 +1499,16 @@ "visibility": "internal" } ], - "src": "960:15:6" + "src": "959:15:6" }, "returnParameters": { "id": 1155, "nodeType": "ParameterList", "parameters": [], - "src": "984:0:6" + "src": "983:0:6" }, "scope": 1247, - "src": "940:246:6", + "src": "939:246:6", "stateMutability": "nonpayable", "virtual": false, "visibility": "private" @@ -1520,7 +1520,7 @@ "body": { "id": 1245, "nodeType": "Block", - "src": "1305:525:6", + "src": "1304:525:6", "statements": [ { "expression": { @@ -1536,7 +1536,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1323:17:6", + "src": "1322:17:6", "subExpression": { "argumentTypes": null, "arguments": [ @@ -1547,7 +1547,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1184, - "src": "1334:5:6", + "src": "1333:5:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1566,7 +1566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1151, - "src": "1324:9:6", + "src": "1323:9:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" @@ -1580,7 +1580,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1324:16:6", + "src": "1323:16:6", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1602,7 +1602,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1342:42:6", + "src": "1341:42:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3dd4fedd52cf57495a0383b3611a398031abfe6e8cda07bccd9f5f795a45333c", @@ -1630,7 +1630,7 @@ -18 ], "referencedDeclaration": -18, - "src": "1315:7:6", + "src": "1314:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1644,7 +1644,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1315:70:6", + "src": "1314:70:6", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -1653,7 +1653,7 @@ }, "id": 1202, "nodeType": "ExpressionStatement", - "src": "1315:70:6" + "src": "1314:70:6" }, { "assignments": [ @@ -1668,7 +1668,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1245, - "src": "1432:12:6", + "src": "1431:12:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1679,7 +1679,7 @@ "id": 1203, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1432:7:6", + "src": "1431:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1703,7 +1703,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1184, - "src": "1474:5:6", + "src": "1473:5:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1716,7 +1716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1186, - "src": "1481:7:6", + "src": "1480:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1729,7 +1729,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1188, - "src": "1490:6:6", + "src": "1489:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1758,7 +1758,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "1457:3:6", + "src": "1456:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -1772,7 +1772,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1457:16:6", + "src": "1456:16:6", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -1786,7 +1786,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1457:40:6", + "src": "1456:40:6", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -1806,7 +1806,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "1447:9:6", + "src": "1446:9:6", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" @@ -1820,7 +1820,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1447:51:6", + "src": "1446:51:6", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1828,7 +1828,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1432:66:6" + "src": "1431:66:6" }, { "expression": { @@ -1844,7 +1844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1191, - "src": "1535:11:6", + "src": "1534:11:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -1857,7 +1857,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1091, - "src": "1548:10:6", + "src": "1547:10:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1870,7 +1870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1204, - "src": "1560:4:6", + "src": "1559:4:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1899,7 +1899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 93, - "src": "1516:11:6", + "src": "1515:11:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_MerkleProof_$93_$", "typeString": "type(library MerkleProof)" @@ -1913,7 +1913,7 @@ "memberName": "verify", "nodeType": "MemberAccess", "referencedDeclaration": 92, - "src": "1516:18:6", + "src": "1515:18:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32[] memory,bytes32,bytes32) pure returns (bool)" @@ -1927,7 +1927,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1516:49:6", + "src": "1515:49:6", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1944,7 +1944,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1567:35:6", + "src": "1566:35:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6afb067511959dbd4bc272e5aed6b4a5d429e99f0f504267fbd07e02406282d2", @@ -1972,7 +1972,7 @@ -18 ], "referencedDeclaration": -18, - "src": "1508:7:6", + "src": "1507:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1986,7 +1986,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1508:95:6", + "src": "1507:95:6", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -1995,7 +1995,7 @@ }, "id": 1223, "nodeType": "ExpressionStatement", - "src": "1508:95:6" + "src": "1507:95:6" }, { "expression": { @@ -2008,7 +2008,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1184, - "src": "1673:5:6", + "src": "1672:5:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2027,7 +2027,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1182, - "src": "1661:11:6", + "src": "1660:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -2041,7 +2041,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1661:18:6", + "src": "1660:18:6", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -2050,7 +2050,7 @@ }, "id": 1227, "nodeType": "ExpressionStatement", - "src": "1661:18:6" + "src": "1660:18:6" }, { "expression": { @@ -2066,7 +2066,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1186, - "src": "1720:7:6", + "src": "1719:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2079,7 +2079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1188, - "src": "1729:6:6", + "src": "1728:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2107,7 +2107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1088, - "src": "1704:5:6", + "src": "1703:5:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2126,7 +2126,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 874, - "src": "1697:6:6", + "src": "1696:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$874_$", "typeString": "type(contract IERC20)" @@ -2140,7 +2140,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1697:13:6", + "src": "1696:13:6", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$874", @@ -2155,7 +2155,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 823, - "src": "1697:22:6", + "src": "1696:22:6", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -2169,7 +2169,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1697:39:6", + "src": "1696:39:6", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2186,7 +2186,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1738:37:6", + "src": "1737:37:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_783c2b0153f1de5bc91d20a6a00fab231491ffa4eb21c15a6c6746946abb735e", @@ -2214,7 +2214,7 @@ -18 ], "referencedDeclaration": -18, - "src": "1689:7:6", + "src": "1688:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2228,7 +2228,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1689:87:6", + "src": "1688:87:6", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -2237,7 +2237,7 @@ }, "id": 1238, "nodeType": "ExpressionStatement", - "src": "1689:87:6" + "src": "1688:87:6" }, { "eventCall": { @@ -2250,7 +2250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1184, - "src": "1800:5:6", + "src": "1799:5:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2263,7 +2263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1186, - "src": "1807:7:6", + "src": "1806:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2276,7 +2276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1188, - "src": "1816:6:6", + "src": "1815:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2303,7 +2303,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1286, - "src": "1792:7:6", + "src": "1791:7:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (uint256,address,uint256)" @@ -2317,7 +2317,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1792:31:6", + "src": "1791:31:6", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -2326,7 +2326,7 @@ }, "id": 1244, "nodeType": "EmitStatement", - "src": "1787:36:6" + "src": "1786:36:6" } ] }, @@ -2342,7 +2342,7 @@ "id": 1193, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1296:8:6" + "src": "1295:8:6" }, "parameters": { "id": 1192, @@ -2356,7 +2356,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1246, - "src": "1207:13:6", + "src": "1206:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2367,7 +2367,7 @@ "id": 1183, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1207:7:6", + "src": "1206:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2384,7 +2384,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1246, - "src": "1222:15:6", + "src": "1221:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2395,7 +2395,7 @@ "id": 1185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1222:7:6", + "src": "1221:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2413,7 +2413,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1246, - "src": "1239:14:6", + "src": "1238:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2424,7 +2424,7 @@ "id": 1187, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1239:7:6", + "src": "1238:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2441,7 +2441,7 @@ "nodeType": "VariableDeclaration", "overrides": null, "scope": 1246, - "src": "1255:30:6", + "src": "1254:30:6", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -2453,7 +2453,7 @@ "id": 1189, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1255:7:6", + "src": "1254:7:6", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2462,7 +2462,7 @@ "id": 1190, "length": null, "nodeType": "ArrayTypeName", - "src": "1255:9:6", + "src": "1254:9:6", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -2472,26 +2472,26 @@ "visibility": "internal" } ], - "src": "1206:80:6" + "src": "1205:80:6" }, "returnParameters": { "id": 1194, "nodeType": "ParameterList", "parameters": [], - "src": "1305:0:6" + "src": "1304:0:6" }, "scope": 1247, - "src": "1192:638:6", + "src": "1191:638:6", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 1248, - "src": "232:1600:6" + "src": "231:1600:6" } ], - "src": "39:1794:6" + "src": "39:1793:6" }, "legacyAST": { "attributes": { @@ -2510,12 +2510,12 @@ "solidity", "=", "0.6", - ".11" + ".8" ] }, "id": 1080, "name": "PragmaDirective", - "src": "39:24:6" + "src": "39:23:6" }, { "attributes": { @@ -2530,7 +2530,7 @@ }, "id": 1081, "name": "ImportDirective", - "src": "65:56:6" + "src": "64:56:6" }, { "attributes": { @@ -2545,7 +2545,7 @@ }, "id": 1082, "name": "ImportDirective", - "src": "122:62:6" + "src": "121:62:6" }, { "attributes": { @@ -2560,7 +2560,7 @@ }, "id": 1083, "name": "ImportDirective", - "src": "185:45:6" + "src": "184:45:6" }, { "attributes": { @@ -2593,12 +2593,12 @@ }, "id": 1084, "name": "UserDefinedTypeName", - "src": "262:18:6" + "src": "261:18:6" } ], "id": 1085, "name": "InheritanceSpecifier", - "src": "262:18:6" + "src": "261:18:6" }, { "attributes": { @@ -2625,7 +2625,7 @@ }, "id": 1086, "name": "ElementaryTypeName", - "src": "287:7:6" + "src": "286:7:6" }, { "attributes": { @@ -2635,12 +2635,12 @@ }, "id": 1087, "name": "OverrideSpecifier", - "src": "312:8:6" + "src": "311:8:6" } ], "id": 1088, "name": "VariableDeclaration", - "src": "287:39:6" + "src": "286:39:6" }, { "attributes": { @@ -2666,7 +2666,7 @@ }, "id": 1089, "name": "ElementaryTypeName", - "src": "332:7:6" + "src": "331:7:6" }, { "attributes": { @@ -2676,12 +2676,12 @@ }, "id": 1090, "name": "OverrideSpecifier", - "src": "357:8:6" + "src": "356:8:6" } ], "id": 1091, "name": "VariableDeclaration", - "src": "332:44:6" + "src": "331:44:6" }, { "attributes": { @@ -2709,7 +2709,7 @@ }, "id": 1092, "name": "ElementaryTypeName", - "src": "434:7:6" + "src": "433:7:6" }, { "attributes": { @@ -2718,17 +2718,17 @@ }, "id": 1093, "name": "ElementaryTypeName", - "src": "445:7:6" + "src": "444:7:6" } ], "id": 1094, "name": "Mapping", - "src": "426:27:6" + "src": "425:27:6" } ], "id": 1095, "name": "VariableDeclaration", - "src": "426:49:6" + "src": "425:49:6" }, { "attributes": { @@ -2771,12 +2771,12 @@ }, "id": 1096, "name": "ElementaryTypeName", - "src": "494:7:6" + "src": "493:7:6" } ], "id": 1097, "name": "VariableDeclaration", - "src": "494:14:6" + "src": "493:14:6" }, { "attributes": { @@ -2799,17 +2799,17 @@ }, "id": 1098, "name": "ElementaryTypeName", - "src": "510:7:6" + "src": "509:7:6" } ], "id": 1099, "name": "VariableDeclaration", - "src": "510:19:6" + "src": "509:19:6" } ], "id": 1100, "name": "ParameterList", - "src": "493:37:6" + "src": "492:37:6" }, { "attributes": { @@ -2820,7 +2820,7 @@ "children": [], "id": 1101, "name": "ParameterList", - "src": "538:0:6" + "src": "537:0:6" }, { "children": [ @@ -2849,7 +2849,7 @@ }, "id": 1102, "name": "Identifier", - "src": "548:5:6" + "src": "547:5:6" }, { "attributes": { @@ -2863,17 +2863,17 @@ }, "id": 1103, "name": "Identifier", - "src": "556:6:6" + "src": "555:6:6" } ], "id": 1104, "name": "Assignment", - "src": "548:14:6" + "src": "547:14:6" } ], "id": 1105, "name": "ExpressionStatement", - "src": "548:14:6" + "src": "547:14:6" }, { "children": [ @@ -2900,7 +2900,7 @@ }, "id": 1106, "name": "Identifier", - "src": "572:10:6" + "src": "571:10:6" }, { "attributes": { @@ -2914,27 +2914,27 @@ }, "id": 1107, "name": "Identifier", - "src": "585:11:6" + "src": "584:11:6" } ], "id": 1108, "name": "Assignment", - "src": "572:24:6" + "src": "571:24:6" } ], "id": 1109, "name": "ExpressionStatement", - "src": "572:24:6" + "src": "571:24:6" } ], "id": 1110, "name": "Block", - "src": "538:65:6" + "src": "537:65:6" } ], "id": 1111, "name": "FunctionDefinition", - "src": "482:121:6" + "src": "481:121:6" }, { "attributes": { @@ -2964,7 +2964,7 @@ }, "id": 1115, "name": "OverrideSpecifier", - "src": "655:8:6" + "src": "654:8:6" }, { "children": [ @@ -2989,17 +2989,17 @@ }, "id": 1112, "name": "ElementaryTypeName", - "src": "628:7:6" + "src": "627:7:6" } ], "id": 1113, "name": "VariableDeclaration", - "src": "628:13:6" + "src": "627:13:6" } ], "id": 1114, "name": "ParameterList", - "src": "627:15:6" + "src": "626:15:6" }, { "children": [ @@ -3024,17 +3024,17 @@ }, "id": 1116, "name": "ElementaryTypeName", - "src": "673:4:6" + "src": "672:4:6" } ], "id": 1117, "name": "VariableDeclaration", - "src": "673:4:6" + "src": "672:4:6" } ], "id": 1118, "name": "ParameterList", - "src": "672:6:6" + "src": "671:6:6" }, { "children": [ @@ -3066,12 +3066,12 @@ }, "id": 1119, "name": "ElementaryTypeName", - "src": "689:7:6" + "src": "688:7:6" } ], "id": 1120, "name": "VariableDeclaration", - "src": "689:24:6" + "src": "688:24:6" }, { "attributes": { @@ -3100,7 +3100,7 @@ }, "id": 1121, "name": "Identifier", - "src": "716:5:6" + "src": "715:5:6" }, { "attributes": { @@ -3117,17 +3117,17 @@ }, "id": 1122, "name": "Literal", - "src": "724:3:6" + "src": "723:3:6" } ], "id": 1123, "name": "BinaryOperation", - "src": "716:11:6" + "src": "715:11:6" } ], "id": 1124, "name": "VariableDeclarationStatement", - "src": "689:38:6" + "src": "688:38:6" }, { "attributes": { @@ -3157,12 +3157,12 @@ }, "id": 1125, "name": "ElementaryTypeName", - "src": "737:7:6" + "src": "736:7:6" } ], "id": 1126, "name": "VariableDeclaration", - "src": "737:23:6" + "src": "736:23:6" }, { "attributes": { @@ -3191,7 +3191,7 @@ }, "id": 1127, "name": "Identifier", - "src": "763:5:6" + "src": "762:5:6" }, { "attributes": { @@ -3208,17 +3208,17 @@ }, "id": 1128, "name": "Literal", - "src": "771:3:6" + "src": "770:3:6" } ], "id": 1129, "name": "BinaryOperation", - "src": "763:11:6" + "src": "762:11:6" } ], "id": 1130, "name": "VariableDeclarationStatement", - "src": "737:37:6" + "src": "736:37:6" }, { "attributes": { @@ -3248,12 +3248,12 @@ }, "id": 1131, "name": "ElementaryTypeName", - "src": "784:7:6" + "src": "783:7:6" } ], "id": 1132, "name": "VariableDeclaration", - "src": "784:19:6" + "src": "783:19:6" }, { "attributes": { @@ -3277,7 +3277,7 @@ }, "id": 1133, "name": "Identifier", - "src": "806:13:6" + "src": "805:13:6" }, { "attributes": { @@ -3291,17 +3291,17 @@ }, "id": 1134, "name": "Identifier", - "src": "820:16:6" + "src": "819:16:6" } ], "id": 1135, "name": "IndexAccess", - "src": "806:31:6" + "src": "805:31:6" } ], "id": 1136, "name": "VariableDeclarationStatement", - "src": "784:53:6" + "src": "783:53:6" }, { "attributes": { @@ -3331,12 +3331,12 @@ }, "id": 1137, "name": "ElementaryTypeName", - "src": "847:7:6" + "src": "846:7:6" } ], "id": 1138, "name": "VariableDeclaration", - "src": "847:12:6" + "src": "846:12:6" }, { "attributes": { @@ -3379,7 +3379,7 @@ }, "id": 1139, "name": "Literal", - "src": "863:1:6" + "src": "862:1:6" }, { "attributes": { @@ -3393,22 +3393,22 @@ }, "id": 1140, "name": "Identifier", - "src": "868:15:6" + "src": "867:15:6" } ], "id": 1141, "name": "BinaryOperation", - "src": "863:20:6" + "src": "862:20:6" } ], "id": 1142, "name": "TupleExpression", - "src": "862:22:6" + "src": "861:22:6" } ], "id": 1143, "name": "VariableDeclarationStatement", - "src": "847:37:6" + "src": "846:37:6" }, { "attributes": { @@ -3457,7 +3457,7 @@ }, "id": 1144, "name": "Identifier", - "src": "901:11:6" + "src": "900:11:6" }, { "attributes": { @@ -3471,12 +3471,12 @@ }, "id": 1145, "name": "Identifier", - "src": "915:4:6" + "src": "914:4:6" } ], "id": 1146, "name": "BinaryOperation", - "src": "901:18:6" + "src": "900:18:6" }, { "attributes": { @@ -3490,27 +3490,27 @@ }, "id": 1147, "name": "Identifier", - "src": "923:4:6" + "src": "922:4:6" } ], "id": 1148, "name": "BinaryOperation", - "src": "901:26:6" + "src": "900:26:6" } ], "id": 1149, "name": "Return", - "src": "894:33:6" + "src": "893:33:6" } ], "id": 1150, "name": "Block", - "src": "679:255:6" + "src": "678:255:6" } ], "id": 1151, "name": "FunctionDefinition", - "src": "609:325:6" + "src": "608:325:6" }, { "attributes": { @@ -3552,17 +3552,17 @@ }, "id": 1152, "name": "ElementaryTypeName", - "src": "961:7:6" + "src": "960:7:6" } ], "id": 1153, "name": "VariableDeclaration", - "src": "961:13:6" + "src": "960:13:6" } ], "id": 1154, "name": "ParameterList", - "src": "960:15:6" + "src": "959:15:6" }, { "attributes": { @@ -3573,7 +3573,7 @@ "children": [], "id": 1155, "name": "ParameterList", - "src": "984:0:6" + "src": "983:0:6" }, { "children": [ @@ -3605,12 +3605,12 @@ }, "id": 1156, "name": "ElementaryTypeName", - "src": "994:7:6" + "src": "993:7:6" } ], "id": 1157, "name": "VariableDeclaration", - "src": "994:24:6" + "src": "993:24:6" }, { "attributes": { @@ -3639,7 +3639,7 @@ }, "id": 1158, "name": "Identifier", - "src": "1021:5:6" + "src": "1020:5:6" }, { "attributes": { @@ -3656,17 +3656,17 @@ }, "id": 1159, "name": "Literal", - "src": "1029:3:6" + "src": "1028:3:6" } ], "id": 1160, "name": "BinaryOperation", - "src": "1021:11:6" + "src": "1020:11:6" } ], "id": 1161, "name": "VariableDeclarationStatement", - "src": "994:38:6" + "src": "993:38:6" }, { "attributes": { @@ -3696,12 +3696,12 @@ }, "id": 1162, "name": "ElementaryTypeName", - "src": "1042:7:6" + "src": "1041:7:6" } ], "id": 1163, "name": "VariableDeclaration", - "src": "1042:23:6" + "src": "1041:23:6" }, { "attributes": { @@ -3730,7 +3730,7 @@ }, "id": 1164, "name": "Identifier", - "src": "1068:5:6" + "src": "1067:5:6" }, { "attributes": { @@ -3747,17 +3747,17 @@ }, "id": 1165, "name": "Literal", - "src": "1076:3:6" + "src": "1075:3:6" } ], "id": 1166, "name": "BinaryOperation", - "src": "1068:11:6" + "src": "1067:11:6" } ], "id": 1167, "name": "VariableDeclarationStatement", - "src": "1042:37:6" + "src": "1041:37:6" }, { "children": [ @@ -3794,7 +3794,7 @@ }, "id": 1168, "name": "Identifier", - "src": "1089:13:6" + "src": "1088:13:6" }, { "attributes": { @@ -3808,12 +3808,12 @@ }, "id": 1169, "name": "Identifier", - "src": "1103:16:6" + "src": "1102:16:6" } ], "id": 1170, "name": "IndexAccess", - "src": "1089:31:6" + "src": "1088:31:6" }, { "attributes": { @@ -3852,7 +3852,7 @@ }, "id": 1171, "name": "Identifier", - "src": "1123:13:6" + "src": "1122:13:6" }, { "attributes": { @@ -3866,12 +3866,12 @@ }, "id": 1172, "name": "Identifier", - "src": "1137:16:6" + "src": "1136:16:6" } ], "id": 1173, "name": "IndexAccess", - "src": "1123:31:6" + "src": "1122:31:6" }, { "attributes": { @@ -3914,7 +3914,7 @@ }, "id": 1174, "name": "Literal", - "src": "1158:1:6" + "src": "1157:1:6" }, { "attributes": { @@ -3928,42 +3928,42 @@ }, "id": 1175, "name": "Identifier", - "src": "1163:15:6" + "src": "1162:15:6" } ], "id": 1176, "name": "BinaryOperation", - "src": "1158:20:6" + "src": "1157:20:6" } ], "id": 1177, "name": "TupleExpression", - "src": "1157:22:6" + "src": "1156:22:6" } ], "id": 1178, "name": "BinaryOperation", - "src": "1123:56:6" + "src": "1122:56:6" } ], "id": 1179, "name": "Assignment", - "src": "1089:90:6" + "src": "1088:90:6" } ], "id": 1180, "name": "ExpressionStatement", - "src": "1089:90:6" + "src": "1088:90:6" } ], "id": 1181, "name": "Block", - "src": "984:202:6" + "src": "983:202:6" } ], "id": 1182, "name": "FunctionDefinition", - "src": "940:246:6" + "src": "939:246:6" }, { "attributes": { @@ -3993,7 +3993,7 @@ }, "id": 1193, "name": "OverrideSpecifier", - "src": "1296:8:6" + "src": "1295:8:6" }, { "children": [ @@ -4018,12 +4018,12 @@ }, "id": 1183, "name": "ElementaryTypeName", - "src": "1207:7:6" + "src": "1206:7:6" } ], "id": 1184, "name": "VariableDeclaration", - "src": "1207:13:6" + "src": "1206:13:6" }, { "attributes": { @@ -4047,12 +4047,12 @@ }, "id": 1185, "name": "ElementaryTypeName", - "src": "1222:7:6" + "src": "1221:7:6" } ], "id": 1186, "name": "VariableDeclaration", - "src": "1222:15:6" + "src": "1221:15:6" }, { "attributes": { @@ -4075,12 +4075,12 @@ }, "id": 1187, "name": "ElementaryTypeName", - "src": "1239:7:6" + "src": "1238:7:6" } ], "id": 1188, "name": "VariableDeclaration", - "src": "1239:14:6" + "src": "1238:14:6" }, { "attributes": { @@ -4109,22 +4109,22 @@ }, "id": 1189, "name": "ElementaryTypeName", - "src": "1255:7:6" + "src": "1254:7:6" } ], "id": 1190, "name": "ArrayTypeName", - "src": "1255:9:6" + "src": "1254:9:6" } ], "id": 1191, "name": "VariableDeclaration", - "src": "1255:30:6" + "src": "1254:30:6" } ], "id": 1192, "name": "ParameterList", - "src": "1206:80:6" + "src": "1205:80:6" }, { "attributes": { @@ -4135,7 +4135,7 @@ "children": [], "id": 1194, "name": "ParameterList", - "src": "1305:0:6" + "src": "1304:0:6" }, { "children": [ @@ -4179,7 +4179,7 @@ }, "id": 1195, "name": "Identifier", - "src": "1315:7:6" + "src": "1314:7:6" }, { "attributes": { @@ -4226,7 +4226,7 @@ }, "id": 1196, "name": "Identifier", - "src": "1324:9:6" + "src": "1323:9:6" }, { "attributes": { @@ -4240,17 +4240,17 @@ }, "id": 1197, "name": "Identifier", - "src": "1334:5:6" + "src": "1333:5:6" } ], "id": 1198, "name": "FunctionCall", - "src": "1324:16:6" + "src": "1323:16:6" } ], "id": 1199, "name": "UnaryOperation", - "src": "1323:17:6" + "src": "1322:17:6" }, { "attributes": { @@ -4267,17 +4267,17 @@ }, "id": 1200, "name": "Literal", - "src": "1342:42:6" + "src": "1341:42:6" } ], "id": 1201, "name": "FunctionCall", - "src": "1315:70:6" + "src": "1314:70:6" } ], "id": 1202, "name": "ExpressionStatement", - "src": "1315:70:6" + "src": "1314:70:6" }, { "attributes": { @@ -4307,12 +4307,12 @@ }, "id": 1203, "name": "ElementaryTypeName", - "src": "1432:7:6" + "src": "1431:7:6" } ], "id": 1204, "name": "VariableDeclaration", - "src": "1432:12:6" + "src": "1431:12:6" }, { "attributes": { @@ -4347,7 +4347,7 @@ }, "id": 1205, "name": "Identifier", - "src": "1447:9:6" + "src": "1446:9:6" }, { "attributes": { @@ -4402,12 +4402,12 @@ }, "id": 1206, "name": "Identifier", - "src": "1457:3:6" + "src": "1456:3:6" } ], "id": 1207, "name": "MemberAccess", - "src": "1457:16:6" + "src": "1456:16:6" }, { "attributes": { @@ -4421,7 +4421,7 @@ }, "id": 1208, "name": "Identifier", - "src": "1474:5:6" + "src": "1473:5:6" }, { "attributes": { @@ -4435,7 +4435,7 @@ }, "id": 1209, "name": "Identifier", - "src": "1481:7:6" + "src": "1480:7:6" }, { "attributes": { @@ -4449,22 +4449,22 @@ }, "id": 1210, "name": "Identifier", - "src": "1490:6:6" + "src": "1489:6:6" } ], "id": 1211, "name": "FunctionCall", - "src": "1457:40:6" + "src": "1456:40:6" } ], "id": 1212, "name": "FunctionCall", - "src": "1447:51:6" + "src": "1446:51:6" } ], "id": 1213, "name": "VariableDeclarationStatement", - "src": "1432:66:6" + "src": "1431:66:6" }, { "children": [ @@ -4506,7 +4506,7 @@ }, "id": 1214, "name": "Identifier", - "src": "1508:7:6" + "src": "1507:7:6" }, { "attributes": { @@ -4561,12 +4561,12 @@ }, "id": 1215, "name": "Identifier", - "src": "1516:11:6" + "src": "1515:11:6" } ], "id": 1216, "name": "MemberAccess", - "src": "1516:18:6" + "src": "1515:18:6" }, { "attributes": { @@ -4580,7 +4580,7 @@ }, "id": 1217, "name": "Identifier", - "src": "1535:11:6" + "src": "1534:11:6" }, { "attributes": { @@ -4594,7 +4594,7 @@ }, "id": 1218, "name": "Identifier", - "src": "1548:10:6" + "src": "1547:10:6" }, { "attributes": { @@ -4608,12 +4608,12 @@ }, "id": 1219, "name": "Identifier", - "src": "1560:4:6" + "src": "1559:4:6" } ], "id": 1220, "name": "FunctionCall", - "src": "1516:49:6" + "src": "1515:49:6" }, { "attributes": { @@ -4630,17 +4630,17 @@ }, "id": 1221, "name": "Literal", - "src": "1567:35:6" + "src": "1566:35:6" } ], "id": 1222, "name": "FunctionCall", - "src": "1508:95:6" + "src": "1507:95:6" } ], "id": 1223, "name": "ExpressionStatement", - "src": "1508:95:6" + "src": "1507:95:6" }, { "children": [ @@ -4677,7 +4677,7 @@ }, "id": 1224, "name": "Identifier", - "src": "1661:11:6" + "src": "1660:11:6" }, { "attributes": { @@ -4691,17 +4691,17 @@ }, "id": 1225, "name": "Identifier", - "src": "1673:5:6" + "src": "1672:5:6" } ], "id": 1226, "name": "FunctionCall", - "src": "1661:18:6" + "src": "1660:18:6" } ], "id": 1227, "name": "ExpressionStatement", - "src": "1661:18:6" + "src": "1660:18:6" }, { "children": [ @@ -4743,7 +4743,7 @@ }, "id": 1228, "name": "Identifier", - "src": "1689:7:6" + "src": "1688:7:6" }, { "attributes": { @@ -4815,7 +4815,7 @@ }, "id": 1229, "name": "Identifier", - "src": "1697:6:6" + "src": "1696:6:6" }, { "attributes": { @@ -4829,17 +4829,17 @@ }, "id": 1230, "name": "Identifier", - "src": "1704:5:6" + "src": "1703:5:6" } ], "id": 1231, "name": "FunctionCall", - "src": "1697:13:6" + "src": "1696:13:6" } ], "id": 1232, "name": "MemberAccess", - "src": "1697:22:6" + "src": "1696:22:6" }, { "attributes": { @@ -4853,7 +4853,7 @@ }, "id": 1233, "name": "Identifier", - "src": "1720:7:6" + "src": "1719:7:6" }, { "attributes": { @@ -4867,12 +4867,12 @@ }, "id": 1234, "name": "Identifier", - "src": "1729:6:6" + "src": "1728:6:6" } ], "id": 1235, "name": "FunctionCall", - "src": "1697:39:6" + "src": "1696:39:6" }, { "attributes": { @@ -4889,17 +4889,17 @@ }, "id": 1236, "name": "Literal", - "src": "1738:37:6" + "src": "1737:37:6" } ], "id": 1237, "name": "FunctionCall", - "src": "1689:87:6" + "src": "1688:87:6" } ], "id": 1238, "name": "ExpressionStatement", - "src": "1689:87:6" + "src": "1688:87:6" }, { "children": [ @@ -4944,7 +4944,7 @@ }, "id": 1239, "name": "Identifier", - "src": "1792:7:6" + "src": "1791:7:6" }, { "attributes": { @@ -4958,7 +4958,7 @@ }, "id": 1240, "name": "Identifier", - "src": "1800:5:6" + "src": "1799:5:6" }, { "attributes": { @@ -4972,7 +4972,7 @@ }, "id": 1241, "name": "Identifier", - "src": "1807:7:6" + "src": "1806:7:6" }, { "attributes": { @@ -4986,61 +4986,57 @@ }, "id": 1242, "name": "Identifier", - "src": "1816:6:6" + "src": "1815:6:6" } ], "id": 1243, "name": "FunctionCall", - "src": "1792:31:6" + "src": "1791:31:6" } ], "id": 1244, "name": "EmitStatement", - "src": "1787:36:6" + "src": "1786:36:6" } ], "id": 1245, "name": "Block", - "src": "1305:525:6" + "src": "1304:525:6" } ], "id": 1246, "name": "FunctionDefinition", - "src": "1192:638:6" + "src": "1191:638:6" } ], "id": 1247, "name": "ContractDefinition", - "src": "232:1600:6" + "src": "231:1600:6" } ], "id": 1248, "name": "SourceUnit", - "src": "39:1794:6" + "src": "39:1793:6" }, "compiler": { "name": "solc", - "version": "0.6.11+commit.5ef660b1.Emscripten.clang" + "version": "0.6.8+commit.0bbfe453.Emscripten.clang" }, "networks": { "97": { "events": {}, "links": {}, - "address": "0x6e37F0466134f4557C080cA12e9351ECaE46eA34", - "transactionHash": "0xce8e73fc296b73990581ccc813760bc948f31d21b80601d22657a482245f98a7" + "address": "0x3c882355aaAd0f9644546B93dc3BaC03005d6c5b", + "transactionHash": "0x4abbbc8d63ab9ff137e7dc4384c42699c5f54221e5cda57457cbc78d5730b865" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-03-10T16:50:54.090Z", + "updatedAt": "2022-03-21T15:23:40.174Z", "networkType": "ethereum", "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 + "methods": {} }, "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 + "methods": {} } } \ No newline at end of file diff --git a/src/libs/allocation_merkle_output.json b/src/libs/allocation_merkle_output.json index b56199f..28a395d 100644 --- a/src/libs/allocation_merkle_output.json +++ b/src/libs/allocation_merkle_output.json @@ -1,17 +1,17 @@ { - "merkleRoot": "0x5c5f00474e84b4057c918dde5a5f4499c126c9c3906deef7866328b73514cbbb", - "tokenTotal": "0x07c017866ed45ca391e0", + "merkleRoot": "0xccd11291cc4aadefe26a1089034c569c52755da080ef56d717b22be841fa47fe", + "tokenTotal": "0x08833fce922ea8c55ad0", "claims": { "0x08D816526BdC9d077DD685Bd9FA49F58A5Ab8e48": { "index": 0, "amount": "0x30ca024f987b900000", "proof": [ - "0xc96b78a51ddf0c342866ee916cd264e2041ff5f433587940ed224e2fed814150", - "0x04a6fe97930cad12734f986f956eb59e5bfaf25a1daebb7653889f780a277931", - "0x995a0c453bb787ecb90bf9cbb63f9da1516ded848c7588a4409ac2efa1776f96", - "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xc2123911634e352d10dd4c3409a02e6f39f8ead889477c3e90b571abe60588cf", + "0x8c83fe4063e684a2083c8e7eb701f1238aa5bf98c34c695d65d0a4381b9a8434", + "0x9ba21097af8ff400d38cb238be9eea4ef89e4b31923ba34ab79381a41280b28e", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -19,11 +19,11 @@ "index": 1, "amount": "0x2086ac351052600000", "proof": [ + "0xf27f44ab10b25de3c3d05e9eaaa5d70088fd0efa9b98301d0ef6854366259bb2", + "0x67e71152236605eb16dd80da1d99305130fd0dcc23d62e1b11e73c0c80de53f9", "0xf8ea5b766cb3a14e23e3f48b86be1ec81b4e9ea6994b7e43a63538b0ab144b61", - "0x9232aa88a9ae4a1c636871be567151febdbb2f9972c57c9c72546b33e07fe380", - "0x724662767906a31603f671c6cad2857e97a4d2328c6115aba4ef595c5d402e59", - "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", - "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + "0x446c410a864ae3450c98f0e20dbf3901ec1d16b4a07ffb3bee7ff63a263c525d", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": false } }, @@ -31,12 +31,12 @@ "index": 2, "amount": "0x30ca024f987b900000", "proof": [ - "0x7d63980a1ee62b560c7c2f647e7bdff73a03ece33b75133f67efdc5a23710f22", - "0xdb084c73b109127790483dd5eef26ba1c0fc4bf841ed5800a281f12f60160db7", - "0x7f4397d31ca7e49a4681628162b345b45a5503ffcddf6e7152c98c0479d1a450", - "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x757ddbfc7281fcbe41188f060a1f9ec72e351bca9860529bae81816380b165c5", + "0xc8b2f87fda1c86d2e065a8e9db65adc980750ea4eaf86add53bdd0a5f92597d5", + "0xb3dff720246fab551e6f77082a9c118206dabca6c55240c7d201270572af8ae3", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -44,12 +44,11 @@ "index": 3, "amount": "0x30ca024f987b900000", "proof": [ - "0xbdb980a6909131cf249fe8c8809b1372c7f8180bbb25a4c22e7f2b3f974b456c", - "0x04a6fe97930cad12734f986f956eb59e5bfaf25a1daebb7653889f780a277931", - "0x995a0c453bb787ecb90bf9cbb63f9da1516ded848c7588a4409ac2efa1776f96", - "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xcbe396c5cde9690754b636ab1dfbfe1331a803b54274f48feef99b7e67479f67", + "0x0b7799888b4cf1fb1b81e6c9c5cdbccec8a30fa1bdfd6d77ef699b16b24e0293", + "0x5a130dac49f491548586ece29fc5039dfae4d6eb4401392feed2afe714e0bdef", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -59,10 +58,10 @@ "proof": [ "0x0c9ddd5cc9324f4322bf2743c6d705abed4be6b7bf4690de8471929113450216", "0xe148154510e65ea823f5f85987490211ce5bcc18fb3801d78e70f005482cbc68", - "0xdb088689a6b39cac90d82d1136766ad56aa30b58c4ccd300adc2fb95b2efd0b8", - "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x271cc6ec720243667116a191c31e1c6d1f56079805b770f1e99d9db36e854f5f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": true, "isUser": true } }, @@ -70,11 +69,9 @@ "index": 5, "amount": "0x30ca024f987b900000", "proof": [ - "0xf8d985eb13c99e05e1f132e722d1f24eae7f2937c1f95cc6d24d0468062c231b", - "0x9232aa88a9ae4a1c636871be567151febdbb2f9972c57c9c72546b33e07fe380", - "0x724662767906a31603f671c6cad2857e97a4d2328c6115aba4ef595c5d402e59", - "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", - "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + "0x8ce911a40ed4f4438e6efd7bc89ac75edf0c1dc6b8e700827578501f6280aa93", + "0x446c410a864ae3450c98f0e20dbf3901ec1d16b4a07ffb3bee7ff63a263c525d", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -82,12 +79,12 @@ "index": 6, "amount": "0x30ca024f987b900000", "proof": [ - "0x773dcff55a6b7e618986eaa81bf3c5f73b6e9246e981316e34ac62f811354c32", - "0x535164c984de86e30fa4cca3227924b45edc97b6710db04991b8911c13f93677", - "0x7f4397d31ca7e49a4681628162b345b45a5503ffcddf6e7152c98c0479d1a450", - "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x7e306cf4f5936b49a8f01bea5cba37f674939219c1b2d69d4ad23929093f393a", + "0xc8b2f87fda1c86d2e065a8e9db65adc980750ea4eaf86add53bdd0a5f92597d5", + "0xb3dff720246fab551e6f77082a9c118206dabca6c55240c7d201270572af8ae3", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -95,12 +92,12 @@ "index": 7, "amount": "0x30ca024f987b900000", "proof": [ - "0xa28e631733a381a79d46f193c7bf34a76a69dfc48d7b9e282dac7321e73cd952", - "0x27ad5c23bf7bf033271237fbc3d6c3efd74738c296ddac4053680bee532332f5", - "0x7cff011f97afe4f914806fd8dc6bcba58e538674ee7a301f8eda11209cb36a34", - "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xa19806ae24c63474754496343532db2127c1a9c07b33bf62aabf36dbc1fed66a", + "0xed717c9c6a66f7f470fc26c67617ac623a4033c11bf5f456539aa7c4055ac3ea", + "0x8bbeb06909428e2cbbbad5f8d324e95cbc43df8f0632af7745e443a23c312d59", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -108,12 +105,12 @@ "index": 8, "amount": "0x30ca024f987b900000", "proof": [ - "0x60eccecfdde2d4a689b69c7c3c5367a5093a5fc231020f04f6ddfc620d0d4857", - "0x12beddd8a7d525332953dff99784ded77af656eafe9f539d15323c55a230062b", - "0x75b61b40039deaf80def9ae3c4d407b151fdbf0f8b909c617093844f402f885b", - "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x4c132a375fb189713fa00e0d378e3b4bdb5a426345ebafa3e18eba749a85c0f6", + "0x475ccd982c6b0209dc5815c256ce48acbbf3f0d33cb3a8d57255dada4e6f8897", + "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -122,11 +119,11 @@ "amount": "0x30ca024f987b900000", "proof": [ "0xa0981b56d1e205fb9b881bf6d7eeb29012da44acef9ebd34ee23e5154b64ffc1", - "0x94cac974c6a2a677ae5bafe05facca45301123050ce76764ecde40b667351d2a", - "0x7cff011f97afe4f914806fd8dc6bcba58e538674ee7a301f8eda11209cb36a34", - "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x137314bb0c81aedf9603e96cbd63da89e1c59fa986141c4fa92e669a1d52091a", + "0x68667224e630cbc2011edacca98dd61721fdb2250fe751f3125a0aa61b33166e", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -134,11 +131,11 @@ "index": 10, "amount": "0x30ca024f987b900000", "proof": [ - "0xeb792a98ab8da022be75c58ce15ea333d82dac80eef487599b53506dc5582402", - "0x6a6176af4f8f86c668efa91f097c122e1f9cbd88e6041d9306984680e62f3288", - "0x3267b515852981c92511eed5a191255b3232992a345b6aa5df77d26ced17ab48", - "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", - "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + "0xe1c9c2d32a1270e6e268b5cfc0e49087640d896d3dd5d75a309ac36302dd51dd", + "0x0e4a7aa1f217e3420bc1f665761213b3e7a0cb4222ae1b77b3df5ef2992024e7", + "0x2b3405be7f036b63ceea8b7d3230a9b8f51cd446465a375f10b77420229d0af3", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -148,10 +145,10 @@ "proof": [ "0x15147e7471b0f84ee3d446839b5e783f772932aa04aeee73fc32441f7ab971d0", "0xe148154510e65ea823f5f85987490211ce5bcc18fb3801d78e70f005482cbc68", - "0xdb088689a6b39cac90d82d1136766ad56aa30b58c4ccd300adc2fb95b2efd0b8", - "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x271cc6ec720243667116a191c31e1c6d1f56079805b770f1e99d9db36e854f5f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -159,12 +156,12 @@ "index": 12, "amount": "0x30ca1208d69308723c", "proof": [ - "0x438a64fe170729c7e480ba3a601e2e0a6d8400df69dd595c715017f14a77634b", - "0x12beddd8a7d525332953dff99784ded77af656eafe9f539d15323c55a230062b", - "0x75b61b40039deaf80def9ae3c4d407b151fdbf0f8b909c617093844f402f885b", - "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x5a7984a708adf5dfe7a7a51521d6828c774a4112ad9771b17cf4cd2017a57ab8", + "0x9ead8962c6798a0c6de08565e4b856577a490da7a7e329bcb1e1abb9c970b255", + "0x79367f8f216b4fc6d89ab67d0c101e242c6051b5c3d888c50dc1fd21e19e3b41", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": true, "isUser": true } }, @@ -172,11 +169,11 @@ "index": 13, "amount": "0x30ca024f987b900000", "proof": [ - "0xf295fdb1679a6b792ae2da2742ddd6416ebf5f3434cbdd7d83ca63b6ad147838", - "0x066c92921e791ad315f14abd954c05bd97dce4c4ca5d80b145aaac7f186a76fc", - "0x3267b515852981c92511eed5a191255b3232992a345b6aa5df77d26ced17ab48", - "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", - "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + "0xea856ace07a5240e4c97603acde351e2a66874112967ee1f3d884b5c1e2b9cb3", + "0x0ac94899dca4f39dadda159dea6fbed4bd011b78219aa6d0a06ba03b3a52de5c", + "0xf8ea5b766cb3a14e23e3f48b86be1ec81b4e9ea6994b7e43a63538b0ab144b61", + "0x446c410a864ae3450c98f0e20dbf3901ec1d16b4a07ffb3bee7ff63a263c525d", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -184,12 +181,11 @@ "index": 14, "amount": "0x30ca1208d69308723c", "proof": [ - "0xe700bc4559c982780d69c368c66c107989dd29350ba9ac7431cf93f860bfa47e", - "0x5ed37d00da435269f3cf8a3041c83a2ed4903b3003561c9222e35a58409d4cd4", - "0x995a0c453bb787ecb90bf9cbb63f9da1516ded848c7588a4409ac2efa1776f96", - "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xe9312a91d6392e0cf57afa213805102717a0063efecc0dcbfdcfd56a860b1071", + "0x0e4a7aa1f217e3420bc1f665761213b3e7a0cb4222ae1b77b3df5ef2992024e7", + "0x2b3405be7f036b63ceea8b7d3230a9b8f51cd446465a375f10b77420229d0af3", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": true, "isUser": true } }, @@ -199,10 +195,10 @@ "proof": [ "0x155b7ccf43dac6c2b36d130aae24914a9e1e6732b56c5ef5d3831039f632c706", "0x44855114951adac910e2423938a18547d46306b9340577f317889ec59763a157", - "0xdb088689a6b39cac90d82d1136766ad56aa30b58c4ccd300adc2fb95b2efd0b8", - "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x271cc6ec720243667116a191c31e1c6d1f56079805b770f1e99d9db36e854f5f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -210,12 +206,12 @@ "index": 16, "amount": "0x30ca024f987b900000", "proof": [ - "0x6159dcff3678606c184cdca35654ac5c94421e7377fa62bfa612085e2ff640d6", - "0xffa7b74b169d9f06bfe928810eb715f1c05beb2dde623200d3580fc708567071", - "0x75b61b40039deaf80def9ae3c4d407b151fdbf0f8b909c617093844f402f885b", - "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x651b90f5b00761a6af7132d65ddef4bfcc2bc7b6d9145f4f4b487be72efc8fbd", + "0x16452764ff5596312a6c0fe5cc03b8f7d00f292bbd1590493a2e3fae5ed526e5", + "0xb388fd92ae72bc6c9fd790a339a127c6e3cb0ad23962f9f1211589fe4dd50891", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -224,11 +220,11 @@ "amount": "0x30ca024f987b900000", "proof": [ "0x9e12f7aa2cec92ed0829eaa6c3be94b46a34266a8db7a038b6f8ceba6bac111a", - "0x94cac974c6a2a677ae5bafe05facca45301123050ce76764ecde40b667351d2a", - "0x7cff011f97afe4f914806fd8dc6bcba58e538674ee7a301f8eda11209cb36a34", - "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x137314bb0c81aedf9603e96cbd63da89e1c59fa986141c4fa92e669a1d52091a", + "0x68667224e630cbc2011edacca98dd61721fdb2250fe751f3125a0aa61b33166e", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, @@ -238,288 +234,341 @@ "proof": [ "0x1c6277864427fbeef7b79acfc9c0e2cb6c55e18597c24574ec0c860110ca5618", "0x44855114951adac910e2423938a18547d46306b9340577f317889ec59763a157", - "0xdb088689a6b39cac90d82d1136766ad56aa30b58c4ccd300adc2fb95b2efd0b8", - "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x271cc6ec720243667116a191c31e1c6d1f56079805b770f1e99d9db36e854f5f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": true, "isUser": true } }, - "0x97209D58E75a799d41e4F5f7ACf3AA675C9053F2": { + "0x7e11A24548a04033975f2C59722fE1448B985F5a": { "index": 19, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0xc96b78a51ddf0c342866ee916cd264e2041ff5f433587940ed224e2fed814150", + "0x0b7799888b4cf1fb1b81e6c9c5cdbccec8a30fa1bdfd6d77ef699b16b24e0293", + "0x5a130dac49f491548586ece29fc5039dfae4d6eb4401392feed2afe714e0bdef", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x97209D58E75a799d41e4F5f7ACf3AA675C9053F2": { + "index": 20, "amount": "0x30ca024f987b900000", "proof": [ - "0xe9312a91d6392e0cf57afa213805102717a0063efecc0dcbfdcfd56a860b1071", - "0x6a6176af4f8f86c668efa91f097c122e1f9cbd88e6041d9306984680e62f3288", - "0x3267b515852981c92511eed5a191255b3232992a345b6aa5df77d26ced17ab48", - "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", - "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + "0x41246ae3a67137e8fba795e2932fe2eb26499be72a89cc747dc843b629a776fc", + "0x6fac527b932afa1cd38f57c4c581bf9b93b4cebd104a3da899ca81e52f35c5e5", + "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0x9A3e204bd2f012122B228FA68Bf97539dA965D3b": { - "index": 20, + "index": 21, "amount": "0x30ca024f987b900000", "proof": [ - "0xacd09858a5779e3979f2a5a65c55d1f732a3c46c17c60c3944a4f4669bc93de9", - "0xf479269f579d588b26cc68b226c927141658c4a0ce67731e4a865c6130233331", - "0xeb22ff7051dafb55604a5cf66a1e7bda3c608790c90460403234154378e5d919", - "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x438a64fe170729c7e480ba3a601e2e0a6d8400df69dd595c715017f14a77634b", + "0x475ccd982c6b0209dc5815c256ce48acbbf3f0d33cb3a8d57255dada4e6f8897", + "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0x9B82B9Ab7570Ae452D9FF5411F1bE2bad08EF4c4": { - "index": 21, + "index": 22, "amount": "0x30ca1208d69308723c", "proof": [ - "0x9761c13c972302ed1907aa60f0ea420e22bd08f84c90210f4385492ca7bfcbdb", - "0xc60223124bb422aadb55f66acda5dcf8d18f6f26e5fb3fb10b5f9f623036243c", - "0x3d2fc6a28a938c92250e72dcf3616897232acfd2ae962d36e7528f7a2a4e046c", - "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x4d1bd4232fc641d719c5eebcf9d1a72c147e67fb513d7f640a9f2ec41b589fc6", + "0xc1d5c4b97f510437145ed3639c4e7bba718899f4d9ea024f6fa39e850c0dba38", + "0x79367f8f216b4fc6d89ab67d0c101e242c6051b5c3d888c50dc1fd21e19e3b41", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": true, "isUser": true } }, "0x9f2942fF27e40445d3CB2aAD90F84C3a03574F26": { - "index": 22, + "index": 23, "amount": "0x30ca024f987b900000", "proof": [ - "0xb452585b0292498d74112b560287cb900be71090445644228323f86f6160dd9e", - "0xb7b41222183be135920e774bed3b516fd859c3b89b533fc799ffa5352b050a34", - "0xeb22ff7051dafb55604a5cf66a1e7bda3c608790c90460403234154378e5d919", - "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x60eccecfdde2d4a689b69c7c3c5367a5093a5fc231020f04f6ddfc620d0d4857", + "0x9ead8962c6798a0c6de08565e4b856577a490da7a7e329bcb1e1abb9c970b255", + "0x79367f8f216b4fc6d89ab67d0c101e242c6051b5c3d888c50dc1fd21e19e3b41", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xB262FA34e8Fe3b664689945C9F3830A35D30e44b": { - "index": 23, + "index": 24, "amount": "0x30ca024f987b900000", "proof": [ - "0xb12dcea39091f40c6cfd2df778609efe3c4f3c10d1cf71d60ba3d948fb184774", - "0xb7b41222183be135920e774bed3b516fd859c3b89b533fc799ffa5352b050a34", - "0xeb22ff7051dafb55604a5cf66a1e7bda3c608790c90460403234154378e5d919", - "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x69e250ae0d41972262bb2a56567199be157e46ec0fedb8274656f01c2e36ec5b", + "0x16452764ff5596312a6c0fe5cc03b8f7d00f292bbd1590493a2e3fae5ed526e5", + "0xb388fd92ae72bc6c9fd790a339a127c6e3cb0ad23962f9f1211589fe4dd50891", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, + "0xB388b9a60959F885386f45618BE8a3309301f220": { + "index": 25, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0x8f89b2db92128cc314d6c89f6eca3eb173a111c813700c5c9cb5815f2211429a", + "0x27ad5c23bf7bf033271237fbc3d6c3efd74738c296ddac4053680bee532332f5", + "0x68667224e630cbc2011edacca98dd61721fdb2250fe751f3125a0aa61b33166e", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, "0xB827037835778e750b3Ee18bC207C4830888140A": { - "index": 24, + "index": 26, "amount": "0x30ca024f987b900000", "proof": [ - "0x69e250ae0d41972262bb2a56567199be157e46ec0fedb8274656f01c2e36ec5b", - "0xffa7b74b169d9f06bfe928810eb715f1c05beb2dde623200d3580fc708567071", - "0x75b61b40039deaf80def9ae3c4d407b151fdbf0f8b909c617093844f402f885b", - "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xab86c6eb61b98db4db98a1bd1353b1a81c821403eb67b4b15509be49d12064d3", + "0x15b70b03f4011e318f4c082354fad83074af0188f0d87c344ec600c5923ddd05", + "0x8bbeb06909428e2cbbbad5f8d324e95cbc43df8f0632af7745e443a23c312d59", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xD1F55571cbB04139716a9a5076Aa69626B6df009": { - "index": 25, + "index": 27, "amount": "0x30ca1208d69308723c", "proof": [ - "0x24248b6131c6306310b5b38799d268879d84771573943e87ef10c89b79624405", - "0x2981b41cb030e3050d23c05791af29d0548219fbecf497dc71c487f9c03dfccd", - "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", - "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xf8d985eb13c99e05e1f132e722d1f24eae7f2937c1f95cc6d24d0468062c231b", + "0x67e71152236605eb16dd80da1d99305130fd0dcc23d62e1b11e73c0c80de53f9", + "0xf8ea5b766cb3a14e23e3f48b86be1ec81b4e9ea6994b7e43a63538b0ab144b61", + "0x446c410a864ae3450c98f0e20dbf3901ec1d16b4a07ffb3bee7ff63a263c525d", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": true, "isUser": true } }, "0xE003ffaE3af3211B82b4840D27382D031Da6D027": { - "index": 26, + "index": 28, "amount": "0x30ca1208d69308723c", "proof": [ - "0x7e306cf4f5936b49a8f01bea5cba37f674939219c1b2d69d4ad23929093f393a", - "0xdb084c73b109127790483dd5eef26ba1c0fc4bf841ed5800a281f12f60160db7", - "0x7f4397d31ca7e49a4681628162b345b45a5503ffcddf6e7152c98c0479d1a450", - "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xbdb980a6909131cf249fe8c8809b1372c7f8180bbb25a4c22e7f2b3f974b456c", + "0x8c83fe4063e684a2083c8e7eb701f1238aa5bf98c34c695d65d0a4381b9a8434", + "0x9ba21097af8ff400d38cb238be9eea4ef89e4b31923ba34ab79381a41280b28e", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": true, "isUser": true } }, "0xE248bf601aaF6dd25532E92E72630C4f9CdB0ed7": { - "index": 27, + "index": 29, "amount": "0x30ca024f987b900000", "proof": [ - "0xfb56d3569be553a9fe45f0ab5f51372edfc767bece6044eb2f48de978688a373", - "0x2789af75b18eb5b13adc4acf2906efb5313d2c75109a95f4c3c0c838920461ae", - "0x724662767906a31603f671c6cad2857e97a4d2328c6115aba4ef595c5d402e59", - "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", - "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + "0x34f27965f84267ae0dc8320ed415cf48ba4ce53c4df34586f78593ce64cd7986", + "0x6fac527b932afa1cd38f57c4c581bf9b93b4cebd104a3da899ca81e52f35c5e5", + "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, + "0xE93bb4948E751db9a88904848b1d69B43fA86A74": { + "index": 30, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0xa2626886829887c9a337e0c8a25b7ef666323cdfa07b14b4c4b32b33c0d5b016", + "0xed717c9c6a66f7f470fc26c67617ac623a4033c11bf5f456539aa7c4055ac3ea", + "0x8bbeb06909428e2cbbbad5f8d324e95cbc43df8f0632af7745e443a23c312d59", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, "0xEA271B7dc328B43A9af9D406484D1E79613f7127": { - "index": 28, + "index": 31, "amount": "0x30ca024f987b900000", "proof": [ - "0x757ddbfc7281fcbe41188f060a1f9ec72e351bca9860529bae81816380b165c5", - "0x535164c984de86e30fa4cca3227924b45edc97b6710db04991b8911c13f93677", - "0x7f4397d31ca7e49a4681628162b345b45a5503ffcddf6e7152c98c0479d1a450", - "0x3d77ec7ba3c87784f01718a3632c1cf198919c0f8f31ec6a5fa23cc947bf2976", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x850526de1019af9588c69acc9ef35157a04190c5f1d30e40b7e92f44edbffa14", + "0xae57cb2d25445a882979e406a05ee0bc0ef141579697a0ca86d10ee2d1b4253b", + "0xb3dff720246fab551e6f77082a9c118206dabca6c55240c7d201270572af8ae3", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, + "0xECB9432976A0443f5ec844F900a50cB3a09c852B": { + "index": 32, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0xbca12b04222071bc722eec7b42ea9acfbf2fc287b80c3265cf4c2d2a3ebaf6d6", + "0x15b70b03f4011e318f4c082354fad83074af0188f0d87c344ec600c5923ddd05", + "0x8bbeb06909428e2cbbbad5f8d324e95cbc43df8f0632af7745e443a23c312d59", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, "0xEf6FE9C9B351824c96e5C7a478C1e52BAdCBAEe0": { - "index": 29, + "index": 33, "amount": "0x30ca024f987b900000", "proof": [ - "0xa2626886829887c9a337e0c8a25b7ef666323cdfa07b14b4c4b32b33c0d5b016", - "0x27ad5c23bf7bf033271237fbc3d6c3efd74738c296ddac4053680bee532332f5", - "0x7cff011f97afe4f914806fd8dc6bcba58e538674ee7a301f8eda11209cb36a34", - "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x71142fb64d8962bd3bb82328fa232798357342e74e69cea1f42795d6caa25499", + "0xcc0b96110d9cc467a7ca205fd773acd86a927d9240f02bd1b29cc83f77218a4a", + "0xb388fd92ae72bc6c9fd790a339a127c6e3cb0ad23962f9f1211589fe4dd50891", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xFa6863A6507c94ed52e9276F8A72479924E77a36": { - "index": 30, + "index": 34, "amount": "0x30ca024f987b900000", "proof": [ - "0xf0d366cb33eac883219b33555c530aa81608e771a3cba526166363c12ad2c0ae", - "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + "0x800ff49012d3ca8dcd855a6b0e0d6ea9c5f14f465dc2408595694dc9ef891665", + "0xae57cb2d25445a882979e406a05ee0bc0ef141579697a0ca86d10ee2d1b4253b", + "0xb3dff720246fab551e6f77082a9c118206dabca6c55240c7d201270572af8ae3", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xa1d3C765E9A9655e8838bC4a9B16d5E6AF024321": { - "index": 31, + "index": 35, "amount": "0x30ca024f987b900000", "proof": [ - "0xabbc5344ee34b87f7cb55fae46e53d7e6b7fc25f5e52ae689045e93c009a84ac", - "0xf479269f579d588b26cc68b226c927141658c4a0ce67731e4a865c6130233331", - "0xeb22ff7051dafb55604a5cf66a1e7bda3c608790c90460403234154378e5d919", - "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xdb006d3b5e7452823309a5ab6f745937807b9a2c7f9b230c5e09152ae5879a35", + "0x63c2a43ffbee8c0d6dc8f3c7888364640a14e91f64dcd16c1be30ab27899b66d", + "0x2b3405be7f036b63ceea8b7d3230a9b8f51cd446465a375f10b77420229d0af3", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xa289364347bfC1912ab672425Abe593ec01Ca56E": { - "index": 32, + "index": 36, "amount": "0x30ca024f987b900000", "proof": [ - "0x2b2d82bef09fe51b1d7ecff38c2a2ca085f2664a95c9920afa772eebd2fbc4da", - "0x2981b41cb030e3050d23c05791af29d0548219fbecf497dc71c487f9c03dfccd", - "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", - "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xd181f976f086c1da420e9ff0c20449a79fc552d5d72958a5af9e44266073c826", + "0xed9d39f8b6d6b920a7f9b194629b18bc660cf0ad30a0fba18ccadf94855a926d", + "0x5a130dac49f491548586ece29fc5039dfae4d6eb4401392feed2afe714e0bdef", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xaCf4C2950107eF9b1C37faA1F9a866C8F0da88b9": { - "index": 33, + "index": 37, "amount": "0x30ca024f987b900000", "proof": [ - "0xf171e1a982e6a0943be10e838e8b2170219d4a4a6f9bcfea7c29290965b9f486", - "0x066c92921e791ad315f14abd954c05bd97dce4c4ca5d80b145aaac7f186a76fc", - "0x3267b515852981c92511eed5a191255b3232992a345b6aa5df77d26ced17ab48", - "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", - "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + "0x6bbc64ed439bbb7fddc46c0e180a987a95d46eea9439aaa65ebf8444be21235f", + "0xcc0b96110d9cc467a7ca205fd773acd86a927d9240f02bd1b29cc83f77218a4a", + "0xb388fd92ae72bc6c9fd790a339a127c6e3cb0ad23962f9f1211589fe4dd50891", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xab2525670F881fB03A478630c5E94D0b1d8c516B": { - "index": 34, + "index": 38, "amount": "0x30ca1208d69308723c", "proof": [ - "0xfd12740a4d437831eb0a810245881ab0855f4694f9d01efb866e6ec3002b9f3f", - "0x2789af75b18eb5b13adc4acf2906efb5313d2c75109a95f4c3c0c838920461ae", - "0x724662767906a31603f671c6cad2857e97a4d2328c6115aba4ef595c5d402e59", - "0xfe2296604ff40a9347e8e2b531f4cc2d5a9733b05f8816452d9b97dc17d52565", - "0x3efdeb42ab9d3b88675e010513d42227ae21718c4da3957287f07ef0980fa75b" + "0xc717d0222448e4de619f683c6ce805bbb66c3e18dfddbe95abd4585e2fd4924f", + "0xc806361451d33e865916a51cd14848f83944909603ccc3937b43b38fb6b69073", + "0x9ba21097af8ff400d38cb238be9eea4ef89e4b31923ba34ab79381a41280b28e", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": true, "isUser": true } }, "0xb9B8DE4b0B7020920C0476Ff1D74D6C51AeC7796": { - "index": 35, + "index": 39, "amount": "0x30ca024f987b900000", "proof": [ - "0x3e74a7e39171c42c1a41757b5a6a4015fc76c2e9d064cfe0e8019c26ea3ed5ac", - "0x96948f1cb4f1a816645da2f80f5d890dcdea9deac66a5e6b7b1e57bc99196fa5", - "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", - "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x5338457b6194de624a6ee564a4a6022bdb5707fa4908aed04a32bc32c8032332", + "0xc1d5c4b97f510437145ed3639c4e7bba718899f4d9ea024f6fa39e850c0dba38", + "0x79367f8f216b4fc6d89ab67d0c101e242c6051b5c3d888c50dc1fd21e19e3b41", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xd1EdEC711d5Ea0B4b064B678fF4a13b2C2A5ce8b": { - "index": 36, + "index": 40, "amount": "0x30ca024f987b900000", "proof": [ - "0xe1c9c2d32a1270e6e268b5cfc0e49087640d896d3dd5d75a309ac36302dd51dd", - "0x5ed37d00da435269f3cf8a3041c83a2ed4903b3003561c9222e35a58409d4cd4", - "0x995a0c453bb787ecb90bf9cbb63f9da1516ded848c7588a4409ac2efa1776f96", - "0x21850e5830091236c0b12cabe6b064a8cb2ed7454e02c7682ded48a98ef8a57a", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xf171e1a982e6a0943be10e838e8b2170219d4a4a6f9bcfea7c29290965b9f486", + "0x0ac94899dca4f39dadda159dea6fbed4bd011b78219aa6d0a06ba03b3a52de5c", + "0xf8ea5b766cb3a14e23e3f48b86be1ec81b4e9ea6994b7e43a63538b0ab144b61", + "0x446c410a864ae3450c98f0e20dbf3901ec1d16b4a07ffb3bee7ff63a263c525d", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xdC2Cf5cBFa31958ED32c3aCE696eE6Bf1A6a19f4": { - "index": 37, + "index": 41, "amount": "0x30ca024f987b900000", "proof": [ - "0x356a869dbb547662849b5f38a599c4962be2d007d9ccea9c2fba302bbc09429d", - "0x96948f1cb4f1a816645da2f80f5d890dcdea9deac66a5e6b7b1e57bc99196fa5", - "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", - "0xe1f501b1b334ca88417b938906dee163ec757ffe14017673c667a5ac6162765e", - "0x2e18aaa911806a56e5273cd51c86047bf8fb624c14e32c6c2470500f2455ae0c", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xd0719687120710d3d7d500a7b59b7547248cf9c338af7697d3741bd0b1d9253a", + "0xed9d39f8b6d6b920a7f9b194629b18bc660cf0ad30a0fba18ccadf94855a926d", + "0x5a130dac49f491548586ece29fc5039dfae4d6eb4401392feed2afe714e0bdef", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xf7dBFe7dcFBA501464008554e7c5EddE8ab7B0ff": { - "index": 38, + "index": 42, "amount": "0x30ca024f987b900000", "proof": [ - "0x9a8fe004627e0209615f7c0258ebbeb332535960df87e1cc02699a9fc0766c59", - "0xc60223124bb422aadb55f66acda5dcf8d18f6f26e5fb3fb10b5f9f623036243c", - "0x3d2fc6a28a938c92250e72dcf3616897232acfd2ae962d36e7528f7a2a4e046c", - "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xd24d8d7a3058c2538712c66e53dca9026b93e0c7b793ea13e99f83a66c1b7db1", + "0x63c2a43ffbee8c0d6dc8f3c7888364640a14e91f64dcd16c1be30ab27899b66d", + "0x2b3405be7f036b63ceea8b7d3230a9b8f51cd446465a375f10b77420229d0af3", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xf8F0cB8B06B2BA827Ae8e7915deB0Cf796AeC53B": { - "index": 39, + "index": 43, "amount": "0x30ca024f987b900000", "proof": [ - "0x8b9c85c2ceaf303b55d1c385f842be18f549b3f9fc73c94b2b32af8f7f2c4d9d", - "0x2905890d1432581c1b609489a96f4553879c0eaa6740facfd98ae5f6a56ccd2a", - "0x3d2fc6a28a938c92250e72dcf3616897232acfd2ae962d36e7528f7a2a4e046c", - "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0xc614deb33e07e882422a65181674c3cf0125f22a910a5cd4d052def0a40a141e", + "0xc806361451d33e865916a51cd14848f83944909603ccc3937b43b38fb6b69073", + "0x9ba21097af8ff400d38cb238be9eea4ef89e4b31923ba34ab79381a41280b28e", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } }, "0xfDE5CFf51E4ec5495a86cF8D1b1F7B915eca02E0": { - "index": 40, + "index": 44, "amount": "0x30ca024f987b900000", "proof": [ - "0x82a0bbb954c4c1ef1f7277635abc856d65e9a80c6a6f850597207fab7b0fd203", - "0x2905890d1432581c1b609489a96f4553879c0eaa6740facfd98ae5f6a56ccd2a", - "0x3d2fc6a28a938c92250e72dcf3616897232acfd2ae962d36e7528f7a2a4e046c", - "0x13b0ac0884e98ce32cb069f4e42727e813dba84796f04862138d60431626ab80", - "0x23ea97c1c9671b14a8e2a4d1f1ac1b35cb0015628cdc278163f007d82dc066f3", - "0x134a19fb628e90853e2c40092d12292bee6a941bd46d14372b45b32490fda9dd" + "0x8a19d2dc41768fcb83355741565fde138c6a60aa39c42d84651f9a41e3e212e4", + "0x27ad5c23bf7bf033271237fbc3d6c3efd74738c296ddac4053680bee532332f5", + "0x68667224e630cbc2011edacca98dd61721fdb2250fe751f3125a0aa61b33166e", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" ], "flags": { "isSOCKS": true, "isLP": false, "isUser": true } } diff --git a/src/libs/merkleAirdrop.js b/src/libs/merkleAirdrop.js index b719b88..ec7cfdf 100644 --- a/src/libs/merkleAirdrop.js +++ b/src/libs/merkleAirdrop.js @@ -1,5 +1,5 @@ export const merkleAirdrop = { - address: '0x6e37F0466134f4557C080cA12e9351ECaE46eA34', + address: '0x3c882355aaAd0f9644546B93dc3BaC03005d6c5b', // jsonInterface: require('@/assets/contracts/AirdropLander.json') jsonInterface: require('@/assets/contracts/MerkleDistributor.json') } From 18bed13f9cf336d4f7e0707bda5758a95275fd61 Mon Sep 17 00:00:00 2001 From: Phuong Nguyen Date: Sun, 27 Mar 2022 01:26:36 +0700 Subject: [PATCH 6/6] FIx UI --- src/assets/images/loadingCircle.gif | Bin 0 -> 72639 bytes src/pages/Xdrop.vue | 76 +++++++--------------------- 2 files changed, 18 insertions(+), 58 deletions(-) create mode 100644 src/assets/images/loadingCircle.gif diff --git a/src/assets/images/loadingCircle.gif b/src/assets/images/loadingCircle.gif new file mode 100644 index 0000000000000000000000000000000000000000..843d01b6f9fb80976277c071b14908ade7dab06a GIT binary patch literal 72639 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 literal 0 HcmV?d00001 diff --git a/src/pages/Xdrop.vue b/src/pages/Xdrop.vue index 836294c..f34e598 100644 --- a/src/pages/Xdrop.vue +++ b/src/pages/Xdrop.vue @@ -117,7 +117,7 @@ @@ -304,54 +306,16 @@ export default { // this.claimSuccess=true; // } }catch(error) { - // console.log('type', error.gasY); this.showModal = false; setTimeout(() => { - this.errorClaim = `Error: View transaction at: https://testnet.bscscan.com/tx/${error.transactionHash}` + if(error?.code === 4001) { + this.errorClaim = error.message; + return ; + } + this.errorClaim = `https://testnet.bscscan.com/tx/${error?.receipt?.transactionHash}` }, 200); } }, - // async getSaleInfo() { - // const walletClient = this.walletClient; - - // const XBNAmount1 = await getReturnAmount( - // walletClient.web3Client, - // "0x27a339d9b59b21390d7209b78a839868e319301b", - // 0.002 - // ); - // // console.log(`XBN1 ${XBNAmount1}`) - // const XBNAmount2 = await getReturnAmount( - // walletClient.web3Client, - // "0x27a339d9b59b21390d7209b78a839868e319301b", - // 0.007 - // ); - // const XBNAmount3 = await getReturnAmount( - // walletClient.web3Client, - // "0x27a339d9b59b21390d7209b78a839868e319301b", - // 0.011 - // ); - - // // console.info(XBNAmount1,XBNAmount2,XBNAmount3); - // this.xbladeAmounts[0]= XBNAmount1; - // this.xbladeAmounts[1]= XBNAmount2; - // this.xbladeAmounts[2]= XBNAmount3; - // console.log(`xbladeAmounts ${this.xbladeAmounts}`); - // }, - - async fetchStatus() { - // const walletClient = this.walletClient; - - this.getSaleInfo(); - // const v = this; - // // this.getOrderBook(); - // setInterval(function() { - // v.fetchStatus(); - // }, 5000); - - // // Get balance - // const xbtBalance = await getXBNBalance(walletClient.web3Client); - // this.$set(this, 'xbtBalance', xbtBalance); - }, convertHexToDecimal(hexString) { const decimal = parseInt(hexString, 16); @@ -363,19 +327,6 @@ export default { const accounts = await this.walletClient.web3Client.eth.getAccounts(); this.userAccount = accounts.length > 0 ? accounts[0] : null; this.xdropData = data?.claims[this.userAccount]; - // const walletClient = this.walletClient; - // let reseller = this.$route.query.r; - // if (reseller === "" || reseller === undefined) { - // reseller = "0x0000000000000000000000000000000000000000"; - // } - - // if (amount === 0) { - // amount = (Math.floor(Math.random() * Math.floor(12)) + 3) / 1000; - // } - // // console.log(`reseller ${reseller}`) - - // await claimAirdrop(walletClient.web3Client, address, amount, reseller); - // await this.fetchStatus(); }, }, }; @@ -425,6 +376,12 @@ export default { flex: 1; align-items: center; } +.errorTextBlock { +} +.errorTextBlock a { + inline-size: 150px; + overflow-wrap: break-word; +} .success { margin-bottom: 20px; color: #00a2ff; @@ -458,5 +415,8 @@ export default { .subscribe-box{ margin-bottom: 100px; } +.errorTextBlock { + max-width: 300px; +} } \ No newline at end of file