diff --git a/.github/workflows/workflow.yaml b/.github/workflows/workflow.yaml index 908395c0..a44df7f8 100644 --- a/.github/workflows/workflow.yaml +++ b/.github/workflows/workflow.yaml @@ -34,7 +34,7 @@ jobs: run: ./node_modules/.bin/eslint . --ext .js,.jsx,.ts,.tsx - name: Run solhint run: ./node_modules/.bin/solhint contracts/interfaces/*.sol contracts/*.sol contracts/test/*.sol \ - contracts/multisigs/*.sol contracts/utils/*.sol + contracts/multisigs/*.sol contracts/utils/*.sol contracts/staking/*.sol # Compile the code and run tests and deploy script(s) - name: Compile the code diff --git a/.solcover.js b/.solcover.js index 7d2b9ae4..9aef0e1c 100644 --- a/.solcover.js +++ b/.solcover.js @@ -1,5 +1,6 @@ module.exports = { - skipFiles: ["test/ComponentRegistryTest.sol", + skipFiles: [ + "test/ComponentRegistryTest.sol", "test/ERC20Token.sol", "test/GnosisSafeABICreator.sol", "test/MockAgentMech.sol", diff --git a/README.md b/README.md index fcc2dd90..40c1527f 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ In order to generalize `components` / `agents` / `services`, they are referred s A graphical overview of the whole on-chain architecture is available here: -![architecture](https://github.com/valory-xyz/autonolas-registries/blob/main/docs/On-chain_architecture_v5.png?raw=true) +![architecture](https://github.com/valory-xyz/autonolas-registries/blob/main/docs/On-chain_architecture_v6.png?raw=true) An overview of the design, details on how securing services with ETH or a custom ERC20 token, how service owners can opt for a set of authorized operators, as well as how DAOs can manage their autonomous services are provided [here](https://github.com/valory-xyz/autonolas-registries/blob/main/docs/AgentServicesFunctionality.pdf?raw=true). @@ -30,12 +30,11 @@ An overview of the state machine governing service management and usage is provi A more detailed set of registries definitions are provided [here](https://github.com/valory-xyz/autonolas-registries/blob/main/docs/definitions.md). - - - Abstract contracts: - [GenericRegistry](https://github.com/valory-xyz/autonolas-registries/blob/main/contracts/GenericRegistry.sol) - [UnitRegistry](https://github.com/valory-xyz/autonolas-registries/blob/main/contracts/UnitRegistry.sol) - [GenericManager](https://github.com/valory-xyz/autonolas-registries/blob/main/contracts/GenericManager.sol) + - [ServiceStakingBase.sol](https://github.com/valory-xyz/autonolas-registries/blob/main/contracts/staking/ServiceStakingBase.sol) - Core contracts: - [AgentRegistry](https://github.com/valory-xyz/autonolas-registries/blob/main/contracts/AgentRegistry.sol) - [ComponentRegistry](https://github.com/valory-xyz/autonolas-registries/blob/main/contracts/ComponentRegistry.sol) @@ -49,6 +48,9 @@ A more detailed set of registries definitions are provided [here](https://github - Utility contracts: - [OperatorSignedHashes](https://github.com/valory-xyz/autonolas-registries/blob/main/contracts/utils/OperatorSignedHashes.sol) - [OperatorWhitelist](https://github.com/valory-xyz/autonolas-registries/blob/main/contracts/utils/OperatorWhitelist.sol) +- Staking contracts: + - [ServiceStakingNativeToken.sol](https://github.com/valory-xyz/autonolas-registries/blob/main/contracts/staking/ServiceStakingNativeToken.sol) + - [ServiceStakingToken.sol](https://github.com/valory-xyz/autonolas-registries/blob/main/contracts/staking/ServiceStakingToken.sol) In order to deploy a service, its registered agent instances form a consensus mechanism via the means of multisigs using the generic multisig interface. One of the most well-known multisigs is Gnosis Safe. The Gnosis interface implementation of a generic multisig interface is provided here: @@ -71,8 +73,8 @@ As more multisigs come into play, their underlying implementation of the generic ### Prerequisites - This repository follows the standard [`Hardhat`](https://hardhat.org/tutorial/) development process. -- The code is written on Solidity `0.8.15` and `0.8.19`. -- The standard versions of Node.js along with Yarn are required to proceed further (confirmed to work with Yarn `1.22.10` and npx/npm `6.14.11` and node `v12.22.0`). +- The code is written on Solidity `0.8.15`, `0.8.19`, `0.8.21`. +- The standard versions of Node.js along with Yarn are required to proceed further (confirmed to work with Yarn `1.22.19` and npx/npm `10.1.0` and node `v18.17.0`). ### Install the dependencies The project has submodules to get the dependencies. Make sure you run `git clone --recursive` or init the submodules yourself. @@ -99,6 +101,10 @@ Run the tests: ``` npx hardhat test ``` +Run tests with forge: +``` +forge test --hh -vvv +``` ### Test with instrumented code [Scribble](https://docs.scribble.codes/) annotated contracts are located in https://github.com/valory-xyz/autonolas-registries/blob/main/contracts/scribble. diff --git a/abis/0.8.21/ServiceStakingNativeToken.json b/abis/0.8.21/ServiceStakingNativeToken.json index 641a6059..da3e3556 100644 --- a/abis/0.8.21/ServiceStakingNativeToken.json +++ b/abis/0.8.21/ServiceStakingNativeToken.json @@ -731,6 +731,32 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getNextRewardCheckpointTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "tsNext", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getServiceIds", + "outputs": [ + { + "internalType": "uint256[]", + "name": "serviceIds", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -743,7 +769,7 @@ "outputs": [ { "internalType": "bool", - "name": "", + "name": "isStaked", "type": "bool" } ], @@ -998,8 +1024,8 @@ "type": "receive" } ], - "bytecode": "0x6101c060405234801562000011575f80fd5b50604051620024da380380620024da833981016040819052620000349162000360565b828282825f01515f14806200004b57506020830151155b806200005957506060830151155b806200006757506080830151155b8062000075575060a0830151155b156200009457604051637c946ed760e01b815260040160405180910390fd5b600283604001511015620000d057604080840151905163491a2bb160e01b81526004810191909152600260248201526044015b60405180910390fd5b6001600160a01b038216620000f85760405163d92e233d60e01b815260040160405180910390fd5b82516080908152602084015160a0908152604085015160c052606085015160e09081529185015161010090815290850151610120526001600160a01b038416610180529084015161014052830151610160525f805b8460c00151518110156200022e57818560c0015182815181106200017557620001756200043e565b602002602001015111620001c1578460c0015181815181106200019c576200019c6200043e565b6020026020010151604051632ab10b0b60e21b8152600401620000c791815260200190565b8460c001518181518110620001da57620001da6200043e565b6020908102919091010151600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b018190559150620002268162000452565b90506200014d565b50816200024e57604051637c946ed760e01b815260040160405180910390fd5b506101a0525050426002555062000477915050565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b03811182821017156200029d576200029d62000263565b60405290565b5f82601f830112620002b3575f80fd5b815160206001600160401b0380831115620002d257620002d262000263565b8260051b604051601f19603f83011681018181108482111715620002fa57620002fa62000263565b60405293845285810183019383810192508785111562000318575f80fd5b83870191505b8482101562000339578151835291830191908301906200031e565b979650505050505050565b80516001600160a01b03811681146200035b575f80fd5b919050565b5f805f6060848603121562000373575f80fd5b83516001600160401b03808211156200038a575f80fd5b9085019061012082880312156200039f575f80fd5b620003a962000277565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015182811115620003f1575f80fd5b620003ff89828601620002a3565b60c08301525060e0838101519082015261010092830151928101929092525092506200042e6020850162000344565b9150604084015190509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f600182016200047057634e487b7160e01b5f52601160045260245ffd5b5060010190565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051611f83620005575f395f81816103e70152610dca01525f81816105020152818161086b01528181610b8d0152610fc701525f818161058d01528181610c510152610c8001525f81816102dd01528181610cc60152610cfa01525f81816103620152610c0f01525f8181610395015261198201525f818161031001526114cd01525f81816105c0015281816117a801526117e401525f81816105f301526116ef01525f818161026601528181610b150152610b490152611f835ff3fe60806040526004361061017b575f3560e01c8063879d9090116100d1578063cd25fe381161007c578063eacdaabc11610057578063eacdaabc146105e2578063eb338c9614610615578063ffa1ad7414610634575f80fd5b8063cd25fe381461053c578063e1f1176d1461057c578063e77cdcc9146105af575f80fd5b8063b69ef8a8116100ac578063b69ef8a8146104b7578063c2c4c5c1146104cb578063cbcf252a146104f1575f80fd5b8063879d909014610409578063a694fc3a1461041e578063a74466ad1461043d575f80fd5b806352c824f511610131578063592cf3fb1161010c578063592cf3fb1461038457806378e06136146103b7578063809cee2f146103d6575f80fd5b806352c824f5146102ff57806356e76058146103325780635829c5ec14610351575f80fd5b80632e17de78116101615780632e17de78146102965780633e732997146102b757806342cde4e8146102cc575f80fd5b8063150b7a02146101f457806316a7517214610255575f80fd5b366101f0575f345f5461018e9190611a3d565b90505f3460015461019f9190611a3d565b5f8390556001819055604080513481526020810185905290810182905290915033907f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e9060600160405180910390a2005b5f80fd5b3480156101ff575f80fd5b5061021f61020e366004611a64565b630a85bd0160e11b95945050505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b348015610260575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161024c565b3480156102a1575f80fd5b506102b56102b0366004611afb565b610671565b005b3480156102c2575f80fd5b5061028860025481565b3480156102d7575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561030a575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561033d575f80fd5b5061028861034c366004611afb565b61092e565b34801561035c575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561038f575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c2575f80fd5b506102886103d1366004611afb565b61094d565b3480156103e1575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b348015610414575f80fd5b5061028860015481565b348015610429575f80fd5b506102b5610438366004611afb565b610aee565b348015610448575f80fd5b5061048c610457366004611afb565b600460208190525f918252604090912080546001820154600383015492909301546001600160a01b0391821693909116919084565b604080516001600160a01b03958616815294909316602085015291830152606082015260800161024c565b3480156104c2575f80fd5b506102885f5481565b3480156104d6575f80fd5b506104df61107f565b60405161024c96959493929190611b4b565b3480156104fc575f80fd5b506105247f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161024c565b348015610547575f80fd5b5061056c610556366004611afb565b5f90815260046020526040902060030154151590565b604051901515815260200161024c565b348015610587575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ba575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ed575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b348015610620575f80fd5b5061028861062f366004611afb565b611367565b34801561063f575f80fd5b50610664604051806040016040528060058152602001640302e312e360dc1b81525081565b60405161024c9190611c21565b5f81815260046020526040902060018101546001600160a01b031633146106c757600181015460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b5f6106d061107f565b505050505090505f5b815181101561071357838282815181106106f5576106f5611c6c565b602002602001015103156107135761070c81611c80565b90506106d9565b6004830154600284018054604080516020808402820181019092528281525f939092909183018282801561076457602002820191905f5260205f20905b815481526020019060010190808311610750575b505050600388015488545f8b8152600460205260408120805473ffffffffffffffffffffffffffffffffffffffff199081168255600182018054909116905595965091946001600160a01b03909116935091506107c460028301826119ae565b505f60038201819055600490910155600580546107e390600190611c98565b815481106107f3576107f3611c6c565b905f5260205f2001546005868154811061080f5761080f611c6c565b5f91825260209091200155600580548061082b5761082b611cab565b5f8281526020812082015f1990810191909155019055604051632142170760e11b8152306004820152336024820152604481018990526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e906064015f604051808303815f87803b1580156108ac575f80fd5b505af11580156108be573d5f803e3d5ffd5b505050505f8411156108d4576108d48185611376565b806001600160a01b0316336001600160a01b0316897f246ee6115bfd84e00097b16569c2ff2f822026bb9595a82cd2c1e69d4b6ea50c86888760405161091c93929190611cbf565b60405180910390a45050505050505050565b6003818154811061093d575f80fd5b5f91825260209091200154905081565b5f818152600460209081526040808320815160a08101835281546001600160a01b03908116825260018301541681850152600282018054845181870281018701865281815287969395860193909291908301828280156109ca57602002820191905f5260205f20905b8154815260200190600101908083116109b6575b505050505081526020016003820154815260200160048201548152505090508060800151915080606001515f03610a175760405163e0606b6360e01b8152600481018490526024016106be565b5f805f805f610a2461141d565b5050945094509450945094505f841115610ae3575f5b8251811015610ae15788838281518110610a5657610a56611c6c565b602002602001015103610ad15785841115610aac578386838381518110610a7f57610a7f611c6c565b6020026020010151610a919190611ce3565b610a9b9190611cfa565b610aa59089611a3d565b9750610ae1565b818181518110610abe57610abe611c6c565b602002602001015188610aa59190611a3d565b610ada81611c80565b9050610a3a565b505b505050505050919050565b6001545f03610b105760405163afb0be3360e01b815260040160405180910390fd5b6005547f00000000000000000000000000000000000000000000000000000000000000008103610b755760405163fd20861560e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526024016106be565b60405163ef0e239b60e01b8152600481018390525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef0e239b906024015f60405180830381865afa158015610bd9573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c009190810190611e37565b9050806080015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014610c4f57604051637ad404bf60e11b8152600481018490526024016106be565b7f000000000000000000000000000000000000000000000000000000000000000015801590610ca2575080604001517f000000000000000000000000000000000000000000000000000000000000000014155b15610cc357604051637ad404bf60e11b8152600481018490526024016106be565b5f7f0000000000000000000000000000000000000000000000000000000000000000118015610d1c5750806060015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014155b15610d3d57604051637ad404bf60e11b8152600481018490526024016106be565b60048160c001516005811115610d5557610d55611f10565b14610d94578060c001516005811115610d7057610d70611f10565b604051633c053f9d60e21b81526004810191909152602481018490526044016106be565b5f81602001516001600160a01b0316803b806020016040519081016040528181525f908060200190933c805190602001209050807f000000000000000000000000000000000000000000000000000000000000000014610e1757602082015160405162a2307960e51b81526001600160a01b0390911660048201526024016106be565b6003548015610ee35760e083015151818114610e4957604051637ad404bf60e11b8152600481018790526024016106be565b5f5b81811015610ee0578460e001518181518110610e6957610e69611c6c565b602002602001015163ffffffff1660038281548110610e8a57610e8a611c6c565b905f5260205f20015414610ed05760038181548110610eab57610eab611c6c565b905f5260205f200154604051632ab10b0b60e21b81526004016106be91815260200190565b610ed981611c80565b9050610e4b565b50505b610efe85845f01516bffffffffffffffffffffffff166117a6565b5f85815260046020908152604082209085015181546001600160a01b03821673ffffffffffffffffffffffffffffffffffffffff1991821617835560018301805490911633179055909190610f5290611814565b8051909150610f6a90600284019060208401906119cc565b50426003830155600580546001810182555f919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001879055604051632142170760e11b8152336004820152306024820152604481018890527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342842e0e906064015f604051808303815f87803b158015611010575f80fd5b505af1158015611022573d5f803e3d5ffd5b5050505084602001516001600160a01b0316336001600160a01b0316887f5d43ac9b1b213902df90d405b0006308578486b6c62182c5df202ed572c844e48460405161106e9190611f24565b60405180910390a450505050505050565b6060805f6060805f805f805f805f8061109661141d565b96509650965096509650965096505f86111561128c575f878611156111ff575f8060015b8981101561115557888b8883815181106110d6576110d6611c6c565b60200260200101516110e89190611ce3565b6110f29190611cfa565b92506110fe8383611a3d565b915087818151811061111257611112611c6c565b602002602001015193508260045f8681526020019081526020015f206004015f82825461113f9190611a3d565b9091555061114e905081611c80565b90506110ba565b50878a875f8151811061116a5761116a611c6c565b602002602001015161117c9190611ce3565b6111869190611cfa565b91506111928282611a3d565b9050865f815181106111a6576111a6611c6c565b60200260200101519250808a11156111cf576111c2818b611c98565b6111cc9083611a3d565b91505b5f83815260046020819052604082200180548492906111ef908490611a3d565b909155505f9a5061128592505050565b5f5b878110156112775785818151811061121b5761121b611c6c565b6020026020010151915084818151811061123757611237611c6c565b602002602001015160045f8481526020019081526020015f206004015f8282546112619190611a3d565b90915550611270905081611c80565b9050611201565b506112828689611c98565b97505b5060018790555b805115611352575f5b825181101561130f575f8382815181106112b1576112b1611c6c565b602002602001015190508282815181106112cd576112cd611c6c565b602002602001015160045f8381526020019081526020015f2060020190805190602001906112fc9291906119cc565b50508061130890611c80565b9050611295565b50426002556040805188815260208101889052600199507f21d81d5d656869e8ce3ba8d65526a2f0dbbcd3d36f5f9999eb7c84360e45eced910160405180910390a15b909c909b509399509097509550929350915050565b6005818154811061093d575f80fd5b805f808282546113869190611c98565b90915550506040515f906001600160a01b0384169083908381818185875af1925050503d805f81146113d3576040519150601f19603f3d011682016040523d82523d5f602084013e6113d8565b606091505b50509050806114185760405163cd3f165960e01b81525f60048201523060248201526001600160a01b0384166044820152606481018390526084016106be565b505050565b5f805f6060806060805f60058054905090508067ffffffffffffffff81111561144857611448611d19565b604051908082528060200260200182016040528015611471578160200160208202803683370190505b5092505f5b818110156114c7576005818154811061149157611491611c6c565b905f5260205f2001548482815181106114ac576114ac611c6c565b60209081029190910101526114c081611c80565b9050611476565b506002547f00000000000000000000000000000000000000000000000000000000000000006114f68242611c98565b1061179b576001549850881561179b578167ffffffffffffffff81111561151f5761151f611d19565b604051908082528060200260200182016040528015611548578160200160208202803683370190505b5095508167ffffffffffffffff81111561156457611564611d19565b60405190808252806020026020018201604052801561158d578160200160208202803683370190505b5094508167ffffffffffffffff8111156115a9576115a9611d19565b6040519080825280602002602001820160405280156115dc57816020015b60608152602001906001900390816115c75790505b5092505f5b82811015611799575f60045f8784815181106115ff576115ff611c6c565b60209081029190910181015182528101919091526040015f20805490915061162f906001600160a01b0316611814565b85838151811061164157611641611c6c565b6020908102919091010152600381015483908181111561165f578091505b6116698242611c98565b90505f6116e088868151811061168157611681611c6c565b6020026020010151856002018054806020026020016040519081016040528092919081815260200182805480156116d557602002820191905f5260205f20905b8154815260200190600101908083116116c1575b505050505084611825565b90508015611784575f611713837f0000000000000000000000000000000000000000000000000000000000000000611ce3565b905061171f818e611a3d565b9c50808b8f8151811061173457611734611c6c565b60200260200101818152505089868151811061175257611752611c6c565b60200260200101518c8f8151811061176c5761176c611c6c565b60209081029190910101526117808e611c80565b9d50505b505050508061179290611c80565b90506115e1565b505b505090919293949596565b7f00000000000000000000000000000000000000000000000000000000000000008110156118105760405163491a2bb160e01b8152600481018290527f000000000000000000000000000000000000000000000000000000000000000060248201526044016106be565b5050565b606061181f82611839565b92915050565b5f6118318484846118de565b949350505050565b60408051600180825281830190925260609160208083019080368337019050509050816001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118bb9190611f36565b815f815181106118cd576118cd611c6c565b602002602001018181525050919050565b5f808211801561191f5750825f815181106118fb576118fb611c6c565b6020026020010151845f8151811061191557611915611c6c565b6020026020010151115b156119a7575f82845f8151811061193857611938611c6c565b6020026020010151865f8151811061195257611952611c6c565b60200260200101516119649190611c98565b61197690670de0b6b3a7640000611ce3565b6119809190611cfa565b7f000000000000000000000000000000000000000000000000000000000000000011159150505b9392505050565b5080545f8255905f5260205f20908101906119c99190611a15565b50565b828054828255905f5260205f20908101928215611a05579160200282015b82811115611a055782518255916020019190600101906119ea565b50611a11929150611a15565b5090565b5b80821115611a11575f8155600101611a16565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561181f5761181f611a29565b6001600160a01b03811681146119c9575f80fd5b5f805f805f60808688031215611a78575f80fd5b8535611a8381611a50565b94506020860135611a9381611a50565b935060408601359250606086013567ffffffffffffffff80821115611ab6575f80fd5b818801915088601f830112611ac9575f80fd5b813581811115611ad7575f80fd5b896020828501011115611ae8575f80fd5b9699959850939650602001949392505050565b5f60208284031215611b0b575f80fd5b5035919050565b5f8151808452602080850194508084015f5b83811015611b4057815187529582019590820190600101611b24565b509495945050505050565b60c081525f611b5d60c0830189611b12565b6020838203818501528189518084528284019150828160051b850101838c015f805b84811015611bd257878403601f19018652825180518086529088019088860190845b81811015611bbd5783518352928a0192918a0191600101611ba1565b50509688019694505091860191600101611b7f565b5050508a60408801528681036060880152611bed818b611b12565b9450505050508281036080840152611c058186611b12565b915050611c1660a083018415159052565b979650505050505050565b5f6020808352835180828501525f5b81811015611c4c57858101830151858201604001528201611c30565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611c9157611c91611a29565b5060010190565b8181038181111561181f5761181f611a29565b634e487b7160e01b5f52603160045260245ffd5b606081525f611cd16060830186611b12565b60208301949094525060400152919050565b808202811582820484141761181f5761181f611a29565b5f82611d1457634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff81118282101715611d5157611d51611d19565b60405290565b80516bffffffffffffffffffffffff81168114611d72575f80fd5b919050565b8051611d7281611a50565b805163ffffffff81168114611d72575f80fd5b805160068110611d72575f80fd5b5f82601f830112611db2575f80fd5b8151602067ffffffffffffffff80831115611dcf57611dcf611d19565b8260051b604051601f19603f83011681018181108482111715611df457611df4611d19565b604052938452858101830193838101925087851115611e11575f80fd5b83870191505b84821015611c1657611e2882611d82565b83529183019190830190611e17565b5f60208284031215611e47575f80fd5b815167ffffffffffffffff80821115611e5e575f80fd5b908301906101008286031215611e72575f80fd5b611e7a611d2d565b611e8383611d57565b8152611e9160208401611d77565b602082015260408301516040820152611eac60608401611d82565b6060820152611ebd60808401611d82565b6080820152611ece60a08401611d82565b60a0820152611edf60c08401611d95565b60c082015260e083015182811115611ef5575f80fd5b611f0187828601611da3565b60e08301525095945050505050565b634e487b7160e01b5f52602160045260245ffd5b602081525f6119a76020830184611b12565b5f60208284031215611f46575f80fd5b505191905056fea2646970667358221220fce902e52cfe37cc6f4eb03125b4f2a3a0e3897a370dbfb7587fecc7067a04a064736f6c63430008150033", - "deployedBytecode": "0x60806040526004361061017b575f3560e01c8063879d9090116100d1578063cd25fe381161007c578063eacdaabc11610057578063eacdaabc146105e2578063eb338c9614610615578063ffa1ad7414610634575f80fd5b8063cd25fe381461053c578063e1f1176d1461057c578063e77cdcc9146105af575f80fd5b8063b69ef8a8116100ac578063b69ef8a8146104b7578063c2c4c5c1146104cb578063cbcf252a146104f1575f80fd5b8063879d909014610409578063a694fc3a1461041e578063a74466ad1461043d575f80fd5b806352c824f511610131578063592cf3fb1161010c578063592cf3fb1461038457806378e06136146103b7578063809cee2f146103d6575f80fd5b806352c824f5146102ff57806356e76058146103325780635829c5ec14610351575f80fd5b80632e17de78116101615780632e17de78146102965780633e732997146102b757806342cde4e8146102cc575f80fd5b8063150b7a02146101f457806316a7517214610255575f80fd5b366101f0575f345f5461018e9190611a3d565b90505f3460015461019f9190611a3d565b5f8390556001819055604080513481526020810185905290810182905290915033907f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e9060600160405180910390a2005b5f80fd5b3480156101ff575f80fd5b5061021f61020e366004611a64565b630a85bd0160e11b95945050505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b348015610260575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161024c565b3480156102a1575f80fd5b506102b56102b0366004611afb565b610671565b005b3480156102c2575f80fd5b5061028860025481565b3480156102d7575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561030a575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561033d575f80fd5b5061028861034c366004611afb565b61092e565b34801561035c575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561038f575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c2575f80fd5b506102886103d1366004611afb565b61094d565b3480156103e1575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b348015610414575f80fd5b5061028860015481565b348015610429575f80fd5b506102b5610438366004611afb565b610aee565b348015610448575f80fd5b5061048c610457366004611afb565b600460208190525f918252604090912080546001820154600383015492909301546001600160a01b0391821693909116919084565b604080516001600160a01b03958616815294909316602085015291830152606082015260800161024c565b3480156104c2575f80fd5b506102885f5481565b3480156104d6575f80fd5b506104df61107f565b60405161024c96959493929190611b4b565b3480156104fc575f80fd5b506105247f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161024c565b348015610547575f80fd5b5061056c610556366004611afb565b5f90815260046020526040902060030154151590565b604051901515815260200161024c565b348015610587575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ba575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ed575f80fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b348015610620575f80fd5b5061028861062f366004611afb565b611367565b34801561063f575f80fd5b50610664604051806040016040528060058152602001640302e312e360dc1b81525081565b60405161024c9190611c21565b5f81815260046020526040902060018101546001600160a01b031633146106c757600181015460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b5f6106d061107f565b505050505090505f5b815181101561071357838282815181106106f5576106f5611c6c565b602002602001015103156107135761070c81611c80565b90506106d9565b6004830154600284018054604080516020808402820181019092528281525f939092909183018282801561076457602002820191905f5260205f20905b815481526020019060010190808311610750575b505050600388015488545f8b8152600460205260408120805473ffffffffffffffffffffffffffffffffffffffff199081168255600182018054909116905595965091946001600160a01b03909116935091506107c460028301826119ae565b505f60038201819055600490910155600580546107e390600190611c98565b815481106107f3576107f3611c6c565b905f5260205f2001546005868154811061080f5761080f611c6c565b5f91825260209091200155600580548061082b5761082b611cab565b5f8281526020812082015f1990810191909155019055604051632142170760e11b8152306004820152336024820152604481018990526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e906064015f604051808303815f87803b1580156108ac575f80fd5b505af11580156108be573d5f803e3d5ffd5b505050505f8411156108d4576108d48185611376565b806001600160a01b0316336001600160a01b0316897f246ee6115bfd84e00097b16569c2ff2f822026bb9595a82cd2c1e69d4b6ea50c86888760405161091c93929190611cbf565b60405180910390a45050505050505050565b6003818154811061093d575f80fd5b5f91825260209091200154905081565b5f818152600460209081526040808320815160a08101835281546001600160a01b03908116825260018301541681850152600282018054845181870281018701865281815287969395860193909291908301828280156109ca57602002820191905f5260205f20905b8154815260200190600101908083116109b6575b505050505081526020016003820154815260200160048201548152505090508060800151915080606001515f03610a175760405163e0606b6360e01b8152600481018490526024016106be565b5f805f805f610a2461141d565b5050945094509450945094505f841115610ae3575f5b8251811015610ae15788838281518110610a5657610a56611c6c565b602002602001015103610ad15785841115610aac578386838381518110610a7f57610a7f611c6c565b6020026020010151610a919190611ce3565b610a9b9190611cfa565b610aa59089611a3d565b9750610ae1565b818181518110610abe57610abe611c6c565b602002602001015188610aa59190611a3d565b610ada81611c80565b9050610a3a565b505b505050505050919050565b6001545f03610b105760405163afb0be3360e01b815260040160405180910390fd5b6005547f00000000000000000000000000000000000000000000000000000000000000008103610b755760405163fd20861560e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526024016106be565b60405163ef0e239b60e01b8152600481018390525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef0e239b906024015f60405180830381865afa158015610bd9573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c009190810190611e37565b9050806080015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014610c4f57604051637ad404bf60e11b8152600481018490526024016106be565b7f000000000000000000000000000000000000000000000000000000000000000015801590610ca2575080604001517f000000000000000000000000000000000000000000000000000000000000000014155b15610cc357604051637ad404bf60e11b8152600481018490526024016106be565b5f7f0000000000000000000000000000000000000000000000000000000000000000118015610d1c5750806060015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014155b15610d3d57604051637ad404bf60e11b8152600481018490526024016106be565b60048160c001516005811115610d5557610d55611f10565b14610d94578060c001516005811115610d7057610d70611f10565b604051633c053f9d60e21b81526004810191909152602481018490526044016106be565b5f81602001516001600160a01b0316803b806020016040519081016040528181525f908060200190933c805190602001209050807f000000000000000000000000000000000000000000000000000000000000000014610e1757602082015160405162a2307960e51b81526001600160a01b0390911660048201526024016106be565b6003548015610ee35760e083015151818114610e4957604051637ad404bf60e11b8152600481018790526024016106be565b5f5b81811015610ee0578460e001518181518110610e6957610e69611c6c565b602002602001015163ffffffff1660038281548110610e8a57610e8a611c6c565b905f5260205f20015414610ed05760038181548110610eab57610eab611c6c565b905f5260205f200154604051632ab10b0b60e21b81526004016106be91815260200190565b610ed981611c80565b9050610e4b565b50505b610efe85845f01516bffffffffffffffffffffffff166117a6565b5f85815260046020908152604082209085015181546001600160a01b03821673ffffffffffffffffffffffffffffffffffffffff1991821617835560018301805490911633179055909190610f5290611814565b8051909150610f6a90600284019060208401906119cc565b50426003830155600580546001810182555f919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001879055604051632142170760e11b8152336004820152306024820152604481018890527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342842e0e906064015f604051808303815f87803b158015611010575f80fd5b505af1158015611022573d5f803e3d5ffd5b5050505084602001516001600160a01b0316336001600160a01b0316887f5d43ac9b1b213902df90d405b0006308578486b6c62182c5df202ed572c844e48460405161106e9190611f24565b60405180910390a450505050505050565b6060805f6060805f805f805f805f8061109661141d565b96509650965096509650965096505f86111561128c575f878611156111ff575f8060015b8981101561115557888b8883815181106110d6576110d6611c6c565b60200260200101516110e89190611ce3565b6110f29190611cfa565b92506110fe8383611a3d565b915087818151811061111257611112611c6c565b602002602001015193508260045f8681526020019081526020015f206004015f82825461113f9190611a3d565b9091555061114e905081611c80565b90506110ba565b50878a875f8151811061116a5761116a611c6c565b602002602001015161117c9190611ce3565b6111869190611cfa565b91506111928282611a3d565b9050865f815181106111a6576111a6611c6c565b60200260200101519250808a11156111cf576111c2818b611c98565b6111cc9083611a3d565b91505b5f83815260046020819052604082200180548492906111ef908490611a3d565b909155505f9a5061128592505050565b5f5b878110156112775785818151811061121b5761121b611c6c565b6020026020010151915084818151811061123757611237611c6c565b602002602001015160045f8481526020019081526020015f206004015f8282546112619190611a3d565b90915550611270905081611c80565b9050611201565b506112828689611c98565b97505b5060018790555b805115611352575f5b825181101561130f575f8382815181106112b1576112b1611c6c565b602002602001015190508282815181106112cd576112cd611c6c565b602002602001015160045f8381526020019081526020015f2060020190805190602001906112fc9291906119cc565b50508061130890611c80565b9050611295565b50426002556040805188815260208101889052600199507f21d81d5d656869e8ce3ba8d65526a2f0dbbcd3d36f5f9999eb7c84360e45eced910160405180910390a15b909c909b509399509097509550929350915050565b6005818154811061093d575f80fd5b805f808282546113869190611c98565b90915550506040515f906001600160a01b0384169083908381818185875af1925050503d805f81146113d3576040519150601f19603f3d011682016040523d82523d5f602084013e6113d8565b606091505b50509050806114185760405163cd3f165960e01b81525f60048201523060248201526001600160a01b0384166044820152606481018390526084016106be565b505050565b5f805f6060806060805f60058054905090508067ffffffffffffffff81111561144857611448611d19565b604051908082528060200260200182016040528015611471578160200160208202803683370190505b5092505f5b818110156114c7576005818154811061149157611491611c6c565b905f5260205f2001548482815181106114ac576114ac611c6c565b60209081029190910101526114c081611c80565b9050611476565b506002547f00000000000000000000000000000000000000000000000000000000000000006114f68242611c98565b1061179b576001549850881561179b578167ffffffffffffffff81111561151f5761151f611d19565b604051908082528060200260200182016040528015611548578160200160208202803683370190505b5095508167ffffffffffffffff81111561156457611564611d19565b60405190808252806020026020018201604052801561158d578160200160208202803683370190505b5094508167ffffffffffffffff8111156115a9576115a9611d19565b6040519080825280602002602001820160405280156115dc57816020015b60608152602001906001900390816115c75790505b5092505f5b82811015611799575f60045f8784815181106115ff576115ff611c6c565b60209081029190910181015182528101919091526040015f20805490915061162f906001600160a01b0316611814565b85838151811061164157611641611c6c565b6020908102919091010152600381015483908181111561165f578091505b6116698242611c98565b90505f6116e088868151811061168157611681611c6c565b6020026020010151856002018054806020026020016040519081016040528092919081815260200182805480156116d557602002820191905f5260205f20905b8154815260200190600101908083116116c1575b505050505084611825565b90508015611784575f611713837f0000000000000000000000000000000000000000000000000000000000000000611ce3565b905061171f818e611a3d565b9c50808b8f8151811061173457611734611c6c565b60200260200101818152505089868151811061175257611752611c6c565b60200260200101518c8f8151811061176c5761176c611c6c565b60209081029190910101526117808e611c80565b9d50505b505050508061179290611c80565b90506115e1565b505b505090919293949596565b7f00000000000000000000000000000000000000000000000000000000000000008110156118105760405163491a2bb160e01b8152600481018290527f000000000000000000000000000000000000000000000000000000000000000060248201526044016106be565b5050565b606061181f82611839565b92915050565b5f6118318484846118de565b949350505050565b60408051600180825281830190925260609160208083019080368337019050509050816001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118bb9190611f36565b815f815181106118cd576118cd611c6c565b602002602001018181525050919050565b5f808211801561191f5750825f815181106118fb576118fb611c6c565b6020026020010151845f8151811061191557611915611c6c565b6020026020010151115b156119a7575f82845f8151811061193857611938611c6c565b6020026020010151865f8151811061195257611952611c6c565b60200260200101516119649190611c98565b61197690670de0b6b3a7640000611ce3565b6119809190611cfa565b7f000000000000000000000000000000000000000000000000000000000000000011159150505b9392505050565b5080545f8255905f5260205f20908101906119c99190611a15565b50565b828054828255905f5260205f20908101928215611a05579160200282015b82811115611a055782518255916020019190600101906119ea565b50611a11929150611a15565b5090565b5b80821115611a11575f8155600101611a16565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561181f5761181f611a29565b6001600160a01b03811681146119c9575f80fd5b5f805f805f60808688031215611a78575f80fd5b8535611a8381611a50565b94506020860135611a9381611a50565b935060408601359250606086013567ffffffffffffffff80821115611ab6575f80fd5b818801915088601f830112611ac9575f80fd5b813581811115611ad7575f80fd5b896020828501011115611ae8575f80fd5b9699959850939650602001949392505050565b5f60208284031215611b0b575f80fd5b5035919050565b5f8151808452602080850194508084015f5b83811015611b4057815187529582019590820190600101611b24565b509495945050505050565b60c081525f611b5d60c0830189611b12565b6020838203818501528189518084528284019150828160051b850101838c015f805b84811015611bd257878403601f19018652825180518086529088019088860190845b81811015611bbd5783518352928a0192918a0191600101611ba1565b50509688019694505091860191600101611b7f565b5050508a60408801528681036060880152611bed818b611b12565b9450505050508281036080840152611c058186611b12565b915050611c1660a083018415159052565b979650505050505050565b5f6020808352835180828501525f5b81811015611c4c57858101830151858201604001528201611c30565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611c9157611c91611a29565b5060010190565b8181038181111561181f5761181f611a29565b634e487b7160e01b5f52603160045260245ffd5b606081525f611cd16060830186611b12565b60208301949094525060400152919050565b808202811582820484141761181f5761181f611a29565b5f82611d1457634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff81118282101715611d5157611d51611d19565b60405290565b80516bffffffffffffffffffffffff81168114611d72575f80fd5b919050565b8051611d7281611a50565b805163ffffffff81168114611d72575f80fd5b805160068110611d72575f80fd5b5f82601f830112611db2575f80fd5b8151602067ffffffffffffffff80831115611dcf57611dcf611d19565b8260051b604051601f19603f83011681018181108482111715611df457611df4611d19565b604052938452858101830193838101925087851115611e11575f80fd5b83870191505b84821015611c1657611e2882611d82565b83529183019190830190611e17565b5f60208284031215611e47575f80fd5b815167ffffffffffffffff80821115611e5e575f80fd5b908301906101008286031215611e72575f80fd5b611e7a611d2d565b611e8383611d57565b8152611e9160208401611d77565b602082015260408301516040820152611eac60608401611d82565b6060820152611ebd60808401611d82565b6080820152611ece60a08401611d82565b60a0820152611edf60c08401611d95565b60c082015260e083015182811115611ef5575f80fd5b611f0187828601611da3565b60e08301525095945050505050565b634e487b7160e01b5f52602160045260245ffd5b602081525f6119a76020830184611b12565b5f60208284031215611f46575f80fd5b505191905056fea2646970667358221220fce902e52cfe37cc6f4eb03125b4f2a3a0e3897a370dbfb7587fecc7067a04a064736f6c63430008150033", + "bytecode": "0x6101c060405234801562000011575f80fd5b50604051620025f6380380620025f6833981016040819052620000349162000360565b828282825f01515f14806200004b57506020830151155b806200005957506060830151155b806200006757506080830151155b8062000075575060a0830151155b156200009457604051637c946ed760e01b815260040160405180910390fd5b600283604001511015620000d057604080840151905163491a2bb160e01b81526004810191909152600260248201526044015b60405180910390fd5b6001600160a01b038216620000f85760405163d92e233d60e01b815260040160405180910390fd5b82516080908152602084015160a0908152604085015160c052606085015160e09081529185015161010090815290850151610120526001600160a01b038416610180529084015161014052830151610160525f805b8460c00151518110156200022e57818560c0015182815181106200017557620001756200043e565b602002602001015111620001c1578460c0015181815181106200019c576200019c6200043e565b6020026020010151604051632ab10b0b60e21b8152600401620000c791815260200190565b8460c001518181518110620001da57620001da6200043e565b6020908102919091010151600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b018190559150620002268162000452565b90506200014d565b50816200024e57604051637c946ed760e01b815260040160405180910390fd5b506101a0525050426002555062000477915050565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b03811182821017156200029d576200029d62000263565b60405290565b5f82601f830112620002b3575f80fd5b815160206001600160401b0380831115620002d257620002d262000263565b8260051b604051601f19603f83011681018181108482111715620002fa57620002fa62000263565b60405293845285810183019383810192508785111562000318575f80fd5b83870191505b8482101562000339578151835291830191908301906200031e565b979650505050505050565b80516001600160a01b03811681146200035b575f80fd5b919050565b5f805f6060848603121562000373575f80fd5b83516001600160401b03808211156200038a575f80fd5b9085019061012082880312156200039f575f80fd5b620003a962000277565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015182811115620003f1575f80fd5b620003ff89828601620002a3565b60c08301525060e0838101519082015261010092830151928101929092525092506200042e6020850162000344565b9150604084015190509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f600182016200047057634e487b7160e01b5f52601160045260245ffd5b5060010190565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516120986200055e5f395f81816103fd0152610e1e01525f8181610518015281816108c801528181610be1015261101b01525f81816105a301528181610ca50152610cd401525f81816102f301528181610d1a0152610d4e01525f81816103780152610c6301525f81816103ab0152611a9701525f818161032601528181611470015261155e01525f81816105d6015281816118bd01526118f901525f8181610609015261180401525f818161027c01528181610b690152610b9d01526120985ff3fe608060405260043610610191575f3560e01c8063a694fc3a116100dc578063e1f1176d11610087578063eb338c9611610062578063eb338c961461062b578063f189e85a1461064a578063f4dce7141461066b578063ffa1ad741461067f575f80fd5b8063e1f1176d14610592578063e77cdcc9146105c5578063eacdaabc146105f8575f80fd5b8063c2c4c5c1116100b7578063c2c4c5c1146104e1578063cbcf252a14610507578063cd25fe3814610552575f80fd5b8063a694fc3a14610434578063a74466ad14610453578063b69ef8a8146104cd575f80fd5b806356e760581161013c57806378e061361161011757806378e06136146103cd578063809cee2f146103ec578063879d90901461041f575f80fd5b806356e76058146103485780635829c5ec14610367578063592cf3fb1461039a575f80fd5b80633e7329971161016c5780633e732997146102cd57806342cde4e8146102e257806352c824f514610315575f80fd5b8063150b7a021461020a57806316a751721461026b5780632e17de78146102ac575f80fd5b36610206575f345f546101a49190611b52565b90505f346001546101b59190611b52565b5f8390556001819055604080513481526020810185905290810182905290915033907f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e9060600160405180910390a2005b5f80fd5b348015610215575f80fd5b50610235610224366004611b79565b630a85bd0160e11b95945050505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b348015610276575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610262565b3480156102b7575f80fd5b506102cb6102c6366004611c10565b6106bc565b005b3480156102d8575f80fd5b5061029e60025481565b3480156102ed575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610320575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610353575f80fd5b5061029e610362366004611c10565b61098c565b348015610372575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a5575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d8575f80fd5b5061029e6103e7366004611c10565b6109ab565b3480156103f7575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561042a575f80fd5b5061029e60015481565b34801561043f575f80fd5b506102cb61044e366004611c10565b610b42565b34801561045e575f80fd5b506104a261046d366004611c10565b600460208190525f918252604090912080546001820154600383015492909301546001600160a01b0391821693909116919084565b604080516001600160a01b039586168152949093166020850152918301526060820152608001610262565b3480156104d8575f80fd5b5061029e5f5481565b3480156104ec575f80fd5b506104f56110d3565b60405161026296959493929190611c60565b348015610512575f80fd5b5061053a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610262565b34801561055d575f80fd5b5061058261056c366004611c10565b5f90815260046020526040902060030154151590565b6040519015158152602001610262565b34801561059d575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105d0575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610603575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610636575f80fd5b5061029e610645366004611c10565b6113bb565b348015610655575f80fd5b5061065e6113ca565b6040516102629190611d36565b348015610676575f80fd5b5061029e61146d565b34801561068a575f80fd5b506106af604051806040016040528060058152602001640302e312e360dc1b81525081565b6040516102629190611d48565b5f81815260046020526040902060018101546001600160a01b0316331461071257600181015460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b5f8061071c6110d3565b955050505050915080610734576107316113ca565b91505b5f5b8251811015610770578483828151811061075257610752611d93565b602002602001015103156107705761076981611da7565b9050610736565b6004840154600285018054604080516020808402820181019092528281525f93909290918301828280156107c157602002820191905f5260205f20905b8154815260200190600101908083116107ad575b505050600389015489545f8c8152600460205260408120805473ffffffffffffffffffffffffffffffffffffffff199081168255600182018054909116905595965091946001600160a01b03909116935091506108216002830182611ac3565b505f600382018190556004909101556005805461084090600190611dbf565b8154811061085057610850611d93565b905f5260205f2001546005868154811061086c5761086c611d93565b5f91825260209091200155600580548061088857610888611dd2565b5f8281526020812082015f1990810191909155019055604051632142170760e11b8152306004820152336024820152604481018a90526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e906064015f604051808303815f87803b158015610909575f80fd5b505af115801561091b573d5f803e3d5ffd5b505050505f8411156109315761093181856114a1565b806001600160a01b0316336001600160a01b03168a7f246ee6115bfd84e00097b16569c2ff2f822026bb9595a82cd2c1e69d4b6ea50c86888760405161097993929190611de6565b60405180910390a4505050505050505050565b6003818154811061099b575f80fd5b5f91825260209091200154905081565b5f818152600460209081526040808320815160a08101835281546001600160a01b0390811682526001830154168185015260028201805484518187028101870186528181528796939586019390929190830182828015610a2857602002820191905f5260205f20905b815481526020019060010190808311610a14575b505050505081526020016003820154815260200160048201548152505090508060800151915080606001515f03610a755760405163e0606b6360e01b815260048101849052602401610709565b5f805f805f610a82611548565b5050945094509450945094505f5b84811015610b365788838281518110610aab57610aab611d93565b602002602001015103610b265785841115610b01578386838381518110610ad457610ad4611d93565b6020026020010151610ae69190611e0a565b610af09190611e21565b610afa9089611b52565b9750610b36565b818181518110610b1357610b13611d93565b602002602001015188610afa9190611b52565b610b2f81611da7565b9050610a90565b50505050505050919050565b6001545f03610b645760405163afb0be3360e01b815260040160405180910390fd5b6005547f00000000000000000000000000000000000000000000000000000000000000008103610bc95760405163fd20861560e01b81527f00000000000000000000000000000000000000000000000000000000000000006004820152602401610709565b60405163ef0e239b60e01b8152600481018390525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef0e239b906024015f60405180830381865afa158015610c2d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c549190810190611f5e565b9050806080015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014610ca357604051637ad404bf60e11b815260048101849052602401610709565b7f000000000000000000000000000000000000000000000000000000000000000015801590610cf6575080604001517f000000000000000000000000000000000000000000000000000000000000000014155b15610d1757604051637ad404bf60e11b815260048101849052602401610709565b5f7f0000000000000000000000000000000000000000000000000000000000000000118015610d705750806060015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014155b15610d9157604051637ad404bf60e11b815260048101849052602401610709565b60048160c001516005811115610da957610da9612037565b14610de8578060c001516005811115610dc457610dc4612037565b604051633c053f9d60e21b8152600481019190915260248101849052604401610709565b5f81602001516001600160a01b0316803b806020016040519081016040528181525f908060200190933c805190602001209050807f000000000000000000000000000000000000000000000000000000000000000014610e6b57602082015160405162a2307960e51b81526001600160a01b039091166004820152602401610709565b6003548015610f375760e083015151818114610e9d57604051637ad404bf60e11b815260048101879052602401610709565b5f5b81811015610f34578460e001518181518110610ebd57610ebd611d93565b602002602001015163ffffffff1660038281548110610ede57610ede611d93565b905f5260205f20015414610f245760038181548110610eff57610eff611d93565b905f5260205f200154604051632ab10b0b60e21b815260040161070991815260200190565b610f2d81611da7565b9050610e9f565b50505b610f5285845f01516bffffffffffffffffffffffff166118bb565b5f85815260046020908152604082209085015181546001600160a01b03821673ffffffffffffffffffffffffffffffffffffffff1991821617835560018301805490911633179055909190610fa690611929565b8051909150610fbe9060028401906020840190611ae1565b50426003830155600580546001810182555f919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001879055604051632142170760e11b8152336004820152306024820152604481018890527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342842e0e906064015f604051808303815f87803b158015611064575f80fd5b505af1158015611076573d5f803e3d5ffd5b5050505084602001516001600160a01b0316336001600160a01b0316887f5d43ac9b1b213902df90d405b0006308578486b6c62182c5df202ed572c844e4846040516110c29190611d36565b60405180910390a450505050505050565b6060805f6060805f805f805f805f806110ea611548565b96509650965096509650965096505f8611156112e0575f87861115611253575f8060015b898110156111a957888b88838151811061112a5761112a611d93565b602002602001015161113c9190611e0a565b6111469190611e21565b92506111528383611b52565b915087818151811061116657611166611d93565b602002602001015193508260045f8681526020019081526020015f206004015f8282546111939190611b52565b909155506111a2905081611da7565b905061110e565b50878a875f815181106111be576111be611d93565b60200260200101516111d09190611e0a565b6111da9190611e21565b91506111e68282611b52565b9050865f815181106111fa576111fa611d93565b60200260200101519250808a111561122357611216818b611dbf565b6112209083611b52565b91505b5f8381526004602081905260408220018054849290611243908490611b52565b909155505f9a506112d992505050565b5f5b878110156112cb5785818151811061126f5761126f611d93565b6020026020010151915084818151811061128b5761128b611d93565b602002602001015160045f8481526020019081526020015f206004015f8282546112b59190611b52565b909155506112c4905081611da7565b9050611255565b506112d68689611dbf565b97505b5060018790555b8051156113a6575f5b8251811015611363575f83828151811061130557611305611d93565b6020026020010151905082828151811061132157611321611d93565b602002602001015160045f8381526020019081526020015f206002019080519060200190611350929190611ae1565b50508061135c90611da7565b90506112e9565b50426002556040805188815260208101889052600199507f21d81d5d656869e8ce3ba8d65526a2f0dbbcd3d36f5f9999eb7c84360e45eced910160405180910390a15b909c909b509399509097509550929350915050565b6005818154811061099b575f80fd5b6005546060908067ffffffffffffffff8111156113e9576113e9611e40565b604051908082528060200260200182016040528015611412578160200160208202803683370190505b5091505f5b81811015611468576005818154811061143257611432611d93565b905f5260205f20015483828151811061144d5761144d611d93565b602090810291909101015261146181611da7565b9050611417565b505090565b5f7f000000000000000000000000000000000000000000000000000000000000000060025461149c9190611b52565b905090565b805f808282546114b19190611dbf565b90915550506040515f906001600160a01b0384169083908381818185875af1925050503d805f81146114fe576040519150601f19603f3d011682016040523d82523d5f602084013e611503565b606091505b50509050806115435760405163cd3f165960e01b81525f60048201523060248201526001600160a01b038416604482015260648101839052608401610709565b505050565b600254600154905f9081906060908190819081907f00000000000000000000000000000000000000000000000000000000000000006115878242611dbf565b1015801561159457505f88115b156118b1576005548067ffffffffffffffff8111156115b5576115b5611e40565b6040519080825280602002602001820160405280156115de578160200160208202803683370190505b5093508067ffffffffffffffff8111156115fa576115fa611e40565b604051908082528060200260200182016040528015611623578160200160208202803683370190505b5095508067ffffffffffffffff81111561163f5761163f611e40565b604051908082528060200260200182016040528015611668578160200160208202803683370190505b5094508067ffffffffffffffff81111561168457611684611e40565b6040519080825280602002602001820160405280156116b757816020015b60608152602001906001900390816116a25790505b5092505f5b818110156118ae57600581815481106116d7576116d7611d93565b905f5260205f2001548582815181106116f2576116f2611d93565b6020026020010181815250505f60045f87848151811061171457611714611d93565b60209081029190910181015182528101919091526040015f208054909150611744906001600160a01b0316611929565b85838151811061175657611756611d93565b60209081029190910101526003810154849081811115611774578091505b61177e8242611dbf565b90505f6117f588868151811061179657611796611d93565b6020026020010151856002018054806020026020016040519081016040528092919081815260200182805480156117ea57602002820191905f5260205f20905b8154815260200190600101908083116117d6575b50505050508461193a565b90508015611899575f611828837f0000000000000000000000000000000000000000000000000000000000000000611e0a565b9050611834818e611b52565b9c50808b8f8151811061184957611849611d93565b60200260200101818152505089868151811061186757611867611d93565b60200260200101518c8f8151811061188157611881611d93565b60209081029190910101526118958e611da7565b9d50505b50505050806118a790611da7565b90506116bc565b50505b5090919293949596565b7f00000000000000000000000000000000000000000000000000000000000000008110156119255760405163491a2bb160e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006024820152604401610709565b5050565b60606119348261194e565b92915050565b5f6119468484846119f3565b949350505050565b60408051600180825281830190925260609160208083019080368337019050509050816001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119d0919061204b565b815f815181106119e2576119e2611d93565b602002602001018181525050919050565b5f8082118015611a345750825f81518110611a1057611a10611d93565b6020026020010151845f81518110611a2a57611a2a611d93565b6020026020010151115b15611abc575f82845f81518110611a4d57611a4d611d93565b6020026020010151865f81518110611a6757611a67611d93565b6020026020010151611a799190611dbf565b611a8b90670de0b6b3a7640000611e0a565b611a959190611e21565b7f000000000000000000000000000000000000000000000000000000000000000011159150505b9392505050565b5080545f8255905f5260205f2090810190611ade9190611b2a565b50565b828054828255905f5260205f20908101928215611b1a579160200282015b82811115611b1a578251825591602001919060010190611aff565b50611b26929150611b2a565b5090565b5b80821115611b26575f8155600101611b2b565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561193457611934611b3e565b6001600160a01b0381168114611ade575f80fd5b5f805f805f60808688031215611b8d575f80fd5b8535611b9881611b65565b94506020860135611ba881611b65565b935060408601359250606086013567ffffffffffffffff80821115611bcb575f80fd5b818801915088601f830112611bde575f80fd5b813581811115611bec575f80fd5b896020828501011115611bfd575f80fd5b9699959850939650602001949392505050565b5f60208284031215611c20575f80fd5b5035919050565b5f8151808452602080850194508084015f5b83811015611c5557815187529582019590820190600101611c39565b509495945050505050565b60c081525f611c7260c0830189611c27565b6020838203818501528189518084528284019150828160051b850101838c015f805b84811015611ce757878403601f19018652825180518086529088019088860190845b81811015611cd25783518352928a0192918a0191600101611cb6565b50509688019694505091860191600101611c94565b5050508a60408801528681036060880152611d02818b611c27565b9450505050508281036080840152611d1a8186611c27565b915050611d2b60a083018415159052565b979650505050505050565b602081525f611abc6020830184611c27565b5f6020808352835180828501525f5b81811015611d7357858101830151858201604001528201611d57565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611db857611db8611b3e565b5060010190565b8181038181111561193457611934611b3e565b634e487b7160e01b5f52603160045260245ffd5b606081525f611df86060830186611c27565b60208301949094525060400152919050565b808202811582820484141761193457611934611b3e565b5f82611e3b57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff81118282101715611e7857611e78611e40565b60405290565b80516bffffffffffffffffffffffff81168114611e99575f80fd5b919050565b8051611e9981611b65565b805163ffffffff81168114611e99575f80fd5b805160068110611e99575f80fd5b5f82601f830112611ed9575f80fd5b8151602067ffffffffffffffff80831115611ef657611ef6611e40565b8260051b604051601f19603f83011681018181108482111715611f1b57611f1b611e40565b604052938452858101830193838101925087851115611f38575f80fd5b83870191505b84821015611d2b57611f4f82611ea9565b83529183019190830190611f3e565b5f60208284031215611f6e575f80fd5b815167ffffffffffffffff80821115611f85575f80fd5b908301906101008286031215611f99575f80fd5b611fa1611e54565b611faa83611e7e565b8152611fb860208401611e9e565b602082015260408301516040820152611fd360608401611ea9565b6060820152611fe460808401611ea9565b6080820152611ff560a08401611ea9565b60a082015261200660c08401611ebc565b60c082015260e08301518281111561201c575f80fd5b61202887828601611eca565b60e08301525095945050505050565b634e487b7160e01b5f52602160045260245ffd5b5f6020828403121561205b575f80fd5b505191905056fea2646970667358221220369db9315caf7f21ab4dbc689015c5ce7e2b9bf805806c46a8ad7c6b40304d6a64736f6c63430008150033", + "deployedBytecode": "0x608060405260043610610191575f3560e01c8063a694fc3a116100dc578063e1f1176d11610087578063eb338c9611610062578063eb338c961461062b578063f189e85a1461064a578063f4dce7141461066b578063ffa1ad741461067f575f80fd5b8063e1f1176d14610592578063e77cdcc9146105c5578063eacdaabc146105f8575f80fd5b8063c2c4c5c1116100b7578063c2c4c5c1146104e1578063cbcf252a14610507578063cd25fe3814610552575f80fd5b8063a694fc3a14610434578063a74466ad14610453578063b69ef8a8146104cd575f80fd5b806356e760581161013c57806378e061361161011757806378e06136146103cd578063809cee2f146103ec578063879d90901461041f575f80fd5b806356e76058146103485780635829c5ec14610367578063592cf3fb1461039a575f80fd5b80633e7329971161016c5780633e732997146102cd57806342cde4e8146102e257806352c824f514610315575f80fd5b8063150b7a021461020a57806316a751721461026b5780632e17de78146102ac575f80fd5b36610206575f345f546101a49190611b52565b90505f346001546101b59190611b52565b5f8390556001819055604080513481526020810185905290810182905290915033907f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e9060600160405180910390a2005b5f80fd5b348015610215575f80fd5b50610235610224366004611b79565b630a85bd0160e11b95945050505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b348015610276575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610262565b3480156102b7575f80fd5b506102cb6102c6366004611c10565b6106bc565b005b3480156102d8575f80fd5b5061029e60025481565b3480156102ed575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610320575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610353575f80fd5b5061029e610362366004611c10565b61098c565b348015610372575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a5575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d8575f80fd5b5061029e6103e7366004611c10565b6109ab565b3480156103f7575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561042a575f80fd5b5061029e60015481565b34801561043f575f80fd5b506102cb61044e366004611c10565b610b42565b34801561045e575f80fd5b506104a261046d366004611c10565b600460208190525f918252604090912080546001820154600383015492909301546001600160a01b0391821693909116919084565b604080516001600160a01b039586168152949093166020850152918301526060820152608001610262565b3480156104d8575f80fd5b5061029e5f5481565b3480156104ec575f80fd5b506104f56110d3565b60405161026296959493929190611c60565b348015610512575f80fd5b5061053a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610262565b34801561055d575f80fd5b5061058261056c366004611c10565b5f90815260046020526040902060030154151590565b6040519015158152602001610262565b34801561059d575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105d0575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610603575f80fd5b5061029e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610636575f80fd5b5061029e610645366004611c10565b6113bb565b348015610655575f80fd5b5061065e6113ca565b6040516102629190611d36565b348015610676575f80fd5b5061029e61146d565b34801561068a575f80fd5b506106af604051806040016040528060058152602001640302e312e360dc1b81525081565b6040516102629190611d48565b5f81815260046020526040902060018101546001600160a01b0316331461071257600181015460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b5f8061071c6110d3565b955050505050915080610734576107316113ca565b91505b5f5b8251811015610770578483828151811061075257610752611d93565b602002602001015103156107705761076981611da7565b9050610736565b6004840154600285018054604080516020808402820181019092528281525f93909290918301828280156107c157602002820191905f5260205f20905b8154815260200190600101908083116107ad575b505050600389015489545f8c8152600460205260408120805473ffffffffffffffffffffffffffffffffffffffff199081168255600182018054909116905595965091946001600160a01b03909116935091506108216002830182611ac3565b505f600382018190556004909101556005805461084090600190611dbf565b8154811061085057610850611d93565b905f5260205f2001546005868154811061086c5761086c611d93565b5f91825260209091200155600580548061088857610888611dd2565b5f8281526020812082015f1990810191909155019055604051632142170760e11b8152306004820152336024820152604481018a90526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e906064015f604051808303815f87803b158015610909575f80fd5b505af115801561091b573d5f803e3d5ffd5b505050505f8411156109315761093181856114a1565b806001600160a01b0316336001600160a01b03168a7f246ee6115bfd84e00097b16569c2ff2f822026bb9595a82cd2c1e69d4b6ea50c86888760405161097993929190611de6565b60405180910390a4505050505050505050565b6003818154811061099b575f80fd5b5f91825260209091200154905081565b5f818152600460209081526040808320815160a08101835281546001600160a01b0390811682526001830154168185015260028201805484518187028101870186528181528796939586019390929190830182828015610a2857602002820191905f5260205f20905b815481526020019060010190808311610a14575b505050505081526020016003820154815260200160048201548152505090508060800151915080606001515f03610a755760405163e0606b6360e01b815260048101849052602401610709565b5f805f805f610a82611548565b5050945094509450945094505f5b84811015610b365788838281518110610aab57610aab611d93565b602002602001015103610b265785841115610b01578386838381518110610ad457610ad4611d93565b6020026020010151610ae69190611e0a565b610af09190611e21565b610afa9089611b52565b9750610b36565b818181518110610b1357610b13611d93565b602002602001015188610afa9190611b52565b610b2f81611da7565b9050610a90565b50505050505050919050565b6001545f03610b645760405163afb0be3360e01b815260040160405180910390fd5b6005547f00000000000000000000000000000000000000000000000000000000000000008103610bc95760405163fd20861560e01b81527f00000000000000000000000000000000000000000000000000000000000000006004820152602401610709565b60405163ef0e239b60e01b8152600481018390525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef0e239b906024015f60405180830381865afa158015610c2d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c549190810190611f5e565b9050806080015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014610ca357604051637ad404bf60e11b815260048101849052602401610709565b7f000000000000000000000000000000000000000000000000000000000000000015801590610cf6575080604001517f000000000000000000000000000000000000000000000000000000000000000014155b15610d1757604051637ad404bf60e11b815260048101849052602401610709565b5f7f0000000000000000000000000000000000000000000000000000000000000000118015610d705750806060015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014155b15610d9157604051637ad404bf60e11b815260048101849052602401610709565b60048160c001516005811115610da957610da9612037565b14610de8578060c001516005811115610dc457610dc4612037565b604051633c053f9d60e21b8152600481019190915260248101849052604401610709565b5f81602001516001600160a01b0316803b806020016040519081016040528181525f908060200190933c805190602001209050807f000000000000000000000000000000000000000000000000000000000000000014610e6b57602082015160405162a2307960e51b81526001600160a01b039091166004820152602401610709565b6003548015610f375760e083015151818114610e9d57604051637ad404bf60e11b815260048101879052602401610709565b5f5b81811015610f34578460e001518181518110610ebd57610ebd611d93565b602002602001015163ffffffff1660038281548110610ede57610ede611d93565b905f5260205f20015414610f245760038181548110610eff57610eff611d93565b905f5260205f200154604051632ab10b0b60e21b815260040161070991815260200190565b610f2d81611da7565b9050610e9f565b50505b610f5285845f01516bffffffffffffffffffffffff166118bb565b5f85815260046020908152604082209085015181546001600160a01b03821673ffffffffffffffffffffffffffffffffffffffff1991821617835560018301805490911633179055909190610fa690611929565b8051909150610fbe9060028401906020840190611ae1565b50426003830155600580546001810182555f919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001879055604051632142170760e11b8152336004820152306024820152604481018890527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342842e0e906064015f604051808303815f87803b158015611064575f80fd5b505af1158015611076573d5f803e3d5ffd5b5050505084602001516001600160a01b0316336001600160a01b0316887f5d43ac9b1b213902df90d405b0006308578486b6c62182c5df202ed572c844e4846040516110c29190611d36565b60405180910390a450505050505050565b6060805f6060805f805f805f805f806110ea611548565b96509650965096509650965096505f8611156112e0575f87861115611253575f8060015b898110156111a957888b88838151811061112a5761112a611d93565b602002602001015161113c9190611e0a565b6111469190611e21565b92506111528383611b52565b915087818151811061116657611166611d93565b602002602001015193508260045f8681526020019081526020015f206004015f8282546111939190611b52565b909155506111a2905081611da7565b905061110e565b50878a875f815181106111be576111be611d93565b60200260200101516111d09190611e0a565b6111da9190611e21565b91506111e68282611b52565b9050865f815181106111fa576111fa611d93565b60200260200101519250808a111561122357611216818b611dbf565b6112209083611b52565b91505b5f8381526004602081905260408220018054849290611243908490611b52565b909155505f9a506112d992505050565b5f5b878110156112cb5785818151811061126f5761126f611d93565b6020026020010151915084818151811061128b5761128b611d93565b602002602001015160045f8481526020019081526020015f206004015f8282546112b59190611b52565b909155506112c4905081611da7565b9050611255565b506112d68689611dbf565b97505b5060018790555b8051156113a6575f5b8251811015611363575f83828151811061130557611305611d93565b6020026020010151905082828151811061132157611321611d93565b602002602001015160045f8381526020019081526020015f206002019080519060200190611350929190611ae1565b50508061135c90611da7565b90506112e9565b50426002556040805188815260208101889052600199507f21d81d5d656869e8ce3ba8d65526a2f0dbbcd3d36f5f9999eb7c84360e45eced910160405180910390a15b909c909b509399509097509550929350915050565b6005818154811061099b575f80fd5b6005546060908067ffffffffffffffff8111156113e9576113e9611e40565b604051908082528060200260200182016040528015611412578160200160208202803683370190505b5091505f5b81811015611468576005818154811061143257611432611d93565b905f5260205f20015483828151811061144d5761144d611d93565b602090810291909101015261146181611da7565b9050611417565b505090565b5f7f000000000000000000000000000000000000000000000000000000000000000060025461149c9190611b52565b905090565b805f808282546114b19190611dbf565b90915550506040515f906001600160a01b0384169083908381818185875af1925050503d805f81146114fe576040519150601f19603f3d011682016040523d82523d5f602084013e611503565b606091505b50509050806115435760405163cd3f165960e01b81525f60048201523060248201526001600160a01b038416604482015260648101839052608401610709565b505050565b600254600154905f9081906060908190819081907f00000000000000000000000000000000000000000000000000000000000000006115878242611dbf565b1015801561159457505f88115b156118b1576005548067ffffffffffffffff8111156115b5576115b5611e40565b6040519080825280602002602001820160405280156115de578160200160208202803683370190505b5093508067ffffffffffffffff8111156115fa576115fa611e40565b604051908082528060200260200182016040528015611623578160200160208202803683370190505b5095508067ffffffffffffffff81111561163f5761163f611e40565b604051908082528060200260200182016040528015611668578160200160208202803683370190505b5094508067ffffffffffffffff81111561168457611684611e40565b6040519080825280602002602001820160405280156116b757816020015b60608152602001906001900390816116a25790505b5092505f5b818110156118ae57600581815481106116d7576116d7611d93565b905f5260205f2001548582815181106116f2576116f2611d93565b6020026020010181815250505f60045f87848151811061171457611714611d93565b60209081029190910181015182528101919091526040015f208054909150611744906001600160a01b0316611929565b85838151811061175657611756611d93565b60209081029190910101526003810154849081811115611774578091505b61177e8242611dbf565b90505f6117f588868151811061179657611796611d93565b6020026020010151856002018054806020026020016040519081016040528092919081815260200182805480156117ea57602002820191905f5260205f20905b8154815260200190600101908083116117d6575b50505050508461193a565b90508015611899575f611828837f0000000000000000000000000000000000000000000000000000000000000000611e0a565b9050611834818e611b52565b9c50808b8f8151811061184957611849611d93565b60200260200101818152505089868151811061186757611867611d93565b60200260200101518c8f8151811061188157611881611d93565b60209081029190910101526118958e611da7565b9d50505b50505050806118a790611da7565b90506116bc565b50505b5090919293949596565b7f00000000000000000000000000000000000000000000000000000000000000008110156119255760405163491a2bb160e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006024820152604401610709565b5050565b60606119348261194e565b92915050565b5f6119468484846119f3565b949350505050565b60408051600180825281830190925260609160208083019080368337019050509050816001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119d0919061204b565b815f815181106119e2576119e2611d93565b602002602001018181525050919050565b5f8082118015611a345750825f81518110611a1057611a10611d93565b6020026020010151845f81518110611a2a57611a2a611d93565b6020026020010151115b15611abc575f82845f81518110611a4d57611a4d611d93565b6020026020010151865f81518110611a6757611a67611d93565b6020026020010151611a799190611dbf565b611a8b90670de0b6b3a7640000611e0a565b611a959190611e21565b7f000000000000000000000000000000000000000000000000000000000000000011159150505b9392505050565b5080545f8255905f5260205f2090810190611ade9190611b2a565b50565b828054828255905f5260205f20908101928215611b1a579160200282015b82811115611b1a578251825591602001919060010190611aff565b50611b26929150611b2a565b5090565b5b80821115611b26575f8155600101611b2b565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561193457611934611b3e565b6001600160a01b0381168114611ade575f80fd5b5f805f805f60808688031215611b8d575f80fd5b8535611b9881611b65565b94506020860135611ba881611b65565b935060408601359250606086013567ffffffffffffffff80821115611bcb575f80fd5b818801915088601f830112611bde575f80fd5b813581811115611bec575f80fd5b896020828501011115611bfd575f80fd5b9699959850939650602001949392505050565b5f60208284031215611c20575f80fd5b5035919050565b5f8151808452602080850194508084015f5b83811015611c5557815187529582019590820190600101611c39565b509495945050505050565b60c081525f611c7260c0830189611c27565b6020838203818501528189518084528284019150828160051b850101838c015f805b84811015611ce757878403601f19018652825180518086529088019088860190845b81811015611cd25783518352928a0192918a0191600101611cb6565b50509688019694505091860191600101611c94565b5050508a60408801528681036060880152611d02818b611c27565b9450505050508281036080840152611d1a8186611c27565b915050611d2b60a083018415159052565b979650505050505050565b602081525f611abc6020830184611c27565b5f6020808352835180828501525f5b81811015611d7357858101830151858201604001528201611d57565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611db857611db8611b3e565b5060010190565b8181038181111561193457611934611b3e565b634e487b7160e01b5f52603160045260245ffd5b606081525f611df86060830186611c27565b60208301949094525060400152919050565b808202811582820484141761193457611934611b3e565b5f82611e3b57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff81118282101715611e7857611e78611e40565b60405290565b80516bffffffffffffffffffffffff81168114611e99575f80fd5b919050565b8051611e9981611b65565b805163ffffffff81168114611e99575f80fd5b805160068110611e99575f80fd5b5f82601f830112611ed9575f80fd5b8151602067ffffffffffffffff80831115611ef657611ef6611e40565b8260051b604051601f19603f83011681018181108482111715611f1b57611f1b611e40565b604052938452858101830193838101925087851115611f38575f80fd5b83870191505b84821015611d2b57611f4f82611ea9565b83529183019190830190611f3e565b5f60208284031215611f6e575f80fd5b815167ffffffffffffffff80821115611f85575f80fd5b908301906101008286031215611f99575f80fd5b611fa1611e54565b611faa83611e7e565b8152611fb860208401611e9e565b602082015260408301516040820152611fd360608401611ea9565b6060820152611fe460808401611ea9565b6080820152611ff560a08401611ea9565b60a082015261200660c08401611ebc565b60c082015260e08301518281111561201c575f80fd5b61202887828601611eca565b60e08301525095945050505050565b634e487b7160e01b5f52602160045260245ffd5b5f6020828403121561205b575f80fd5b505191905056fea2646970667358221220369db9315caf7f21ab4dbc689015c5ce7e2b9bf805806c46a8ad7c6b40304d6a64736f6c63430008150033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/abis/0.8.21/ServiceStakingToken.json b/abis/0.8.21/ServiceStakingToken.json index b71e627f..bd34491e 100644 --- a/abis/0.8.21/ServiceStakingToken.json +++ b/abis/0.8.21/ServiceStakingToken.json @@ -812,6 +812,32 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "getNextRewardCheckpointTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "tsNext", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getServiceIds", + "outputs": [ + { + "internalType": "uint256[]", + "name": "serviceIds", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -824,7 +850,7 @@ "outputs": [ { "internalType": "bool", - "name": "", + "name": "isStaked", "type": "bool" } ], @@ -1101,8 +1127,8 @@ "type": "function" } ], - "bytecode": "0x61020060405234801562000011575f80fd5b5060405162002766380380620027668339810160408190526200003491620003b1565b848482825f01515f14806200004b57506020830151155b806200005957506060830151155b806200006757506080830151155b8062000075575060a0830151155b156200009457604051637c946ed760e01b815260040160405180910390fd5b600283604001511015620000d057604080840151905163491a2bb160e01b81526004810191909152600260248201526044015b60405180910390fd5b6001600160a01b038216620000f85760405163d92e233d60e01b815260040160405180910390fd5b82516080908152602084015160a0908152604085015160c052606085015160e09081529185015161010090815290850151610120526001600160a01b038416610180529084015161014052830151610160525f805b8460c00151518110156200022e57818560c001518281518110620001755762000175620004b4565b602002602001015111620001c1578460c0015181815181106200019c576200019c620004b4565b6020026020010151604051632ab10b0b60e21b8152600401620000c791815260200190565b8460c001518181518110620001da57620001da620004b4565b6020908102919091010151600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0181905591506200022681620004c8565b90506200014d565b50816200024e57604051637c946ed760e01b815260040160405180910390fd5b506101a0525050426002556001600160a01b03821615806200027757506001600160a01b038316155b15620002965760405163d92e233d60e01b815260040160405180910390fd5b506001600160a01b039081166101e052166101c05250620004ed9050565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b0381118282101715620002ee57620002ee620002b4565b60405290565b5f82601f83011262000304575f80fd5b815160206001600160401b0380831115620003235762000323620002b4565b8260051b604051601f19603f830116810181811084821117156200034b576200034b620002b4565b60405293845285810183019383810192508785111562000369575f80fd5b83870191505b848210156200038a578151835291830191908301906200036f565b979650505050505050565b80516001600160a01b0381168114620003ac575f80fd5b919050565b5f805f805f60a08688031215620003c6575f80fd5b85516001600160401b0380821115620003dd575f80fd5b90870190610120828a031215620003f2575f80fd5b620003fc620002c8565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c08301518281111562000444575f80fd5b620004528b828601620002f4565b60c08301525060e083810151908201526101009283015192810192909252509450620004816020870162000395565b9350620004916040870162000395565b9250620004a16060870162000395565b9150608086015190509295509295909350565b634e487b7160e01b5f52603260045260245ffd5b5f60018201620004e657634e487b7160e01b5f52601160045260245ffd5b5060010190565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051612162620006045f395f818161034401528181610fb001528181611331015281816117c1015261180501525f8181610238015261174901525f818161037e0152610ccc01525f81816104640152818161076d01528181610a8f0152610ec901525f81816104bf01528181610b530152610b8201525f818161029501528181610bc80152610bfc01525f81816102f60152610b1101525f818161031d0152611b2e01525f81816102bc015261144e01525f81816104e60152818161183c015261189301525f818161050d015261167001525f818161020301528181610a170152610a4b01526121625ff3fe608060405234801561000f575f80fd5b50600436106101a5575f3560e01c8063879d9090116100e8578063cbcf252a11610093578063e77cdcc91161006e578063e77cdcc9146104e1578063eacdaabc14610508578063eb338c961461052f578063ffa1ad7414610542575f80fd5b8063cbcf252a1461045f578063cd25fe3814610486578063e1f1176d146104ba575f80fd5b8063b69ef8a8116100c3578063b69ef8a81461042a578063b6b55f2514610432578063c2c4c5c114610445575f80fd5b8063879d9090146103a0578063a694fc3a146103a9578063a74466ad146103bc575f80fd5b806352c824f511610153578063592cf3fb1161012e578063592cf3fb1461031857806372f702f31461033f57806378e0613614610366578063809cee2f14610379575f80fd5b806352c824f5146102b757806356e76058146102de5780635829c5ec146102f1575f80fd5b80632e17de78116101835780632e17de78146102725780633e7329971461028757806342cde4e814610290575f80fd5b8063150b7a02146101a957806316a75172146101fe5780632871405114610233575b5f80fd5b6101c86101b7366004611be9565b630a85bd0160e11b95945050505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016101f5565b61025a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101f5565b610285610280366004611c80565b610573565b005b61022560025481565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6102256102ec366004611c80565b610830565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b61025a7f000000000000000000000000000000000000000000000000000000000000000081565b610225610374366004611c80565b61084f565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b61022560015481565b6102856103b7366004611c80565b6109f0565b6103ff6103ca366004611c80565b600460208190525f918252604090912080546001820154600383015492909301546001600160a01b0391821693909116919084565b604080516001600160a01b0395861681529490931660208501529183015260608201526080016101f5565b6102255f5481565b610285610440366004611c80565b610f81565b61044d61101f565b6040516101f596959493929190611cd0565b61025a7f000000000000000000000000000000000000000000000000000000000000000081565b6104aa610494366004611c80565b5f90815260046020526040902060030154151590565b60405190151581526020016101f5565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b61022561053d366004611c80565b611307565b610566604051806040016040528060058152602001640302e312e360dc1b81525081565b6040516101f59190611da6565b5f81815260046020526040902060018101546001600160a01b031633146105c957600181015460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b5f6105d261101f565b505050505090505f5b815181101561061557838282815181106105f7576105f7611df1565b602002602001015103156106155761060e81611e19565b90506105db565b6004830154600284018054604080516020808402820181019092528281525f939092909183018282801561066657602002820191905f5260205f20905b815481526020019060010190808311610652575b505050600388015488545f8b8152600460205260408120805473ffffffffffffffffffffffffffffffffffffffff199081168255600182018054909116905595965091946001600160a01b03909116935091506106c66002830182611b5a565b505f60038201819055600490910155600580546106e590600190611e31565b815481106106f5576106f5611df1565b905f5260205f2001546005868154811061071157610711611df1565b5f91825260209091200155600580548061072d5761072d611e44565b5f8281526020812082015f1990810191909155019055604051632142170760e11b8152306004820152336024820152604481018990526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e906064015f604051808303815f87803b1580156107ae575f80fd5b505af11580156107c0573d5f803e3d5ffd5b505050505f8411156107d6576107d68185611316565b806001600160a01b0316336001600160a01b0316897f246ee6115bfd84e00097b16569c2ff2f822026bb9595a82cd2c1e69d4b6ea50c86888760405161081e93929190611e58565b60405180910390a45050505050505050565b6003818154811061083f575f80fd5b5f91825260209091200154905081565b5f818152600460209081526040808320815160a08101835281546001600160a01b03908116825260018301541681850152600282018054845181870281018701865281815287969395860193909291908301828280156108cc57602002820191905f5260205f20905b8154815260200190600101908083116108b8575b505050505081526020016003820154815260200160048201548152505090508060800151915080606001515f036109195760405163e0606b6360e01b8152600481018490526024016105c0565b5f805f805f61092661139e565b5050945094509450945094505f8411156109e5575f5b82518110156109e3578883828151811061095857610958611df1565b6020026020010151036109d357858411156109ae57838683838151811061098157610981611df1565b60200260200101516109939190611e7c565b61099d9190611e93565b6109a79089611eb2565b97506109e3565b8181815181106109c0576109c0611df1565b6020026020010151886109a79190611eb2565b6109dc81611e19565b905061093c565b505b505050505050919050565b6001545f03610a125760405163afb0be3360e01b815260040160405180910390fd5b6005547f00000000000000000000000000000000000000000000000000000000000000008103610a775760405163fd20861560e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526024016105c0565b60405163ef0e239b60e01b8152600481018390525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef0e239b906024015f60405180830381865afa158015610adb573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b029190810190611fe3565b9050806080015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014610b5157604051637ad404bf60e11b8152600481018490526024016105c0565b7f000000000000000000000000000000000000000000000000000000000000000015801590610ba4575080604001517f000000000000000000000000000000000000000000000000000000000000000014155b15610bc557604051637ad404bf60e11b8152600481018490526024016105c0565b5f7f0000000000000000000000000000000000000000000000000000000000000000118015610c1e5750806060015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014155b15610c3f57604051637ad404bf60e11b8152600481018490526024016105c0565b60048160c001516005811115610c5757610c576120bc565b14610c96578060c001516005811115610c7257610c726120bc565b604051633c053f9d60e21b81526004810191909152602481018490526044016105c0565b5f81602001516001600160a01b0316803b806020016040519081016040528181525f908060200190933c805190602001209050807f000000000000000000000000000000000000000000000000000000000000000014610d1957602082015160405162a2307960e51b81526001600160a01b0390911660048201526024016105c0565b6003548015610de55760e083015151818114610d4b57604051637ad404bf60e11b8152600481018790526024016105c0565b5f5b81811015610de2578460e001518181518110610d6b57610d6b611df1565b602002602001015163ffffffff1660038281548110610d8c57610d8c611df1565b905f5260205f20015414610dd25760038181548110610dad57610dad611df1565b905f5260205f200154604051632ab10b0b60e21b81526004016105c091815260200190565b610ddb81611e19565b9050610d4d565b50505b610e0085845f01516bffffffffffffffffffffffff16611727565b5f85815260046020908152604082209085015181546001600160a01b03821673ffffffffffffffffffffffffffffffffffffffff1991821617835560018301805490911633179055909190610e54906118c5565b8051909150610e6c9060028401906020840190611b78565b50426003830155600580546001810182555f919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001879055604051632142170760e11b8152336004820152306024820152604481018890527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342842e0e906064015f604051808303815f87803b158015610f12575f80fd5b505af1158015610f24573d5f803e3d5ffd5b5050505084602001516001600160a01b0316336001600160a01b0316887f5d43ac9b1b213902df90d405b0006308578486b6c62182c5df202ed572c844e484604051610f7091906120d0565b60405180910390a450505050505050565b5f815f54610f8f9190611eb2565b90505f82600154610fa09190611eb2565b5f83905560018190559050610fd77f00000000000000000000000000000000000000000000000000000000000000003330866118d6565b604080518481526020810184905290810182905233907f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e9060600160405180910390a2505050565b6060805f6060805f805f805f805f8061103661139e565b96509650965096509650965096505f86111561122c575f8786111561119f575f8060015b898110156110f557888b88838151811061107657611076611df1565b60200260200101516110889190611e7c565b6110929190611e93565b925061109e8383611eb2565b91508781815181106110b2576110b2611df1565b602002602001015193508260045f8681526020019081526020015f206004015f8282546110df9190611eb2565b909155506110ee905081611e19565b905061105a565b50878a875f8151811061110a5761110a611df1565b602002602001015161111c9190611e7c565b6111269190611e93565b91506111328282611eb2565b9050865f8151811061114657611146611df1565b60200260200101519250808a111561116f57611162818b611e31565b61116c9083611eb2565b91505b5f838152600460208190526040822001805484929061118f908490611eb2565b909155505f9a5061122592505050565b5f5b87811015611217578581815181106111bb576111bb611df1565b602002602001015191508481815181106111d7576111d7611df1565b602002602001015160045f8481526020019081526020015f206004015f8282546112019190611eb2565b90915550611210905081611e19565b90506111a1565b506112228689611e31565b97505b5060018790555b8051156112f2575f5b82518110156112af575f83828151811061125157611251611df1565b6020026020010151905082828151811061126d5761126d611df1565b602002602001015160045f8381526020019081526020015f20600201908051906020019061129c929190611b78565b5050806112a890611e19565b9050611235565b50426002556040805188815260208101889052600199507f21d81d5d656869e8ce3ba8d65526a2f0dbbcd3d36f5f9999eb7c84360e45eced910160405180910390a15b909c909b509399509097509550929350915050565b6005818154811061083f575f80fd5b805f808282546113269190611e31565b9091555061135790507f0000000000000000000000000000000000000000000000000000000000000000838361195a565b816001600160a01b03167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243648260405161139291815260200190565b60405180910390a25050565b5f805f6060806060805f60058054905090508067ffffffffffffffff8111156113c9576113c9611ec5565b6040519080825280602002602001820160405280156113f2578160200160208202803683370190505b5092505f5b81811015611448576005818154811061141257611412611df1565b905f5260205f20015484828151811061142d5761142d611df1565b602090810291909101015261144181611e19565b90506113f7565b506002547f00000000000000000000000000000000000000000000000000000000000000006114778242611e31565b1061171c576001549850881561171c578167ffffffffffffffff8111156114a0576114a0611ec5565b6040519080825280602002602001820160405280156114c9578160200160208202803683370190505b5095508167ffffffffffffffff8111156114e5576114e5611ec5565b60405190808252806020026020018201604052801561150e578160200160208202803683370190505b5094508167ffffffffffffffff81111561152a5761152a611ec5565b60405190808252806020026020018201604052801561155d57816020015b60608152602001906001900390816115485790505b5092505f5b8281101561171a575f60045f87848151811061158057611580611df1565b60209081029190910181015182528101919091526040015f2080549091506115b0906001600160a01b03166118c5565b8583815181106115c2576115c2611df1565b602090810291909101015260038101548390818111156115e0578091505b6115ea8242611e31565b90505f61166188868151811061160257611602611df1565b60200260200101518560020180548060200260200160405190810160405280929190818152602001828054801561165657602002820191905f5260205f20905b815481526020019060010190808311611642575b5050505050846119d1565b90508015611705575f611694837f0000000000000000000000000000000000000000000000000000000000000000611e7c565b90506116a0818e611eb2565b9c50808b8f815181106116b5576116b5611df1565b6020026020010181815250508986815181106116d3576116d3611df1565b60200260200101518c8f815181106116ed576116ed611df1565b60209081029190910101526117018e611e19565b9d50505b505050508061171390611e19565b9050611562565b505b505090919293949596565b604051633cebfa4f60e01b8152600481018390525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633cebfa4f906024016040805180830381865afa15801561178d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117b191906120e2565b91509150816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461183a57604051630b80380d60e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152831660248201526044016105c0565b7f0000000000000000000000000000000000000000000000000000000000000000816bffffffffffffffffffffffff1610156118bf57604051632b30b24760e21b81526bffffffffffffffffffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000060248201526044016105c0565b50505050565b60606118d0826119e5565b92915050565b5f6040516323b872dd60e01b5f5284600452836024528260445260205f60645f808a5af13d15601f3d1160015f511416171691505f6060528060405250806119535760405163abae3d6d60e01b81526001600160a01b038087166004830152808616602483015284166044820152606481018390526084016105c0565b5050505050565b5f60405163a9059cbb60e01b5f52836004528260245260205f60445f80895af13d15601f3d1160015f511416171691505f6060528060405250806118bf5760405163abae3d6d60e01b81526001600160a01b03808616600483015230602483015284166044820152606481018390526084016105c0565b5f6119dd848484611a8a565b949350505050565b60408051600180825281830190925260609160208083019080368337019050509050816001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a679190612115565b815f81518110611a7957611a79611df1565b602002602001018181525050919050565b5f8082118015611acb5750825f81518110611aa757611aa7611df1565b6020026020010151845f81518110611ac157611ac1611df1565b6020026020010151115b15611b53575f82845f81518110611ae457611ae4611df1565b6020026020010151865f81518110611afe57611afe611df1565b6020026020010151611b109190611e31565b611b2290670de0b6b3a7640000611e7c565b611b2c9190611e93565b7f000000000000000000000000000000000000000000000000000000000000000011159150505b9392505050565b5080545f8255905f5260205f2090810190611b759190611bc1565b50565b828054828255905f5260205f20908101928215611bb1579160200282015b82811115611bb1578251825591602001919060010190611b96565b50611bbd929150611bc1565b5090565b5b80821115611bbd575f8155600101611bc2565b6001600160a01b0381168114611b75575f80fd5b5f805f805f60808688031215611bfd575f80fd5b8535611c0881611bd5565b94506020860135611c1881611bd5565b935060408601359250606086013567ffffffffffffffff80821115611c3b575f80fd5b818801915088601f830112611c4e575f80fd5b813581811115611c5c575f80fd5b896020828501011115611c6d575f80fd5b9699959850939650602001949392505050565b5f60208284031215611c90575f80fd5b5035919050565b5f8151808452602080850194508084015f5b83811015611cc557815187529582019590820190600101611ca9565b509495945050505050565b60c081525f611ce260c0830189611c97565b6020838203818501528189518084528284019150828160051b850101838c015f805b84811015611d5757878403601f19018652825180518086529088019088860190845b81811015611d425783518352928a0192918a0191600101611d26565b50509688019694505091860191600101611d04565b5050508a60408801528681036060880152611d72818b611c97565b9450505050508281036080840152611d8a8186611c97565b915050611d9b60a083018415159052565b979650505050505050565b5f6020808352835180828501525f5b81811015611dd157858101830151858201604001528201611db5565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611e2a57611e2a611e05565b5060010190565b818103818111156118d0576118d0611e05565b634e487b7160e01b5f52603160045260245ffd5b606081525f611e6a6060830186611c97565b60208301949094525060400152919050565b80820281158282048414176118d0576118d0611e05565b5f82611ead57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156118d0576118d0611e05565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff81118282101715611efd57611efd611ec5565b60405290565b80516bffffffffffffffffffffffff81168114611f1e575f80fd5b919050565b8051611f1e81611bd5565b805163ffffffff81168114611f1e575f80fd5b805160068110611f1e575f80fd5b5f82601f830112611f5e575f80fd5b8151602067ffffffffffffffff80831115611f7b57611f7b611ec5565b8260051b604051601f19603f83011681018181108482111715611fa057611fa0611ec5565b604052938452858101830193838101925087851115611fbd575f80fd5b83870191505b84821015611d9b57611fd482611f2e565b83529183019190830190611fc3565b5f60208284031215611ff3575f80fd5b815167ffffffffffffffff8082111561200a575f80fd5b90830190610100828603121561201e575f80fd5b612026611ed9565b61202f83611f03565b815261203d60208401611f23565b60208201526040830151604082015261205860608401611f2e565b606082015261206960808401611f2e565b608082015261207a60a08401611f2e565b60a082015261208b60c08401611f41565b60c082015260e0830151828111156120a1575f80fd5b6120ad87828601611f4f565b60e08301525095945050505050565b634e487b7160e01b5f52602160045260245ffd5b602081525f611b536020830184611c97565b5f80604083850312156120f3575f80fd5b82516120fe81611bd5565b915061210c60208401611f03565b90509250929050565b5f60208284031215612125575f80fd5b505191905056fea264697066735822122053e5fd75b91c87b722d799bba5b6c6ab7083d49abea6b5ce94908bb569ebb90e64736f6c63430008150033", - "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106101a5575f3560e01c8063879d9090116100e8578063cbcf252a11610093578063e77cdcc91161006e578063e77cdcc9146104e1578063eacdaabc14610508578063eb338c961461052f578063ffa1ad7414610542575f80fd5b8063cbcf252a1461045f578063cd25fe3814610486578063e1f1176d146104ba575f80fd5b8063b69ef8a8116100c3578063b69ef8a81461042a578063b6b55f2514610432578063c2c4c5c114610445575f80fd5b8063879d9090146103a0578063a694fc3a146103a9578063a74466ad146103bc575f80fd5b806352c824f511610153578063592cf3fb1161012e578063592cf3fb1461031857806372f702f31461033f57806378e0613614610366578063809cee2f14610379575f80fd5b806352c824f5146102b757806356e76058146102de5780635829c5ec146102f1575f80fd5b80632e17de78116101835780632e17de78146102725780633e7329971461028757806342cde4e814610290575f80fd5b8063150b7a02146101a957806316a75172146101fe5780632871405114610233575b5f80fd5b6101c86101b7366004611be9565b630a85bd0160e11b95945050505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016101f5565b61025a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101f5565b610285610280366004611c80565b610573565b005b61022560025481565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6102256102ec366004611c80565b610830565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b61025a7f000000000000000000000000000000000000000000000000000000000000000081565b610225610374366004611c80565b61084f565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b61022560015481565b6102856103b7366004611c80565b6109f0565b6103ff6103ca366004611c80565b600460208190525f918252604090912080546001820154600383015492909301546001600160a01b0391821693909116919084565b604080516001600160a01b0395861681529490931660208501529183015260608201526080016101f5565b6102255f5481565b610285610440366004611c80565b610f81565b61044d61101f565b6040516101f596959493929190611cd0565b61025a7f000000000000000000000000000000000000000000000000000000000000000081565b6104aa610494366004611c80565b5f90815260046020526040902060030154151590565b60405190151581526020016101f5565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b6102257f000000000000000000000000000000000000000000000000000000000000000081565b61022561053d366004611c80565b611307565b610566604051806040016040528060058152602001640302e312e360dc1b81525081565b6040516101f59190611da6565b5f81815260046020526040902060018101546001600160a01b031633146105c957600181015460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b5f6105d261101f565b505050505090505f5b815181101561061557838282815181106105f7576105f7611df1565b602002602001015103156106155761060e81611e19565b90506105db565b6004830154600284018054604080516020808402820181019092528281525f939092909183018282801561066657602002820191905f5260205f20905b815481526020019060010190808311610652575b505050600388015488545f8b8152600460205260408120805473ffffffffffffffffffffffffffffffffffffffff199081168255600182018054909116905595965091946001600160a01b03909116935091506106c66002830182611b5a565b505f60038201819055600490910155600580546106e590600190611e31565b815481106106f5576106f5611df1565b905f5260205f2001546005868154811061071157610711611df1565b5f91825260209091200155600580548061072d5761072d611e44565b5f8281526020812082015f1990810191909155019055604051632142170760e11b8152306004820152336024820152604481018990526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e906064015f604051808303815f87803b1580156107ae575f80fd5b505af11580156107c0573d5f803e3d5ffd5b505050505f8411156107d6576107d68185611316565b806001600160a01b0316336001600160a01b0316897f246ee6115bfd84e00097b16569c2ff2f822026bb9595a82cd2c1e69d4b6ea50c86888760405161081e93929190611e58565b60405180910390a45050505050505050565b6003818154811061083f575f80fd5b5f91825260209091200154905081565b5f818152600460209081526040808320815160a08101835281546001600160a01b03908116825260018301541681850152600282018054845181870281018701865281815287969395860193909291908301828280156108cc57602002820191905f5260205f20905b8154815260200190600101908083116108b8575b505050505081526020016003820154815260200160048201548152505090508060800151915080606001515f036109195760405163e0606b6360e01b8152600481018490526024016105c0565b5f805f805f61092661139e565b5050945094509450945094505f8411156109e5575f5b82518110156109e3578883828151811061095857610958611df1565b6020026020010151036109d357858411156109ae57838683838151811061098157610981611df1565b60200260200101516109939190611e7c565b61099d9190611e93565b6109a79089611eb2565b97506109e3565b8181815181106109c0576109c0611df1565b6020026020010151886109a79190611eb2565b6109dc81611e19565b905061093c565b505b505050505050919050565b6001545f03610a125760405163afb0be3360e01b815260040160405180910390fd5b6005547f00000000000000000000000000000000000000000000000000000000000000008103610a775760405163fd20861560e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526024016105c0565b60405163ef0e239b60e01b8152600481018390525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef0e239b906024015f60405180830381865afa158015610adb573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b029190810190611fe3565b9050806080015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014610b5157604051637ad404bf60e11b8152600481018490526024016105c0565b7f000000000000000000000000000000000000000000000000000000000000000015801590610ba4575080604001517f000000000000000000000000000000000000000000000000000000000000000014155b15610bc557604051637ad404bf60e11b8152600481018490526024016105c0565b5f7f0000000000000000000000000000000000000000000000000000000000000000118015610c1e5750806060015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014155b15610c3f57604051637ad404bf60e11b8152600481018490526024016105c0565b60048160c001516005811115610c5757610c576120bc565b14610c96578060c001516005811115610c7257610c726120bc565b604051633c053f9d60e21b81526004810191909152602481018490526044016105c0565b5f81602001516001600160a01b0316803b806020016040519081016040528181525f908060200190933c805190602001209050807f000000000000000000000000000000000000000000000000000000000000000014610d1957602082015160405162a2307960e51b81526001600160a01b0390911660048201526024016105c0565b6003548015610de55760e083015151818114610d4b57604051637ad404bf60e11b8152600481018790526024016105c0565b5f5b81811015610de2578460e001518181518110610d6b57610d6b611df1565b602002602001015163ffffffff1660038281548110610d8c57610d8c611df1565b905f5260205f20015414610dd25760038181548110610dad57610dad611df1565b905f5260205f200154604051632ab10b0b60e21b81526004016105c091815260200190565b610ddb81611e19565b9050610d4d565b50505b610e0085845f01516bffffffffffffffffffffffff16611727565b5f85815260046020908152604082209085015181546001600160a01b03821673ffffffffffffffffffffffffffffffffffffffff1991821617835560018301805490911633179055909190610e54906118c5565b8051909150610e6c9060028401906020840190611b78565b50426003830155600580546001810182555f919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001879055604051632142170760e11b8152336004820152306024820152604481018890527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342842e0e906064015f604051808303815f87803b158015610f12575f80fd5b505af1158015610f24573d5f803e3d5ffd5b5050505084602001516001600160a01b0316336001600160a01b0316887f5d43ac9b1b213902df90d405b0006308578486b6c62182c5df202ed572c844e484604051610f7091906120d0565b60405180910390a450505050505050565b5f815f54610f8f9190611eb2565b90505f82600154610fa09190611eb2565b5f83905560018190559050610fd77f00000000000000000000000000000000000000000000000000000000000000003330866118d6565b604080518481526020810184905290810182905233907f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e9060600160405180910390a2505050565b6060805f6060805f805f805f805f8061103661139e565b96509650965096509650965096505f86111561122c575f8786111561119f575f8060015b898110156110f557888b88838151811061107657611076611df1565b60200260200101516110889190611e7c565b6110929190611e93565b925061109e8383611eb2565b91508781815181106110b2576110b2611df1565b602002602001015193508260045f8681526020019081526020015f206004015f8282546110df9190611eb2565b909155506110ee905081611e19565b905061105a565b50878a875f8151811061110a5761110a611df1565b602002602001015161111c9190611e7c565b6111269190611e93565b91506111328282611eb2565b9050865f8151811061114657611146611df1565b60200260200101519250808a111561116f57611162818b611e31565b61116c9083611eb2565b91505b5f838152600460208190526040822001805484929061118f908490611eb2565b909155505f9a5061122592505050565b5f5b87811015611217578581815181106111bb576111bb611df1565b602002602001015191508481815181106111d7576111d7611df1565b602002602001015160045f8481526020019081526020015f206004015f8282546112019190611eb2565b90915550611210905081611e19565b90506111a1565b506112228689611e31565b97505b5060018790555b8051156112f2575f5b82518110156112af575f83828151811061125157611251611df1565b6020026020010151905082828151811061126d5761126d611df1565b602002602001015160045f8381526020019081526020015f20600201908051906020019061129c929190611b78565b5050806112a890611e19565b9050611235565b50426002556040805188815260208101889052600199507f21d81d5d656869e8ce3ba8d65526a2f0dbbcd3d36f5f9999eb7c84360e45eced910160405180910390a15b909c909b509399509097509550929350915050565b6005818154811061083f575f80fd5b805f808282546113269190611e31565b9091555061135790507f0000000000000000000000000000000000000000000000000000000000000000838361195a565b816001600160a01b03167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243648260405161139291815260200190565b60405180910390a25050565b5f805f6060806060805f60058054905090508067ffffffffffffffff8111156113c9576113c9611ec5565b6040519080825280602002602001820160405280156113f2578160200160208202803683370190505b5092505f5b81811015611448576005818154811061141257611412611df1565b905f5260205f20015484828151811061142d5761142d611df1565b602090810291909101015261144181611e19565b90506113f7565b506002547f00000000000000000000000000000000000000000000000000000000000000006114778242611e31565b1061171c576001549850881561171c578167ffffffffffffffff8111156114a0576114a0611ec5565b6040519080825280602002602001820160405280156114c9578160200160208202803683370190505b5095508167ffffffffffffffff8111156114e5576114e5611ec5565b60405190808252806020026020018201604052801561150e578160200160208202803683370190505b5094508167ffffffffffffffff81111561152a5761152a611ec5565b60405190808252806020026020018201604052801561155d57816020015b60608152602001906001900390816115485790505b5092505f5b8281101561171a575f60045f87848151811061158057611580611df1565b60209081029190910181015182528101919091526040015f2080549091506115b0906001600160a01b03166118c5565b8583815181106115c2576115c2611df1565b602090810291909101015260038101548390818111156115e0578091505b6115ea8242611e31565b90505f61166188868151811061160257611602611df1565b60200260200101518560020180548060200260200160405190810160405280929190818152602001828054801561165657602002820191905f5260205f20905b815481526020019060010190808311611642575b5050505050846119d1565b90508015611705575f611694837f0000000000000000000000000000000000000000000000000000000000000000611e7c565b90506116a0818e611eb2565b9c50808b8f815181106116b5576116b5611df1565b6020026020010181815250508986815181106116d3576116d3611df1565b60200260200101518c8f815181106116ed576116ed611df1565b60209081029190910101526117018e611e19565b9d50505b505050508061171390611e19565b9050611562565b505b505090919293949596565b604051633cebfa4f60e01b8152600481018390525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633cebfa4f906024016040805180830381865afa15801561178d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117b191906120e2565b91509150816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461183a57604051630b80380d60e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152831660248201526044016105c0565b7f0000000000000000000000000000000000000000000000000000000000000000816bffffffffffffffffffffffff1610156118bf57604051632b30b24760e21b81526bffffffffffffffffffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000060248201526044016105c0565b50505050565b60606118d0826119e5565b92915050565b5f6040516323b872dd60e01b5f5284600452836024528260445260205f60645f808a5af13d15601f3d1160015f511416171691505f6060528060405250806119535760405163abae3d6d60e01b81526001600160a01b038087166004830152808616602483015284166044820152606481018390526084016105c0565b5050505050565b5f60405163a9059cbb60e01b5f52836004528260245260205f60445f80895af13d15601f3d1160015f511416171691505f6060528060405250806118bf5760405163abae3d6d60e01b81526001600160a01b03808616600483015230602483015284166044820152606481018390526084016105c0565b5f6119dd848484611a8a565b949350505050565b60408051600180825281830190925260609160208083019080368337019050509050816001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a679190612115565b815f81518110611a7957611a79611df1565b602002602001018181525050919050565b5f8082118015611acb5750825f81518110611aa757611aa7611df1565b6020026020010151845f81518110611ac157611ac1611df1565b6020026020010151115b15611b53575f82845f81518110611ae457611ae4611df1565b6020026020010151865f81518110611afe57611afe611df1565b6020026020010151611b109190611e31565b611b2290670de0b6b3a7640000611e7c565b611b2c9190611e93565b7f000000000000000000000000000000000000000000000000000000000000000011159150505b9392505050565b5080545f8255905f5260205f2090810190611b759190611bc1565b50565b828054828255905f5260205f20908101928215611bb1579160200282015b82811115611bb1578251825591602001919060010190611b96565b50611bbd929150611bc1565b5090565b5b80821115611bbd575f8155600101611bc2565b6001600160a01b0381168114611b75575f80fd5b5f805f805f60808688031215611bfd575f80fd5b8535611c0881611bd5565b94506020860135611c1881611bd5565b935060408601359250606086013567ffffffffffffffff80821115611c3b575f80fd5b818801915088601f830112611c4e575f80fd5b813581811115611c5c575f80fd5b896020828501011115611c6d575f80fd5b9699959850939650602001949392505050565b5f60208284031215611c90575f80fd5b5035919050565b5f8151808452602080850194508084015f5b83811015611cc557815187529582019590820190600101611ca9565b509495945050505050565b60c081525f611ce260c0830189611c97565b6020838203818501528189518084528284019150828160051b850101838c015f805b84811015611d5757878403601f19018652825180518086529088019088860190845b81811015611d425783518352928a0192918a0191600101611d26565b50509688019694505091860191600101611d04565b5050508a60408801528681036060880152611d72818b611c97565b9450505050508281036080840152611d8a8186611c97565b915050611d9b60a083018415159052565b979650505050505050565b5f6020808352835180828501525f5b81811015611dd157858101830151858201604001528201611db5565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611e2a57611e2a611e05565b5060010190565b818103818111156118d0576118d0611e05565b634e487b7160e01b5f52603160045260245ffd5b606081525f611e6a6060830186611c97565b60208301949094525060400152919050565b80820281158282048414176118d0576118d0611e05565b5f82611ead57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156118d0576118d0611e05565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff81118282101715611efd57611efd611ec5565b60405290565b80516bffffffffffffffffffffffff81168114611f1e575f80fd5b919050565b8051611f1e81611bd5565b805163ffffffff81168114611f1e575f80fd5b805160068110611f1e575f80fd5b5f82601f830112611f5e575f80fd5b8151602067ffffffffffffffff80831115611f7b57611f7b611ec5565b8260051b604051601f19603f83011681018181108482111715611fa057611fa0611ec5565b604052938452858101830193838101925087851115611fbd575f80fd5b83870191505b84821015611d9b57611fd482611f2e565b83529183019190830190611fc3565b5f60208284031215611ff3575f80fd5b815167ffffffffffffffff8082111561200a575f80fd5b90830190610100828603121561201e575f80fd5b612026611ed9565b61202f83611f03565b815261203d60208401611f23565b60208201526040830151604082015261205860608401611f2e565b606082015261206960808401611f2e565b608082015261207a60a08401611f2e565b60a082015261208b60c08401611f41565b60c082015260e0830151828111156120a1575f80fd5b6120ad87828601611f4f565b60e08301525095945050505050565b634e487b7160e01b5f52602160045260245ffd5b602081525f611b536020830184611c97565b5f80604083850312156120f3575f80fd5b82516120fe81611bd5565b915061210c60208401611f03565b90509250929050565b5f60208284031215612125575f80fd5b505191905056fea264697066735822122053e5fd75b91c87b722d799bba5b6c6ab7083d49abea6b5ce94908bb569ebb90e64736f6c63430008150033", + "bytecode": "0x61020060405234801562000011575f80fd5b506040516200286a3803806200286a8339810160408190526200003491620003b1565b848482825f01515f14806200004b57506020830151155b806200005957506060830151155b806200006757506080830151155b8062000075575060a0830151155b156200009457604051637c946ed760e01b815260040160405180910390fd5b600283604001511015620000d057604080840151905163491a2bb160e01b81526004810191909152600260248201526044015b60405180910390fd5b6001600160a01b038216620000f85760405163d92e233d60e01b815260040160405180910390fd5b82516080908152602084015160a0908152604085015160c052606085015160e09081529185015161010090815290850151610120526001600160a01b038416610180529084015161014052830151610160525f805b8460c00151518110156200022e57818560c001518281518110620001755762000175620004b4565b602002602001015111620001c1578460c0015181815181106200019c576200019c620004b4565b6020026020010151604051632ab10b0b60e21b8152600401620000c791815260200190565b8460c001518181518110620001da57620001da620004b4565b6020908102919091010151600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0181905591506200022681620004c8565b90506200014d565b50816200024e57604051637c946ed760e01b815260040160405180910390fd5b506101a0525050426002556001600160a01b03821615806200027757506001600160a01b038316155b15620002965760405163d92e233d60e01b815260040160405180910390fd5b506001600160a01b039081166101e052166101c05250620004ed9050565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b0381118282101715620002ee57620002ee620002b4565b60405290565b5f82601f83011262000304575f80fd5b815160206001600160401b0380831115620003235762000323620002b4565b8260051b604051601f19603f830116810181811084821117156200034b576200034b620002b4565b60405293845285810183019383810192508785111562000369575f80fd5b83870191505b848210156200038a578151835291830191908301906200036f565b979650505050505050565b80516001600160a01b0381168114620003ac575f80fd5b919050565b5f805f805f60a08688031215620003c6575f80fd5b85516001600160401b0380821115620003dd575f80fd5b90870190610120828a031215620003f2575f80fd5b620003fc620002c8565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c08301518281111562000444575f80fd5b620004528b828601620002f4565b60c08301525060e083810151908201526101009283015192810192909252509450620004816020870162000395565b9350620004916040870162000395565b9250620004a16060870162000395565b9150608086015190509295509295909350565b634e487b7160e01b5f52603260045260245ffd5b5f60018201620004e657634e487b7160e01b5f52601160045260245ffd5b5060010190565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161225f6200060b5f395f818161035a01528181610fec01528181611444015281816118be015261190201525f818161024e015261184601525f81816103940152610d0801525f818161047a015281816107b201528181610acb0152610f0501525f81816104d501528181610b8f0152610bbe01525f81816102ab01528181610c040152610c3801525f818161030c0152610b4d01525f81816103330152611c2b01525f81816102d2015281816113f801526114c701525f81816104fc01528181611939015261199001525f8181610523015261176d01525f818161021901528181610a530152610a87015261225f5ff3fe608060405234801561000f575f80fd5b50600436106101bb575f3560e01c8063a694fc3a116100f3578063e1f1176d11610093578063eb338c961161006e578063eb338c9614610545578063f189e85a14610558578063f4dce7141461056d578063ffa1ad7414610575575f80fd5b8063e1f1176d146104d0578063e77cdcc9146104f7578063eacdaabc1461051e575f80fd5b8063b6b55f25116100ce578063b6b55f2514610448578063c2c4c5c11461045b578063cbcf252a14610475578063cd25fe381461049c575f80fd5b8063a694fc3a146103bf578063a74466ad146103d2578063b69ef8a814610440575f80fd5b806356e760581161015e57806372f702f31161013957806372f702f31461035557806378e061361461037c578063809cee2f1461038f578063879d9090146103b6575f80fd5b806356e76058146102f45780635829c5ec14610307578063592cf3fb1461032e575f80fd5b80632e17de78116101995780632e17de78146102885780633e7329971461029d57806342cde4e8146102a657806352c824f5146102cd575f80fd5b8063150b7a02146101bf57806316a75172146102145780632871405114610249575b5f80fd5b6101de6101cd366004611ce6565b630a85bd0160e11b95945050505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161020b565b6102707f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161020b565b61029b610296366004611d7d565b6105a6565b005b61023b60025481565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b610302366004611d7d565b610876565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b6102707f000000000000000000000000000000000000000000000000000000000000000081565b61023b61038a366004611d7d565b610895565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b60015481565b61029b6103cd366004611d7d565b610a2c565b6104156103e0366004611d7d565b600460208190525f918252604090912080546001820154600383015492909301546001600160a01b0391821693909116919084565b604080516001600160a01b03958616815294909316602085015291830152606082015260800161020b565b61023b5f5481565b61029b610456366004611d7d565b610fbd565b61046361105b565b60405161020b96959493929190611dcd565b6102707f000000000000000000000000000000000000000000000000000000000000000081565b6104c06104aa366004611d7d565b5f90815260046020526040902060030154151590565b604051901515815260200161020b565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b610553366004611d7d565b611343565b610560611352565b60405161020b9190611ea3565b61023b6113f5565b610599604051806040016040528060058152602001640302e312e360dc1b81525081565b60405161020b9190611eb5565b5f81815260046020526040902060018101546001600160a01b031633146105fc57600181015460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b5f8061060661105b565b95505050505091508061061e5761061b611352565b91505b5f5b825181101561065a578483828151811061063c5761063c611f00565b6020026020010151031561065a5761065381611f28565b9050610620565b6004840154600285018054604080516020808402820181019092528281525f93909290918301828280156106ab57602002820191905f5260205f20905b815481526020019060010190808311610697575b505050600389015489545f8c8152600460205260408120805473ffffffffffffffffffffffffffffffffffffffff199081168255600182018054909116905595965091946001600160a01b039091169350915061070b6002830182611c57565b505f600382018190556004909101556005805461072a90600190611f40565b8154811061073a5761073a611f00565b905f5260205f2001546005868154811061075657610756611f00565b5f91825260209091200155600580548061077257610772611f53565b5f8281526020812082015f1990810191909155019055604051632142170760e11b8152306004820152336024820152604481018a90526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e906064015f604051808303815f87803b1580156107f3575f80fd5b505af1158015610805573d5f803e3d5ffd5b505050505f84111561081b5761081b8185611429565b806001600160a01b0316336001600160a01b03168a7f246ee6115bfd84e00097b16569c2ff2f822026bb9595a82cd2c1e69d4b6ea50c86888760405161086393929190611f67565b60405180910390a4505050505050505050565b60038181548110610885575f80fd5b5f91825260209091200154905081565b5f818152600460209081526040808320815160a08101835281546001600160a01b039081168252600183015416818501526002820180548451818702810187018652818152879693958601939092919083018282801561091257602002820191905f5260205f20905b8154815260200190600101908083116108fe575b505050505081526020016003820154815260200160048201548152505090508060800151915080606001515f0361095f5760405163e0606b6360e01b8152600481018490526024016105f3565b5f805f805f61096c6114b1565b5050945094509450945094505f5b84811015610a20578883828151811061099557610995611f00565b602002602001015103610a1057858411156109eb5783868383815181106109be576109be611f00565b60200260200101516109d09190611f8b565b6109da9190611fa2565b6109e49089611fc1565b9750610a20565b8181815181106109fd576109fd611f00565b6020026020010151886109e49190611fc1565b610a1981611f28565b905061097a565b50505050505050919050565b6001545f03610a4e5760405163afb0be3360e01b815260040160405180910390fd5b6005547f00000000000000000000000000000000000000000000000000000000000000008103610ab35760405163fd20861560e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526024016105f3565b60405163ef0e239b60e01b8152600481018390525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef0e239b906024015f60405180830381865afa158015610b17573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b3e91908101906120f2565b9050806080015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014610b8d57604051637ad404bf60e11b8152600481018490526024016105f3565b7f000000000000000000000000000000000000000000000000000000000000000015801590610be0575080604001517f000000000000000000000000000000000000000000000000000000000000000014155b15610c0157604051637ad404bf60e11b8152600481018490526024016105f3565b5f7f0000000000000000000000000000000000000000000000000000000000000000118015610c5a5750806060015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014155b15610c7b57604051637ad404bf60e11b8152600481018490526024016105f3565b60048160c001516005811115610c9357610c936121cb565b14610cd2578060c001516005811115610cae57610cae6121cb565b604051633c053f9d60e21b81526004810191909152602481018490526044016105f3565b5f81602001516001600160a01b0316803b806020016040519081016040528181525f908060200190933c805190602001209050807f000000000000000000000000000000000000000000000000000000000000000014610d5557602082015160405162a2307960e51b81526001600160a01b0390911660048201526024016105f3565b6003548015610e215760e083015151818114610d8757604051637ad404bf60e11b8152600481018790526024016105f3565b5f5b81811015610e1e578460e001518181518110610da757610da7611f00565b602002602001015163ffffffff1660038281548110610dc857610dc8611f00565b905f5260205f20015414610e0e5760038181548110610de957610de9611f00565b905f5260205f200154604051632ab10b0b60e21b81526004016105f391815260200190565b610e1781611f28565b9050610d89565b50505b610e3c85845f01516bffffffffffffffffffffffff16611824565b5f85815260046020908152604082209085015181546001600160a01b03821673ffffffffffffffffffffffffffffffffffffffff1991821617835560018301805490911633179055909190610e90906119c2565b8051909150610ea89060028401906020840190611c75565b50426003830155600580546001810182555f919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001879055604051632142170760e11b8152336004820152306024820152604481018890527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342842e0e906064015f604051808303815f87803b158015610f4e575f80fd5b505af1158015610f60573d5f803e3d5ffd5b5050505084602001516001600160a01b0316336001600160a01b0316887f5d43ac9b1b213902df90d405b0006308578486b6c62182c5df202ed572c844e484604051610fac9190611ea3565b60405180910390a450505050505050565b5f815f54610fcb9190611fc1565b90505f82600154610fdc9190611fc1565b5f839055600181905590506110137f00000000000000000000000000000000000000000000000000000000000000003330866119d3565b604080518481526020810184905290810182905233907f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e9060600160405180910390a2505050565b6060805f6060805f805f805f805f806110726114b1565b96509650965096509650965096505f861115611268575f878611156111db575f8060015b8981101561113157888b8883815181106110b2576110b2611f00565b60200260200101516110c49190611f8b565b6110ce9190611fa2565b92506110da8383611fc1565b91508781815181106110ee576110ee611f00565b602002602001015193508260045f8681526020019081526020015f206004015f82825461111b9190611fc1565b9091555061112a905081611f28565b9050611096565b50878a875f8151811061114657611146611f00565b60200260200101516111589190611f8b565b6111629190611fa2565b915061116e8282611fc1565b9050865f8151811061118257611182611f00565b60200260200101519250808a11156111ab5761119e818b611f40565b6111a89083611fc1565b91505b5f83815260046020819052604082200180548492906111cb908490611fc1565b909155505f9a5061126192505050565b5f5b87811015611253578581815181106111f7576111f7611f00565b6020026020010151915084818151811061121357611213611f00565b602002602001015160045f8481526020019081526020015f206004015f82825461123d9190611fc1565b9091555061124c905081611f28565b90506111dd565b5061125e8689611f40565b97505b5060018790555b80511561132e575f5b82518110156112eb575f83828151811061128d5761128d611f00565b602002602001015190508282815181106112a9576112a9611f00565b602002602001015160045f8381526020019081526020015f2060020190805190602001906112d8929190611c75565b5050806112e490611f28565b9050611271565b50426002556040805188815260208101889052600199507f21d81d5d656869e8ce3ba8d65526a2f0dbbcd3d36f5f9999eb7c84360e45eced910160405180910390a15b909c909b509399509097509550929350915050565b60058181548110610885575f80fd5b6005546060908067ffffffffffffffff81111561137157611371611fd4565b60405190808252806020026020018201604052801561139a578160200160208202803683370190505b5091505f5b818110156113f057600581815481106113ba576113ba611f00565b905f5260205f2001548382815181106113d5576113d5611f00565b60209081029190910101526113e981611f28565b905061139f565b505090565b5f7f00000000000000000000000000000000000000000000000000000000000000006002546114249190611fc1565b905090565b805f808282546114399190611f40565b9091555061146a90507f00000000000000000000000000000000000000000000000000000000000000008383611a57565b816001600160a01b03167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364826040516114a591815260200190565b60405180910390a25050565b600254600154905f9081906060908190819081907f00000000000000000000000000000000000000000000000000000000000000006114f08242611f40565b101580156114fd57505f88115b1561181a576005548067ffffffffffffffff81111561151e5761151e611fd4565b604051908082528060200260200182016040528015611547578160200160208202803683370190505b5093508067ffffffffffffffff81111561156357611563611fd4565b60405190808252806020026020018201604052801561158c578160200160208202803683370190505b5095508067ffffffffffffffff8111156115a8576115a8611fd4565b6040519080825280602002602001820160405280156115d1578160200160208202803683370190505b5094508067ffffffffffffffff8111156115ed576115ed611fd4565b60405190808252806020026020018201604052801561162057816020015b606081526020019060019003908161160b5790505b5092505f5b81811015611817576005818154811061164057611640611f00565b905f5260205f20015485828151811061165b5761165b611f00565b6020026020010181815250505f60045f87848151811061167d5761167d611f00565b60209081029190910181015182528101919091526040015f2080549091506116ad906001600160a01b03166119c2565b8583815181106116bf576116bf611f00565b602090810291909101015260038101548490818111156116dd578091505b6116e78242611f40565b90505f61175e8886815181106116ff576116ff611f00565b60200260200101518560020180548060200260200160405190810160405280929190818152602001828054801561175357602002820191905f5260205f20905b81548152602001906001019080831161173f575b505050505084611ace565b90508015611802575f611791837f0000000000000000000000000000000000000000000000000000000000000000611f8b565b905061179d818e611fc1565b9c50808b8f815181106117b2576117b2611f00565b6020026020010181815250508986815181106117d0576117d0611f00565b60200260200101518c8f815181106117ea576117ea611f00565b60209081029190910101526117fe8e611f28565b9d50505b505050508061181090611f28565b9050611625565b50505b5090919293949596565b604051633cebfa4f60e01b8152600481018390525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633cebfa4f906024016040805180830381865afa15801561188a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ae91906121df565b91509150816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461193757604051630b80380d60e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152831660248201526044016105f3565b7f0000000000000000000000000000000000000000000000000000000000000000816bffffffffffffffffffffffff1610156119bc57604051632b30b24760e21b81526bffffffffffffffffffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000060248201526044016105f3565b50505050565b60606119cd82611ae2565b92915050565b5f6040516323b872dd60e01b5f5284600452836024528260445260205f60645f808a5af13d15601f3d1160015f511416171691505f606052806040525080611a505760405163abae3d6d60e01b81526001600160a01b038087166004830152808616602483015284166044820152606481018390526084016105f3565b5050505050565b5f60405163a9059cbb60e01b5f52836004528260245260205f60445f80895af13d15601f3d1160015f511416171691505f6060528060405250806119bc5760405163abae3d6d60e01b81526001600160a01b03808616600483015230602483015284166044820152606481018390526084016105f3565b5f611ada848484611b87565b949350505050565b60408051600180825281830190925260609160208083019080368337019050509050816001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b649190612212565b815f81518110611b7657611b76611f00565b602002602001018181525050919050565b5f8082118015611bc85750825f81518110611ba457611ba4611f00565b6020026020010151845f81518110611bbe57611bbe611f00565b6020026020010151115b15611c50575f82845f81518110611be157611be1611f00565b6020026020010151865f81518110611bfb57611bfb611f00565b6020026020010151611c0d9190611f40565b611c1f90670de0b6b3a7640000611f8b565b611c299190611fa2565b7f000000000000000000000000000000000000000000000000000000000000000011159150505b9392505050565b5080545f8255905f5260205f2090810190611c729190611cbe565b50565b828054828255905f5260205f20908101928215611cae579160200282015b82811115611cae578251825591602001919060010190611c93565b50611cba929150611cbe565b5090565b5b80821115611cba575f8155600101611cbf565b6001600160a01b0381168114611c72575f80fd5b5f805f805f60808688031215611cfa575f80fd5b8535611d0581611cd2565b94506020860135611d1581611cd2565b935060408601359250606086013567ffffffffffffffff80821115611d38575f80fd5b818801915088601f830112611d4b575f80fd5b813581811115611d59575f80fd5b896020828501011115611d6a575f80fd5b9699959850939650602001949392505050565b5f60208284031215611d8d575f80fd5b5035919050565b5f8151808452602080850194508084015f5b83811015611dc257815187529582019590820190600101611da6565b509495945050505050565b60c081525f611ddf60c0830189611d94565b6020838203818501528189518084528284019150828160051b850101838c015f805b84811015611e5457878403601f19018652825180518086529088019088860190845b81811015611e3f5783518352928a0192918a0191600101611e23565b50509688019694505091860191600101611e01565b5050508a60408801528681036060880152611e6f818b611d94565b9450505050508281036080840152611e878186611d94565b915050611e9860a083018415159052565b979650505050505050565b602081525f611c506020830184611d94565b5f6020808352835180828501525f5b81811015611ee057858101830151858201604001528201611ec4565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611f3957611f39611f14565b5060010190565b818103818111156119cd576119cd611f14565b634e487b7160e01b5f52603160045260245ffd5b606081525f611f796060830186611d94565b60208301949094525060400152919050565b80820281158282048414176119cd576119cd611f14565b5f82611fbc57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156119cd576119cd611f14565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff8111828210171561200c5761200c611fd4565b60405290565b80516bffffffffffffffffffffffff8116811461202d575f80fd5b919050565b805161202d81611cd2565b805163ffffffff8116811461202d575f80fd5b80516006811061202d575f80fd5b5f82601f83011261206d575f80fd5b8151602067ffffffffffffffff8083111561208a5761208a611fd4565b8260051b604051601f19603f830116810181811084821117156120af576120af611fd4565b6040529384528581018301938381019250878511156120cc575f80fd5b83870191505b84821015611e98576120e38261203d565b835291830191908301906120d2565b5f60208284031215612102575f80fd5b815167ffffffffffffffff80821115612119575f80fd5b90830190610100828603121561212d575f80fd5b612135611fe8565b61213e83612012565b815261214c60208401612032565b6020820152604083015160408201526121676060840161203d565b60608201526121786080840161203d565b608082015261218960a0840161203d565b60a082015261219a60c08401612050565b60c082015260e0830151828111156121b0575f80fd5b6121bc8782860161205e565b60e08301525095945050505050565b634e487b7160e01b5f52602160045260245ffd5b5f80604083850312156121f0575f80fd5b82516121fb81611cd2565b915061220960208401612012565b90509250929050565b5f60208284031215612222575f80fd5b505191905056fea264697066735822122043c4706472a127ff5d3b2ef526f3b42aa32803e250ca3218ed6fb887f998489a64736f6c63430008150033", + "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106101bb575f3560e01c8063a694fc3a116100f3578063e1f1176d11610093578063eb338c961161006e578063eb338c9614610545578063f189e85a14610558578063f4dce7141461056d578063ffa1ad7414610575575f80fd5b8063e1f1176d146104d0578063e77cdcc9146104f7578063eacdaabc1461051e575f80fd5b8063b6b55f25116100ce578063b6b55f2514610448578063c2c4c5c11461045b578063cbcf252a14610475578063cd25fe381461049c575f80fd5b8063a694fc3a146103bf578063a74466ad146103d2578063b69ef8a814610440575f80fd5b806356e760581161015e57806372f702f31161013957806372f702f31461035557806378e061361461037c578063809cee2f1461038f578063879d9090146103b6575f80fd5b806356e76058146102f45780635829c5ec14610307578063592cf3fb1461032e575f80fd5b80632e17de78116101995780632e17de78146102885780633e7329971461029d57806342cde4e8146102a657806352c824f5146102cd575f80fd5b8063150b7a02146101bf57806316a75172146102145780632871405114610249575b5f80fd5b6101de6101cd366004611ce6565b630a85bd0160e11b95945050505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161020b565b6102707f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161020b565b61029b610296366004611d7d565b6105a6565b005b61023b60025481565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b610302366004611d7d565b610876565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b6102707f000000000000000000000000000000000000000000000000000000000000000081565b61023b61038a366004611d7d565b610895565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b60015481565b61029b6103cd366004611d7d565b610a2c565b6104156103e0366004611d7d565b600460208190525f918252604090912080546001820154600383015492909301546001600160a01b0391821693909116919084565b604080516001600160a01b03958616815294909316602085015291830152606082015260800161020b565b61023b5f5481565b61029b610456366004611d7d565b610fbd565b61046361105b565b60405161020b96959493929190611dcd565b6102707f000000000000000000000000000000000000000000000000000000000000000081565b6104c06104aa366004611d7d565b5f90815260046020526040902060030154151590565b604051901515815260200161020b565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b7f000000000000000000000000000000000000000000000000000000000000000081565b61023b610553366004611d7d565b611343565b610560611352565b60405161020b9190611ea3565b61023b6113f5565b610599604051806040016040528060058152602001640302e312e360dc1b81525081565b60405161020b9190611eb5565b5f81815260046020526040902060018101546001600160a01b031633146105fc57600181015460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b5f8061060661105b565b95505050505091508061061e5761061b611352565b91505b5f5b825181101561065a578483828151811061063c5761063c611f00565b6020026020010151031561065a5761065381611f28565b9050610620565b6004840154600285018054604080516020808402820181019092528281525f93909290918301828280156106ab57602002820191905f5260205f20905b815481526020019060010190808311610697575b505050600389015489545f8c8152600460205260408120805473ffffffffffffffffffffffffffffffffffffffff199081168255600182018054909116905595965091946001600160a01b039091169350915061070b6002830182611c57565b505f600382018190556004909101556005805461072a90600190611f40565b8154811061073a5761073a611f00565b905f5260205f2001546005868154811061075657610756611f00565b5f91825260209091200155600580548061077257610772611f53565b5f8281526020812082015f1990810191909155019055604051632142170760e11b8152306004820152336024820152604481018a90526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e906064015f604051808303815f87803b1580156107f3575f80fd5b505af1158015610805573d5f803e3d5ffd5b505050505f84111561081b5761081b8185611429565b806001600160a01b0316336001600160a01b03168a7f246ee6115bfd84e00097b16569c2ff2f822026bb9595a82cd2c1e69d4b6ea50c86888760405161086393929190611f67565b60405180910390a4505050505050505050565b60038181548110610885575f80fd5b5f91825260209091200154905081565b5f818152600460209081526040808320815160a08101835281546001600160a01b039081168252600183015416818501526002820180548451818702810187018652818152879693958601939092919083018282801561091257602002820191905f5260205f20905b8154815260200190600101908083116108fe575b505050505081526020016003820154815260200160048201548152505090508060800151915080606001515f0361095f5760405163e0606b6360e01b8152600481018490526024016105f3565b5f805f805f61096c6114b1565b5050945094509450945094505f5b84811015610a20578883828151811061099557610995611f00565b602002602001015103610a1057858411156109eb5783868383815181106109be576109be611f00565b60200260200101516109d09190611f8b565b6109da9190611fa2565b6109e49089611fc1565b9750610a20565b8181815181106109fd576109fd611f00565b6020026020010151886109e49190611fc1565b610a1981611f28565b905061097a565b50505050505050919050565b6001545f03610a4e5760405163afb0be3360e01b815260040160405180910390fd5b6005547f00000000000000000000000000000000000000000000000000000000000000008103610ab35760405163fd20861560e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526024016105f3565b60405163ef0e239b60e01b8152600481018390525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef0e239b906024015f60405180830381865afa158015610b17573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b3e91908101906120f2565b9050806080015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014610b8d57604051637ad404bf60e11b8152600481018490526024016105f3565b7f000000000000000000000000000000000000000000000000000000000000000015801590610be0575080604001517f000000000000000000000000000000000000000000000000000000000000000014155b15610c0157604051637ad404bf60e11b8152600481018490526024016105f3565b5f7f0000000000000000000000000000000000000000000000000000000000000000118015610c5a5750806060015163ffffffff167f000000000000000000000000000000000000000000000000000000000000000014155b15610c7b57604051637ad404bf60e11b8152600481018490526024016105f3565b60048160c001516005811115610c9357610c936121cb565b14610cd2578060c001516005811115610cae57610cae6121cb565b604051633c053f9d60e21b81526004810191909152602481018490526044016105f3565b5f81602001516001600160a01b0316803b806020016040519081016040528181525f908060200190933c805190602001209050807f000000000000000000000000000000000000000000000000000000000000000014610d5557602082015160405162a2307960e51b81526001600160a01b0390911660048201526024016105f3565b6003548015610e215760e083015151818114610d8757604051637ad404bf60e11b8152600481018790526024016105f3565b5f5b81811015610e1e578460e001518181518110610da757610da7611f00565b602002602001015163ffffffff1660038281548110610dc857610dc8611f00565b905f5260205f20015414610e0e5760038181548110610de957610de9611f00565b905f5260205f200154604051632ab10b0b60e21b81526004016105f391815260200190565b610e1781611f28565b9050610d89565b50505b610e3c85845f01516bffffffffffffffffffffffff16611824565b5f85815260046020908152604082209085015181546001600160a01b03821673ffffffffffffffffffffffffffffffffffffffff1991821617835560018301805490911633179055909190610e90906119c2565b8051909150610ea89060028401906020840190611c75565b50426003830155600580546001810182555f919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001879055604051632142170760e11b8152336004820152306024820152604481018890527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342842e0e906064015f604051808303815f87803b158015610f4e575f80fd5b505af1158015610f60573d5f803e3d5ffd5b5050505084602001516001600160a01b0316336001600160a01b0316887f5d43ac9b1b213902df90d405b0006308578486b6c62182c5df202ed572c844e484604051610fac9190611ea3565b60405180910390a450505050505050565b5f815f54610fcb9190611fc1565b90505f82600154610fdc9190611fc1565b5f839055600181905590506110137f00000000000000000000000000000000000000000000000000000000000000003330866119d3565b604080518481526020810184905290810182905233907f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e9060600160405180910390a2505050565b6060805f6060805f805f805f805f806110726114b1565b96509650965096509650965096505f861115611268575f878611156111db575f8060015b8981101561113157888b8883815181106110b2576110b2611f00565b60200260200101516110c49190611f8b565b6110ce9190611fa2565b92506110da8383611fc1565b91508781815181106110ee576110ee611f00565b602002602001015193508260045f8681526020019081526020015f206004015f82825461111b9190611fc1565b9091555061112a905081611f28565b9050611096565b50878a875f8151811061114657611146611f00565b60200260200101516111589190611f8b565b6111629190611fa2565b915061116e8282611fc1565b9050865f8151811061118257611182611f00565b60200260200101519250808a11156111ab5761119e818b611f40565b6111a89083611fc1565b91505b5f83815260046020819052604082200180548492906111cb908490611fc1565b909155505f9a5061126192505050565b5f5b87811015611253578581815181106111f7576111f7611f00565b6020026020010151915084818151811061121357611213611f00565b602002602001015160045f8481526020019081526020015f206004015f82825461123d9190611fc1565b9091555061124c905081611f28565b90506111dd565b5061125e8689611f40565b97505b5060018790555b80511561132e575f5b82518110156112eb575f83828151811061128d5761128d611f00565b602002602001015190508282815181106112a9576112a9611f00565b602002602001015160045f8381526020019081526020015f2060020190805190602001906112d8929190611c75565b5050806112e490611f28565b9050611271565b50426002556040805188815260208101889052600199507f21d81d5d656869e8ce3ba8d65526a2f0dbbcd3d36f5f9999eb7c84360e45eced910160405180910390a15b909c909b509399509097509550929350915050565b60058181548110610885575f80fd5b6005546060908067ffffffffffffffff81111561137157611371611fd4565b60405190808252806020026020018201604052801561139a578160200160208202803683370190505b5091505f5b818110156113f057600581815481106113ba576113ba611f00565b905f5260205f2001548382815181106113d5576113d5611f00565b60209081029190910101526113e981611f28565b905061139f565b505090565b5f7f00000000000000000000000000000000000000000000000000000000000000006002546114249190611fc1565b905090565b805f808282546114399190611f40565b9091555061146a90507f00000000000000000000000000000000000000000000000000000000000000008383611a57565b816001600160a01b03167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364826040516114a591815260200190565b60405180910390a25050565b600254600154905f9081906060908190819081907f00000000000000000000000000000000000000000000000000000000000000006114f08242611f40565b101580156114fd57505f88115b1561181a576005548067ffffffffffffffff81111561151e5761151e611fd4565b604051908082528060200260200182016040528015611547578160200160208202803683370190505b5093508067ffffffffffffffff81111561156357611563611fd4565b60405190808252806020026020018201604052801561158c578160200160208202803683370190505b5095508067ffffffffffffffff8111156115a8576115a8611fd4565b6040519080825280602002602001820160405280156115d1578160200160208202803683370190505b5094508067ffffffffffffffff8111156115ed576115ed611fd4565b60405190808252806020026020018201604052801561162057816020015b606081526020019060019003908161160b5790505b5092505f5b81811015611817576005818154811061164057611640611f00565b905f5260205f20015485828151811061165b5761165b611f00565b6020026020010181815250505f60045f87848151811061167d5761167d611f00565b60209081029190910181015182528101919091526040015f2080549091506116ad906001600160a01b03166119c2565b8583815181106116bf576116bf611f00565b602090810291909101015260038101548490818111156116dd578091505b6116e78242611f40565b90505f61175e8886815181106116ff576116ff611f00565b60200260200101518560020180548060200260200160405190810160405280929190818152602001828054801561175357602002820191905f5260205f20905b81548152602001906001019080831161173f575b505050505084611ace565b90508015611802575f611791837f0000000000000000000000000000000000000000000000000000000000000000611f8b565b905061179d818e611fc1565b9c50808b8f815181106117b2576117b2611f00565b6020026020010181815250508986815181106117d0576117d0611f00565b60200260200101518c8f815181106117ea576117ea611f00565b60209081029190910101526117fe8e611f28565b9d50505b505050508061181090611f28565b9050611625565b50505b5090919293949596565b604051633cebfa4f60e01b8152600481018390525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633cebfa4f906024016040805180830381865afa15801561188a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ae91906121df565b91509150816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461193757604051630b80380d60e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152831660248201526044016105f3565b7f0000000000000000000000000000000000000000000000000000000000000000816bffffffffffffffffffffffff1610156119bc57604051632b30b24760e21b81526bffffffffffffffffffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000060248201526044016105f3565b50505050565b60606119cd82611ae2565b92915050565b5f6040516323b872dd60e01b5f5284600452836024528260445260205f60645f808a5af13d15601f3d1160015f511416171691505f606052806040525080611a505760405163abae3d6d60e01b81526001600160a01b038087166004830152808616602483015284166044820152606481018390526084016105f3565b5050505050565b5f60405163a9059cbb60e01b5f52836004528260245260205f60445f80895af13d15601f3d1160015f511416171691505f6060528060405250806119bc5760405163abae3d6d60e01b81526001600160a01b03808616600483015230602483015284166044820152606481018390526084016105f3565b5f611ada848484611b87565b949350505050565b60408051600180825281830190925260609160208083019080368337019050509050816001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b649190612212565b815f81518110611b7657611b76611f00565b602002602001018181525050919050565b5f8082118015611bc85750825f81518110611ba457611ba4611f00565b6020026020010151845f81518110611bbe57611bbe611f00565b6020026020010151115b15611c50575f82845f81518110611be157611be1611f00565b6020026020010151865f81518110611bfb57611bfb611f00565b6020026020010151611c0d9190611f40565b611c1f90670de0b6b3a7640000611f8b565b611c299190611fa2565b7f000000000000000000000000000000000000000000000000000000000000000011159150505b9392505050565b5080545f8255905f5260205f2090810190611c729190611cbe565b50565b828054828255905f5260205f20908101928215611cae579160200282015b82811115611cae578251825591602001919060010190611c93565b50611cba929150611cbe565b5090565b5b80821115611cba575f8155600101611cbf565b6001600160a01b0381168114611c72575f80fd5b5f805f805f60808688031215611cfa575f80fd5b8535611d0581611cd2565b94506020860135611d1581611cd2565b935060408601359250606086013567ffffffffffffffff80821115611d38575f80fd5b818801915088601f830112611d4b575f80fd5b813581811115611d59575f80fd5b896020828501011115611d6a575f80fd5b9699959850939650602001949392505050565b5f60208284031215611d8d575f80fd5b5035919050565b5f8151808452602080850194508084015f5b83811015611dc257815187529582019590820190600101611da6565b509495945050505050565b60c081525f611ddf60c0830189611d94565b6020838203818501528189518084528284019150828160051b850101838c015f805b84811015611e5457878403601f19018652825180518086529088019088860190845b81811015611e3f5783518352928a0192918a0191600101611e23565b50509688019694505091860191600101611e01565b5050508a60408801528681036060880152611e6f818b611d94565b9450505050508281036080840152611e878186611d94565b915050611e9860a083018415159052565b979650505050505050565b602081525f611c506020830184611d94565b5f6020808352835180828501525f5b81811015611ee057858101830151858201604001528201611ec4565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611f3957611f39611f14565b5060010190565b818103818111156119cd576119cd611f14565b634e487b7160e01b5f52603160045260245ffd5b606081525f611f796060830186611d94565b60208301949094525060400152919050565b80820281158282048414176119cd576119cd611f14565b5f82611fbc57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156119cd576119cd611f14565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff8111828210171561200c5761200c611fd4565b60405290565b80516bffffffffffffffffffffffff8116811461202d575f80fd5b919050565b805161202d81611cd2565b805163ffffffff8116811461202d575f80fd5b80516006811061202d575f80fd5b5f82601f83011261206d575f80fd5b8151602067ffffffffffffffff8083111561208a5761208a611fd4565b8260051b604051601f19603f830116810181811084821117156120af576120af611fd4565b6040529384528581018301938381019250878511156120cc575f80fd5b83870191505b84821015611e98576120e38261203d565b835291830191908301906120d2565b5f60208284031215612102575f80fd5b815167ffffffffffffffff80821115612119575f80fd5b90830190610100828603121561212d575f80fd5b612135611fe8565b61213e83612012565b815261214c60208401612032565b6020820152604083015160408201526121676060840161203d565b60608201526121786080840161203d565b608082015261218960a0840161203d565b60a082015261219a60c08401612050565b60c082015260e0830151828111156121b0575f80fd5b6121bc8782860161205e565b60e08301525095945050505050565b634e487b7160e01b5f52602160045260245ffd5b5f80604083850312156121f0575f80fd5b82516121fb81611cd2565b915061220960208401612012565b90509250929050565b5f60208284031215612222575f80fd5b505191905056fea264697066735822122043c4706472a127ff5d3b2ef526f3b42aa32803e250ca3218ed6fb887f998489a64736f6c63430008150033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/contracts/staking/ServiceStakingBase.sol b/contracts/staking/ServiceStakingBase.sol index 72f2ac86..fba50ec3 100644 --- a/contracts/staking/ServiceStakingBase.sol +++ b/contracts/staking/ServiceStakingBase.sol @@ -352,60 +352,52 @@ abstract contract ServiceStakingBase is ERC721TokenReceiver, IErrorsRegistries { uint256[][] memory serviceNonces ) { - // Get the service Ids set length - uint256 size = setServiceIds.length; - serviceIds = new uint256[](size); - - // Record service Ids - for (uint256 i = 0; i < size; ++i) { - // Get current service Id - serviceIds[i] = setServiceIds[i]; - } - - // Check the last checkpoint timestamp and the liveness period + // Check the last checkpoint timestamp and the liveness period, also check for available rewards to be not zero uint256 tsCheckpointLast = tsCheckpoint; - if (block.timestamp - tsCheckpointLast >= livenessPeriod) { - // Get available rewards and last checkpoint timestamp - lastAvailableRewards = availableRewards; - - // If available rewards are not zero, proceed with staking calculation - if (lastAvailableRewards > 0) { - // Get necessary arrays - eligibleServiceIds = new uint256[](size); - eligibleServiceRewards = new uint256[](size); - serviceNonces = new uint256[][](size); - - // Calculate each staked service reward eligibility - for (uint256 i = 0; i < size; ++i) { - // Get the service info - ServiceInfo storage sInfo = mapServiceInfo[serviceIds[i]]; - - // Get current service multisig nonce - serviceNonces[i] = _getMultisigNonces(sInfo.multisig); - - // Calculate the liveness nonce ratio - // Get the last service checkpoint: staking start time or the global checkpoint timestamp - uint256 serviceCheckpoint = tsCheckpointLast; - uint256 ts = sInfo.tsStart; - // Adjust the service checkpoint time if the service was staking less than the current staking period - if (ts > serviceCheckpoint) { - serviceCheckpoint = ts; - } - - // Calculate the liveness ratio in 1e18 value - // This subtraction is always positive or zero, as the last checkpoint can be at most block.timestamp - ts = block.timestamp - serviceCheckpoint; - bool ratioPass = _isRatioPass(serviceNonces[i], sInfo.nonces, ts); - - // Record the reward for the service if it has provided enough transactions - if (ratioPass) { - // Calculate the reward up until now and record its value for the corresponding service - uint256 reward = rewardsPerSecond * ts; - totalRewards += reward; - eligibleServiceRewards[numServices] = reward; - eligibleServiceIds[numServices] = serviceIds[i]; - ++numServices; - } + lastAvailableRewards = availableRewards; + if (block.timestamp - tsCheckpointLast >= livenessPeriod && lastAvailableRewards > 0) { + // Get the service Ids set length + uint256 size = setServiceIds.length; + + // Get necessary arrays + serviceIds = new uint256[](size); + eligibleServiceIds = new uint256[](size); + eligibleServiceRewards = new uint256[](size); + serviceNonces = new uint256[][](size); + + // Calculate each staked service reward eligibility + for (uint256 i = 0; i < size; ++i) { + // Get current service Id + serviceIds[i] = setServiceIds[i]; + + // Get the service info + ServiceInfo storage sInfo = mapServiceInfo[serviceIds[i]]; + + // Get current service multisig nonce + serviceNonces[i] = _getMultisigNonces(sInfo.multisig); + + // Calculate the liveness nonce ratio + // Get the last service checkpoint: staking start time or the global checkpoint timestamp + uint256 serviceCheckpoint = tsCheckpointLast; + uint256 ts = sInfo.tsStart; + // Adjust the service checkpoint time if the service was staking less than the current staking period + if (ts > serviceCheckpoint) { + serviceCheckpoint = ts; + } + + // Calculate the liveness ratio in 1e18 value + // This subtraction is always positive or zero, as the last checkpoint can be at most block.timestamp + ts = block.timestamp - serviceCheckpoint; + bool ratioPass = _isRatioPass(serviceNonces[i], sInfo.nonces, ts); + + // Record the reward for the service if it has provided enough transactions + if (ratioPass) { + // Calculate the reward up until now and record its value for the corresponding service + uint256 reward = rewardsPerSecond * ts; + totalRewards += reward; + eligibleServiceRewards[numServices] = reward; + eligibleServiceIds[numServices] = serviceIds[i]; + ++numServices; } } } @@ -508,7 +500,12 @@ abstract contract ServiceStakingBase is ERC721TokenReceiver, IErrorsRegistries { } // Call the checkpoint - (uint256[] memory serviceIds, , , , , ) = checkpoint(); + (uint256[] memory serviceIds, , , , , bool success) = checkpoint(); + + // If the checkpoint was not successful, the serviceIds set is not returned and needs to be allocated + if (!success) { + serviceIds = getServiceIds(); + } // Get the service index in the set of services // The index must always exist as the service is currently staked, otherwise it has no record in the map @@ -562,26 +559,44 @@ abstract contract ServiceStakingBase is ERC721TokenReceiver, IErrorsRegistries { uint256[] memory eligibleServiceRewards, , ) = _calculateStakingRewards(); // If there are eligible services, proceed with staking calculation and update rewards for the service Id - if (numServices > 0) { + for (uint256 i = 0; i < numServices; ++i) { // Get the service index in the eligible service set and calculate its latest reward - for (uint256 i = 0; i < eligibleServiceIds.length; ++i) { - if (eligibleServiceIds[i] == serviceId) { - // If total allocated rewards are not enough, adjust the reward value - if (totalRewards > lastAvailableRewards) { - reward += (eligibleServiceRewards[i] * lastAvailableRewards) / totalRewards; - } else { - reward += eligibleServiceRewards[i]; - } - break; + if (eligibleServiceIds[i] == serviceId) { + // If total allocated rewards are not enough, adjust the reward value + if (totalRewards > lastAvailableRewards) { + reward += (eligibleServiceRewards[i] * lastAvailableRewards) / totalRewards; + } else { + reward += eligibleServiceRewards[i]; } + break; } } } + /// @dev Gets staked service Ids. + /// @return serviceIds Staked service Ids. + function getServiceIds() public view returns (uint256[] memory serviceIds) { + // Get the number of service Ids + uint256 size = setServiceIds.length; + serviceIds = new uint256[](size); + + // Record service Ids + for (uint256 i = 0; i < size; ++i) { + serviceIds[i] = setServiceIds[i]; + } + } + /// @dev Checks if the service is staked. /// @param serviceId. - /// @return True, if the service is staked. - function isServiceStaked(uint256 serviceId) external view returns (bool) { - return mapServiceInfo[serviceId].tsStart > 0; + /// @return isStaked True, if the service is staked. + function isServiceStaked(uint256 serviceId) external view returns (bool isStaked) { + isStaked = (mapServiceInfo[serviceId].tsStart > 0); + } + + /// @dev Gets the next reward checkpoint timestamp. + /// @return tsNext Next reward checkpoint timestamp. + function getNextRewardCheckpointTimestamp() external view returns (uint256 tsNext) { + // Last checkpoint timestamp plus the liveness period + tsNext = tsCheckpoint + livenessPeriod; } } \ No newline at end of file diff --git a/contracts/test/ERC20Token.sol b/contracts/test/ERC20Token.sol index 28b526df..7c0a1693 100644 --- a/contracts/test/ERC20Token.sol +++ b/contracts/test/ERC20Token.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -import "../../lib/solmate/src/tokens/ERC20.sol"; +import {ERC20} from "../../lib/solmate/src/tokens/ERC20.sol"; /// @title ERC20Token - Smart contract for mocking the minimum OLAS token functionality contract ERC20Token is ERC20 { diff --git a/docs/On-chain_architecture_v5.png b/docs/On-chain_architecture_v5.png deleted file mode 100644 index d9508400..00000000 Binary files a/docs/On-chain_architecture_v5.png and /dev/null differ diff --git a/docs/On-chain_architecture_v6.png b/docs/On-chain_architecture_v6.png new file mode 100644 index 00000000..6ff67cdd Binary files /dev/null and b/docs/On-chain_architecture_v6.png differ diff --git a/package.json b/package.json index 944ce9fd..867d3527 100644 --- a/package.json +++ b/package.json @@ -20,32 +20,32 @@ "devDependencies": { "@gnosis.pm/safe-contracts": "^1.3.0", "@nomicfoundation/hardhat-chai-matchers": "^1.0.6", - "@nomicfoundation/hardhat-network-helpers": "^1.0.8", + "@nomicfoundation/hardhat-network-helpers": "^1.0.9", "@nomicfoundation/hardhat-toolbox": "^2.0.2", "@nomiclabs/hardhat-ethers": "^2.2.3", "@nomiclabs/hardhat-etherscan": "^3.1.7", - "@typechain/ethers-v5": "^10.2.0", - "@typechain/hardhat": "^6.1.5", - "@types/mocha": "^10.0.1", - "chai": "^4.3.7", - "eslint": "^8.39.0", + "@typechain/ethers-v5": "^11.1.2", + "@typechain/hardhat": "^9.1.0", + "@types/mocha": "^10.0.3", + "chai": "^4.3.10", + "eslint": "^8.52.0", "ethers": "^5.7.2", - "hardhat": "^2.14.0", - "hardhat-contract-sizer": "^2.8.0", - "hardhat-deploy": "^0.11.26", + "hardhat": "^2.18.2", + "hardhat-contract-sizer": "^2.10.0", + "hardhat-deploy": "^0.11.43", "hardhat-deploy-ethers": "^0.3.0-beta.13", "hardhat-gas-reporter": "^1.0.9", - "hardhat-tracer": "^2.2.2", - "solidity-coverage": "^0.8.2" + "hardhat-tracer": "^2.6.0", + "solidity-coverage": "^0.8.5" }, "dependencies": { "@anders-t/ethers-ledger": "^1.0.4", - "@ethersproject/contracts": "^5.6.2", - "@ethersproject/providers": "^5.6.8", - "@ethersproject/solidity": "^5.6.1", - "@ethersproject/wallet": "^5.6.2", - "eth-permit": "^0.2.1", - "ethereum-sources-downloader": "^0.1.19", - "solhint": "^3.4.0" + "@ethersproject/contracts": "^5.7.0", + "@ethersproject/providers": "^5.7.2", + "@ethersproject/solidity": "^5.7.0", + "@ethersproject/wallet": "^5.7.0", + "eth-permit": "^0.2.3", + "ethereum-sources-downloader": "^0.1.21", + "solhint": "^3.6.2" } } diff --git a/test/ServiceStaking.js b/test/ServiceStaking.js index edd3282c..3b0a93e4 100644 --- a/test/ServiceStaking.js +++ b/test/ServiceStaking.js @@ -587,6 +587,71 @@ describe("ServiceStakingNativeToken", function () { // The multisig balance before and after unstake must be the same (zero reward) expect(balanceBefore).to.equal(balanceAfter); + // Check the final serviceIds set to be empty + const serviceIds = await serviceStaking.getServiceIds(); + expect(serviceIds.length).to.equal(0); + + // Restore a previous state of blockchain + snapshot.restore(); + }); + + it("Stake and unstake right away without any service activity for two services", async function () { + // Take a snapshot of the current state of the blockchain + const snapshot = await helpers.takeSnapshot(); + + // Deposit to the contract + await deployer.sendTransaction({to: serviceStaking.address, value: ethers.utils.parseEther("1")}); + + // Approve services + await serviceRegistry.approve(serviceStaking.address, serviceId); + await serviceRegistry.approve(serviceStaking.address, serviceId + 1); + + // Stake services + await serviceStaking.stake(serviceId); + await serviceStaking.stake(serviceId + 1); + + // Call the checkpoint to make sure the rewards logic is not hit + await serviceStaking.checkpoint(); + + // Get the next checkpoint timestamp and compare with the next reward timestamp + const tsNext = Number(await serviceStaking.getNextRewardCheckpointTimestamp()); + const tsLast = Number(await serviceStaking.tsCheckpoint()); + const livenessPeriod = Number(await serviceStaking.livenessPeriod()); + expect(tsNext - tsLast).to.equal(livenessPeriod); + + // Calculate service staking reward that must be zero + let reward = await serviceStaking.calculateServiceStakingReward(serviceId); + expect(reward).to.equal(0); + reward = await serviceStaking.calculateServiceStakingReward(serviceId + 1); + expect(reward).to.equal(0); + + // Get the service multisig contract + let service = await serviceRegistry.getService(serviceId); + let multisig = await ethers.getContractAt("GnosisSafe", service.multisig); + + // Unstake services + let balanceBefore = await ethers.provider.getBalance(multisig.address); + await serviceStaking.unstake(serviceId); + let balanceAfter = await ethers.provider.getBalance(multisig.address); + + // The multisig balance before and after unstake must be the same (zero reward) + expect(balanceBefore).to.equal(balanceAfter); + + // Get the service multisig contract + service = await serviceRegistry.getService(serviceId + 1); + multisig = await ethers.getContractAt("GnosisSafe", service.multisig); + + balanceBefore = await ethers.provider.getBalance(multisig.address); + await serviceStaking.unstake(serviceId + 1); + balanceAfter = await ethers.provider.getBalance(multisig.address); + + // The multisig balance before and after unstake must be the same (zero reward) + expect(balanceBefore).to.equal(balanceAfter); + + // Check the final serviceIds set to be empty + const serviceIds = await serviceStaking.getServiceIds(); + expect(serviceIds.length).to.equal(0); + // Restore a previous state of blockchain snapshot.restore(); }); @@ -641,6 +706,10 @@ describe("ServiceStakingNativeToken", function () { // The balance before and after the unstake call must be different expect(balanceAfter).to.gt(balanceBefore); + // Check the final serviceIds set to be empty + const serviceIds = await serviceStaking.getServiceIds(); + expect(serviceIds.length).to.equal(0); + // Restore a previous state of blockchain snapshot.restore(); }); @@ -712,6 +781,10 @@ describe("ServiceStakingNativeToken", function () { // The balance before and after the unstake call must be different expect(balanceAfter.gt(balanceBefore)); + // Check the final serviceIds set to be empty + const serviceIds = await serviceStaking.getServiceIds(); + expect(serviceIds.length).to.equal(0); + // Restore a previous state of blockchain snapshot.restore(); }); @@ -762,6 +835,10 @@ describe("ServiceStakingNativeToken", function () { // The balance before and after the unstake call must be different expect(balanceAfter).to.gt(balanceBefore); + // Check the final serviceIds set to be empty + const serviceIds = await serviceStaking.getServiceIds(); + expect(serviceIds.length).to.equal(0); + // Restore a previous state of blockchain snapshot.restore(); }); @@ -816,6 +893,10 @@ describe("ServiceStakingNativeToken", function () { // The balance before and after the unstake call must be different expect(balanceAfter).to.gt(balanceBefore); + // Check the final serviceIds set to be empty + const serviceIds = await serviceStaking.getServiceIds(); + expect(serviceIds.length).to.equal(0); + // Restore a previous state of blockchain snapshot.restore(); }); @@ -907,6 +988,10 @@ describe("ServiceStakingNativeToken", function () { } } + // Check the final serviceIds set to be empty + const serviceIds = await serviceStaking.getServiceIds(); + expect(serviceIds.length).to.equal(0); + // Restore a previous state of blockchain snapshot.restore(); }); @@ -976,6 +1061,10 @@ describe("ServiceStakingNativeToken", function () { // The balance before and after the unstake call must be different expect(balanceAfter).to.gt(balanceBefore); + // Check the final serviceIds set to be empty + const serviceIds = await serviceStaking.getServiceIds(); + expect(serviceIds.length).to.equal(0); + // Restore a previous state of blockchain snapshot.restore(); }); @@ -1031,6 +1120,10 @@ describe("ServiceStakingNativeToken", function () { // The multisig balance before and after unstake must be the same (zero reward) expect(balanceBefore).to.equal(balanceAfter); + // Check the final serviceIds set to be empty + const serviceIds = await serviceStakingMechUsage.getServiceIds(); + expect(serviceIds.length).to.equal(0); + // Restore a previous state of blockchain snapshot.restore(); }); @@ -1074,6 +1167,10 @@ describe("ServiceStakingNativeToken", function () { // The multisig balance before and after unstake must be the same (zero reward) expect(balanceBefore).to.equal(balanceAfter); + // Check the final serviceIds set to be empty + const serviceIds = await serviceStakingMechUsage.getServiceIds(); + expect(serviceIds.length).to.equal(0); + // Restore a previous state of blockchain snapshot.restore(); }); @@ -1134,6 +1231,10 @@ describe("ServiceStakingNativeToken", function () { // The balance before and after the unstake call must be different expect(balanceAfter).to.gt(balanceBefore); + // Check the final serviceIds set to be empty + const serviceIds = await serviceStakingMechUsage.getServiceIds(); + expect(serviceIds.length).to.equal(0); + // Restore a previous state of blockchain snapshot.restore(); }); @@ -1211,6 +1312,10 @@ describe("ServiceStakingNativeToken", function () { // The balance before and after the unstake call must be different expect(balanceAfter.gt(balanceBefore)); + // Check the final serviceIds set to be empty + const serviceIds = await serviceStakingTokenMechUsage.getServiceIds(); + expect(serviceIds.length).to.equal(0); + // Restore a previous state of blockchain snapshot.restore(); }); diff --git a/yarn.lock b/yarn.lock index d9194598..db5aa60a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,31 +17,31 @@ ethers "^5.5.4" "@babel/code-frame@^7.0.0": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.10.tgz#1c20e612b768fefa75f6e90d6ecb86329247f0a3" - integrity sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA== + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== dependencies: - "@babel/highlight" "^7.22.10" + "@babel/highlight" "^7.22.13" chalk "^2.4.2" -"@babel/helper-validator-identifier@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" - integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== -"@babel/highlight@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.10.tgz#02a3f6d8c1cb4521b2fd0ab0da8f4739936137d7" - integrity sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ== +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== dependencies: - "@babel/helper-validator-identifier" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" chalk "^2.4.2" js-tokens "^4.0.0" "@babel/runtime@^7.12.5": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.10.tgz#ae3e9631fd947cb7e3610d3e9d8fef5f76696682" - integrity sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== dependencies: regenerator-runtime "^0.14.0" @@ -94,9 +94,9 @@ eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.6.1": - version "4.6.2" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8" - integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw== + version "4.9.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.9.1.tgz#449dfa81a57a1d755b09aa58d826c1262e4283b4" + integrity sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA== "@eslint/eslintrc@^2.1.2": version "2.1.2" @@ -113,10 +113,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@^8.47.0": - version "8.47.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d" - integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og== +"@eslint/js@8.52.0": + version "8.52.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.52.0.tgz#78fe5f117840f69dc4a353adf9b9cd926353378c" + integrity sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA== "@ethereumjs/rlp@^4.0.1": version "4.0.1" @@ -132,7 +132,7 @@ ethereum-cryptography "^2.0.0" micro-ftch "^0.3.1" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.0-beta.146", "@ethersproject/abi@^5.0.9", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.7.0": +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.9", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -220,7 +220,7 @@ dependencies: "@ethersproject/bignumber" "^5.7.0" -"@ethersproject/contracts@5.7.0", "@ethersproject/contracts@^5.6.2", "@ethersproject/contracts@^5.7.0": +"@ethersproject/contracts@5.7.0", "@ethersproject/contracts@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== @@ -323,7 +323,7 @@ dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.6.8", "@ethersproject/providers@^5.7.1", "@ethersproject/providers@^5.7.2": +"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.7.1", "@ethersproject/providers@^5.7.2": version "5.7.2" resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== @@ -386,7 +386,7 @@ elliptic "6.5.4" hash.js "1.1.7" -"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.6.1", "@ethersproject/solidity@^5.7.0": +"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== @@ -431,7 +431,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.6.2", "@ethersproject/wallet@^5.7.0": +"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== @@ -474,17 +474,22 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" +"@fastify/busboy@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.0.0.tgz#f22824caff3ae506b18207bad4126dbc6ccdb6b8" + integrity sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ== + "@gnosis.pm/safe-contracts@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@gnosis.pm/safe-contracts/-/safe-contracts-1.3.0.tgz#316741a7690d8751a1f701538cfc9ec80866eedc" integrity sha512-1p+1HwGvxGUVzVkFjNzglwHrLNA67U/axP0Ct85FzzH8yhGJb4t9jDjPYocVMzLorDoWAfKicGy1akPY9jXRVw== -"@humanwhocodes/config-array@^0.11.10": - version "0.11.10" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" - integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== +"@humanwhocodes/config-array@^0.11.13": + version "0.11.13" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" + integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== dependencies: - "@humanwhocodes/object-schema" "^1.2.1" + "@humanwhocodes/object-schema" "^2.0.1" debug "^4.1.1" minimatch "^3.0.5" @@ -493,15 +498,15 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@humanwhocodes/object-schema@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" + integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== -"@ledgerhq/cryptoassets@^9.11.1": - version "9.11.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/cryptoassets/-/cryptoassets-9.11.1.tgz#99d31fe86a0af643a2ffb3b58747fdd927aa69e5" - integrity sha512-lDaFdkJdRyIz5fkofQ47G6w2VBHCjR9eBBoHMtOVECnSaDTg/OTmUW6lVYJTZI2LG9/dDp/NR7ZVMMSNa8caUg== +"@ledgerhq/cryptoassets@^11.0.1": + version "11.0.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/cryptoassets/-/cryptoassets-11.0.1.tgz#3cac2efb11db025c525fd2bd28b7aa541fa068e5" + integrity sha512-VhSA1ydoTnNjoC5c+S/a+YURJV+UNvuLVkRrKpP87zaQ2a+odPkP3EVDrU+G1Dvt/LipA24ZgcpoxXTbO6fQ9Q== dependencies: invariant "2" @@ -515,15 +520,15 @@ rxjs "6" semver "^7.3.5" -"@ledgerhq/domain-service@^1.1.8": - version "1.1.8" - resolved "https://registry.yarnpkg.com/@ledgerhq/domain-service/-/domain-service-1.1.8.tgz#7d281711f317afef2e43e5438b77f2d0b1e803d2" - integrity sha512-hdu/PwhGxwQnlz9to0zZ+Vuflsx0vGyX9dEYWWKVdkp4eMfT1kNGImB6CGJTCbimsfDe0iQ+z/i8K9cxUpyq9Q== +"@ledgerhq/domain-service@^1.1.13": + version "1.1.13" + resolved "https://registry.yarnpkg.com/@ledgerhq/domain-service/-/domain-service-1.1.13.tgz#e12be51cf677da455d63052891e5bdaca2755779" + integrity sha512-8XQl4glEfNyX4BkNhuwe69mzn1VIasWFoKlgXIXf6gc8Rw1Qzcn0LE+/3DBxZ3pC3IWiBnm7MmXMrIaSLjnPNQ== dependencies: - "@ledgerhq/cryptoassets" "^9.11.1" + "@ledgerhq/cryptoassets" "^11.0.1" "@ledgerhq/errors" "^6.14.0" "@ledgerhq/logs" "^6.10.1" - "@ledgerhq/types-live" "^6.38.1" + "@ledgerhq/types-live" "^6.41.1" axios "^1.3.4" eip55 "^2.1.1" react "^17.0.2" @@ -534,34 +539,34 @@ resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.14.0.tgz#0bf253983773ef12eebce2091f463bc719223b37" integrity sha512-ZWJw2Ti6Dq1Ott/+qYqJdDWeZm16qI3VNG5rFlb0TQ3UcAyLIQZbnnzzdcVVwVeZiEp66WIpINd/pBdqsHVyOA== -"@ledgerhq/evm-tools@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@ledgerhq/evm-tools/-/evm-tools-1.0.4.tgz#b1c00f4dcecbf4d12a72800e0016d546721ef34a" - integrity sha512-XgeKD8qlkltLcx56IBxeX71I8ktLTGsrZsG7omQtXGyJ/E8qyqPnhj/c0VvnMq0DfgBqjXFUfLjo8qlmkoQZoQ== +"@ledgerhq/evm-tools@^1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@ledgerhq/evm-tools/-/evm-tools-1.0.9.tgz#fb3f99bf7e9648a7ff4f355e0f26b2d1bd29acd9" + integrity sha512-yfNFGRDH+D59tZcR/iGBaW5RxKoPglRAolSUVJT+c+YN5DXRdS8yz+WrlhLrusoR4JHpfA3trBfw5KUrBrHY7g== dependencies: - "@ledgerhq/cryptoassets" "^9.11.1" - "@ledgerhq/live-env" "^0.4.2" - "@ledgerhq/live-network" "^1.1.5" + "@ledgerhq/cryptoassets" "^11.0.1" + "@ledgerhq/live-env" "^0.6.0" + "@ledgerhq/live-network" "^1.1.7" crypto-js "4.1.1" ethers "5.7.2" "@ledgerhq/hw-app-eth@^6.24.0": - version "6.34.3" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-eth/-/hw-app-eth-6.34.3.tgz#f5d7d8be4cc211f2512bcfad8631e0eda9ad6f47" - integrity sha512-0TOO2FuWSzoIrkS1++w7EJa/YDxh1+SFAWkXNVwEe1BWB0gD7RgquE3+akL7+stIFxoUpQCrLTZSdmFfqy6j7Q== + version "6.34.8" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-eth/-/hw-app-eth-6.34.8.tgz#f2e1229307ded234d2cc02e00a7effb9f4b1e721" + integrity sha512-sFYRGO7kgiTlgCRPdHJsF69s75TQz3Idi2YGn7eWhM/yxSJiAE1Kt/OLOW2ej68U/mfxI5pDIK8f8AZuK+8RFg== dependencies: "@ethersproject/abi" "^5.5.0" "@ethersproject/rlp" "^5.5.0" - "@ledgerhq/cryptoassets" "^9.11.1" - "@ledgerhq/domain-service" "^1.1.8" + "@ledgerhq/cryptoassets" "^11.0.1" + "@ledgerhq/domain-service" "^1.1.13" "@ledgerhq/errors" "^6.14.0" - "@ledgerhq/evm-tools" "^1.0.4" + "@ledgerhq/evm-tools" "^1.0.9" "@ledgerhq/hw-transport" "^6.28.8" "@ledgerhq/hw-transport-mocker" "^6.27.19" "@ledgerhq/logs" "^6.10.1" - "@ledgerhq/types-live" "^6.38.1" + "@ledgerhq/types-live" "^6.41.1" axios "^1.3.4" - bignumber.js "^9.1.1" + bignumber.js "^9.1.2" "@ledgerhq/hw-transport-mocker@^6.27.19": version "6.27.19" @@ -605,22 +610,21 @@ "@ledgerhq/errors" "^6.14.0" events "^3.3.0" -"@ledgerhq/live-env@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@ledgerhq/live-env/-/live-env-0.4.2.tgz#6d2d5b0f99f55abe9645ee9bcea7e7e8f5842789" - integrity sha512-AZTUeHbxhuS225DXXtYhEjv9Bfa5X9QxSTEPDM6wOqU5zCtHO0i4jVUV9T6AjQsm6kjEVOMLmGFNp77p69xytw== +"@ledgerhq/live-env@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/live-env/-/live-env-0.6.0.tgz#fc4770fe8041cd7f4ba95d56deb9075ac0d89de1" + integrity sha512-wWlatg4OT0p2jCmUERBtI6dduSe4BIZiSUuh1uSjQpbnTTPoMVHNjn4U7A4Ns1+Zz5TkmDwXS8yE523cRjjVrg== dependencies: - lodash "^4.17.21" rxjs "^6.6.7" utility-types "^3.10.0" -"@ledgerhq/live-network@^1.1.5": - version "1.1.5" - resolved "https://registry.yarnpkg.com/@ledgerhq/live-network/-/live-network-1.1.5.tgz#9170e202819913f808c8111bc47f7ee4c6177289" - integrity sha512-tVE4MBPRr+ZGgNDlpiYQZXflbOrUNPb6KqD3lP/9IhjvC4S8SwSc+96ggENybYBz0zztlvZa96YzyRZOBbtKQg== +"@ledgerhq/live-network@^1.1.7": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@ledgerhq/live-network/-/live-network-1.1.7.tgz#4838e9858489212ff68248e11c6bf7fd77554957" + integrity sha512-OneMFcGRc5DbHWSNG41kfY/81Lm78IxJScIufGMW6beb0Sp6SmlHqkfjwrPLtp1GeHrJ2SqaXAvWROV/AexhUg== dependencies: "@ledgerhq/errors" "^6.14.0" - "@ledgerhq/live-env" "^0.4.2" + "@ledgerhq/live-env" "^0.6.0" "@ledgerhq/live-promise" "^0.0.1" "@ledgerhq/logs" "^6.10.1" "@types/node" "^20.2.5" @@ -640,12 +644,12 @@ resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-6.10.1.tgz#5bd16082261d7364eabb511c788f00937dac588d" integrity sha512-z+ILK8Q3y+nfUl43ctCPuR4Y2bIxk/ooCQFwZxhtci1EhAtMDzMAx2W25qx8G1PPL9UUOdnUax19+F0OjXoj4w== -"@ledgerhq/types-live@^6.38.1": - version "6.38.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/types-live/-/types-live-6.38.1.tgz#983392145a7924e2c3bbae3d9de3cc1d3c13ef38" - integrity sha512-XdUB0+YWp8y0m2uSmk+uLnxWNrLJ6/O/V8DUalrzFa46ttOUBzVfHg8mAJgJRnGxZnx1FvFA0Xs2RsurRGE+PA== +"@ledgerhq/types-live@^6.41.1": + version "6.41.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/types-live/-/types-live-6.41.1.tgz#734e2e853400715a9fad705ba22413b846f7fcd3" + integrity sha512-M9NcGlpyW7383HZ+Wcl+vVj07fKlBLQT29wrrPTW9raj2iq0fzyAaxSQPs0VKX6LghLQSmXG2EdcvQ9v5FakgA== dependencies: - bignumber.js "^9.1.1" + bignumber.js "^9.1.2" rxjs "6" "@metamask/eth-sig-util@^4.0.0": @@ -671,11 +675,16 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== -"@noble/hashes@1.3.1", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.1": +"@noble/hashes@1.3.1": version "1.3.1" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== +"@noble/hashes@~1.3.0", "@noble/hashes@~1.3.1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + "@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": version "1.7.1" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" @@ -702,31 +711,31 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@nomicfoundation/ethereumjs-block@5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-5.0.1.tgz#6f89664f55febbd723195b6d0974773d29ee133d" - integrity sha512-u1Yioemi6Ckj3xspygu/SfFvm8vZEO8/Yx5a1QLzi6nVU0jz3Pg2OmHKJ5w+D9Ogk1vhwRiqEBAqcb0GVhCyHw== - dependencies: - "@nomicfoundation/ethereumjs-common" "4.0.1" - "@nomicfoundation/ethereumjs-rlp" "5.0.1" - "@nomicfoundation/ethereumjs-trie" "6.0.1" - "@nomicfoundation/ethereumjs-tx" "5.0.1" - "@nomicfoundation/ethereumjs-util" "9.0.1" +"@nomicfoundation/ethereumjs-block@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-5.0.2.tgz#13a7968f5964f1697da941281b7f7943b0465d04" + integrity sha512-hSe6CuHI4SsSiWWjHDIzWhSiAVpzMUcDRpWYzN0T9l8/Rz7xNn3elwVOJ/tAyS0LqL6vitUD78Uk7lQDXZun7Q== + dependencies: + "@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" -"@nomicfoundation/ethereumjs-blockchain@7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-7.0.1.tgz#80e0bd3535bfeb9baa29836b6f25123dab06a726" - integrity sha512-NhzndlGg829XXbqJEYrF1VeZhAwSPgsK/OB7TVrdzft3y918hW5KNd7gIZ85sn6peDZOdjBsAXIpXZ38oBYE5A== - dependencies: - "@nomicfoundation/ethereumjs-block" "5.0.1" - "@nomicfoundation/ethereumjs-common" "4.0.1" - "@nomicfoundation/ethereumjs-ethash" "3.0.1" - "@nomicfoundation/ethereumjs-rlp" "5.0.1" - "@nomicfoundation/ethereumjs-trie" "6.0.1" - "@nomicfoundation/ethereumjs-tx" "5.0.1" - "@nomicfoundation/ethereumjs-util" "9.0.1" +"@nomicfoundation/ethereumjs-blockchain@7.0.2": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-7.0.2.tgz#45323b673b3d2fab6b5008535340d1b8fea7d446" + integrity sha512-8UUsSXJs+MFfIIAKdh3cG16iNmWzWC/91P40sazNvrqhhdR/RtGDlFk2iFTGbBAZPs2+klZVzhRX8m2wvuvz3w== + 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" @@ -734,103 +743,103 @@ lru-cache "^5.1.1" memory-level "^1.0.0" -"@nomicfoundation/ethereumjs-common@4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.1.tgz#4702d82df35b07b5407583b54a45bf728e46a2f0" - integrity sha512-OBErlkfp54GpeiE06brBW/TTbtbuBJV5YI5Nz/aB2evTDo+KawyEzPjBlSr84z/8MFfj8wS2wxzQX1o32cev5g== +"@nomicfoundation/ethereumjs-common@4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.2.tgz#a15d1651ca36757588fdaf2a7d381a150662a3c3" + integrity sha512-I2WGP3HMGsOoycSdOTSqIaES0ughQTueOsddJ36aYVpI3SN8YSusgRFLwzDJwRFVIYDKx/iJz0sQ5kBHVgdDwg== dependencies: - "@nomicfoundation/ethereumjs-util" "9.0.1" + "@nomicfoundation/ethereumjs-util" "9.0.2" crc-32 "^1.2.0" -"@nomicfoundation/ethereumjs-ethash@3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-3.0.1.tgz#65ca494d53e71e8415c9a49ef48bc921c538fc41" - integrity sha512-KDjGIB5igzWOp8Ik5I6QiRH5DH+XgILlplsHR7TEuWANZA759G6krQ6o8bvj+tRUz08YygMQu/sGd9mJ1DYT8w== +"@nomicfoundation/ethereumjs-ethash@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-3.0.2.tgz#da77147f806401ee996bfddfa6487500118addca" + integrity sha512-8PfoOQCcIcO9Pylq0Buijuq/O73tmMVURK0OqdjhwqcGHYC2PwhbajDh7GZ55ekB0Px197ajK3PQhpKoiI/UPg== dependencies: - "@nomicfoundation/ethereumjs-block" "5.0.1" - "@nomicfoundation/ethereumjs-rlp" "5.0.1" - "@nomicfoundation/ethereumjs-util" "9.0.1" + "@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" -"@nomicfoundation/ethereumjs-evm@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-2.0.1.tgz#f35681e203363f69ce2b3d3bf9f44d4e883ca1f1" - integrity sha512-oL8vJcnk0Bx/onl+TgQOQ1t/534GKFaEG17fZmwtPFeH8S5soiBYPCLUrvANOl4sCp9elYxIMzIiTtMtNNN8EQ== +"@nomicfoundation/ethereumjs-evm@2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-2.0.2.tgz#4c2f4b84c056047102a4fa41c127454e3f0cfcf6" + integrity sha512-rBLcUaUfANJxyOx9HIdMX6uXGin6lANCulIm/pjMgRqfiCRMZie3WKYxTSd8ZE/d+qT+zTedBF4+VHTdTSePmQ== dependencies: "@ethersproject/providers" "^5.7.1" - "@nomicfoundation/ethereumjs-common" "4.0.1" - "@nomicfoundation/ethereumjs-tx" "5.0.1" - "@nomicfoundation/ethereumjs-util" "9.0.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" mcl-wasm "^0.7.1" rustbn.js "~0.2.0" -"@nomicfoundation/ethereumjs-rlp@5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.1.tgz#0b30c1cf77d125d390408e391c4bb5291ef43c28" - integrity sha512-xtxrMGa8kP4zF5ApBQBtjlSbN5E2HI8m8FYgVSYAnO6ssUoY5pVPGy2H8+xdf/bmMa22Ce8nWMH3aEW8CcqMeQ== +"@nomicfoundation/ethereumjs-rlp@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.2.tgz#4fee8dc58a53ac6ae87fb1fca7c15dc06c6b5dea" + integrity sha512-QwmemBc+MMsHJ1P1QvPl8R8p2aPvvVcKBbvHnQOKBpBztEo0omN0eaob6FeZS/e3y9NSe+mfu3nNFBHszqkjTA== -"@nomicfoundation/ethereumjs-statemanager@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-2.0.1.tgz#8824a97938db4471911e2d2f140f79195def5935" - integrity sha512-B5ApMOnlruVOR7gisBaYwFX+L/AP7i/2oAahatssjPIBVDF6wTX1K7Qpa39E/nzsH8iYuL3krkYeUFIdO3EMUQ== +"@nomicfoundation/ethereumjs-statemanager@2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-2.0.2.tgz#3ba4253b29b1211cafe4f9265fee5a0d780976e0" + integrity sha512-dlKy5dIXLuDubx8Z74sipciZnJTRSV/uHG48RSijhgm1V7eXYFC567xgKtsKiVZB1ViTP9iFL4B6Je0xD6X2OA== dependencies: - "@nomicfoundation/ethereumjs-common" "4.0.1" - "@nomicfoundation/ethereumjs-rlp" "5.0.1" + "@nomicfoundation/ethereumjs-common" "4.0.2" + "@nomicfoundation/ethereumjs-rlp" "5.0.2" debug "^4.3.3" ethereum-cryptography "0.1.3" ethers "^5.7.1" js-sdsl "^4.1.4" -"@nomicfoundation/ethereumjs-trie@6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-6.0.1.tgz#662c55f6b50659fd4b22ea9f806a7401cafb7717" - integrity sha512-A64It/IMpDVODzCgxDgAAla8jNjNtsoQZIzZUfIV5AY6Coi4nvn7+VReBn5itlxMiL2yaTlQr9TRWp3CSI6VoA== +"@nomicfoundation/ethereumjs-trie@6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-6.0.2.tgz#9a6dbd28482dca1bc162d12b3733acab8cd12835" + integrity sha512-yw8vg9hBeLYk4YNg5MrSJ5H55TLOv2FSWUTROtDtTMMmDGROsAu+0tBjiNGTnKRi400M6cEzoFfa89Fc5k8NTQ== dependencies: - "@nomicfoundation/ethereumjs-rlp" "5.0.1" - "@nomicfoundation/ethereumjs-util" "9.0.1" + "@nomicfoundation/ethereumjs-rlp" "5.0.2" + "@nomicfoundation/ethereumjs-util" "9.0.2" "@types/readable-stream" "^2.3.13" ethereum-cryptography "0.1.3" readable-stream "^3.6.0" -"@nomicfoundation/ethereumjs-tx@5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.1.tgz#7629dc2036b4a33c34e9f0a592b43227ef4f0c7d" - integrity sha512-0HwxUF2u2hrsIM1fsasjXvlbDOq1ZHFV2dd1yGq8CA+MEYhaxZr8OTScpVkkxqMwBcc5y83FyPl0J9MZn3kY0w== +"@nomicfoundation/ethereumjs-tx@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.2.tgz#117813b69c0fdc14dd0446698a64be6df71d7e56" + integrity sha512-T+l4/MmTp7VhJeNloMkM+lPU3YMUaXdcXgTGCf8+ZFvV9NYZTRLFekRwlG6/JMmVfIfbrW+dRRJ9A6H5Q/Z64g== dependencies: "@chainsafe/ssz" "^0.9.2" "@ethersproject/providers" "^5.7.2" - "@nomicfoundation/ethereumjs-common" "4.0.1" - "@nomicfoundation/ethereumjs-rlp" "5.0.1" - "@nomicfoundation/ethereumjs-util" "9.0.1" + "@nomicfoundation/ethereumjs-common" "4.0.2" + "@nomicfoundation/ethereumjs-rlp" "5.0.2" + "@nomicfoundation/ethereumjs-util" "9.0.2" ethereum-cryptography "0.1.3" -"@nomicfoundation/ethereumjs-util@9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.1.tgz#530cda8bae33f8b5020a8f199ed1d0a2ce48ec89" - integrity sha512-TwbhOWQ8QoSCFhV/DDfSmyfFIHjPjFBj957219+V3jTZYZ2rf9PmDtNOeZWAE3p3vlp8xb02XGpd0v6nTUPbsA== +"@nomicfoundation/ethereumjs-util@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.2.tgz#16bdc1bb36f333b8a3559bbb4b17dac805ce904d" + integrity sha512-4Wu9D3LykbSBWZo8nJCnzVIYGvGCuyiYLIJa9XXNVt1q1jUzHdB+sJvx95VGCpPkCT+IbLecW6yfzy3E1bQrwQ== dependencies: "@chainsafe/ssz" "^0.10.0" - "@nomicfoundation/ethereumjs-rlp" "5.0.1" + "@nomicfoundation/ethereumjs-rlp" "5.0.2" ethereum-cryptography "0.1.3" -"@nomicfoundation/ethereumjs-vm@7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-7.0.1.tgz#7d035e0993bcad10716c8b36e61dfb87fa3ca05f" - integrity sha512-rArhyn0jPsS/D+ApFsz3yVJMQ29+pVzNZ0VJgkzAZ+7FqXSRtThl1C1prhmlVr3YNUlfpZ69Ak+RUT4g7VoOuQ== - dependencies: - "@nomicfoundation/ethereumjs-block" "5.0.1" - "@nomicfoundation/ethereumjs-blockchain" "7.0.1" - "@nomicfoundation/ethereumjs-common" "4.0.1" - "@nomicfoundation/ethereumjs-evm" "2.0.1" - "@nomicfoundation/ethereumjs-rlp" "5.0.1" - "@nomicfoundation/ethereumjs-statemanager" "2.0.1" - "@nomicfoundation/ethereumjs-trie" "6.0.1" - "@nomicfoundation/ethereumjs-tx" "5.0.1" - "@nomicfoundation/ethereumjs-util" "9.0.1" +"@nomicfoundation/ethereumjs-vm@7.0.2": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-7.0.2.tgz#3b0852cb3584df0e18c182d0672a3596c9ca95e6" + integrity sha512-Bj3KZT64j54Tcwr7Qm/0jkeZXJMfdcAtRBedou+Hx0dPOSIgqaIr0vvLwP65TpHbak2DmAq+KJbW2KNtIoFwvA== + 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" mcl-wasm "^0.7.1" @@ -847,10 +856,10 @@ deep-eql "^4.0.1" ordinal "^1.0.3" -"@nomicfoundation/hardhat-network-helpers@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.8.tgz#e4fe1be93e8a65508c46d73c41fa26c7e9f84931" - integrity sha512-MNqQbzUJZnCMIYvlniC3U+kcavz/PhhQSsY90tbEtUyMj/IQqsLwIRZa4ctjABh3Bz0KCh9OXUZ7Yk/d9hr45Q== +"@nomicfoundation/hardhat-network-helpers@^1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.9.tgz#767449e8a2acda79306ac84626117583d95d25aa" + integrity sha512-OXWCv0cHpwLUO2u7bFxBna6dQtCC2Gg/aN/KtJLO7gmuuA28vgmVKYFRCDUqrbjujzgfwQ2aKyZ9Y3vSmDqS7Q== dependencies: ethereumjs-util "^7.1.4" @@ -947,9 +956,9 @@ undici "^5.14.0" "@scure/base@~1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" - integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== + version "1.1.3" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" + integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== "@scure/bip32@1.1.5": version "1.1.5" @@ -1067,18 +1076,18 @@ dependencies: antlr4ts "^0.5.0-alpha.4" -"@typechain/ethers-v5@^10.2.0": - version "10.2.1" - resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-10.2.1.tgz#50241e6957683281ecfa03fb5a6724d8a3ce2391" - integrity sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A== +"@typechain/ethers-v5@^11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-11.1.2.tgz#82510c1744f37a2f906b9e0532ac18c0b74ffe69" + integrity sha512-ID6pqWkao54EuUQa0P5RgjvfA3MYqxUQKpbGKERbsjBW5Ra7EIXvbMlPp2pcP5IAdUkyMCFYsP2SN5q7mPdLDQ== dependencies: lodash "^4.17.15" ts-essentials "^7.0.1" -"@typechain/hardhat@^6.1.5": - version "6.1.6" - resolved "https://registry.yarnpkg.com/@typechain/hardhat/-/hardhat-6.1.6.tgz#1a749eb35e5054c80df531cf440819cb347c62ea" - integrity sha512-BiVnegSs+ZHVymyidtK472syodx1sXYlYJJixZfRstHVGYTi8V1O7QG4nsjyb0PC/LORcq7sfBUcHto1y6UgJA== +"@typechain/hardhat@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@typechain/hardhat/-/hardhat-9.1.0.tgz#6985015f01dfb37ef2ca8a29c742d05890351ddc" + integrity sha512-mtaUlzLlkqTlfPwB3FORdejqBskSnh+Jl8AIJGjXNAQfRQ4ofHADPl1+oU7Z3pAJzmZbUXII8MhOLQltcHgKnA== dependencies: fs-extra "^9.1.0" @@ -1090,23 +1099,23 @@ "@types/node" "*" "@types/bn.js@^5.1.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" - integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== + version "5.1.3" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.3.tgz#0857f00da3bf888a26a44b4a477c7819b17dacc5" + integrity sha512-wT1B4iIO82ecXkdN6waCK8Ou7E71WU+mP1osDA5Q8c6Ur+ozU2vIKUIhSpUr6uE5L2YHocKS1Z2jG2fBC1YVeg== dependencies: "@types/node" "*" "@types/chai-as-promised@^7.1.3": - version "7.1.5" - resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz#6e016811f6c7a64f2eed823191c3a6955094e255" - integrity sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ== + version "7.1.7" + resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.7.tgz#fd16a981ba9542c83d4e1d2f40c7899aae82aa38" + integrity sha512-APucaP5rlmTRYKtRA6FE5QPP87x76ejw5t5guRJ4y5OgMnwtsvigw7HHhKZlx2MGXLeZd6R/GNZR/IqDHcbtQw== dependencies: "@types/chai" "*" "@types/chai@*": - version "4.3.5" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.5.tgz#ae69bcbb1bebb68c4ac0b11e9d8ed04526b3562b" - integrity sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng== + version "4.3.9" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.9.tgz#144d762491967db8c6dea38e03d2206c2623feec" + integrity sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg== "@types/concat-stream@^1.6.0": version "1.6.1" @@ -1140,15 +1149,17 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== -"@types/mocha@^10.0.1": - version "10.0.1" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" - integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== +"@types/mocha@^10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.3.tgz#4804fe9cd39da26eb62fa65c15ea77615a187812" + integrity sha512-RsOPImTriV/OE4A9qKjMtk2MnXiuLLbcO3nCXK+kvq4nr0iMfFgpjaX3MPLb6f7+EL1FGSelYvuJMV6REH+ZPQ== "@types/node@*", "@types/node@^20.2.5": - version "20.5.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.0.tgz#7fc8636d5f1aaa3b21e6245e97d56b7f56702313" - integrity sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q== + version "20.8.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.8.tgz#adee050b422061ad5255fc38ff71b2bb96ea2a0e" + integrity sha512-YRsdVxq6OaLfmR9Hy816IMp33xOBjfyOgUd77ehqg96CFywxAPbDbXvAsuN2KVg2HOT8Eh6uAfU+l4WffwPVrQ== + dependencies: + undici-types "~5.25.1" "@types/node@^10.0.3": version "10.17.60" @@ -1161,16 +1172,16 @@ integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== "@types/pbkdf2@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" - integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.1.tgz#c290c1f0d3dc364af94c2c5ee92046a13b7f89fd" + integrity sha512-4HCoGwR3221nOc7G0Z/6KgTNGgaaFGkbGrtUJsB+zlKX2LBVjFHHIUkieMBgHHXgBH5Gq6dZHJKdBYdtlhBQvw== dependencies: "@types/node" "*" "@types/qs@^6.2.31", "@types/qs@^6.9.7": - version "6.9.7" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + version "6.9.9" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.9.tgz#66f7b26288f6799d279edf13da7ccd40d2fa9197" + integrity sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg== "@types/readable-stream@^2.3.13": version "2.3.15" @@ -1181,16 +1192,21 @@ safe-buffer "~5.1.1" "@types/secp256k1@^4.0.1": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" - integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.5.tgz#14b1766b4fbc198b0af5599d9fd21c89056633ce" + integrity sha512-aIonTBMErtE3T9MxDvTZRzcrT/mCqpEZBw3CCY/i+oG9n57N/+7obBkhFgavUAIrX21bU0LHg1XRgtaLdelBhA== dependencies: "@types/node" "*" "@types/w3c-web-usb@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/w3c-web-usb/-/w3c-web-usb-1.0.6.tgz#5d8560d0d9f585ffc80865bc773db7bc975b680c" - integrity sha512-cSjhgrr8g4KbPnnijAr/KJDNKa/bBa+ixYkywFRvrhvi9n1WEl7yYbtRyzE6jqNQiSxxJxoAW3STaOQwJHndaw== + version "1.0.9" + resolved "https://registry.yarnpkg.com/@types/w3c-web-usb/-/w3c-web-usb-1.0.9.tgz#7e50f33dc3f75bf6a06bef9c924ae51213548346" + integrity sha512-6EIpb9g9k/SGu59mQ6RW3tedmabtE+N3iGRa98+1CCFuhGt565wLEYKXoEVKTuNrCr2SrgfvBMN5db6hggkzKQ== + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== abbrev@1: version "1.1.1" @@ -1255,7 +1271,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.6: +ajv@^6.12.4, ajv@^6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1280,11 +1296,6 @@ amdefine@>=0.0.4: resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== -ansi-colors@3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" - integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== - ansi-colors@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -1307,17 +1318,12 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== -ansi-regex@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" - integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -1332,16 +1338,16 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: color-convert "^2.0.1" antlr4@^4.11.0: - version "4.13.0" - resolved "https://registry.yarnpkg.com/antlr4/-/antlr4-4.13.0.tgz#25c0b17f0d9216de114303d38bafd6f181d5447f" - integrity sha512-zooUbt+UscjnWyOrsuY/tVFL4rwrAGwOivpQmvmUDE22hy/lUA467Rc1rcixyRwcRUIXFYBwv7+dClDSHdmmew== + version "4.13.1" + resolved "https://registry.yarnpkg.com/antlr4/-/antlr4-4.13.1.tgz#1e0a1830a08faeb86217cb2e6c34716004e4253d" + integrity sha512-kiXTspaRYvnIArgE97z5YVVf/cDVQABr3abFRR6mE7yesLMkgu4ujuyV/sgxafQ8wgve0DJQUJ38Z8tkgA2izA== antlr4ts@^0.5.0-alpha.4: version "0.5.0-alpha.4" resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== -anymatch@~3.1.1, anymatch@~3.1.2: +anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -1361,14 +1367,6 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -1379,46 +1377,11 @@ array-uniq@1.0.3: resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== -array.prototype.reduce@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz#6b20b0daa9d9734dd6bc7ea66b5bbce395471eac" - integrity sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" - -arraybuffer.prototype.slice@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz#9b5ea3868a6eebc30273da577eb888381c0044bb" - integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - asap@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - assertion-error@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" @@ -1449,21 +1412,6 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - axios@0.26.1: version "0.26.1" resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9" @@ -1478,10 +1426,10 @@ axios@^0.21.1: dependencies: follow-redirects "^1.14.0" -axios@^1.3.4: - version "1.4.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.4.0.tgz#38a7bf1224cd308de271146038b551d725f0be1f" - integrity sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA== +axios@^1.3.4, axios@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.5.1.tgz#11fbaa11fc35f431193a9564109c88c1f27b585f" + integrity sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A== dependencies: follow-redirects "^1.15.0" form-data "^4.0.0" @@ -1504,13 +1452,6 @@ base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - bech32@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" @@ -1521,10 +1462,10 @@ bigint-crypto-utils@^3.0.23: resolved "https://registry.yarnpkg.com/bigint-crypto-utils/-/bigint-crypto-utils-3.3.0.tgz#72ad00ae91062cf07f2b1def9594006c279c1d77" integrity sha512-jOTSb+drvEDxEq6OuUybOAv/xxoh3cuYRUIPyu8sSHQNKM303UQ2R1DAo45o1AkcIXw6fzbaFI1+xGGdaXs2lg== -bignumber.js@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" - integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== +bignumber.js@^9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" + integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== binary-extensions@^2.0.0: version "2.2.0" @@ -1663,36 +1604,25 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -busboy@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" - integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== - dependencies: - streamsearch "^1.1.0" - bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== +call-bind@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - camelcase@^6.0.0: version "6.3.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" @@ -1727,18 +1657,18 @@ chai-as-promised@^7.1.1: dependencies: check-error "^1.0.2" -chai@^4.3.7: - version "4.3.7" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51" - integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A== +chai@^4.3.10: + version "4.3.10" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.10.tgz#d784cec635e3b7e2ffb66446a63b4e33bd390384" + integrity sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== dependencies: assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^4.1.2" - get-func-name "^2.0.0" - loupe "^2.3.1" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" pathval "^1.1.1" - type-detect "^4.0.5" + type-detect "^4.0.8" chalk@^2.4.2: version "2.4.2" @@ -1762,25 +1692,12 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== - -chokidar@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" - integrity sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A== +check-error@^1.0.2, check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.2.0" - optionalDependencies: - fsevents "~2.1.1" + get-func-name "^2.0.2" chokidar@3.5.3, chokidar@^3.4.0, chokidar@^3.5.2: version "3.5.3" @@ -1850,15 +1767,6 @@ cli-table3@^0.6.0: optionalDependencies: "@colors/colors" "1.5.0" -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -1897,7 +1805,7 @@ colors@1.4.0, colors@^1.1.2: resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -1944,24 +1852,19 @@ cookie@^0.4.1: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^8.0.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd" - integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ== + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== dependencies: - import-fresh "^3.2.1" + import-fresh "^3.3.0" js-yaml "^4.1.0" - parse-json "^5.0.0" + parse-json "^5.2.0" path-type "^4.0.0" crc-32@^1.2.0: @@ -2011,25 +1914,11 @@ crypto-js@4.1.1: resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - death@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/death/-/death-1.1.0.tgz#01aa9c401edd92750514470b8266390c66c67318" integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== -debug@3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - debug@4, debug@4.3.4, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" @@ -2037,11 +1926,6 @@ debug@4, debug@4.3.4, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: dependencies: ms "2.1.2" -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - decamelize@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" @@ -2054,7 +1938,7 @@ decompress-response@^6.0.0: dependencies: mimic-response "^3.1.0" -deep-eql@^4.0.1, deep-eql@^4.1.2: +deep-eql@^4.0.1, deep-eql@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== @@ -2071,13 +1955,14 @@ deep-is@^0.1.3, deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== +define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" has-property-descriptors "^1.0.0" - object-keys "^1.1.1" delayed-stream@~1.0.0: version "1.0.0" @@ -2102,11 +1987,6 @@ detect-port@^1.3.0: address "^1.0.1" debug "4" -diff@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - diff@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" @@ -2133,14 +2013,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - eip55@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/eip55/-/eip55-2.1.1.tgz#28b743c4701ac3c811b1e9fe67e39cf1d0781b96" @@ -2161,11 +2033,6 @@ elliptic@6.5.4, elliptic@^6.5.2, elliptic@^6.5.4: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -2203,89 +2070,21 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2: - version "1.22.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.1.tgz#8b4e5fc5cefd7f1660f0f8e1a52900dfbc9d9ccc" - integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.1" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.1" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.10" - is-weakref "^1.0.2" - object-inspect "^1.12.3" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.0" - safe-array-concat "^1.0.0" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.10" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + escodegen@1.8.x: version "1.8.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" @@ -2311,18 +2110,19 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^8.39.0: - version "8.47.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.47.0.tgz#c95f9b935463fb4fad7005e626c7621052e90806" - integrity sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q== +eslint@^8.52.0: + version "8.52.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.52.0.tgz#d0cd4a1fac06427a61ef9242b9353f36ea7062fc" + integrity sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "^8.47.0" - "@humanwhocodes/config-array" "^0.11.10" + "@eslint/js" "8.52.0" + "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -2403,27 +2203,25 @@ esutils@^2.0.2: integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== eth-gas-reporter@^0.2.25: - version "0.2.25" - resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz#546dfa946c1acee93cb1a94c2a1162292d6ff566" - integrity sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ== + version "0.2.27" + resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz#928de8548a674ed64c7ba0bf5795e63079150d4e" + integrity sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw== dependencies: - "@ethersproject/abi" "^5.0.0-beta.146" "@solidity-parser/parser" "^0.14.0" + axios "^1.5.1" cli-table3 "^0.5.0" colors "1.4.0" ethereum-cryptography "^1.0.3" - ethers "^4.0.40" + ethers "^5.7.2" fs-readdir-recursive "^1.1.0" lodash "^4.17.14" markdown-table "^1.1.3" - mocha "^7.1.1" + mocha "^10.2.0" req-cwd "^2.0.0" - request "^2.88.0" - request-promise-native "^1.0.5" sha1 "^1.1.1" sync-request "^6.0.0" -eth-permit@^0.2.1: +eth-permit@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/eth-permit/-/eth-permit-0.2.3.tgz#7d8b051e329d2166fef32553ed397970d369cafe" integrity sha512-d4tbiRQgbpdeJbdC9hdyT0SUJcJx28FIy3o2RxEAoeYI+zyYbNC0ZpdE6kxBK+7iY2payjHRE7rs7tr5EcOVLg== @@ -2478,10 +2276,10 @@ ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2: "@scure/bip32" "1.3.1" "@scure/bip39" "1.2.1" -ethereum-sources-downloader@^0.1.19: - version "0.1.19" - resolved "https://registry.yarnpkg.com/ethereum-sources-downloader/-/ethereum-sources-downloader-0.1.19.tgz#3891350c500b89be759972f27cfc3f436e39d45e" - integrity sha512-pF64pn9blQKM7FbLTKuUP0a1segb3tlPIShQH6LFHT92eZoH9pNXLGUF7WHp5MBevbIhv42H6t8hwkj88jjsNQ== +ethereum-sources-downloader@^0.1.21: + version "0.1.21" + resolved "https://registry.yarnpkg.com/ethereum-sources-downloader/-/ethereum-sources-downloader-0.1.21.tgz#75e9a754a53b24049f6d928dda146a41025f5d39" + integrity sha512-TqQasycamN/ZcKLftPWslJ8Wt36wDM4mk34QTt00qhtNMEL9sipjCefQ0uZypSBm0eXFwcdtXNjIFPY06CGrjQ== dependencies: commander "^9.3.0" fast-json-stable-stringify "^2.1.0" @@ -2490,8 +2288,6 @@ ethereum-sources-downloader@^0.1.19: node-fetch "^2.6.1" p-finally "^2.0.1" path-browserify "^1.0.1" - prettier "^2.8.8" - prettier-plugin-solidity "^1.1.3" ts-essentials "^9.0.0" ethereumjs-abi@^0.6.8: @@ -2526,7 +2322,7 @@ ethereumjs-util@^7.1.4: ethereum-cryptography "^0.1.3" rlp "^2.2.4" -ethers@5.7.2, ethers@^5.5.3, ethers@^5.5.4, ethers@^5.6.1, ethers@^5.7.1, ethers@^5.7.2: +ethers@5.7.2, ethers@^5.5.4, ethers@^5.6.1, ethers@^5.7.0, ethers@^5.7.1, ethers@^5.7.2: version "5.7.2" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== @@ -2562,21 +2358,6 @@ ethers@5.7.2, ethers@^5.5.3, ethers@^5.5.4, ethers@^5.6.1, ethers@^5.7.1, ethers "@ethersproject/web" "5.7.1" "@ethersproject/wordlists" "5.7.0" -ethers@^4.0.40: - version "4.0.49" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.49.tgz#0eb0e9161a0c8b4761be547396bbe2fb121a8894" - integrity sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg== - dependencies: - aes-js "3.0.0" - bn.js "^4.11.9" - elliptic "6.5.4" - hash.js "1.1.3" - js-sha3 "0.5.7" - scrypt-js "2.0.4" - setimmediate "1.0.4" - uuid "2.0.1" - xmlhttprequest "1.8.0" - ethjs-unit@0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" @@ -2611,21 +2392,6 @@ expand-template@^2.0.3: resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -2683,13 +2449,6 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-up@3.0.0, find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@5.0.0, find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -2706,29 +2465,23 @@ find-up@^2.1.0: locate-path "^2.0.0" flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + version "3.1.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" + integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== dependencies: - flatted "^3.1.0" + flatted "^3.2.9" + keyv "^4.5.3" rimraf "^3.0.2" -flat@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.1.tgz#a392059cc382881ff98642f5da4dde0a959f309b" - integrity sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA== - dependencies: - is-buffer "~2.0.3" - flat@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== +flatted@^3.2.9: + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== fmix@^0.1.0: version "0.1.0" @@ -2738,21 +2491,9 @@ fmix@^0.1.0: imul "^1.0.0" follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.14.8, follow-redirects@^1.15.0: - version "1.15.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + version "1.15.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" + integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== form-data@^2.2.0: version "2.5.1" @@ -2772,15 +2513,6 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - fp-ts@1.19.3: version "1.19.3" resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.3.tgz#261a60d1088fbff01f91256f91d21d0caaaaa96f" @@ -2854,81 +2586,46 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== -functions-have-names@^1.2.2, functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: +get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== dependencies: - function-bind "^1.1.1" - has "^1.0.3" + function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" get-port@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - ghost-testrpc@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz#c4de9557b1d1ae7b2d20bbe474a91378ca90ce92" @@ -2942,7 +2639,7 @@ github-from-package@0.0.0: resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== -glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -2956,18 +2653,6 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob@7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" @@ -3031,19 +2716,12 @@ global-prefix@^3.0.0: which "^1.3.1" globals@^13.19.0: - version "13.21.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.21.0.tgz#163aae12f34ef502f5153cfbdd3600f36c63c571" - integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== + version "13.23.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" + integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== dependencies: type-fest "^0.20.2" -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - globby@^10.0.1: version "10.0.2" resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" @@ -3075,11 +2753,6 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -growl@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - handlebars@^4.0.1: version "4.7.8" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" @@ -3092,20 +2765,7 @@ handlebars@^4.0.1: optionalDependencies: uglify-js "^3.1.4" -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -hardhat-contract-sizer@^2.8.0: +hardhat-contract-sizer@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/hardhat-contract-sizer/-/hardhat-contract-sizer-2.10.0.tgz#72646f43bfe50e9a5702c9720c9bc3e77d93a2c9" integrity sha512-QiinUgBD5MqJZJh1hl1jc9dNnpJg7eE/w4/4GEnrcmZJJTDbVFNe3+/3Ep24XqISSkYxRz36czcPHKHd/a0dwA== @@ -3119,10 +2779,10 @@ hardhat-deploy-ethers@^0.3.0-beta.13: resolved "https://registry.yarnpkg.com/hardhat-deploy-ethers/-/hardhat-deploy-ethers-0.3.0-beta.13.tgz#b96086ff768ddf69928984d5eb0a8d78cfca9366" integrity sha512-PdWVcKB9coqWV1L7JTpfXRCI91Cgwsm7KLmBcwZ8f0COSm1xtABHZTyz3fvF6p42cTnz1VM0QnfDvMFlIRkSNw== -hardhat-deploy@^0.11.26: - version "0.11.36" - resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.11.36.tgz#a0514267edb0b1405139487d889d17e7a91a9dce" - integrity sha512-xsegyeI+zYo858rLB09tk/GqlJ4PV5Pr2zbncAhL60WntichKrtizxRchZUr/F7J6ljUYAzTDchNKb5wIYcQqg== +hardhat-deploy@^0.11.43: + version "0.11.43" + resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.11.43.tgz#b22ff15b3ea201b72ba0f17f4b2e182cc950e73e" + integrity sha512-D760CjDtinwjOCpKOvdyRtIJYLQIYXmhfgkFe+AkxlYM9bPZ/T4tZ/xIB2tR89ZT+z0hF1YuZFBXIL3/G/9T5g== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/abstract-signer" "^5.7.0" @@ -3141,7 +2801,7 @@ hardhat-deploy@^0.11.26: chokidar "^3.5.2" debug "^4.3.2" enquirer "^2.3.6" - ethers "^5.5.3" + ethers "^5.7.0" form-data "^4.0.0" fs-extra "^10.0.0" match-all "^1.2.6" @@ -3158,7 +2818,7 @@ hardhat-gas-reporter@^1.0.9: eth-gas-reporter "^0.2.25" sha1 "^1.1.1" -hardhat-tracer@^2.2.2: +hardhat-tracer@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/hardhat-tracer/-/hardhat-tracer-2.6.0.tgz#ca19ddb8c0447150b242aadc20dd9674206139e5" integrity sha512-omsGd9NN5i0WmIFuEVZIxULfu5v6zU4/Vx+6oIVmziIJdQgZacmP5VmtVhnJEQd7IPDZNQAa+iBbW827g/ErFQ== @@ -3167,23 +2827,23 @@ hardhat-tracer@^2.2.2: debug "^4.3.4" ethers "^5.6.1" -hardhat@^2.14.0: - version "2.17.1" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.17.1.tgz#4b6c8c8f624fd23d9f40185a4af24815d05a486a" - integrity sha512-1PxRkfjhEzXs/wDxI5YgzYBxNmvzifBTjYzuopwel+vXpAhCudplusJthN5eig0FTs4qbi828DBIITEDh8x9LA== +hardhat@^2.18.2: + version "2.18.2" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.18.2.tgz#e82169bafc83c4b2af9b33ac38bae6da5603074e" + integrity sha512-lUVmJg7DsKcUCDpqv57CJl6vHqo/1PeHSfM3+WIa8UtRKmXyVTj1qQK01TDiuetkZBVg9Dn52qU+ZwaJQynaKA== dependencies: "@ethersproject/abi" "^5.1.2" "@metamask/eth-sig-util" "^4.0.0" - "@nomicfoundation/ethereumjs-block" "5.0.1" - "@nomicfoundation/ethereumjs-blockchain" "7.0.1" - "@nomicfoundation/ethereumjs-common" "4.0.1" - "@nomicfoundation/ethereumjs-evm" "2.0.1" - "@nomicfoundation/ethereumjs-rlp" "5.0.1" - "@nomicfoundation/ethereumjs-statemanager" "2.0.1" - "@nomicfoundation/ethereumjs-trie" "6.0.1" - "@nomicfoundation/ethereumjs-tx" "5.0.1" - "@nomicfoundation/ethereumjs-util" "9.0.1" - "@nomicfoundation/ethereumjs-vm" "7.0.1" + "@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" @@ -3221,11 +2881,6 @@ hardhat@^2.14.0: uuid "^8.3.2" ws "^7.4.6" -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" @@ -3242,36 +2897,22 @@ has-flag@^4.0.0: integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== dependencies: - get-intrinsic "^1.1.1" + get-intrinsic "^1.2.2" has-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== -has-symbols@^1.0.0, has-symbols@^1.0.2, has-symbols@^1.0.3: +has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - hash-base@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" @@ -3281,14 +2922,6 @@ hash-base@^3.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -hash.js@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" - integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.0" - hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" @@ -3297,6 +2930,13 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + he@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -3344,15 +2984,6 @@ http-response-object@^3.0.1: dependencies: "@types/node" "^10.0.3" -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -3379,11 +3010,11 @@ ignore@^5.1.1, ignore@^5.2.0, ignore@^5.2.4: integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== immutable@^4.0.0-rc.12: - version "4.3.2" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.2.tgz#f89d910f8dfb6e15c03b2cae2faaf8c1f66455fe" - integrity sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA== + version "4.3.4" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" + integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== -import-fresh@^3.2.1: +import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -3424,15 +3055,6 @@ ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== - dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" - side-channel "^1.0.4" - interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" @@ -3452,27 +3074,11 @@ io-ts@1.10.4: dependencies: fp-ts "^1.0.0" -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -3480,37 +3086,17 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^2.0.5, is-buffer@~2.0.3: +is-buffer@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - is-core-module@^2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" + hasown "^2.0.0" is-extglob@^2.1.1: version "2.1.1" @@ -3539,18 +3125,6 @@ is-hex-prefixed@1.0.0: resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -3566,64 +3140,11 @@ is-plain-obj@^2.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -3634,21 +3155,11 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - js-sdsl@^4.1.4: version "4.4.2" resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.2.tgz#2e3c031b1f47d3aca8b775532e3ebb0818e7f847" integrity sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w== -js-sha3@0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== - js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" @@ -3659,14 +3170,6 @@ js-sha3@0.8.0, js-sha3@^0.8.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - js-yaml@3.x: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" @@ -3682,10 +3185,10 @@ js-yaml@4.1.0, js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-even-better-errors@^2.3.0: version "2.3.1" @@ -3702,21 +3205,11 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" @@ -3745,25 +3238,22 @@ jsonschema@^1.2.4: resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - keccak@^3.0.0, keccak@^3.0.2, keccak@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276" - integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ== + version "3.0.4" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" + integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== dependencies: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" readable-stream "^3.6.0" +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -3826,14 +3316,6 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - locate-path@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" @@ -3851,18 +3333,11 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== - dependencies: - chalk "^2.4.2" - log-symbols@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -3878,12 +3353,12 @@ loose-envify@^1.0.0, loose-envify@^1.1.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -loupe@^2.3.1: - version "2.3.6" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53" - integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA== +loupe@^2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== dependencies: - get-func-name "^2.0.0" + get-func-name "^2.0.1" lru-cache@^5.1.1: version "5.1.1" @@ -3978,7 +3453,7 @@ mime-db@1.52.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@~2.1.19: +mime-types@^2.1.12: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -4007,13 +3482,6 @@ minimalistic-crypto-utils@^1.0.1: dependencies: brace-expansion "^1.1.7" -minimatch@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - minimatch@5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" @@ -4038,13 +3506,6 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - mkdirp@0.5.x: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" @@ -4059,37 +3520,7 @@ mnemonist@^0.38.0: dependencies: obliterator "^2.0.0" -mocha@7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.1.2.tgz#8e40d198acf91a52ace122cd7599c9ab857b29e6" - integrity sha512-o96kdRKMKI3E8U0bjnfqW4QMk12MwZ4mhdBTf+B5a1q9+aq2HRnj+3ZdJu0B/ZhJeK78MgYuv6L8d/rA5AeBJA== - dependencies: - ansi-colors "3.2.3" - browser-stdout "1.3.1" - chokidar "3.3.0" - debug "3.2.6" - diff "3.5.0" - escape-string-regexp "1.0.5" - find-up "3.0.0" - glob "7.1.3" - growl "1.10.5" - he "1.2.0" - js-yaml "3.13.1" - log-symbols "3.0.0" - minimatch "3.0.4" - mkdirp "0.5.5" - ms "2.1.1" - node-environment-flags "1.0.6" - object.assign "4.1.0" - strip-json-comments "2.0.1" - supports-color "6.0.0" - which "1.3.1" - wide-align "1.1.3" - yargs "13.3.2" - yargs-parser "13.1.2" - yargs-unparser "1.6.0" - -mocha@^10.0.0: +mocha@10.2.0, mocha@^10.0.0, mocha@^10.2.0: version "10.2.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== @@ -4116,52 +3547,17 @@ mocha@^10.0.0: yargs-parser "20.2.4" yargs-unparser "2.0.0" -mocha@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.2.0.tgz#01cc227b00d875ab1eed03a75106689cfed5a604" - integrity sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ== - dependencies: - ansi-colors "3.2.3" - browser-stdout "1.3.1" - chokidar "3.3.0" - debug "3.2.6" - diff "3.5.0" - escape-string-regexp "1.0.5" - find-up "3.0.0" - glob "7.1.3" - growl "1.10.5" - he "1.2.0" - js-yaml "3.13.1" - log-symbols "3.0.0" - minimatch "3.0.4" - mkdirp "0.5.5" - ms "2.1.1" - node-environment-flags "1.0.6" - object.assign "4.1.0" - strip-json-comments "2.0.1" - supports-color "6.0.0" - which "1.3.1" - wide-align "1.1.3" - yargs "13.3.2" - yargs-parser "13.1.2" - yargs-unparser "1.6.0" - module-error@^1.0.1, module-error@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/module-error/-/module-error-1.0.2.tgz#8d1a48897ca883f47a45816d4fb3e3c6ba404d86" integrity sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA== -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -4201,9 +3597,9 @@ neo-async@^2.6.2: integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== node-abi@^3.3.0: - version "3.47.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.47.0.tgz#6cbfa2916805ae25c2b7156ca640131632eb05e8" - integrity sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A== + version "3.51.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.51.0.tgz#970bf595ef5a26a271307f8a4befa02823d4e87d" + integrity sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA== dependencies: semver "^7.3.5" @@ -4229,25 +3625,17 @@ node-emoji@^1.10.0: dependencies: lodash "^4.17.21" -node-environment-flags@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" - integrity sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw== - dependencies: - object.getownpropertydescriptors "^2.0.3" - semver "^5.7.0" - node-fetch@^2.6.1: - version "2.6.12" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" - integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== dependencies: whatwg-url "^5.0.0" node-gyp-build@^4.2.0, node-gyp-build@^4.3.0, node-gyp-build@^4.5.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" - integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== + version "4.6.1" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.1.tgz#24b6d075e5e391b8d5539d98c7fc5c210cac8a3e" + integrity sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== node-hid@^2.1.2: version "2.1.2" @@ -4283,56 +3671,15 @@ number-to-bn@1.7.0: bn.js "4.11.6" strip-hex-prefix "1.0.0" -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-keys@^1.0.11, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.getownpropertydescriptors@^2.0.3: - version "2.1.6" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz#5e5c384dd209fa4efffead39e3a0512770ccc312" - integrity sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ== - dependencies: - array.prototype.reduce "^1.0.5" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.21.2" - safe-array-concat "^1.0.0" +object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== obliterator@^2.0.0: version "2.0.4" @@ -4392,13 +3739,6 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" @@ -4413,13 +3753,6 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - p-locate@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" @@ -4439,11 +3772,6 @@ p-try@^1.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -4456,7 +3784,7 @@ parse-cache-control@^1.0.1: resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" integrity sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg== -parse-json@^5.0.0: +parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -4517,11 +3845,6 @@ pbkdf2@^3.0.17: safe-buffer "^5.0.1" sha.js "^2.4.8" -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" @@ -4565,16 +3888,7 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== -prettier-plugin-solidity@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.1.3.tgz#9a35124f578404caf617634a8cab80862d726cba" - integrity sha512-fQ9yucPi2sBbA2U2Xjh6m4isUTJ7S7QLc/XDDsktqqxYfTwdYKJ0EnnywXHwCGAaYbQNK+HIYPL1OemxuMsgeg== - dependencies: - "@solidity-parser/parser" "^0.16.0" - semver "^7.3.8" - solidity-comments-extractor "^0.0.7" - -prettier@^2.8.3, prettier@^2.8.8: +prettier@^2.8.3: version "2.8.8" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== @@ -4596,11 +3910,6 @@ proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== -psl@^1.1.28: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -4609,7 +3918,7 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== @@ -4621,11 +3930,6 @@ qs@^6.4.0, qs@^6.9.4: dependencies: side-channel "^1.0.4" -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - queue-microtask@^1.2.2, queue-microtask@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -4697,13 +4001,6 @@ readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdirp@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" - integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== - dependencies: - picomatch "^2.0.4" - readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -4730,15 +4027,6 @@ regenerator-runtime@^0.14.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== -regexp.prototype.flags@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" - integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - functions-have-names "^1.2.3" - remove-accents@0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.4.2.tgz#0a43d3aaae1e80db919e07ae254b285d9e1c7bb5" @@ -4758,48 +4046,6 @@ req-from@^2.0.0: dependencies: resolve-from "^3.0.0" -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.5: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -4810,11 +4056,6 @@ require-from-string@^2.0.0, require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" @@ -4838,9 +4079,9 @@ resolve@1.17.0: path-parse "^1.0.6" resolve@^1.1.6: - version "1.22.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34" - integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" path-parse "^1.0.7" @@ -4906,16 +4147,6 @@ rxjs@6, rxjs@^6.6.7: dependencies: tslib "^1.9.0" -safe-array-concat@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" - integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - has-symbols "^1.0.3" - isarray "^2.0.5" - safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -4926,16 +4157,7 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -4968,11 +4190,6 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" -scrypt-js@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" - integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== - scrypt-js@3.0.1, scrypt-js@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" @@ -4987,7 +4204,7 @@ secp256k1@^4.0.1: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" -semver@^5.5.0, semver@^5.7.0: +semver@^5.5.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== @@ -4997,7 +4214,7 @@ semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.2: +semver@^7.3.4, semver@^7.3.5, semver@^7.5.2: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -5011,15 +4228,15 @@ serialize-javascript@6.0.0: dependencies: randombytes "^2.1.0" -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -setimmediate@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" - integrity sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog== +set-function-length@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" + integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== + dependencies: + define-data-property "^1.1.1" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" setimmediate@^1.0.5: version "1.0.5" @@ -5120,10 +4337,10 @@ solc@0.7.3: semver "^5.5.0" tmp "0.0.33" -solhint@^3.4.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/solhint/-/solhint-3.6.1.tgz#005b44ad31016e1821e99d2e99b8176c59fa3ebd" - integrity sha512-pS7Pl11Ujiew9XWaLDH0U+AFc6iK1RtLV0YETSpjHZXjUaNYi32mY+pi8Ap9vqmNfWodWKtG0bVQpatq84mL4g== +solhint@^3.6.2: + version "3.6.2" + resolved "https://registry.yarnpkg.com/solhint/-/solhint-3.6.2.tgz#2b2acbec8fdc37b2c68206a71ba89c7f519943fe" + integrity sha512-85EeLbmkcPwD+3JR7aEMKsVC9YrRSxd4qkXuMzrlf7+z2Eqdfm1wHWq1ffTuo5aDhoZxp2I9yF3QkxZOxOL7aQ== dependencies: "@solidity-parser/parser" "^0.16.0" ajv "^6.12.6" @@ -5145,15 +4362,10 @@ solhint@^3.4.0: optionalDependencies: prettier "^2.8.3" -solidity-comments-extractor@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz#99d8f1361438f84019795d928b931f4e5c39ca19" - integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== - -solidity-coverage@^0.8.2: - version "0.8.4" - resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.4.tgz#c57a21979f5e86859c5198de9fbae2d3bc6324a5" - integrity sha512-xeHOfBOjdMF6hWTbt42iH4x+7j1Atmrf5OldDPMxI+i/COdExUxszOswD9qqvcBTaLGiOrrpnh9UZjSpt4rBsg== +solidity-coverage@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.5.tgz#64071c3a0c06a0cecf9a7776c35f49edc961e875" + integrity sha512-6C6N6OV2O8FQA0FWA95FdzVH+L16HU94iFgg5wAFZ29UpLFkgNI/DRR2HotG1bC0F4gAc/OMs2BJI44Q/DYlKQ== dependencies: "@ethersproject/abi" "^5.0.9" "@solidity-parser/parser" "^0.16.0" @@ -5167,7 +4379,7 @@ solidity-coverage@^0.8.2: globby "^10.0.1" jsonschema "^1.2.4" lodash "^4.17.15" - mocha "7.1.2" + mocha "10.2.0" node-emoji "^1.10.0" pify "^4.0.1" recursive-readdir "^2.2.2" @@ -5201,21 +4413,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - stacktrace-parser@^0.1.10: version "0.1.10" resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" @@ -5228,17 +4425,7 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g== - -streamsearch@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" - integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== - -"string-width@^1.0.2 || 2", string-width@^2.1.1: +string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -5246,15 +4433,6 @@ streamsearch@^1.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -5264,33 +4442,6 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.trim@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" - integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -5312,13 +4463,6 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -5333,22 +4477,15 @@ strip-hex-prefix@1.0.0: dependencies: is-hex-prefixed "1.0.0" -strip-json-comments@2.0.1, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - strip-json-comments@3.1.1, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -supports-color@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" - integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== - dependencies: - has-flag "^3.0.0" +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== supports-color@8.1.1: version "8.1.1" @@ -5472,14 +4609,6 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -5491,9 +4620,9 @@ ts-essentials@^7.0.1: integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== ts-essentials@^9.0.0: - version "9.3.2" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-9.3.2.tgz#5f4ae6d24e20d042a033316c0592dbb51d1b273f" - integrity sha512-JxKJzuWqH1MmH4ZFHtJzGEhkfN3QvVR3C3w+4BIoWeoY68UVVoA2Np/Bca9z0IPSErVCWhv439aT0We4Dks8kQ== + version "9.4.1" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-9.4.1.tgz#6a6b6f81c2138008a5eef216e9fa468d8d9e2ab4" + integrity sha512-oke0rI2EN9pzHsesdmrOrnqv1eQODmJpd/noJjwj2ZPC3Z4N2wbjrOEqnsEgmvlO2+4fBb0a794DCna2elEVIQ== tslib@^1.9.0, tslib@^1.9.3: version "1.14.1" @@ -5517,11 +4646,6 @@ tweetnacl-util@^0.15.1: resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - tweetnacl@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" @@ -5541,7 +4665,7 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-detect@^4.0.0, type-detect@^4.0.5: +type-detect@^4.0.0, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== @@ -5561,45 +4685,6 @@ type-fest@^0.7.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -5610,22 +4695,17 @@ uglify-js@^3.1.4: resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" +undici-types@~5.25.1: + version "5.25.3" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3" + integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA== undici@^5.14.0: - version "5.23.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.23.0.tgz#e7bdb0ed42cebe7b7aca87ced53e6eaafb8f8ca0" - integrity sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg== + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.26.5.tgz#f6dc8c565e3cad8c4475b187f51a13e505092838" + integrity sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw== dependencies: - busboy "^1.6.0" + "@fastify/busboy" "^2.0.0" universalify@^0.1.0: version "0.1.2" @@ -5673,34 +4753,15 @@ utility-types@^3.10.0: resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.10.0.tgz#ea4148f9a741015f05ed74fd615e1d20e6bed82b" integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg== -uuid@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" - integrity sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - web3-utils@^1.3.6: - version "1.10.1" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.1.tgz#97532130d85358628bc0ff14d94b7e9449786983" - integrity sha512-r6iUUw/uMnNcWXjhRv33Nyrhxq3VGOPBXeSzxhOXIci4SvC/LPTpROY0uTrMX7ztKyODYrHp8WhTkEf+ZnHssw== + version "1.10.3" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.3.tgz#f1db99c82549c7d9f8348f04ffe4e0188b449714" + integrity sha512-OqcUrEE16fDBbGoQtZXWdavsPzbGIDc5v3VrRTZ0XrIpefC/viZ1ZU9bGEemazyS0catk/3rkOOxpzTfY+XsyQ== dependencies: "@ethereumjs/util" "^8.1.0" bn.js "^5.2.1" @@ -5724,34 +4785,7 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -which-typed-array@^1.1.10, which-typed-array@^1.1.11: - version "1.1.11" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a" - integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -which@1.3.1, which@^1.1.1, which@^1.3.1: +which@^1.1.1, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -5765,13 +4799,6 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -wide-align@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - word-wrap@~1.2.3: version "1.2.5" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" @@ -5787,15 +4814,6 @@ workerpool@6.2.1: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -5820,16 +4838,6 @@ ws@^7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -xmlhttprequest@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - integrity sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" @@ -5845,14 +4853,6 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@13.1.2, yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@20.2.4: version "20.2.4" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" @@ -5863,15 +4863,6 @@ yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-unparser@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" - integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== - dependencies: - flat "^4.1.0" - lodash "^4.17.15" - yargs "^13.3.0" - yargs-unparser@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" @@ -5882,22 +4873,6 @@ yargs-unparser@2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@13.3.2, yargs@^13.3.0: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - yargs@16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"