diff --git a/abi/TokenDistroV2.json b/abi/TokenDistroV2.json deleted file mode 100644 index f96b022..0000000 --- a/abi/TokenDistroV2.json +++ /dev/null @@ -1,14145 +0,0 @@ -{ - "abi": [ - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DISTRIBUTOR_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allocate", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "claim", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "allocateMany", - "inputs": [ - { - "name": "recipients", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "assign", - "inputs": [ - { - "name": "distributor", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balances", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "allocatedTokens", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "claimed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "cancelable", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "changeAddress", - "inputs": [ - { - "name": "newAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claim", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claimTo", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claimableAt", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "claimableNow", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "cliffTime", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "duration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRoleAdmin", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRoleMember", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRoleMemberCount", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTimestamp", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "globallyClaimableAt", - "inputs": [ - { - "name": "timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "grantRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "hasRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_totalTokens", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_startTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_cliffPeriod", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_duration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialPercentage", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_token", - "type": "address", - "internalType": "contract IERC20Upgradeable" - }, - { - "name": "_cancelable", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "lockedAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renounceRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokeRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sendGIVbacks", - "inputs": [ - { - "name": "recipients", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sendPraiseRewards", - "inputs": [ - { - "name": "recipients", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setDuration", - "inputs": [ - { - "name": "newDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setStartTime", - "inputs": [ - { - "name": "newStartTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startTime", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceId", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "token", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20Upgradeable" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalTokens", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferAllocation", - "inputs": [ - { - "name": "prevRecipient", - "type": "address", - "internalType": "address" - }, - { - "name": "newRecipient", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Allocate", - "inputs": [ - { - "name": "distributor", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "grantee", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Assign", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "distributor", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ChangeAddress", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Claim", - "inputs": [ - { - "name": "grantee", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DurationChanged", - "inputs": [ - { - "name": "newDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "GivBackPaid", - "inputs": [ - { - "name": "distributor", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "version", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PraiseRewardPaid", - "inputs": [ - { - "name": "distributor", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleAdminChanged", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "newAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleGranted", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleRevoked", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "StartTimeChanged", - "inputs": [ - { - "name": "newStartTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "newCliffTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50612411806100206000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80637932867711610125578063c7aaa8d4116100ad578063f0bd87cc1161007c578063f0bd87cc14610472578063f6be71d114610487578063fc0c546a1461049a578063fc1ed437146104ad578063fe64d6ff146104b657600080fd5b8063c7aaa8d414610425578063ca15c87314610438578063d547741f1461044b578063eee565641461045e57600080fd5b806391d14854116100f457806391d14854146103d15780639a78ea4a146103e4578063a217fddf146103f7578063a262f5f8146103ff578063be7604881461041257600080fd5b806379328677146103775780637e1c0c091461038a5780637effb533146103935780639010d07c146103a657600080fd5b806336568abe116101a85780635066c893116101775780635066c8931461032c5780636ab28bc81461033f5780636ca163de146103485780636d8500db1461035b57806378e979251461036e57600080fd5b806336568abe146102eb578063397f6121146102fe5780633e0a322d146103115780634e71d92d1461032457600080fd5b8063208c9327116101e4578063208c932714610264578063248a9ca31461027957806327e235e31461029c5780632f2ff15d146102d857600080fd5b806301ffc9a7146102165780630f1a64441461023e5780630fb5a6b414610255578063188ec3561461025e575b600080fd5b610229610224366004611daa565b6104c9565b60405190151581526020015b60405180910390f35b61024760cc5481565b604051908152602001610235565b61024760cd5481565b42610247565b610277610272366004611ebf565b6104f4565b005b610247610287366004611f81565b60009081526065602052604090206001015490565b6102c36102aa366004611f9a565b60c9602052600090815260409020805460019091015482565b60408051928352602083019190915201610235565b6102776102e6366004611fb7565b610536565b6102776102f9366004611fb7565b610560565b61027761030c366004611fe7565b6105e3565b61027761031f366004611f81565b6106aa565b6102776107eb565b61024761033a366004612015565b6107f6565b61024760cf5481565b61027761035636600461204f565b61095b565b610247610369366004611f81565b6109ca565b61024760cb5481565b610277610385366004611ebf565b610a50565b61024760ca5481565b6102776103a1366004611ebf565b610a5a565b6103b96103b4366004612091565b610a94565b6040516001600160a01b039091168152602001610235565b6102296103df366004611fb7565b610aac565b6102476103f2366004611f9a565b610ad7565b610247600081565b61027761040d366004611f9a565b610ae3565b610277610420366004612015565b610aef565b6102776104333660046120b3565b610c70565b610247610446366004611f81565b610f04565b610277610459366004611fb7565b610f1b565b60d05461022990600160a01b900460ff1681565b6102476000805160206123bc83398151915281565b610277610495366004611f81565b610f40565b60d0546103b9906001600160a01b031681565b61024760ce5481565b6102776104c4366004611f9a565b61104e565b60006001600160e01b03198216635a05180f60e01b14806104ee57506104ee82611058565b92915050565b6104fe828261108d565b6040513381527fba378556e3a218f9dc0332f520ed51981c0e0eb43bf8302f9559fdfe9d538181906020015b60405180910390a15050565b600082815260656020526040902060010154610551816111b8565b61055b83836111c2565b505050565b6001600160a01b03811633146105d55760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6105df82826111e4565b5050565b60d054600160a01b900460ff166106425760405162461bcd60e51b815260206004820152602f602482015260008051602061239c83398151915260448201526e204e4f545f43414e43454c41424c4560881b60648201526084016105cc565b61064d600033610aac565b6106a05760405162461bcd60e51b8152602060048201526030602482015260008051602061239c83398151915260448201526f204f4e4c595f41444d494e5f524f4c4560801b60648201526084016105cc565b6105df8282611206565b6106b5600033610aac565b6107145760405162461bcd60e51b815260206004820152602a60248201527f546f6b656e44697374726f3a3a736574537461727454696d653a204f4e4c595f60448201526941444d494e5f524f4c4560b01b60648201526084016105cc565b4260cb5411801561072457504281115b61078a5760405162461bcd60e51b815260206004820152603160248201527f546f6b656e44697374726f3a3a736574537461727454696d653a2049465f484160448201527014d7d393d517d4d5105495115117d65155607a1b60648201526084016105cc565b600060cb5460cc5461079c9190612132565b60cb83905590506107ad8183612145565b60cc81905560cb546040517fbefe8e3983c0dc663c4ba451fc82d4ff7eb2e4ccc4b944874abea1ecc841feae9261052a928252602082015260400190565b6107f4336113ed565b565b60006108106000805160206123bc83398151915284610aac565b156108835760405162461bcd60e51b815260206004820152603760248201527f546f6b656e44697374726f3a3a636c61696d61626c6541743a2044495354524960448201527f4255544f525f524f4c455f43414e4e4f545f434c41494d00000000000000000060648201526084016105cc565b428210156108ee5760405162461bcd60e51b815260206004820152603260248201527f546f6b656e44697374726f3a3a636c61696d61626c6541743a204e4f545f564160448201527104c49445f504153545f54494d455354414d560741b60648201526084016105cc565b60ca546001600160a01b038416600090815260c96020526040812054909190610916856109ca565b6109209190612158565b61092a919061216f565b6001600160a01b038516600090815260c960205260409020600101549091506109539082612132565b949350505050565b6109736000805160206123bc83398151915233610aac565b61098f5760405162461bcd60e51b81526004016105cc90612191565b33600090815260c96020526040902060010154156109bf5760405162461bcd60e51b81526004016105cc906121e4565b61055b8383836114fe565b600060cb548210156109de57506000919050565b60cc548210156109f057505060ce5490565b60cd5460cb54610a009190612145565b821115610a0f57505060ca5490565b600060cb5483610a1f9190612132565b905060cd5460cf5482610a329190612158565b610a3c919061216f565b60ce54610a499190612145565b9392505050565b6105df828261108d565b610a64828261108d565b6040513381527f501554fe9eb720f094fa1c09c71f38933a18b834045c8afd91a329cf38021d1c9060200161052a565b6000828152609760205260408120610a49908361164b565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60006104ee82426107f6565b610aec816113ed565b50565b610afa600033610aac565b610b525760405162461bcd60e51b8152602060048201526024808201527f546f6b656e44697374726f3a3a61737369676e3a204f4e4c595f41444d494e5f604482015263524f4c4560e01b60648201526084016105cc565b610b6a6000805160206123bc83398151915283610aac565b610bcc5760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e44697374726f3a3a61737369676e3a204f4e4c595f544f5f44495360448201526c5452494255544f525f524f4c4560981b60648201526084016105cc565b30600090815260c96020526040902054610be7908290612132565b30600090815260c96020526040808220929092556001600160a01b03841681522054610c14908290612145565b6001600160a01b038316600081815260c960205260409081902092909255905133907e7ae6a979e5d8177867f7c1ca4be1527487a2e43a444b55c3dfaee02c42354490610c649085815260200190565b60405180910390a35050565b600054610100900460ff1615808015610c905750600054600160ff909116105b80610caa5750303b158015610caa575060005460ff166001145b610d0d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105cc565b6000805460ff191660011790558015610d30576000805461ff0019166101001790555b85851015610d9b5760405162461bcd60e51b815260206004820152603260248201527f546f6b656e44697374726f3a3a636f6e7374727563746f723a2044555241544960448201527127a72fa622a9a9afaa2420a72fa1a624a32360711b60648201526084016105cc565b612710841115610e135760405162461bcd60e51b815260206004820152603c60248201527f546f6b656e44697374726f3a3a636f6e7374727563746f723a20494e4954494160448201527f4c50455243454e544147455f475245415445525f5448414e5f3130300000000060648201526084016105cc565b610e1b611657565b610e266000336116c2565b6000612710610e35868b612158565b610e3f919061216f565b60d080546001600160a01b0319166001600160a01b03871617905560cd87905560cb89905560ca8a905560ce8190559050610e7a8789612145565b60cc55610e87818a612132565b60cf555030600090815260c96020526040902088905560d0805460ff60a01b1916600160a01b841515021790558015610efa576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008181526097602052604081206104ee906116cc565b600082815260656020526040902060010154610f36816111b8565b61055b83836111e4565b610f4b600033610aac565b610fa95760405162461bcd60e51b815260206004820152602960248201527f546f6b656e44697374726f3a3a7365744475726174696f6e3a204f4e4c595f41604482015268444d494e5f524f4c4560b81b60648201526084016105cc565b4260cb54116110135760405162461bcd60e51b815260206004820152603060248201527f546f6b656e44697374726f3a3a7365744475726174696f6e3a2049465f48415360448201526f17d393d517d4d5105495115117d6515560821b60648201526084016105cc565b60cd8190556040518181527f9bb10695bde7db94333a5404f0767118f3965fd73217e45f96529c3d368285af9060200160405180910390a150565b610aec3382611206565b60006001600160e01b03198216637965db0b60e01b14806104ee57506301ffc9a760e01b6001600160e01b03198316146104ee565b6110a56000805160206123bc83398151915233610aac565b6110c15760405162461bcd60e51b81526004016105cc90612191565b33600090815260c96020526040902060010154156110f15760405162461bcd60e51b81526004016105cc906121e4565b805182511461115c5760405162461bcd60e51b815260206004820152603160248201527f546f6b656e44697374726f3a3a616c6c6f636174654d616e793a20494e5055546044820152700be988a9c8ea890be9c9ea8be9a82a8869607b1b60648201526084016105cc565b60005b825181101561055b576111a683828151811061117d5761117d61223a565b60200260200101518383815181106111975761119761223a565b602002602001015160006114fe565b806111b081612250565b91505061115f565b610aec81336116d6565b6111cc828261172f565b600082815260976020526040902061055b90826117b5565b6111ee82826117ca565b600082815260976020526040902061055b9082611831565b6001600160a01b038216600090815260c9602052604090205461127f5760405162461bcd60e51b815260206004820152603a602482015260008051602061239c83398151915260448201527f204e4f5f414c4c4f434154494f4e5f544f5f5452414e5346455200000000000060648201526084016105cc565b6112976000805160206123bc83398151915283610aac565b1580156112b957506112b76000805160206123bc83398151915282610aac565b155b6113275760405162461bcd60e51b8152602060048201526045602482015260008051602061239c83398151915260448201527f204449535452494255544f525f524f4c455f4e4f545f415f56414c49445f4144606482015264445245535360d81b608482015260a4016105cc565b6001600160a01b03808216600090815260c960205260408082205492851682529020546113549190612145565b6001600160a01b03828116600090815260c96020526040808220938455918516815290812090815560019182015491015461138f9190612145565b6001600160a01b03808316600081815260c9602052604080822060019081019590955592861680825283822090940181905591519092917f8839b4e99cbac9b99de60313e9f1679f46d6837a692b8c052bf0bd6cacb19c7991a35050565b60006113f882610ad7565b9050600081116114615760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e44697374726f3a3a636c61696d3a204e4f545f454e4f5547485f5460448201526d4f4b454e535f544f5f434c41494d60901b60648201526084016105cc565b6001600160a01b038216600090815260c96020526040902060010154611488908290612145565b6001600160a01b03808416600090815260c9602052604090206001019190915560d0546114b791168383611846565b816001600160a01b03167f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4826040516114f291815260200190565b60405180910390a25050565b6115166000805160206123bc83398151915284610aac565b156115825760405162461bcd60e51b815260206004820152603660248201527f546f6b656e44697374726f3a3a616c6c6f636174653a2044495354524942555460448201527513d497d393d517d59053125117d49150d2541251539560521b60648201526084016105cc565b33600090815260c9602052604090205461159d908390612132565b33600090815260c96020526040808220929092556001600160a01b038516815220546115ca908390612145565b6001600160a01b038416600090815260c960205260409020558080156115f8575060006115f684610ad7565b115b1561160657611606836113ed565b6040518281526001600160a01b0384169033907f5168bfb88d6125d4580e2b91ecb103a730312c3e8b0be9c4031a0fc794e2cd5f9060200160405180910390a3505050565b6000610a498383611898565b600054610100900460ff166107f45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105cc565b6105df82826111c2565b60006104ee825490565b6116e08282610aac565b6105df576116ed816118c2565b6116f88360206118d4565b60405160200161170992919061228d565b60408051601f198184030181529082905262461bcd60e51b82526105cc91600401612302565b6117398282610aac565b6105df5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556117713390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610a49836001600160a01b038416611a70565b6117d48282610aac565b156105df5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610a49836001600160a01b038416611abf565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261055b908490611bb2565b60008260000182815481106118af576118af61223a565b9060005260206000200154905092915050565b60606104ee6001600160a01b03831660145b606060006118e3836002612158565b6118ee906002612145565b67ffffffffffffffff81111561190657611906611dd4565b6040519080825280601f01601f191660200182016040528015611930576020820181803683370190505b509050600360fc1b8160008151811061194b5761194b61223a565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061197a5761197a61223a565b60200101906001600160f81b031916908160001a905350600061199e846002612158565b6119a9906001612145565b90505b6001811115611a21576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106119dd576119dd61223a565b1a60f81b8282815181106119f3576119f361223a565b60200101906001600160f81b031916908160001a90535060049490941c93611a1a81612335565b90506119ac565b508315610a495760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105cc565b6000818152600183016020526040812054611ab7575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104ee565b5060006104ee565b60008181526001830160205260408120548015611ba8576000611ae3600183612132565b8554909150600090611af790600190612132565b9050818114611b5c576000866000018281548110611b1757611b1761223a565b9060005260206000200154905080876000018481548110611b3a57611b3a61223a565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611b6d57611b6d61234c565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104ee565b60009150506104ee565b6000611c07826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c879092919063ffffffff16565b9050805160001480611c28575080806020019051810190611c289190612362565b61055b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105cc565b6060610953848460008585600080866001600160a01b03168587604051611cae919061237f565b60006040518083038185875af1925050503d8060008114611ceb576040519150601f19603f3d011682016040523d82523d6000602084013e611cf0565b606091505b5091509150611d0187838387611d0c565b979650505050505050565b60608315611d7b578251600003611d74576001600160a01b0385163b611d745760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105cc565b5081610953565b6109538383815115611d905781518083602001fd5b8060405162461bcd60e51b81526004016105cc9190612302565b600060208284031215611dbc57600080fd5b81356001600160e01b031981168114610a4957600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611e1357611e13611dd4565b604052919050565b600067ffffffffffffffff821115611e3557611e35611dd4565b5060051b60200190565b6001600160a01b0381168114610aec57600080fd5b600082601f830112611e6557600080fd5b81356020611e7a611e7583611e1b565b611dea565b82815260059290921b84018101918181019086841115611e9957600080fd5b8286015b84811015611eb45780358352918301918301611e9d565b509695505050505050565b60008060408385031215611ed257600080fd5b823567ffffffffffffffff80821115611eea57600080fd5b818501915085601f830112611efe57600080fd5b81356020611f0e611e7583611e1b565b82815260059290921b84018101918181019089841115611f2d57600080fd5b948201945b83861015611f54578535611f4581611e3f565b82529482019490820190611f32565b96505086013592505080821115611f6a57600080fd5b50611f7785828601611e54565b9150509250929050565b600060208284031215611f9357600080fd5b5035919050565b600060208284031215611fac57600080fd5b8135610a4981611e3f565b60008060408385031215611fca57600080fd5b823591506020830135611fdc81611e3f565b809150509250929050565b60008060408385031215611ffa57600080fd5b823561200581611e3f565b91506020830135611fdc81611e3f565b6000806040838503121561202857600080fd5b823561203381611e3f565b946020939093013593505050565b8015158114610aec57600080fd5b60008060006060848603121561206457600080fd5b833561206f81611e3f565b925060208401359150604084013561208681612041565b809150509250925092565b600080604083850312156120a457600080fd5b50508035926020909101359150565b600080600080600080600060e0888a0312156120ce57600080fd5b873596506020880135955060408801359450606088013593506080880135925060a08801356120fc81611e3f565b915060c088013561210c81612041565b8091505092959891949750929550565b634e487b7160e01b600052601160045260246000fd5b818103818111156104ee576104ee61211c565b808201808211156104ee576104ee61211c565b80820281158282048414176104ee576104ee61211c565b60008261218c57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526033908201527f546f6b656e44697374726f3a3a6f6e6c794469737472696275746f723a204f4e6040820152724c595f4449535452494255544f525f524f4c4560681b606082015260800190565b60208082526036908201527f546f6b656e44697374726f3a3a6f6e6c794469737472696275746f723a204449604082015275535452494255544f525f43414e4e4f545f434c41494d60501b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000600182016122625761226261211c565b5060010190565b60005b8381101561228457818101518382015260200161226c565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516122c5816017850160208801612269565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516122f6816028840160208801612269565b01602801949350505050565b6020815260008251806020840152612321816040850160208701612269565b601f01601f19169190910160400192915050565b6000816123445761234461211c565b506000190190565b634e487b7160e01b600052603160045260246000fd5b60006020828403121561237457600080fd5b8151610a4981612041565b60008251612391818460208701612269565b919091019291505056fe546f6b656e44697374726f3a3a7472616e73666572416c6c6f636174696f6e3afbd454f36a7e1a388bd6fc3ab10d434aa4578f811acbbcf33afb1c697486313ca264697066735822122083460a86a132c3a960645bee8759eeabadd0aa2faad5a25bc8f7020c3cdd4d9264736f6c63430008140033", - "sourceMap": "732:13309:1:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106102115760003560e01c80637932867711610125578063c7aaa8d4116100ad578063f0bd87cc1161007c578063f0bd87cc14610472578063f6be71d114610487578063fc0c546a1461049a578063fc1ed437146104ad578063fe64d6ff146104b657600080fd5b8063c7aaa8d414610425578063ca15c87314610438578063d547741f1461044b578063eee565641461045e57600080fd5b806391d14854116100f457806391d14854146103d15780639a78ea4a146103e4578063a217fddf146103f7578063a262f5f8146103ff578063be7604881461041257600080fd5b806379328677146103775780637e1c0c091461038a5780637effb533146103935780639010d07c146103a657600080fd5b806336568abe116101a85780635066c893116101775780635066c8931461032c5780636ab28bc81461033f5780636ca163de146103485780636d8500db1461035b57806378e979251461036e57600080fd5b806336568abe146102eb578063397f6121146102fe5780633e0a322d146103115780634e71d92d1461032457600080fd5b8063208c9327116101e4578063208c932714610264578063248a9ca31461027957806327e235e31461029c5780632f2ff15d146102d857600080fd5b806301ffc9a7146102165780630f1a64441461023e5780630fb5a6b414610255578063188ec3561461025e575b600080fd5b610229610224366004611daa565b6104c9565b60405190151581526020015b60405180910390f35b61024760cc5481565b604051908152602001610235565b61024760cd5481565b42610247565b610277610272366004611ebf565b6104f4565b005b610247610287366004611f81565b60009081526065602052604090206001015490565b6102c36102aa366004611f9a565b60c9602052600090815260409020805460019091015482565b60408051928352602083019190915201610235565b6102776102e6366004611fb7565b610536565b6102776102f9366004611fb7565b610560565b61027761030c366004611fe7565b6105e3565b61027761031f366004611f81565b6106aa565b6102776107eb565b61024761033a366004612015565b6107f6565b61024760cf5481565b61027761035636600461204f565b61095b565b610247610369366004611f81565b6109ca565b61024760cb5481565b610277610385366004611ebf565b610a50565b61024760ca5481565b6102776103a1366004611ebf565b610a5a565b6103b96103b4366004612091565b610a94565b6040516001600160a01b039091168152602001610235565b6102296103df366004611fb7565b610aac565b6102476103f2366004611f9a565b610ad7565b610247600081565b61027761040d366004611f9a565b610ae3565b610277610420366004612015565b610aef565b6102776104333660046120b3565b610c70565b610247610446366004611f81565b610f04565b610277610459366004611fb7565b610f1b565b60d05461022990600160a01b900460ff1681565b6102476000805160206123bc83398151915281565b610277610495366004611f81565b610f40565b60d0546103b9906001600160a01b031681565b61024760ce5481565b6102776104c4366004611f9a565b61104e565b60006001600160e01b03198216635a05180f60e01b14806104ee57506104ee82611058565b92915050565b6104fe828261108d565b6040513381527fba378556e3a218f9dc0332f520ed51981c0e0eb43bf8302f9559fdfe9d538181906020015b60405180910390a15050565b600082815260656020526040902060010154610551816111b8565b61055b83836111c2565b505050565b6001600160a01b03811633146105d55760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6105df82826111e4565b5050565b60d054600160a01b900460ff166106425760405162461bcd60e51b815260206004820152602f602482015260008051602061239c83398151915260448201526e204e4f545f43414e43454c41424c4560881b60648201526084016105cc565b61064d600033610aac565b6106a05760405162461bcd60e51b8152602060048201526030602482015260008051602061239c83398151915260448201526f204f4e4c595f41444d494e5f524f4c4560801b60648201526084016105cc565b6105df8282611206565b6106b5600033610aac565b6107145760405162461bcd60e51b815260206004820152602a60248201527f546f6b656e44697374726f3a3a736574537461727454696d653a204f4e4c595f60448201526941444d494e5f524f4c4560b01b60648201526084016105cc565b4260cb5411801561072457504281115b61078a5760405162461bcd60e51b815260206004820152603160248201527f546f6b656e44697374726f3a3a736574537461727454696d653a2049465f484160448201527014d7d393d517d4d5105495115117d65155607a1b60648201526084016105cc565b600060cb5460cc5461079c9190612132565b60cb83905590506107ad8183612145565b60cc81905560cb546040517fbefe8e3983c0dc663c4ba451fc82d4ff7eb2e4ccc4b944874abea1ecc841feae9261052a928252602082015260400190565b6107f4336113ed565b565b60006108106000805160206123bc83398151915284610aac565b156108835760405162461bcd60e51b815260206004820152603760248201527f546f6b656e44697374726f3a3a636c61696d61626c6541743a2044495354524960448201527f4255544f525f524f4c455f43414e4e4f545f434c41494d00000000000000000060648201526084016105cc565b428210156108ee5760405162461bcd60e51b815260206004820152603260248201527f546f6b656e44697374726f3a3a636c61696d61626c6541743a204e4f545f564160448201527104c49445f504153545f54494d455354414d560741b60648201526084016105cc565b60ca546001600160a01b038416600090815260c96020526040812054909190610916856109ca565b6109209190612158565b61092a919061216f565b6001600160a01b038516600090815260c960205260409020600101549091506109539082612132565b949350505050565b6109736000805160206123bc83398151915233610aac565b61098f5760405162461bcd60e51b81526004016105cc90612191565b33600090815260c96020526040902060010154156109bf5760405162461bcd60e51b81526004016105cc906121e4565b61055b8383836114fe565b600060cb548210156109de57506000919050565b60cc548210156109f057505060ce5490565b60cd5460cb54610a009190612145565b821115610a0f57505060ca5490565b600060cb5483610a1f9190612132565b905060cd5460cf5482610a329190612158565b610a3c919061216f565b60ce54610a499190612145565b9392505050565b6105df828261108d565b610a64828261108d565b6040513381527f501554fe9eb720f094fa1c09c71f38933a18b834045c8afd91a329cf38021d1c9060200161052a565b6000828152609760205260408120610a49908361164b565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60006104ee82426107f6565b610aec816113ed565b50565b610afa600033610aac565b610b525760405162461bcd60e51b8152602060048201526024808201527f546f6b656e44697374726f3a3a61737369676e3a204f4e4c595f41444d494e5f604482015263524f4c4560e01b60648201526084016105cc565b610b6a6000805160206123bc83398151915283610aac565b610bcc5760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e44697374726f3a3a61737369676e3a204f4e4c595f544f5f44495360448201526c5452494255544f525f524f4c4560981b60648201526084016105cc565b30600090815260c96020526040902054610be7908290612132565b30600090815260c96020526040808220929092556001600160a01b03841681522054610c14908290612145565b6001600160a01b038316600081815260c960205260409081902092909255905133907e7ae6a979e5d8177867f7c1ca4be1527487a2e43a444b55c3dfaee02c42354490610c649085815260200190565b60405180910390a35050565b600054610100900460ff1615808015610c905750600054600160ff909116105b80610caa5750303b158015610caa575060005460ff166001145b610d0d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105cc565b6000805460ff191660011790558015610d30576000805461ff0019166101001790555b85851015610d9b5760405162461bcd60e51b815260206004820152603260248201527f546f6b656e44697374726f3a3a636f6e7374727563746f723a2044555241544960448201527127a72fa622a9a9afaa2420a72fa1a624a32360711b60648201526084016105cc565b612710841115610e135760405162461bcd60e51b815260206004820152603c60248201527f546f6b656e44697374726f3a3a636f6e7374727563746f723a20494e4954494160448201527f4c50455243454e544147455f475245415445525f5448414e5f3130300000000060648201526084016105cc565b610e1b611657565b610e266000336116c2565b6000612710610e35868b612158565b610e3f919061216f565b60d080546001600160a01b0319166001600160a01b03871617905560cd87905560cb89905560ca8a905560ce8190559050610e7a8789612145565b60cc55610e87818a612132565b60cf555030600090815260c96020526040902088905560d0805460ff60a01b1916600160a01b841515021790558015610efa576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008181526097602052604081206104ee906116cc565b600082815260656020526040902060010154610f36816111b8565b61055b83836111e4565b610f4b600033610aac565b610fa95760405162461bcd60e51b815260206004820152602960248201527f546f6b656e44697374726f3a3a7365744475726174696f6e3a204f4e4c595f41604482015268444d494e5f524f4c4560b81b60648201526084016105cc565b4260cb54116110135760405162461bcd60e51b815260206004820152603060248201527f546f6b656e44697374726f3a3a7365744475726174696f6e3a2049465f48415360448201526f17d393d517d4d5105495115117d6515560821b60648201526084016105cc565b60cd8190556040518181527f9bb10695bde7db94333a5404f0767118f3965fd73217e45f96529c3d368285af9060200160405180910390a150565b610aec3382611206565b60006001600160e01b03198216637965db0b60e01b14806104ee57506301ffc9a760e01b6001600160e01b03198316146104ee565b6110a56000805160206123bc83398151915233610aac565b6110c15760405162461bcd60e51b81526004016105cc90612191565b33600090815260c96020526040902060010154156110f15760405162461bcd60e51b81526004016105cc906121e4565b805182511461115c5760405162461bcd60e51b815260206004820152603160248201527f546f6b656e44697374726f3a3a616c6c6f636174654d616e793a20494e5055546044820152700be988a9c8ea890be9c9ea8be9a82a8869607b1b60648201526084016105cc565b60005b825181101561055b576111a683828151811061117d5761117d61223a565b60200260200101518383815181106111975761119761223a565b602002602001015160006114fe565b806111b081612250565b91505061115f565b610aec81336116d6565b6111cc828261172f565b600082815260976020526040902061055b90826117b5565b6111ee82826117ca565b600082815260976020526040902061055b9082611831565b6001600160a01b038216600090815260c9602052604090205461127f5760405162461bcd60e51b815260206004820152603a602482015260008051602061239c83398151915260448201527f204e4f5f414c4c4f434154494f4e5f544f5f5452414e5346455200000000000060648201526084016105cc565b6112976000805160206123bc83398151915283610aac565b1580156112b957506112b76000805160206123bc83398151915282610aac565b155b6113275760405162461bcd60e51b8152602060048201526045602482015260008051602061239c83398151915260448201527f204449535452494255544f525f524f4c455f4e4f545f415f56414c49445f4144606482015264445245535360d81b608482015260a4016105cc565b6001600160a01b03808216600090815260c960205260408082205492851682529020546113549190612145565b6001600160a01b03828116600090815260c96020526040808220938455918516815290812090815560019182015491015461138f9190612145565b6001600160a01b03808316600081815260c9602052604080822060019081019590955592861680825283822090940181905591519092917f8839b4e99cbac9b99de60313e9f1679f46d6837a692b8c052bf0bd6cacb19c7991a35050565b60006113f882610ad7565b9050600081116114615760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e44697374726f3a3a636c61696d3a204e4f545f454e4f5547485f5460448201526d4f4b454e535f544f5f434c41494d60901b60648201526084016105cc565b6001600160a01b038216600090815260c96020526040902060010154611488908290612145565b6001600160a01b03808416600090815260c9602052604090206001019190915560d0546114b791168383611846565b816001600160a01b03167f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4826040516114f291815260200190565b60405180910390a25050565b6115166000805160206123bc83398151915284610aac565b156115825760405162461bcd60e51b815260206004820152603660248201527f546f6b656e44697374726f3a3a616c6c6f636174653a2044495354524942555460448201527513d497d393d517d59053125117d49150d2541251539560521b60648201526084016105cc565b33600090815260c9602052604090205461159d908390612132565b33600090815260c96020526040808220929092556001600160a01b038516815220546115ca908390612145565b6001600160a01b038416600090815260c960205260409020558080156115f8575060006115f684610ad7565b115b1561160657611606836113ed565b6040518281526001600160a01b0384169033907f5168bfb88d6125d4580e2b91ecb103a730312c3e8b0be9c4031a0fc794e2cd5f9060200160405180910390a3505050565b6000610a498383611898565b600054610100900460ff166107f45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105cc565b6105df82826111c2565b60006104ee825490565b6116e08282610aac565b6105df576116ed816118c2565b6116f88360206118d4565b60405160200161170992919061228d565b60408051601f198184030181529082905262461bcd60e51b82526105cc91600401612302565b6117398282610aac565b6105df5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556117713390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610a49836001600160a01b038416611a70565b6117d48282610aac565b156105df5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610a49836001600160a01b038416611abf565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261055b908490611bb2565b60008260000182815481106118af576118af61223a565b9060005260206000200154905092915050565b60606104ee6001600160a01b03831660145b606060006118e3836002612158565b6118ee906002612145565b67ffffffffffffffff81111561190657611906611dd4565b6040519080825280601f01601f191660200182016040528015611930576020820181803683370190505b509050600360fc1b8160008151811061194b5761194b61223a565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061197a5761197a61223a565b60200101906001600160f81b031916908160001a905350600061199e846002612158565b6119a9906001612145565b90505b6001811115611a21576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106119dd576119dd61223a565b1a60f81b8282815181106119f3576119f361223a565b60200101906001600160f81b031916908160001a90535060049490941c93611a1a81612335565b90506119ac565b508315610a495760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105cc565b6000818152600183016020526040812054611ab7575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104ee565b5060006104ee565b60008181526001830160205260408120548015611ba8576000611ae3600183612132565b8554909150600090611af790600190612132565b9050818114611b5c576000866000018281548110611b1757611b1761223a565b9060005260206000200154905080876000018481548110611b3a57611b3a61223a565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611b6d57611b6d61234c565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104ee565b60009150506104ee565b6000611c07826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c879092919063ffffffff16565b9050805160001480611c28575080806020019051810190611c289190612362565b61055b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105cc565b6060610953848460008585600080866001600160a01b03168587604051611cae919061237f565b60006040518083038185875af1925050503d8060008114611ceb576040519150601f19603f3d011682016040523d82523d6000602084013e611cf0565b606091505b5091509150611d0187838387611d0c565b979650505050505050565b60608315611d7b578251600003611d74576001600160a01b0385163b611d745760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105cc565b5081610953565b6109538383815115611d905781518083602001fd5b8060405162461bcd60e51b81526004016105cc9190612302565b600060208284031215611dbc57600080fd5b81356001600160e01b031981168114610a4957600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611e1357611e13611dd4565b604052919050565b600067ffffffffffffffff821115611e3557611e35611dd4565b5060051b60200190565b6001600160a01b0381168114610aec57600080fd5b600082601f830112611e6557600080fd5b81356020611e7a611e7583611e1b565b611dea565b82815260059290921b84018101918181019086841115611e9957600080fd5b8286015b84811015611eb45780358352918301918301611e9d565b509695505050505050565b60008060408385031215611ed257600080fd5b823567ffffffffffffffff80821115611eea57600080fd5b818501915085601f830112611efe57600080fd5b81356020611f0e611e7583611e1b565b82815260059290921b84018101918181019089841115611f2d57600080fd5b948201945b83861015611f54578535611f4581611e3f565b82529482019490820190611f32565b96505086013592505080821115611f6a57600080fd5b50611f7785828601611e54565b9150509250929050565b600060208284031215611f9357600080fd5b5035919050565b600060208284031215611fac57600080fd5b8135610a4981611e3f565b60008060408385031215611fca57600080fd5b823591506020830135611fdc81611e3f565b809150509250929050565b60008060408385031215611ffa57600080fd5b823561200581611e3f565b91506020830135611fdc81611e3f565b6000806040838503121561202857600080fd5b823561203381611e3f565b946020939093013593505050565b8015158114610aec57600080fd5b60008060006060848603121561206457600080fd5b833561206f81611e3f565b925060208401359150604084013561208681612041565b809150509250925092565b600080604083850312156120a457600080fd5b50508035926020909101359150565b600080600080600080600060e0888a0312156120ce57600080fd5b873596506020880135955060408801359450606088013593506080880135925060a08801356120fc81611e3f565b915060c088013561210c81612041565b8091505092959891949750929550565b634e487b7160e01b600052601160045260246000fd5b818103818111156104ee576104ee61211c565b808201808211156104ee576104ee61211c565b80820281158282048414176104ee576104ee61211c565b60008261218c57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526033908201527f546f6b656e44697374726f3a3a6f6e6c794469737472696275746f723a204f4e6040820152724c595f4449535452494255544f525f524f4c4560681b606082015260800190565b60208082526036908201527f546f6b656e44697374726f3a3a6f6e6c794469737472696275746f723a204449604082015275535452494255544f525f43414e4e4f545f434c41494d60501b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000600182016122625761226261211c565b5060010190565b60005b8381101561228457818101518382015260200161226c565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516122c5816017850160208801612269565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516122f6816028840160208801612269565b01602801949350505050565b6020815260008251806020840152612321816040850160208701612269565b601f01601f19169190910160400192915050565b6000816123445761234461211c565b506000190190565b634e487b7160e01b600052603160045260246000fd5b60006020828403121561237457600080fd5b8151610a4981612041565b60008251612391818460208701612269565b919091019291505056fe546f6b656e44697374726f3a3a7472616e73666572416c6c6f636174696f6e3afbd454f36a7e1a388bd6fc3ab10d434aa4578f811acbbcf33afb1c697486313ca264697066735822122083460a86a132c3a960645bee8759eeabadd0aa2faad5a25bc8f7020c3cdd4d9264736f6c63430008140033", - "sourceMap": "732:13309:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;962:223:27;;;;;;:::i;:::-;;:::i;:::-;;;470:14:59;;463:22;445:41;;433:2;418:18;962:223:27;;;;;;;;1492:24:1;;;;;;;;;643:25:59;;;631:2;616:18;1492:24:1;497:177:59;1583:23:1;;;;;;9739:110;9827:15;9739:110;;9063:185;;;;;;:::i;:::-;;:::i;:::-;;4834:129:28;;;;;;:::i;:::-;4908:7;4934:12;;;:6;:12;;;;;:22;;;;4834:129;1222:49:1;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;4095:25:59;;;4151:2;4136:18;;4129:34;;;;4068:18;1222:49:1;3921:248:59;5259:145:28;;;;;;:::i;:::-;;:::i;6368:214::-;;;;;;:::i;:::-;;:::i;11843:347:1:-;;;;;;:::i;:::-;;:::i;4707:530::-;;;;;;:::i;:::-;;:::i;6882:70::-;;;:::i;10670:501::-;;;;;;:::i;:::-;;:::i;1702:27::-;;;;;;7804:151;;;;;;:::i;:::-;;:::i;10070:384::-;;;;;;:::i;:::-;;:::i;1414:24::-;;;;;;8721:146;;;;;;:::i;:::-;;:::i;1340:35::-;;;;;;8873:184;;;;;;:::i;:::-;;:::i;1770:151:27:-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;6387:32:59;;;6369:51;;6357:2;6342:18;1770:151:27;6223:203:59;3329:145:28;;;;;;:::i;:::-;;:::i;11331:142:1:-;;;;;;:::i;:::-;;:::i;2299:49:28:-;;2344:4;2299:49;;6422:308:1;;;;;;:::i;:::-;;:::i;5736:534::-;;;;;;:::i;:::-;;:::i;3477:1006::-;;;;;;:::i;:::-;;:::i;2089:140:27:-;;;;;;:::i;:::-;;:::i;5684:147:28:-;;;;;;:::i;:::-;;:::i;1855:22:1:-;;;;;-1:-1:-1;;;1855:22:1;;;;;;959:109;;-1:-1:-1;;;;;;;;;;;959:109:1;;12798:334;;;;;;:::i;:::-;;:::i;1793:30::-;;;;;-1:-1:-1;;;;;1793:30:1;;;1612:28;;;;;;9536:121;;;;;;:::i;:::-;;:::i;962:223:27:-;1047:4;-1:-1:-1;;;;;;1070:68:27;;-1:-1:-1;;;1070:68:27;;:108;;;1142:36;1166:11;1142:23;:36::i;:::-;1063:115;962:223;-1:-1:-1;;962:223:27:o;9063:185:1:-;9164:34;9178:10;9190:7;9164:13;:34::i;:::-;9213:28;;9230:10;6369:51:59;;9213:28:1;;6357:2:59;6342:18;9213:28:1;;;;;;;;9063:185;;:::o;5259:145:28:-;4908:7;4934:12;;;:6;:12;;;;;:22;;;2777:16;2788:4;2777:10;:16::i;:::-;5372:25:::1;5383:4;5389:7;5372:10;:25::i;:::-;5259:145:::0;;;:::o;6368:214::-;-1:-1:-1;;;;;6463:23:28;;929:10:36;6463:23:28;6455:83;;;;-1:-1:-1;;;6455:83:28;;7626:2:59;6455:83:28;;;7608:21:59;7665:2;7645:18;;;7638:30;7704:34;7684:18;;;7677:62;-1:-1:-1;;;7755:18:59;;;7748:45;7810:19;;6455:83:28;;;;;;;;;6549:26;6561:4;6567:7;6549:11;:26::i;:::-;6368:214;;:::o;11843:347:1:-;11952:10;;-1:-1:-1;;;11952:10:1;;;;11944:70;;;;-1:-1:-1;;;11944:70:1;;8042:2:59;11944:70:1;;;8024:21:59;8081:2;8061:18;;;8054:30;-1:-1:-1;;;;;;;;;;;8100:18:59;;;8093:62;-1:-1:-1;;;8171:18:59;;;8164:45;8226:19;;11944:70:1;7840:411:59;11944:70:1;12033:39;2344:4:28;12061:10:1;12033:7;:39::i;:::-;12025:100;;;;-1:-1:-1;;;12025:100:1;;8458:2:59;12025:100:1;;;8440:21:59;8497:2;8477:18;;;8470:30;-1:-1:-1;;;;;;;;;;;8516:18:59;;;8509:62;-1:-1:-1;;;8587:18:59;;;8580:46;8643:19;;12025:100:1;8256:412:59;12025:100:1;12135:48;12155:13;12170:12;12135:19;:48::i;4707:530::-;4787:39;2344:4:28;4815:10:1;4787:7;:39::i;:::-;4779:94;;;;-1:-1:-1;;;4779:94:1;;8875:2:59;4779:94:1;;;8857:21:59;8914:2;8894:18;;;8887:30;8953:34;8933:18;;;8926:62;-1:-1:-1;;;9004:18:59;;;8997:40;9054:19;;4779:94:1;8673:406:59;4779:94:1;9827:15;4904:9;;:26;:59;;;;-1:-1:-1;9827:15:1;4934:12;:29;4904:59;4883:155;;;;-1:-1:-1;;;4883:155:1;;9286:2:59;4883:155:1;;;9268:21:59;9325:2;9305:18;;;9298:30;9364:34;9344:18;;;9337:62;-1:-1:-1;;;9415:18:59;;;9408:47;9472:19;;4883:155:1;9084:413:59;4883:155:1;5049:20;5084:9;;5072;;:21;;;;:::i;:::-;5103:9;:24;;;5049:44;-1:-1:-1;5149:27:1;5049:44;5115:12;5149:27;:::i;:::-;5137:9;:39;;;5209:9;;5192:38;;;;;;4095:25:59;;4151:2;4136:18;;4129:34;4083:2;4068:18;;3921:248;6882:70:1;6927:18;6934:10;6927:6;:18::i;:::-;6882:70::o;10670:501::-;10759:7;10787:36;-1:-1:-1;;;;;;;;;;;10813:9:1;10787:7;:36::i;:::-;10786:37;10778:105;;;;-1:-1:-1;;;10778:105:1;;10099:2:59;10778:105:1;;;10081:21:59;10138:2;10118:18;;;10111:30;10177:34;10157:18;;;10150:62;10248:25;10228:18;;;10221:53;10291:19;;10778:105:1;9897:419:59;10778:105:1;9827:15;10901:9;:27;;10893:90;;;;-1:-1:-1;;;10893:90:1;;10523:2:59;10893:90:1;;;10505:21:59;10562:2;10542:18;;;10535:30;10601:34;10581:18;;;10574:62;-1:-1:-1;;;10652:18:59;;;10645:48;10710:19;;10893:90:1;10321:414:59;10893:90:1;11091:11;;-1:-1:-1;;;;;11052:19:1;;10993:22;11052:19;;;:8;:19;;;;;:35;10993:22;;11091:11;11019:30;11039:9;11019:19;:30::i;:::-;:68;;;;:::i;:::-;11018:84;;;;:::i;:::-;-1:-1:-1;;;;;11137:19:1;;;;;;:8;:19;;;;;:27;;;10993:109;;-1:-1:-1;11120:44:1;;10993:109;11120:44;:::i;:::-;11113:51;10670:501;-1:-1:-1;;;;10670:501:1:o;7804:151::-;2412:37;-1:-1:-1;;;;;;;;;;;2438:10:1;2412:7;:37::i;:::-;2404:101;;;;-1:-1:-1;;;2404:101:1;;;;;;;:::i;:::-;2533:10;2524:20;;;;:8;:20;;;;;:28;;;:33;2516:100;;;;-1:-1:-1;;;2516:100:1;;;;;;;:::i;:::-;7913:35:::1;7923:9;7934:6;7942:5;7913:9;:35::i;10070:384::-:0;10148:7;10183:9;;10171;:21;10167:35;;;-1:-1:-1;10201:1:1;;10070:384;-1:-1:-1;10070:384:1:o;10167:35::-;10228:9;;10216;:21;10212:47;;;-1:-1:-1;;10246:13:1;;;10070:384::o;10212:47::-;10297:8;;10285:9;;:20;;;;:::i;:::-;10273:9;:32;10269:56;;;-1:-1:-1;;10314:11:1;;;10070:384::o;10269:56::-;10336:17;10368:9;;10356;:21;;;;:::i;:::-;10336:41;;10439:8;;10423:12;;10411:9;:24;;;;:::i;:::-;10410:37;;;;:::i;:::-;10394:13;;:53;;;;:::i;:::-;10387:60;10070:384;-1:-1:-1;;;10070:384:1:o;8721:146::-;8826:34;8840:10;8852:7;8826:13;:34::i;8873:184::-;8978:34;8992:10;9004:7;8978:13;:34::i;:::-;9027:23;;9039:10;6369:51:59;;9027:23:1;;6357:2:59;6342:18;9027:23:1;6223:203:59;1770:151:27;1860:7;1886:18;;;:12;:18;;;;;:28;;1908:5;1886:21;:28::i;3329:145:28:-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:28;;;;;;;;;;;;;;;3329:145::o;11331:142:1:-;11402:7;11428:38;11440:9;9827:15;10670:501;:::i;6422:308::-;6708:15;6715:7;6708:6;:15::i;:::-;6422:308;:::o;5736:534::-;5825:39;2344:4:28;5853:10:1;5825:7;:39::i;:::-;5817:88;;;;-1:-1:-1;;;5817:88:1;;12180:2:59;5817:88:1;;;12162:21:59;12219:2;12199:18;;;12192:30;12258:34;12238:18;;;12231:62;-1:-1:-1;;;12309:18:59;;;12302:34;12353:19;;5817:88:1;11978:400:59;5817:88:1;5923:38;-1:-1:-1;;;;;;;;;;;5949:11:1;5923:7;:38::i;:::-;5915:96;;;;-1:-1:-1;;;5915:96:1;;12585:2:59;5915:96:1;;;12567:21:59;12624:2;12604:18;;;12597:30;12663:34;12643:18;;;12636:62;-1:-1:-1;;;12714:18:59;;;12707:43;12767:19;;5915:96:1;12383:409:59;5915:96:1;6081:4;6064:23;;;;:8;:23;;;;;:39;:48;;6106:6;;6064:48;:::i;:::-;6039:4;6022:23;;;;:8;:23;;;;;;:90;;;;-1:-1:-1;;;;;6162:21:1;;;;;:37;:46;;6202:6;;6162:46;:::i;:::-;-1:-1:-1;;;;;6122:21:1;;;;;;:8;:21;;;;;;;:86;;;;6224:39;;6231:10;;6224:39;;;;6256:6;643:25:59;;631:2;616:18;;497:177;6224:39:1;;;;;;;;5736:534;;:::o;3477:1006::-;3279:19:31;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:31;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:31;1713:19:35;:23;;;3387:66:31;;-1:-1:-1;3436:12:31;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:31;;12999:2:59;3325:201:31;;;12981:21:59;13038:2;13018:18;;;13011:30;13077:34;13057:18;;;13050:62;-1:-1:-1;;;13128:18:59;;;13121:44;13182:19;;3325:201:31;12797:410:59;3325:201:31;3536:12;:16;;-1:-1:-1;;3536:16:31;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:31;;;;;3562:65;3764:12:1::1;3751:9;:25;;3743:88;;;::::0;-1:-1:-1;;;3743:88:1;;13414:2:59;3743:88:1::1;::::0;::::1;13396:21:59::0;13453:2;13433:18;;;13426:30;13492:34;13472:18;;;13465:62;-1:-1:-1;;;13543:18:59;;;13536:48;13601:19;;3743:88:1::1;13212:414:59::0;3743:88:1::1;3871:5;3849:18;:27;;3841:100;;;::::0;-1:-1:-1;;;3841:100:1;;13833:2:59;3841:100:1::1;::::0;::::1;13815:21:59::0;13872:2;13852:18;;;13845:30;13911:34;13891:18;;;13884:62;13982:30;13962:18;;;13955:58;14030:19;;3841:100:1::1;13631:424:59::0;3841:100:1::1;3951:32;:30;:32::i;:::-;3993:42;2344:4:28;4024:10:1;3993;:42::i;:::-;4046:22;4109:5;4072:33;4087:18:::0;4072:12;:33:::1;:::i;:::-;4071:43;;;;:::i;:::-;4125:5;:14:::0;;-1:-1:-1;;;;;;4125:14:1::1;-1:-1:-1::0;;;;;4125:14:1;::::1;;::::0;;4149:8:::1;:20:::0;;;4179:9:::1;:22:::0;;;4211:11:::1;:26:::0;;;4247:13:::1;:30:::0;;;;-1:-1:-1;4299:25:1::1;4312:12:::0;4179:22;4299:25:::1;:::i;:::-;4287:9;:37:::0;4349:29:::1;4364:14:::0;4349:12;:29:::1;:::i;:::-;4334:12;:44:::0;-1:-1:-1;4405:4:1::1;4388:23;::::0;;;:8:::1;:23;::::0;;;;:54;;;4452:10:::1;:24:::0;;-1:-1:-1;;;;4452:24:1::1;-1:-1:-1::0;;;4452:24:1;::::1;;;;::::0;;3647:99:31;;;;3697:5;3681:21;;-1:-1:-1;;3681:21:31;;;3721:14;;-1:-1:-1;14212:36:59;;3721:14:31;;14200:2:59;14185:18;3721:14:31;;;;;;;3647:99;3269:483;3477:1006:1;;;;;;;:::o;2089:140:27:-;2169:7;2195:18;;;:12;:18;;;;;:27;;:25;:27::i;5684:147:28:-;4908:7;4934:12;;;:6;:12;;;;;:22;;;2777:16;2788:4;2777:10;:16::i;:::-;5798:26:::1;5810:4;5816:7;5798:11;:26::i;12798:334:1:-:0;12865:39;2344:4:28;12893:10:1;12865:7;:39::i;:::-;12857:93;;;;-1:-1:-1;;;12857:93:1;;14461:2:59;12857:93:1;;;14443:21:59;14500:2;14480:18;;;14473:30;14539:34;14519:18;;;14512:62;-1:-1:-1;;;14590:18:59;;;14583:39;14639:19;;12857:93:1;14259:405:59;12857:93:1;9827:15;12969:9;;:26;12961:87;;;;-1:-1:-1;;;12961:87:1;;14871:2:59;12961:87:1;;;14853:21:59;14910:2;14890:18;;;14883:30;14949:34;14929:18;;;14922:62;-1:-1:-1;;;15000:18:59;;;14993:46;15056:19;;12961:87:1;14669:412:59;12961:87:1;13059:8;:22;;;13097:28;;643:25:59;;;13097:28:1;;631:2:59;616:18;13097:28:1;;;;;;;12798:334;:::o;9536:121::-;9607:43;9627:10;9639;9607:19;:43::i;3029:213:28:-;3114:4;-1:-1:-1;;;;;;3137:58:28;;-1:-1:-1;;;3137:58:28;;:98;;-1:-1:-1;;;;;;;;;;1168:51:38;;;3199:36:28;1060:166:38;8372:343:1;2412:37;-1:-1:-1;;;;;;;;;;;2438:10:1;2412:7;:37::i;:::-;2404:101;;;;-1:-1:-1;;;2404:101:1;;;;;;;:::i;:::-;2533:10;2524:20;;;;:8;:20;;;;;:28;;;:33;2516:100;;;;-1:-1:-1;;;2516:100:1;;;;;;;:::i;:::-;8514:7:::1;:14;8493:10;:17;:35;8485:97;;;::::0;-1:-1:-1;;;8485:97:1;;15288:2:59;8485:97:1::1;::::0;::::1;15270:21:59::0;15327:2;15307:18;;;15300:30;15366:34;15346:18;;;15339:62;-1:-1:-1;;;15417:18:59;;;15410:47;15474:19;;8485:97:1::1;15086:413:59::0;8485:97:1::1;8598:9;8593:116;8617:10;:17;8613:1;:21;8593:116;;;8655:43;8665:10;8676:1;8665:13;;;;;;;;:::i;:::-;;;;;;;8680:7;8688:1;8680:10;;;;;;;;:::i;:::-;;;;;;;8692:5;8655:9;:43::i;:::-;8636:3:::0;::::1;::::0;::::1;:::i;:::-;;;;8593:116;;3768:103:28::0;3834:30;3845:4;929:10:36;3834::28;:30::i;2317:166:27:-;2404:31;2421:4;2427:7;2404:16;:31::i;:::-;2445:18;;;;:12;:18;;;;;:31;;2468:7;2445:22;:31::i;2572:171::-;2660:32;2678:4;2684:7;2660:17;:32::i;:::-;2702:18;;;;:12;:18;;;;;:34;;2728:7;2702:25;:34::i;13138:901:1:-;-1:-1:-1;;;;;13252:23:1;;13294:1;13252:23;;;:8;:23;;;;;:39;13231:136;;;;-1:-1:-1;;;13231:136:1;;15978:2:59;13231:136:1;;;15960:21:59;16017:2;15997:18;;;15990:30;-1:-1:-1;;;;;;;;;;;16036:18:59;;;16029:62;16127:28;16107:18;;;16100:56;16173:19;;13231:136:1;15776:422:59;13231:136:1;13399:40;-1:-1:-1;;;;;;;;;;;13425:13:1;13399:7;:40::i;:::-;13398:41;:85;;;;-1:-1:-1;13444:39:1;-1:-1:-1;;;;;;;;;;;13470:12:1;13444:7;:39::i;:::-;13443:40;13398:85;13377:201;;;;-1:-1:-1;;;13377:201:1;;16405:2:59;13377:201:1;;;16387:21:59;16444:2;16424:18;;;16417:30;-1:-1:-1;;;;;;;;;;;16463:18:59;;;16456:62;16554:34;16534:18;;;16527:62;-1:-1:-1;;;16605:19:59;;;16598:36;16651:19;;13377:201:1;16203:473:59;13377:201:1;-1:-1:-1;;;;;13729:22:1;;;;;;;:8;:22;;;;;;:38;13687:23;;;;;;;:39;:80;;13729:38;13687:80;:::i;:::-;-1:-1:-1;;;;;13634:22:1;;;;;;;:8;:22;;;;;;:133;;;13777:23;;;;;;;;:43;;;13898:30;;;;;13864:31;;;:64;;13898:30;13864:64;:::i;:::-;-1:-1:-1;;;;;13831:22:1;;;;;;;:8;:22;;;;;;:30;;;;:97;;;;13939:23;;;;;;;;;:31;;;:35;;;13990:42;;13831:22;;13939:23;13990:42;;;13138:901;;:::o;12342:395::-;12395:24;12422:23;12435:9;12422:12;:23::i;:::-;12395:50;;12483:1;12464:16;:20;12456:79;;;;-1:-1:-1;;;12456:79:1;;16883:2:59;12456:79:1;;;16865:21:59;16922:2;16902:18;;;16895:30;16961:34;16941:18;;;16934:62;-1:-1:-1;;;17012:18:59;;;17005:44;17066:19;;12456:79:1;16681:410:59;12456:79:1;-1:-1:-1;;;;;12576:19:1;;;;;;:8;:19;;;;;:27;;;:46;;12606:16;;12576:46;:::i;:::-;-1:-1:-1;;;;;12546:19:1;;;;;;;:8;:19;;;;;:27;;:76;;;;12633:5;;:47;;:5;12555:9;12663:16;12633:18;:47::i;:::-;12702:9;-1:-1:-1;;;;;12696:34:1;;12713:16;12696:34;;;;643:25:59;;631:2;616:18;;497:177;12696:34:1;;;;;;;;12385:352;12342:395;:::o;7265:533::-;7359:36;-1:-1:-1;;;;;;;;;;;7385:9:1;7359:7;:36::i;:::-;7358:37;7350:104;;;;-1:-1:-1;;;7350:104:1;;17298:2:59;7350:104:1;;;17280:21:59;17337:2;17317:18;;;17310:30;17376:34;17356:18;;;17349:62;-1:-1:-1;;;17427:18:59;;;17420:52;17489:19;;7350:104:1;17096:418:59;7350:104:1;7513:10;7504:20;;;;:8;:20;;;;;:36;:45;;7543:6;;7504:45;:::i;:::-;7474:10;7465:20;;;;:8;:20;;;;;;:84;;;;-1:-1:-1;;;;;7598:19:1;;;;;:35;:44;;7636:6;;7598:44;:::i;:::-;-1:-1:-1;;;;;7560:19:1;;;;;;:8;:19;;;;;:82;7657:5;:36;;;;;7692:1;7666:23;7679:9;7666:12;:23::i;:::-;:27;7657:36;7653:84;;;7709:17;7716:9;7709:6;:17::i;:::-;7752:39;;643:25:59;;;-1:-1:-1;;;;;7752:39:1;;;7761:10;;7752:39;;631:2:59;616:18;7752:39:1;;;;;;;7265:533;;;:::o;9574:156:42:-;9648:7;9698:22;9702:3;9714:5;9698:3;:22::i;730:75:27:-;5374:13:31;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:31;;17721:2:59;5366:69:31;;;17703:21:59;17760:2;17740:18;;;17733:30;17799:34;17779:18;;;17772:62;-1:-1:-1;;;17850:18:59;;;17843:41;17901:19;;5366:69:31;17519:407:59;7267:110:28;7345:25;7356:4;7362:7;7345:10;:25::i;9117:115:42:-;9180:7;9206:19;9214:3;4556:18;;4474:107;4152:501:28;4240:22;4248:4;4254:7;4240;:22::i;:::-;4235:412;;4423:39;4454:7;4423:30;:39::i;:::-;4533:49;4572:4;4579:2;4533:30;:49::i;:::-;4330:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4330:274:28;;;;;;;;;;-1:-1:-1;;;4278:358:28;;;;;;;:::i;7917:233::-;8000:22;8008:4;8014:7;8000;:22::i;:::-;7995:149;;8038:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8038:29:28;;;;;;;;;:36;;-1:-1:-1;;8038:36:28;8070:4;8038:36;;;8120:12;929:10:36;;850:96;8120:12:28;-1:-1:-1;;;;;8093:40:28;8111:7;-1:-1:-1;;;;;8093:40:28;8105:4;8093:40;;;;;;;;;;7917:233;;:::o;8316:150:42:-;8386:4;8409:50;8414:3;-1:-1:-1;;;;;8434:23:42;;8409:4;:50::i;8321:234:28:-;8404:22;8412:4;8418:7;8404;:22::i;:::-;8400:149;;;8474:5;8442:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8442:29:28;;;;;;;;;;:37;;-1:-1:-1;;8442:37:28;;;8498:40;929:10:36;;8442:12:28;;8498:40;;8474:5;8498:40;8321:234;;:::o;8634:156:42:-;8707:4;8730:53;8738:3;-1:-1:-1;;;;;8758:23:42;;8730:7;:53::i;996:186:34:-;1116:58;;;-1:-1:-1;;;;;19596:32:59;;1116:58:34;;;19578:51:59;19645:18;;;;19638:34;;;1116:58:34;;;;;;;;;;19551:18:59;;;;1116:58:34;;;;;;;;-1:-1:-1;;;;;1116:58:34;-1:-1:-1;;;1116:58:34;;;1089:86;;1109:5;;1089:19;:86::i;4923:118:42:-;4990:7;5016:3;:11;;5028:5;5016:18;;;;;;;;:::i;:::-;;;;;;;;;5009:25;;4923:118;;;;:::o;2473:149:37:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:37;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;2006:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:37;;1984:47;;-1:-1:-1;;;2041:6:37;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:37;;;;;;;;;-1:-1:-1;;;2066:6:37;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:37;;;;;;;;-1:-1:-1;2096:9:37;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;-1:-1:-1;;;2171:5:37;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:37;;;;;;;;-1:-1:-1;2207:1:37;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:37;;2228:55;;;;-1:-1:-1;;;2228:55:37;;20026:2:59;2228:55:37;;;20008:21:59;;;20045:18;;;20038:30;20104:34;20084:18;;;20077:62;20156:18;;2228:55:37;19824:356:59;2225:404:42;2288:4;4362:19;;;:12;;;:19;;;;;;2304:319;;-1:-1:-1;2346:23:42;;;;;;;;:11;:23;;;;;;;;;;;;;2526:18;;2504:19;;;:12;;;:19;;;;;;:40;;;;2558:11;;2304:319;-1:-1:-1;2607:5:42;2600:12;;2797:1388;2863:4;3000:19;;;:12;;;:19;;;;;;3034:15;;3030:1149;;3403:21;3427:14;3440:1;3427:10;:14;:::i;:::-;3475:18;;3403:38;;-1:-1:-1;3455:17:42;;3475:22;;3496:1;;3475:22;:::i;:::-;3455:42;;3529:13;3516:9;:26;3512:398;;3562:17;3582:3;:11;;3594:9;3582:22;;;;;;;;:::i;:::-;;;;;;;;;3562:42;;3733:9;3704:3;:11;;3716:13;3704:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3816:23;;;:12;;;:23;;;;;:36;;;3512:398;3988:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4080:3;:12;;:19;4093:5;4080:19;;;;;;;;;;;4073:26;;;4121:4;4114:11;;;;;;;3030:1149;4163:5;4156:12;;;;;5328:653:34;5758:23;5784:69;5812:4;5784:69;;;;;;;;;;;;;;;;;5792:5;-1:-1:-1;;;;;5784:27:34;;;:69;;;;;:::i;:::-;5758:95;;5871:10;:17;5892:1;5871:22;:56;;;;5908:10;5897:30;;;;;;;;;;;;:::i;:::-;5863:111;;;;-1:-1:-1;;;5863:111:34;;20769:2:59;5863:111:34;;;20751:21:59;20808:2;20788:18;;;20781:30;20847:34;20827:18;;;20820:62;-1:-1:-1;;;20898:18:59;;;20891:40;20948:19;;5863:111:34;20567:406:59;4119:223:35;4252:12;4283:52;4305:6;4313:4;4319:1;4322:12;4252;5457;5471:23;5498:6;-1:-1:-1;;;;;5498:11:35;5517:5;5524:4;5498:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5456:73;;;;5546:69;5573:6;5581:7;5590:10;5602:12;5546:26;:69::i;:::-;5539:76;5176:446;-1:-1:-1;;;;;;;5176:446:35:o;7682:628::-;7862:12;7890:7;7886:418;;;7917:10;:17;7938:1;7917:22;7913:286;;-1:-1:-1;;;;;1713:19:35;;;8124:60;;;;-1:-1:-1;;;8124:60:35;;21879:2:59;8124:60:35;;;21861:21:59;21918:2;21898:18;;;21891:30;21957:31;21937:18;;;21930:59;22006:18;;8124:60:35;21677:353:59;8124:60:35;-1:-1:-1;8219:10:35;8212:17;;7886:418;8260:33;8268:10;8280:12;8991:17;;:21;8987:379;;9219:10;9213:17;9275:15;9262:10;9258:2;9254:19;9247:44;8987:379;9342:12;9335:20;;-1:-1:-1;;;9335:20:35;;;;;;;;:::i;14:286:59:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:59;;209:43;;199:71;;266:1;263;256:12;679:127;740:10;735:3;731:20;728:1;721:31;771:4;768:1;761:15;795:4;792:1;785:15;811:275;882:2;876:9;947:2;928:13;;-1:-1:-1;;924:27:59;912:40;;982:18;967:34;;1003:22;;;964:62;961:88;;;1029:18;;:::i;:::-;1065:2;1058:22;811:275;;-1:-1:-1;811:275:59:o;1091:183::-;1151:4;1184:18;1176:6;1173:30;1170:56;;;1206:18;;:::i;:::-;-1:-1:-1;1251:1:59;1247:14;1263:4;1243:25;;1091:183::o;1279:131::-;-1:-1:-1;;;;;1354:31:59;;1344:42;;1334:70;;1400:1;1397;1390:12;1415:662;1469:5;1522:3;1515:4;1507:6;1503:17;1499:27;1489:55;;1540:1;1537;1530:12;1489:55;1576:6;1563:20;1602:4;1626:60;1642:43;1682:2;1642:43;:::i;:::-;1626:60;:::i;:::-;1720:15;;;1806:1;1802:10;;;;1790:23;;1786:32;;;1751:12;;;;1830:15;;;1827:35;;;1858:1;1855;1848:12;1827:35;1894:2;1886:6;1882:15;1906:142;1922:6;1917:3;1914:15;1906:142;;;1988:17;;1976:30;;2026:12;;;;1939;;1906:142;;;-1:-1:-1;2066:5:59;1415:662;-1:-1:-1;;;;;;1415:662:59:o;2082:1215::-;2200:6;2208;2261:2;2249:9;2240:7;2236:23;2232:32;2229:52;;;2277:1;2274;2267:12;2229:52;2317:9;2304:23;2346:18;2387:2;2379:6;2376:14;2373:34;;;2403:1;2400;2393:12;2373:34;2441:6;2430:9;2426:22;2416:32;;2486:7;2479:4;2475:2;2471:13;2467:27;2457:55;;2508:1;2505;2498:12;2457:55;2544:2;2531:16;2566:4;2590:60;2606:43;2646:2;2606:43;:::i;2590:60::-;2684:15;;;2766:1;2762:10;;;;2754:19;;2750:28;;;2715:12;;;;2790:19;;;2787:39;;;2822:1;2819;2812:12;2787:39;2846:11;;;;2866:217;2882:6;2877:3;2874:15;2866:217;;;2962:3;2949:17;2979:31;3004:5;2979:31;:::i;:::-;3023:18;;2899:12;;;;3061;;;;2866:217;;;3102:5;-1:-1:-1;;3145:18:59;;3132:32;;-1:-1:-1;;3176:16:59;;;3173:36;;;3205:1;3202;3195:12;3173:36;;3228:63;3283:7;3272:8;3261:9;3257:24;3228:63;:::i;:::-;3218:73;;;2082:1215;;;;;:::o;3302:180::-;3361:6;3414:2;3402:9;3393:7;3389:23;3385:32;3382:52;;;3430:1;3427;3420:12;3382:52;-1:-1:-1;3453:23:59;;3302:180;-1:-1:-1;3302:180:59:o;3669:247::-;3728:6;3781:2;3769:9;3760:7;3756:23;3752:32;3749:52;;;3797:1;3794;3787:12;3749:52;3836:9;3823:23;3855:31;3880:5;3855:31;:::i;4174:315::-;4242:6;4250;4303:2;4291:9;4282:7;4278:23;4274:32;4271:52;;;4319:1;4316;4309:12;4271:52;4355:9;4342:23;4332:33;;4415:2;4404:9;4400:18;4387:32;4428:31;4453:5;4428:31;:::i;:::-;4478:5;4468:15;;;4174:315;;;;;:::o;4494:388::-;4562:6;4570;4623:2;4611:9;4602:7;4598:23;4594:32;4591:52;;;4639:1;4636;4629:12;4591:52;4678:9;4665:23;4697:31;4722:5;4697:31;:::i;:::-;4747:5;-1:-1:-1;4804:2:59;4789:18;;4776:32;4817:33;4776:32;4817:33;:::i;5072:315::-;5140:6;5148;5201:2;5189:9;5180:7;5176:23;5172:32;5169:52;;;5217:1;5214;5207:12;5169:52;5256:9;5243:23;5275:31;5300:5;5275:31;:::i;:::-;5325:5;5377:2;5362:18;;;;5349:32;;-1:-1:-1;;;5072:315:59:o;5392:118::-;5478:5;5471:13;5464:21;5457:5;5454:32;5444:60;;5500:1;5497;5490:12;5515:450;5589:6;5597;5605;5658:2;5646:9;5637:7;5633:23;5629:32;5626:52;;;5674:1;5671;5664:12;5626:52;5713:9;5700:23;5732:31;5757:5;5732:31;:::i;:::-;5782:5;-1:-1:-1;5834:2:59;5819:18;;5806:32;;-1:-1:-1;5890:2:59;5875:18;;5862:32;5903:30;5862:32;5903:30;:::i;:::-;5952:7;5942:17;;;5515:450;;;;;:::o;5970:248::-;6038:6;6046;6099:2;6087:9;6078:7;6074:23;6070:32;6067:52;;;6115:1;6112;6105:12;6067:52;-1:-1:-1;;6138:23:59;;;6208:2;6193:18;;;6180:32;;-1:-1:-1;5970:248:59:o;6431:753::-;6568:6;6576;6584;6592;6600;6608;6616;6669:3;6657:9;6648:7;6644:23;6640:33;6637:53;;;6686:1;6683;6676:12;6637:53;6722:9;6709:23;6699:33;;6779:2;6768:9;6764:18;6751:32;6741:42;;6830:2;6819:9;6815:18;6802:32;6792:42;;6881:2;6870:9;6866:18;6853:32;6843:42;;6932:3;6921:9;6917:19;6904:33;6894:43;;6987:3;6976:9;6972:19;6959:33;7001:31;7026:5;7001:31;:::i;:::-;7051:5;-1:-1:-1;7108:3:59;7093:19;;7080:33;7122:30;7080:33;7122:30;:::i;:::-;7171:7;7161:17;;;6431:753;;;;;;;;;;:::o;9502:127::-;9563:10;9558:3;9554:20;9551:1;9544:31;9594:4;9591:1;9584:15;9618:4;9615:1;9608:15;9634:128;9701:9;;;9722:11;;;9719:37;;;9736:18;;:::i;9767:125::-;9832:9;;;9853:10;;;9850:36;;;9866:18;;:::i;10740:168::-;10813:9;;;10844;;10861:15;;;10855:22;;10841:37;10831:71;;10882:18;;:::i;10913:217::-;10953:1;10979;10969:132;;11023:10;11018:3;11014:20;11011:1;11004:31;11058:4;11055:1;11048:15;11086:4;11083:1;11076:15;10969:132;-1:-1:-1;11115:9:59;;10913:217::o;11135:415::-;11337:2;11319:21;;;11376:2;11356:18;;;11349:30;11415:34;11410:2;11395:18;;11388:62;-1:-1:-1;;;11481:2:59;11466:18;;11459:49;11540:3;11525:19;;11135:415::o;11555:418::-;11757:2;11739:21;;;11796:2;11776:18;;;11769:30;11835:34;11830:2;11815:18;;11808:62;-1:-1:-1;;;11901:2:59;11886:18;;11879:52;11963:3;11948:19;;11555:418::o;15504:127::-;15565:10;15560:3;15556:20;15553:1;15546:31;15596:4;15593:1;15586:15;15620:4;15617:1;15610:15;15636:135;15675:3;15696:17;;;15693:43;;15716:18;;:::i;:::-;-1:-1:-1;15763:1:59;15752:13;;15636:135::o;17931:250::-;18016:1;18026:113;18040:6;18037:1;18034:13;18026:113;;;18116:11;;;18110:18;18097:11;;;18090:39;18062:2;18055:10;18026:113;;;-1:-1:-1;;18173:1:59;18155:16;;18148:27;17931:250::o;18186:812::-;18597:25;18592:3;18585:38;18567:3;18652:6;18646:13;18668:75;18736:6;18731:2;18726:3;18722:12;18715:4;18707:6;18703:17;18668:75;:::i;:::-;-1:-1:-1;;;18802:2:59;18762:16;;;18794:11;;;18787:40;18852:13;;18874:76;18852:13;18936:2;18928:11;;18921:4;18909:17;;18874:76;:::i;:::-;18970:17;18989:2;18966:26;;18186:812;-1:-1:-1;;;;18186:812:59:o;19003:396::-;19152:2;19141:9;19134:21;19115:4;19184:6;19178:13;19227:6;19222:2;19211:9;19207:18;19200:34;19243:79;19315:6;19310:2;19299:9;19295:18;19290:2;19282:6;19278:15;19243:79;:::i;:::-;19383:2;19362:15;-1:-1:-1;;19358:29:59;19343:45;;;;19390:2;19339:54;;19003:396;-1:-1:-1;;19003:396:59:o;19683:136::-;19722:3;19750:5;19740:39;;19759:18;;:::i;:::-;-1:-1:-1;;;19795:18:59;;19683:136::o;20185:127::-;20246:10;20241:3;20237:20;20234:1;20227:31;20277:4;20274:1;20267:15;20301:4;20298:1;20291:15;20317:245;20384:6;20437:2;20425:9;20416:7;20412:23;20408:32;20405:52;;;20453:1;20450;20443:12;20405:52;20485:9;20479:16;20504:28;20526:5;20504:28;:::i;21385:287::-;21514:3;21552:6;21546:13;21568:66;21627:6;21622:3;21615:4;21607:6;21603:17;21568:66;:::i;:::-;21650:16;;;;;21385:287;-1:-1:-1;;21385:287:59:o", - "linkReferences": {} - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "DISTRIBUTOR_ROLE()": "f0bd87cc", - "allocate(address,uint256,bool)": "6ca163de", - "allocateMany(address[],uint256[])": "79328677", - "assign(address,uint256)": "be760488", - "balances(address)": "27e235e3", - "cancelable()": "eee56564", - "changeAddress(address)": "fe64d6ff", - "claim()": "4e71d92d", - "claimTo(address)": "a262f5f8", - "claimableAt(address,uint256)": "5066c893", - "claimableNow(address)": "9a78ea4a", - "cliffTime()": "0f1a6444", - "duration()": "0fb5a6b4", - "getRoleAdmin(bytes32)": "248a9ca3", - "getRoleMember(bytes32,uint256)": "9010d07c", - "getRoleMemberCount(bytes32)": "ca15c873", - "getTimestamp()": "188ec356", - "globallyClaimableAt(uint256)": "6d8500db", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "initialAmount()": "fc1ed437", - "initialize(uint256,uint256,uint256,uint256,uint256,address,bool)": "c7aaa8d4", - "lockedAmount()": "6ab28bc8", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "sendGIVbacks(address[],uint256[])": "7effb533", - "sendPraiseRewards(address[],uint256[])": "208c9327", - "setDuration(uint256)": "f6be71d1", - "setStartTime(uint256)": "3e0a322d", - "startTime()": "78e97925", - "supportsInterface(bytes4)": "01ffc9a7", - "token()": "fc0c546a", - "totalTokens()": "7e1c0c09", - "transferAllocation(address,address)": "397f6121" - }, - "rawMetadata": { - "compiler": { - "version": "0.8.20+commit.a1b79de6" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "distributor", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "grantee", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Allocate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "admin", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "distributor", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Assign", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newAddress", - "type": "address" - } - ], - "name": "ChangeAddress", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "grantee", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Claim", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "DurationChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "distributor", - "type": "address" - } - ], - "name": "GivBackPaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "distributor", - "type": "address" - } - ], - "name": "PraiseRewardPaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newStartTime", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newCliffTime", - "type": "uint256" - } - ], - "name": "StartTimeChanged", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DISTRIBUTOR_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "claim", - "type": "bool" - } - ], - "name": "allocate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "recipients", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "name": "allocateMany", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "distributor", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "assign", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "balances", - "outputs": [ - { - "internalType": "uint256", - "name": "allocatedTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "claimed", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "cancelable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newAddress", - "type": "address" - } - ], - "name": "changeAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "claimTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "claimableAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "claimableNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "cliffTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "duration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getRoleMember", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleMemberCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "globallyClaimableAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "initialAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_cliffPeriod", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_duration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_initialPercentage", - "type": "uint256" - }, - { - "internalType": "contract IERC20Upgradeable", - "name": "_token", - "type": "address" - }, - { - "internalType": "bool", - "name": "_cancelable", - "type": "bool" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lockedAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "recipients", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "name": "sendGIVbacks", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "recipients", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "name": "sendPraiseRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "setDuration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newStartTime", - "type": "uint256" - } - ], - "name": "setStartTime", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "startTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevRecipient", - "type": "address" - }, - { - "internalType": "address", - "name": "newRecipient", - "type": "address" - } - ], - "name": "transferAllocation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "events": { - "Allocate(address,address,uint256)": { - "details": "Emitted when the DISTRIBUTOR allocate an amount to a grantee" - }, - "Assign(address,address,uint256)": { - "details": "Emitted when the DEFAULT_ADMIN assign an amount to a DISTRIBUTOR" - }, - "ChangeAddress(address,address)": { - "details": "Emitted when someone change their reception address" - }, - "Claim(address,uint256)": { - "details": "Emitted when someone makes a claim of tokens" - }, - "DurationChanged(uint256)": { - "details": "Emitted when the duration is changed" - }, - "GivBackPaid(address)": { - "details": "Emitted when the DISTRIBUTOR allocate an amount of givBack to a recipient" - }, - "Initialized(uint8)": { - "details": "Triggered when the contract has been initialized or reinitialized." - }, - "PraiseRewardPaid(address)": { - "details": "Emitted when the DISTRIBUTOR allocate an amount of praise rewards to a recipient" - }, - "RoleAdminChanged(bytes32,bytes32,bytes32)": { - "details": "Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._" - }, - "RoleGranted(bytes32,address,address)": { - "details": "Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}." - }, - "RoleRevoked(bytes32,address,address)": { - "details": "Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)" - }, - "StartTimeChanged(uint256,uint256)": { - "details": "Emitted when a new startTime is set" - } - }, - "kind": "dev", - "methods": { - "allocate(address,uint256,bool)": { - "details": "Needs to be initialized: Nobody has the DEFAULT_ADMIN_ROLE and all available tokens have been assigned", - "params": { - "amount": "allocated amount", - "claim": "whether claim after allocate", - "recipient": "of token allocation" - } - }, - "allocateMany(address[],uint256[])": { - "details": "Needs to be initialized: Nobody has the DEFAULT_ADMIN_ROLE and all available tokens have been assigned", - "params": { - "amounts": "allocated amount", - "recipients": "of token allocation" - } - }, - "assign(address,uint256)": { - "details": "It is required that the DISTRIBUTOR_ROLE is already held by the address to which an amount will be assigned", - "params": { - "amount": "Total amount of tokens to assign to that address for distributing Emits a {Assign} event.", - "distributor": "the address, generally a smart contract, that will determine who gets how many tokens" - } - }, - "changeAddress(address)": { - "details": "The change can only be made to an address that has not previously received an allocation & the distributor cannot change its address Emits a {ChangeAddress} event." - }, - "claimableAt(address,uint256)": { - "params": { - "recipient": "account to query", - "timestamp": "Instant of time in which the calculation is made" - } - }, - "claimableNow(address)": { - "params": { - "recipient": "account to query" - } - }, - "getRoleAdmin(bytes32)": { - "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." - }, - "getRoleMember(bytes32,uint256)": { - "details": "Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information." - }, - "getRoleMemberCount(bytes32)": { - "details": "Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role." - }, - "globallyClaimableAt(uint256)": { - "params": { - "timestamp": "Unix time to check the number of tokens claimable" - }, - "returns": { - "_0": "Number of tokens claimable at that timestamp" - } - }, - "grantRole(bytes32,address)": { - "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." - }, - "hasRole(bytes32,address)": { - "details": "Returns `true` if `account` has been granted `role`." - }, - "initialize(uint256,uint256,uint256,uint256,uint256,address,bool)": { - "details": "Initially the deployer of the contract will be able to assign the tokens to one or several addresses, these addresses (EOA or Smart Contracts) are responsible to allocate tokens to specific addresses which can later claim them", - "params": { - "_cancelable": "In case the owner wants to have the power to cancel an assignment", - "_cliffPeriod": "Number of seconds to delay the claiming period for the tokens not initially released", - "_duration": "Time it will take for all tokens to be distributed", - "_initialPercentage": "Percentage of tokens initially released (2 decimals, 1/10000)", - "_startTime": "Unix time that the distribution begins", - "_token": "Address of the token to distribute", - "_totalTokens": "Total amount of tokens to distribute" - } - }, - "renounceRole(bytes32,address)": { - "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." - }, - "revokeRole(bytes32,address)": { - "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." - }, - "setStartTime(uint256)": { - "params": { - "newStartTime": "new startTime Emits a {StartTimeChanged} event." - } - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "transferAllocation(address,address)": { - "details": "The change can only be made when cancelable is true and to an address that has not previously received an allocation and the distributor cannot change its address Emits a {ChangeAddress} event." - } - }, - "stateVariables": { - "totalTokens": { - "details": "Returns the total amount of tokens will be streamed" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "allocate(address,uint256,bool)": { - "notice": "Function that allows to the distributor address to allocate some amount of tokens to a specific recipient" - }, - "allocateMany(address[],uint256[])": { - "notice": "Function that allows to the distributor address to allocate some amounts of tokens to specific recipients" - }, - "assign(address,uint256)": { - "notice": "Function that allows the DEFAULT_ADMIN_ROLE to assign tokens to an address who later can distribute them." - }, - "changeAddress(address)": { - "notice": "Function that allows a recipient to change its address" - }, - "claim()": { - "notice": "Function to claim tokens for a specific address. It uses the current timestamp Emits a {claim} event." - }, - "claimTo(address)": { - "notice": "Function to claim tokens for a specific address. It uses the current timestamp Emits a {claim} event." - }, - "claimableAt(address,uint256)": { - "notice": "Function to get the unlocked tokes at some moment for a specific address" - }, - "claimableNow(address)": { - "notice": "Function to get the unlocked tokens for a specific address. It uses the current timestamp" - }, - "getTimestamp()": { - "notice": "Function to get the current timestamp from the block" - }, - "globallyClaimableAt(uint256)": { - "notice": "Function to get the total claimable tokens at some moment" - }, - "setDuration(uint256)": { - "notice": "Function to change the duration" - }, - "setStartTime(uint256)": { - "notice": "Function that allows the DEFAULT_ADMIN_ROLE to assign set a new startTime if it hasn't started yet" - }, - "transferAllocation(address,address)": { - "notice": "Function that allows the DEFAULT_ADMIN_ROLE to change a recipient in case it wants to cancel an allocation" - } - }, - "notice": "Contract responsible for managing the release of tokens over time. The distributor is in charge of releasing the corresponding amounts to its recipients. This distributor is expected to be another smart contract, such as a merkledrop or the liquidity mining smart contract", - "version": 1 - } - }, - "settings": { - "compilationTarget": { - "contracts/ModifiedTokenDistro.sol": "TokenDistroV2" - }, - "evmVersion": "paris", - "libraries": {}, - "metadata": { - "bytecodeHash": "ipfs" - }, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [ - ":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":interfaces/=lib/interfaces/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/", - ":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":solmate/=lib/solmate/src/" - ] - }, - "sources": { - "contracts/ModifiedTokenDistro.sol": { - "keccak256": "0x180a10f8b92773439840c721796a2c9f66de7ef97e6510237e2f5281c6187905", - "license": "GPL-3.0", - "urls": [ - "bzz-raw://a0b0b7fd0e03a25ee14f92156223016a5071a02aa76309e67bd38f3560003bad", - "dweb:/ipfs/QmUBGFkvKU3thnbMGQezTPzCbvYhYVFeLR4ypeGYbaxZXi" - ] - }, - "contracts/interfaces/IDistroModified.sol": { - "keccak256": "0x48edfd234ea626731c675b8ee7f534685dc2444f04cb17909c4970a722cb810d", - "license": "GPL-3.0", - "urls": [ - "bzz-raw://c7adf3f4c528c13c49606d9aba085c9b2cfcce48f72ff7714019ea1f43cfb879", - "dweb:/ipfs/QmQmGjXYfFDXApxt9RnbC7giRtShHZz7M3qk9sWEzPgVH5" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol": { - "keccak256": "0x9d9e864d25a21104e522d15cc402af1858008d7c1cff14eec5206d2b5e3b89a6", - "license": "MIT", - "urls": [ - "bzz-raw://bc5e4e8dbdbf8e30fa07ade19e2abd5d7654955d33a7f18ed57409064244921d", - "dweb:/ipfs/QmU5AGK9XYc5ohNGMCTetBSMhzgb3aqvrjfDuCYJshQxYw" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol": { - "keccak256": "0xc845d0c571e6f6d37b8a3fb7bcbb7a71609dcd9d0c5cbcec980f3a7ca8b8cb88", - "license": "MIT", - "urls": [ - "bzz-raw://55d2bd406ea4cb14997338dff217ce3bac8ebd79c860bec8d51cf47c18ccc8f9", - "dweb:/ipfs/QmdtLdMvWGTriE1pykR2DDKFQyXpEUu9bCAEQAtBKQ5UwH" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol": { - "keccak256": "0x7acbc538aad6eb4614e26612a8c5c0149bb8808db95e2638d245a8365f63e572", - "license": "MIT", - "urls": [ - "bzz-raw://ea07bdbf13b16d19ccf8a8f1a361c80bbfb6073e8b1d079b72f7a5f09dc642cd", - "dweb:/ipfs/QmQh5YhCySYR5RSAEFTt3NaDhq6MCxvSTdFh56874JPxbY" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol": { - "keccak256": "0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa", - "license": "MIT", - "urls": [ - "bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c", - "dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { - "keccak256": "0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794", - "license": "MIT", - "urls": [ - "bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e", - "dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol": { - "keccak256": "0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f", - "license": "MIT", - "urls": [ - "bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f", - "dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol": { - "keccak256": "0x19c276b4cfae7648d4a1890a47492db9f84cf9fd9d3bf9ce14f3d3d62fa5df70", - "license": "MIT", - "urls": [ - "bzz-raw://78ad6b66a91c47021473d6900398aaf2e08f512dceed9ac228b01274a997b159", - "dweb:/ipfs/QmYUHCm3eUbWCmEWtzaxSVsFpGwqpZpNW4Wbejrb9SVwD7" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol": { - "keccak256": "0x23b997be73d3dd46885262704f0f8cfc7273fdadfe303d37969a9561373972b5", - "license": "MIT", - "urls": [ - "bzz-raw://d03ebe5406134f0c4a017dee625ff615031194493bd1e88504e5c8fae55bc166", - "dweb:/ipfs/QmUZV5bMbgk2PAkV3coouSeSainHN2jhqaQDJaA7hQRyu2" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol": { - "keccak256": "0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422", - "license": "MIT", - "urls": [ - "bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b", - "dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { - "keccak256": "0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149", - "license": "MIT", - "urls": [ - "bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c", - "dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol": { - "keccak256": "0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb", - "license": "MIT", - "urls": [ - "bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a", - "dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol": { - "keccak256": "0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a", - "license": "MIT", - "urls": [ - "bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7", - "dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol": { - "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", - "license": "MIT", - "urls": [ - "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", - "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol": { - "keccak256": "0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e", - "license": "MIT", - "urls": [ - "bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91", - "dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol": { - "keccak256": "0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a", - "license": "MIT", - "urls": [ - "bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4", - "dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z" - ] - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol": { - "keccak256": "0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f", - "license": "MIT", - "urls": [ - "bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f", - "dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ" - ] - } - }, - "version": 1 - }, - "metadata": { - "compiler": { - "version": "0.8.20+commit.a1b79de6" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "distributor", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "grantee", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Allocate", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "admin", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "distributor", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Assign", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "oldAddress", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "newAddress", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ChangeAddress", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "grantee", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Claim", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newDuration", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "DurationChanged", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "distributor", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "GivBackPaid", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "version", - "type": "uint8", - "indexed": false - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "distributor", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "PraiseRewardPaid", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32", - "indexed": true - } - ], - "type": "event", - "name": "RoleAdminChanged", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RoleGranted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RoleRevoked", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newStartTime", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "newCliffTime", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "StartTimeChanged", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DISTRIBUTOR_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "claim", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "allocate" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "recipients", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "allocateMany" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "distributor", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "assign" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balances", - "outputs": [ - { - "internalType": "uint256", - "name": "allocatedTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "claimed", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "cancelable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "changeAddress" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "claim" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimTo" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "claimableAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "claimableNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "cliffTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "duration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRoleMember", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRoleMemberCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "globallyClaimableAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "grantRole" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "initialAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_cliffPeriod", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_duration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_initialPercentage", - "type": "uint256" - }, - { - "internalType": "contract IERC20Upgradeable", - "name": "_token", - "type": "address" - }, - { - "internalType": "bool", - "name": "_cancelable", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "initialize" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "lockedAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceRole" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "revokeRole" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "recipients", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "sendGIVbacks" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "recipients", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "sendPraiseRewards" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDuration" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newStartTime", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setStartTime" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "startTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevRecipient", - "type": "address" - }, - { - "internalType": "address", - "name": "newRecipient", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferAllocation" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allocate(address,uint256,bool)": { - "details": "Needs to be initialized: Nobody has the DEFAULT_ADMIN_ROLE and all available tokens have been assigned", - "params": { - "amount": "allocated amount", - "claim": "whether claim after allocate", - "recipient": "of token allocation" - } - }, - "allocateMany(address[],uint256[])": { - "details": "Needs to be initialized: Nobody has the DEFAULT_ADMIN_ROLE and all available tokens have been assigned", - "params": { - "amounts": "allocated amount", - "recipients": "of token allocation" - } - }, - "assign(address,uint256)": { - "details": "It is required that the DISTRIBUTOR_ROLE is already held by the address to which an amount will be assigned", - "params": { - "amount": "Total amount of tokens to assign to that address for distributing Emits a {Assign} event.", - "distributor": "the address, generally a smart contract, that will determine who gets how many tokens" - } - }, - "changeAddress(address)": { - "details": "The change can only be made to an address that has not previously received an allocation & the distributor cannot change its address Emits a {ChangeAddress} event." - }, - "claimableAt(address,uint256)": { - "params": { - "recipient": "account to query", - "timestamp": "Instant of time in which the calculation is made" - } - }, - "claimableNow(address)": { - "params": { - "recipient": "account to query" - } - }, - "getRoleAdmin(bytes32)": { - "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." - }, - "getRoleMember(bytes32,uint256)": { - "details": "Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information." - }, - "getRoleMemberCount(bytes32)": { - "details": "Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role." - }, - "globallyClaimableAt(uint256)": { - "params": { - "timestamp": "Unix time to check the number of tokens claimable" - }, - "returns": { - "_0": "Number of tokens claimable at that timestamp" - } - }, - "grantRole(bytes32,address)": { - "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." - }, - "hasRole(bytes32,address)": { - "details": "Returns `true` if `account` has been granted `role`." - }, - "initialize(uint256,uint256,uint256,uint256,uint256,address,bool)": { - "details": "Initially the deployer of the contract will be able to assign the tokens to one or several addresses, these addresses (EOA or Smart Contracts) are responsible to allocate tokens to specific addresses which can later claim them", - "params": { - "_cancelable": "In case the owner wants to have the power to cancel an assignment", - "_cliffPeriod": "Number of seconds to delay the claiming period for the tokens not initially released", - "_duration": "Time it will take for all tokens to be distributed", - "_initialPercentage": "Percentage of tokens initially released (2 decimals, 1/10000)", - "_startTime": "Unix time that the distribution begins", - "_token": "Address of the token to distribute", - "_totalTokens": "Total amount of tokens to distribute" - } - }, - "renounceRole(bytes32,address)": { - "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." - }, - "revokeRole(bytes32,address)": { - "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." - }, - "setStartTime(uint256)": { - "params": { - "newStartTime": "new startTime Emits a {StartTimeChanged} event." - } - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "transferAllocation(address,address)": { - "details": "The change can only be made when cancelable is true and to an address that has not previously received an allocation and the distributor cannot change its address Emits a {ChangeAddress} event." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "allocate(address,uint256,bool)": { - "notice": "Function that allows to the distributor address to allocate some amount of tokens to a specific recipient" - }, - "allocateMany(address[],uint256[])": { - "notice": "Function that allows to the distributor address to allocate some amounts of tokens to specific recipients" - }, - "assign(address,uint256)": { - "notice": "Function that allows the DEFAULT_ADMIN_ROLE to assign tokens to an address who later can distribute them." - }, - "changeAddress(address)": { - "notice": "Function that allows a recipient to change its address" - }, - "claim()": { - "notice": "Function to claim tokens for a specific address. It uses the current timestamp Emits a {claim} event." - }, - "claimTo(address)": { - "notice": "Function to claim tokens for a specific address. It uses the current timestamp Emits a {claim} event." - }, - "claimableAt(address,uint256)": { - "notice": "Function to get the unlocked tokes at some moment for a specific address" - }, - "claimableNow(address)": { - "notice": "Function to get the unlocked tokens for a specific address. It uses the current timestamp" - }, - "getTimestamp()": { - "notice": "Function to get the current timestamp from the block" - }, - "globallyClaimableAt(uint256)": { - "notice": "Function to get the total claimable tokens at some moment" - }, - "setDuration(uint256)": { - "notice": "Function to change the duration" - }, - "setStartTime(uint256)": { - "notice": "Function that allows the DEFAULT_ADMIN_ROLE to assign set a new startTime if it hasn't started yet" - }, - "transferAllocation(address,address)": { - "notice": "Function that allows the DEFAULT_ADMIN_ROLE to change a recipient in case it wants to cancel an allocation" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - "forge-std/=lib/forge-std/src/", - "interfaces/=lib/interfaces/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/", - "solmate/=lib/solmate/src/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "contracts/ModifiedTokenDistro.sol": "TokenDistroV2" - }, - "evmVersion": "paris", - "libraries": {} - }, - "sources": { - "contracts/ModifiedTokenDistro.sol": { - "keccak256": "0x180a10f8b92773439840c721796a2c9f66de7ef97e6510237e2f5281c6187905", - "urls": [ - "bzz-raw://a0b0b7fd0e03a25ee14f92156223016a5071a02aa76309e67bd38f3560003bad", - "dweb:/ipfs/QmUBGFkvKU3thnbMGQezTPzCbvYhYVFeLR4ypeGYbaxZXi" - ], - "license": "GPL-3.0" - }, - "contracts/interfaces/IDistroModified.sol": { - "keccak256": "0x48edfd234ea626731c675b8ee7f534685dc2444f04cb17909c4970a722cb810d", - "urls": [ - "bzz-raw://c7adf3f4c528c13c49606d9aba085c9b2cfcce48f72ff7714019ea1f43cfb879", - "dweb:/ipfs/QmQmGjXYfFDXApxt9RnbC7giRtShHZz7M3qk9sWEzPgVH5" - ], - "license": "GPL-3.0" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol": { - "keccak256": "0x9d9e864d25a21104e522d15cc402af1858008d7c1cff14eec5206d2b5e3b89a6", - "urls": [ - "bzz-raw://bc5e4e8dbdbf8e30fa07ade19e2abd5d7654955d33a7f18ed57409064244921d", - "dweb:/ipfs/QmU5AGK9XYc5ohNGMCTetBSMhzgb3aqvrjfDuCYJshQxYw" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol": { - "keccak256": "0xc845d0c571e6f6d37b8a3fb7bcbb7a71609dcd9d0c5cbcec980f3a7ca8b8cb88", - "urls": [ - "bzz-raw://55d2bd406ea4cb14997338dff217ce3bac8ebd79c860bec8d51cf47c18ccc8f9", - "dweb:/ipfs/QmdtLdMvWGTriE1pykR2DDKFQyXpEUu9bCAEQAtBKQ5UwH" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol": { - "keccak256": "0x7acbc538aad6eb4614e26612a8c5c0149bb8808db95e2638d245a8365f63e572", - "urls": [ - "bzz-raw://ea07bdbf13b16d19ccf8a8f1a361c80bbfb6073e8b1d079b72f7a5f09dc642cd", - "dweb:/ipfs/QmQh5YhCySYR5RSAEFTt3NaDhq6MCxvSTdFh56874JPxbY" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol": { - "keccak256": "0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa", - "urls": [ - "bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c", - "dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { - "keccak256": "0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794", - "urls": [ - "bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e", - "dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol": { - "keccak256": "0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f", - "urls": [ - "bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f", - "dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol": { - "keccak256": "0x19c276b4cfae7648d4a1890a47492db9f84cf9fd9d3bf9ce14f3d3d62fa5df70", - "urls": [ - "bzz-raw://78ad6b66a91c47021473d6900398aaf2e08f512dceed9ac228b01274a997b159", - "dweb:/ipfs/QmYUHCm3eUbWCmEWtzaxSVsFpGwqpZpNW4Wbejrb9SVwD7" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol": { - "keccak256": "0x23b997be73d3dd46885262704f0f8cfc7273fdadfe303d37969a9561373972b5", - "urls": [ - "bzz-raw://d03ebe5406134f0c4a017dee625ff615031194493bd1e88504e5c8fae55bc166", - "dweb:/ipfs/QmUZV5bMbgk2PAkV3coouSeSainHN2jhqaQDJaA7hQRyu2" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol": { - "keccak256": "0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422", - "urls": [ - "bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b", - "dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { - "keccak256": "0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149", - "urls": [ - "bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c", - "dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol": { - "keccak256": "0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb", - "urls": [ - "bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a", - "dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol": { - "keccak256": "0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a", - "urls": [ - "bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7", - "dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol": { - "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", - "urls": [ - "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", - "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol": { - "keccak256": "0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e", - "urls": [ - "bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91", - "dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol": { - "keccak256": "0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a", - "urls": [ - "bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4", - "dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol": { - "keccak256": "0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f", - "urls": [ - "bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f", - "dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "contracts/ModifiedTokenDistro.sol", - "id": 1110, - "exportedSymbols": { - "AccessControlEnumerableUpgradeable": [ - 47440 - ], - "AccessControlUpgradeable": [ - 47776 - ], - "AddressUpgradeable": [ - 48863 - ], - "ContextUpgradeable": [ - 48905 - ], - "ERC165Upgradeable": [ - 49178 - ], - "EnumerableSetUpgradeable": [ - 50774 - ], - "IAccessControlEnumerableUpgradeable": [ - 47801 - ], - "IAccessControlUpgradeable": [ - 47874 - ], - "IDistro": [ - 2279 - ], - "IERC165Upgradeable": [ - 49190 - ], - "IERC20PermitUpgradeable": [ - 48157 - ], - "IERC20Upgradeable": [ - 48121 - ], - "Initializable": [ - 48043 - ], - "MathUpgradeable": [ - 50056 - ], - "SafeERC20Upgradeable": [ - 48533 - ], - "SignedMathUpgradeable": [ - 50161 - ], - "StringsUpgradeable": [ - 49134 - ], - "TokenDistroV2": [ - 1109 - ] - }, - "nodeType": "SourceUnit", - "src": "36:14006:1", - "nodes": [ - { - "id": 275, - "nodeType": "PragmaDirective", - "src": "36:23:1", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".6" - ] - }, - { - "id": 276, - "nodeType": "ImportDirective", - "src": "61:88:1", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "file": "@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol", - "nameLocation": "-1:-1:-1", - "scope": 1110, - "sourceUnit": 48534, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 277, - "nodeType": "ImportDirective", - "src": "150:79:1", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", - "file": "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol", - "nameLocation": "-1:-1:-1", - "scope": 1110, - "sourceUnit": 48122, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 278, - "nodeType": "ImportDirective", - "src": "230:91:1", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "file": "@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol", - "nameLocation": "-1:-1:-1", - "scope": 1110, - "sourceUnit": 47441, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 279, - "nodeType": "ImportDirective", - "src": "322:75:1", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", - "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", - "nameLocation": "-1:-1:-1", - "scope": 1110, - "sourceUnit": 48044, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 280, - "nodeType": "ImportDirective", - "src": "398:42:1", - "nodes": [], - "absolutePath": "contracts/interfaces/IDistroModified.sol", - "file": "./interfaces/IDistroModified.sol", - "nameLocation": "-1:-1:-1", - "scope": 1110, - "sourceUnit": 2280, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 1109, - "nodeType": "ContractDefinition", - "src": "732:13309:1", - "nodes": [ - { - "id": 291, - "nodeType": "UsingForDirective", - "src": "823:49:1", - "nodes": [], - "global": false, - "libraryName": { - "id": 288, - "name": "SafeERC20Upgradeable", - "nameLocations": [ - "829:20:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 48533, - "src": "829:20:1" - }, - "typeName": { - "id": 290, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 289, - "name": "IERC20Upgradeable", - "nameLocations": [ - "854:17:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 48121, - "src": "854:17:1" - }, - "referencedDeclaration": 48121, - "src": "854:17:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Upgradeable_$48121", - "typeString": "contract IERC20Upgradeable" - } - } - }, - { - "id": 294, - "nodeType": "VariableDeclaration", - "src": "959:109:1", - "nodes": [], - "constant": true, - "functionSelector": "f0bd87cc", - "mutability": "constant", - "name": "DISTRIBUTOR_ROLE", - "nameLocation": "983:16:1", - "scope": 1109, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 292, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "959:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "307866626434353466333661376531613338386264366663336162313064343334616134353738663831316163626263663333616662316336393734383633313363", - "id": 293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1002:66:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_113905682881308029930298027178096375302729558584848848638318513216271765877052_by_1", - "typeString": "int_const 1139...(70 digits omitted)...7052" - }, - "value": "0xfbd454f36a7e1a388bd6fc3ab10d434aa4578f811acbbcf33afb1c697486313c" - }, - "visibility": "public" - }, - { - "id": 299, - "nodeType": "StructDefinition", - "src": "1130:86:1", - "nodes": [], - "canonicalName": "TokenDistroV2.accountStatus", - "members": [ - { - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "allocatedTokens", - "nameLocation": "1169:15:1", - "nodeType": "VariableDeclaration", - "scope": 299, - "src": "1161:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1161:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 298, - "mutability": "mutable", - "name": "claimed", - "nameLocation": "1202:7:1", - "nodeType": "VariableDeclaration", - "scope": 299, - "src": "1194:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 297, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1194:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "accountStatus", - "nameLocation": "1137:13:1", - "scope": 1109, - "visibility": "public" - }, - { - "id": 304, - "nodeType": "VariableDeclaration", - "src": "1222:49:1", - "nodes": [], - "constant": false, - "functionSelector": "27e235e3", - "mutability": "mutable", - "name": "balances", - "nameLocation": "1263:8:1", - "scope": 1109, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus)" - }, - "typeName": { - "id": 303, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1230:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1222:33:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 302, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 301, - "name": "accountStatus", - "nameLocations": [ - "1241:13:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 299, - "src": "1241:13:1" - }, - "referencedDeclaration": 299, - "src": "1241:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage_ptr", - "typeString": "struct TokenDistroV2.accountStatus" - } - } - }, - "visibility": "public" - }, - { - "id": 307, - "nodeType": "VariableDeclaration", - "src": "1340:35:1", - "nodes": [], - "baseFunctions": [ - 2186 - ], - "constant": false, - "functionSelector": "7e1c0c09", - "mutability": "mutable", - "name": "totalTokens", - "nameLocation": "1364:11:1", - "overrides": { - "id": 306, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1355:8:1" - }, - "scope": 1109, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1340:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 309, - "nodeType": "VariableDeclaration", - "src": "1414:24:1", - "nodes": [], - "constant": false, - "functionSelector": "78e97925", - "mutability": "mutable", - "name": "startTime", - "nameLocation": "1429:9:1", - "scope": 1109, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1414:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 311, - "nodeType": "VariableDeclaration", - "src": "1492:24:1", - "nodes": [], - "constant": false, - "functionSelector": "0f1a6444", - "mutability": "mutable", - "name": "cliffTime", - "nameLocation": "1507:9:1", - "scope": 1109, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1492:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 313, - "nodeType": "VariableDeclaration", - "src": "1583:23:1", - "nodes": [], - "constant": false, - "functionSelector": "0fb5a6b4", - "mutability": "mutable", - "name": "duration", - "nameLocation": "1598:8:1", - "scope": 1109, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 312, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1583:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 315, - "nodeType": "VariableDeclaration", - "src": "1612:28:1", - "nodes": [], - "constant": false, - "functionSelector": "fc1ed437", - "mutability": "mutable", - "name": "initialAmount", - "nameLocation": "1627:13:1", - "scope": 1109, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1612:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 317, - "nodeType": "VariableDeclaration", - "src": "1702:27:1", - "nodes": [], - "constant": false, - "functionSelector": "6ab28bc8", - "mutability": "mutable", - "name": "lockedAmount", - "nameLocation": "1717:12:1", - "scope": 1109, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 316, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1702:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 320, - "nodeType": "VariableDeclaration", - "src": "1793:30:1", - "nodes": [], - "constant": false, - "functionSelector": "fc0c546a", - "mutability": "mutable", - "name": "token", - "nameLocation": "1818:5:1", - "scope": 1109, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Upgradeable_$48121", - "typeString": "contract IERC20Upgradeable" - }, - "typeName": { - "id": 319, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 318, - "name": "IERC20Upgradeable", - "nameLocations": [ - "1793:17:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 48121, - "src": "1793:17:1" - }, - "referencedDeclaration": 48121, - "src": "1793:17:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Upgradeable_$48121", - "typeString": "contract IERC20Upgradeable" - } - }, - "visibility": "public" - }, - { - "id": 322, - "nodeType": "VariableDeclaration", - "src": "1855:22:1", - "nodes": [], - "constant": false, - "functionSelector": "eee56564", - "mutability": "mutable", - "name": "cancelable", - "nameLocation": "1867:10:1", - "scope": 1109, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 321, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1855:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "public" - }, - { - "id": 327, - "nodeType": "EventDefinition", - "src": "2049:39:1", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 323, - "nodeType": "StructuredDocumentation", - "src": "1947:97:1", - "text": " @dev Emitted when the DISTRIBUTOR allocate an amount of givBack to a recipient" - }, - "eventSelector": "501554fe9eb720f094fa1c09c71f38933a18b834045c8afd91a329cf38021d1c", - "name": "GivBackPaid", - "nameLocation": "2055:11:1", - "parameters": { - "id": 326, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 325, - "indexed": false, - "mutability": "mutable", - "name": "distributor", - "nameLocation": "2075:11:1", - "nodeType": "VariableDeclaration", - "scope": 327, - "src": "2067:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 324, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2067:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2066:21:1" - } - }, - { - "id": 332, - "nodeType": "EventDefinition", - "src": "2203:44:1", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 328, - "nodeType": "StructuredDocumentation", - "src": "2094:104:1", - "text": " @dev Emitted when the DISTRIBUTOR allocate an amount of praise rewards to a recipient" - }, - "eventSelector": "ba378556e3a218f9dc0332f520ed51981c0e0eb43bf8302f9559fdfe9d538181", - "name": "PraiseRewardPaid", - "nameLocation": "2209:16:1", - "parameters": { - "id": 331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 330, - "indexed": false, - "mutability": "mutable", - "name": "distributor", - "nameLocation": "2234:11:1", - "nodeType": "VariableDeclaration", - "scope": 332, - "src": "2226:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 329, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2226:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2225:21:1" - } - }, - { - "id": 337, - "nodeType": "EventDefinition", - "src": "2318:43:1", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 333, - "nodeType": "StructuredDocumentation", - "src": "2253:60:1", - "text": " @dev Emitted when the duration is changed" - }, - "eventSelector": "9bb10695bde7db94333a5404f0767118f3965fd73217e45f96529c3d368285af", - "name": "DurationChanged", - "nameLocation": "2324:15:1", - "parameters": { - "id": 336, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 335, - "indexed": false, - "mutability": "mutable", - "name": "newDuration", - "nameLocation": "2348:11:1", - "nodeType": "VariableDeclaration", - "scope": 337, - "src": "2340:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2340:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2339:21:1" - } - }, - { - "id": 361, - "nodeType": "ModifierDefinition", - "src": "2367:267:1", - "nodes": [], - "body": { - "id": 360, - "nodeType": "Block", - "src": "2394:240:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 341, - "name": "DISTRIBUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "2420:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 342, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2438:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2442:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2438:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 340, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47535, - "src": "2412:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2412:37:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a6f6e6c794469737472696275746f723a204f4e4c595f4449535452494255544f525f524f4c45", - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2451:53:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d991c87c194bc0d3322ded2e44b1f75dea21fb1fcefe93f6f45a32518e9546fc", - "typeString": "literal_string \"TokenDistro::onlyDistributor: ONLY_DISTRIBUTOR_ROLE\"" - }, - "value": "TokenDistro::onlyDistributor: ONLY_DISTRIBUTOR_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d991c87c194bc0d3322ded2e44b1f75dea21fb1fcefe93f6f45a32518e9546fc", - "typeString": "literal_string \"TokenDistro::onlyDistributor: ONLY_DISTRIBUTOR_ROLE\"" - } - ], - "id": 339, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2404:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2404:101:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 347, - "nodeType": "ExpressionStatement", - "src": "2404:101:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 349, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "2524:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 352, - "indexExpression": { - "expression": { - "id": 350, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2533:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2537:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2533:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2524:20:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 353, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2545:7:1", - "memberName": "claimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 298, - "src": "2524:28:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2556:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2524:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a6f6e6c794469737472696275746f723a204449535452494255544f525f43414e4e4f545f434c41494d", - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2559:56:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8d166ce29794c0f75535954376d0924656751270761f002f1d6ee9b734bb57f6", - "typeString": "literal_string \"TokenDistro::onlyDistributor: DISTRIBUTOR_CANNOT_CLAIM\"" - }, - "value": "TokenDistro::onlyDistributor: DISTRIBUTOR_CANNOT_CLAIM" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8d166ce29794c0f75535954376d0924656751270761f002f1d6ee9b734bb57f6", - "typeString": "literal_string \"TokenDistro::onlyDistributor: DISTRIBUTOR_CANNOT_CLAIM\"" - } - ], - "id": 348, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2516:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2516:100:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 358, - "nodeType": "ExpressionStatement", - "src": "2516:100:1" - }, - { - "id": 359, - "nodeType": "PlaceholderStatement", - "src": "2626:1:1" - } - ] - }, - "name": "onlyDistributor", - "nameLocation": "2376:15:1", - "parameters": { - "id": 338, - "nodeType": "ParameterList", - "parameters": [], - "src": "2391:2:1" - }, - "virtual": false, - "visibility": "internal" - }, - { - "id": 461, - "nodeType": "FunctionDefinition", - "src": "3477:1006:1", - "nodes": [], - "body": { - "id": 460, - "nodeType": "Block", - "src": "3733:750:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 383, - "name": "_duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "3751:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 384, - "name": "_cliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 368, - "src": "3764:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3751:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a636f6e7374727563746f723a204455524154494f4e5f4c4553535f5448414e5f434c494646", - "id": 386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3778:52:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b863bc7ecebfd0f31abd7480b01b677c395c087139f896065a506af61d6762b0", - "typeString": "literal_string \"TokenDistro::constructor: DURATION_LESS_THAN_CLIFF\"" - }, - "value": "TokenDistro::constructor: DURATION_LESS_THAN_CLIFF" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b863bc7ecebfd0f31abd7480b01b677c395c087139f896065a506af61d6762b0", - "typeString": "literal_string \"TokenDistro::constructor: DURATION_LESS_THAN_CLIFF\"" - } - ], - "id": 382, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3743:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3743:88:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 388, - "nodeType": "ExpressionStatement", - "src": "3743:88:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 390, - "name": "_initialPercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "3849:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "3130303030", - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3871:5:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "src": "3849:27:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a636f6e7374727563746f723a20494e495449414c50455243454e544147455f475245415445525f5448414e5f313030", - "id": 393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3878:62:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_72a5a8ccc57f59c33150ec45306084a1b0859b8cd232f4e8d1c1f7bc063a5fac", - "typeString": "literal_string \"TokenDistro::constructor: INITIALPERCENTAGE_GREATER_THAN_100\"" - }, - "value": "TokenDistro::constructor: INITIALPERCENTAGE_GREATER_THAN_100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_72a5a8ccc57f59c33150ec45306084a1b0859b8cd232f4e8d1c1f7bc063a5fac", - "typeString": "literal_string \"TokenDistro::constructor: INITIALPERCENTAGE_GREATER_THAN_100\"" - } - ], - "id": 389, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3841:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3841:100:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 395, - "nodeType": "ExpressionStatement", - "src": "3841:100:1" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 396, - "name": "__AccessControlEnumerable_init", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47323, - "src": "3951:30:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3951:32:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 398, - "nodeType": "ExpressionStatement", - "src": "3951:32:1" - }, - { - "expression": { - "arguments": [ - { - "id": 400, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47471, - "src": "4004:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 401, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4024:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4028:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4024:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 399, - "name": "_setupRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47679, - "src": "3993:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3993:42:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 404, - "nodeType": "ExpressionStatement", - "src": "3993:42:1" - }, - { - "assignments": [ - 406 - ], - "declarations": [ - { - "constant": false, - "id": 406, - "mutability": "mutable", - "name": "_initialAmount", - "nameLocation": "4054:14:1", - "nodeType": "VariableDeclaration", - "scope": 460, - "src": "4046:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4046:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 413, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 407, - "name": "_totalTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "4072:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 408, - "name": "_initialPercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "4087:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4072:33:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 410, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4071:35:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "hexValue": "3130303030", - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4109:5:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "src": "4071:43:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4046:68:1" - }, - { - "expression": { - "id": 416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 414, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 320, - "src": "4125:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Upgradeable_$48121", - "typeString": "contract IERC20Upgradeable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 415, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 375, - "src": "4133:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Upgradeable_$48121", - "typeString": "contract IERC20Upgradeable" - } - }, - "src": "4125:14:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Upgradeable_$48121", - "typeString": "contract IERC20Upgradeable" - } - }, - "id": 417, - "nodeType": "ExpressionStatement", - "src": "4125:14:1" - }, - { - "expression": { - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 418, - "name": "duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "4149:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 419, - "name": "_duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "4160:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4149:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 421, - "nodeType": "ExpressionStatement", - "src": "4149:20:1" - }, - { - "expression": { - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 422, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "4179:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 423, - "name": "_startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "4191:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4179:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 425, - "nodeType": "ExpressionStatement", - "src": "4179:22:1" - }, - { - "expression": { - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 426, - "name": "totalTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "4211:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 427, - "name": "_totalTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "4225:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4211:26:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 429, - "nodeType": "ExpressionStatement", - "src": "4211:26:1" - }, - { - "expression": { - "id": 432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 430, - "name": "initialAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "4247:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 431, - "name": "_initialAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "4263:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4247:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 433, - "nodeType": "ExpressionStatement", - "src": "4247:30:1" - }, - { - "expression": { - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 434, - "name": "cliffTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 311, - "src": "4287:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 435, - "name": "_startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "4299:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 436, - "name": "_cliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 368, - "src": "4312:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4299:25:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4287:37:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4287:37:1" - }, - { - "expression": { - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 440, - "name": "lockedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "4334:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 441, - "name": "_totalTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "4349:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 442, - "name": "_initialAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "4364:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4349:29:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4334:44:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 445, - "nodeType": "ExpressionStatement", - "src": "4334:44:1" - }, - { - "expression": { - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 446, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "4388:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 451, - "indexExpression": { - "arguments": [ - { - "id": 449, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4405:4:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenDistroV2_$1109", - "typeString": "contract TokenDistroV2" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenDistroV2_$1109", - "typeString": "contract TokenDistroV2" - } - ], - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4397:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 447, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4397:7:1", - "typeDescriptions": {} - } - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:13:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4388:23:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "4412:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "4388:39:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 453, - "name": "_totalTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "4430:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4388:54:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 455, - "nodeType": "ExpressionStatement", - "src": "4388:54:1" - }, - { - "expression": { - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 456, - "name": "cancelable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 322, - "src": "4452:10:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 457, - "name": "_cancelable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "4465:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4452:24:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 459, - "nodeType": "ExpressionStatement", - "src": "4452:24:1" - } - ] - }, - "documentation": { - "id": 362, - "nodeType": "StructuredDocumentation", - "src": "2640:832:1", - "text": " @dev Initially the deployer of the contract will be able to assign the tokens to one or several addresses,\n these addresses (EOA or Smart Contracts) are responsible to allocate tokens to specific addresses which can\n later claim them\n @param _totalTokens Total amount of tokens to distribute\n @param _startTime Unix time that the distribution begins\n @param _cliffPeriod Number of seconds to delay the claiming period for the tokens not initially released\n @param _duration Time it will take for all tokens to be distributed\n @param _initialPercentage Percentage of tokens initially released (2 decimals, 1/10000)\n @param _token Address of the token to distribute\n @param _cancelable In case the owner wants to have the power to cancel an assignment" - }, - "functionSelector": "c7aaa8d4", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 380, - "kind": "modifierInvocation", - "modifierName": { - "id": 379, - "name": "initializer", - "nameLocations": [ - "3721:11:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 47945, - "src": "3721:11:1" - }, - "nodeType": "ModifierInvocation", - "src": "3721:11:1" - } - ], - "name": "initialize", - "nameLocation": "3486:10:1", - "parameters": { - "id": 378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 364, - "mutability": "mutable", - "name": "_totalTokens", - "nameLocation": "3514:12:1", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "3506:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3506:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 366, - "mutability": "mutable", - "name": "_startTime", - "nameLocation": "3544:10:1", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "3536:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3536:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 368, - "mutability": "mutable", - "name": "_cliffPeriod", - "nameLocation": "3572:12:1", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "3564:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3564:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 370, - "mutability": "mutable", - "name": "_duration", - "nameLocation": "3602:9:1", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "3594:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3594:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "_initialPercentage", - "nameLocation": "3629:18:1", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "3621:26:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3621:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 375, - "mutability": "mutable", - "name": "_token", - "nameLocation": "3675:6:1", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "3657:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Upgradeable_$48121", - "typeString": "contract IERC20Upgradeable" - }, - "typeName": { - "id": 374, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 373, - "name": "IERC20Upgradeable", - "nameLocations": [ - "3657:17:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 48121, - "src": "3657:17:1" - }, - "referencedDeclaration": 48121, - "src": "3657:17:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Upgradeable_$48121", - "typeString": "contract IERC20Upgradeable" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 377, - "mutability": "mutable", - "name": "_cancelable", - "nameLocation": "3696:11:1", - "nodeType": "VariableDeclaration", - "scope": 461, - "src": "3691:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 376, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3691:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3496:217:1" - }, - "returnParameters": { - "id": 381, - "nodeType": "ParameterList", - "parameters": [], - "src": "3733:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 512, - "nodeType": "FunctionDefinition", - "src": "4707:530:1", - "nodes": [], - "body": { - "id": 511, - "nodeType": "Block", - "src": "4769:468:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 470, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47471, - "src": "4795:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 471, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4815:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4819:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4815:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 469, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47535, - "src": "4787:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4787:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a736574537461727454696d653a204f4e4c595f41444d494e5f524f4c45", - "id": 474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4828:44:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_650c79c0dc91804a12ed5214ffff9425ef8a8d91106d196013c2dff738fea61e", - "typeString": "literal_string \"TokenDistro::setStartTime: ONLY_ADMIN_ROLE\"" - }, - "value": "TokenDistro::setStartTime: ONLY_ADMIN_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_650c79c0dc91804a12ed5214ffff9425ef8a8d91106d196013c2dff738fea61e", - "typeString": "literal_string \"TokenDistro::setStartTime: ONLY_ADMIN_ROLE\"" - } - ], - "id": 468, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4779:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4779:94:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 476, - "nodeType": "ExpressionStatement", - "src": "4779:94:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 478, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "4904:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 479, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "4916:12:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4916:14:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4904:26:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 482, - "name": "newStartTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "4934:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 483, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "4949:12:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4949:14:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4934:29:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4904:59:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a736574537461727454696d653a2049465f4841535f4e4f545f535441525445445f594554", - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4977:51:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6da704fcceb01cf9cfdc429fff328ebdaf0fc1e3675a9f3ce104c37fc915d38e", - "typeString": "literal_string \"TokenDistro::setStartTime: IF_HAS_NOT_STARTED_YET\"" - }, - "value": "TokenDistro::setStartTime: IF_HAS_NOT_STARTED_YET" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6da704fcceb01cf9cfdc429fff328ebdaf0fc1e3675a9f3ce104c37fc915d38e", - "typeString": "literal_string \"TokenDistro::setStartTime: IF_HAS_NOT_STARTED_YET\"" - } - ], - "id": 477, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4883:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4883:155:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 489, - "nodeType": "ExpressionStatement", - "src": "4883:155:1" - }, - { - "assignments": [ - 491 - ], - "declarations": [ - { - "constant": false, - "id": 491, - "mutability": "mutable", - "name": "_cliffPeriod", - "nameLocation": "5057:12:1", - "nodeType": "VariableDeclaration", - "scope": 511, - "src": "5049:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5049:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 495, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 492, - "name": "cliffTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 311, - "src": "5072:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 493, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "5084:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5072:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5049:44:1" - }, - { - "expression": { - "id": 498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 496, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "5103:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 497, - "name": "newStartTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "5115:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5103:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 499, - "nodeType": "ExpressionStatement", - "src": "5103:24:1" - }, - { - "expression": { - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 500, - "name": "cliffTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 311, - "src": "5137:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 501, - "name": "newStartTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "5149:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 502, - "name": "_cliffPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 491, - "src": "5164:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5149:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5137:39:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 505, - "nodeType": "ExpressionStatement", - "src": "5137:39:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 507, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "5209:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 508, - "name": "cliffTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 311, - "src": "5220:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 506, - "name": "StartTimeChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2180, - "src": "5192:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5192:38:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 510, - "nodeType": "EmitStatement", - "src": "5187:43:1" - } - ] - }, - "baseFunctions": [ - 2192 - ], - "documentation": { - "id": 462, - "nodeType": "StructuredDocumentation", - "src": "4489:213:1", - "text": " Function that allows the DEFAULT_ADMIN_ROLE to assign set a new startTime if it hasn't started yet\n @param newStartTime new startTime\n Emits a {StartTimeChanged} event." - }, - "functionSelector": "3e0a322d", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setStartTime", - "nameLocation": "4716:12:1", - "overrides": { - "id": 466, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4760:8:1" - }, - "parameters": { - "id": 465, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 464, - "mutability": "mutable", - "name": "newStartTime", - "nameLocation": "4737:12:1", - "nodeType": "VariableDeclaration", - "scope": 512, - "src": "4729:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4729:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4728:22:1" - }, - "returnParameters": { - "id": 467, - "nodeType": "ParameterList", - "parameters": [], - "src": "4769:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 576, - "nodeType": "FunctionDefinition", - "src": "5736:534:1", - "nodes": [], - "body": { - "id": 575, - "nodeType": "Block", - "src": "5807:463:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 523, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47471, - "src": "5833:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 524, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5853:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5857:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5853:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 522, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47535, - "src": "5825:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5825:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a61737369676e3a204f4e4c595f41444d494e5f524f4c45", - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5866:38:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dc09326d852129a3e0b29c9d4aed4c7fe9fd7e61224ad5f515f9aebfcb561e88", - "typeString": "literal_string \"TokenDistro::assign: ONLY_ADMIN_ROLE\"" - }, - "value": "TokenDistro::assign: ONLY_ADMIN_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dc09326d852129a3e0b29c9d4aed4c7fe9fd7e61224ad5f515f9aebfcb561e88", - "typeString": "literal_string \"TokenDistro::assign: ONLY_ADMIN_ROLE\"" - } - ], - "id": 521, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5817:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5817:88:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 529, - "nodeType": "ExpressionStatement", - "src": "5817:88:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 532, - "name": "DISTRIBUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "5931:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 533, - "name": "distributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "5949:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 531, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47535, - "src": "5923:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5923:38:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a61737369676e3a204f4e4c595f544f5f4449535452494255544f525f524f4c45", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5963:47:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_de5d2815d5e70b5767d44b4cbaf27af62e51145b9d0aa761bd36ee6699bf43f2", - "typeString": "literal_string \"TokenDistro::assign: ONLY_TO_DISTRIBUTOR_ROLE\"" - }, - "value": "TokenDistro::assign: ONLY_TO_DISTRIBUTOR_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_de5d2815d5e70b5767d44b4cbaf27af62e51145b9d0aa761bd36ee6699bf43f2", - "typeString": "literal_string \"TokenDistro::assign: ONLY_TO_DISTRIBUTOR_ROLE\"" - } - ], - "id": 530, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5915:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5915:96:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 537, - "nodeType": "ExpressionStatement", - "src": "5915:96:1" - }, - { - "expression": { - "id": 554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 538, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "6022:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 543, - "indexExpression": { - "arguments": [ - { - "id": 541, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6039:4:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenDistroV2_$1109", - "typeString": "contract TokenDistroV2" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenDistroV2_$1109", - "typeString": "contract TokenDistroV2" - } - ], - "id": 540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6031:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 539, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6031:7:1", - "typeDescriptions": {} - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6031:13:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6022:23:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 544, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "6046:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "6022:39:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 545, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "6064:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 550, - "indexExpression": { - "arguments": [ - { - "id": 548, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6081:4:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenDistroV2_$1109", - "typeString": "contract TokenDistroV2" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TokenDistroV2_$1109", - "typeString": "contract TokenDistroV2" - } - ], - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6073:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 546, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6073:7:1", - "typeDescriptions": {} - } - }, - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6073:13:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6064:23:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 551, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6088:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "6064:39:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 552, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "6106:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6064:48:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6022:90:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 555, - "nodeType": "ExpressionStatement", - "src": "6022:90:1" - }, - { - "expression": { - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 556, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "6122:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 558, - "indexExpression": { - "id": 557, - "name": "distributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "6131:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6122:21:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 559, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "6144:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "6122:37:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 560, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "6162:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 562, - "indexExpression": { - "id": 561, - "name": "distributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "6171:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6162:21:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 563, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6184:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "6162:37:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 564, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "6202:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6162:46:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6122:86:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 567, - "nodeType": "ExpressionStatement", - "src": "6122:86:1" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 569, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6231:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6235:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6231:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 571, - "name": "distributor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "6243:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 572, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "6256:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 568, - "name": "Assign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2166, - "src": "6224:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6224:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 574, - "nodeType": "EmitStatement", - "src": "6219:44:1" - } - ] - }, - "baseFunctions": [ - 2200 - ], - "documentation": { - "id": 513, - "nodeType": "StructuredDocumentation", - "src": "5243:488:1", - "text": " Function that allows the DEFAULT_ADMIN_ROLE to assign tokens to an address who later can distribute them.\n @dev It is required that the DISTRIBUTOR_ROLE is already held by the address to which an amount will be assigned\n @param distributor the address, generally a smart contract, that will determine who gets how many tokens\n @param amount Total amount of tokens to assign to that address for distributing\n Emits a {Assign} event." - }, - "functionSelector": "be760488", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "assign", - "nameLocation": "5745:6:1", - "overrides": { - "id": 519, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5798:8:1" - }, - "parameters": { - "id": 518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 515, - "mutability": "mutable", - "name": "distributor", - "nameLocation": "5760:11:1", - "nodeType": "VariableDeclaration", - "scope": 576, - "src": "5752:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 514, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5752:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 517, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5781:6:1", - "nodeType": "VariableDeclaration", - "scope": 576, - "src": "5773:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5773:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5751:37:1" - }, - "returnParameters": { - "id": 520, - "nodeType": "ParameterList", - "parameters": [], - "src": "5807:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 587, - "nodeType": "FunctionDefinition", - "src": "6422:308:1", - "nodes": [], - "body": { - "id": 586, - "nodeType": "Block", - "src": "6465:265:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 583, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 579, - "src": "6715:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 582, - "name": "_claim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 994, - "src": "6708:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6708:15:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 585, - "nodeType": "ExpressionStatement", - "src": "6708:15:1" - } - ] - }, - "documentation": { - "id": 577, - "nodeType": "StructuredDocumentation", - "src": "6276:141:1", - "text": " Function to claim tokens for a specific address. It uses the current timestamp\n Emits a {claim} event." - }, - "functionSelector": "a262f5f8", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claimTo", - "nameLocation": "6431:7:1", - "parameters": { - "id": 580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 579, - "mutability": "mutable", - "name": "account", - "nameLocation": "6447:7:1", - "nodeType": "VariableDeclaration", - "scope": 587, - "src": "6439:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6439:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6438:17:1" - }, - "returnParameters": { - "id": 581, - "nodeType": "ParameterList", - "parameters": [], - "src": "6465:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 598, - "nodeType": "FunctionDefinition", - "src": "6882:70:1", - "nodes": [], - "body": { - "id": 597, - "nodeType": "Block", - "src": "6917:35:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 593, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6934:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6938:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6934:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 592, - "name": "_claim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 994, - "src": "6927:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6927:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 596, - "nodeType": "ExpressionStatement", - "src": "6927:18:1" - } - ] - }, - "baseFunctions": [ - 2204 - ], - "documentation": { - "id": 588, - "nodeType": "StructuredDocumentation", - "src": "6736:141:1", - "text": " Function to claim tokens for a specific address. It uses the current timestamp\n Emits a {claim} event." - }, - "functionSelector": "4e71d92d", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claim", - "nameLocation": "6891:5:1", - "overrides": { - "id": 590, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6908:8:1" - }, - "parameters": { - "id": 589, - "nodeType": "ParameterList", - "parameters": [], - "src": "6896:2:1" - }, - "returnParameters": { - "id": 591, - "nodeType": "ParameterList", - "parameters": [], - "src": "6917:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 664, - "nodeType": "FunctionDefinition", - "src": "7265:533:1", - "nodes": [], - "body": { - "id": 663, - "nodeType": "Block", - "src": "7340:458:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "7358:37:1", - "subExpression": { - "arguments": [ - { - "id": 610, - "name": "DISTRIBUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "7367:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 611, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 601, - "src": "7385:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 609, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47535, - "src": "7359:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7359:36:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a616c6c6f636174653a204449535452494255544f525f4e4f545f56414c49445f524543495049454e54", - "id": 614, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7397:56:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cf53d8b4e78463f739abe166bed5780feb400d8535673c815eee064c12bbb29a", - "typeString": "literal_string \"TokenDistro::allocate: DISTRIBUTOR_NOT_VALID_RECIPIENT\"" - }, - "value": "TokenDistro::allocate: DISTRIBUTOR_NOT_VALID_RECIPIENT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cf53d8b4e78463f739abe166bed5780feb400d8535673c815eee064c12bbb29a", - "typeString": "literal_string \"TokenDistro::allocate: DISTRIBUTOR_NOT_VALID_RECIPIENT\"" - } - ], - "id": 608, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7350:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7350:104:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 616, - "nodeType": "ExpressionStatement", - "src": "7350:104:1" - }, - { - "expression": { - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 617, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "7465:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 620, - "indexExpression": { - "expression": { - "id": 618, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7474:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7478:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7474:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7465:20:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 621, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "7486:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "7465:36:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 622, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "7504:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 625, - "indexExpression": { - "expression": { - "id": 623, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7513:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7517:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7513:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7504:20:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 626, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7525:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "7504:36:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 627, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "7543:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7504:45:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7465:84:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 630, - "nodeType": "ExpressionStatement", - "src": "7465:84:1" - }, - { - "expression": { - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 631, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "7560:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 633, - "indexExpression": { - "id": 632, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 601, - "src": "7569:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7560:19:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 634, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "7580:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "7560:35:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 635, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "7598:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 637, - "indexExpression": { - "id": 636, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 601, - "src": "7607:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7598:19:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7618:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "7598:35:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 639, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "7636:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7598:44:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7560:82:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 642, - "nodeType": "ExpressionStatement", - "src": "7560:82:1" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 643, - "name": "claim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "7657:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 645, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 601, - "src": "7679:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 644, - "name": "claimableNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "7666:12:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7666:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7692:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7666:27:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7657:36:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 655, - "nodeType": "IfStatement", - "src": "7653:84:1", - "trueBody": { - "id": 654, - "nodeType": "Block", - "src": "7695:42:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 651, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 601, - "src": "7716:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 650, - "name": "_claim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 994, - "src": "7709:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7709:17:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 653, - "nodeType": "ExpressionStatement", - "src": "7709:17:1" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 657, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7761:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7765:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7761:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 659, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 601, - "src": "7773:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 660, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "7784:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 656, - "name": "Allocate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2157, - "src": "7752:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7752:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 662, - "nodeType": "EmitStatement", - "src": "7747:44:1" - } - ] - }, - "documentation": { - "id": 599, - "nodeType": "StructuredDocumentation", - "src": "6958:302:1", - "text": " Function that allows to the distributor address to allocate some amount of tokens to a specific recipient\n @param recipient of token allocation\n @param amount allocated amount\n @param claim whether claim after allocate\n Emits a {Allocate} event." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_allocate", - "nameLocation": "7274:9:1", - "parameters": { - "id": 606, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 601, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "7292:9:1", - "nodeType": "VariableDeclaration", - "scope": 664, - "src": "7284:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7284:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 603, - "mutability": "mutable", - "name": "amount", - "nameLocation": "7311:6:1", - "nodeType": "VariableDeclaration", - "scope": 664, - "src": "7303:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7303:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 605, - "mutability": "mutable", - "name": "claim", - "nameLocation": "7324:5:1", - "nodeType": "VariableDeclaration", - "scope": 664, - "src": "7319:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 604, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7319:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7283:47:1" - }, - "returnParameters": { - "id": 607, - "nodeType": "ParameterList", - "parameters": [], - "src": "7340:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 683, - "nodeType": "FunctionDefinition", - "src": "7804:151:1", - "nodes": [], - "body": { - "id": 682, - "nodeType": "Block", - "src": "7903:52:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 677, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 666, - "src": "7923:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 678, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 668, - "src": "7934:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 679, - "name": "claim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "7942:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 676, - "name": "_allocate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "7913:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,bool)" - } - }, - "id": 680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7913:35:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 681, - "nodeType": "ExpressionStatement", - "src": "7913:35:1" - } - ] - }, - "baseFunctions": [ - 2214 - ], - "functionSelector": "6ca163de", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 674, - "kind": "modifierInvocation", - "modifierName": { - "id": 673, - "name": "onlyDistributor", - "nameLocations": [ - "7887:15:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 361, - "src": "7887:15:1" - }, - "nodeType": "ModifierInvocation", - "src": "7887:15:1" - } - ], - "name": "allocate", - "nameLocation": "7813:8:1", - "overrides": { - "id": 672, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7878:8:1" - }, - "parameters": { - "id": 671, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 666, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "7830:9:1", - "nodeType": "VariableDeclaration", - "scope": 683, - "src": "7822:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 665, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7822:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 668, - "mutability": "mutable", - "name": "amount", - "nameLocation": "7849:6:1", - "nodeType": "VariableDeclaration", - "scope": 683, - "src": "7841:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7841:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 670, - "mutability": "mutable", - "name": "claim", - "nameLocation": "7862:5:1", - "nodeType": "VariableDeclaration", - "scope": 683, - "src": "7857:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 669, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7857:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7821:47:1" - }, - "returnParameters": { - "id": 675, - "nodeType": "ParameterList", - "parameters": [], - "src": "7903:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 728, - "nodeType": "FunctionDefinition", - "src": "8372:343:1", - "nodes": [], - "body": { - "id": 727, - "nodeType": "Block", - "src": "8475:240:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 696, - "name": "recipients", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "8493:10:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8504:6:1", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8493:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 698, - "name": "amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 690, - "src": "8514:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8522:6:1", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8514:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8493:35:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a616c6c6f636174654d616e793a20494e5055545f4c454e4754485f4e4f545f4d41544348", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8530:51:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_851427081ec98d23f7ec6e47e541180e6546af17b88dada40212a9920e6d1553", - "typeString": "literal_string \"TokenDistro::allocateMany: INPUT_LENGTH_NOT_MATCH\"" - }, - "value": "TokenDistro::allocateMany: INPUT_LENGTH_NOT_MATCH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_851427081ec98d23f7ec6e47e541180e6546af17b88dada40212a9920e6d1553", - "typeString": "literal_string \"TokenDistro::allocateMany: INPUT_LENGTH_NOT_MATCH\"" - } - ], - "id": 695, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8485:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8485:97:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "8485:97:1" - }, - { - "body": { - "id": 725, - "nodeType": "Block", - "src": "8641:68:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 716, - "name": "recipients", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "8665:10:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 718, - "indexExpression": { - "id": 717, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "8676:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8665:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "baseExpression": { - "id": 719, - "name": "amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 690, - "src": "8680:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 721, - "indexExpression": { - "id": 720, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "8688:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8680:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "66616c7365", - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8692:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 715, - "name": "_allocate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "8655:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bool_$returns$__$", - "typeString": "function (address,uint256,bool)" - } - }, - "id": 723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8655:43:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 724, - "nodeType": "ExpressionStatement", - "src": "8655:43:1" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 708, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "8613:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 709, - "name": "recipients", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "8617:10:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8628:6:1", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8617:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8613:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 726, - "initializationExpression": { - "assignments": [ - 705 - ], - "declarations": [ - { - "constant": false, - "id": 705, - "mutability": "mutable", - "name": "i", - "nameLocation": "8606:1:1", - "nodeType": "VariableDeclaration", - "scope": 726, - "src": "8598:9:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8598:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 707, - "initialValue": { - "hexValue": "30", - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8610:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8598:13:1" - }, - "loopExpression": { - "expression": { - "id": 713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "8636:3:1", - "subExpression": { - "id": 712, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "8636:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 714, - "nodeType": "ExpressionStatement", - "src": "8636:3:1" - }, - "nodeType": "ForStatement", - "src": "8593:116:1" - } - ] - }, - "documentation": { - "id": 684, - "nodeType": "StructuredDocumentation", - "src": "7961:406:1", - "text": " Function that allows to the distributor address to allocate some amounts of tokens to specific recipients\n @dev Needs to be initialized: Nobody has the DEFAULT_ADMIN_ROLE and all available tokens have been assigned\n @param recipients of token allocation\n @param amounts allocated amount\n Unlike allocate method it doesn't claim recipients available balance" - }, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 693, - "kind": "modifierInvocation", - "modifierName": { - "id": 692, - "name": "onlyDistributor", - "nameLocations": [ - "8459:15:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 361, - "src": "8459:15:1" - }, - "nodeType": "ModifierInvocation", - "src": "8459:15:1" - } - ], - "name": "_allocateMany", - "nameLocation": "8381:13:1", - "parameters": { - "id": 691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 687, - "mutability": "mutable", - "name": "recipients", - "nameLocation": "8412:10:1", - "nodeType": "VariableDeclaration", - "scope": 728, - "src": "8395:27:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 685, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8395:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 686, - "nodeType": "ArrayTypeName", - "src": "8395:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 690, - "mutability": "mutable", - "name": "amounts", - "nameLocation": "8441:7:1", - "nodeType": "VariableDeclaration", - "scope": 728, - "src": "8424:24:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8424:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 689, - "nodeType": "ArrayTypeName", - "src": "8424:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "8394:55:1" - }, - "returnParameters": { - "id": 694, - "nodeType": "ParameterList", - "parameters": [], - "src": "8475:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 744, - "nodeType": "FunctionDefinition", - "src": "8721:146:1", - "nodes": [], - "body": { - "id": 743, - "nodeType": "Block", - "src": "8816:51:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 739, - "name": "recipients", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "8840:10:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 740, - "name": "amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 734, - "src": "8852:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 738, - "name": "_allocateMany", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "8826:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address[] memory,uint256[] memory)" - } - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8826:34:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 742, - "nodeType": "ExpressionStatement", - "src": "8826:34:1" - } - ] - }, - "baseFunctions": [ - 2224 - ], - "functionSelector": "79328677", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allocateMany", - "nameLocation": "8730:12:1", - "overrides": { - "id": 736, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8807:8:1" - }, - "parameters": { - "id": 735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 731, - "mutability": "mutable", - "name": "recipients", - "nameLocation": "8760:10:1", - "nodeType": "VariableDeclaration", - "scope": 744, - "src": "8743:27:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 729, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8743:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 730, - "nodeType": "ArrayTypeName", - "src": "8743:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 734, - "mutability": "mutable", - "name": "amounts", - "nameLocation": "8789:7:1", - "nodeType": "VariableDeclaration", - "scope": 744, - "src": "8772:24:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8772:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 733, - "nodeType": "ArrayTypeName", - "src": "8772:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "8742:55:1" - }, - "returnParameters": { - "id": 737, - "nodeType": "ParameterList", - "parameters": [], - "src": "8816:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 765, - "nodeType": "FunctionDefinition", - "src": "8873:184:1", - "nodes": [], - "body": { - "id": 764, - "nodeType": "Block", - "src": "8968:89:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 755, - "name": "recipients", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 747, - "src": "8992:10:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 756, - "name": "amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 750, - "src": "9004:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 754, - "name": "_allocateMany", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "8978:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address[] memory,uint256[] memory)" - } - }, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8978:34:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 758, - "nodeType": "ExpressionStatement", - "src": "8978:34:1" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 760, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9039:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9043:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "9039:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 759, - "name": "GivBackPaid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "9027:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9027:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 763, - "nodeType": "EmitStatement", - "src": "9022:28:1" - } - ] - }, - "baseFunctions": [ - 2233 - ], - "functionSelector": "7effb533", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendGIVbacks", - "nameLocation": "8882:12:1", - "overrides": { - "id": 752, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8959:8:1" - }, - "parameters": { - "id": 751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 747, - "mutability": "mutable", - "name": "recipients", - "nameLocation": "8912:10:1", - "nodeType": "VariableDeclaration", - "scope": 765, - "src": "8895:27:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 745, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8895:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 746, - "nodeType": "ArrayTypeName", - "src": "8895:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 750, - "mutability": "mutable", - "name": "amounts", - "nameLocation": "8941:7:1", - "nodeType": "VariableDeclaration", - "scope": 765, - "src": "8924:24:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 748, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8924:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 749, - "nodeType": "ArrayTypeName", - "src": "8924:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "8894:55:1" - }, - "returnParameters": { - "id": 753, - "nodeType": "ParameterList", - "parameters": [], - "src": "8968:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 785, - "nodeType": "FunctionDefinition", - "src": "9063:185:1", - "nodes": [], - "body": { - "id": 784, - "nodeType": "Block", - "src": "9154:94:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 775, - "name": "recipients", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 768, - "src": "9178:10:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 776, - "name": "amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 771, - "src": "9190:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 774, - "name": "_allocateMany", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "9164:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address[] memory,uint256[] memory)" - } - }, - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9164:34:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 778, - "nodeType": "ExpressionStatement", - "src": "9164:34:1" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 780, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9230:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9234:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "9230:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 779, - "name": "PraiseRewardPaid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "9213:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9213:28:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 783, - "nodeType": "EmitStatement", - "src": "9208:33:1" - } - ] - }, - "functionSelector": "208c9327", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendPraiseRewards", - "nameLocation": "9072:17:1", - "parameters": { - "id": 772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 768, - "mutability": "mutable", - "name": "recipients", - "nameLocation": "9107:10:1", - "nodeType": "VariableDeclaration", - "scope": 785, - "src": "9090:27:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9090:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 767, - "nodeType": "ArrayTypeName", - "src": "9090:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 771, - "mutability": "mutable", - "name": "amounts", - "nameLocation": "9136:7:1", - "nodeType": "VariableDeclaration", - "scope": 785, - "src": "9119:24:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9119:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 770, - "nodeType": "ArrayTypeName", - "src": "9119:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "9089:55:1" - }, - "returnParameters": { - "id": 773, - "nodeType": "ParameterList", - "parameters": [], - "src": "9154:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 799, - "nodeType": "FunctionDefinition", - "src": "9536:121:1", - "nodes": [], - "body": { - "id": 798, - "nodeType": "Block", - "src": "9597:60:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 793, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9627:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9631:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "9627:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 795, - "name": "newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "9639:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 792, - "name": "_transferAllocation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "9607:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9607:43:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 797, - "nodeType": "ExpressionStatement", - "src": "9607:43:1" - } - ] - }, - "baseFunctions": [ - 2239 - ], - "documentation": { - "id": 786, - "nodeType": "StructuredDocumentation", - "src": "9254:277:1", - "text": " Function that allows a recipient to change its address\n @dev The change can only be made to an address that has not previously received an allocation &\n the distributor cannot change its address\n Emits a {ChangeAddress} event." - }, - "functionSelector": "fe64d6ff", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "changeAddress", - "nameLocation": "9545:13:1", - "overrides": { - "id": 790, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "9588:8:1" - }, - "parameters": { - "id": 789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 788, - "mutability": "mutable", - "name": "newAddress", - "nameLocation": "9567:10:1", - "nodeType": "VariableDeclaration", - "scope": 799, - "src": "9559:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 787, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9559:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "9558:20:1" - }, - "returnParameters": { - "id": 791, - "nodeType": "ParameterList", - "parameters": [], - "src": "9597:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 810, - "nodeType": "FunctionDefinition", - "src": "9739:110:1", - "nodes": [], - "body": { - "id": 809, - "nodeType": "Block", - "src": "9810:39:1", - "nodes": [], - "statements": [ - { - "expression": { - "expression": { - "id": 806, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "9827:5:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9833:9:1", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "9827:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 805, - "id": 808, - "nodeType": "Return", - "src": "9820:22:1" - } - ] - }, - "baseFunctions": [ - 2245 - ], - "documentation": { - "id": 800, - "nodeType": "StructuredDocumentation", - "src": "9663:71:1", - "text": " Function to get the current timestamp from the block" - }, - "functionSelector": "188ec356", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTimestamp", - "nameLocation": "9748:12:1", - "overrides": { - "id": 802, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "9783:8:1" - }, - "parameters": { - "id": 801, - "nodeType": "ParameterList", - "parameters": [], - "src": "9760:2:1" - }, - "returnParameters": { - "id": 805, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 804, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 810, - "src": "9801:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9801:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9800:9:1" - }, - "scope": 1109, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 855, - "nodeType": "FunctionDefinition", - "src": "10070:384:1", - "nodes": [], - "body": { - "id": 854, - "nodeType": "Block", - "src": "10157:297:1", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 819, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "10171:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 820, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "10183:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10171:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 824, - "nodeType": "IfStatement", - "src": "10167:35:1", - "trueBody": { - "expression": { - "hexValue": "30", - "id": 822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10201:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 818, - "id": 823, - "nodeType": "Return", - "src": "10194:8:1" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 825, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "10216:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 826, - "name": "cliffTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 311, - "src": "10228:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10216:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 830, - "nodeType": "IfStatement", - "src": "10212:47:1", - "trueBody": { - "expression": { - "id": 828, - "name": "initialAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "10246:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 818, - "id": 829, - "nodeType": "Return", - "src": "10239:20:1" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 831, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "10273:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 832, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "10285:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 833, - "name": "duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "10297:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10285:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10273:32:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 838, - "nodeType": "IfStatement", - "src": "10269:56:1", - "trueBody": { - "expression": { - "id": 836, - "name": "totalTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "10314:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 818, - "id": 837, - "nodeType": "Return", - "src": "10307:18:1" - } - }, - { - "assignments": [ - 840 - ], - "declarations": [ - { - "constant": false, - "id": 840, - "mutability": "mutable", - "name": "deltaTime", - "nameLocation": "10344:9:1", - "nodeType": "VariableDeclaration", - "scope": 854, - "src": "10336:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10336:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 844, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 841, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "10356:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 842, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "10368:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10356:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10336:41:1" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 845, - "name": "initialAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "10394:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 846, - "name": "deltaTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "10411:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 847, - "name": "lockedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "10423:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10411:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 849, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10410:26:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 850, - "name": "duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "10439:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10410:37:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10394:53:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 818, - "id": 853, - "nodeType": "Return", - "src": "10387:60:1" - } - ] - }, - "baseFunctions": [ - 2253 - ], - "documentation": { - "id": 811, - "nodeType": "StructuredDocumentation", - "src": "9855:210:1", - "text": " Function to get the total claimable tokens at some moment\n @param timestamp Unix time to check the number of tokens claimable\n @return Number of tokens claimable at that timestamp" - }, - "functionSelector": "6d8500db", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "globallyClaimableAt", - "nameLocation": "10079:19:1", - "overrides": { - "id": 815, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "10130:8:1" - }, - "parameters": { - "id": 814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 813, - "mutability": "mutable", - "name": "timestamp", - "nameLocation": "10107:9:1", - "nodeType": "VariableDeclaration", - "scope": 855, - "src": "10099:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10099:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10098:19:1" - }, - "returnParameters": { - "id": 818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 817, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 855, - "src": "10148:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10148:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10147:9:1" - }, - "scope": 1109, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 905, - "nodeType": "FunctionDefinition", - "src": "10670:501:1", - "nodes": [], - "body": { - "id": 904, - "nodeType": "Block", - "src": "10768:403:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10786:37:1", - "subExpression": { - "arguments": [ - { - "id": 868, - "name": "DISTRIBUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "10795:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 869, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "10813:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 867, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47535, - "src": "10787:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10787:36:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a636c61696d61626c6541743a204449535452494255544f525f524f4c455f43414e4e4f545f434c41494d", - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10825:57:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_312b5ca34eec8e22722419d616ecf59152b609f9ac8df7b6f8b3240a5e093f84", - "typeString": "literal_string \"TokenDistro::claimableAt: DISTRIBUTOR_ROLE_CANNOT_CLAIM\"" - }, - "value": "TokenDistro::claimableAt: DISTRIBUTOR_ROLE_CANNOT_CLAIM" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_312b5ca34eec8e22722419d616ecf59152b609f9ac8df7b6f8b3240a5e093f84", - "typeString": "literal_string \"TokenDistro::claimableAt: DISTRIBUTOR_ROLE_CANNOT_CLAIM\"" - } - ], - "id": 866, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10778:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10778:105:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 874, - "nodeType": "ExpressionStatement", - "src": "10778:105:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 876, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 860, - "src": "10901:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 877, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "10914:12:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10914:14:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10901:27:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a636c61696d61626c6541743a204e4f545f56414c49445f504153545f54494d455354414d50", - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10930:52:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2aa02d99a5cb067bbd8acd8a272637e88a33057e0c606c8ed54be22f4d3db5d6", - "typeString": "literal_string \"TokenDistro::claimableAt: NOT_VALID_PAST_TIMESTAMP\"" - }, - "value": "TokenDistro::claimableAt: NOT_VALID_PAST_TIMESTAMP" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2aa02d99a5cb067bbd8acd8a272637e88a33057e0c606c8ed54be22f4d3db5d6", - "typeString": "literal_string \"TokenDistro::claimableAt: NOT_VALID_PAST_TIMESTAMP\"" - } - ], - "id": 875, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10893:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10893:90:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 882, - "nodeType": "ExpressionStatement", - "src": "10893:90:1" - }, - { - "assignments": [ - 884 - ], - "declarations": [ - { - "constant": false, - "id": 884, - "mutability": "mutable", - "name": "unlockedAmount", - "nameLocation": "11001:14:1", - "nodeType": "VariableDeclaration", - "scope": 904, - "src": "10993:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10993:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 896, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 886, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 860, - "src": "11039:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 885, - "name": "globallyClaimableAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 855, - "src": "11019:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11019:30:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 888, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "11052:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 890, - "indexExpression": { - "id": 889, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "11061:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11052:19:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 891, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11072:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "11052:35:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11019:68:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 893, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11018:70:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 894, - "name": "totalTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "11091:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11018:84:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10993:109:1" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 897, - "name": "unlockedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 884, - "src": "11120:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 898, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "11137:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 900, - "indexExpression": { - "id": 899, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "11146:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11137:19:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 901, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11157:7:1", - "memberName": "claimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 298, - "src": "11137:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11120:44:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 865, - "id": 903, - "nodeType": "Return", - "src": "11113:51:1" - } - ] - }, - "baseFunctions": [ - 2263 - ], - "documentation": { - "id": 856, - "nodeType": "StructuredDocumentation", - "src": "10460:205:1", - "text": " Function to get the unlocked tokes at some moment for a specific address\n @param recipient account to query\n @param timestamp Instant of time in which the calculation is made" - }, - "functionSelector": "5066c893", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claimableAt", - "nameLocation": "10679:11:1", - "overrides": { - "id": 862, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "10741:8:1" - }, - "parameters": { - "id": 861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 858, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "10699:9:1", - "nodeType": "VariableDeclaration", - "scope": 905, - "src": "10691:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10691:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 860, - "mutability": "mutable", - "name": "timestamp", - "nameLocation": "10718:9:1", - "nodeType": "VariableDeclaration", - "scope": 905, - "src": "10710:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 859, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10710:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10690:38:1" - }, - "returnParameters": { - "id": 865, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 864, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 905, - "src": "10759:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10759:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10758:9:1" - }, - "scope": 1109, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 921, - "nodeType": "FunctionDefinition", - "src": "11331:142:1", - "nodes": [], - "body": { - "id": 920, - "nodeType": "Block", - "src": "11411:62:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 915, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "11440:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 916, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "11451:12:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11451:14:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 914, - "name": "claimableAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "11428:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11428:38:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 913, - "id": 919, - "nodeType": "Return", - "src": "11421:45:1" - } - ] - }, - "baseFunctions": [ - 2271 - ], - "documentation": { - "id": 906, - "nodeType": "StructuredDocumentation", - "src": "11177:149:1", - "text": " Function to get the unlocked tokens for a specific address. It uses the current timestamp\n @param recipient account to query" - }, - "functionSelector": "9a78ea4a", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "claimableNow", - "nameLocation": "11340:12:1", - "overrides": { - "id": 910, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "11384:8:1" - }, - "parameters": { - "id": 909, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 908, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "11361:9:1", - "nodeType": "VariableDeclaration", - "scope": 921, - "src": "11353:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11353:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "11352:19:1" - }, - "returnParameters": { - "id": 913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 912, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 921, - "src": "11402:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11402:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11401:9:1" - }, - "scope": 1109, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 950, - "nodeType": "FunctionDefinition", - "src": "11843:347:1", - "nodes": [], - "body": { - "id": 949, - "nodeType": "Block", - "src": "11934:256:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 931, - "name": "cancelable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 322, - "src": "11952:10:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a7472616e73666572416c6c6f636174696f6e3a204e4f545f43414e43454c41424c45", - "id": 932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11964:49:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_289df8b55ed4b3e8bc3d3ddc3cb156f895994824512d011ce8ce9d5eb2f7f33e", - "typeString": "literal_string \"TokenDistro::transferAllocation: NOT_CANCELABLE\"" - }, - "value": "TokenDistro::transferAllocation: NOT_CANCELABLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_289df8b55ed4b3e8bc3d3ddc3cb156f895994824512d011ce8ce9d5eb2f7f33e", - "typeString": "literal_string \"TokenDistro::transferAllocation: NOT_CANCELABLE\"" - } - ], - "id": 930, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11944:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11944:70:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 934, - "nodeType": "ExpressionStatement", - "src": "11944:70:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 937, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47471, - "src": "12041:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 938, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12061:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12065:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12061:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 936, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47535, - "src": "12033:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12033:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a7472616e73666572416c6c6f636174696f6e3a204f4e4c595f41444d494e5f524f4c45", - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12074:50:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5fcfb1d8c3779becaf66e664ab992965b9414dedf8e4be9c3813216c4b17ea0e", - "typeString": "literal_string \"TokenDistro::transferAllocation: ONLY_ADMIN_ROLE\"" - }, - "value": "TokenDistro::transferAllocation: ONLY_ADMIN_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5fcfb1d8c3779becaf66e664ab992965b9414dedf8e4be9c3813216c4b17ea0e", - "typeString": "literal_string \"TokenDistro::transferAllocation: ONLY_ADMIN_ROLE\"" - } - ], - "id": 935, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12025:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12025:100:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 943, - "nodeType": "ExpressionStatement", - "src": "12025:100:1" - }, - { - "expression": { - "arguments": [ - { - "id": 945, - "name": "prevRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "12155:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 946, - "name": "newRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "12170:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 944, - "name": "_transferAllocation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "12135:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12135:48:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 948, - "nodeType": "ExpressionStatement", - "src": "12135:48:1" - } - ] - }, - "baseFunctions": [ - 2278 - ], - "documentation": { - "id": 922, - "nodeType": "StructuredDocumentation", - "src": "11479:359:1", - "text": " Function that allows the DEFAULT_ADMIN_ROLE to change a recipient in case it wants to cancel an allocation\n @dev The change can only be made when cancelable is true and to an address that has not previously received\n an allocation and the distributor cannot change its address\n Emits a {ChangeAddress} event." - }, - "functionSelector": "397f6121", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferAllocation", - "nameLocation": "11852:18:1", - "overrides": { - "id": 928, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "11925:8:1" - }, - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 924, - "mutability": "mutable", - "name": "prevRecipient", - "nameLocation": "11879:13:1", - "nodeType": "VariableDeclaration", - "scope": 950, - "src": "11871:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 923, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11871:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "mutability": "mutable", - "name": "newRecipient", - "nameLocation": "11902:12:1", - "nodeType": "VariableDeclaration", - "scope": 950, - "src": "11894:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 925, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11894:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "11870:45:1" - }, - "returnParameters": { - "id": 929, - "nodeType": "ParameterList", - "parameters": [], - "src": "11934:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 994, - "nodeType": "FunctionDefinition", - "src": "12342:395:1", - "nodes": [], - "body": { - "id": 993, - "nodeType": "Block", - "src": "12385:352:1", - "nodes": [], - "statements": [ - { - "assignments": [ - 957 - ], - "declarations": [ - { - "constant": false, - "id": 957, - "mutability": "mutable", - "name": "remainingToClaim", - "nameLocation": "12403:16:1", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "12395:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12395:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 961, - "initialValue": { - "arguments": [ - { - "id": 959, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "12435:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 958, - "name": "claimableNow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "12422:12:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12422:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12395:50:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 963, - "name": "remainingToClaim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "12464:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12483:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12464:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a636c61696d3a204e4f545f454e4f5547485f544f4b454e535f544f5f434c41494d", - "id": 966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12486:48:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c92d4090b6044806d3ccc0e63f834fe15448b980986c6e2abcc5330f99930503", - "typeString": "literal_string \"TokenDistro::claim: NOT_ENOUGH_TOKENS_TO_CLAIM\"" - }, - "value": "TokenDistro::claim: NOT_ENOUGH_TOKENS_TO_CLAIM" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c92d4090b6044806d3ccc0e63f834fe15448b980986c6e2abcc5330f99930503", - "typeString": "literal_string \"TokenDistro::claim: NOT_ENOUGH_TOKENS_TO_CLAIM\"" - } - ], - "id": 962, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12456:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12456:79:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 968, - "nodeType": "ExpressionStatement", - "src": "12456:79:1" - }, - { - "expression": { - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 969, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "12546:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 971, - "indexExpression": { - "id": 970, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "12555:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12546:19:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12566:7:1", - "memberName": "claimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 298, - "src": "12546:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 973, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "12576:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 975, - "indexExpression": { - "id": 974, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "12585:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12576:19:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 976, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12596:7:1", - "memberName": "claimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 298, - "src": "12576:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 977, - "name": "remainingToClaim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "12606:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12576:46:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12546:76:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 980, - "nodeType": "ExpressionStatement", - "src": "12546:76:1" - }, - { - "expression": { - "arguments": [ - { - "id": 984, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "12652:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 985, - "name": "remainingToClaim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "12663:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 981, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 320, - "src": "12633:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Upgradeable_$48121", - "typeString": "contract IERC20Upgradeable" - } - }, - "id": 983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12639:12:1", - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 48190, - "src": "12633:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20Upgradeable_$48121_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20Upgradeable_$48121_$", - "typeString": "function (contract IERC20Upgradeable,address,uint256)" - } - }, - "id": 986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12633:47:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 987, - "nodeType": "ExpressionStatement", - "src": "12633:47:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 989, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "12702:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 990, - "name": "remainingToClaim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "12713:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 988, - "name": "Claim", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2148, - "src": "12696:5:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12696:34:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 992, - "nodeType": "EmitStatement", - "src": "12691:39:1" - } - ] - }, - "documentation": { - "id": 951, - "nodeType": "StructuredDocumentation", - "src": "12196:141:1", - "text": " Function to claim tokens for a specific address. It uses the current timestamp\n Emits a {claim} event." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_claim", - "nameLocation": "12351:6:1", - "parameters": { - "id": 954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 953, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "12366:9:1", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "12358:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 952, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12358:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "12357:19:1" - }, - "returnParameters": { - "id": 955, - "nodeType": "ParameterList", - "parameters": [], - "src": "12385:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "id": 1026, - "nodeType": "FunctionDefinition", - "src": "12798:334:1", - "nodes": [], - "body": { - "id": 1025, - "nodeType": "Block", - "src": "12847:285:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1002, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47471, - "src": "12873:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 1003, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12893:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12897:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12893:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1001, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47535, - "src": "12865:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 1005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12865:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a7365744475726174696f6e3a204f4e4c595f41444d494e5f524f4c45", - "id": 1006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12906:43:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bb0bd924931f64c549ab2a7442b949e6dba89b84913ab8937bc4761857fcfceb", - "typeString": "literal_string \"TokenDistro::setDuration: ONLY_ADMIN_ROLE\"" - }, - "value": "TokenDistro::setDuration: ONLY_ADMIN_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bb0bd924931f64c549ab2a7442b949e6dba89b84913ab8937bc4761857fcfceb", - "typeString": "literal_string \"TokenDistro::setDuration: ONLY_ADMIN_ROLE\"" - } - ], - "id": 1000, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12857:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12857:93:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1008, - "nodeType": "ExpressionStatement", - "src": "12857:93:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1010, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "12969:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1011, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "12981:12:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 1012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12981:14:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12969:26:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a7365744475726174696f6e3a2049465f4841535f4e4f545f535441525445445f594554", - "id": 1014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12997:50:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ccd8c4b88dc097bf30f55e200cee514dd9861fd8e18947a44e5953bb072ed7a8", - "typeString": "literal_string \"TokenDistro::setDuration: IF_HAS_NOT_STARTED_YET\"" - }, - "value": "TokenDistro::setDuration: IF_HAS_NOT_STARTED_YET" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ccd8c4b88dc097bf30f55e200cee514dd9861fd8e18947a44e5953bb072ed7a8", - "typeString": "literal_string \"TokenDistro::setDuration: IF_HAS_NOT_STARTED_YET\"" - } - ], - "id": 1009, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12961:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12961:87:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1016, - "nodeType": "ExpressionStatement", - "src": "12961:87:1" - }, - { - "expression": { - "id": 1019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1017, - "name": "duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "13059:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1018, - "name": "newDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 997, - "src": "13070:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13059:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1020, - "nodeType": "ExpressionStatement", - "src": "13059:22:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 1022, - "name": "newDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 997, - "src": "13113:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1021, - "name": "DurationChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 337, - "src": "13097:15:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13097:28:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1024, - "nodeType": "EmitStatement", - "src": "13092:33:1" - } - ] - }, - "documentation": { - "id": 995, - "nodeType": "StructuredDocumentation", - "src": "12743:50:1", - "text": " Function to change the duration" - }, - "functionSelector": "f6be71d1", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setDuration", - "nameLocation": "12807:11:1", - "parameters": { - "id": 998, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 997, - "mutability": "mutable", - "name": "newDuration", - "nameLocation": "12827:11:1", - "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "12819:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 996, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12819:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12818:21:1" - }, - "returnParameters": { - "id": 999, - "nodeType": "ParameterList", - "parameters": [], - "src": "12847:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 1108, - "nodeType": "FunctionDefinition", - "src": "13138:901:1", - "nodes": [], - "body": { - "id": 1107, - "nodeType": "Block", - "src": "13221:818:1", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 1034, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "13252:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 1036, - "indexExpression": { - "id": 1035, - "name": "prevRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "13261:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13252:23:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 1037, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13276:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "13252:39:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13294:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13252:43:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a7472616e73666572416c6c6f636174696f6e3a204e4f5f414c4c4f434154494f4e5f544f5f5452414e53464552", - "id": 1040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13297:60:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_19bd4e8d24755b05f8a581b4722fddc4ae3caac0895f47efe67a626025830961", - "typeString": "literal_string \"TokenDistro::transferAllocation: NO_ALLOCATION_TO_TRANSFER\"" - }, - "value": "TokenDistro::transferAllocation: NO_ALLOCATION_TO_TRANSFER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_19bd4e8d24755b05f8a581b4722fddc4ae3caac0895f47efe67a626025830961", - "typeString": "literal_string \"TokenDistro::transferAllocation: NO_ALLOCATION_TO_TRANSFER\"" - } - ], - "id": 1033, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13231:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13231:136:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1042, - "nodeType": "ExpressionStatement", - "src": "13231:136:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13398:41:1", - "subExpression": { - "arguments": [ - { - "id": 1045, - "name": "DISTRIBUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "13407:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1046, - "name": "prevRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "13425:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1044, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47535, - "src": "13399:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 1047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13399:40:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "id": 1053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13443:40:1", - "subExpression": { - "arguments": [ - { - "id": 1050, - "name": "DISTRIBUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "13452:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1051, - "name": "newRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "13470:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1049, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47535, - "src": "13444:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 1052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13444:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13398:85:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f6b656e44697374726f3a3a7472616e73666572416c6c6f636174696f6e3a204449535452494255544f525f524f4c455f4e4f545f415f56414c49445f41444452455353", - "id": 1055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13497:71:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dab64ee7a7fafed40b685fbd3b546e861126516e1c398dd7ce73bfb720f51323", - "typeString": "literal_string \"TokenDistro::transferAllocation: DISTRIBUTOR_ROLE_NOT_A_VALID_ADDRESS\"" - }, - "value": "TokenDistro::transferAllocation: DISTRIBUTOR_ROLE_NOT_A_VALID_ADDRESS" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dab64ee7a7fafed40b685fbd3b546e861126516e1c398dd7ce73bfb720f51323", - "typeString": "literal_string \"TokenDistro::transferAllocation: DISTRIBUTOR_ROLE_NOT_A_VALID_ADDRESS\"" - } - ], - "id": 1043, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13377:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13377:201:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1057, - "nodeType": "ExpressionStatement", - "src": "13377:201:1" - }, - { - "expression": { - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 1058, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "13634:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 1060, - "indexExpression": { - "id": 1059, - "name": "newRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "13643:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13634:22:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 1061, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "13657:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "13634:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 1062, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "13687:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 1064, - "indexExpression": { - "id": 1063, - "name": "prevRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "13696:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13687:23:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 1065, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13711:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "13687:39:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 1066, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "13729:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 1068, - "indexExpression": { - "id": 1067, - "name": "newRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "13738:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13729:22:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 1069, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13752:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "13729:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13687:80:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13634:133:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1072, - "nodeType": "ExpressionStatement", - "src": "13634:133:1" - }, - { - "expression": { - "id": 1078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 1073, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "13777:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 1075, - "indexExpression": { - "id": 1074, - "name": "prevRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "13786:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13777:23:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 1076, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "13801:15:1", - "memberName": "allocatedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 296, - "src": "13777:39:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 1077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13819:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13777:43:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1079, - "nodeType": "ExpressionStatement", - "src": "13777:43:1" - }, - { - "expression": { - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 1080, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "13831:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 1082, - "indexExpression": { - "id": 1081, - "name": "newRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "13840:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13831:22:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 1083, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "13854:7:1", - "memberName": "claimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 298, - "src": "13831:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 1084, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "13864:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 1086, - "indexExpression": { - "id": 1085, - "name": "prevRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "13873:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13864:23:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 1087, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13888:7:1", - "memberName": "claimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 298, - "src": "13864:31:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 1088, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "13898:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 1090, - "indexExpression": { - "id": 1089, - "name": "newRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "13907:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13898:22:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 1091, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13921:7:1", - "memberName": "claimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 298, - "src": "13898:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13864:64:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13831:97:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1094, - "nodeType": "ExpressionStatement", - "src": "13831:97:1" - }, - { - "expression": { - "id": 1100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 1095, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "13939:8:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_accountStatus_$299_storage_$", - "typeString": "mapping(address => struct TokenDistroV2.accountStatus storage ref)" - } - }, - "id": 1097, - "indexExpression": { - "id": 1096, - "name": "prevRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "13948:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13939:23:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_accountStatus_$299_storage", - "typeString": "struct TokenDistroV2.accountStatus storage ref" - } - }, - "id": 1098, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "13963:7:1", - "memberName": "claimed", - "nodeType": "MemberAccess", - "referencedDeclaration": 298, - "src": "13939:31:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 1099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13973:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13939:35:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1101, - "nodeType": "ExpressionStatement", - "src": "13939:35:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 1103, - "name": "prevRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "14004:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1104, - "name": "newRecipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "14019:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1102, - "name": "ChangeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2173, - "src": "13990:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13990:42:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "EmitStatement", - "src": "13985:47:1" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferAllocation", - "nameLocation": "13147:19:1", - "parameters": { - "id": 1031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1028, - "mutability": "mutable", - "name": "prevRecipient", - "nameLocation": "13175:13:1", - "nodeType": "VariableDeclaration", - "scope": 1108, - "src": "13167:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1027, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13167:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1030, - "mutability": "mutable", - "name": "newRecipient", - "nameLocation": "13198:12:1", - "nodeType": "VariableDeclaration", - "scope": 1108, - "src": "13190:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1029, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13190:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "13166:45:1" - }, - "returnParameters": { - "id": 1032, - "nodeType": "ParameterList", - "parameters": [], - "src": "13221:0:1" - }, - "scope": 1109, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 282, - "name": "Initializable", - "nameLocations": [ - "758:13:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 48043, - "src": "758:13:1" - }, - "id": 283, - "nodeType": "InheritanceSpecifier", - "src": "758:13:1" - }, - { - "baseName": { - "id": 284, - "name": "IDistro", - "nameLocations": [ - "773:7:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2279, - "src": "773:7:1" - }, - "id": 285, - "nodeType": "InheritanceSpecifier", - "src": "773:7:1" - }, - { - "baseName": { - "id": 286, - "name": "AccessControlEnumerableUpgradeable", - "nameLocations": [ - "782:34:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 47440, - "src": "782:34:1" - }, - "id": 287, - "nodeType": "InheritanceSpecifier", - "src": "782:34:1" - } - ], - "canonicalName": "TokenDistroV2", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 281, - "nodeType": "StructuredDocumentation", - "src": "442:289:1", - "text": " Contract responsible for managing the release of tokens over time.\n The distributor is in charge of releasing the corresponding amounts to its recipients.\n This distributor is expected to be another smart contract, such as a merkledrop or the liquidity mining smart contract" - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 1109, - 47440, - 47776, - 49178, - 49190, - 47801, - 47874, - 48905, - 2279, - 48043 - ], - "name": "TokenDistroV2", - "nameLocation": "741:13:1", - "scope": 1110, - "usedErrors": [], - "usedEvents": [ - 327, - 332, - 337, - 2148, - 2157, - 2166, - 2173, - 2180, - 47813, - 47822, - 47831, - 47889 - ] - } - ], - "license": "GPL-3.0" - }, - "id": 1 -} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e7f1aa4..0a861b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,6 +36,32 @@ "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz", "integrity": "sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==" }, + "node_modules/@chainsafe/as-sha256": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-0.3.1.tgz", + "integrity": "sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg==", + "peer": true + }, + "node_modules/@chainsafe/persistent-merkle-tree": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.2.tgz", + "integrity": "sha512-lLO3ihKPngXLTus/L7WHKaw9PnNJWizlOF1H9NNzHP6Xvh82vzg9F2bzkXhYIFshMZ2gTCEz8tq6STe7r5NDfQ==", + "peer": true, + "dependencies": { + "@chainsafe/as-sha256": "^0.3.1" + } + }, + "node_modules/@chainsafe/ssz": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@chainsafe/ssz/-/ssz-0.9.4.tgz", + "integrity": "sha512-77Qtg2N1ayqs4Bg/wvnWfg5Bta7iy7IRh8XqXh7oNMeP2HBbBwx8m6yTpA8p0EHItWPEBkgZd5S5/LSlp3GXuQ==", + "peer": true, + "dependencies": { + "@chainsafe/as-sha256": "^0.3.1", + "@chainsafe/persistent-merkle-tree": "^0.4.2", + "case": "^1.6.3" + } + }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -163,10 +189,21 @@ "node": ">=14" } }, + "node_modules/@ethereumjs/util/node_modules/@noble/curves": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz", + "integrity": "sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==", + "dependencies": { + "@noble/hashes": "1.3.1" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@ethereumjs/util/node_modules/@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz", + "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==", "engines": { "node": ">= 16" }, @@ -175,39 +212,39 @@ } }, "node_modules/@ethereumjs/util/node_modules/@scure/bip32": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.3.tgz", - "integrity": "sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz", + "integrity": "sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==", "dependencies": { - "@noble/curves": "~1.3.0", - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" + "@noble/curves": "~1.1.0", + "@noble/hashes": "~1.3.1", + "@scure/base": "~1.1.0" }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@ethereumjs/util/node_modules/@scure/bip39": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.2.tgz", - "integrity": "sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz", + "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==", "dependencies": { - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@ethereumjs/util/node_modules/ethereum-cryptography": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.3.tgz", - "integrity": "sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz", + "integrity": "sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug==", "dependencies": { - "@noble/curves": "1.3.0", - "@noble/hashes": "1.3.3", - "@scure/bip32": "1.3.3", - "@scure/bip39": "1.2.2" + "@noble/curves": "1.1.0", + "@noble/hashes": "1.3.1", + "@scure/bip32": "1.3.1", + "@scure/bip39": "1.2.1" } }, "node_modules/@ethersproject/abi": { @@ -322,6 +359,26 @@ "@ethersproject/bytes": "^5.7.0" } }, + "node_modules/@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, "node_modules/@ethersproject/bignumber": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", @@ -378,6 +435,34 @@ "@ethersproject/bignumber": "^5.7.0" } }, + "node_modules/@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" + } + }, "node_modules/@ethersproject/hash": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", @@ -404,6 +489,73 @@ "@ethersproject/strings": "^5.7.0" } }, + "node_modules/@ethersproject/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "node_modules/@ethersproject/json-wallets/node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", + "peer": true + }, "node_modules/@ethersproject/keccak256": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", @@ -456,6 +608,26 @@ "@ethersproject/logger": "^5.7.0" } }, + "node_modules/@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, "node_modules/@ethersproject/properties": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", @@ -474,6 +646,85 @@ "@ethersproject/logger": "^5.7.0" } }, + "node_modules/@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + } + }, + "node_modules/@ethersproject/providers/node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, "node_modules/@ethersproject/rlp": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", @@ -605,6 +856,60 @@ "@ethersproject/signing-key": "^5.7.0" } }, + "node_modules/@ethersproject/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, "node_modules/@ethersproject/web": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", @@ -627,6 +932,29 @@ "@ethersproject/strings": "^5.7.0" } }, + "node_modules/@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, "node_modules/@fastify/busboy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", @@ -637,9 +965,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "engines": { "node": ">=6.0.0" } @@ -675,38 +1003,26 @@ } }, "node_modules/@noble/curves": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz", - "integrity": "sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", "dependencies": { - "@noble/hashes": "1.3.3" + "@noble/hashes": "1.3.2" }, "funding": { "url": "https://paulmillr.com/funding/" } }, - "node_modules/@noble/curves/node_modules/@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", + "node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", "engines": { "node": ">= 16" }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/hashes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", - "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "peer": true + "funding": { + "url": "https://paulmillr.com/funding/" + } }, "node_modules/@noble/secp256k1": { "version": "1.7.1", @@ -721,20 +1037,21 @@ "peer": true }, "node_modules/@nomicfoundation/ethereumjs-block": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-5.0.4.tgz", - "integrity": "sha512-AcyacJ9eX/uPEvqsPiB+WO1ymE+kyH48qGGiGV+YTojdtas8itUTW5dehDSOXEEItWGbbzEJ4PRqnQZlWaPvDw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-5.0.2.tgz", + "integrity": "sha512-hSe6CuHI4SsSiWWjHDIzWhSiAVpzMUcDRpWYzN0T9l8/Rz7xNn3elwVOJ/tAyS0LqL6vitUD78Uk7lQDXZun7Q==", "peer": true, "dependencies": { - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-trie": "6.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "ethereum-cryptography": "0.1.3" + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-trie": "6.0.2", + "@nomicfoundation/ethereumjs-tx": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", + "ethereum-cryptography": "0.1.3", + "ethers": "^5.7.1" }, "engines": { - "node": ">=18" + "node": ">=14" } }, "node_modules/@nomicfoundation/ethereumjs-block/node_modules/ethereum-cryptography": { @@ -760,25 +1077,76 @@ "setimmediate": "^1.0.5" } }, - "node_modules/@nomicfoundation/ethereumjs-blockchain": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-7.0.4.tgz", - "integrity": "sha512-jYsd/kwzbmpnxx86tXsYV8wZ5xGvFL+7/P0c6OlzpClHsbFzeF41KrYA9scON8Rg6bZu3ZTv6JOAgj3t7USUfg==", + "node_modules/@nomicfoundation/ethereumjs-block/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "peer": true, "dependencies": { - "@nomicfoundation/ethereumjs-block": "5.0.4", - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-ethash": "3.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-trie": "6.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/@nomicfoundation/ethereumjs-blockchain": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-7.0.2.tgz", + "integrity": "sha512-8UUsSXJs+MFfIIAKdh3cG16iNmWzWC/91P40sazNvrqhhdR/RtGDlFk2iFTGbBAZPs2+klZVzhRX8m2wvuvz3w==", + "peer": true, + "dependencies": { + "@nomicfoundation/ethereumjs-block": "5.0.2", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-ethash": "3.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-trie": "6.0.2", + "@nomicfoundation/ethereumjs-tx": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", + "abstract-level": "^1.0.3", "debug": "^4.3.3", "ethereum-cryptography": "0.1.3", - "lru-cache": "^10.0.0" + "level": "^8.0.0", + "lru-cache": "^5.1.1", + "memory-level": "^1.0.0" }, "engines": { - "node": ">=18" + "node": ">=14" } }, "node_modules/@nomicfoundation/ethereumjs-blockchain/node_modules/debug": { @@ -828,28 +1196,30 @@ "peer": true }, "node_modules/@nomicfoundation/ethereumjs-common": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz", - "integrity": "sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.2.tgz", + "integrity": "sha512-I2WGP3HMGsOoycSdOTSqIaES0ughQTueOsddJ36aYVpI3SN8YSusgRFLwzDJwRFVIYDKx/iJz0sQ5kBHVgdDwg==", "peer": true, "dependencies": { - "@nomicfoundation/ethereumjs-util": "9.0.4" + "@nomicfoundation/ethereumjs-util": "9.0.2", + "crc-32": "^1.2.0" } }, "node_modules/@nomicfoundation/ethereumjs-ethash": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-3.0.4.tgz", - "integrity": "sha512-xvIrwIMl9sSaiYKRem68+O7vYdj7Q2XWv5P7JXiIkn83918QzWHvqbswTRsH7+r6X1UEvdsURRnZbvZszEjAaQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-3.0.2.tgz", + "integrity": "sha512-8PfoOQCcIcO9Pylq0Buijuq/O73tmMVURK0OqdjhwqcGHYC2PwhbajDh7GZ55ekB0Px197ajK3PQhpKoiI/UPg==", "peer": true, "dependencies": { - "@nomicfoundation/ethereumjs-block": "5.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "bigint-crypto-utils": "^3.2.2", + "@nomicfoundation/ethereumjs-block": "5.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", + "abstract-level": "^1.0.3", + "bigint-crypto-utils": "^3.0.23", "ethereum-cryptography": "0.1.3" }, "engines": { - "node": ">=18" + "node": ">=14" } }, "node_modules/@nomicfoundation/ethereumjs-ethash/node_modules/ethereum-cryptography": { @@ -876,22 +1246,22 @@ } }, "node_modules/@nomicfoundation/ethereumjs-evm": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-2.0.4.tgz", - "integrity": "sha512-lTyZZi1KpeMHzaO6cSVisR2tjiTTedjo7PcmhI/+GNFo9BmyY6QYzGeSti0sFttmjbEMioHgXxl5yrLNRg6+1w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-2.0.2.tgz", + "integrity": "sha512-rBLcUaUfANJxyOx9HIdMX6uXGin6lANCulIm/pjMgRqfiCRMZie3WKYxTSd8ZE/d+qT+zTedBF4+VHTdTSePmQ==", "peer": true, "dependencies": { - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-statemanager": "2.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "@types/debug": "^4.1.9", + "@ethersproject/providers": "^5.7.1", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-tx": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", "debug": "^4.3.3", "ethereum-cryptography": "0.1.3", - "rustbn-wasm": "^0.2.0" + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" }, "engines": { - "node": ">=18" + "node": ">=14" } }, "node_modules/@nomicfoundation/ethereumjs-evm/node_modules/debug": { @@ -941,39 +1311,29 @@ "peer": true }, "node_modules/@nomicfoundation/ethereumjs-rlp": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz", - "integrity": "sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.2.tgz", + "integrity": "sha512-QwmemBc+MMsHJ1P1QvPl8R8p2aPvvVcKBbvHnQOKBpBztEo0omN0eaob6FeZS/e3y9NSe+mfu3nNFBHszqkjTA==", "peer": true, "bin": { - "rlp": "bin/rlp.cjs" + "rlp": "bin/rlp" }, "engines": { - "node": ">=18" + "node": ">=14" } }, "node_modules/@nomicfoundation/ethereumjs-statemanager": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-2.0.4.tgz", - "integrity": "sha512-HPDjeFrxw6llEi+BzqXkZ+KkvFnTOPczuHBtk21hRlDiuKuZz32dPzlhpRsDBGV1b5JTmRDUVqCS1lp3Gghw4Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-2.0.2.tgz", + "integrity": "sha512-dlKy5dIXLuDubx8Z74sipciZnJTRSV/uHG48RSijhgm1V7eXYFC567xgKtsKiVZB1ViTP9iFL4B6Je0xD6X2OA==", "peer": true, "dependencies": { - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-trie": "6.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", "debug": "^4.3.3", "ethereum-cryptography": "0.1.3", - "js-sdsl": "^4.1.4", - "lru-cache": "^10.0.0" - }, - "peerDependencies": { - "@nomicfoundation/ethereumjs-verkle": "0.0.2" - }, - "peerDependenciesMeta": { - "@nomicfoundation/ethereumjs-verkle": { - "optional": true - } + "ethers": "^5.7.1", + "js-sdsl": "^4.1.4" } }, "node_modules/@nomicfoundation/ethereumjs-statemanager/node_modules/debug": { @@ -1016,6 +1376,54 @@ "setimmediate": "^1.0.5" } }, + "node_modules/@nomicfoundation/ethereumjs-statemanager/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, "node_modules/@nomicfoundation/ethereumjs-statemanager/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -1023,20 +1431,19 @@ "peer": true }, "node_modules/@nomicfoundation/ethereumjs-trie": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-6.0.4.tgz", - "integrity": "sha512-3nSwQiFMvr2VFe/aZUyinuohYvtytUqZCUCvIWcPJ/BwJH6oQdZRB42aNFBJ/8nAh2s3OcroWpBLskzW01mFKA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-6.0.2.tgz", + "integrity": "sha512-yw8vg9hBeLYk4YNg5MrSJ5H55TLOv2FSWUTROtDtTMMmDGROsAu+0tBjiNGTnKRi400M6cEzoFfa89Fc5k8NTQ==", "peer": true, "dependencies": { - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", "@types/readable-stream": "^2.3.13", "ethereum-cryptography": "0.1.3", - "lru-cache": "^10.0.0", "readable-stream": "^3.6.0" }, "engines": { - "node": ">=18" + "node": ">=14" } }, "node_modules/@nomicfoundation/ethereumjs-trie/node_modules/ethereum-cryptography": { @@ -1063,26 +1470,20 @@ } }, "node_modules/@nomicfoundation/ethereumjs-tx": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz", - "integrity": "sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.2.tgz", + "integrity": "sha512-T+l4/MmTp7VhJeNloMkM+lPU3YMUaXdcXgTGCf8+ZFvV9NYZTRLFekRwlG6/JMmVfIfbrW+dRRJ9A6H5Q/Z64g==", "peer": true, "dependencies": { - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "@chainsafe/ssz": "^0.9.2", + "@ethersproject/providers": "^5.7.2", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", "ethereum-cryptography": "0.1.3" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "c-kzg": "^2.1.2" - }, - "peerDependenciesMeta": { - "c-kzg": { - "optional": true - } + "node": ">=14" } }, "node_modules/@nomicfoundation/ethereumjs-tx/node_modules/ethereum-cryptography": { @@ -1109,24 +1510,36 @@ } }, "node_modules/@nomicfoundation/ethereumjs-util": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz", - "integrity": "sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.2.tgz", + "integrity": "sha512-4Wu9D3LykbSBWZo8nJCnzVIYGvGCuyiYLIJa9XXNVt1q1jUzHdB+sJvx95VGCpPkCT+IbLecW6yfzy3E1bQrwQ==", "peer": true, "dependencies": { - "@nomicfoundation/ethereumjs-rlp": "5.0.4", + "@chainsafe/ssz": "^0.10.0", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", "ethereum-cryptography": "0.1.3" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "c-kzg": "^2.1.2" - }, - "peerDependenciesMeta": { - "c-kzg": { - "optional": true - } + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-util/node_modules/@chainsafe/persistent-merkle-tree": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.5.0.tgz", + "integrity": "sha512-l0V1b5clxA3iwQLXP40zYjyZYospQLZXzBVIhhr9kDg/1qHZfzzHw0jj4VPBijfYCArZDlPkRi1wZaV2POKeuw==", + "peer": true, + "dependencies": { + "@chainsafe/as-sha256": "^0.3.1" + } + }, + "node_modules/@nomicfoundation/ethereumjs-util/node_modules/@chainsafe/ssz": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@chainsafe/ssz/-/ssz-0.10.2.tgz", + "integrity": "sha512-/NL3Lh8K+0q7A3LsiFq09YXS9fPE+ead2rr7vM2QK8PLzrNsw3uqrif9bpRX5UxgeRjM+vYi+boCM3+GM4ovXg==", + "peer": true, + "dependencies": { + "@chainsafe/as-sha256": "^0.3.1", + "@chainsafe/persistent-merkle-tree": "^0.5.0" } }, "node_modules/@nomicfoundation/ethereumjs-util/node_modules/ethereum-cryptography": { @@ -1152,41 +1565,28 @@ "setimmediate": "^1.0.5" } }, - "node_modules/@nomicfoundation/ethereumjs-verkle": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-verkle/-/ethereumjs-verkle-0.0.2.tgz", - "integrity": "sha512-bjnfZElpYGK/XuuVRmLS3yDvr+cDs85D9oonZ0YUa5A3lgFgokWMp76zXrxX2jVQ0BfHaw12y860n1+iOi6yFQ==", - "peer": true, - "dependencies": { - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "lru-cache": "^10.0.0", - "rust-verkle-wasm": "^0.0.1" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@nomicfoundation/ethereumjs-vm": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-7.0.4.tgz", - "integrity": "sha512-gsA4IhmtWHI4BofKy3kio9W+dqZQs5Ji5mLjLYxHCkat+JQBUt5szjRKra2F9nGDJ2XcI/wWb0YWUFNgln4zRQ==", - "peer": true, - "dependencies": { - "@nomicfoundation/ethereumjs-block": "5.0.4", - "@nomicfoundation/ethereumjs-blockchain": "7.0.4", - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-evm": "2.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-statemanager": "2.0.4", - "@nomicfoundation/ethereumjs-trie": "6.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-7.0.2.tgz", + "integrity": "sha512-Bj3KZT64j54Tcwr7Qm/0jkeZXJMfdcAtRBedou+Hx0dPOSIgqaIr0vvLwP65TpHbak2DmAq+KJbW2KNtIoFwvA==", + "peer": true, + "dependencies": { + "@nomicfoundation/ethereumjs-block": "5.0.2", + "@nomicfoundation/ethereumjs-blockchain": "7.0.2", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-evm": "2.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-statemanager": "2.0.2", + "@nomicfoundation/ethereumjs-trie": "6.0.2", + "@nomicfoundation/ethereumjs-tx": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3" + "ethereum-cryptography": "0.1.3", + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" }, "engines": { - "node": ">=18" + "node": ">=14" } }, "node_modules/@nomicfoundation/ethereumjs-vm/node_modules/debug": { @@ -1256,6 +1656,86 @@ "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.1" } }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz", + "integrity": "sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz", + "integrity": "sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-freebsd-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz", + "integrity": "sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz", + "integrity": "sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz", + "integrity": "sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz", @@ -1288,15 +1768,63 @@ "node": ">= 10" } }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz", + "integrity": "sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz", + "integrity": "sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz", + "integrity": "sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/@openzeppelin/contracts": { "version": "3.4.2-solc-0.7", "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2-solc-0.7.tgz", "integrity": "sha512-W6QmqgkADuFcTLzHL8vVoNBtkwjvQRpYIAom7KiUNoLKghyx3FgH0GBjt8NRvigV1ZmMOBllvE1By1C+bi8WpA==" }, "node_modules/@scure/base": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.5.tgz", - "integrity": "sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.3.tgz", + "integrity": "sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==", "funding": { "url": "https://paulmillr.com/funding/" } @@ -1318,6 +1846,18 @@ "@scure/base": "~1.1.0" } }, + "node_modules/@scure/bip32/node_modules/@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true + }, "node_modules/@scure/bip39": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", @@ -1334,6 +1874,18 @@ "@scure/base": "~1.1.0" } }, + "node_modules/@scure/bip39/node_modules/@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true + }, "node_modules/@sentry/core": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", @@ -1350,6 +1902,12 @@ "node": ">=6" } }, + "node_modules/@sentry/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, "node_modules/@sentry/hub": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", @@ -1364,6 +1922,12 @@ "node": ">=6" } }, + "node_modules/@sentry/hub/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, "node_modules/@sentry/minimal": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", @@ -1378,6 +1942,12 @@ "node": ">=6" } }, + "node_modules/@sentry/minimal/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, "node_modules/@sentry/node": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", @@ -1407,6 +1977,12 @@ "node": ">= 0.6" } }, + "node_modules/@sentry/node/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, "node_modules/@sentry/tracing": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", @@ -1423,6 +1999,12 @@ "node": ">=6" } }, + "node_modules/@sentry/tracing/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, "node_modules/@sentry/types": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", @@ -1445,6 +2027,12 @@ "node": ">=6" } }, + "node_modules/@sentry/utils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, "node_modules/@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", @@ -1525,15 +2113,6 @@ "@types/node": "*" } }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "peer": true, - "dependencies": { - "@types/ms": "*" - } - }, "node_modules/@types/express": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", @@ -1547,9 +2126,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.43", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", - "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "version": "4.17.41", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", + "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", "dev": true, "dependencies": { "@types/node": "*", @@ -1589,16 +2168,10 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", "dev": true }, - "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", - "peer": true - }, "node_modules/@types/node": { - "version": "20.11.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz", - "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==", + "version": "20.10.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.3.tgz", + "integrity": "sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg==", "dependencies": { "undici-types": "~5.26.4" } @@ -1612,9 +2185,9 @@ } }, "node_modules/@types/qs": { - "version": "6.9.11", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", - "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==", + "version": "6.9.10", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", + "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==", "dev": true }, "node_modules/@types/range-parser": { @@ -1766,13 +2339,13 @@ } }, "node_modules/@uniswap/v3-sdk": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/@uniswap/v3-sdk/-/v3-sdk-3.10.2.tgz", - "integrity": "sha512-5sfYSvRB9ityrB0c/MFaYUsTBQvrwgCuXSyBPsqU8fh6v2dzFgOD3SLx/tHFg8R0RRyN4XPTrw6nqDYXRFtu+g==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@uniswap/v3-sdk/-/v3-sdk-3.10.0.tgz", + "integrity": "sha512-sbmSA1O+Ct960r66Ie/c1rOmVadpwRu8nQ79pGICv0pZJdnFIQ/SReG3F+iC2C2UNNjNP6aC2WDUggXrjyrgnA==", "dependencies": { "@ethersproject/abi": "^5.0.12", "@ethersproject/solidity": "^5.0.9", - "@uniswap/sdk-core": "^4.0.7", + "@uniswap/sdk-core": "^4", "@uniswap/swap-router-contracts": "^1.2.1", "@uniswap/v3-periphery": "^1.1.1", "@uniswap/v3-staker": "1.0.0", @@ -1784,9 +2357,9 @@ } }, "node_modules/@uniswap/v3-sdk/node_modules/@uniswap/sdk-core": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@uniswap/sdk-core/-/sdk-core-4.1.2.tgz", - "integrity": "sha512-bk/oHiNCofy48ix84Q8aK/HHDmMVmk+SaoTq6U/93MmJ/nE7hbsckmY1c3MG2Vz1+jnGMCX9AmdBbnSF7VR5Ow==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@uniswap/sdk-core/-/sdk-core-4.0.9.tgz", + "integrity": "sha512-/0K+u3ZWokpj9VyRuGwrwx7jy31auJdsw5UbKnvHqUSfejrp6XhmMPNOElPgL6jiUhAN1NhVHfjX01tNHFxeLA==", "dependencies": { "@ethersproject/address": "^5.0.2", "big.js": "^5.2.2", @@ -1837,6 +2410,24 @@ "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==" }, + "node_modules/abstract-level": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz", + "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==", + "peer": true, + "dependencies": { + "buffer": "^6.0.3", + "catering": "^2.1.0", + "is-buffer": "^2.0.5", + "level-supports": "^4.0.0", + "level-transcoder": "^1.0.1", + "module-error": "^1.0.1", + "queue-microtask": "^1.2.3" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -1850,9 +2441,9 @@ } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", "bin": { "acorn": "bin/acorn" }, @@ -1861,9 +2452,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz", + "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==", "engines": { "node": ">=0.4.0" } @@ -1945,15 +2536,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "peer": true, - "dependencies": { - "string-width": "^4.1.0" - } - }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -2054,12 +2636,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "engines": { "node": ">= 0.4" }, @@ -2138,6 +2717,12 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, + "node_modules/bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", + "peer": true + }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -2209,110 +2794,6 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "peer": true, - "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/boxen/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/boxen/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/boxen/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2338,6 +2819,18 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, + "node_modules/browser-level": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz", + "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==", + "peer": true, + "dependencies": { + "abstract-level": "^1.0.2", + "catering": "^2.1.1", + "module-error": "^1.0.2", + "run-parallel-limit": "^1.1.0" + } + }, "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -2376,9 +2869,9 @@ } }, "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { "type": "github", @@ -2393,9 +2886,10 @@ "url": "https://feross.org/support" } ], + "peer": true, "dependencies": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "node_modules/buffer-from": { @@ -2481,18 +2975,13 @@ } }, "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2510,11 +2999,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/case": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/case/-/case-1.6.3.tgz", + "integrity": "sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==", + "peer": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, + "node_modules/catering": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", + "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -2530,9 +3037,15 @@ } }, "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -2545,9 +3058,6 @@ "engines": { "node": ">= 8.10.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -2580,6 +3090,29 @@ "npm": ">=3.0.0" } }, + "node_modules/cids/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/cids/node_modules/multicodec": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", @@ -2604,25 +3137,30 @@ "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/classic-level": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.3.0.tgz", + "integrity": "sha512-iwFAJQYtqRTRM0F6L8h4JCt00ZSGdOyqh7yVrhhjrOpFhmBjNlRUey64MCiyo6UmQHMJ+No3c81nujPv+n9yrg==", + "hasInstallScript": true, "peer": true, + "dependencies": { + "abstract-level": "^1.0.2", + "catering": "^2.1.0", + "module-error": "^1.0.1", + "napi-macros": "^2.2.2", + "node-gyp-build": "^4.3.0" + }, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "peer": true, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cliui": { @@ -2887,19 +3425,16 @@ } }, "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/delayed-stream": { @@ -3034,25 +3569,6 @@ "node": ">=6" } }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/es5-ext": { "version": "0.10.62", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", @@ -3092,9 +3608,9 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "peer": true, "engines": { "node": ">=6" @@ -3189,6 +3705,18 @@ "@scure/bip39": "1.1.1" } }, + "node_modules/ethereum-cryptography/node_modules/@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true + }, "node_modules/ethereumjs-abi": { "version": "0.6.8", "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", @@ -3281,62 +3809,15 @@ "tslib": "2.4.0", "ws": "8.5.0" }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/ethers/node_modules/@noble/curves": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", - "dependencies": { - "@noble/hashes": "1.3.2" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ethers/node_modules/@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ethers/node_modules/@types/node": { - "version": "18.15.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", - "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" - }, - "node_modules/ethers/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/ethers/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "engines": { + "node": ">=14.0.0" } }, + "node_modules/ethers/node_modules/@types/node": { + "version": "18.15.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", + "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" + }, "node_modules/ethjs-unit": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", @@ -3521,9 +4002,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "funding": [ { "type": "individual", @@ -3622,6 +4103,19 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -3630,6 +4124,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "peer": true + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -3640,19 +4140,15 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, - "engines": { - "node": ">= 0.4" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3800,24 +4296,23 @@ } }, "node_modules/hardhat": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.20.1.tgz", - "integrity": "sha512-q75xDQiQtCZcTMBwjTovrXEU5ECr49baxr4/OBkIu/ULTPzlB20yk1dRWNmD2IFbAeAeXggaWvQAdpiScaHtPw==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.19.2.tgz", + "integrity": "sha512-CRU3+0Cc8Qh9UpxKd8cLADDPes7ZDtKj4dTK+ERtLBomEzhRPLWklJn4VKOwjre9/k8GNd/e9DYxpfuzcxbXPQ==", "peer": true, "dependencies": { "@ethersproject/abi": "^5.1.2", "@metamask/eth-sig-util": "^4.0.0", - "@nomicfoundation/ethereumjs-block": "5.0.4", - "@nomicfoundation/ethereumjs-blockchain": "7.0.4", - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-evm": "2.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-statemanager": "2.0.4", - "@nomicfoundation/ethereumjs-trie": "6.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "@nomicfoundation/ethereumjs-verkle": "0.0.2", - "@nomicfoundation/ethereumjs-vm": "7.0.4", + "@nomicfoundation/ethereumjs-block": "5.0.2", + "@nomicfoundation/ethereumjs-blockchain": "7.0.2", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-evm": "2.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-statemanager": "2.0.2", + "@nomicfoundation/ethereumjs-trie": "6.0.2", + "@nomicfoundation/ethereumjs-tx": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", + "@nomicfoundation/ethereumjs-vm": "7.0.2", "@nomicfoundation/solidity-analyzer": "^0.1.0", "@sentry/node": "^5.18.1", "@types/bn.js": "^5.1.0", @@ -3825,7 +4320,6 @@ "adm-zip": "^0.4.16", "aggregate-error": "^3.0.0", "ansi-escapes": "^4.3.0", - "boxen": "^5.1.2", "chalk": "^2.4.2", "chokidar": "^3.4.0", "ci-info": "^2.0.0", @@ -3906,6 +4400,27 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "peer": true }, + "node_modules/hardhat/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -3915,20 +4430,20 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "dependencies": { - "es-define-property": "^1.0.0" + "get-intrinsic": "^1.2.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "engines": { "node": ">= 0.4" }, @@ -3948,11 +4463,11 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dependencies": { - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3984,9 +4499,9 @@ } }, "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", "dependencies": { "function-bind": "^1.1.2" }, @@ -4156,9 +4671,9 @@ "dev": true }, "node_modules/immutable": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", - "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", "peer": true }, "node_modules/indent-string": { @@ -4227,6 +4742,29 @@ "node": ">=8" } }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -4312,11 +4850,11 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dependencies": { - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -4483,6 +5021,45 @@ "graceful-fs": "^4.1.9" } }, + "node_modules/level": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", + "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==", + "peer": true, + "dependencies": { + "browser-level": "^1.0.1", + "classic-level": "^1.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/level" + } + }, + "node_modules/level-supports": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", + "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/level-transcoder": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", + "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", + "peer": true, + "dependencies": { + "buffer": "^6.0.3", + "module-error": "^1.0.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -4611,12 +5188,12 @@ "peer": true }, "node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "peer": true, - "engines": { - "node": "14 || >=16.14" + "dependencies": { + "yallist": "^3.0.2" } }, "node_modules/make-error": { @@ -4624,6 +5201,15 @@ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, + "node_modules/mcl-wasm": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", + "peer": true, + "engines": { + "node": ">=8.9.0" + } + }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -4642,6 +5228,20 @@ "node": ">= 0.6" } }, + "node_modules/memory-level": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz", + "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==", + "peer": true, + "dependencies": { + "abstract-level": "^1.0.0", + "functional-red-black-tree": "^1.0.1", + "module-error": "^1.0.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", @@ -4794,9 +5394,9 @@ } }, "node_modules/mocha": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz", - "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", "peer": true, "dependencies": { "ansi-colors": "4.1.1", @@ -4806,12 +5406,13 @@ "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "8.1.0", + "glob": "7.2.0", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "5.0.1", "ms": "2.1.3", + "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -4826,6 +5427,10 @@ }, "engines": { "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" } }, "node_modules/mocha/node_modules/ansi-colors": { @@ -4846,33 +5451,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/mocha/node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "peer": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/mocha/node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -4924,25 +5502,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "peer": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/mocha/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -5044,10 +5603,19 @@ "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==" }, + "node_modules/module-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", + "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==", + "peer": true, + "engines": { + "node": ">=10" + } + }, "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", "engines": { "node": "*" } @@ -5067,6 +5635,29 @@ "buffer": "^5.5.0" } }, + "node_modules/multibase/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/multicodec": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", @@ -5086,6 +5677,29 @@ "varint": "^5.0.0" } }, + "node_modules/multihashes/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/multihashes/node_modules/multibase": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", @@ -5101,6 +5715,24 @@ "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==" }, + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-macros": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.2.2.tgz", + "integrity": "sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==", + "peer": true + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -5139,9 +5771,9 @@ } }, "node_modules/node-gyp-build": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", - "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz", + "integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -5445,14 +6077,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -5528,6 +6152,26 @@ "node": ">=0.10.0" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -5738,21 +6382,35 @@ "rlp": "bin/rlp" } }, - "node_modules/rust-verkle-wasm": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/rust-verkle-wasm/-/rust-verkle-wasm-0.0.1.tgz", - "integrity": "sha512-BN6fiTsxcd2dCECz/cHtGTt9cdLJR925nh7iAuRcj8ymKw7OOaPmCneQZ7JePOJ/ia27TjEL91VdOi88Yf+mcA==", - "peer": true - }, - "node_modules/rustbn-wasm": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn-wasm/-/rustbn-wasm-0.2.0.tgz", - "integrity": "sha512-FThvYFNTqrEKGqXuseeg0zR7yROh/6U1617mCHF68OVqrN1tNKRN7Tdwy4WayPVsCmmK+eMxtIZX1qL6JxTkMg==", + "node_modules/run-parallel-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", + "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "peer": true, "dependencies": { - "@scure/base": "^1.1.1" + "queue-microtask": "^1.2.2" } }, + "node_modules/rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==", + "peer": true + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -5872,16 +6530,14 @@ } }, "node_modules/set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", "dependencies": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "has-property-descriptors": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -5910,17 +6566,13 @@ } }, "node_modules/side-channel": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", - "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6208,9 +6860,9 @@ } }, "node_modules/swagger-ui-dist": { - "version": "5.11.7", - "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.11.7.tgz", - "integrity": "sha512-8xqfJFRVEEU3Zxe8vQvC4g827lDOqV9haougR3tnlgF/PkDN//9Y6kGV9qsT0A9vawlbdF8dF/R6HrlDyHvbEQ==" + "version": "5.10.3", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.10.3.tgz", + "integrity": "sha512-fu3aozjxFWsmcO1vyt1q1Ji2kN7KlTd1vHy27E9WgPyXo9nrEzhQPqgxaAjbMsOmb8XFKNGo4Sa3Q+84Fh+pFw==" }, "node_modules/swagger-ui-express": { "version": "4.6.3", @@ -6255,6 +6907,29 @@ "node": ">=10" } }, + "node_modules/swarm-js/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/swarm-js/node_modules/cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", @@ -6445,9 +7120,9 @@ } }, "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -6547,10 +7222,9 @@ } }, "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "peer": true + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/tsort": { "version": "0.0.1", @@ -6647,9 +7321,9 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "node_modules/undici": { - "version": "5.28.3", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz", - "integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==", + "version": "5.28.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz", + "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==", "peer": true, "dependencies": { "@fastify/busboy": "^2.0.0" @@ -6775,27 +7449,27 @@ } }, "node_modules/web3": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.4.tgz", - "integrity": "sha512-kgJvQZjkmjOEKimx/tJQsqWfRDPTTcBfYPa9XletxuHLpHcXdx67w8EFn5AW3eVxCutE9dTVHgGa9VYe8vgsEA==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.3.tgz", + "integrity": "sha512-DgUdOOqC/gTqW+VQl1EdPxrVRPB66xVNtuZ5KD4adVBtko87hkgM8BTZ0lZ8IbUfnQk6DyjcDujMiH3oszllAw==", "hasInstallScript": true, "dependencies": { - "web3-bzz": "1.10.4", - "web3-core": "1.10.4", - "web3-eth": "1.10.4", - "web3-eth-personal": "1.10.4", - "web3-net": "1.10.4", - "web3-shh": "1.10.4", - "web3-utils": "1.10.4" + "web3-bzz": "1.10.3", + "web3-core": "1.10.3", + "web3-eth": "1.10.3", + "web3-eth-personal": "1.10.3", + "web3-net": "1.10.3", + "web3-shh": "1.10.3", + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-bzz": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.4.tgz", - "integrity": "sha512-ZZ/X4sJ0Uh2teU9lAGNS8EjveEppoHNQiKlOXAjedsrdWuaMErBPdLQjXfcrYvN6WM6Su9PMsAxf3FXXZ+HwQw==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.3.tgz", + "integrity": "sha512-XDIRsTwekdBXtFytMpHBuun4cK4x0ZMIDXSoo1UVYp+oMyZj07c7gf7tNQY5qZ/sN+CJIas4ilhN25VJcjSijQ==", "hasInstallScript": true, "dependencies": { "@types/node": "^12.12.6", @@ -6812,53 +7486,53 @@ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" }, "node_modules/web3-core": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.4.tgz", - "integrity": "sha512-B6elffYm81MYZDTrat7aEhnhdtVE3lDBUZft16Z8awYMZYJDbnykEbJVS+l3mnA7AQTnSDr/1MjWofGDLBJPww==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.3.tgz", + "integrity": "sha512-Vbk0/vUNZxJlz3RFjAhNNt7qTpX8yE3dn3uFxfX5OHbuon5u65YEOd3civ/aQNW745N0vGUlHFNxxmn+sG9DIw==", "dependencies": { "@types/bn.js": "^5.1.1", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-requestmanager": "1.10.4", - "web3-utils": "1.10.4" + "web3-core-helpers": "1.10.3", + "web3-core-method": "1.10.3", + "web3-core-requestmanager": "1.10.3", + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.3.tgz", + "integrity": "sha512-Yv7dQC3B9ipOc5sWm3VAz1ys70Izfzb8n9rSiQYIPjpqtJM+3V4EeK6ghzNR6CO2es0+Yu9CtCkw0h8gQhrTxA==", "dependencies": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" + "web3-eth-iban": "1.10.3", + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-core-method": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.4.tgz", - "integrity": "sha512-uZTb7flr+Xl6LaDsyTeE2L1TylokCJwTDrIVfIfnrGmnwLc6bmTWCCrm71sSrQ0hqs6vp/MKbQYIYqUN0J8WyA==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.3.tgz", + "integrity": "sha512-VZ/Dmml4NBmb0ep5PTSg9oqKoBtG0/YoMPei/bq/tUdlhB2dMB79sbeJPwx592uaV0Vpk7VltrrrBv5hTM1y4Q==", "dependencies": { "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.10.4", - "web3-core-promievent": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-utils": "1.10.4" + "web3-core-helpers": "1.10.3", + "web3-core-promievent": "1.10.3", + "web3-core-subscriptions": "1.10.3", + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-core-promievent": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.4.tgz", - "integrity": "sha512-2de5WnJQ72YcIhYwV/jHLc4/cWJnznuoGTJGD29ncFQHAfwW/MItHFSVKPPA5v8AhJe+r6y4Y12EKvZKjQVBvQ==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.3.tgz", + "integrity": "sha512-HgjY+TkuLm5uTwUtaAfkTgRx/NzMxvVradCi02gy17NxDVdg/p6svBHcp037vcNpkuGeFznFJgULP+s2hdVgUQ==", "dependencies": { "eventemitter3": "4.0.4" }, @@ -6867,27 +7541,27 @@ } }, "node_modules/web3-core-requestmanager": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.4.tgz", - "integrity": "sha512-vqP6pKH8RrhT/2MoaU+DY/OsYK9h7HmEBNCdoMj+4ZwujQtw/Mq2JifjwsJ7gits7Q+HWJwx8q6WmQoVZAWugg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.3.tgz", + "integrity": "sha512-VT9sKJfgM2yBOIxOXeXiDuFMP4pxzF6FT+y8KTLqhDFHkbG3XRe42Vm97mB/IvLQCJOmokEjl3ps8yP1kbggyw==", "dependencies": { "util": "^0.12.5", - "web3-core-helpers": "1.10.4", - "web3-providers-http": "1.10.4", - "web3-providers-ipc": "1.10.4", - "web3-providers-ws": "1.10.4" + "web3-core-helpers": "1.10.3", + "web3-providers-http": "1.10.3", + "web3-providers-ipc": "1.10.3", + "web3-providers-ws": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-core-subscriptions": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.4.tgz", - "integrity": "sha512-o0lSQo/N/f7/L76C0HV63+S54loXiE9fUPfHFcTtpJRQNDBVsSDdWRdePbWwR206XlsBqD5VHApck1//jEafTw==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.3.tgz", + "integrity": "sha512-KW0Mc8sgn70WadZu7RjQ4H5sNDJ5Lx8JMI3BWos+f2rW0foegOCyWhRu33W1s6ntXnqeBUw5rRCXZRlA3z+HNA==", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.4" + "web3-core-helpers": "1.10.3" }, "engines": { "node": ">=8.0.0" @@ -6899,43 +7573,43 @@ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" }, "node_modules/web3-eth": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.4.tgz", - "integrity": "sha512-Sql2kYKmgt+T/cgvg7b9ce24uLS7xbFrxE4kuuor1zSCGrjhTJ5rRNG8gTJUkAJGKJc7KgnWmgW+cOfMBPUDSA==", - "dependencies": { - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-eth-abi": "1.10.4", - "web3-eth-accounts": "1.10.4", - "web3-eth-contract": "1.10.4", - "web3-eth-ens": "1.10.4", - "web3-eth-iban": "1.10.4", - "web3-eth-personal": "1.10.4", - "web3-net": "1.10.4", - "web3-utils": "1.10.4" + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.3.tgz", + "integrity": "sha512-Uk1U2qGiif2mIG8iKu23/EQJ2ksB1BQXy3wF3RvFuyxt8Ft9OEpmGlO7wOtAyJdoKzD5vcul19bJpPcWSAYZhA==", + "dependencies": { + "web3-core": "1.10.3", + "web3-core-helpers": "1.10.3", + "web3-core-method": "1.10.3", + "web3-core-subscriptions": "1.10.3", + "web3-eth-abi": "1.10.3", + "web3-eth-accounts": "1.10.3", + "web3-eth-contract": "1.10.3", + "web3-eth-ens": "1.10.3", + "web3-eth-iban": "1.10.3", + "web3-eth-personal": "1.10.3", + "web3-net": "1.10.3", + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-abi": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.4.tgz", - "integrity": "sha512-cZ0q65eJIkd/jyOlQPDjr8X4fU6CRL1eWgdLwbWEpo++MPU/2P4PFk5ZLAdye9T5Sdp+MomePPJ/gHjLMj2VfQ==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.3.tgz", + "integrity": "sha512-O8EvV67uhq0OiCMekqYsDtb6FzfYzMXT7VMHowF8HV6qLZXCGTdB/NH4nJrEh2mFtEwVdS6AmLFJAQd2kVyoMQ==", "dependencies": { "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.10.4" + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-accounts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.4.tgz", - "integrity": "sha512-ysy5sVTg9snYS7tJjxVoQAH6DTOTkRGR8emEVCWNGLGiB9txj+qDvSeT0izjurS/g7D5xlMAgrEHLK1Vi6I3yg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.3.tgz", + "integrity": "sha512-8MipGgwusDVgn7NwKOmpeo3gxzzd+SmwcWeBdpXknuyDiZSQy9tXe+E9LeFGrmys/8mLLYP79n3jSbiTyv+6pQ==", "dependencies": { "@ethereumjs/common": "2.6.5", "@ethereumjs/tx": "3.5.2", @@ -6943,10 +7617,10 @@ "eth-lib": "0.2.8", "scrypt-js": "^3.0.1", "uuid": "^9.0.0", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-utils": "1.10.4" + "web3-core": "1.10.3", + "web3-core-helpers": "1.10.3", + "web3-core-method": "1.10.3", + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" @@ -6980,64 +7654,64 @@ } }, "node_modules/web3-eth-contract": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.4.tgz", - "integrity": "sha512-Q8PfolOJ4eV9TvnTj1TGdZ4RarpSLmHnUnzVxZ/6/NiTfe4maJz99R0ISgwZkntLhLRtw0C7LRJuklzGYCNN3A==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.3.tgz", + "integrity": "sha512-Y2CW61dCCyY4IoUMD4JsEQWrILX4FJWDWC/Txx/pr3K/+fGsBGvS9kWQN5EsVXOp4g7HoFOfVh9Lf7BmVVSRmg==", "dependencies": { "@types/bn.js": "^5.1.1", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-promievent": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-eth-abi": "1.10.4", - "web3-utils": "1.10.4" + "web3-core": "1.10.3", + "web3-core-helpers": "1.10.3", + "web3-core-method": "1.10.3", + "web3-core-promievent": "1.10.3", + "web3-core-subscriptions": "1.10.3", + "web3-eth-abi": "1.10.3", + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-ens": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.4.tgz", - "integrity": "sha512-LLrvxuFeVooRVZ9e5T6OWKVflHPFgrVjJ/jtisRWcmI7KN/b64+D/wJzXqgmp6CNsMQcE7rpmf4CQmJCrTdsgg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.3.tgz", + "integrity": "sha512-hR+odRDXGqKemw1GFniKBEXpjYwLgttTES+bc7BfTeoUyUZXbyDHe5ifC+h+vpzxh4oS0TnfcIoarK0Z9tFSiQ==", "dependencies": { "content-hash": "^2.5.2", "eth-ens-namehash": "2.0.8", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-promievent": "1.10.4", - "web3-eth-abi": "1.10.4", - "web3-eth-contract": "1.10.4", - "web3-utils": "1.10.4" + "web3-core": "1.10.3", + "web3-core-helpers": "1.10.3", + "web3-core-promievent": "1.10.3", + "web3-eth-abi": "1.10.3", + "web3-eth-contract": "1.10.3", + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.3.tgz", + "integrity": "sha512-ZCfOjYKAjaX2TGI8uif5ah+J3BYFuo+47JOIV1RIz2l7kD9VfnxvRH5UiQDRyMALQC7KFd2hUqIEtHklapNyKA==", "dependencies": { "bn.js": "^5.2.1", - "web3-utils": "1.10.4" + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-eth-personal": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.4.tgz", - "integrity": "sha512-BRa/hs6jU1hKHz+AC/YkM71RP3f0Yci1dPk4paOic53R4ZZG4MgwKRkJhgt3/GPuPliwS46f/i5A7fEGBT4F9w==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.3.tgz", + "integrity": "sha512-avrQ6yWdADIvuNQcFZXmGLCEzulQa76hUOuVywN7O3cklB4nFc/Gp3yTvD3bOAaE7DhjLQfhUTCzXL7WMxVTsw==", "dependencies": { "@types/node": "^12.12.6", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-net": "1.10.4", - "web3-utils": "1.10.4" + "web3-core": "1.10.3", + "web3-core-helpers": "1.10.3", + "web3-core-method": "1.10.3", + "web3-net": "1.10.3", + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" @@ -7049,27 +7723,27 @@ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" }, "node_modules/web3-net": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.4.tgz", - "integrity": "sha512-mKINnhOOnZ4koA+yV2OT5s5ztVjIx7IY9a03w6s+yao/BUn+Luuty0/keNemZxTr1E8Ehvtn28vbOtW7Ids+Ow==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.3.tgz", + "integrity": "sha512-IoSr33235qVoI1vtKssPUigJU9Fc/Ph0T9CgRi15sx+itysmvtlmXMNoyd6Xrgm9LuM4CIhxz7yDzH93B79IFg==", "dependencies": { - "web3-core": "1.10.4", - "web3-core-method": "1.10.4", - "web3-utils": "1.10.4" + "web3-core": "1.10.3", + "web3-core-method": "1.10.3", + "web3-utils": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-providers-http": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.4.tgz", - "integrity": "sha512-m2P5Idc8hdiO0l60O6DSCPw0kw64Zgi0pMjbEFRmxKIck2Py57RQMu4bxvkxJwkF06SlGaEQF8rFZBmuX7aagQ==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.3.tgz", + "integrity": "sha512-6dAgsHR3MxJ0Qyu3QLFlQEelTapVfWNTu5F45FYh8t7Y03T1/o+YAkVxsbY5AdmD+y5bXG/XPJ4q8tjL6MgZHw==", "dependencies": { "abortcontroller-polyfill": "^1.7.5", "cross-fetch": "^4.0.0", "es6-promise": "^4.2.8", - "web3-core-helpers": "1.10.4" + "web3-core-helpers": "1.10.3" }, "engines": { "node": ">=8.0.0" @@ -7084,24 +7758,24 @@ } }, "node_modules/web3-providers-ipc": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.4.tgz", - "integrity": "sha512-YRF/bpQk9z3WwjT+A6FI/GmWRCASgd+gC0si7f9zbBWLXjwzYAKG73bQBaFRAHex1hl4CVcM5WUMaQXf3Opeuw==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.3.tgz", + "integrity": "sha512-vP5WIGT8FLnGRfswTxNs9rMfS1vCbMezj/zHbBe/zB9GauBRTYVrUo2H/hVrhLg8Ut7AbsKZ+tCJ4mAwpKi2hA==", "dependencies": { "oboe": "2.1.5", - "web3-core-helpers": "1.10.4" + "web3-core-helpers": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-providers-ws": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.4.tgz", - "integrity": "sha512-j3FBMifyuFFmUIPVQR4pj+t5ILhAexAui0opgcpu9R5LxQrLRUZxHSnU+YO25UycSOa/NAX8A+qkqZNpcFAlxA==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.3.tgz", + "integrity": "sha512-/filBXRl48INxsh6AuCcsy4v5ndnTZ/p6bl67kmO9aK1wffv7CT++DrtclDtVMeDGCgB3van+hEf9xTAVXur7Q==", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.4", + "web3-core-helpers": "1.10.3", "websocket": "^1.0.32" }, "engines": { @@ -7109,24 +7783,24 @@ } }, "node_modules/web3-shh": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.4.tgz", - "integrity": "sha512-cOH6iFFM71lCNwSQrC3niqDXagMqrdfFW85hC9PFUrAr3PUrIem8TNstTc3xna2bwZeWG6OBy99xSIhBvyIACw==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.3.tgz", + "integrity": "sha512-cAZ60CPvs9azdwMSQ/PSUdyV4PEtaW5edAZhu3rCXf6XxQRliBboic+AvwUvB6j3eswY50VGa5FygfVmJ1JVng==", "hasInstallScript": true, "dependencies": { - "web3-core": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-net": "1.10.4" + "web3-core": "1.10.3", + "web3-core-method": "1.10.3", + "web3-core-subscriptions": "1.10.3", + "web3-net": "1.10.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-utils": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", - "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.3.tgz", + "integrity": "sha512-OqcUrEE16fDBbGoQtZXWdavsPzbGIDc5v3VrRTZ0XrIpefC/viZ1ZU9bGEemazyS0catk/3rkOOxpzTfY+XsyQ==", "dependencies": { "@ethereumjs/util": "^8.1.0", "bn.js": "^5.2.1", @@ -7141,10 +7815,21 @@ "node": ">=8.0.0" } }, + "node_modules/web3-utils/node_modules/@noble/curves": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz", + "integrity": "sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==", + "dependencies": { + "@noble/hashes": "1.3.1" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/web3-utils/node_modules/@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz", + "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==", "engines": { "node": ">= 16" }, @@ -7153,39 +7838,39 @@ } }, "node_modules/web3-utils/node_modules/@scure/bip32": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.3.tgz", - "integrity": "sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz", + "integrity": "sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==", "dependencies": { - "@noble/curves": "~1.3.0", - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" + "@noble/curves": "~1.1.0", + "@noble/hashes": "~1.3.1", + "@scure/base": "~1.1.0" }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/web3-utils/node_modules/@scure/bip39": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.2.tgz", - "integrity": "sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz", + "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==", "dependencies": { - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/web3-utils/node_modules/ethereum-cryptography": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.3.tgz", - "integrity": "sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz", + "integrity": "sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug==", "dependencies": { - "@noble/curves": "1.3.0", - "@noble/hashes": "1.3.3", - "@scure/bip32": "1.3.3", - "@scure/bip39": "1.2.2" + "@noble/curves": "1.1.0", + "@noble/hashes": "1.3.1", + "@scure/bip32": "1.3.1", + "@scure/bip39": "1.2.1" } }, "node_modules/webidl-conversions": { @@ -7219,15 +7904,15 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dependencies": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -7236,18 +7921,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "peer": true, - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/workerpool": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", @@ -7310,12 +7983,11 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "peer": true, + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", @@ -7462,6 +8134,32 @@ "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz", "integrity": "sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==" }, + "@chainsafe/as-sha256": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-0.3.1.tgz", + "integrity": "sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg==", + "peer": true + }, + "@chainsafe/persistent-merkle-tree": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.2.tgz", + "integrity": "sha512-lLO3ihKPngXLTus/L7WHKaw9PnNJWizlOF1H9NNzHP6Xvh82vzg9F2bzkXhYIFshMZ2gTCEz8tq6STe7r5NDfQ==", + "peer": true, + "requires": { + "@chainsafe/as-sha256": "^0.3.1" + } + }, + "@chainsafe/ssz": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@chainsafe/ssz/-/ssz-0.9.4.tgz", + "integrity": "sha512-77Qtg2N1ayqs4Bg/wvnWfg5Bta7iy7IRh8XqXh7oNMeP2HBbBwx8m6yTpA8p0EHItWPEBkgZd5S5/LSlp3GXuQ==", + "peer": true, + "requires": { + "@chainsafe/as-sha256": "^0.3.1", + "@chainsafe/persistent-merkle-tree": "^0.4.2", + "case": "^1.6.3" + } + }, "@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -7575,39 +8273,47 @@ "micro-ftch": "^0.3.1" }, "dependencies": { + "@noble/curves": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz", + "integrity": "sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==", + "requires": { + "@noble/hashes": "1.3.1" + } + }, "@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz", + "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==" }, "@scure/bip32": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.3.tgz", - "integrity": "sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz", + "integrity": "sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==", "requires": { - "@noble/curves": "~1.3.0", - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" + "@noble/curves": "~1.1.0", + "@noble/hashes": "~1.3.1", + "@scure/base": "~1.1.0" } }, "@scure/bip39": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.2.tgz", - "integrity": "sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz", + "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==", "requires": { - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" } }, "ethereum-cryptography": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.3.tgz", - "integrity": "sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz", + "integrity": "sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug==", "requires": { - "@noble/curves": "1.3.0", - "@noble/hashes": "1.3.3", - "@scure/bip32": "1.3.3", - "@scure/bip39": "1.2.2" + "@noble/curves": "1.1.0", + "@noble/hashes": "1.3.1", + "@scure/bip32": "1.3.1", + "@scure/bip39": "1.2.1" } } } @@ -7674,6 +8380,16 @@ "@ethersproject/bytes": "^5.7.0" } }, + "@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "peer": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, "@ethersproject/bignumber": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", @@ -7700,6 +8416,24 @@ "@ethersproject/bignumber": "^5.7.0" } }, + "@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "peer": true, + "requires": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" + } + }, "@ethersproject/hash": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", @@ -7716,6 +8450,55 @@ "@ethersproject/strings": "^5.7.0" } }, + "@ethersproject/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "peer": true, + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "peer": true, + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + }, + "dependencies": { + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", + "peer": true + } + } + }, "@ethersproject/keccak256": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", @@ -7738,6 +8521,16 @@ "@ethersproject/logger": "^5.7.0" } }, + "@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "peer": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, "@ethersproject/properties": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", @@ -7746,6 +8539,53 @@ "@ethersproject/logger": "^5.7.0" } }, + "@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "peer": true, + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + }, + "dependencies": { + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "peer": true, + "requires": {} + } + } + }, + "@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "peer": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, "@ethersproject/rlp": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", @@ -7817,6 +8657,40 @@ "@ethersproject/signing-key": "^5.7.0" } }, + "@ethersproject/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "peer": true, + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "peer": true, + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, "@ethersproject/web": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", @@ -7829,6 +8703,19 @@ "@ethersproject/strings": "^5.7.0" } }, + "@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "peer": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, "@fastify/busboy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", @@ -7836,9 +8723,9 @@ "peer": true }, "@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" }, "@jridgewell/sourcemap-codec": { "version": "1.4.15", @@ -7868,25 +8755,17 @@ } }, "@noble/curves": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz", - "integrity": "sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", "requires": { - "@noble/hashes": "1.3.3" - }, - "dependencies": { - "@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==" - } + "@noble/hashes": "1.3.2" } }, - "@noble/hashes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", - "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", - "peer": true + "@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==" }, "@noble/secp256k1": { "version": "1.7.1", @@ -7895,17 +8774,18 @@ "peer": true }, "@nomicfoundation/ethereumjs-block": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-5.0.4.tgz", - "integrity": "sha512-AcyacJ9eX/uPEvqsPiB+WO1ymE+kyH48qGGiGV+YTojdtas8itUTW5dehDSOXEEItWGbbzEJ4PRqnQZlWaPvDw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-5.0.2.tgz", + "integrity": "sha512-hSe6CuHI4SsSiWWjHDIzWhSiAVpzMUcDRpWYzN0T9l8/Rz7xNn3elwVOJ/tAyS0LqL6vitUD78Uk7lQDXZun7Q==", "peer": true, "requires": { - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-trie": "6.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "ethereum-cryptography": "0.1.3" + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-trie": "6.0.2", + "@nomicfoundation/ethereumjs-tx": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", + "ethereum-cryptography": "0.1.3", + "ethers": "^5.7.1" }, "dependencies": { "ethereum-cryptography": { @@ -7930,25 +8810,66 @@ "secp256k1": "^4.0.1", "setimmediate": "^1.0.5" } + }, + "ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "peer": true, + "requires": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } } } }, "@nomicfoundation/ethereumjs-blockchain": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-7.0.4.tgz", - "integrity": "sha512-jYsd/kwzbmpnxx86tXsYV8wZ5xGvFL+7/P0c6OlzpClHsbFzeF41KrYA9scON8Rg6bZu3ZTv6JOAgj3t7USUfg==", - "peer": true, - "requires": { - "@nomicfoundation/ethereumjs-block": "5.0.4", - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-ethash": "3.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-trie": "6.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-7.0.2.tgz", + "integrity": "sha512-8UUsSXJs+MFfIIAKdh3cG16iNmWzWC/91P40sazNvrqhhdR/RtGDlFk2iFTGbBAZPs2+klZVzhRX8m2wvuvz3w==", + "peer": true, + "requires": { + "@nomicfoundation/ethereumjs-block": "5.0.2", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-ethash": "3.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-trie": "6.0.2", + "@nomicfoundation/ethereumjs-tx": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", + "abstract-level": "^1.0.3", "debug": "^4.3.3", "ethereum-cryptography": "0.1.3", - "lru-cache": "^10.0.0" + "level": "^8.0.0", + "lru-cache": "^5.1.1", + "memory-level": "^1.0.0" }, "dependencies": { "debug": { @@ -7992,24 +8913,26 @@ } }, "@nomicfoundation/ethereumjs-common": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz", - "integrity": "sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.2.tgz", + "integrity": "sha512-I2WGP3HMGsOoycSdOTSqIaES0ughQTueOsddJ36aYVpI3SN8YSusgRFLwzDJwRFVIYDKx/iJz0sQ5kBHVgdDwg==", "peer": true, "requires": { - "@nomicfoundation/ethereumjs-util": "9.0.4" + "@nomicfoundation/ethereumjs-util": "9.0.2", + "crc-32": "^1.2.0" } }, "@nomicfoundation/ethereumjs-ethash": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-3.0.4.tgz", - "integrity": "sha512-xvIrwIMl9sSaiYKRem68+O7vYdj7Q2XWv5P7JXiIkn83918QzWHvqbswTRsH7+r6X1UEvdsURRnZbvZszEjAaQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-3.0.2.tgz", + "integrity": "sha512-8PfoOQCcIcO9Pylq0Buijuq/O73tmMVURK0OqdjhwqcGHYC2PwhbajDh7GZ55ekB0Px197ajK3PQhpKoiI/UPg==", "peer": true, "requires": { - "@nomicfoundation/ethereumjs-block": "5.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "bigint-crypto-utils": "^3.2.2", + "@nomicfoundation/ethereumjs-block": "5.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", + "abstract-level": "^1.0.3", + "bigint-crypto-utils": "^3.0.23", "ethereum-cryptography": "0.1.3" }, "dependencies": { @@ -8039,19 +8962,19 @@ } }, "@nomicfoundation/ethereumjs-evm": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-2.0.4.tgz", - "integrity": "sha512-lTyZZi1KpeMHzaO6cSVisR2tjiTTedjo7PcmhI/+GNFo9BmyY6QYzGeSti0sFttmjbEMioHgXxl5yrLNRg6+1w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-2.0.2.tgz", + "integrity": "sha512-rBLcUaUfANJxyOx9HIdMX6uXGin6lANCulIm/pjMgRqfiCRMZie3WKYxTSd8ZE/d+qT+zTedBF4+VHTdTSePmQ==", "peer": true, "requires": { - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-statemanager": "2.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "@types/debug": "^4.1.9", + "@ethersproject/providers": "^5.7.1", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-tx": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", "debug": "^4.3.3", "ethereum-cryptography": "0.1.3", - "rustbn-wasm": "^0.2.0" + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" }, "dependencies": { "debug": { @@ -8095,25 +9018,23 @@ } }, "@nomicfoundation/ethereumjs-rlp": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz", - "integrity": "sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.2.tgz", + "integrity": "sha512-QwmemBc+MMsHJ1P1QvPl8R8p2aPvvVcKBbvHnQOKBpBztEo0omN0eaob6FeZS/e3y9NSe+mfu3nNFBHszqkjTA==", "peer": true }, "@nomicfoundation/ethereumjs-statemanager": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-2.0.4.tgz", - "integrity": "sha512-HPDjeFrxw6llEi+BzqXkZ+KkvFnTOPczuHBtk21hRlDiuKuZz32dPzlhpRsDBGV1b5JTmRDUVqCS1lp3Gghw4Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-2.0.2.tgz", + "integrity": "sha512-dlKy5dIXLuDubx8Z74sipciZnJTRSV/uHG48RSijhgm1V7eXYFC567xgKtsKiVZB1ViTP9iFL4B6Je0xD6X2OA==", "peer": true, "requires": { - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-trie": "6.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", "debug": "^4.3.3", "ethereum-cryptography": "0.1.3", - "js-sdsl": "^4.1.4", - "lru-cache": "^10.0.0" + "ethers": "^5.7.1", + "js-sdsl": "^4.1.4" }, "dependencies": { "debug": { @@ -8148,6 +9069,44 @@ "setimmediate": "^1.0.5" } }, + "ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "peer": true, + "requires": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -8157,16 +9116,15 @@ } }, "@nomicfoundation/ethereumjs-trie": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-6.0.4.tgz", - "integrity": "sha512-3nSwQiFMvr2VFe/aZUyinuohYvtytUqZCUCvIWcPJ/BwJH6oQdZRB42aNFBJ/8nAh2s3OcroWpBLskzW01mFKA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-6.0.2.tgz", + "integrity": "sha512-yw8vg9hBeLYk4YNg5MrSJ5H55TLOv2FSWUTROtDtTMMmDGROsAu+0tBjiNGTnKRi400M6cEzoFfa89Fc5k8NTQ==", "peer": true, "requires": { - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", "@types/readable-stream": "^2.3.13", "ethereum-cryptography": "0.1.3", - "lru-cache": "^10.0.0", "readable-stream": "^3.6.0" }, "dependencies": { @@ -8196,14 +9154,16 @@ } }, "@nomicfoundation/ethereumjs-tx": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz", - "integrity": "sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.2.tgz", + "integrity": "sha512-T+l4/MmTp7VhJeNloMkM+lPU3YMUaXdcXgTGCf8+ZFvV9NYZTRLFekRwlG6/JMmVfIfbrW+dRRJ9A6H5Q/Z64g==", "peer": true, "requires": { - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "@chainsafe/ssz": "^0.9.2", + "@ethersproject/providers": "^5.7.2", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", "ethereum-cryptography": "0.1.3" }, "dependencies": { @@ -8233,15 +9193,35 @@ } }, "@nomicfoundation/ethereumjs-util": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz", - "integrity": "sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.2.tgz", + "integrity": "sha512-4Wu9D3LykbSBWZo8nJCnzVIYGvGCuyiYLIJa9XXNVt1q1jUzHdB+sJvx95VGCpPkCT+IbLecW6yfzy3E1bQrwQ==", "peer": true, "requires": { - "@nomicfoundation/ethereumjs-rlp": "5.0.4", + "@chainsafe/ssz": "^0.10.0", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", "ethereum-cryptography": "0.1.3" }, "dependencies": { + "@chainsafe/persistent-merkle-tree": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.5.0.tgz", + "integrity": "sha512-l0V1b5clxA3iwQLXP40zYjyZYospQLZXzBVIhhr9kDg/1qHZfzzHw0jj4VPBijfYCArZDlPkRi1wZaV2POKeuw==", + "peer": true, + "requires": { + "@chainsafe/as-sha256": "^0.3.1" + } + }, + "@chainsafe/ssz": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@chainsafe/ssz/-/ssz-0.10.2.tgz", + "integrity": "sha512-/NL3Lh8K+0q7A3LsiFq09YXS9fPE+ead2rr7vM2QK8PLzrNsw3uqrif9bpRX5UxgeRjM+vYi+boCM3+GM4ovXg==", + "peer": true, + "requires": { + "@chainsafe/as-sha256": "^0.3.1", + "@chainsafe/persistent-merkle-tree": "^0.5.0" + } + }, "ethereum-cryptography": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", @@ -8267,35 +9247,25 @@ } } }, - "@nomicfoundation/ethereumjs-verkle": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-verkle/-/ethereumjs-verkle-0.0.2.tgz", - "integrity": "sha512-bjnfZElpYGK/XuuVRmLS3yDvr+cDs85D9oonZ0YUa5A3lgFgokWMp76zXrxX2jVQ0BfHaw12y860n1+iOi6yFQ==", - "peer": true, - "requires": { - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "lru-cache": "^10.0.0", - "rust-verkle-wasm": "^0.0.1" - } - }, "@nomicfoundation/ethereumjs-vm": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-7.0.4.tgz", - "integrity": "sha512-gsA4IhmtWHI4BofKy3kio9W+dqZQs5Ji5mLjLYxHCkat+JQBUt5szjRKra2F9nGDJ2XcI/wWb0YWUFNgln4zRQ==", - "peer": true, - "requires": { - "@nomicfoundation/ethereumjs-block": "5.0.4", - "@nomicfoundation/ethereumjs-blockchain": "7.0.4", - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-evm": "2.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-statemanager": "2.0.4", - "@nomicfoundation/ethereumjs-trie": "6.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-7.0.2.tgz", + "integrity": "sha512-Bj3KZT64j54Tcwr7Qm/0jkeZXJMfdcAtRBedou+Hx0dPOSIgqaIr0vvLwP65TpHbak2DmAq+KJbW2KNtIoFwvA==", + "peer": true, + "requires": { + "@nomicfoundation/ethereumjs-block": "5.0.2", + "@nomicfoundation/ethereumjs-blockchain": "7.0.2", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-evm": "2.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-statemanager": "2.0.2", + "@nomicfoundation/ethereumjs-trie": "6.0.2", + "@nomicfoundation/ethereumjs-tx": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3" + "ethereum-cryptography": "0.1.3", + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" }, "dependencies": { "debug": { @@ -8356,6 +9326,41 @@ "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.1" } }, + "@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz", + "integrity": "sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==", + "optional": true, + "peer": true + }, + "@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz", + "integrity": "sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==", + "optional": true, + "peer": true + }, + "@nomicfoundation/solidity-analyzer-freebsd-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz", + "integrity": "sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==", + "optional": true, + "peer": true + }, + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz", + "integrity": "sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==", + "optional": true, + "peer": true + }, + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz", + "integrity": "sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==", + "optional": true, + "peer": true + }, "@nomicfoundation/solidity-analyzer-linux-x64-gnu": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz", @@ -8370,15 +9375,36 @@ "optional": true, "peer": true }, + "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz", + "integrity": "sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==", + "optional": true, + "peer": true + }, + "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz", + "integrity": "sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==", + "optional": true, + "peer": true + }, + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz", + "integrity": "sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==", + "optional": true, + "peer": true + }, "@openzeppelin/contracts": { "version": "3.4.2-solc-0.7", "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2-solc-0.7.tgz", "integrity": "sha512-W6QmqgkADuFcTLzHL8vVoNBtkwjvQRpYIAom7KiUNoLKghyx3FgH0GBjt8NRvigV1ZmMOBllvE1By1C+bi8WpA==" }, "@scure/base": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.5.tgz", - "integrity": "sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.3.tgz", + "integrity": "sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==" }, "@scure/bip32": { "version": "1.1.5", @@ -8389,6 +9415,14 @@ "@noble/hashes": "~1.2.0", "@noble/secp256k1": "~1.7.0", "@scure/base": "~1.1.0" + }, + "dependencies": { + "@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "peer": true + } } }, "@scure/bip39": { @@ -8399,6 +9433,14 @@ "requires": { "@noble/hashes": "~1.2.0", "@scure/base": "~1.1.0" + }, + "dependencies": { + "@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "peer": true + } } }, "@sentry/core": { @@ -8412,6 +9454,14 @@ "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + } } }, "@sentry/hub": { @@ -8423,6 +9473,14 @@ "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + } } }, "@sentry/minimal": { @@ -8434,6 +9492,14 @@ "@sentry/hub": "5.30.0", "@sentry/types": "5.30.0", "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + } } }, "@sentry/node": { @@ -8458,6 +9524,12 @@ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "peer": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true } } }, @@ -8472,6 +9544,14 @@ "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + } } }, "@sentry/types": { @@ -8488,6 +9568,14 @@ "requires": { "@sentry/types": "5.30.0", "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + } } }, "@sindresorhus/is": { @@ -8561,15 +9649,6 @@ "@types/node": "*" } }, - "@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "peer": true, - "requires": { - "@types/ms": "*" - } - }, "@types/express": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", @@ -8583,9 +9662,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.43", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", - "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "version": "4.17.41", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", + "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", "dev": true, "requires": { "@types/node": "*", @@ -8625,16 +9704,10 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", "dev": true }, - "@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", - "peer": true - }, "@types/node": { - "version": "20.11.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz", - "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==", + "version": "20.10.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.3.tgz", + "integrity": "sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg==", "requires": { "undici-types": "~5.26.4" } @@ -8648,9 +9721,9 @@ } }, "@types/qs": { - "version": "6.9.11", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", - "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==", + "version": "6.9.10", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", + "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==", "dev": true }, "@types/range-parser": { @@ -8785,13 +9858,13 @@ } }, "@uniswap/v3-sdk": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/@uniswap/v3-sdk/-/v3-sdk-3.10.2.tgz", - "integrity": "sha512-5sfYSvRB9ityrB0c/MFaYUsTBQvrwgCuXSyBPsqU8fh6v2dzFgOD3SLx/tHFg8R0RRyN4XPTrw6nqDYXRFtu+g==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@uniswap/v3-sdk/-/v3-sdk-3.10.0.tgz", + "integrity": "sha512-sbmSA1O+Ct960r66Ie/c1rOmVadpwRu8nQ79pGICv0pZJdnFIQ/SReG3F+iC2C2UNNjNP6aC2WDUggXrjyrgnA==", "requires": { "@ethersproject/abi": "^5.0.12", "@ethersproject/solidity": "^5.0.9", - "@uniswap/sdk-core": "^4.0.7", + "@uniswap/sdk-core": "^4", "@uniswap/swap-router-contracts": "^1.2.1", "@uniswap/v3-periphery": "^1.1.1", "@uniswap/v3-staker": "1.0.0", @@ -8800,9 +9873,9 @@ }, "dependencies": { "@uniswap/sdk-core": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@uniswap/sdk-core/-/sdk-core-4.1.2.tgz", - "integrity": "sha512-bk/oHiNCofy48ix84Q8aK/HHDmMVmk+SaoTq6U/93MmJ/nE7hbsckmY1c3MG2Vz1+jnGMCX9AmdBbnSF7VR5Ow==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@uniswap/sdk-core/-/sdk-core-4.0.9.tgz", + "integrity": "sha512-/0K+u3ZWokpj9VyRuGwrwx7jy31auJdsw5UbKnvHqUSfejrp6XhmMPNOElPgL6jiUhAN1NhVHfjX01tNHFxeLA==", "requires": { "@ethersproject/address": "^5.0.2", "big.js": "^5.2.2", @@ -8847,6 +9920,21 @@ "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==" }, + "abstract-level": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz", + "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==", + "peer": true, + "requires": { + "buffer": "^6.0.3", + "catering": "^2.1.0", + "is-buffer": "^2.0.5", + "level-supports": "^4.0.0", + "level-transcoder": "^1.0.1", + "module-error": "^1.0.1", + "queue-microtask": "^1.2.3" + } + }, "accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -8857,14 +9945,14 @@ } }, "acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==" }, "acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==" + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz", + "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==" }, "adm-zip": { "version": "0.4.16", @@ -8924,15 +10012,6 @@ "uri-js": "^4.2.2" } }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "peer": true, - "requires": { - "string-width": "^4.1.0" - } - }, "ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -9012,12 +10091,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "requires": { - "possible-typed-array-names": "^1.0.0" - } + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "aws-sign2": { "version": "0.7.0", @@ -9075,132 +10151,65 @@ } } }, + "bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", + "peer": true + }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, - "bigint-crypto-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.3.0.tgz", - "integrity": "sha512-jOTSb+drvEDxEq6OuUybOAv/xxoh3cuYRUIPyu8sSHQNKM303UQ2R1DAo45o1AkcIXw6fzbaFI1+xGGdaXs2lg==", - "peer": true - }, - "bignumber.js": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", - "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - } - }, - "boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "peer": true, - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "peer": true - } + "bigint-crypto-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.3.0.tgz", + "integrity": "sha512-jOTSb+drvEDxEq6OuUybOAv/xxoh3cuYRUIPyu8sSHQNKM303UQ2R1DAo45o1AkcIXw6fzbaFI1+xGGdaXs2lg==", + "peer": true + }, + "bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" } }, "brace-expansion": { @@ -9225,6 +10234,18 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, + "browser-level": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz", + "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==", + "peer": true, + "requires": { + "abstract-level": "^1.0.2", + "catering": "^2.1.1", + "module-error": "^1.0.2", + "run-parallel-limit": "^1.1.0" + } + }, "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -9263,12 +10284,13 @@ } }, "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "peer": true, "requires": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "buffer-from": { @@ -9334,15 +10356,13 @@ } }, "call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" } }, "camelcase": { @@ -9351,11 +10371,23 @@ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "peer": true }, + "case": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/case/-/case-1.6.3.tgz", + "integrity": "sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==", + "peer": true + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, + "catering": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", + "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==", + "peer": true + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -9368,9 +10400,9 @@ } }, "chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -9405,6 +10437,15 @@ "multihashes": "~0.4.15" }, "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "multicodec": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", @@ -9430,18 +10471,25 @@ "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" }, + "classic-level": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.3.0.tgz", + "integrity": "sha512-iwFAJQYtqRTRM0F6L8h4JCt00ZSGdOyqh7yVrhhjrOpFhmBjNlRUey64MCiyo6UmQHMJ+No3c81nujPv+n9yrg==", + "peer": true, + "requires": { + "abstract-level": "^1.0.2", + "catering": "^2.1.0", + "module-error": "^1.0.1", + "napi-macros": "^2.2.2", + "node-gyp-build": "^4.3.0" + } + }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "peer": true }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "peer": true - }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -9652,13 +10700,13 @@ "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" }, "define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" } }, "delayed-stream": { @@ -9770,19 +10818,6 @@ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "peer": true }, - "es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "requires": { - "get-intrinsic": "^1.2.4" - } - }, - "es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" - }, "es5-ext": { "version": "0.10.62", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", @@ -9818,9 +10853,9 @@ } }, "escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "peer": true }, "escape-html": { @@ -9908,6 +10943,14 @@ "@noble/secp256k1": "1.7.1", "@scure/bip32": "1.1.5", "@scure/bip39": "1.1.1" + }, + "dependencies": { + "@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "peer": true + } } }, "ethereumjs-abi": { @@ -9997,34 +11040,10 @@ "ws": "8.5.0" }, "dependencies": { - "@noble/curves": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", - "requires": { - "@noble/hashes": "1.3.2" - } - }, - "@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==" - }, "@types/node": { "version": "18.15.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" - }, - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "requires": {} } } }, @@ -10184,9 +11203,9 @@ "peer": true }, "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" }, "for-each": { "version": "0.3.3", @@ -10256,11 +11275,23 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, "function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "peer": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -10268,11 +11299,10 @@ "peer": true }, "get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "requires": { - "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", @@ -10385,24 +11415,23 @@ } }, "hardhat": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.20.1.tgz", - "integrity": "sha512-q75xDQiQtCZcTMBwjTovrXEU5ECr49baxr4/OBkIu/ULTPzlB20yk1dRWNmD2IFbAeAeXggaWvQAdpiScaHtPw==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.19.2.tgz", + "integrity": "sha512-CRU3+0Cc8Qh9UpxKd8cLADDPes7ZDtKj4dTK+ERtLBomEzhRPLWklJn4VKOwjre9/k8GNd/e9DYxpfuzcxbXPQ==", "peer": true, "requires": { "@ethersproject/abi": "^5.1.2", "@metamask/eth-sig-util": "^4.0.0", - "@nomicfoundation/ethereumjs-block": "5.0.4", - "@nomicfoundation/ethereumjs-blockchain": "7.0.4", - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-evm": "2.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-statemanager": "2.0.4", - "@nomicfoundation/ethereumjs-trie": "6.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "@nomicfoundation/ethereumjs-verkle": "0.0.2", - "@nomicfoundation/ethereumjs-vm": "7.0.4", + "@nomicfoundation/ethereumjs-block": "5.0.2", + "@nomicfoundation/ethereumjs-blockchain": "7.0.2", + "@nomicfoundation/ethereumjs-common": "4.0.2", + "@nomicfoundation/ethereumjs-evm": "2.0.2", + "@nomicfoundation/ethereumjs-rlp": "5.0.2", + "@nomicfoundation/ethereumjs-statemanager": "2.0.2", + "@nomicfoundation/ethereumjs-trie": "6.0.2", + "@nomicfoundation/ethereumjs-tx": "5.0.2", + "@nomicfoundation/ethereumjs-util": "9.0.2", + "@nomicfoundation/ethereumjs-vm": "7.0.2", "@nomicfoundation/solidity-analyzer": "^0.1.0", "@sentry/node": "^5.18.1", "@types/bn.js": "^5.1.0", @@ -10410,7 +11439,6 @@ "adm-zip": "^0.4.16", "aggregate-error": "^3.0.0", "ansi-escapes": "^4.3.0", - "boxen": "^5.1.2", "chalk": "^2.4.2", "chokidar": "^3.4.0", "ci-info": "^2.0.0", @@ -10456,6 +11484,13 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "peer": true + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "peer": true, + "requires": {} } } }, @@ -10473,17 +11508,17 @@ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "requires": { - "es-define-property": "^1.0.0" + "get-intrinsic": "^1.2.2" } }, "has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" }, "has-symbols": { "version": "1.0.3", @@ -10491,11 +11526,11 @@ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "requires": { - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.2" } }, "hash-base": { @@ -10518,9 +11553,9 @@ } }, "hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", "requires": { "function-bind": "^1.1.2" } @@ -10644,9 +11679,9 @@ "dev": true }, "immutable": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", - "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", "peer": true }, "indent-string": { @@ -10700,6 +11735,12 @@ "binary-extensions": "^2.0.0" } }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "peer": true + }, "is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -10754,11 +11795,11 @@ "peer": true }, "is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "requires": { - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.11" } }, "is-typedarray": { @@ -10888,6 +11929,32 @@ "graceful-fs": "^4.1.9" } }, + "level": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", + "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==", + "peer": true, + "requires": { + "browser-level": "^1.0.1", + "classic-level": "^1.2.0" + } + }, + "level-supports": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", + "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==", + "peer": true + }, + "level-transcoder": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", + "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", + "peer": true, + "requires": { + "buffer": "^6.0.3", + "module-error": "^1.0.1" + } + }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -10982,16 +12049,25 @@ "peer": true }, "lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "peer": true + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "peer": true, + "requires": { + "yallist": "^3.0.2" + } }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, + "mcl-wasm": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", + "peer": true + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -11007,6 +12083,17 @@ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" }, + "memory-level": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz", + "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==", + "peer": true, + "requires": { + "abstract-level": "^1.0.0", + "functional-red-black-tree": "^1.0.1", + "module-error": "^1.0.1" + } + }, "memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", @@ -11122,9 +12209,9 @@ } }, "mocha": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz", - "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", "peer": true, "requires": { "ansi-colors": "4.1.1", @@ -11134,12 +12221,13 @@ "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "8.1.0", + "glob": "7.2.0", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "5.0.1", "ms": "2.1.3", + "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -11164,22 +12252,6 @@ "balanced-match": "^1.0.0" } }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "peer": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -11213,19 +12285,6 @@ "path-exists": "^4.0.0" } }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "peer": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -11296,10 +12355,16 @@ "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==" }, + "module-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", + "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==", + "peer": true + }, "moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" }, "ms": { "version": "2.0.0", @@ -11313,6 +12378,17 @@ "requires": { "base-x": "^3.0.8", "buffer": "^5.5.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } } }, "multicodec": { @@ -11333,6 +12409,15 @@ "varint": "^5.0.0" }, "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "multibase": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", @@ -11349,6 +12434,18 @@ "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==" }, + "nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "peer": true + }, + "napi-macros": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.2.2.tgz", + "integrity": "sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==", + "peer": true + }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -11373,9 +12470,9 @@ } }, "node-gyp-build": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", - "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==" + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz", + "integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==" }, "nodemon": { "version": "2.0.22", @@ -11595,11 +12692,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, - "possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==" - }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -11657,6 +12749,12 @@ "strict-uri-encode": "^1.0.0" } }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "peer": true + }, "quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -11818,21 +12916,21 @@ "bn.js": "^5.2.0" } }, - "rust-verkle-wasm": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/rust-verkle-wasm/-/rust-verkle-wasm-0.0.1.tgz", - "integrity": "sha512-BN6fiTsxcd2dCECz/cHtGTt9cdLJR925nh7iAuRcj8ymKw7OOaPmCneQZ7JePOJ/ia27TjEL91VdOi88Yf+mcA==", - "peer": true - }, - "rustbn-wasm": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn-wasm/-/rustbn-wasm-0.2.0.tgz", - "integrity": "sha512-FThvYFNTqrEKGqXuseeg0zR7yROh/6U1617mCHF68OVqrN1tNKRN7Tdwy4WayPVsCmmK+eMxtIZX1qL6JxTkMg==", + "run-parallel-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", + "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", "peer": true, "requires": { - "@scure/base": "^1.1.1" + "queue-microtask": "^1.2.2" } }, + "rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==", + "peer": true + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -11924,16 +13022,14 @@ } }, "set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", "requires": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "has-property-descriptors": "^1.0.0" } }, "setimmediate": { @@ -11956,14 +13052,13 @@ } }, "side-channel": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", - "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "requires": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" } }, "simple-concat": { @@ -12181,9 +13276,9 @@ } }, "swagger-ui-dist": { - "version": "5.11.7", - "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.11.7.tgz", - "integrity": "sha512-8xqfJFRVEEU3Zxe8vQvC4g827lDOqV9haougR3tnlgF/PkDN//9Y6kGV9qsT0A9vawlbdF8dF/R6HrlDyHvbEQ==" + "version": "5.10.3", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.10.3.tgz", + "integrity": "sha512-fu3aozjxFWsmcO1vyt1q1Ji2kN7KlTd1vHy27E9WgPyXo9nrEzhQPqgxaAjbMsOmb8XFKNGo4Sa3Q+84Fh+pFw==" }, "swagger-ui-express": { "version": "4.6.3", @@ -12219,6 +13314,15 @@ "defer-to-connect": "^2.0.0" } }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", @@ -12368,9 +13472,9 @@ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" }, "ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "requires": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -12430,10 +13534,9 @@ } }, "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "peer": true + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "tsort": { "version": "0.0.1", @@ -12511,9 +13614,9 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "undici": { - "version": "5.28.3", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz", - "integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==", + "version": "5.28.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz", + "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==", "peer": true, "requires": { "@fastify/busboy": "^2.0.0" @@ -12614,23 +13717,23 @@ } }, "web3": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.4.tgz", - "integrity": "sha512-kgJvQZjkmjOEKimx/tJQsqWfRDPTTcBfYPa9XletxuHLpHcXdx67w8EFn5AW3eVxCutE9dTVHgGa9VYe8vgsEA==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.3.tgz", + "integrity": "sha512-DgUdOOqC/gTqW+VQl1EdPxrVRPB66xVNtuZ5KD4adVBtko87hkgM8BTZ0lZ8IbUfnQk6DyjcDujMiH3oszllAw==", "requires": { - "web3-bzz": "1.10.4", - "web3-core": "1.10.4", - "web3-eth": "1.10.4", - "web3-eth-personal": "1.10.4", - "web3-net": "1.10.4", - "web3-shh": "1.10.4", - "web3-utils": "1.10.4" + "web3-bzz": "1.10.3", + "web3-core": "1.10.3", + "web3-eth": "1.10.3", + "web3-eth-personal": "1.10.3", + "web3-net": "1.10.3", + "web3-shh": "1.10.3", + "web3-utils": "1.10.3" } }, "web3-bzz": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.4.tgz", - "integrity": "sha512-ZZ/X4sJ0Uh2teU9lAGNS8EjveEppoHNQiKlOXAjedsrdWuaMErBPdLQjXfcrYvN6WM6Su9PMsAxf3FXXZ+HwQw==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.3.tgz", + "integrity": "sha512-XDIRsTwekdBXtFytMpHBuun4cK4x0ZMIDXSoo1UVYp+oMyZj07c7gf7tNQY5qZ/sN+CJIas4ilhN25VJcjSijQ==", "requires": { "@types/node": "^12.12.6", "got": "12.1.0", @@ -12645,17 +13748,17 @@ } }, "web3-core": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.4.tgz", - "integrity": "sha512-B6elffYm81MYZDTrat7aEhnhdtVE3lDBUZft16Z8awYMZYJDbnykEbJVS+l3mnA7AQTnSDr/1MjWofGDLBJPww==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.3.tgz", + "integrity": "sha512-Vbk0/vUNZxJlz3RFjAhNNt7qTpX8yE3dn3uFxfX5OHbuon5u65YEOd3civ/aQNW745N0vGUlHFNxxmn+sG9DIw==", "requires": { "@types/bn.js": "^5.1.1", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-requestmanager": "1.10.4", - "web3-utils": "1.10.4" + "web3-core-helpers": "1.10.3", + "web3-core-method": "1.10.3", + "web3-core-requestmanager": "1.10.3", + "web3-utils": "1.10.3" }, "dependencies": { "@types/node": { @@ -12666,87 +13769,87 @@ } }, "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.3.tgz", + "integrity": "sha512-Yv7dQC3B9ipOc5sWm3VAz1ys70Izfzb8n9rSiQYIPjpqtJM+3V4EeK6ghzNR6CO2es0+Yu9CtCkw0h8gQhrTxA==", "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" + "web3-eth-iban": "1.10.3", + "web3-utils": "1.10.3" } }, "web3-core-method": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.4.tgz", - "integrity": "sha512-uZTb7flr+Xl6LaDsyTeE2L1TylokCJwTDrIVfIfnrGmnwLc6bmTWCCrm71sSrQ0hqs6vp/MKbQYIYqUN0J8WyA==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.3.tgz", + "integrity": "sha512-VZ/Dmml4NBmb0ep5PTSg9oqKoBtG0/YoMPei/bq/tUdlhB2dMB79sbeJPwx592uaV0Vpk7VltrrrBv5hTM1y4Q==", "requires": { "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.10.4", - "web3-core-promievent": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-utils": "1.10.4" + "web3-core-helpers": "1.10.3", + "web3-core-promievent": "1.10.3", + "web3-core-subscriptions": "1.10.3", + "web3-utils": "1.10.3" } }, "web3-core-promievent": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.4.tgz", - "integrity": "sha512-2de5WnJQ72YcIhYwV/jHLc4/cWJnznuoGTJGD29ncFQHAfwW/MItHFSVKPPA5v8AhJe+r6y4Y12EKvZKjQVBvQ==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.3.tgz", + "integrity": "sha512-HgjY+TkuLm5uTwUtaAfkTgRx/NzMxvVradCi02gy17NxDVdg/p6svBHcp037vcNpkuGeFznFJgULP+s2hdVgUQ==", "requires": { "eventemitter3": "4.0.4" } }, "web3-core-requestmanager": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.4.tgz", - "integrity": "sha512-vqP6pKH8RrhT/2MoaU+DY/OsYK9h7HmEBNCdoMj+4ZwujQtw/Mq2JifjwsJ7gits7Q+HWJwx8q6WmQoVZAWugg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.3.tgz", + "integrity": "sha512-VT9sKJfgM2yBOIxOXeXiDuFMP4pxzF6FT+y8KTLqhDFHkbG3XRe42Vm97mB/IvLQCJOmokEjl3ps8yP1kbggyw==", "requires": { "util": "^0.12.5", - "web3-core-helpers": "1.10.4", - "web3-providers-http": "1.10.4", - "web3-providers-ipc": "1.10.4", - "web3-providers-ws": "1.10.4" + "web3-core-helpers": "1.10.3", + "web3-providers-http": "1.10.3", + "web3-providers-ipc": "1.10.3", + "web3-providers-ws": "1.10.3" } }, "web3-core-subscriptions": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.4.tgz", - "integrity": "sha512-o0lSQo/N/f7/L76C0HV63+S54loXiE9fUPfHFcTtpJRQNDBVsSDdWRdePbWwR206XlsBqD5VHApck1//jEafTw==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.3.tgz", + "integrity": "sha512-KW0Mc8sgn70WadZu7RjQ4H5sNDJ5Lx8JMI3BWos+f2rW0foegOCyWhRu33W1s6ntXnqeBUw5rRCXZRlA3z+HNA==", "requires": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.4" + "web3-core-helpers": "1.10.3" } }, "web3-eth": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.4.tgz", - "integrity": "sha512-Sql2kYKmgt+T/cgvg7b9ce24uLS7xbFrxE4kuuor1zSCGrjhTJ5rRNG8gTJUkAJGKJc7KgnWmgW+cOfMBPUDSA==", - "requires": { - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-eth-abi": "1.10.4", - "web3-eth-accounts": "1.10.4", - "web3-eth-contract": "1.10.4", - "web3-eth-ens": "1.10.4", - "web3-eth-iban": "1.10.4", - "web3-eth-personal": "1.10.4", - "web3-net": "1.10.4", - "web3-utils": "1.10.4" + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.3.tgz", + "integrity": "sha512-Uk1U2qGiif2mIG8iKu23/EQJ2ksB1BQXy3wF3RvFuyxt8Ft9OEpmGlO7wOtAyJdoKzD5vcul19bJpPcWSAYZhA==", + "requires": { + "web3-core": "1.10.3", + "web3-core-helpers": "1.10.3", + "web3-core-method": "1.10.3", + "web3-core-subscriptions": "1.10.3", + "web3-eth-abi": "1.10.3", + "web3-eth-accounts": "1.10.3", + "web3-eth-contract": "1.10.3", + "web3-eth-ens": "1.10.3", + "web3-eth-iban": "1.10.3", + "web3-eth-personal": "1.10.3", + "web3-net": "1.10.3", + "web3-utils": "1.10.3" } }, "web3-eth-abi": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.4.tgz", - "integrity": "sha512-cZ0q65eJIkd/jyOlQPDjr8X4fU6CRL1eWgdLwbWEpo++MPU/2P4PFk5ZLAdye9T5Sdp+MomePPJ/gHjLMj2VfQ==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.3.tgz", + "integrity": "sha512-O8EvV67uhq0OiCMekqYsDtb6FzfYzMXT7VMHowF8HV6qLZXCGTdB/NH4nJrEh2mFtEwVdS6AmLFJAQd2kVyoMQ==", "requires": { "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.10.4" + "web3-utils": "1.10.3" } }, "web3-eth-accounts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.4.tgz", - "integrity": "sha512-ysy5sVTg9snYS7tJjxVoQAH6DTOTkRGR8emEVCWNGLGiB9txj+qDvSeT0izjurS/g7D5xlMAgrEHLK1Vi6I3yg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.3.tgz", + "integrity": "sha512-8MipGgwusDVgn7NwKOmpeo3gxzzd+SmwcWeBdpXknuyDiZSQy9tXe+E9LeFGrmys/8mLLYP79n3jSbiTyv+6pQ==", "requires": { "@ethereumjs/common": "2.6.5", "@ethereumjs/tx": "3.5.2", @@ -12754,10 +13857,10 @@ "eth-lib": "0.2.8", "scrypt-js": "^3.0.1", "uuid": "^9.0.0", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-utils": "1.10.4" + "web3-core": "1.10.3", + "web3-core-helpers": "1.10.3", + "web3-core-method": "1.10.3", + "web3-utils": "1.10.3" }, "dependencies": { "bn.js": { @@ -12783,55 +13886,55 @@ } }, "web3-eth-contract": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.4.tgz", - "integrity": "sha512-Q8PfolOJ4eV9TvnTj1TGdZ4RarpSLmHnUnzVxZ/6/NiTfe4maJz99R0ISgwZkntLhLRtw0C7LRJuklzGYCNN3A==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.3.tgz", + "integrity": "sha512-Y2CW61dCCyY4IoUMD4JsEQWrILX4FJWDWC/Txx/pr3K/+fGsBGvS9kWQN5EsVXOp4g7HoFOfVh9Lf7BmVVSRmg==", "requires": { "@types/bn.js": "^5.1.1", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-promievent": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-eth-abi": "1.10.4", - "web3-utils": "1.10.4" + "web3-core": "1.10.3", + "web3-core-helpers": "1.10.3", + "web3-core-method": "1.10.3", + "web3-core-promievent": "1.10.3", + "web3-core-subscriptions": "1.10.3", + "web3-eth-abi": "1.10.3", + "web3-utils": "1.10.3" } }, "web3-eth-ens": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.4.tgz", - "integrity": "sha512-LLrvxuFeVooRVZ9e5T6OWKVflHPFgrVjJ/jtisRWcmI7KN/b64+D/wJzXqgmp6CNsMQcE7rpmf4CQmJCrTdsgg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.3.tgz", + "integrity": "sha512-hR+odRDXGqKemw1GFniKBEXpjYwLgttTES+bc7BfTeoUyUZXbyDHe5ifC+h+vpzxh4oS0TnfcIoarK0Z9tFSiQ==", "requires": { "content-hash": "^2.5.2", "eth-ens-namehash": "2.0.8", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-promievent": "1.10.4", - "web3-eth-abi": "1.10.4", - "web3-eth-contract": "1.10.4", - "web3-utils": "1.10.4" + "web3-core": "1.10.3", + "web3-core-helpers": "1.10.3", + "web3-core-promievent": "1.10.3", + "web3-eth-abi": "1.10.3", + "web3-eth-contract": "1.10.3", + "web3-utils": "1.10.3" } }, "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.3.tgz", + "integrity": "sha512-ZCfOjYKAjaX2TGI8uif5ah+J3BYFuo+47JOIV1RIz2l7kD9VfnxvRH5UiQDRyMALQC7KFd2hUqIEtHklapNyKA==", "requires": { "bn.js": "^5.2.1", - "web3-utils": "1.10.4" + "web3-utils": "1.10.3" } }, "web3-eth-personal": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.4.tgz", - "integrity": "sha512-BRa/hs6jU1hKHz+AC/YkM71RP3f0Yci1dPk4paOic53R4ZZG4MgwKRkJhgt3/GPuPliwS46f/i5A7fEGBT4F9w==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.3.tgz", + "integrity": "sha512-avrQ6yWdADIvuNQcFZXmGLCEzulQa76hUOuVywN7O3cklB4nFc/Gp3yTvD3bOAaE7DhjLQfhUTCzXL7WMxVTsw==", "requires": { "@types/node": "^12.12.6", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-net": "1.10.4", - "web3-utils": "1.10.4" + "web3-core": "1.10.3", + "web3-core-helpers": "1.10.3", + "web3-core-method": "1.10.3", + "web3-net": "1.10.3", + "web3-utils": "1.10.3" }, "dependencies": { "@types/node": { @@ -12842,24 +13945,24 @@ } }, "web3-net": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.4.tgz", - "integrity": "sha512-mKINnhOOnZ4koA+yV2OT5s5ztVjIx7IY9a03w6s+yao/BUn+Luuty0/keNemZxTr1E8Ehvtn28vbOtW7Ids+Ow==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.3.tgz", + "integrity": "sha512-IoSr33235qVoI1vtKssPUigJU9Fc/Ph0T9CgRi15sx+itysmvtlmXMNoyd6Xrgm9LuM4CIhxz7yDzH93B79IFg==", "requires": { - "web3-core": "1.10.4", - "web3-core-method": "1.10.4", - "web3-utils": "1.10.4" + "web3-core": "1.10.3", + "web3-core-method": "1.10.3", + "web3-utils": "1.10.3" } }, "web3-providers-http": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.4.tgz", - "integrity": "sha512-m2P5Idc8hdiO0l60O6DSCPw0kw64Zgi0pMjbEFRmxKIck2Py57RQMu4bxvkxJwkF06SlGaEQF8rFZBmuX7aagQ==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.3.tgz", + "integrity": "sha512-6dAgsHR3MxJ0Qyu3QLFlQEelTapVfWNTu5F45FYh8t7Y03T1/o+YAkVxsbY5AdmD+y5bXG/XPJ4q8tjL6MgZHw==", "requires": { "abortcontroller-polyfill": "^1.7.5", "cross-fetch": "^4.0.0", "es6-promise": "^4.2.8", - "web3-core-helpers": "1.10.4" + "web3-core-helpers": "1.10.3" }, "dependencies": { "cross-fetch": { @@ -12873,39 +13976,39 @@ } }, "web3-providers-ipc": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.4.tgz", - "integrity": "sha512-YRF/bpQk9z3WwjT+A6FI/GmWRCASgd+gC0si7f9zbBWLXjwzYAKG73bQBaFRAHex1hl4CVcM5WUMaQXf3Opeuw==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.3.tgz", + "integrity": "sha512-vP5WIGT8FLnGRfswTxNs9rMfS1vCbMezj/zHbBe/zB9GauBRTYVrUo2H/hVrhLg8Ut7AbsKZ+tCJ4mAwpKi2hA==", "requires": { "oboe": "2.1.5", - "web3-core-helpers": "1.10.4" + "web3-core-helpers": "1.10.3" } }, "web3-providers-ws": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.4.tgz", - "integrity": "sha512-j3FBMifyuFFmUIPVQR4pj+t5ILhAexAui0opgcpu9R5LxQrLRUZxHSnU+YO25UycSOa/NAX8A+qkqZNpcFAlxA==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.3.tgz", + "integrity": "sha512-/filBXRl48INxsh6AuCcsy4v5ndnTZ/p6bl67kmO9aK1wffv7CT++DrtclDtVMeDGCgB3van+hEf9xTAVXur7Q==", "requires": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.4", + "web3-core-helpers": "1.10.3", "websocket": "^1.0.32" } }, "web3-shh": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.4.tgz", - "integrity": "sha512-cOH6iFFM71lCNwSQrC3niqDXagMqrdfFW85hC9PFUrAr3PUrIem8TNstTc3xna2bwZeWG6OBy99xSIhBvyIACw==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.3.tgz", + "integrity": "sha512-cAZ60CPvs9azdwMSQ/PSUdyV4PEtaW5edAZhu3rCXf6XxQRliBboic+AvwUvB6j3eswY50VGa5FygfVmJ1JVng==", "requires": { - "web3-core": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-net": "1.10.4" + "web3-core": "1.10.3", + "web3-core-method": "1.10.3", + "web3-core-subscriptions": "1.10.3", + "web3-net": "1.10.3" } }, "web3-utils": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", - "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.3.tgz", + "integrity": "sha512-OqcUrEE16fDBbGoQtZXWdavsPzbGIDc5v3VrRTZ0XrIpefC/viZ1ZU9bGEemazyS0catk/3rkOOxpzTfY+XsyQ==", "requires": { "@ethereumjs/util": "^8.1.0", "bn.js": "^5.2.1", @@ -12917,39 +14020,47 @@ "utf8": "3.0.0" }, "dependencies": { + "@noble/curves": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz", + "integrity": "sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==", + "requires": { + "@noble/hashes": "1.3.1" + } + }, "@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz", + "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==" }, "@scure/bip32": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.3.tgz", - "integrity": "sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz", + "integrity": "sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==", "requires": { - "@noble/curves": "~1.3.0", - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" + "@noble/curves": "~1.1.0", + "@noble/hashes": "~1.3.1", + "@scure/base": "~1.1.0" } }, "@scure/bip39": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.2.tgz", - "integrity": "sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz", + "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==", "requires": { - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" } }, "ethereum-cryptography": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.3.tgz", - "integrity": "sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz", + "integrity": "sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug==", "requires": { - "@noble/curves": "1.3.0", - "@noble/hashes": "1.3.3", - "@scure/bip32": "1.3.3", - "@scure/bip39": "1.2.2" + "@noble/curves": "1.1.0", + "@noble/hashes": "1.3.1", + "@scure/bip32": "1.3.1", + "@scure/bip39": "1.2.1" } } } @@ -12982,24 +14093,15 @@ } }, "which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "requires": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" - } - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "peer": true, - "requires": { - "string-width": "^4.0.0" + "has-tostringtag": "^1.0.0" } }, "workerpool": { @@ -13051,10 +14153,9 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "peer": true, + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", "requires": {} }, "xhr": { diff --git a/src/givethIoService.ts b/src/givethIoService.ts index 3e56d88..34af714 100644 --- a/src/givethIoService.ts +++ b/src/givethIoService.ts @@ -1,16 +1,4 @@ -import { - FormattedDonation, - GivbackFactorParams, - GivethIoDonation, - MinimalDonation, - Project, - GIVbacksRound -} from "./types/general"; -import {GIVETH_TOKEN_DISTRO_ADDRESS} from "./subgraphService"; -import TokenDistroJSON from '../abi/TokenDistroV2.json' -const Ethers = require("ethers"); - -require('dotenv').config() +import {FormattedDonation, GivbackFactorParams, GivethIoDonation, MinimalDonation, Project} from "./types/general"; const {gql, request} = require('graphql-request'); const moment = require('moment') @@ -29,13 +17,6 @@ import { } from "./utils"; const givethiobaseurl = process.env.GIVETHIO_BASE_URL -const xdaiNodeHttpUrl = process.env.XDAI_NODE_HTTP_URL -const twoWeeksInMilliseconds = 1209600000 -console.log() -const ROUND_20_OFFSET = 345600000; //4 days in miliseconds - At round 20 we changed the rounds from Fridays to Tuesdays -const gnosisProvider = new Ethers.JsonRpcProvider(xdaiNodeHttpUrl); -const tokenDistroGC = new Ethers.Contract(GIVETH_TOKEN_DISTRO_ADDRESS, TokenDistroJSON.abi, gnosisProvider); - /** * @@ -53,7 +34,7 @@ export const getEligibleDonations = async ( eligible?: boolean, disablePurpleList?: boolean, justCountListed?: boolean, - chain?: "all-other-chains" | "optimism" + chain ?: "all-other-chains" |"optimism" }): Promise => { try { @@ -340,7 +321,7 @@ export const getDonationsReport = async (params: { niceWhitelistTokens?: string[], niceProjectSlugs?: string[], applyChainvineReferral?: boolean, - chain?: "all-other-chains" | "optimism" + chain ?: "all-other-chains" |"optimism" }): Promise => { const { beginDate, @@ -361,34 +342,34 @@ export const getDonationsReport = async (params: { }) - let donations: FormattedDonation[] = [] - if (!applyChainvineReferral) { + let donations :FormattedDonation[] =[] + if (!applyChainvineReferral){ donations = response - } else { - for (const donation of response) { - if (donation.isReferrerGivbackEligible && donation.referrerWallet) { + }else{ + for (const donation of response){ + if (donation.isReferrerGivbackEligible && donation.referrerWallet){ // We split givback reward between giver and referrer donations.push( { ...donation, - valueUsd: donation.valueUsd - calculateReferralReward(donation.valueUsd), + valueUsd : donation.valueUsd - calculateReferralReward(donation.valueUsd), referred: true }, { ...donation, - referrer: true, - valueUsd: calculateReferralReward(donation.valueUsd), + referrer :true, + valueUsd : calculateReferralReward(donation.valueUsd), giverAddress: donation.referrerWallet, - giverEmail: response.find(d => d.giverAddress === donation.referrerWallet)?.giverEmail || '', - giverName: response.find(d => d.giverAddress === donation.referrerWallet)?.giverName || 'Referrer donor', + giverEmail: response.find(d => d.giverAddress ===donation.referrerWallet)?.giverEmail || '', + giverName: response.find(d => d.giverAddress ===donation.referrerWallet)?.giverName || 'Referrer donor', } ) - } else { + }else{ donations.push(donation) } } } - console.log('**donations length**', donations.length) + console.log('**donations**', donations) const groups = _.groupBy(donations, 'giverAddress') return _.map(groups, (value: FormattedDonation[], key: string) => { @@ -407,23 +388,23 @@ export const getDonationsReport = async (params: { }, 0), totalReferralAddedUsdValue: _.reduce(value, function (total: number, o: FormattedDonation) { - return o.referrer ? total + o.valueUsd : total + return o.referrer ? total + o.valueUsd: total }, 0), totalReferralAddedUsdValueAfterGivFactor: _.reduce(value, function (total: number, o: FormattedDonation) { - return o.referrer ? total + donationValueAfterGivFactor({ + return o.referrer ? total + donationValueAfterGivFactor({ usdValue: o.valueUsd, givFactor: o.givbackFactor - }) : total; + }) : total; }, 0), totalReferralDeductedUsdValue: _.reduce(value, function (total: number, o: FormattedDonation) { - return o.referred ? total + calculateReferralRewardFromRemainingAmount(o.valueUsd) : total; + return o.referred ? total + calculateReferralRewardFromRemainingAmount(o.valueUsd): total; }, 0), totalReferralDeductedUsdValueAfterGivFactor: _.reduce(value, function (total: number, o: FormattedDonation) { - return o.referred ? total + donationValueAfterGivFactor({ + return o.referred ? total + donationValueAfterGivFactor({ usdValue: calculateReferralRewardFromRemainingAmount(o.valueUsd), givFactor: o.givbackFactor - }) : total; + }): total; }, 0), } return result; @@ -493,62 +474,3 @@ export const getAllProjectsSortByRank = async (): Promise => { throw new Error('Error in getting getAllProjectsSortByRank from impact-graph') } } - -export const getStartTime = async (retries = 5): Promise => { - let lastError; - for (let i = 0; i < retries; i++) { - try { - const startTime = await tokenDistroGC.startTime(); - console.log('startTime', startTime); - return Number(startTime) as number; - } catch (e) { - console.log(`Error in getting startTime, attempt ${i + 1}`, e); - lastError = e; - } - } - console.log('All attempts failed', lastError); - throw new Error('Error in getting startTime'); -} - -export const getGIVbacksRound = async (round: number): Promise => { - let roundStartDate: Date; - let roundEndDate: Date; - const startTime = await getStartTime(); - const startDate = new Date(startTime * 1000); - const afterRound20 = startDate.getMilliseconds() + ROUND_20_OFFSET; - if (round < 1) { - throw new Error('Invalid round number') - - } else if (round < 20) { - roundStartDate = new Date(startDate.getTime() + (round - 1) * twoWeeksInMilliseconds); - roundEndDate = new Date(startDate.getTime() + round * twoWeeksInMilliseconds - 1000); - } else { - roundStartDate = new Date(startDate.getTime() + (round - 1) * twoWeeksInMilliseconds + afterRound20); - roundEndDate = new Date(startDate.getTime() + round * twoWeeksInMilliseconds + afterRound20 - 1000); - } - - const start = moment(roundStartDate).format('YYYY/MM/DD-HH:mm:ss') - const end = moment(roundEndDate).format('YYYY/MM/DD-HH:mm:ss'); - - console.log('getGIVbacksRound result', { - round, - start, end - }) - return { - round, - start, - end - } -} - -export const getCurrentGIVbacksRound = async (): Promise => { - const now = new Date().getTime(); - const startTime = await getStartTime(); - const startDate = new Date(startTime * 1000); - startDate.setTime(startDate.getTime() + ROUND_20_OFFSET); - const deltaT = now - startDate.getTime(); - const _round = Math.floor(deltaT / twoWeeksInMilliseconds) + 1; - return getGIVbacksRound(_round) -} - - diff --git a/src/index.ts b/src/index.ts index 8f45a4c..19d2558 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,5 @@ import {DonationResponse, FormattedDonation, MinimalDonation} from "./types/general"; import {Request, Response} from "express"; -import {getCurrentGIVbacksRound, getGIVbacksRound} from "./givethIoService"; -import {getBlockByTimestamp} from "./utils"; const dotenv = require('dotenv') if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'staging') { @@ -10,7 +8,6 @@ if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'staging') } const express = require('express'); -const moment = require('moment') const _ = require('underscore'); const swaggerUi = require('swagger-ui-express'); const {parse} = require('json2csv'); @@ -36,7 +33,6 @@ import { import {getPurpleList} from './commonServices' import {get_dumpers_list} from "./subgraphService"; -import {get} from "https"; import {getAssignHistory} from "./givFarm/givFarmService"; const nrGIVAddress = '0xA1514067E6fE7919FB239aF5259FfF120902b4f9' @@ -525,290 +521,7 @@ app.get('/token_distro_assign_histories', async (req: Request, res: Response) => }) -app.get(`/calculate-updated`, - async (req: Request, res: Response) => { - try { - console.log('start calculating') - const { - download, roundNumber, - maxAddressesPerFunctionCall, - niceWhitelistTokens, - niceProjectSlugs, nicePerDollar, - } = req.query; - - const givAvailable = Number(req.query.givAvailable) - const {start, end} = await getGIVbacksRound(Number(roundNumber)) - const endDate = moment(end, 'YYYY/MM/DD-HH:mm:ss') - const endDateTimestamp = endDate.unix() - const priceBlock = await getBlockByTimestamp(endDateTimestamp, 1) - console.log("priceBlock", priceBlock); - const givPriceInETH = await getEthGivPriceInMainnet(priceBlock) - const ethPrice = await getEthPriceTimeStamp(endDateTimestamp) - console.log("/calculate-updated prices", { - ethPrice, - givPriceInETH, - priceBlock, - endDateTimestamp - }); - const givPrice = givPriceInETH * ethPrice - const givWorth = givAvailable * givPrice - - - const tokens = (niceWhitelistTokens as string).split(',') - const slugs = (niceProjectSlugs as string).split(',') - console.log('beginDate', start) - console.log('endDate', end) - const givethDonationsForNice = await getDonationsReport( - { - beginDate: start, - endDate: end, - niceWhitelistTokens: tokens, - niceProjectSlugs: slugs, - }) - - const niceDonationsGroupByGiverAddress = _.groupBy(givethDonationsForNice, 'giverAddress') - const allNiceDonations = _.map(niceDonationsGroupByGiverAddress, (value: MinimalDonation[], key: string) => { - return { - giverAddress: key.toLowerCase(), - giverEmail: value[0].giverEmail, - giverName: value[0].giverName, - totalDonationsUsdValue: _.reduce(value, (total: number, o: MinimalDonation) => { - return total + o.totalDonationsUsdValue; - }, 0) - }; - }); - const allNiceDonationsSorted = allNiceDonations.sort((a: MinimalDonation, b: MinimalDonation) => { - return b.totalDonationsUsdValue - a.totalDonationsUsdValue - }); - - let raisedValueForGivethioDonationsSum = 0; - for (const donation of allNiceDonationsSorted) { - raisedValueForGivethioDonationsSum += donation.totalDonationsUsdValue; - } - const niceDonationsWithShare = allNiceDonationsSorted.map((item: MinimalDonation) => { - const share = item.totalDonationsUsdValue / raisedValueForGivethioDonationsSum; - return { - giverAddress: item.giverAddress, - giverEmail: item.giverEmail, - giverName: item.giverName, - totalDonationsUsdValue: Number(item.totalDonationsUsdValue).toFixed(2), - niceTokens: (Number(item.totalDonationsUsdValue) * Number(nicePerDollar as string)).toFixed(2), - share: Number(share.toFixed(8)), - } - }).filter((item: DonationResponse) => { - return item.share > 0 - }) - - // const givethDonations = await getDonationsReport({ - // beginDate: startDate as string, - // endDate: endDate as string, - // applyChainvineReferral: true, - // chain: chain as "all-other-chains" |"optimism" - // }); - // - const optimismDonations = await getDonationsReport({ - beginDate: start, - endDate: end, - applyChainvineReferral: true, - chain: "optimism" - }); - const otherChainDonations = await getDonationsReport({ - beginDate: start, - endDate: end, - applyChainvineReferral: true, - chain: "all-other-chains" - }); - - console.log('***new webservice donations*** new', { - otherChainDonations: otherChainDonations.length, - start, - end - }) - - - const totalDonations = await getDonationsReport({ - beginDate: start, - endDate: end, - applyChainvineReferral: true, - }); - - const totalDonationsAmount = totalDonations.reduce((previousValue: number, currentValue: MinimalDonation) => { - return previousValue + currentValue.totalDonationsUsdValue - }, 0); - const totalDonationsAmountAfterGivbackFactor = totalDonations.reduce((previousValue: number, currentValue: MinimalDonation) => { - return previousValue + currentValue.totalDonationsUsdValueAfterGivFactor - }, 0); - const maxGivbackFactorPercentage = Math.min(1, - givWorth / totalDonationsAmountAfterGivbackFactor - ) - console.log('***new webservice donations*** new', { - totalDonationsAmount, - totalDonationsAmountAfterGivbackFactor, - maxGivbackFactorPercentage, - givWorth - , givAvailable, - givPrice - }) - - - const groupByGiverAddressForTotalDonations = _.groupBy(totalDonations, 'giverAddress') - const groupByGiverAddressForOptimismDonations = _.groupBy(optimismDonations, 'giverAddress') - const groupByGiverAddressForAllOtherChainsDonations = _.groupBy(otherChainDonations, 'giverAddress') - - - const optimismMinimalDonations = getDonationsForSmartContractParams({ - maxGivbackFactorPercentage, - groupByGiverAddress: groupByGiverAddressForOptimismDonations - }) - - const allOtherChainsMinimalDonations = getDonationsForSmartContractParams({ - maxGivbackFactorPercentage, - groupByGiverAddress: groupByGiverAddressForAllOtherChainsDonations - }) - - const totalMinimalDonations = getDonationsForSmartContractParams({ - maxGivbackFactorPercentage, - groupByGiverAddress: groupByGiverAddressForTotalDonations - }) - - const totalMinimalDonationsSortedByUsdValue = totalMinimalDonations.sort((a, b) => { - return b.totalDonationsUsdValueAfterGivFactor - a.totalDonationsUsdValueAfterGivFactor - }); - let raisedValueSum = 0; - for (const donation of totalMinimalDonationsSortedByUsdValue) { - raisedValueSum += donation.totalDonationsUsdValue; - } - let raisedValueSumAfterGivFactor = 0; - for (const donation of totalMinimalDonationsSortedByUsdValue) { - raisedValueSumAfterGivFactor += donation.totalDonationsUsdValueAfterGivFactor; - } - - - // const givFactor = Math.min(givWorth / raisedValueSum, givMaxFactor) - // const givDistributed = givFactor * (raisedValueSum / givPrice); - - const optimismDonationsWithShare = convertMinimalDonationToDonationResponse({ - minimalDonationsArray: optimismMinimalDonations, - givPrice, - raisedValueSum - }) - - - const allOtherChainsDonationsWithShare = convertMinimalDonationToDonationResponse({ - minimalDonationsArray: allOtherChainsMinimalDonations, - givPrice, - raisedValueSum - }) - console.log('**allOtherChainsDonationsWithShare**', allOtherChainsDonationsWithShare.length) - console.log('**allOtherChainsMinimalDonations**', allOtherChainsMinimalDonations.length) - - const niceDonationsWithShareFormatted: DonationResponse[] = [] - for (const niceShareItem of niceDonationsWithShare) { - niceDonationsWithShareFormatted.push({ - giverAddress: niceShareItem.giverAddress, - giverEmail: niceShareItem.giverEmail, - giverName: niceShareItem.giverName, - totalDonationsUsdValue: niceShareItem.totalDonationsUsdValue, - totalDonationsUsdValueAfterGivFactor: niceShareItem.totalDonationsUsdValueAfterGivFactor, - givback: 0, - share: 0, - niceEarned: niceShareItem.niceTokens - }) - } - const givDistributed = Math.ceil(raisedValueSumAfterGivFactor / givPrice); - const optimismRelayerAddress = '0xf13e93af5e706ab3073e393e77bb2d7ce7bec01f' - const gnosisRelayerAddress = '0xd0e81E3EE863318D0121501ff48C6C3e3Fd6cbc7' - - const response = { - start, - end, - raisedValueSumExcludedPurpleList: Math.ceil(raisedValueSum), - givDistributed, - givethioDonationsAmount: Math.ceil(totalDonationsAmount), - optimism: { - smartContractParams: await createSmartContractCallAddBatchParams( - { - nrGIVAddress, - donationsWithShare: optimismDonationsWithShare.filter(givback => givback.givback > 0), - givRelayerAddress: optimismRelayerAddress, - network:'optimism' - }, - Number(maxAddressesPerFunctionCall) || 200 - ), - givbacks: optimismDonationsWithShare - }, - allOtherChains: { - smartContractParams: await createSmartContractCallAddBatchParams( - { - nrGIVAddress, - donationsWithShare: allOtherChainsDonationsWithShare.filter(givback => givback.givback > 0), - givRelayerAddress: gnosisRelayerAddress, - network:'gnosis' - }, - Number(maxAddressesPerFunctionCall) || 200 - ), - givbacks: allOtherChainsDonationsWithShare - }, - niceTokens: niceDonationsWithShareFormatted, - // niceRaisedValueSumExcludedPurpleList: Math.ceil(raisedValueForGivethioDonationsSum), - // niceGivethioDonationsAmountForNice: Math.ceil(givethioDonationsAmountForNice), - // niceShares: niceDonationsWithShare, - purpleList: await getPurpleList(), - }; - if (download === "all-other-chains") { - const csv = parse(response.allOtherChains.givbacks.map((item: DonationResponse) => { - return { - givDistributed, - givPrice, - givbackUsdValue: givPrice * item.givback, - ...item - } - })); - const fileName = `givbackReport_allOtherChains_${start}-${end}.csv`; - res.setHeader('Content-disposition', "attachment; filename=" + fileName); - res.setHeader('Content-type', 'application/json'); - res.send(csv) - } else if (download === "optimism") { - const csv = parse(response.optimism.givbacks.map((item: DonationResponse) => { - return { - givDistributed, - givPrice, - givbackUsdValue: givPrice * item.givback, - ...item - } - })); - const fileName = `givbackReport_optimism_${start}-${end}.csv`; - res.setHeader('Content-disposition', "attachment; filename=" + fileName); - res.setHeader('Content-type', 'application/json'); - res.send(csv) - } else if (download === 'NICE') { - const csv = parse(response.niceTokens); - const fileName = `givbackReport_NICE_${start}-${end}.csv`; - res.setHeader('Content-disposition', "attachment; filename=" + fileName); - res.setHeader('Content-type', 'application/json'); - res.send(csv) - } else { - res.send(response) - } - } catch (e: any) { - console.log("error happened", e) - res.status(400).send({ - message: e.message - }) - } - }) - -app.get(`/current-round`, async (req: Request, res: Response) => { - try { - const result = await getCurrentGIVbacksRound() - res.send(result) - } catch (e: any) { - res.status(400).send({errorMessage: e.message}) - } - } -) - - app.listen(3000, () => { console.log('listening to port 3000') }) + diff --git a/src/subgraphService.ts b/src/subgraphService.ts index 54ba384..d737c5e 100644 --- a/src/subgraphService.ts +++ b/src/subgraphService.ts @@ -3,7 +3,7 @@ import axios from "axios"; const GIV_CONTRACT_ADDRESS = '0x4f4f9b8d5b4d0dc10506e5551b0513b61fd59e75' const G_GIV_CONTRACT_ADDRESS = '0xffbabeb49be77e5254333d5fdff72920b989425f' -export const GIVETH_TOKEN_DISTRO_ADDRESS = '0xc0dbdca66a0636236fabe1b3c16b1bd4c84bb1e1' +const GIVETH_TOKEN_DISTRO_ADDRESS = '0xc0dbdca66a0636236fabe1b3c16b1bd4c84bb1e1' const subgraphAddress = process.env.GIV_ECONOMY_SUBGRAPH_URL as string const getTokenBalancesQuery = (params: { diff --git a/src/swagger.json b/src/swagger.json index 140c577..44938cd 100644 --- a/src/swagger.json +++ b/src/swagger.json @@ -354,73 +354,6 @@ } } } - }, - "/calculate-updated": { - "get": { - "description": "It returns both givback and NICE results", - "parameters": [ - { - "name": "roundNumber", - "type": "number", - "default": "50", - "in": "query" - }, - { - "name": "givAvailable", - "type": "string", - "default": "1000000", - "in": "query" - }, - { - "name": "maxAddressesPerFunctionCall", - "type": "string", - "default": "200", - "in": "query" - }, - { - "name": "nicePerDollar", - "type": "string", - "default": "1", - "in": "query" - }, - { - "name": "niceWhitelistTokens", - "type": "string", - "default": "DAI,WXDAI,XDAI,USDC", - "in": "query" - }, - { - "name": "niceProjectSlugs", - "type": "string", - "default": "the-giveth-community-of-makers", - "in": "query" - }, - { - "name": "download", - "type": "string", - "description": "If you want to see json here set no, but if you want to download a file set yes", - "default": "no", - "enum": ["yes","no"], - "in": "query" - } - ], - "responses": { - "200": { - "description": "" - } - - } - } - }, - "/current-round": { - "get": { - "description": "It returns current round number", - "responses": { - "200": { - "description": "" - } - } - } - } } } +} diff --git a/src/types/general.ts b/src/types/general.ts index 5879526..1c7107b 100644 --- a/src/types/general.ts +++ b/src/types/general.ts @@ -113,11 +113,4 @@ export interface Project { powerRank: number, round: number } - -} - -export interface GIVbacksRound { - round: number, - start: string, - end: string } diff --git a/src/utils.ts b/src/utils.ts index 5b2cdb2..e62e486 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -3,22 +3,19 @@ import {hexlify, ethers} from "ethers"; import { keccak256 } from "@ethersproject/keccak256"; import { toUtf8Bytes } from "@ethersproject/strings"; - const Web3 = require('web3'); const {pinJSONToIPFS} = require("./pinataUtils"); const _ = require('underscore'); -const axios = require('axios'); -export const convertMinimalDonationToDonationResponse = (params: { - minimalDonationsArray: MinimalDonation[], - niceDonationsWithShare?: MinimalDonation[], + +export const convertMinimalDonationToDonationResponse = (params :{ + minimalDonationsArray : MinimalDonation[], + niceDonationsWithShare ?: MinimalDonation[], raisedValueSum: number, givPrice: number }): DonationResponse[] => { - const { - minimalDonationsArray, raisedValueSum, - givPrice - } = params + const {minimalDonationsArray, raisedValueSum, + givPrice} = params return minimalDonationsArray.map((item: MinimalDonation) => { const share = item.totalDonationsUsdValueAfterGivFactor / raisedValueSum; const givback = (item.totalDonationsUsdValueAfterGivFactor / givPrice) @@ -37,9 +34,9 @@ export const convertMinimalDonationToDonationResponse = (params: { totalReferralAddedUsdValueAfterGivFactor: item.totalReferralAddedUsdValueAfterGivFactor, averageGivbackFactor: (totalDonationsUsdValueAfterGivFactor / totalDonationsUsdValue).toFixed(7), - givback: Number(givback.toFixed(7)), - givbackUsdValue: (givback * givPrice).toFixed(7), - share: Number(share.toFixed(7)), + givback: Number(givback.toFixed(6)), + givbackUsdValue: (givback * givPrice).toFixed(6), + share: Number(share.toFixed(6)), } }).filter(item => { return item.share > 0 @@ -137,7 +134,6 @@ export const createSmartContractCallAddBatchParams = async (params: { } - const getSmartContractAddBatchesHash = (params: { donationsWithShare: DonationResponse[], nonce: number @@ -156,7 +152,6 @@ const getSmartContractAddBatchesHash = (params: { recipients: donationsWithShare.map(({giverAddress}) => giverAddress), } - console.log('rawData \n', rawData ) const hash = hashBatchEthers(rawData) return {hash, rawData} } @@ -207,8 +202,8 @@ const xdaiWeb3 = new Web3(xdaiWeb3NodeUrl); const optimismWeb3NodeUrl = process.env.OPTIMISM_NODE_HTTP_URL const optimismWeb3 = new Web3(optimismWeb3NodeUrl); -export const getLastNonceForWalletAddress = async (walletAddress: string, chain: 'gnosis' | 'optimism'): Promise => { - const web3Provider = chain === 'optimism' ? optimismWeb3 : xdaiWeb3 +export const getLastNonceForWalletAddress = async (walletAddress: string, chain:'gnosis' | 'optimism'): Promise => { + const web3Provider = chain === 'optimism' ? optimismWeb3 :xdaiWeb3 const userTransactionsCount = await web3Provider.eth.getTransactionCount( walletAddress ); @@ -218,7 +213,7 @@ export const getLastNonceForWalletAddress = async (walletAddress: string, chain: walletAddress }) // prevent sending negative nonce - return Math.max(userTransactionsCount - 1, 0) + return Math.max(userTransactionsCount - 1 , 0) } @@ -268,15 +263,3 @@ export const calculateReferralRewardFromRemainingAmount = (valueUsdAfterDeductio const originalValue = valueUsdAfterDeduction * 100 / (100 - referralSharePercentage) return calculateReferralReward(originalValue) } - -export const getBlockByTimestamp = async (timestamp: number, chainId: number) :Promise=> { - try { - const url = `https://api.findblock.xyz/v1/chain/${chainId}/block/before/${timestamp}?inclusive=true` - console.log('getBlockByTimestamp url', url) - const response = await axios.get(url) - return response.data.number - } catch (e) { - console.log('getBlockByTimestamp error', e) - return 0 - } -} diff --git a/test/test.ts b/test/test.ts deleted file mode 100644 index 5fba7dd..0000000 --- a/test/test.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { getCurrentGIVbacksRound, getGIVbacksRound } from "../src/givethIoService"; -import { getBlockByTimestamp } from "../src/utils"; -import {getEthGivPriceInMainnet, getEthPriceTimeStamp} from "../src/priceService"; -// getGIVbacksRound(55).then((res) => { -// console.log("res", res); -// }); - -// getBlockbyTimestamp(1707511725, 100).then((res) => { -// console.log("res", res); -// }); - - -// const getPriceInfo = async (roundNumber: number) => { -// const givAvailable = 1000000 -// const {start, end} = await getGIVbacksRound(Number(roundNumber)) -// const endDate = Math.floor(new Date(end).getTime() / 1000) -// const priceBlock = await getBlockbyTimestamp(endDate, 1) -// console.log("priceBlock", priceBlock); -// const givPriceInETH = await getEthGivPriceInMainnet(priceBlock) -// const ethPrice = await getEthPriceTimeStamp(endDate) -// const givpriceInUSD = givPriceInETH * ethPrice -// const givWorth = givAvailable * givpriceInUSD - -// return [givpriceInUSD, givWorth, endDate] -// } - -// getPriceInfo(55).then((res) => { -// console.log("res", res); -// }); - -getCurrentGIVbacksRound().then((res) => { - console.log("res", res); -}); diff --git a/tsconfig.json b/tsconfig.json index 73c4f6a..778151d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -33,7 +33,7 @@ // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ // "types": [], /* Specify type package names to be included without being referenced in a source file. */ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - "resolveJsonModule": true, /* Enable importing .json files */ + // "resolveJsonModule": true, /* Enable importing .json files */ // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ /* JavaScript Support */