diff --git a/.gitignore b/.gitignore index 799eb69..6d48e52 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 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/contracts/MerkleDistributor.json b/src/assets/contracts/MerkleDistributor.json new file mode 100644 index 0000000..2fdcb73 --- /dev/null +++ b/src/assets/contracts/MerkleDistributor.json @@ -0,0 +1,5042 @@ +{ + "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.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": [ + { + "length": 32, + "start": 636 + }, + { + "length": 32, + "start": 1021 + } + ], + "1091": [ + { + "length": 32, + "start": 523 + }, + { + "length": 32, + "start": 947 + } + ] + }, + "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", + "exportedSymbols": { + "MerkleDistributor": [ + 1247 + ] + }, + "id": 1248, + "license": "UNLICENSED", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1080, + "literals": [ + "solidity", + "=", + "0.6", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "39:23:6" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "id": 1081, + "nodeType": "ImportDirective", + "scope": 1248, + "sourceUnit": 875, + "src": "64: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": "121:62:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/interfaces/IMerkleDistributor.sol", + "file": "./interfaces/IMerkleDistributor.sol", + "id": 1083, + "nodeType": "ImportDirective", + "scope": 1248, + "sourceUnit": 1288, + "src": "184:45:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1084, + "name": "IMerkleDistributor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1287, + "src": "261:18:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMerkleDistributor_$1287", + "typeString": "contract IMerkleDistributor" + } + }, + "id": 1085, + "nodeType": "InheritanceSpecifier", + "src": "261: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": "311:8:6" + }, + "scope": 1247, + "src": "286:39:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1086, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "286: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": "356:8:6" + }, + "scope": 1247, + "src": "331:44:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1089, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "331: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": "425: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": "433:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "425:27:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 1093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "444:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "body": { + "id": 1110, + "nodeType": "Block", + "src": "537: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": "547:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1103, + "name": "token_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1097, + "src": "555:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "547:14:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1105, + "nodeType": "ExpressionStatement", + "src": "547: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": "571:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1107, + "name": "merkleRoot_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "584:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "571:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1109, + "nodeType": "ExpressionStatement", + "src": "571: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": "493:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "493: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": "509:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1098, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "509:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "492:37:6" + }, + "returnParameters": { + "id": 1101, + "nodeType": "ParameterList", + "parameters": [], + "src": "537:0:6" + }, + "scope": 1247, + "src": "481:121:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 1266 + ], + "body": { + "id": 1150, + "nodeType": "Block", + "src": "678:255:6", + "statements": [ + { + "assignments": [ + 1120 + ], + "declarations": [ + { + "constant": false, + "id": 1120, + "mutability": "mutable", + "name": "claimedWordIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1150, + "src": "688:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1119, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "688: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": "715: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": "723:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "src": "715:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "688:38:6" + }, + { + "assignments": [ + 1126 + ], + "declarations": [ + { + "constant": false, + "id": 1126, + "mutability": "mutable", + "name": "claimedBitIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1150, + "src": "736:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1125, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "736: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": "762: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": "770:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "src": "762:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "736:37:6" + }, + { + "assignments": [ + 1132 + ], + "declarations": [ + { + "constant": false, + "id": 1132, + "mutability": "mutable", + "name": "claimedWord", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1150, + "src": "783:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1131, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "783: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": "805: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": "819:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "805:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "783:53:6" + }, + { + "assignments": [ + 1138 + ], + "declarations": [ + { + "constant": false, + "id": 1138, + "mutability": "mutable", + "name": "mask", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1150, + "src": "846:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1137, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "846: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": "862: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": "867:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "862:20:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1142, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "861:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "846: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": "900:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "argumentTypes": null, + "id": 1145, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1138, + "src": "914:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "900:18:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1147, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1138, + "src": "922:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "900:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1118, + "id": 1149, + "nodeType": "Return", + "src": "893:33:6" + } + ] + }, + "documentation": null, + "functionSelector": "9e34070f", + "id": 1151, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isClaimed", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1115, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "654:8:6" + }, + "parameters": { + "id": 1114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1113, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1151, + "src": "627:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1112, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "627:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "626:15:6" + }, + "returnParameters": { + "id": 1118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1117, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1151, + "src": "672:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1116, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "672:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "671:6:6" + }, + "scope": 1247, + "src": "608:325:6", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1181, + "nodeType": "Block", + "src": "983:202:6", + "statements": [ + { + "assignments": [ + 1157 + ], + "declarations": [ + { + "constant": false, + "id": 1157, + "mutability": "mutable", + "name": "claimedWordIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1181, + "src": "993:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "993: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": "1020: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": "1028:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "src": "1020:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "993:38:6" + }, + { + "assignments": [ + 1163 + ], + "declarations": [ + { + "constant": false, + "id": 1163, + "mutability": "mutable", + "name": "claimedBitIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1181, + "src": "1041:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1041: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": "1067: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": "1075:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "src": "1067:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1041: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": "1088: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": "1102:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1088: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": "1122: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": "1136:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1122: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": "1157: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": "1162:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1157:20:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1177, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1156:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1122:56:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1088:90:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1180, + "nodeType": "ExpressionStatement", + "src": "1088: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": "960:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1152, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "960:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "959:15:6" + }, + "returnParameters": { + "id": 1155, + "nodeType": "ParameterList", + "parameters": [], + "src": "983:0:6" + }, + "scope": 1247, + "src": "939:246:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "baseFunctions": [ + 1278 + ], + "body": { + "id": 1245, + "nodeType": "Block", + "src": "1304: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": "1322:17:6", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1197, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "1333: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": "1323: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": "1323: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": "1341: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": "1314: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": "1314:70:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1202, + "nodeType": "ExpressionStatement", + "src": "1314:70:6" + }, + { + "assignments": [ + 1204 + ], + "declarations": [ + { + "constant": false, + "id": 1204, + "mutability": "mutable", + "name": "node", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1245, + "src": "1431:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1203, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1431: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": "1473:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1209, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "1480:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1210, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1489: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": "1456: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": "1456: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": "1456: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": "1446: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": "1446:51:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1431:66:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1217, + "name": "merkleProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1191, + "src": "1534: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": "1547:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1219, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1204, + "src": "1559: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": "1515: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": "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)" + } + }, + "id": 1220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1515: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": "1566: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": "1507: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": "1507:95:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1223, + "nodeType": "ExpressionStatement", + "src": "1507:95:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1225, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "1672: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": "1660: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": "1660:18:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1227, + "nodeType": "ExpressionStatement", + "src": "1660:18:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1233, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "1719:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1234, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1728: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": "1703: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": "1696: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": "1696: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": "1696: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": "1696: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": "1737: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": "1688: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": "1688:87:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1238, + "nodeType": "ExpressionStatement", + "src": "1688:87:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1240, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "1799:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1241, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "1806:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1242, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1815: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": "1791: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": "1791:31:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1244, + "nodeType": "EmitStatement", + "src": "1786:36:6" + } + ] + }, + "documentation": null, + "functionSelector": "2e7ba6ef", + "id": 1246, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "claim", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1193, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1295:8:6" + }, + "parameters": { + "id": 1192, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1184, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1246, + "src": "1206:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1206: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": "1221:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1221: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": "1238:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1238: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": "1254: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": "1254:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1190, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1254:9:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1205:80:6" + }, + "returnParameters": { + "id": 1194, + "nodeType": "ParameterList", + "parameters": [], + "src": "1304:0:6" + }, + "scope": 1247, + "src": "1191:638:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1248, + "src": "231:1600:6" + } + ], + "src": "39:1793:6" + }, + "legacyAST": { + "attributes": { + "absolutePath": "project:/contracts/MerkleDistributor.sol", + "exportedSymbols": { + "MerkleDistributor": [ + 1247 + ] + }, + "license": "UNLICENSED" + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "=", + "0.6", + ".8" + ] + }, + "id": 1080, + "name": "PragmaDirective", + "src": "39:23: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": "64: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": "121: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": "184: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": "261:18:6" + } + ], + "id": 1085, + "name": "InheritanceSpecifier", + "src": "261: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": "286:7:6" + }, + { + "attributes": { + "overrides": [ + null + ] + }, + "id": 1087, + "name": "OverrideSpecifier", + "src": "311:8:6" + } + ], + "id": 1088, + "name": "VariableDeclaration", + "src": "286: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": "331:7:6" + }, + { + "attributes": { + "overrides": [ + null + ] + }, + "id": 1090, + "name": "OverrideSpecifier", + "src": "356:8:6" + } + ], + "id": 1091, + "name": "VariableDeclaration", + "src": "331: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": "433:7:6" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1093, + "name": "ElementaryTypeName", + "src": "444:7:6" + } + ], + "id": 1094, + "name": "Mapping", + "src": "425:27:6" + } + ], + "id": 1095, + "name": "VariableDeclaration", + "src": "425: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": "493:7:6" + } + ], + "id": 1097, + "name": "VariableDeclaration", + "src": "493: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": "509:7:6" + } + ], + "id": 1099, + "name": "VariableDeclaration", + "src": "509:19:6" + } + ], + "id": 1100, + "name": "ParameterList", + "src": "492:37:6" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1101, + "name": "ParameterList", + "src": "537: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": "547:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1097, + "type": "address", + "value": "token_" + }, + "id": 1103, + "name": "Identifier", + "src": "555:6:6" + } + ], + "id": 1104, + "name": "Assignment", + "src": "547:14:6" + } + ], + "id": 1105, + "name": "ExpressionStatement", + "src": "547: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": "571:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1099, + "type": "bytes32", + "value": "merkleRoot_" + }, + "id": 1107, + "name": "Identifier", + "src": "584:11:6" + } + ], + "id": 1108, + "name": "Assignment", + "src": "571:24:6" + } + ], + "id": 1109, + "name": "ExpressionStatement", + "src": "571:24:6" + } + ], + "id": 1110, + "name": "Block", + "src": "537:65:6" + } + ], + "id": 1111, + "name": "FunctionDefinition", + "src": "481: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": "654: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": "627:7:6" + } + ], + "id": 1113, + "name": "VariableDeclaration", + "src": "627:13:6" + } + ], + "id": 1114, + "name": "ParameterList", + "src": "626: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": "672:4:6" + } + ], + "id": 1117, + "name": "VariableDeclaration", + "src": "672:4:6" + } + ], + "id": 1118, + "name": "ParameterList", + "src": "671: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": "688:7:6" + } + ], + "id": 1120, + "name": "VariableDeclaration", + "src": "688: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": "715: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": "723:3:6" + } + ], + "id": 1123, + "name": "BinaryOperation", + "src": "715:11:6" + } + ], + "id": 1124, + "name": "VariableDeclarationStatement", + "src": "688: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": "736:7:6" + } + ], + "id": 1126, + "name": "VariableDeclaration", + "src": "736: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": "762: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": "770:3:6" + } + ], + "id": 1129, + "name": "BinaryOperation", + "src": "762:11:6" + } + ], + "id": 1130, + "name": "VariableDeclarationStatement", + "src": "736: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": "783:7:6" + } + ], + "id": 1132, + "name": "VariableDeclaration", + "src": "783: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": "805:13:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1120, + "type": "uint256", + "value": "claimedWordIndex" + }, + "id": 1134, + "name": "Identifier", + "src": "819:16:6" + } + ], + "id": 1135, + "name": "IndexAccess", + "src": "805:31:6" + } + ], + "id": 1136, + "name": "VariableDeclarationStatement", + "src": "783: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": "846:7:6" + } + ], + "id": 1138, + "name": "VariableDeclaration", + "src": "846: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": "862:1:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1126, + "type": "uint256", + "value": "claimedBitIndex" + }, + "id": 1140, + "name": "Identifier", + "src": "867:15:6" + } + ], + "id": 1141, + "name": "BinaryOperation", + "src": "862:20:6" + } + ], + "id": 1142, + "name": "TupleExpression", + "src": "861:22:6" + } + ], + "id": 1143, + "name": "VariableDeclarationStatement", + "src": "846: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": "900:11:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1138, + "type": "uint256", + "value": "mask" + }, + "id": 1145, + "name": "Identifier", + "src": "914:4:6" + } + ], + "id": 1146, + "name": "BinaryOperation", + "src": "900:18:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1138, + "type": "uint256", + "value": "mask" + }, + "id": 1147, + "name": "Identifier", + "src": "922:4:6" + } + ], + "id": 1148, + "name": "BinaryOperation", + "src": "900:26:6" + } + ], + "id": 1149, + "name": "Return", + "src": "893:33:6" + } + ], + "id": 1150, + "name": "Block", + "src": "678:255:6" + } + ], + "id": 1151, + "name": "FunctionDefinition", + "src": "608: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": "960:7:6" + } + ], + "id": 1153, + "name": "VariableDeclaration", + "src": "960:13:6" + } + ], + "id": 1154, + "name": "ParameterList", + "src": "959:15:6" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1155, + "name": "ParameterList", + "src": "983: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": "993:7:6" + } + ], + "id": 1157, + "name": "VariableDeclaration", + "src": "993: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": "1020: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": "1028:3:6" + } + ], + "id": 1160, + "name": "BinaryOperation", + "src": "1020:11:6" + } + ], + "id": 1161, + "name": "VariableDeclarationStatement", + "src": "993: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": "1041:7:6" + } + ], + "id": 1163, + "name": "VariableDeclaration", + "src": "1041: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": "1067: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": "1075:3:6" + } + ], + "id": 1166, + "name": "BinaryOperation", + "src": "1067:11:6" + } + ], + "id": 1167, + "name": "VariableDeclarationStatement", + "src": "1041: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": "1088:13:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1157, + "type": "uint256", + "value": "claimedWordIndex" + }, + "id": 1169, + "name": "Identifier", + "src": "1102:16:6" + } + ], + "id": 1170, + "name": "IndexAccess", + "src": "1088: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": "1122:13:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1157, + "type": "uint256", + "value": "claimedWordIndex" + }, + "id": 1172, + "name": "Identifier", + "src": "1136:16:6" + } + ], + "id": 1173, + "name": "IndexAccess", + "src": "1122: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": "1157:1:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1163, + "type": "uint256", + "value": "claimedBitIndex" + }, + "id": 1175, + "name": "Identifier", + "src": "1162:15:6" + } + ], + "id": 1176, + "name": "BinaryOperation", + "src": "1157:20:6" + } + ], + "id": 1177, + "name": "TupleExpression", + "src": "1156:22:6" + } + ], + "id": 1178, + "name": "BinaryOperation", + "src": "1122:56:6" + } + ], + "id": 1179, + "name": "Assignment", + "src": "1088:90:6" + } + ], + "id": 1180, + "name": "ExpressionStatement", + "src": "1088:90:6" + } + ], + "id": 1181, + "name": "Block", + "src": "983:202:6" + } + ], + "id": 1182, + "name": "FunctionDefinition", + "src": "939: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": "1295: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": "1206:7:6" + } + ], + "id": 1184, + "name": "VariableDeclaration", + "src": "1206: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": "1221:7:6" + } + ], + "id": 1186, + "name": "VariableDeclaration", + "src": "1221: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": "1238:7:6" + } + ], + "id": 1188, + "name": "VariableDeclaration", + "src": "1238: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": "1254:7:6" + } + ], + "id": 1190, + "name": "ArrayTypeName", + "src": "1254:9:6" + } + ], + "id": 1191, + "name": "VariableDeclaration", + "src": "1254:30:6" + } + ], + "id": 1192, + "name": "ParameterList", + "src": "1205:80:6" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1194, + "name": "ParameterList", + "src": "1304: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": "1314: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": "1323:9:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1184, + "type": "uint256", + "value": "index" + }, + "id": 1197, + "name": "Identifier", + "src": "1333:5:6" + } + ], + "id": 1198, + "name": "FunctionCall", + "src": "1323:16:6" + } + ], + "id": 1199, + "name": "UnaryOperation", + "src": "1322: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": "1341:42:6" + } + ], + "id": 1201, + "name": "FunctionCall", + "src": "1314:70:6" + } + ], + "id": 1202, + "name": "ExpressionStatement", + "src": "1314: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": "1431:7:6" + } + ], + "id": 1204, + "name": "VariableDeclaration", + "src": "1431: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": "1446: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": "1456:3:6" + } + ], + "id": 1207, + "name": "MemberAccess", + "src": "1456:16:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1184, + "type": "uint256", + "value": "index" + }, + "id": 1208, + "name": "Identifier", + "src": "1473:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1186, + "type": "address", + "value": "account" + }, + "id": 1209, + "name": "Identifier", + "src": "1480:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1188, + "type": "uint256", + "value": "amount" + }, + "id": 1210, + "name": "Identifier", + "src": "1489:6:6" + } + ], + "id": 1211, + "name": "FunctionCall", + "src": "1456:40:6" + } + ], + "id": 1212, + "name": "FunctionCall", + "src": "1446:51:6" + } + ], + "id": 1213, + "name": "VariableDeclarationStatement", + "src": "1431: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": "1507: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": "1515:11:6" + } + ], + "id": 1216, + "name": "MemberAccess", + "src": "1515:18:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1191, + "type": "bytes32[] calldata", + "value": "merkleProof" + }, + "id": 1217, + "name": "Identifier", + "src": "1534:11:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1091, + "type": "bytes32", + "value": "merkleRoot" + }, + "id": 1218, + "name": "Identifier", + "src": "1547:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1204, + "type": "bytes32", + "value": "node" + }, + "id": 1219, + "name": "Identifier", + "src": "1559:4:6" + } + ], + "id": 1220, + "name": "FunctionCall", + "src": "1515: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": "1566:35:6" + } + ], + "id": 1222, + "name": "FunctionCall", + "src": "1507:95:6" + } + ], + "id": 1223, + "name": "ExpressionStatement", + "src": "1507: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": "1660:11:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1184, + "type": "uint256", + "value": "index" + }, + "id": 1225, + "name": "Identifier", + "src": "1672:5:6" + } + ], + "id": 1226, + "name": "FunctionCall", + "src": "1660:18:6" + } + ], + "id": 1227, + "name": "ExpressionStatement", + "src": "1660: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": "1688: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": "1696:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1088, + "type": "address", + "value": "token" + }, + "id": 1230, + "name": "Identifier", + "src": "1703:5:6" + } + ], + "id": 1231, + "name": "FunctionCall", + "src": "1696:13:6" + } + ], + "id": 1232, + "name": "MemberAccess", + "src": "1696:22:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1186, + "type": "address", + "value": "account" + }, + "id": 1233, + "name": "Identifier", + "src": "1719:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1188, + "type": "uint256", + "value": "amount" + }, + "id": 1234, + "name": "Identifier", + "src": "1728:6:6" + } + ], + "id": 1235, + "name": "FunctionCall", + "src": "1696: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": "1737:37:6" + } + ], + "id": 1237, + "name": "FunctionCall", + "src": "1688:87:6" + } + ], + "id": 1238, + "name": "ExpressionStatement", + "src": "1688: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": "1791:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1184, + "type": "uint256", + "value": "index" + }, + "id": 1240, + "name": "Identifier", + "src": "1799:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1186, + "type": "address", + "value": "account" + }, + "id": 1241, + "name": "Identifier", + "src": "1806:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1188, + "type": "uint256", + "value": "amount" + }, + "id": 1242, + "name": "Identifier", + "src": "1815:6:6" + } + ], + "id": 1243, + "name": "FunctionCall", + "src": "1791:31:6" + } + ], + "id": 1244, + "name": "EmitStatement", + "src": "1786:36:6" + } + ], + "id": 1245, + "name": "Block", + "src": "1304:525:6" + } + ], + "id": 1246, + "name": "FunctionDefinition", + "src": "1191:638:6" + } + ], + "id": 1247, + "name": "ContractDefinition", + "src": "231:1600:6" + } + ], + "id": 1248, + "name": "SourceUnit", + "src": "39:1793:6" + }, + "compiler": { + "name": "solc", + "version": "0.6.8+commit.0bbfe453.Emscripten.clang" + }, + "networks": { + "97": { + "events": {}, + "links": {}, + "address": "0x3c882355aaAd0f9644546B93dc3BaC03005d6c5b", + "transactionHash": "0x4abbbc8d63ab9ff137e7dc4384c42699c5f54221e5cda57457cbc78d5730b865" + } + }, + "schemaVersion": "3.4.4", + "updatedAt": "2022-03-21T15:23:40.174Z", + "networkType": "ethereum", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/src/assets/images/Congrats.gif b/src/assets/images/Congrats.gif new file mode 100644 index 0000000..7659b69 Binary files /dev/null and b/src/assets/images/Congrats.gif differ diff --git a/src/assets/images/loading.gif b/src/assets/images/loading.gif new file mode 100644 index 0000000..0e620e9 Binary files /dev/null and b/src/assets/images/loading.gif differ diff --git a/src/assets/images/loadingCircle.gif b/src/assets/images/loadingCircle.gif new file mode 100644 index 0000000..843d01b Binary files /dev/null and b/src/assets/images/loadingCircle.gif differ 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/allocation_merkle_output.json b/src/libs/allocation_merkle_output.json new file mode 100644 index 0000000..28a395d --- /dev/null +++ b/src/libs/allocation_merkle_output.json @@ -0,0 +1,576 @@ +{ + "merkleRoot": "0xccd11291cc4aadefe26a1089034c569c52755da080ef56d717b22be841fa47fe", + "tokenTotal": "0x08833fce922ea8c55ad0", + "claims": { + "0x08D816526BdC9d077DD685Bd9FA49F58A5Ab8e48": { + "index": 0, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xc2123911634e352d10dd4c3409a02e6f39f8ead889477c3e90b571abe60588cf", + "0x8c83fe4063e684a2083c8e7eb701f1238aa5bf98c34c695d65d0a4381b9a8434", + "0x9ba21097af8ff400d38cb238be9eea4ef89e4b31923ba34ab79381a41280b28e", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x097A3a6cE1D77a11Bda1AC40C08fDF9F6202103F": { + "index": 1, + "amount": "0x2086ac351052600000", + "proof": [ + "0xf27f44ab10b25de3c3d05e9eaaa5d70088fd0efa9b98301d0ef6854366259bb2", + "0x67e71152236605eb16dd80da1d99305130fd0dcc23d62e1b11e73c0c80de53f9", + "0xf8ea5b766cb3a14e23e3f48b86be1ec81b4e9ea6994b7e43a63538b0ab144b61", + "0x446c410a864ae3450c98f0e20dbf3901ec1d16b4a07ffb3bee7ff63a263c525d", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": false } + }, + "0x110f1C53C546Fb83FBa121033eA22551E5E07193": { + "index": 2, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x757ddbfc7281fcbe41188f060a1f9ec72e351bca9860529bae81816380b165c5", + "0xc8b2f87fda1c86d2e065a8e9db65adc980750ea4eaf86add53bdd0a5f92597d5", + "0xb3dff720246fab551e6f77082a9c118206dabca6c55240c7d201270572af8ae3", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6": { + "index": 3, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xcbe396c5cde9690754b636ab1dfbfe1331a803b54274f48feef99b7e67479f67", + "0x0b7799888b4cf1fb1b81e6c9c5cdbccec8a30fa1bdfd6d77ef699b16b24e0293", + "0x5a130dac49f491548586ece29fc5039dfae4d6eb4401392feed2afe714e0bdef", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x1c2E8EF8ae73b1A06cc822fe9FF2ECb441f79Ff8": { + "index": 4, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0x0c9ddd5cc9324f4322bf2743c6d705abed4be6b7bf4690de8471929113450216", + "0xe148154510e65ea823f5f85987490211ce5bcc18fb3801d78e70f005482cbc68", + "0x271cc6ec720243667116a191c31e1c6d1f56079805b770f1e99d9db36e854f5f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x217bA130cE2452D3793Fd524C11ddeE63898Aff7": { + "index": 5, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x8ce911a40ed4f4438e6efd7bc89ac75edf0c1dc6b8e700827578501f6280aa93", + "0x446c410a864ae3450c98f0e20dbf3901ec1d16b4a07ffb3bee7ff63a263c525d", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x3605780992537dCaae52a8dA39238D6D883b7009": { + "index": 6, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x7e306cf4f5936b49a8f01bea5cba37f674939219c1b2d69d4ad23929093f393a", + "0xc8b2f87fda1c86d2e065a8e9db65adc980750ea4eaf86add53bdd0a5f92597d5", + "0xb3dff720246fab551e6f77082a9c118206dabca6c55240c7d201270572af8ae3", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x397Aca36ab63dBc1BDAFC65A9916DCaEE6c94e60": { + "index": 7, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xa19806ae24c63474754496343532db2127c1a9c07b33bf62aabf36dbc1fed66a", + "0xed717c9c6a66f7f470fc26c67617ac623a4033c11bf5f456539aa7c4055ac3ea", + "0x8bbeb06909428e2cbbbad5f8d324e95cbc43df8f0632af7745e443a23c312d59", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x3B16821A5dBBFF86E4a88eA0621EC6be016cd79A": { + "index": 8, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x4c132a375fb189713fa00e0d378e3b4bdb5a426345ebafa3e18eba749a85c0f6", + "0x475ccd982c6b0209dc5815c256ce48acbbf3f0d33cb3a8d57255dada4e6f8897", + "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x3f3B4c780dCFC39B24B0d09b1f1f1cF133b733D5": { + "index": 9, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xa0981b56d1e205fb9b881bf6d7eeb29012da44acef9ebd34ee23e5154b64ffc1", + "0x137314bb0c81aedf9603e96cbd63da89e1c59fa986141c4fa92e669a1d52091a", + "0x68667224e630cbc2011edacca98dd61721fdb2250fe751f3125a0aa61b33166e", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x4A21Fa249086F1227F4005398035340CdB318C20": { + "index": 10, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xe1c9c2d32a1270e6e268b5cfc0e49087640d896d3dd5d75a309ac36302dd51dd", + "0x0e4a7aa1f217e3420bc1f665761213b3e7a0cb4222ae1b77b3df5ef2992024e7", + "0x2b3405be7f036b63ceea8b7d3230a9b8f51cd446465a375f10b77420229d0af3", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x54626c49ECd78B2eA5aEeCAEC82049Ca26a04028": { + "index": 11, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x15147e7471b0f84ee3d446839b5e783f772932aa04aeee73fc32441f7ab971d0", + "0xe148154510e65ea823f5f85987490211ce5bcc18fb3801d78e70f005482cbc68", + "0x271cc6ec720243667116a191c31e1c6d1f56079805b770f1e99d9db36e854f5f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x5D47C94eFdAF49C8744698F5566495Cf5206eF0e": { + "index": 12, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0x5a7984a708adf5dfe7a7a51521d6828c774a4112ad9771b17cf4cd2017a57ab8", + "0x9ead8962c6798a0c6de08565e4b856577a490da7a7e329bcb1e1abb9c970b255", + "0x79367f8f216b4fc6d89ab67d0c101e242c6051b5c3d888c50dc1fd21e19e3b41", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x5D509F653d7e4914AF9da434bF25c53Cd122763D": { + "index": 13, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xea856ace07a5240e4c97603acde351e2a66874112967ee1f3d884b5c1e2b9cb3", + "0x0ac94899dca4f39dadda159dea6fbed4bd011b78219aa6d0a06ba03b3a52de5c", + "0xf8ea5b766cb3a14e23e3f48b86be1ec81b4e9ea6994b7e43a63538b0ab144b61", + "0x446c410a864ae3450c98f0e20dbf3901ec1d16b4a07ffb3bee7ff63a263c525d", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x5a4c5d67aF023CaEa327f4b3758d3E5c3950B2c3": { + "index": 14, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0xe9312a91d6392e0cf57afa213805102717a0063efecc0dcbfdcfd56a860b1071", + "0x0e4a7aa1f217e3420bc1f665761213b3e7a0cb4222ae1b77b3df5ef2992024e7", + "0x2b3405be7f036b63ceea8b7d3230a9b8f51cd446465a375f10b77420229d0af3", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x60E7ba91afd79CE71635b9249072Bd43A63EA390": { + "index": 15, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x155b7ccf43dac6c2b36d130aae24914a9e1e6732b56c5ef5d3831039f632c706", + "0x44855114951adac910e2423938a18547d46306b9340577f317889ec59763a157", + "0x271cc6ec720243667116a191c31e1c6d1f56079805b770f1e99d9db36e854f5f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x6561155263438064FFdD5fe2481D872f7dbA95e7": { + "index": 16, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x651b90f5b00761a6af7132d65ddef4bfcc2bc7b6d9145f4f4b487be72efc8fbd", + "0x16452764ff5596312a6c0fe5cc03b8f7d00f292bbd1590493a2e3fae5ed526e5", + "0xb388fd92ae72bc6c9fd790a339a127c6e3cb0ad23962f9f1211589fe4dd50891", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x7F46BB25460dD7DAE4211Ca7f15ad312Fc7Dc75C": { + "index": 17, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x9e12f7aa2cec92ed0829eaa6c3be94b46a34266a8db7a038b6f8ceba6bac111a", + "0x137314bb0c81aedf9603e96cbd63da89e1c59fa986141c4fa92e669a1d52091a", + "0x68667224e630cbc2011edacca98dd61721fdb2250fe751f3125a0aa61b33166e", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x7FDe32A1FA7766c49620Aeb6A66Efb979078DFb7": { + "index": 18, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0x1c6277864427fbeef7b79acfc9c0e2cb6c55e18597c24574ec0c860110ca5618", + "0x44855114951adac910e2423938a18547d46306b9340577f317889ec59763a157", + "0x271cc6ec720243667116a191c31e1c6d1f56079805b770f1e99d9db36e854f5f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x7e11A24548a04033975f2C59722fE1448B985F5a": { + "index": 19, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0xc96b78a51ddf0c342866ee916cd264e2041ff5f433587940ed224e2fed814150", + "0x0b7799888b4cf1fb1b81e6c9c5cdbccec8a30fa1bdfd6d77ef699b16b24e0293", + "0x5a130dac49f491548586ece29fc5039dfae4d6eb4401392feed2afe714e0bdef", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x97209D58E75a799d41e4F5f7ACf3AA675C9053F2": { + "index": 20, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x41246ae3a67137e8fba795e2932fe2eb26499be72a89cc747dc843b629a776fc", + "0x6fac527b932afa1cd38f57c4c581bf9b93b4cebd104a3da899ca81e52f35c5e5", + "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x9A3e204bd2f012122B228FA68Bf97539dA965D3b": { + "index": 21, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x438a64fe170729c7e480ba3a601e2e0a6d8400df69dd595c715017f14a77634b", + "0x475ccd982c6b0209dc5815c256ce48acbbf3f0d33cb3a8d57255dada4e6f8897", + "0x36ee460ee28545055f0b53b83fba968034b1d1a824958d001f077d83713bfa3f", + "0x358f87814bd8e0317f99199b0fed155d0ddb61df3d3c28d694a1e0be1bfc7ed4", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0x9B82B9Ab7570Ae452D9FF5411F1bE2bad08EF4c4": { + "index": 22, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0x4d1bd4232fc641d719c5eebcf9d1a72c147e67fb513d7f640a9f2ec41b589fc6", + "0xc1d5c4b97f510437145ed3639c4e7bba718899f4d9ea024f6fa39e850c0dba38", + "0x79367f8f216b4fc6d89ab67d0c101e242c6051b5c3d888c50dc1fd21e19e3b41", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0x9f2942fF27e40445d3CB2aAD90F84C3a03574F26": { + "index": 23, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x60eccecfdde2d4a689b69c7c3c5367a5093a5fc231020f04f6ddfc620d0d4857", + "0x9ead8962c6798a0c6de08565e4b856577a490da7a7e329bcb1e1abb9c970b255", + "0x79367f8f216b4fc6d89ab67d0c101e242c6051b5c3d888c50dc1fd21e19e3b41", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xB262FA34e8Fe3b664689945C9F3830A35D30e44b": { + "index": 24, + "amount": "0x30ca024f987b900000", + "proof": [ + "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": 26, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xab86c6eb61b98db4db98a1bd1353b1a81c821403eb67b4b15509be49d12064d3", + "0x15b70b03f4011e318f4c082354fad83074af0188f0d87c344ec600c5923ddd05", + "0x8bbeb06909428e2cbbbad5f8d324e95cbc43df8f0632af7745e443a23c312d59", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xD1F55571cbB04139716a9a5076Aa69626B6df009": { + "index": 27, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0xf8d985eb13c99e05e1f132e722d1f24eae7f2937c1f95cc6d24d0468062c231b", + "0x67e71152236605eb16dd80da1d99305130fd0dcc23d62e1b11e73c0c80de53f9", + "0xf8ea5b766cb3a14e23e3f48b86be1ec81b4e9ea6994b7e43a63538b0ab144b61", + "0x446c410a864ae3450c98f0e20dbf3901ec1d16b4a07ffb3bee7ff63a263c525d", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0xE003ffaE3af3211B82b4840D27382D031Da6D027": { + "index": 28, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0xbdb980a6909131cf249fe8c8809b1372c7f8180bbb25a4c22e7f2b3f974b456c", + "0x8c83fe4063e684a2083c8e7eb701f1238aa5bf98c34c695d65d0a4381b9a8434", + "0x9ba21097af8ff400d38cb238be9eea4ef89e4b31923ba34ab79381a41280b28e", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0xE248bf601aaF6dd25532E92E72630C4f9CdB0ed7": { + "index": 29, + "amount": "0x30ca024f987b900000", + "proof": [ + "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": 31, + "amount": "0x30ca024f987b900000", + "proof": [ + "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": 33, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x71142fb64d8962bd3bb82328fa232798357342e74e69cea1f42795d6caa25499", + "0xcc0b96110d9cc467a7ca205fd773acd86a927d9240f02bd1b29cc83f77218a4a", + "0xb388fd92ae72bc6c9fd790a339a127c6e3cb0ad23962f9f1211589fe4dd50891", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xFa6863A6507c94ed52e9276F8A72479924E77a36": { + "index": 34, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x800ff49012d3ca8dcd855a6b0e0d6ea9c5f14f465dc2408595694dc9ef891665", + "0xae57cb2d25445a882979e406a05ee0bc0ef141579697a0ca86d10ee2d1b4253b", + "0xb3dff720246fab551e6f77082a9c118206dabca6c55240c7d201270572af8ae3", + "0xbc05437f141d490b77e6b9aa193cd3a6cd7c89e396fc43555fbbae6216e96881", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xa1d3C765E9A9655e8838bC4a9B16d5E6AF024321": { + "index": 35, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xdb006d3b5e7452823309a5ab6f745937807b9a2c7f9b230c5e09152ae5879a35", + "0x63c2a43ffbee8c0d6dc8f3c7888364640a14e91f64dcd16c1be30ab27899b66d", + "0x2b3405be7f036b63ceea8b7d3230a9b8f51cd446465a375f10b77420229d0af3", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xa289364347bfC1912ab672425Abe593ec01Ca56E": { + "index": 36, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xd181f976f086c1da420e9ff0c20449a79fc552d5d72958a5af9e44266073c826", + "0xed9d39f8b6d6b920a7f9b194629b18bc660cf0ad30a0fba18ccadf94855a926d", + "0x5a130dac49f491548586ece29fc5039dfae4d6eb4401392feed2afe714e0bdef", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xaCf4C2950107eF9b1C37faA1F9a866C8F0da88b9": { + "index": 37, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x6bbc64ed439bbb7fddc46c0e180a987a95d46eea9439aaa65ebf8444be21235f", + "0xcc0b96110d9cc467a7ca205fd773acd86a927d9240f02bd1b29cc83f77218a4a", + "0xb388fd92ae72bc6c9fd790a339a127c6e3cb0ad23962f9f1211589fe4dd50891", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xab2525670F881fB03A478630c5E94D0b1d8c516B": { + "index": 38, + "amount": "0x30ca1208d69308723c", + "proof": [ + "0xc717d0222448e4de619f683c6ce805bbb66c3e18dfddbe95abd4585e2fd4924f", + "0xc806361451d33e865916a51cd14848f83944909603ccc3937b43b38fb6b69073", + "0x9ba21097af8ff400d38cb238be9eea4ef89e4b31923ba34ab79381a41280b28e", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": true, "isUser": true } + }, + "0xb9B8DE4b0B7020920C0476Ff1D74D6C51AeC7796": { + "index": 39, + "amount": "0x30ca024f987b900000", + "proof": [ + "0x5338457b6194de624a6ee564a4a6022bdb5707fa4908aed04a32bc32c8032332", + "0xc1d5c4b97f510437145ed3639c4e7bba718899f4d9ea024f6fa39e850c0dba38", + "0x79367f8f216b4fc6d89ab67d0c101e242c6051b5c3d888c50dc1fd21e19e3b41", + "0x628789b073cd1c4ac94ae9b142d280f327f68bb820e13c2de0a77c403558f44f", + "0x06af0e860a701e3389da4e752390d06e62ae41c93e99171396658984fa139517", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xd1EdEC711d5Ea0B4b064B678fF4a13b2C2A5ce8b": { + "index": 40, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xf171e1a982e6a0943be10e838e8b2170219d4a4a6f9bcfea7c29290965b9f486", + "0x0ac94899dca4f39dadda159dea6fbed4bd011b78219aa6d0a06ba03b3a52de5c", + "0xf8ea5b766cb3a14e23e3f48b86be1ec81b4e9ea6994b7e43a63538b0ab144b61", + "0x446c410a864ae3450c98f0e20dbf3901ec1d16b4a07ffb3bee7ff63a263c525d", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xdC2Cf5cBFa31958ED32c3aCE696eE6Bf1A6a19f4": { + "index": 41, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xd0719687120710d3d7d500a7b59b7547248cf9c338af7697d3741bd0b1d9253a", + "0xed9d39f8b6d6b920a7f9b194629b18bc660cf0ad30a0fba18ccadf94855a926d", + "0x5a130dac49f491548586ece29fc5039dfae4d6eb4401392feed2afe714e0bdef", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xf7dBFe7dcFBA501464008554e7c5EddE8ab7B0ff": { + "index": 42, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xd24d8d7a3058c2538712c66e53dca9026b93e0c7b793ea13e99f83a66c1b7db1", + "0x63c2a43ffbee8c0d6dc8f3c7888364640a14e91f64dcd16c1be30ab27899b66d", + "0x2b3405be7f036b63ceea8b7d3230a9b8f51cd446465a375f10b77420229d0af3", + "0x082c054723183a3fec820b28cfb4d238e8c3445337d7b5530dd15157d735cd89", + "0x38cdb90dc6d9e6dd663e5802f6e977808e1bdaef0b6ee9c33f4dbc03bb8d6952" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xf8F0cB8B06B2BA827Ae8e7915deB0Cf796AeC53B": { + "index": 43, + "amount": "0x30ca024f987b900000", + "proof": [ + "0xc614deb33e07e882422a65181674c3cf0125f22a910a5cd4d052def0a40a141e", + "0xc806361451d33e865916a51cd14848f83944909603ccc3937b43b38fb6b69073", + "0x9ba21097af8ff400d38cb238be9eea4ef89e4b31923ba34ab79381a41280b28e", + "0x7958952d6910642b3a931dc9f518e7de7f6444ac3652e9859aae21f70eb8f3b9", + "0x23223a6aee95a333865151693c31503488bf15f0cec8ae61b4f06af1e0aefb6e", + "0x6200fe4ca11f263be792d50b7c2f49d82eb8f45f7506787d1595e2537fa3965c" + ], + "flags": { "isSOCKS": true, "isLP": false, "isUser": true } + }, + "0xfDE5CFf51E4ec5495a86cF8D1b1F7B915eca02E0": { + "index": 44, + "amount": "0x30ca024f987b900000", + "proof": [ + "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 new file mode 100644 index 0000000..ec7cfdf --- /dev/null +++ b/src/libs/merkleAirdrop.js @@ -0,0 +1,63 @@ +export const merkleAirdrop = { + address: '0x3c882355aaAd0f9644546B93dc3BaC03005d6c5b', + // 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(); + return new web3Client.eth.Contract( + merkleAirdrop.jsonInterface.abi, + merkleAirdrop.address, + { + gas: GasLimit, + from: accounts[0] + } + ); +} + + +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 = contract.methods.claim(info?.index,address,'900004425800983540284','0x5c5f00474e84b4057c918dde5a5f4499c126c9c3906deef7866328b73514cbbb').estimateGas({gas: GasLimit*10}); + } catch(er){ + + // eslint-disable-next-line no-console + console.error(er); + + } + if (_gasLimit < GasLimit ){ + _gasLimit = GasLimit; + } + + await contract.methods.claim(info?.index,address,amount,info?.proof).send(({ + from: address + })); +} + +// 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='0xcEC1d95e9bfFde1021B1f3C39862c6c3a5BA1A91', 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..57ba869 100644 --- a/src/libs/xdrop.js +++ b/src/libs/xdrop.js @@ -58,4 +58,4 @@ export const getReturnAmount = async (web3Client, tokenAddress='0x27a339d9b59b21 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/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/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 new file mode 100644 index 0000000..f34e598 --- /dev/null +++ b/src/pages/Xdrop.vue @@ -0,0 +1,422 @@ + + + \ 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 }); 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"