diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..1ebc7d6 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,15 @@ +name: ci + +on: push + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + - run: npm ci + - run: npm run test:local + - run: mv dist/ dist2/ + - run: npm run build + - run: diff -arq dist/ dist2/ diff --git a/.gitignore b/.gitignore index 4990bf2..392cf3b 100755 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ src/tmp tmp coverage .nyc_output +dist2 diff --git a/LICENSE b/LICENSE index f450bac..a9d94e7 100755 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2017-2019 IOV Labs +Copyright (c) 2024 RootstockLabs Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/dist/examples/getDeployment.js b/dist/examples/getDeployment.js index bd42546..a0a7703 100644 --- a/dist/examples/getDeployment.js +++ b/dist/examples/getDeployment.js @@ -38,4 +38,5 @@ function help(msg) { console.log(`Set environment variable URL to change node url`); console.log(`Example: export URL=http://localhost:4444`); process.exit(0); -} \ No newline at end of file +} +//# sourceMappingURL=getDeployment.js.map \ No newline at end of file diff --git a/dist/examples/getDeployment.js.map b/dist/examples/getDeployment.js.map new file mode 100644 index 0000000..edf4f53 --- /dev/null +++ b/dist/examples/getDeployment.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getDeployment.js","names":["_index","require","_nod3Connect","_rskUtils","url","process","env","address","argv","highBlock","help","isAddress","nod3","nod3Connect","console","log","search","code","eth","getCode","parseInt","Error","bcsearch","BcSearch","res","deploymentTx","toLowerCase","err","error","exit","msg"],"sources":["../../src/examples/getDeployment.js"],"sourcesContent":["import { BcSearch } from '../index'\nimport { nod3Connect } from '../lib/nod3Connect'\nimport { isAddress } from '@rsksmart/rsk-utils'\n\nconst url = process.env['URL'] || 'http://localhost:4444'\nconst address = process.argv[2]\nconst highBlock = process.argv[3]\n\nif (!address) help()\nif (!isAddress(address)) help(`Invalid address \"${address}\"`)\n\nconst nod3 = nod3Connect(url)\n\nconsole.log(`Searching in node: ${url}`)\nsearch(address, highBlock)\n\nasync function search (address, highBlock) {\n try {\n highBlock = highBlock || 'latest'\n const code = await nod3.eth.getCode(address, highBlock)\n if (!parseInt(code)) {\n throw new Error(`The address ${address} has no code at block ${highBlock}`)\n }\n const bcsearch = BcSearch(nod3)\n let res = await bcsearch.deploymentTx(address.toLowerCase(), { highBlock })\n console.log(res)\n } catch (err) {\n console.error(err)\n process.exit(9)\n }\n}\n\nfunction help (msg) {\n if (msg) console.log(`${msg}`)\n console.log('Usage:')\n console.log(`node ${process.argv[1]} address [highestBlock]`)\n console.log()\n console.log(`Set environment variable URL to change node url`)\n console.log(`Example: export URL=http://localhost:4444`)\n process.exit(0)\n}\n"],"mappings":"aAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;;AAEA,MAAMG,GAAG,GAAGC,OAAO,CAACC,GAAG,CAAC,KAAK,CAAC,IAAI,uBAAuB;AACzD,MAAMC,OAAO,GAAGF,OAAO,CAACG,IAAI,CAAC,CAAC,CAAC;AAC/B,MAAMC,SAAS,GAAGJ,OAAO,CAACG,IAAI,CAAC,CAAC,CAAC;;AAEjC,IAAI,CAACD,OAAO,EAAEG,IAAI,CAAC,CAAC;AACpB,IAAI,CAAC,IAAAC,mBAAS,EAACJ,OAAO,CAAC,EAAEG,IAAI,CAAE,oBAAmBH,OAAQ,GAAE,CAAC;;AAE7D,MAAMK,IAAI,GAAG,IAAAC,wBAAW,EAACT,GAAG,CAAC;;AAE7BU,OAAO,CAACC,GAAG,CAAE,sBAAqBX,GAAI,EAAC,CAAC;AACxCY,MAAM,CAACT,OAAO,EAAEE,SAAS,CAAC;;AAE1B,eAAeO,MAAMA,CAAET,OAAO,EAAEE,SAAS,EAAE;EACzC,IAAI;IACFA,SAAS,GAAGA,SAAS,IAAI,QAAQ;IACjC,MAAMQ,IAAI,GAAG,MAAML,IAAI,CAACM,GAAG,CAACC,OAAO,CAACZ,OAAO,EAAEE,SAAS,CAAC;IACvD,IAAI,CAACW,QAAQ,CAACH,IAAI,CAAC,EAAE;MACnB,MAAM,IAAII,KAAK,CAAE,eAAcd,OAAQ,yBAAwBE,SAAU,EAAC,CAAC;IAC7E;IACA,MAAMa,QAAQ,GAAG,IAAAC,eAAQ,EAACX,IAAI,CAAC;IAC/B,IAAIY,GAAG,GAAG,MAAMF,QAAQ,CAACG,YAAY,CAAClB,OAAO,CAACmB,WAAW,CAAC,CAAC,EAAE,EAAEjB,SAAS,CAAC,CAAC,CAAC;IAC3EK,OAAO,CAACC,GAAG,CAACS,GAAG,CAAC;EAClB,CAAC,CAAC,OAAOG,GAAG,EAAE;IACZb,OAAO,CAACc,KAAK,CAACD,GAAG,CAAC;IAClBtB,OAAO,CAACwB,IAAI,CAAC,CAAC,CAAC;EACjB;AACF;;AAEA,SAASnB,IAAIA,CAAEoB,GAAG,EAAE;EAClB,IAAIA,GAAG,EAAEhB,OAAO,CAACC,GAAG,CAAE,GAAEe,GAAI,EAAC,CAAC;EAC9BhB,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC;EACrBD,OAAO,CAACC,GAAG,CAAE,QAAOV,OAAO,CAACG,IAAI,CAAC,CAAC,CAAE,yBAAwB,CAAC;EAC7DM,OAAO,CAACC,GAAG,CAAC,CAAC;EACbD,OAAO,CAACC,GAAG,CAAE,iDAAgD,CAAC;EAC9DD,OAAO,CAACC,GAAG,CAAE,2CAA0C,CAAC;EACxDV,OAAO,CAACwB,IAAI,CAAC,CAAC,CAAC;AACjB"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index cf1ff87..012e0b9 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,7 +1,16 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, "ContractParser", { enumerable: true, get: function () {return _ContractParser.ContractParser;} });Object.defineProperty(exports, "BcSearch", { enumerable: true, get: function () {return _BcSearch.BcSearch;} });Object.defineProperty(exports, "Contract", { enumerable: true, get: function () {return _Contract.default;} });exports.default = exports.abi = void 0;var _ContractParser = require("./lib/ContractParser"); +"use strict";Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, "BcSearch", { enumerable: true, get: function () {return _BcSearch.BcSearch;} });Object.defineProperty(exports, "Contract", { enumerable: true, get: function () {return _Contract.default;} });Object.defineProperty(exports, "ContractParser", { enumerable: true, get: function () {return _ContractParser.ContractParser;} });exports.default = exports.abi = void 0;var _ContractParser = require("./lib/ContractParser"); var _BcSearch = require("./lib/BcSearch"); var _Contract = _interopRequireDefault(require("./lib/Contract")); -var _bridgeAbi = _interopRequireDefault(require("./lib/nativeContracts/bridgeAbi"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} -const abi = { bridge: _bridgeAbi.default };exports.abi = abi;var _default = +var _bridgeAbi = require("./lib/nativeContracts/bridgeAbi");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} +const abi = exports.abi = { bridge: _bridgeAbi.getBridgeAbi };var _default = exports.default = -_ContractParser.ContractParser;exports.default = _default; \ No newline at end of file +_ContractParser.ContractParser; + +// HOTFIX: because the dependency @ethersproject/abi:5.7.0 spam the logs with 'duplicate definition' warning, this temporary fix should silence those messages until a newer version of the library fixes the issue +const originalConsoleLog = console.log; +console.log = function (message) { + if (!String(message).includes('duplicate definition')) { + originalConsoleLog(message); + } +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map new file mode 100644 index 0000000..c5ff85a --- /dev/null +++ b/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["_ContractParser","require","_BcSearch","_Contract","_interopRequireDefault","_bridgeAbi","obj","__esModule","default","abi","exports","bridge","getBridgeAbi","_default","ContractParser","originalConsoleLog","console","log","message","String","includes"],"sources":["../src/index.js"],"sourcesContent":["import { ContractParser } from './lib/ContractParser'\nimport { BcSearch } from './lib/BcSearch'\nimport Contract from './lib/Contract'\nimport { getBridgeAbi } from './lib/nativeContracts/bridgeAbi'\nconst abi = { bridge: getBridgeAbi }\nexport { ContractParser, BcSearch, Contract, abi }\nexport default ContractParser\n\n// HOTFIX: because the dependency @ethersproject/abi:5.7.0 spam the logs with 'duplicate definition' warning, this temporary fix should silence those messages until a newer version of the library fixes the issue\nconst originalConsoleLog = console.log\nconsole.log = function (message) {\n if (!String(message).includes('duplicate definition')) {\n originalConsoleLog(message)\n }\n}\n"],"mappings":"mdAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA,oCAA8D,SAAAG,uBAAAE,GAAA,UAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAC9D,MAAMG,GAAG,GAAAC,OAAA,CAAAD,GAAA,GAAG,EAAEE,MAAM,EAAEC,uBAAY,CAAC,CAAC,KAAAC,QAAA,GAAAH,OAAA,CAAAF,OAAA;;AAErBM,8BAAc;;AAE7B;AACA,MAAMC,kBAAkB,GAAGC,OAAO,CAACC,GAAG;AACtCD,OAAO,CAACC,GAAG,GAAG,UAAUC,OAAO,EAAE;EAC/B,IAAI,CAACC,MAAM,CAACD,OAAO,CAAC,CAACE,QAAQ,CAAC,sBAAsB,CAAC,EAAE;IACrDL,kBAAkB,CAACG,OAAO,CAAC;EAC7B;AACF,CAAC"} \ No newline at end of file diff --git a/dist/lib/Abi.js b/dist/lib/Abi.js index 8be5623..6ab57d7 100755 --- a/dist/lib/Abi.js +++ b/dist/lib/Abi.js @@ -1,2 +1,3 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _compiled_abi = _interopRequireDefault(require("./compiled_abi.json"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}var _default = -_compiled_abi.default;exports.default = _default; \ No newline at end of file +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _compiled_abi = _interopRequireDefault(require("./compiled_abi.json"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}var _default = exports.default = +_compiled_abi.default; +//# sourceMappingURL=Abi.js.map \ No newline at end of file diff --git a/dist/lib/Abi.js.map b/dist/lib/Abi.js.map new file mode 100644 index 0000000..b8fa3ab --- /dev/null +++ b/dist/lib/Abi.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Abi.js","names":["_compiled_abi","_interopRequireDefault","require","obj","__esModule","default","_default","exports","abi"],"sources":["../../src/lib/Abi.js"],"sourcesContent":["import abi from './compiled_abi.json'\nexport default abi\n"],"mappings":"oGAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA,yBAAqC,SAAAD,uBAAAE,GAAA,UAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA,QAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA;AACtBG,qBAAG"} \ No newline at end of file diff --git a/dist/lib/BcSearch.js b/dist/lib/BcSearch.js index 675b0e5..9430283 100644 --- a/dist/lib/BcSearch.js +++ b/dist/lib/BcSearch.js @@ -2,7 +2,7 @@ var _rskUtils = require("@rsksmart/rsk-utils"); function BcSearch(nod3) { - const getBlock = hashOrNumber => { + const getBlock = (hashOrNumber) => { return nod3.eth.getBlock(hashOrNumber); }; @@ -27,7 +27,7 @@ function BcSearch(nod3) { }; const deploymentBlock = (address, highBlock, lowBlock) => { - return block(blockNumber => isContractAtBlock(address, blockNumber), highBlock, lowBlock); + return block((blockNumber) => isContractAtBlock(address, blockNumber), highBlock, lowBlock); }; const searchReceipt = async (transactions, cb) => { for (let tx of transactions) { @@ -44,11 +44,11 @@ function BcSearch(nod3) { try { blockNumber = blockNumber || (await deploymentBlock(address, highBlock)); block = block || (await nod3.eth.getBlock(blockNumber, true)); - let transactions = block.transactions.filter(tx => !(0, _rskUtils.isAddress)(tx.to)); - let transaction = await searchReceipt(transactions, receipt => receipt.contractAddress === address); + let transactions = block.transactions.filter((tx) => !(0, _rskUtils.isAddress)(tx.to)); + let transaction = await searchReceipt(transactions, (receipt) => receipt.contractAddress === address); if (!transaction) {// internal transactions blockTrace = blockTrace || (await nod3.trace.block(block.hash)); - let internalTx = blockTrace.find(trace => isItxDeployment(address, trace)); + let internalTx = blockTrace.find((trace) => isItxDeployment(address, trace)); if (internalTx) transaction = { internalTx }; } if (transaction) transaction.timestamp = block.timestamp; @@ -59,6 +59,7 @@ function BcSearch(nod3) { }; return Object.freeze({ block, deploymentBlock, deploymentTx, isItxDeployment }); -}var _default = +}var _default = exports.default = -BcSearch;exports.default = _default; \ No newline at end of file +BcSearch; +//# sourceMappingURL=BcSearch.js.map \ No newline at end of file diff --git a/dist/lib/BcSearch.js.map b/dist/lib/BcSearch.js.map new file mode 100644 index 0000000..e33e690 --- /dev/null +++ b/dist/lib/BcSearch.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BcSearch.js","names":["_utils","require","_rskUtils","BcSearch","nod3","getBlock","hashOrNumber","eth","block","searchCb","highBlock","lowBlock","number","binarySearchNumber","err","Promise","reject","isContractAtBlock","address","blockNumber","code","getCode","parseInt","isNaN","deploymentBlock","searchReceipt","transactions","cb","tx","receipt","getTransactionReceipt","hash","isItxDeployment","itx","result","type","contractAddress","undefined","deploymentTx","blockTrace","filter","isAddress","to","transaction","trace","internalTx","find","timestamp","Object","freeze","_default","exports","default"],"sources":["../../src/lib/BcSearch.js"],"sourcesContent":["import { binarySearchNumber } from './utils'\nimport { isAddress } from '@rsksmart/rsk-utils'\n\nexport function BcSearch (nod3) {\n const getBlock = (hashOrNumber) => {\n return nod3.eth.getBlock(hashOrNumber)\n }\n\n const block = async (searchCb, highBlock, lowBlock) => {\n try {\n if (!highBlock) {\n let block = await getBlock('latest')\n let { number } = block\n highBlock = number\n }\n lowBlock = lowBlock || 1\n return binarySearchNumber(searchCb, highBlock, lowBlock)\n } catch (err) {\n return Promise.reject(err)\n }\n }\n\n const isContractAtBlock = async (address, blockNumber) => {\n let code = await nod3.eth.getCode(address, blockNumber)\n code = parseInt(code)\n return !isNaN(code) && code > 0\n }\n\n const deploymentBlock = (address, highBlock, lowBlock) => {\n return block(blockNumber => isContractAtBlock(address, blockNumber), highBlock, lowBlock)\n }\n const searchReceipt = async (transactions, cb) => {\n for (let tx of transactions) {\n let receipt = await nod3.eth.getTransactionReceipt(tx.hash)\n if (cb(receipt)) return { tx, receipt }\n }\n }\n const isItxDeployment = (address, itx) => {\n let { result, type } = itx\n let contractAddress = (result) ? result.address : undefined\n return type === 'create' && contractAddress === address\n }\n const deploymentTx = async (address, { blockNumber, blockTrace, block, highBlock } = {}) => {\n try {\n blockNumber = blockNumber || await deploymentBlock(address, highBlock)\n block = block || await nod3.eth.getBlock(blockNumber, true)\n let transactions = block.transactions.filter(tx => !isAddress(tx.to))\n let transaction = await searchReceipt(transactions, receipt => receipt.contractAddress === address)\n if (!transaction) { // internal transactions\n blockTrace = blockTrace || await nod3.trace.block(block.hash)\n let internalTx = blockTrace.find(trace => isItxDeployment(address, trace))\n if (internalTx) transaction = { internalTx }\n }\n if (transaction) transaction.timestamp = block.timestamp\n return transaction\n } catch (err) {\n return Promise.reject(err)\n }\n }\n\n return Object.freeze({ block, deploymentBlock, deploymentTx, isItxDeployment })\n}\n\nexport default BcSearch\n"],"mappings":"gIAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;;AAEO,SAASE,QAAQA,CAAEC,IAAI,EAAE;EAC9B,MAAMC,QAAQ,GAAGA,CAACC,YAAY,KAAK;IACjC,OAAOF,IAAI,CAACG,GAAG,CAACF,QAAQ,CAACC,YAAY,CAAC;EACxC,CAAC;;EAED,MAAME,KAAK,GAAG,MAAAA,CAAOC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,KAAK;IACrD,IAAI;MACF,IAAI,CAACD,SAAS,EAAE;QACd,IAAIF,KAAK,GAAG,MAAMH,QAAQ,CAAC,QAAQ,CAAC;QACpC,IAAI,EAAEO,MAAM,CAAC,CAAC,GAAGJ,KAAK;QACtBE,SAAS,GAAGE,MAAM;MACpB;MACAD,QAAQ,GAAGA,QAAQ,IAAI,CAAC;MACxB,OAAO,IAAAE,yBAAkB,EAACJ,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IAC1D,CAAC,CAAC,OAAOG,GAAG,EAAE;MACZ,OAAOC,OAAO,CAACC,MAAM,CAACF,GAAG,CAAC;IAC5B;EACF,CAAC;;EAED,MAAMG,iBAAiB,GAAG,MAAAA,CAAOC,OAAO,EAAEC,WAAW,KAAK;IACxD,IAAIC,IAAI,GAAG,MAAMhB,IAAI,CAACG,GAAG,CAACc,OAAO,CAACH,OAAO,EAAEC,WAAW,CAAC;IACvDC,IAAI,GAAGE,QAAQ,CAACF,IAAI,CAAC;IACrB,OAAO,CAACG,KAAK,CAACH,IAAI,CAAC,IAAIA,IAAI,GAAG,CAAC;EACjC,CAAC;;EAED,MAAMI,eAAe,GAAGA,CAACN,OAAO,EAAER,SAAS,EAAEC,QAAQ,KAAK;IACxD,OAAOH,KAAK,CAAC,CAAAW,WAAW,KAAIF,iBAAiB,CAACC,OAAO,EAAEC,WAAW,CAAC,EAAET,SAAS,EAAEC,QAAQ,CAAC;EAC3F,CAAC;EACD,MAAMc,aAAa,GAAG,MAAAA,CAAOC,YAAY,EAAEC,EAAE,KAAK;IAChD,KAAK,IAAIC,EAAE,IAAIF,YAAY,EAAE;MAC3B,IAAIG,OAAO,GAAG,MAAMzB,IAAI,CAACG,GAAG,CAACuB,qBAAqB,CAACF,EAAE,CAACG,IAAI,CAAC;MAC3D,IAAIJ,EAAE,CAACE,OAAO,CAAC,EAAE,OAAO,EAAED,EAAE,EAAEC,OAAO,CAAC,CAAC;IACzC;EACF,CAAC;EACD,MAAMG,eAAe,GAAGA,CAACd,OAAO,EAAEe,GAAG,KAAK;IACxC,IAAI,EAAEC,MAAM,EAAEC,IAAI,CAAC,CAAC,GAAGF,GAAG;IAC1B,IAAIG,eAAe,GAAIF,MAAM,GAAIA,MAAM,CAAChB,OAAO,GAAGmB,SAAS;IAC3D,OAAOF,IAAI,KAAK,QAAQ,IAAIC,eAAe,KAAKlB,OAAO;EACzD,CAAC;EACD,MAAMoB,YAAY,GAAG,MAAAA,CAAOpB,OAAO,EAAE,EAAEC,WAAW,EAAEoB,UAAU,EAAE/B,KAAK,EAAEE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK;IAC1F,IAAI;MACFS,WAAW,GAAGA,WAAW,KAAI,MAAMK,eAAe,CAACN,OAAO,EAAER,SAAS,CAAC;MACtEF,KAAK,GAAGA,KAAK,KAAI,MAAMJ,IAAI,CAACG,GAAG,CAACF,QAAQ,CAACc,WAAW,EAAE,IAAI,CAAC;MAC3D,IAAIO,YAAY,GAAGlB,KAAK,CAACkB,YAAY,CAACc,MAAM,CAAC,CAAAZ,EAAE,KAAI,CAAC,IAAAa,mBAAS,EAACb,EAAE,CAACc,EAAE,CAAC,CAAC;MACrE,IAAIC,WAAW,GAAG,MAAMlB,aAAa,CAACC,YAAY,EAAE,CAAAG,OAAO,KAAIA,OAAO,CAACO,eAAe,KAAKlB,OAAO,CAAC;MACnG,IAAI,CAACyB,WAAW,EAAE,CAAE;QAClBJ,UAAU,GAAGA,UAAU,KAAI,MAAMnC,IAAI,CAACwC,KAAK,CAACpC,KAAK,CAACA,KAAK,CAACuB,IAAI,CAAC;QAC7D,IAAIc,UAAU,GAAGN,UAAU,CAACO,IAAI,CAAC,CAAAF,KAAK,KAAIZ,eAAe,CAACd,OAAO,EAAE0B,KAAK,CAAC,CAAC;QAC1E,IAAIC,UAAU,EAAEF,WAAW,GAAG,EAAEE,UAAU,CAAC,CAAC;MAC9C;MACA,IAAIF,WAAW,EAAEA,WAAW,CAACI,SAAS,GAAGvC,KAAK,CAACuC,SAAS;MACxD,OAAOJ,WAAW;IACpB,CAAC,CAAC,OAAO7B,GAAG,EAAE;MACZ,OAAOC,OAAO,CAACC,MAAM,CAACF,GAAG,CAAC;IAC5B;EACF,CAAC;;EAED,OAAOkC,MAAM,CAACC,MAAM,CAAC,EAAEzC,KAAK,EAAEgB,eAAe,EAAEc,YAAY,EAAEN,eAAe,CAAC,CAAC,CAAC;AACjF,CAAC,IAAAkB,QAAA,GAAAC,OAAA,CAAAC,OAAA;;AAEcjD,QAAQ"} \ No newline at end of file diff --git a/dist/lib/Contract.js b/dist/lib/Contract.js index 1935738..0cfa450 100755 --- a/dist/lib/Contract.js +++ b/dist/lib/Contract.js @@ -1,49 +1,25 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = Contract;var _rskUtils = require("@rsksmart/rsk-utils"); -var _ethereumjsAbi = _interopRequireDefault(require("ethereumjs-abi"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = Contract;var _abi = require("@ethersproject/abi"); function Contract(abi, { address, nod3 } = {}) { if (!abi || typeof abi !== 'object') throw new Error('Invalid abi'); + const contractInterface = new _abi.Interface(abi); - const at = newAddress => { + const at = (newAddress) => { address = newAddress; }; - const setNod3 = nod3Instance => { + const setNod3 = (nod3Instance) => { nod3 = nod3Instance; }; - const abiFind = (type, name) => abi.find(i => i.type === type && i.name === name); - - const isMethod = name => abiFind('function', name); - // const isEvent = name => abiFind('event', name) - const getMethod = methodName => { - const abiDef = isMethod(methodName); - if (!abiDef) throw new Error(`Unknown method: "${methodName}"`); - const { name, inputs, outputs } = abiDef; - const types = inputs.filter(i => i.type).map(i => i.type); - const returns = outputs.filter(o => o.type).map(o => o.type); - const id = _ethereumjsAbi.default.methodID(name, types).toString('hex'); - const method = `${name}(${types.join(' ')})`; - return { types, id, name, method, returns }; - }; - - const encodeCall = (methodName, params = []) => { - try { - const { id, types } = getMethod(methodName); - let data = _ethereumjsAbi.default.rawEncode(types, params).toString('hex'); - data = (0, _rskUtils.add0x)(`${id}${data}`); - return data; - } catch (err) { - throw err; - } - }; + const encodeCall = (methodName, params = []) => contractInterface.encodeFunctionData(methodName, params); const decodeCall = (methodName, data) => { - const { returns } = getMethod(methodName); - const decoded = _ethereumjsAbi.default.rawDecode(returns, (0, _rskUtils.toBuffer)(data)); - return Array.isArray(decoded) && returns.length < 2 ? decoded[0] : decoded; + const { outputs } = contractInterface.getFunction(methodName); + const decoded = contractInterface.decodeFunctionResult(methodName, data); + return Array.isArray(decoded) && outputs && outputs.length < 2 ? decoded[0] : decoded; }; const call = async (methodName, params = [], txData = {}) => { @@ -61,4 +37,5 @@ function Contract(abi, { address, nod3 } = {}) { } }; return Object.freeze({ at, setNod3, encodeCall, decodeCall, call }); -} \ No newline at end of file +} +//# sourceMappingURL=Contract.js.map \ No newline at end of file diff --git a/dist/lib/Contract.js.map b/dist/lib/Contract.js.map new file mode 100644 index 0000000..565c0a6 --- /dev/null +++ b/dist/lib/Contract.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Contract.js","names":["_abi","require","Contract","abi","address","nod3","Error","contractInterface","Interface","at","newAddress","setNod3","nod3Instance","encodeCall","methodName","params","encodeFunctionData","decodeCall","data","outputs","getFunction","decoded","decodeFunctionResult","Array","isArray","length","call","txData","to","tx","Object","assign","result","eth","err","Promise","reject","freeze"],"sources":["../../src/lib/Contract.js"],"sourcesContent":["import { Interface } from '@ethersproject/abi'\n\nexport default function Contract (abi, { address, nod3 } = {}) {\n if (!abi || typeof abi !== 'object') throw new Error('Invalid abi')\n const contractInterface = new Interface(abi)\n\n const at = newAddress => {\n address = newAddress\n }\n\n const setNod3 = nod3Instance => {\n nod3 = nod3Instance\n }\n\n // const isEvent = name => abiFind('event', name)\n\n const encodeCall = (methodName, params = []) => contractInterface.encodeFunctionData(methodName, params)\n\n const decodeCall = (methodName, data) => {\n const { outputs } = contractInterface.getFunction(methodName)\n const decoded = contractInterface.decodeFunctionResult(methodName, data)\n return (Array.isArray(decoded) && outputs && outputs.length < 2) ? decoded[0] : decoded\n }\n\n const call = async (methodName, params = [], txData = {}) => {\n try {\n if (!nod3) throw new Error(`Set nod3 instance before call`)\n if (!address) throw new Error(`The contract address is not defined`)\n if (!Array.isArray(params)) throw new Error(`Params must be an array`)\n const data = encodeCall(methodName, params)\n const to = address\n const tx = Object.assign(txData, { to, data })\n const result = await nod3.eth.call(tx)\n return decodeCall(methodName, result)\n } catch (err) {\n return Promise.reject(err)\n }\n }\n return Object.freeze({ at, setNod3, encodeCall, decodeCall, call })\n}\n"],"mappings":"sGAAA,IAAAA,IAAA,GAAAC,OAAA;;AAEe,SAASC,QAAQA,CAAEC,GAAG,EAAE,EAAEC,OAAO,EAAEC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;EAC7D,IAAI,CAACF,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE,MAAM,IAAIG,KAAK,CAAC,aAAa,CAAC;EACnE,MAAMC,iBAAiB,GAAG,IAAIC,cAAS,CAACL,GAAG,CAAC;;EAE5C,MAAMM,EAAE,GAAGA,CAAAC,UAAU,KAAI;IACvBN,OAAO,GAAGM,UAAU;EACtB,CAAC;;EAED,MAAMC,OAAO,GAAGA,CAAAC,YAAY,KAAI;IAC9BP,IAAI,GAAGO,YAAY;EACrB,CAAC;;EAED;;EAEA,MAAMC,UAAU,GAAGA,CAACC,UAAU,EAAEC,MAAM,GAAG,EAAE,KAAKR,iBAAiB,CAACS,kBAAkB,CAACF,UAAU,EAAEC,MAAM,CAAC;;EAExG,MAAME,UAAU,GAAGA,CAACH,UAAU,EAAEI,IAAI,KAAK;IACvC,MAAM,EAAEC,OAAO,CAAC,CAAC,GAAGZ,iBAAiB,CAACa,WAAW,CAACN,UAAU,CAAC;IAC7D,MAAMO,OAAO,GAAGd,iBAAiB,CAACe,oBAAoB,CAACR,UAAU,EAAEI,IAAI,CAAC;IACxE,OAAQK,KAAK,CAACC,OAAO,CAACH,OAAO,CAAC,IAAIF,OAAO,IAAIA,OAAO,CAACM,MAAM,GAAG,CAAC,GAAIJ,OAAO,CAAC,CAAC,CAAC,GAAGA,OAAO;EACzF,CAAC;;EAED,MAAMK,IAAI,GAAG,MAAAA,CAAOZ,UAAU,EAAEC,MAAM,GAAG,EAAE,EAAEY,MAAM,GAAG,CAAC,CAAC,KAAK;IAC3D,IAAI;MACF,IAAI,CAACtB,IAAI,EAAE,MAAM,IAAIC,KAAK,CAAE,+BAA8B,CAAC;MAC3D,IAAI,CAACF,OAAO,EAAE,MAAM,IAAIE,KAAK,CAAE,qCAAoC,CAAC;MACpE,IAAI,CAACiB,KAAK,CAACC,OAAO,CAACT,MAAM,CAAC,EAAE,MAAM,IAAIT,KAAK,CAAE,yBAAwB,CAAC;MACtE,MAAMY,IAAI,GAAGL,UAAU,CAACC,UAAU,EAAEC,MAAM,CAAC;MAC3C,MAAMa,EAAE,GAAGxB,OAAO;MAClB,MAAMyB,EAAE,GAAGC,MAAM,CAACC,MAAM,CAACJ,MAAM,EAAE,EAAEC,EAAE,EAAEV,IAAI,CAAC,CAAC,CAAC;MAC9C,MAAMc,MAAM,GAAG,MAAM3B,IAAI,CAAC4B,GAAG,CAACP,IAAI,CAACG,EAAE,CAAC;MACtC,OAAOZ,UAAU,CAACH,UAAU,EAAEkB,MAAM,CAAC;IACvC,CAAC,CAAC,OAAOE,GAAG,EAAE;MACZ,OAAOC,OAAO,CAACC,MAAM,CAACF,GAAG,CAAC;IAC5B;EACF,CAAC;EACD,OAAOJ,MAAM,CAACO,MAAM,CAAC,EAAE5B,EAAE,EAAEE,OAAO,EAAEE,UAAU,EAAEI,UAAU,EAAES,IAAI,CAAC,CAAC,CAAC;AACrE"} \ No newline at end of file diff --git a/dist/lib/ContractParser.js b/dist/lib/ContractParser.js index cc9d9c5..b31c937 100755 --- a/dist/lib/ContractParser.js +++ b/dist/lib/ContractParser.js @@ -14,8 +14,18 @@ var _utils = require("./utils");function _interopRequireDefault(obj) {return obj +function mapInterfacesToERCs(interfaces) { + return Object.keys(interfaces). + filter((k) => interfaces[k] === true). + map((t) => _types.contractsInterfaces[t] || t); +} + +function hasMethodSelector(txInputData, selector) { + return selector && txInputData && txInputData.includes(selector); +} + class ContractParser { - constructor({ abi, log, initConfig, nod3 } = {}) { + constructor({ abi, log, initConfig, nod3, txBlockNumber } = {}) { initConfig = initConfig || {}; const { net } = initConfig; this.netId = net ? net.id : undefined; @@ -25,7 +35,7 @@ class ContractParser { this.nativeContracts = (0, _NativeContracts.default)(initConfig); if (this.netId) { let bitcoinNetwork = _types.bitcoinRskNetWorks[this.netId]; - this.nativeContractsEvents = (0, _NativeContractsDecoder.default)({ bitcoinNetwork }); + this.nativeContractsEvents = (0, _NativeContractsDecoder.default)({ bitcoinNetwork, txBlockNumber }); } } @@ -57,8 +67,8 @@ class ContractParser { getAbiMethods() { let methods = {}; - this.abi.filter(def => def.type === 'function'). - map(m => { + this.abi.filter((def) => def.type === 'function'). + map((m) => { let sig = m[_types.ABI_SIGNATURE] || (0, _utils.abiSignatureData)(m); sig.name = m.name; methods[sig.method] = sig; @@ -67,7 +77,7 @@ class ContractParser { } parseTxLogs(logs, abi) { - return this.decodeLogs(logs, abi).map(event => { + return this.decodeLogs(logs, abi).map((event) => { this.addEventAddresses(event); event.abi = (0, _utils.removeAbiSignatureData)(event.abi); return event; @@ -86,7 +96,13 @@ class ContractParser { if (v.type === 'address[]') { let value = args[i] || []; if (Array.isArray(value)) {// temp fix to undecoded events - value.forEach(v => _addresses.push(v)); + value.forEach((v) => _addresses.push(v)); + } else { + let i = 0; + while (2 + (i + 1) * 40 <= value.length) { + _addresses.push('0x' + value.slice(2 + i * 40, 2 + (i + 1) * 40)); + i++; + } } } }); @@ -97,13 +113,13 @@ class ContractParser { decodeLogs(logs, abi) { abi = abi || this.abi; - const eventDecoder = (0, _EventDecoder.default)(abi); + const eventDecoder = (0, _EventDecoder.default)(abi, this.log); if (!this.nativeContracts || !this.nativeContractsEvents) { throw new Error(`Native contracts decoder is missing, check the value of netId:${this.netId}`); } const { isNativeContract } = this.nativeContracts; const { nativeContractsEvents } = this; - return logs.map(log => { + return logs.map((log) => { const { address } = log; const decoder = isNativeContract(address) ? nativeContractsEvents.getEventDecoder(log) : eventDecoder; return decoder.decodeLog(log); @@ -121,7 +137,8 @@ class ContractParser { const res = await contract.call(method, params, options); return res; } catch (err) { - this.log.warn(`Method ${method} call ${err}`); + // temporary fix to avoid errored contract calls spam logs + // this.log.warn(`Method ${method} call ${err}`) return null; } } @@ -129,11 +146,11 @@ class ContractParser { async getTokenData(contract, { methods } = {}) { methods = methods || ['name', 'symbol', 'decimals', 'totalSupply']; let result = await Promise.all( - methods.map((m) => - this.call(m, contract). - then(res => res). - catch(err => this.log.debug(`[${contract.address}] Error executing ${m} Error: ${err}`)))); - + methods.map((m) => + this.call(m, contract). + then((res) => res). + catch((err) => this.log.debug(`[${contract.address}] Error executing ${m} Error: ${err}`))) + ); return result.reduce((v, a, i) => { let name = methods[i]; v[name] = a; @@ -141,17 +158,34 @@ class ContractParser { }, {}); } - hasMethodSelector(txInputData, selector) { - return selector && txInputData ? txInputData.includes(selector) : null; - } - getMethodsBySelectors(txInputData) { let methods = this.getMethodsSelectors(); return Object.keys(methods). - filter(method => this.hasMethodSelector(txInputData, methods[method]) === true); + filter((method) => hasMethodSelector(txInputData, methods[method]) === true); } async getContractInfo(txInputData, contract) { + let { interfaces, methods } = await this.getContractImplementedInterfaces(txInputData, contract); + + interfaces = mapInterfacesToERCs(interfaces); + return { methods, interfaces }; + } + + async getEIP1967Info(contractAddress) { + const { isUpgradeable, impContractAddress } = await this.isERC1967(contractAddress); + if (isUpgradeable) { + // manual check required + const proxyContractBytecode = await this.getContractCodeFromNode(impContractAddress); + const methods = this.getMethodsBySelectors(proxyContractBytecode); + let interfaces = this.getInterfacesByMethods(methods); + + interfaces = mapInterfacesToERCs(interfaces); + return { methods, interfaces: [...interfaces, 'ERC1967'] }; + } + return { methods: [], interfaces: [] }; + } + + async getContractImplementedInterfaces(txInputData, contract) { let methods = this.getMethodsBySelectors(txInputData); let isErc165 = false; // skip non-erc165 contracts @@ -159,14 +193,33 @@ class ContractParser { isErc165 = await this.implementsErc165(contract); } let interfaces; - if (isErc165) interfaces = await this.getInterfacesERC165(contract);else - interfaces = this.getInterfacesByMethods(methods); - interfaces = Object.keys(interfaces). - filter(k => interfaces[k] === true). - map(t => _types.contractsInterfaces[t] || t); + if (isErc165) { + interfaces = await this.getInterfacesERC165(contract); + } else { + interfaces = this.getInterfacesByMethods(methods); + } + return { methods, interfaces }; } + async isERC1967(contractAddress) { + // check For ERC1967 + // https://eips.ethereum.org/EIPS/eip-1967 + // 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc storage address where the implementation address is stored + const storedValue = await this.nod3.eth.getStorageAt(contractAddress, '0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc'); + const isUpgradeable = storedValue !== '0x0'; + if (isUpgradeable) { + const impContractAddress = `0x${storedValue.slice(-40)}`; // extract contract address + return { isUpgradeable, impContractAddress }; + } else { + return { isUpgradeable, impContractAddress: storedValue }; + } + } + + async getContractCodeFromNode(contractAddress) { + return this.nod3.eth.getContractCodeAt(contractAddress); + } + async getInterfacesERC165(contract) { let ifaces = {}; let keys = Object.keys(_interfacesIds.default); @@ -178,7 +231,7 @@ class ContractParser { getInterfacesByMethods(methods, isErc165) { return Object.keys(_interfacesIds.default). - map(i => { + map((i) => { return [i, (0, _rskUtils.includesAll)(methods, _interfacesIds.default[i].methods)]; }). reduce((obj, value) => { @@ -205,7 +258,8 @@ class ContractParser { } catch (err) { return Promise.reject(err); } - }}exports.ContractParser = ContractParser;var _default = - + } +}exports.ContractParser = ContractParser;var _default = exports.default = -ContractParser;exports.default = _default; \ No newline at end of file +ContractParser; +//# sourceMappingURL=ContractParser.js.map \ No newline at end of file diff --git a/dist/lib/ContractParser.js.map b/dist/lib/ContractParser.js.map new file mode 100644 index 0000000..6bde39f --- /dev/null +++ b/dist/lib/ContractParser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ContractParser.js","names":["_interfacesIds","_interopRequireDefault","require","_rskUtils","_NativeContractsDecoder","_NativeContracts","_Contract","_EventDecoder","_Abi","_types","_utils","obj","__esModule","default","mapInterfacesToERCs","interfaces","Object","keys","filter","k","map","t","contractsInterfaces","hasMethodSelector","txInputData","selector","includes","ContractParser","constructor","abi","log","initConfig","nod3","txBlockNumber","net","netId","id","undefined","setAbi","defaultABI","console","nativeContracts","NativeContracts","bitcoinNetwork","bitcoinRskNetWorks","nativeContractsEvents","NativeContractsDecoder","setNod3","getNativeContractAddress","name","getMethodsSelectors","selectors","methods","getAbiMethods","m","method","signature","soliditySignature","soliditySelector","def","type","sig","ABI_SIGNATURE","abiSignatureData","parseTxLogs","logs","decodeLogs","event","addEventAddresses","removeAbiSignatureData","args","_addresses","inputs","forEach","v","i","push","value","Array","isArray","length","slice","Set","eventDecoder","EventDecoder","Error","isNativeContract","address","decoder","getEventDecoder","decodeLog","makeContract","Contract","call","contract","params","options","res","err","getTokenData","result","Promise","all","then","catch","debug","reduce","a","getMethodsBySelectors","getContractInfo","getContractImplementedInterfaces","getEIP1967Info","contractAddress","isUpgradeable","impContractAddress","isERC1967","proxyContractBytecode","getContractCodeFromNode","getInterfacesByMethods","isErc165","includesAll","implementsErc165","getInterfacesERC165","storedValue","eth","getStorageAt","getContractCodeAt","ifaces","interfacesIds","supportsInterface","interfaceId","gas","first","ERC165","second","reject","exports","_default"],"sources":["../../src/lib/ContractParser.js"],"sourcesContent":["import interfacesIds from './interfacesIds'\nimport { includesAll } from '@rsksmart/rsk-utils'\nimport NativeContractsDecoder from './nativeContracts/NativeContractsDecoder'\nimport NativeContracts from './nativeContracts/NativeContracts'\nimport Contract from './Contract'\nimport EventDecoder from './EventDecoder'\nimport defaultABI from './Abi'\nimport { ABI_SIGNATURE, bitcoinRskNetWorks, contractsInterfaces } from './types'\nimport {\n setAbi,\n removeAbiSignatureData,\n abiSignatureData,\n soliditySelector,\n soliditySignature\n} from './utils'\n\nfunction mapInterfacesToERCs (interfaces) {\n return Object.keys(interfaces)\n .filter(k => interfaces[k] === true)\n .map(t => contractsInterfaces[t] || t)\n}\n\nfunction hasMethodSelector (txInputData, selector) {\n return selector && txInputData && txInputData.includes(selector)\n}\n\nexport class ContractParser {\n constructor ({ abi, log, initConfig, nod3, txBlockNumber } = {}) {\n initConfig = initConfig || {}\n const { net } = initConfig\n this.netId = (net) ? net.id : undefined\n this.abi = setAbi(abi || defaultABI)\n this.log = log || console\n this.nod3 = nod3\n this.nativeContracts = NativeContracts(initConfig)\n if (this.netId) {\n let bitcoinNetwork = bitcoinRskNetWorks[this.netId]\n this.nativeContractsEvents = NativeContractsDecoder({ bitcoinNetwork, txBlockNumber })\n }\n }\n\n setNod3 (nod3) {\n this.nod3 = nod3\n }\n\n getNativeContractAddress (name) {\n const { nativeContracts } = this\n if (nativeContracts) {\n return nativeContracts.getNativeContractAddress(name)\n }\n }\n\n setAbi (abi) {\n this.abi = setAbi(abi)\n }\n\n getMethodsSelectors () {\n let selectors = {}\n let methods = this.getAbiMethods()\n for (let m in methods) {\n let method = methods[m]\n let signature = method.signature || soliditySignature(m)\n selectors[m] = soliditySelector(signature)\n }\n return selectors\n }\n\n getAbiMethods () {\n let methods = {}\n this.abi.filter(def => def.type === 'function')\n .map(m => {\n let sig = m[ABI_SIGNATURE] || abiSignatureData(m)\n sig.name = m.name\n methods[sig.method] = sig\n })\n return methods\n }\n\n parseTxLogs (logs, abi) {\n return this.decodeLogs(logs, abi).map(event => {\n this.addEventAddresses(event)\n event.abi = removeAbiSignatureData(event.abi)\n return event\n })\n }\n\n addEventAddresses (event) {\n const { abi, args } = event\n let _addresses = event._addresses || []\n if (abi && args) {\n let inputs = abi.inputs || []\n inputs.forEach((v, i) => {\n if (v.type === 'address') {\n _addresses.push(args[i])\n }\n if (v.type === 'address[]') {\n let value = args[i] || []\n if (Array.isArray(value)) { // temp fix to undecoded events\n value.forEach(v => _addresses.push(v))\n } else {\n let i = 0\n while (2 + (i + 1) * 40 <= value.length) {\n _addresses.push('0x' + value.slice(2 + i * 40, 2 + (i + 1) * 40))\n i++\n }\n }\n }\n })\n event._addresses = [...new Set(_addresses)]\n }\n return event\n }\n\n decodeLogs (logs, abi) {\n abi = abi || this.abi\n const eventDecoder = EventDecoder(abi, this.log)\n if (!this.nativeContracts || !this.nativeContractsEvents) {\n throw new Error(`Native contracts decoder is missing, check the value of netId:${this.netId}`)\n }\n const { isNativeContract } = this.nativeContracts\n const { nativeContractsEvents } = this\n return logs.map(log => {\n const { address } = log\n const decoder = (isNativeContract(address)) ? nativeContractsEvents.getEventDecoder(log) : eventDecoder\n return decoder.decodeLog(log)\n })\n }\n\n makeContract (address, abi) {\n abi = abi || this.abi\n let { nod3 } = this\n return Contract(abi, { address, nod3 })\n }\n\n async call (method, contract, params = [], options = {}) {\n try {\n const res = await contract.call(method, params, options)\n return res\n } catch (err) {\n // temporary fix to avoid errored contract calls spam logs\n // this.log.warn(`Method ${method} call ${err}`)\n return null\n }\n }\n\n async getTokenData (contract, { methods } = {}) {\n methods = methods || ['name', 'symbol', 'decimals', 'totalSupply']\n let result = await Promise.all(\n methods.map(m =>\n this.call(m, contract)\n .then(res => res)\n .catch(err => this.log.debug(`[${contract.address}] Error executing ${m} Error: ${err}`)))\n )\n return result.reduce((v, a, i) => {\n let name = methods[i]\n v[name] = a\n return v\n }, {})\n }\n\n getMethodsBySelectors (txInputData) {\n let methods = this.getMethodsSelectors()\n return Object.keys(methods)\n .filter(method => hasMethodSelector(txInputData, methods[method]) === true)\n }\n\n async getContractInfo (txInputData, contract) {\n let { interfaces, methods } = await this.getContractImplementedInterfaces(txInputData, contract)\n\n interfaces = mapInterfacesToERCs(interfaces)\n return { methods, interfaces }\n }\n\n async getEIP1967Info (contractAddress) {\n const { isUpgradeable, impContractAddress } = await this.isERC1967(contractAddress)\n if (isUpgradeable) {\n // manual check required\n const proxyContractBytecode = await this.getContractCodeFromNode(impContractAddress)\n const methods = this.getMethodsBySelectors(proxyContractBytecode)\n let interfaces = this.getInterfacesByMethods(methods)\n\n interfaces = mapInterfacesToERCs(interfaces)\n return { methods, interfaces: [...interfaces, 'ERC1967'] }\n }\n return {methods: [], interfaces: []}\n }\n\n async getContractImplementedInterfaces (txInputData, contract) {\n let methods = this.getMethodsBySelectors(txInputData)\n let isErc165 = false\n // skip non-erc165 contracts\n if (includesAll(methods, ['supportsInterface(bytes4)'])) {\n isErc165 = await this.implementsErc165(contract)\n }\n let interfaces\n if (isErc165) {\n interfaces = await this.getInterfacesERC165(contract)\n } else {\n interfaces = this.getInterfacesByMethods(methods)\n }\n\n return { methods, interfaces }\n }\n\n async isERC1967 (contractAddress) {\n // check For ERC1967\n // https://eips.ethereum.org/EIPS/eip-1967\n // 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc storage address where the implementation address is stored\n const storedValue = await this.nod3.eth.getStorageAt(contractAddress, '0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc')\n const isUpgradeable = storedValue !== '0x0'\n if (isUpgradeable) {\n const impContractAddress = `0x${storedValue.slice(-40)}` // extract contract address\n return { isUpgradeable, impContractAddress }\n } else {\n return { isUpgradeable, impContractAddress: storedValue }\n }\n }\n\n async getContractCodeFromNode (contractAddress) {\n return this.nod3.eth.getContractCodeAt(contractAddress)\n }\n\n async getInterfacesERC165 (contract) {\n let ifaces = {}\n let keys = Object.keys(interfacesIds)\n for (let i of keys) {\n ifaces[i] = await this.supportsInterface(contract, interfacesIds[i].id)\n }\n return ifaces\n }\n\n getInterfacesByMethods (methods, isErc165) {\n return Object.keys(interfacesIds)\n .map(i => {\n return [i, includesAll(methods, interfacesIds[i].methods)]\n })\n .reduce((obj, value) => {\n obj[value[0]] = value[1]\n return obj\n }, {})\n }\n\n async supportsInterface (contract, interfaceId) {\n // fixed gas to prevent infinite loops\n let options = { gas: '0x7530' }\n let res = await this.call('supportsInterface', contract, [interfaceId], options)\n return res\n }\n\n async implementsErc165 (contract) {\n try {\n let first = await this.supportsInterface(contract, interfacesIds.ERC165.id)\n if (first === true) {\n let second = await this.supportsInterface(contract, '0xffffffff')\n return !(second === true || second === null)\n }\n return false\n } catch (err) {\n return Promise.reject(err)\n }\n }\n}\n\nexport default ContractParser\n"],"mappings":"6HAAA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,gBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,IAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA,YAMgB,SAAAD,uBAAAU,GAAA,UAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;;;;;;;;AAEhB,SAASG,mBAAmBA,CAAEC,UAAU,EAAE;EACxC,OAAOC,MAAM,CAACC,IAAI,CAACF,UAAU,CAAC;EAC3BG,MAAM,CAAC,CAAAC,CAAC,KAAIJ,UAAU,CAACI,CAAC,CAAC,KAAK,IAAI,CAAC;EACnCC,GAAG,CAAC,CAAAC,CAAC,KAAIC,0BAAmB,CAACD,CAAC,CAAC,IAAIA,CAAC,CAAC;AAC1C;;AAEA,SAASE,iBAAiBA,CAAEC,WAAW,EAAEC,QAAQ,EAAE;EACjD,OAAOA,QAAQ,IAAID,WAAW,IAAIA,WAAW,CAACE,QAAQ,CAACD,QAAQ,CAAC;AAClE;;AAEO,MAAME,cAAc,CAAC;EAC1BC,WAAWA,CAAE,EAAEC,GAAG,EAAEC,GAAG,EAAEC,UAAU,EAAEC,IAAI,EAAEC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;IAC/DF,UAAU,GAAGA,UAAU,IAAI,CAAC,CAAC;IAC7B,MAAM,EAAEG,GAAG,CAAC,CAAC,GAAGH,UAAU;IAC1B,IAAI,CAACI,KAAK,GAAID,GAAG,GAAIA,GAAG,CAACE,EAAE,GAAGC,SAAS;IACvC,IAAI,CAACR,GAAG,GAAG,IAAAS,aAAM,EAACT,GAAG,IAAIU,YAAU,CAAC;IACpC,IAAI,CAACT,GAAG,GAAGA,GAAG,IAAIU,OAAO;IACzB,IAAI,CAACR,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACS,eAAe,GAAG,IAAAC,wBAAe,EAACX,UAAU,CAAC;IAClD,IAAI,IAAI,CAACI,KAAK,EAAE;MACd,IAAIQ,cAAc,GAAGC,yBAAkB,CAAC,IAAI,CAACT,KAAK,CAAC;MACnD,IAAI,CAACU,qBAAqB,GAAG,IAAAC,+BAAsB,EAAC,EAAEH,cAAc,EAAEV,aAAa,CAAC,CAAC,CAAC;IACxF;EACF;;EAEAc,OAAOA,CAAEf,IAAI,EAAE;IACb,IAAI,CAACA,IAAI,GAAGA,IAAI;EAClB;;EAEAgB,wBAAwBA,CAAEC,IAAI,EAAE;IAC9B,MAAM,EAAER,eAAe,CAAC,CAAC,GAAG,IAAI;IAChC,IAAIA,eAAe,EAAE;MACnB,OAAOA,eAAe,CAACO,wBAAwB,CAACC,IAAI,CAAC;IACvD;EACF;;EAEAX,MAAMA,CAAET,GAAG,EAAE;IACX,IAAI,CAACA,GAAG,GAAG,IAAAS,aAAM,EAACT,GAAG,CAAC;EACxB;;EAEAqB,mBAAmBA,CAAA,EAAI;IACrB,IAAIC,SAAS,GAAG,CAAC,CAAC;IAClB,IAAIC,OAAO,GAAG,IAAI,CAACC,aAAa,CAAC,CAAC;IAClC,KAAK,IAAIC,CAAC,IAAIF,OAAO,EAAE;MACrB,IAAIG,MAAM,GAAGH,OAAO,CAACE,CAAC,CAAC;MACvB,IAAIE,SAAS,GAAGD,MAAM,CAACC,SAAS,IAAI,IAAAC,wBAAiB,EAACH,CAAC,CAAC;MACxDH,SAAS,CAACG,CAAC,CAAC,GAAG,IAAAI,uBAAgB,EAACF,SAAS,CAAC;IAC5C;IACA,OAAOL,SAAS;EAClB;;EAEAE,aAAaA,CAAA,EAAI;IACf,IAAID,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,CAACvB,GAAG,CAACX,MAAM,CAAC,CAAAyC,GAAG,KAAIA,GAAG,CAACC,IAAI,KAAK,UAAU,CAAC;IAC5CxC,GAAG,CAAC,CAAAkC,CAAC,KAAI;MACR,IAAIO,GAAG,GAAGP,CAAC,CAACQ,oBAAa,CAAC,IAAI,IAAAC,uBAAgB,EAACT,CAAC,CAAC;MACjDO,GAAG,CAACZ,IAAI,GAAGK,CAAC,CAACL,IAAI;MACjBG,OAAO,CAACS,GAAG,CAACN,MAAM,CAAC,GAAGM,GAAG;IAC3B,CAAC,CAAC;IACJ,OAAOT,OAAO;EAChB;;EAEAY,WAAWA,CAAEC,IAAI,EAAEpC,GAAG,EAAE;IACtB,OAAO,IAAI,CAACqC,UAAU,CAACD,IAAI,EAAEpC,GAAG,CAAC,CAACT,GAAG,CAAC,CAAA+C,KAAK,KAAI;MAC7C,IAAI,CAACC,iBAAiB,CAACD,KAAK,CAAC;MAC7BA,KAAK,CAACtC,GAAG,GAAG,IAAAwC,6BAAsB,EAACF,KAAK,CAACtC,GAAG,CAAC;MAC7C,OAAOsC,KAAK;IACd,CAAC,CAAC;EACJ;;EAEAC,iBAAiBA,CAAED,KAAK,EAAE;IACxB,MAAM,EAAEtC,GAAG,EAAEyC,IAAI,CAAC,CAAC,GAAGH,KAAK;IAC3B,IAAII,UAAU,GAAGJ,KAAK,CAACI,UAAU,IAAI,EAAE;IACvC,IAAI1C,GAAG,IAAIyC,IAAI,EAAE;MACf,IAAIE,MAAM,GAAG3C,GAAG,CAAC2C,MAAM,IAAI,EAAE;MAC7BA,MAAM,CAACC,OAAO,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;QACvB,IAAID,CAAC,CAACd,IAAI,KAAK,SAAS,EAAE;UACxBW,UAAU,CAACK,IAAI,CAACN,IAAI,CAACK,CAAC,CAAC,CAAC;QAC1B;QACA,IAAID,CAAC,CAACd,IAAI,KAAK,WAAW,EAAE;UAC1B,IAAIiB,KAAK,GAAGP,IAAI,CAACK,CAAC,CAAC,IAAI,EAAE;UACzB,IAAIG,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE,CAAE;YAC1BA,KAAK,CAACJ,OAAO,CAAC,CAAAC,CAAC,KAAIH,UAAU,CAACK,IAAI,CAACF,CAAC,CAAC,CAAC;UACxC,CAAC,MAAM;YACL,IAAIC,CAAC,GAAG,CAAC;YACT,OAAO,CAAC,GAAG,CAACA,CAAC,GAAG,CAAC,IAAI,EAAE,IAAIE,KAAK,CAACG,MAAM,EAAE;cACvCT,UAAU,CAACK,IAAI,CAAC,IAAI,GAAGC,KAAK,CAACI,KAAK,CAAC,CAAC,GAAGN,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAACA,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;cACjEA,CAAC,EAAE;YACL;UACF;QACF;MACF,CAAC,CAAC;MACFR,KAAK,CAACI,UAAU,GAAG,CAAC,GAAG,IAAIW,GAAG,CAACX,UAAU,CAAC,CAAC;IAC7C;IACA,OAAOJ,KAAK;EACd;;EAEAD,UAAUA,CAAED,IAAI,EAAEpC,GAAG,EAAE;IACrBA,GAAG,GAAGA,GAAG,IAAI,IAAI,CAACA,GAAG;IACrB,MAAMsD,YAAY,GAAG,IAAAC,qBAAY,EAACvD,GAAG,EAAE,IAAI,CAACC,GAAG,CAAC;IAChD,IAAI,CAAC,IAAI,CAACW,eAAe,IAAI,CAAC,IAAI,CAACI,qBAAqB,EAAE;MACxD,MAAM,IAAIwC,KAAK,CAAE,iEAAgE,IAAI,CAAClD,KAAM,EAAC,CAAC;IAChG;IACA,MAAM,EAAEmD,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC7C,eAAe;IACjD,MAAM,EAAEI,qBAAqB,CAAC,CAAC,GAAG,IAAI;IACtC,OAAOoB,IAAI,CAAC7C,GAAG,CAAC,CAAAU,GAAG,KAAI;MACrB,MAAM,EAAEyD,OAAO,CAAC,CAAC,GAAGzD,GAAG;MACvB,MAAM0D,OAAO,GAAIF,gBAAgB,CAACC,OAAO,CAAC,GAAI1C,qBAAqB,CAAC4C,eAAe,CAAC3D,GAAG,CAAC,GAAGqD,YAAY;MACvG,OAAOK,OAAO,CAACE,SAAS,CAAC5D,GAAG,CAAC;IAC/B,CAAC,CAAC;EACJ;;EAEA6D,YAAYA,CAAEJ,OAAO,EAAE1D,GAAG,EAAE;IAC1BA,GAAG,GAAGA,GAAG,IAAI,IAAI,CAACA,GAAG;IACrB,IAAI,EAAEG,IAAI,CAAC,CAAC,GAAG,IAAI;IACnB,OAAO,IAAA4D,iBAAQ,EAAC/D,GAAG,EAAE,EAAE0D,OAAO,EAAEvD,IAAI,CAAC,CAAC,CAAC;EACzC;;EAEA,MAAM6D,IAAIA,CAAEtC,MAAM,EAAEuC,QAAQ,EAAEC,MAAM,GAAG,EAAE,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;IACvD,IAAI;MACF,MAAMC,GAAG,GAAG,MAAMH,QAAQ,CAACD,IAAI,CAACtC,MAAM,EAAEwC,MAAM,EAAEC,OAAO,CAAC;MACxD,OAAOC,GAAG;IACZ,CAAC,CAAC,OAAOC,GAAG,EAAE;MACZ;MACA;MACA,OAAO,IAAI;IACb;EACF;;EAEA,MAAMC,YAAYA,CAAEL,QAAQ,EAAE,EAAE1C,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;IAC9CA,OAAO,GAAGA,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC;IAClE,IAAIgD,MAAM,GAAG,MAAMC,OAAO,CAACC,GAAG;MAC5BlD,OAAO,CAAChC,GAAG,CAAC,CAAAkC,CAAC;MACX,IAAI,CAACuC,IAAI,CAACvC,CAAC,EAAEwC,QAAQ,CAAC;MACnBS,IAAI,CAAC,CAAAN,GAAG,KAAIA,GAAG,CAAC;MAChBO,KAAK,CAAC,CAAAN,GAAG,KAAI,IAAI,CAACpE,GAAG,CAAC2E,KAAK,CAAE,IAAGX,QAAQ,CAACP,OAAQ,qBAAoBjC,CAAE,YAAW4C,GAAI,EAAC,CAAC,CAAC;IAChG,CAAC;IACD,OAAOE,MAAM,CAACM,MAAM,CAAC,CAAChC,CAAC,EAAEiC,CAAC,EAAEhC,CAAC,KAAK;MAChC,IAAI1B,IAAI,GAAGG,OAAO,CAACuB,CAAC,CAAC;MACrBD,CAAC,CAACzB,IAAI,CAAC,GAAG0D,CAAC;MACX,OAAOjC,CAAC;IACV,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;;EAEAkC,qBAAqBA,CAAEpF,WAAW,EAAE;IAClC,IAAI4B,OAAO,GAAG,IAAI,CAACF,mBAAmB,CAAC,CAAC;IACxC,OAAOlC,MAAM,CAACC,IAAI,CAACmC,OAAO,CAAC;IACxBlC,MAAM,CAAC,CAAAqC,MAAM,KAAIhC,iBAAiB,CAACC,WAAW,EAAE4B,OAAO,CAACG,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;EAC/E;;EAEA,MAAMsD,eAAeA,CAAErF,WAAW,EAAEsE,QAAQ,EAAE;IAC5C,IAAI,EAAE/E,UAAU,EAAEqC,OAAO,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC0D,gCAAgC,CAACtF,WAAW,EAAEsE,QAAQ,CAAC;;IAEhG/E,UAAU,GAAGD,mBAAmB,CAACC,UAAU,CAAC;IAC5C,OAAO,EAAEqC,OAAO,EAAErC,UAAU,CAAC,CAAC;EAChC;;EAEA,MAAMgG,cAAcA,CAAEC,eAAe,EAAE;IACrC,MAAM,EAAEC,aAAa,EAAEC,kBAAkB,CAAC,CAAC,GAAG,MAAM,IAAI,CAACC,SAAS,CAACH,eAAe,CAAC;IACnF,IAAIC,aAAa,EAAE;MACjB;MACA,MAAMG,qBAAqB,GAAG,MAAM,IAAI,CAACC,uBAAuB,CAACH,kBAAkB,CAAC;MACpF,MAAM9D,OAAO,GAAG,IAAI,CAACwD,qBAAqB,CAACQ,qBAAqB,CAAC;MACjE,IAAIrG,UAAU,GAAG,IAAI,CAACuG,sBAAsB,CAAClE,OAAO,CAAC;;MAErDrC,UAAU,GAAGD,mBAAmB,CAACC,UAAU,CAAC;MAC5C,OAAO,EAAEqC,OAAO,EAAErC,UAAU,EAAE,CAAC,GAAGA,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5D;IACA,OAAO,EAACqC,OAAO,EAAE,EAAE,EAAErC,UAAU,EAAE,EAAE,EAAC;EACtC;;EAEA,MAAM+F,gCAAgCA,CAAEtF,WAAW,EAAEsE,QAAQ,EAAE;IAC7D,IAAI1C,OAAO,GAAG,IAAI,CAACwD,qBAAqB,CAACpF,WAAW,CAAC;IACrD,IAAI+F,QAAQ,GAAG,KAAK;IACpB;IACA,IAAI,IAAAC,qBAAW,EAACpE,OAAO,EAAE,CAAC,2BAA2B,CAAC,CAAC,EAAE;MACvDmE,QAAQ,GAAG,MAAM,IAAI,CAACE,gBAAgB,CAAC3B,QAAQ,CAAC;IAClD;IACA,IAAI/E,UAAU;IACd,IAAIwG,QAAQ,EAAE;MACZxG,UAAU,GAAG,MAAM,IAAI,CAAC2G,mBAAmB,CAAC5B,QAAQ,CAAC;IACvD,CAAC,MAAM;MACL/E,UAAU,GAAG,IAAI,CAACuG,sBAAsB,CAAClE,OAAO,CAAC;IACnD;;IAEA,OAAO,EAAEA,OAAO,EAAErC,UAAU,CAAC,CAAC;EAChC;;EAEA,MAAMoG,SAASA,CAAEH,eAAe,EAAE;IAChC;IACA;IACA;IACA,MAAMW,WAAW,GAAG,MAAM,IAAI,CAAC3F,IAAI,CAAC4F,GAAG,CAACC,YAAY,CAACb,eAAe,EAAE,oEAAoE,CAAC;IAC3I,MAAMC,aAAa,GAAGU,WAAW,KAAK,KAAK;IAC3C,IAAIV,aAAa,EAAE;MACjB,MAAMC,kBAAkB,GAAI,KAAIS,WAAW,CAAC1C,KAAK,CAAC,CAAC,EAAE,CAAE,EAAC,EAAC;MACzD,OAAO,EAAEgC,aAAa,EAAEC,kBAAkB,CAAC,CAAC;IAC9C,CAAC,MAAM;MACL,OAAO,EAAED,aAAa,EAAEC,kBAAkB,EAAES,WAAW,CAAC,CAAC;IAC3D;EACF;;EAEA,MAAMN,uBAAuBA,CAAEL,eAAe,EAAE;IAC9C,OAAO,IAAI,CAAChF,IAAI,CAAC4F,GAAG,CAACE,iBAAiB,CAACd,eAAe,CAAC;EACzD;;EAEA,MAAMU,mBAAmBA,CAAE5B,QAAQ,EAAE;IACnC,IAAIiC,MAAM,GAAG,CAAC,CAAC;IACf,IAAI9G,IAAI,GAAGD,MAAM,CAACC,IAAI,CAAC+G,sBAAa,CAAC;IACrC,KAAK,IAAIrD,CAAC,IAAI1D,IAAI,EAAE;MAClB8G,MAAM,CAACpD,CAAC,CAAC,GAAG,MAAM,IAAI,CAACsD,iBAAiB,CAACnC,QAAQ,EAAEkC,sBAAa,CAACrD,CAAC,CAAC,CAACvC,EAAE,CAAC;IACzE;IACA,OAAO2F,MAAM;EACf;;EAEAT,sBAAsBA,CAAElE,OAAO,EAAEmE,QAAQ,EAAE;IACzC,OAAOvG,MAAM,CAACC,IAAI,CAAC+G,sBAAa,CAAC;IAC9B5G,GAAG,CAAC,CAAAuD,CAAC,KAAI;MACR,OAAO,CAACA,CAAC,EAAE,IAAA6C,qBAAW,EAACpE,OAAO,EAAE4E,sBAAa,CAACrD,CAAC,CAAC,CAACvB,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC;IACDsD,MAAM,CAAC,CAAC/F,GAAG,EAAEkE,KAAK,KAAK;MACtBlE,GAAG,CAACkE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC;MACxB,OAAOlE,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EACV;;EAEA,MAAMsH,iBAAiBA,CAAEnC,QAAQ,EAAEoC,WAAW,EAAE;IAC9C;IACA,IAAIlC,OAAO,GAAG,EAAEmC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/B,IAAIlC,GAAG,GAAG,MAAM,IAAI,CAACJ,IAAI,CAAC,mBAAmB,EAAEC,QAAQ,EAAE,CAACoC,WAAW,CAAC,EAAElC,OAAO,CAAC;IAChF,OAAOC,GAAG;EACZ;;EAEA,MAAMwB,gBAAgBA,CAAE3B,QAAQ,EAAE;IAChC,IAAI;MACF,IAAIsC,KAAK,GAAG,MAAM,IAAI,CAACH,iBAAiB,CAACnC,QAAQ,EAAEkC,sBAAa,CAACK,MAAM,CAACjG,EAAE,CAAC;MAC3E,IAAIgG,KAAK,KAAK,IAAI,EAAE;QAClB,IAAIE,MAAM,GAAG,MAAM,IAAI,CAACL,iBAAiB,CAACnC,QAAQ,EAAE,YAAY,CAAC;QACjE,OAAO,EAAEwC,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,IAAI,CAAC;MAC9C;MACA,OAAO,KAAK;IACd,CAAC,CAAC,OAAOpC,GAAG,EAAE;MACZ,OAAOG,OAAO,CAACkC,MAAM,CAACrC,GAAG,CAAC;IAC5B;EACF;AACF,CAACsC,OAAA,CAAA7G,cAAA,GAAAA,cAAA,KAAA8G,QAAA,GAAAD,OAAA,CAAA3H,OAAA;;AAEcc,cAAc"} \ No newline at end of file diff --git a/dist/lib/EventDecoder.js b/dist/lib/EventDecoder.js index deeca77..e12b45a 100755 --- a/dist/lib/EventDecoder.js +++ b/dist/lib/EventDecoder.js @@ -1,18 +1,14 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _ethereumjsAbi = _interopRequireDefault(require("ethereumjs-abi")); -var _utils = require("./utils"); -var _rskUtils = require("@rsksmart/rsk-utils");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _utils = require("./utils"); +var _rskUtils = require("@rsksmart/rsk-utils"); +var _abi = require("@ethersproject/abi"); -function EventDecoder(abi) { - abi = (0, _utils.addSignatureDataToAbi)(abi); +function EventDecoder(abi, logger) { + const contractInterface = new _abi.Interface((0, _utils.addSignatureDataToAbi)(abi)); - const formatDecoded = decoded => { - return (0, _rskUtils.add0x)(Buffer.isBuffer(decoded) ? (0, _rskUtils.bufferToHex)(decoded) : decoded.toString(16)); - }; - - const getEventAbi = topics => { + const getEventAbi = (topics) => { topics = [...topics]; const sigHash = (0, _rskUtils.remove0x)(topics.shift()); - let events = abi.filter(i => { + let events = abi.filter((i) => { let { indexed, signature } = (0, _utils.getSignatureDataFromAbi)(i); return signature === sigHash && indexed === topics.length; }); @@ -21,39 +17,58 @@ function EventDecoder(abi) { return { eventABI, topics }; }; - const decodeElement = (data, types) => { - let decoded = _ethereumjsAbi.default.rawDecode(types, (0, _rskUtils.toBuffer)(data)); + const formatElement = (type, decoded) => { + if (decoded._isIndexed) return { _isIndexed: true, hash: decoded.hash }; + if (decoded._isBigNumber) { + return decoded.toHexString(); + } + const res = (0, _rskUtils.add0x)(Buffer.isBuffer(decoded) ? (0, _rskUtils.bufferToHex)(decoded) : decoded.toString(16)); + if (type === 'address' || type === 'address[]') return res.toLowerCase(); + return res; + }; + + const encodeElement = (type, decoded) => { if (Array.isArray(decoded)) { - decoded = decoded.map(d => formatDecoded(d)); + decoded = decoded.map((d) => formatElement(type, d)); if (decoded.length === 1) decoded = decoded.join(); } else { - decoded = formatDecoded(decoded); + decoded = formatElement(type, decoded); } return decoded; }; - const decodeData = (data, types) => { - let decoded = _ethereumjsAbi.default.rawDecode(types, (0, _rskUtils.toBuffer)(data)); - return decoded.map(d => formatDecoded(d)); - }; - const decodeLog = log => { - log = Object.assign({}, log); - const { eventABI, topics } = getEventAbi(log.topics); - const { address } = log; - if (!eventABI) return log; - const { name } = eventABI; - const { signature } = (0, _utils.getSignatureDataFromAbi)(eventABI); - const { inputs } = eventABI; - const indexedInputs = inputs.filter(i => i.indexed === true); - let decodedTopics = topics.map((topic, index) => decodeElement(topic, [indexedInputs[index].type])); - const decodedData = decodeData(log.data, inputs.filter(i => i.indexed === false).map(i => i.type)); - const args = []; - for (let input of inputs) { - args.push(input.indexed ? decodedTopics.shift() : decodedData.shift()); + const decodeLog = (log) => { + try { + const { eventFragment, name, args, topic } = contractInterface.parseLog(log); + + const { address } = log; + + const parsedArgs = []; + + for (const i in eventFragment.inputs) { + parsedArgs.push( + encodeElement(eventFragment.inputs[i].type, args[i]) + ); + } + + return Object.assign({}, log, { + signature: (0, _rskUtils.remove0x)(topic), + event: name, + address, + args: parsedArgs, + abi: JSON.parse(eventFragment.format('json')) + }); + } catch (e) { + // temporary fix to avoid ethers "no matching event" error spam + if (!e.message.includes('no matching event')) { + logger.error(e); + } + return log; } - return Object.assign(log, { event: name, address, args, abi: eventABI, signature }); }; + return Object.freeze({ decodeLog, getEventAbi }); -}var _default = +}var _default = exports.default = -EventDecoder;exports.default = _default; \ No newline at end of file +EventDecoder; +//# sourceMappingURL=EventDecoder.js.map \ No newline at end of file diff --git a/dist/lib/EventDecoder.js.map b/dist/lib/EventDecoder.js.map new file mode 100644 index 0000000..968b9ef --- /dev/null +++ b/dist/lib/EventDecoder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EventDecoder.js","names":["_utils","require","_rskUtils","_abi","EventDecoder","abi","logger","contractInterface","Interface","addSignatureDataToAbi","getEventAbi","topics","sigHash","remove0x","shift","events","filter","i","indexed","signature","getSignatureDataFromAbi","length","Error","eventABI","formatElement","type","decoded","_isIndexed","hash","_isBigNumber","toHexString","res","add0x","Buffer","isBuffer","bufferToHex","toString","toLowerCase","encodeElement","Array","isArray","map","d","join","decodeLog","log","eventFragment","name","args","topic","parseLog","address","parsedArgs","inputs","push","Object","assign","event","JSON","parse","format","e","message","includes","error","freeze","_default","exports","default"],"sources":["../../src/lib/EventDecoder.js"],"sourcesContent":["import { addSignatureDataToAbi, getSignatureDataFromAbi } from './utils'\nimport { remove0x, add0x, bufferToHex } from '@rsksmart/rsk-utils'\nimport { Interface } from '@ethersproject/abi'\n\nfunction EventDecoder (abi, logger) {\n const contractInterface = new Interface(addSignatureDataToAbi(abi))\n\n const getEventAbi = topics => {\n topics = [...topics]\n const sigHash = remove0x(topics.shift())\n let events = abi.filter(i => {\n let { indexed, signature } = getSignatureDataFromAbi(i)\n return signature === sigHash && indexed === topics.length\n })\n if (events.length > 1) throw new Error('Duplicate events in ABI')\n const eventABI = events[0]\n return { eventABI, topics }\n }\n\n const formatElement = (type, decoded) => {\n if (decoded._isIndexed) return { _isIndexed: true, hash: decoded.hash }\n if (decoded._isBigNumber) {\n return decoded.toHexString()\n }\n const res = add0x(Buffer.isBuffer(decoded) ? bufferToHex(decoded) : decoded.toString(16))\n if (type === 'address' || type === 'address[]') return res.toLowerCase()\n return res\n }\n\n const encodeElement = (type, decoded) => {\n if (Array.isArray(decoded)) {\n decoded = decoded.map(d => formatElement(type, d))\n if (decoded.length === 1) decoded = decoded.join()\n } else {\n decoded = formatElement(type, decoded)\n }\n return decoded\n }\n\n const decodeLog = log => {\n try {\n const { eventFragment, name, args, topic } = contractInterface.parseLog(log)\n\n const { address } = log\n\n const parsedArgs = []\n\n for (const i in eventFragment.inputs) {\n parsedArgs.push(\n encodeElement(eventFragment.inputs[i].type, args[i])\n )\n }\n\n return Object.assign({}, log, {\n signature: remove0x(topic),\n event: name,\n address,\n args: parsedArgs,\n abi: JSON.parse(eventFragment.format('json'))\n })\n } catch (e) {\n // temporary fix to avoid ethers \"no matching event\" error spam\n if (!e.message.includes('no matching event')) {\n logger.error(e)\n }\n return log\n }\n }\n\n return Object.freeze({ decodeLog, getEventAbi })\n}\n\nexport default EventDecoder\n"],"mappings":"oGAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;;AAEA,SAASG,YAAYA,CAAEC,GAAG,EAAEC,MAAM,EAAE;EAClC,MAAMC,iBAAiB,GAAG,IAAIC,cAAS,CAAC,IAAAC,4BAAqB,EAACJ,GAAG,CAAC,CAAC;;EAEnE,MAAMK,WAAW,GAAGA,CAAAC,MAAM,KAAI;IAC5BA,MAAM,GAAG,CAAC,GAAGA,MAAM,CAAC;IACpB,MAAMC,OAAO,GAAG,IAAAC,kBAAQ,EAACF,MAAM,CAACG,KAAK,CAAC,CAAC,CAAC;IACxC,IAAIC,MAAM,GAAGV,GAAG,CAACW,MAAM,CAAC,CAAAC,CAAC,KAAI;MAC3B,IAAI,EAAEC,OAAO,EAAEC,SAAS,CAAC,CAAC,GAAG,IAAAC,8BAAuB,EAACH,CAAC,CAAC;MACvD,OAAOE,SAAS,KAAKP,OAAO,IAAIM,OAAO,KAAKP,MAAM,CAACU,MAAM;IAC3D,CAAC,CAAC;IACF,IAAIN,MAAM,CAACM,MAAM,GAAG,CAAC,EAAE,MAAM,IAAIC,KAAK,CAAC,yBAAyB,CAAC;IACjE,MAAMC,QAAQ,GAAGR,MAAM,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAEQ,QAAQ,EAAEZ,MAAM,CAAC,CAAC;EAC7B,CAAC;;EAED,MAAMa,aAAa,GAAGA,CAACC,IAAI,EAAEC,OAAO,KAAK;IACvC,IAAIA,OAAO,CAACC,UAAU,EAAE,OAAO,EAAEA,UAAU,EAAE,IAAI,EAAEC,IAAI,EAAEF,OAAO,CAACE,IAAI,CAAC,CAAC;IACvE,IAAIF,OAAO,CAACG,YAAY,EAAE;MACxB,OAAOH,OAAO,CAACI,WAAW,CAAC,CAAC;IAC9B;IACA,MAAMC,GAAG,GAAG,IAAAC,eAAK,EAACC,MAAM,CAACC,QAAQ,CAACR,OAAO,CAAC,GAAG,IAAAS,qBAAW,EAACT,OAAO,CAAC,GAAGA,OAAO,CAACU,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzF,IAAIX,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,WAAW,EAAE,OAAOM,GAAG,CAACM,WAAW,CAAC,CAAC;IACxE,OAAON,GAAG;EACZ,CAAC;;EAED,MAAMO,aAAa,GAAGA,CAACb,IAAI,EAAEC,OAAO,KAAK;IACvC,IAAIa,KAAK,CAACC,OAAO,CAACd,OAAO,CAAC,EAAE;MAC1BA,OAAO,GAAGA,OAAO,CAACe,GAAG,CAAC,CAAAC,CAAC,KAAIlB,aAAa,CAACC,IAAI,EAAEiB,CAAC,CAAC,CAAC;MAClD,IAAIhB,OAAO,CAACL,MAAM,KAAK,CAAC,EAAEK,OAAO,GAAGA,OAAO,CAACiB,IAAI,CAAC,CAAC;IACpD,CAAC,MAAM;MACLjB,OAAO,GAAGF,aAAa,CAACC,IAAI,EAAEC,OAAO,CAAC;IACxC;IACA,OAAOA,OAAO;EAChB,CAAC;;EAED,MAAMkB,SAAS,GAAGA,CAAAC,GAAG,KAAI;IACvB,IAAI;MACF,MAAM,EAAEC,aAAa,EAAEC,IAAI,EAAEC,IAAI,EAAEC,KAAK,CAAC,CAAC,GAAG1C,iBAAiB,CAAC2C,QAAQ,CAACL,GAAG,CAAC;;MAE5E,MAAM,EAAEM,OAAO,CAAC,CAAC,GAAGN,GAAG;;MAEvB,MAAMO,UAAU,GAAG,EAAE;;MAErB,KAAK,MAAMnC,CAAC,IAAI6B,aAAa,CAACO,MAAM,EAAE;QACpCD,UAAU,CAACE,IAAI;UACbhB,aAAa,CAACQ,aAAa,CAACO,MAAM,CAACpC,CAAC,CAAC,CAACQ,IAAI,EAAEuB,IAAI,CAAC/B,CAAC,CAAC;QACrD,CAAC;MACH;;MAEA,OAAOsC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEX,GAAG,EAAE;QAC5B1B,SAAS,EAAE,IAAAN,kBAAQ,EAACoC,KAAK,CAAC;QAC1BQ,KAAK,EAAEV,IAAI;QACXI,OAAO;QACPH,IAAI,EAAEI,UAAU;QAChB/C,GAAG,EAAEqD,IAAI,CAACC,KAAK,CAACb,aAAa,CAACc,MAAM,CAAC,MAAM,CAAC;MAC9C,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV;MACA,IAAI,CAACA,CAAC,CAACC,OAAO,CAACC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAC5CzD,MAAM,CAAC0D,KAAK,CAACH,CAAC,CAAC;MACjB;MACA,OAAOhB,GAAG;IACZ;EACF,CAAC;;EAED,OAAOU,MAAM,CAACU,MAAM,CAAC,EAAErB,SAAS,EAAElC,WAAW,CAAC,CAAC,CAAC;AAClD,CAAC,IAAAwD,QAAA,GAAAC,OAAA,CAAAC,OAAA;;AAEchE,YAAY"} \ No newline at end of file diff --git a/dist/lib/NativeContracts.js b/dist/lib/NativeContracts.js deleted file mode 100644 index 36f8a08..0000000 --- a/dist/lib/NativeContracts.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.NativeContracts = NativeContracts;exports.default = exports.parseNativeContracts = exports.defaultNativeContracts = void 0; -var _rskUtils = require("rsk-utils"); - -const defaultNativeContracts = { - bridge: '0x0000000000000000000000000000000001000006', - remasc: '0x0000000000000000000000000000000001000008' };exports.defaultNativeContracts = defaultNativeContracts; - - -const parseNativeContracts = nativeContracts => { - if (typeof nativeContracts !== 'object') throw new TypeError(`nativeContracts must be an object`); - if (Object.keys(nativeContracts) < 1) throw new Error(`Empty native contracts list`); - for (let name in nativeContracts) { - let address = nativeContracts[name]; - if (!(0, _rskUtils.isAddress)(address)) throw new Error(`Address of ${name} is not an address`); - nativeContracts[name] = address.toLowerCase(); - } - return nativeContracts; -};exports.parseNativeContracts = parseNativeContracts; - -function NativeContracts({ nativeContracts } = {}) { - nativeContracts = parseNativeContracts(nativeContracts || defaultNativeContracts); - const names = Object.keys(nativeContracts); - - const getNativeContractAddress = contractName => { - return nativeContracts[contractName]; - }; - const getNativeContractName = address => { - address = address.toLowerCase(); - return names.find(name => nativeContracts[name] === address); - }; - - const isNativeContract = address => !!getNativeContractName(address); - - const list = () => nativeContracts; - - return Object.freeze({ getNativeContractAddress, getNativeContractName, isNativeContract, list }); -}var _default = - -NativeContracts;exports.default = _default; \ No newline at end of file diff --git a/dist/lib/NativeContractsEvents.js b/dist/lib/NativeContractsEvents.js deleted file mode 100755 index b2171d0..0000000 --- a/dist/lib/NativeContractsEvents.js +++ /dev/null @@ -1,213 +0,0 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.NativeContractsEvents = NativeContractsEvents;exports.default = void 0;var _rskUtils = require("rsk-utils"); -var btcUtils = _interopRequireWildcard(require("./btcUtils")); -var _utils = require("./utils");function _getRequireWildcardCache() {if (typeof WeakMap !== "function") return null;var cache = new WeakMap();_getRequireWildcardCache = function () {return cache;};return cache;}function _interopRequireWildcard(obj) {if (obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache();if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;} - -function NativeContractsEvents({ bitcoinNetwork } = {}) { - const network = bitcoinNetwork || 'testnet'; - const decodeAddress = address => { - address = Buffer.from((0, _rskUtils.remove0x)(address), 'hex'); - return (0, _rskUtils.add0x)(address.toString('hex').slice(-40)); - }; - - const decodeEventName = name => { - return Buffer.from((0, _rskUtils.remove0x)(name), 'hex').toString('ascii').replace(/\0/g, ''); - }; - - const removeEmptyStartBytes = d => { - d = !Buffer.isBuffer(d) ? Buffer.from(d, 'hex') : d; - return d.slice(d.findIndex(x => x > 0)); - }; - - const decodeData = data => { - let decoded = _rskUtils.rlp.decode(data); - if (!Array.isArray(decoded)) decoded = [decoded]; - return decoded.map(d => (0, _rskUtils.add0x)(removeEmptyStartBytes(d).toString('hex'))); - }; - - const decodeBtcTxHash = data => { - if ((0, _rskUtils.remove0x)(data).length === 128) { - let buffer = Buffer.from((0, _rskUtils.remove0x)(data), 'hex'); - data = (0, _rskUtils.add0x)(buffer.toString('ascii')); - } - return data; - }; - const decodeArray = data => data.map(d => Array.isArray(d) ? decodeArray(d) : (0, _rskUtils.add0x)(d.toString('hex'))); - - const decodeFederationData = data => { - let [a160, keys] = data; - let address = btcUtils.h160toAddress(a160, { prefixKey: 'scriptHash', network }).toString('hex'); - keys = keys.map(d => btcUtils.rskAddressFromBtcPublicKey(d.toString('hex'))); - return [address, keys]; - }; - - const commitFederationDecoder = data => { - const decoded = _rskUtils.rlp.decode(data); - let [oldData, newData, block] = decoded; - let [oldFederationAddress, oldFederationMembers] = decodeFederationData(oldData); - let [newFederationAddress, newFederationMembers] = decodeFederationData(newData); - block = block.toString('ascii'); - return [oldFederationAddress, oldFederationMembers, newFederationAddress, newFederationMembers, block]; - }; - const fakeAbi = Object.freeze((0, _utils.addSignatureDataToAbi)([ - { // Remasc events - anonymous: false, - inputs: [ - { - indexed: true, - name: 'to', - type: 'address' }, - - { - indexed: false, - name: 'blockHash', - type: 'string' }, - - { - indexed: false, - name: 'value', - type: 'uint256' }], - - - name: 'mining_fee_topic', - type: 'event' }, - - { // Bridge events - inputs: [ - { - indexed: false, - name: 'btcTxHash', - type: 'string' }, - - { - indexed: false, - name: 'btcTx', // raw tx? - type: 'string' }], - - - name: 'release_btc_topic', - type: 'event' }, - - { - inputs: [ - { - indexed: false, - name: 'sender', - type: 'address' }], - - - name: 'update_collections_topic', - type: 'event' }, - - { - inputs: [ - { - indexed: false, - name: 'btcTxHash', - type: 'string', - _filter: decodeBtcTxHash }, - - { - indexed: false, - name: 'federatorPublicKey', - type: 'string' }, - - { - indexed: false, - name: 'rskTxHash', - type: 'string' }], - - - name: 'add_signature_topic', - type: 'event' }, - - { - inputs: [ - { - indexed: false, - name: 'oldFederationAddress', - type: 'string' }, - - { - indexed: false, - name: 'oldFederationMembers', - type: 'address[]' }, - - { - indexed: false, - name: 'newFederationAddress', - type: 'string' }, - - { - indexed: false, - name: 'newFederationMembers', - type: 'address[]' }, - - { - indexed: false, - name: 'activationBlockNumber', - type: 'string' }], - - - name: 'commit_federation_topic', - type: 'event', - _decoder: commitFederationDecoder }])); - - - - const getEventAbi = eventName => fakeAbi.find(a => a.name === eventName && a.type === 'event'); - - const decodeByType = (type, value) => { - if (type === 'address') return decodeAddress(value); - return value; - }; - - const decodeInput = (input, value) => { - let { type, _filter } = input; - if (_filter && typeof _filter === 'function') { - value = _filter(value); - } - return decodeByType(type, value); - }; - - const removeCustomProperties = obj => { - const res = Object.assign({}, obj); - for (let p in res) { - if (p[0] === '_') delete res[p]; - } - return res; - }; - - const cleanAbi = abi => { - abi = removeCustomProperties(abi); - let { inputs } = abi; - if (Array.isArray(inputs)) abi.inputs = inputs.map(input => removeCustomProperties(input)); - return abi; - }; - - const decodeLog = log => { - let topics = [...log.topics]; - let event = decodeEventName(topics.shift()); - let abi = getEventAbi(event); - if (event && abi) { - const { signature } = (0, _utils.getSignatureDataFromAbi)(abi); - log.event = event; - log.signature = signature; - log.abi = cleanAbi(abi); - log.args = []; - const decoder = abi._decoder || decodeData; - let dataDecoded = decoder(log.data); - if (!Array.isArray(dataDecoded)) dataDecoded = [dataDecoded]; - for (let i in abi.inputs) { - let input = abi.inputs[i]; - let { indexed } = input; - let value = indexed === true ? topics[i] : dataDecoded[i - topics.length]; - let decoded = decodeInput(input, value); - if (decoded) log.args.push(decoded); - } - } - return log; - }; - return Object.freeze({ decodeLog, abi: fakeAbi }); -}var _default = - -NativeContractsEvents;exports.default = _default; \ No newline at end of file diff --git a/dist/lib/btcUtils.js b/dist/lib/btcUtils.js index bcc18f7..3d3eb99 100755 --- a/dist/lib/btcUtils.js +++ b/dist/lib/btcUtils.js @@ -1,23 +1,23 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.rskAddressFromBtcPublicKey = exports.compressPublic = exports.decompressPublic = exports.parsePublic = exports.pubToAddress = exports.h160toAddress = exports.h160 = exports.sha256 = void 0;var _crypto = _interopRequireDefault(require("crypto")); +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.sha256 = exports.rskAddressFromBtcPublicKey = exports.pubToAddress = exports.parsePublic = exports.h160toAddress = exports.h160 = exports.decompressPublic = exports.compressPublic = void 0;var _crypto = _interopRequireDefault(require("crypto")); var bs58 = _interopRequireWildcard(require("bs58")); var _rskUtils = require("@rsksmart/rsk-utils"); -var _secp256k = _interopRequireDefault(require("secp256k1"));function _getRequireWildcardCache() {if (typeof WeakMap !== "function") return null;var cache = new WeakMap();_getRequireWildcardCache = function () {return cache;};return cache;}function _interopRequireWildcard(obj) {if (obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache();if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} +var _secp256k = _interopRequireDefault(require("secp256k1"));function _getRequireWildcardCache(e) {if ("function" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || "object" != typeof e && "function" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} const PREFIXES = { mainnet: { pubKeyHash: '00', - scriptHash: '05' }, - + scriptHash: '05' + }, testnet: { pubKeyHash: '6F', - scriptHash: 'C4' }, - + scriptHash: 'C4' + }, regtest: { pubKeyHash: '00', - scriptHash: '00' } }; - - -const getNetPrefix = netName => { + scriptHash: '00' + } +}; +const getNetPrefix = (netName) => { let prefixes = PREFIXES[netName]; if (!prefixes) throw new Error(`Unknown network ${netName}`); return prefixes; @@ -48,8 +48,9 @@ const parsePublic = (pub, compressed) => { return _secp256k.default.publicKeyConvert(pub, compressed); };exports.parsePublic = parsePublic; -const decompressPublic = compressed => parsePublic(compressed, false).toString('hex');exports.decompressPublic = decompressPublic; +const decompressPublic = (compressed) => parsePublic(compressed, false).toString('hex');exports.decompressPublic = decompressPublic; -const compressPublic = pub => parsePublic(pub, true).toString('hex');exports.compressPublic = compressPublic; +const compressPublic = (pub) => parsePublic(pub, true).toString('hex');exports.compressPublic = compressPublic; -const rskAddressFromBtcPublicKey = cpk => (0, _rskUtils.add0x)((0, _rskUtils.keccak256)(parsePublic(cpk, false).slice(1)).slice(-40));exports.rskAddressFromBtcPublicKey = rskAddressFromBtcPublicKey; \ No newline at end of file +const rskAddressFromBtcPublicKey = (cpk) => (0, _rskUtils.add0x)((0, _rskUtils.keccak256)(parsePublic(cpk, false).slice(1)).slice(-40));exports.rskAddressFromBtcPublicKey = rskAddressFromBtcPublicKey; +//# sourceMappingURL=btcUtils.js.map \ No newline at end of file diff --git a/dist/lib/btcUtils.js.map b/dist/lib/btcUtils.js.map new file mode 100644 index 0000000..8ec8567 --- /dev/null +++ b/dist/lib/btcUtils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"btcUtils.js","names":["_crypto","_interopRequireDefault","require","bs58","_interopRequireWildcard","_rskUtils","_secp256k","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","PREFIXES","mainnet","pubKeyHash","scriptHash","testnet","regtest","getNetPrefix","netName","prefixes","Error","createHash","val","from","to","crypto","update","digest","sha256","remove0x","exports","h160","h160toAddress","hash160","network","prefixKey","prefix","Buffer","isBuffer","toString","check","slice","encode","pubToAddress","pub","parsePublic","compressed","secp256k1","publicKeyConvert","decompressPublic","compressPublic","rskAddressFromBtcPublicKey","cpk","add0x","keccak256"],"sources":["../../src/lib/btcUtils.js"],"sourcesContent":["import crypto from 'crypto'\nimport * as bs58 from 'bs58'\nimport { remove0x, add0x, keccak256 } from '@rsksmart/rsk-utils'\nimport secp256k1 from 'secp256k1'\n\nconst PREFIXES = {\n mainnet: {\n pubKeyHash: '00',\n scriptHash: '05'\n },\n testnet: {\n pubKeyHash: '6F',\n scriptHash: 'C4'\n },\n regtest: {\n pubKeyHash: '00',\n scriptHash: '00'\n }\n}\nconst getNetPrefix = netName => {\n let prefixes = PREFIXES[netName]\n if (!prefixes) throw new Error(`Unknown network ${netName}`)\n return prefixes\n}\n\nconst createHash = (a, val, from = 'hex', to = 'hex') => crypto.createHash(a).update(val, from).digest(to)\n\nexport const sha256 = (val, from, to) => createHash('sha256', remove0x(val), from, to)\n\nexport const h160 = (val, from, to) => createHash('ripemd160', remove0x(val), from, to)\n\nexport const h160toAddress = (hash160, { network, prefixKey }) => {\n network = network || 'mainnet'\n prefixKey = prefixKey || 'pubKeyHash'\n const prefix = getNetPrefix(network)[prefixKey]\n hash160 = (Buffer.isBuffer(hash160)) ? hash160.toString('hex') : remove0x(hash160)\n hash160 = `${prefix}${hash160}`\n let check = sha256(sha256(hash160)).slice(0, 8)\n return bs58.encode(Buffer.from(`${hash160}${check}`, 'hex'))\n}\n\nexport const pubToAddress = (pub, network) => {\n return h160toAddress(h160(sha256(remove0x(pub))), { network })\n}\n\nexport const parsePublic = (pub, compressed) => {\n pub = (!Buffer.isBuffer(pub)) ? Buffer.from(remove0x(pub), 'hex') : pub\n return secp256k1.publicKeyConvert(pub, compressed)\n}\n\nexport const decompressPublic = compressed => parsePublic(compressed, false).toString('hex')\n\nexport const compressPublic = pub => parsePublic(pub, true).toString('hex')\n\nexport const rskAddressFromBtcPublicKey = cpk => add0x(keccak256(parsePublic(cpk, false).slice(1)).slice(-40))\n"],"mappings":"gRAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA,eAAiC,SAAAK,yBAAAC,CAAA,4BAAAC,OAAA,kBAAAC,CAAA,OAAAD,OAAA,GAAAE,CAAA,OAAAF,OAAA,WAAAF,wBAAA,YAAAA,CAAAC,CAAA,UAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,IAAAF,CAAA,YAAAJ,wBAAAI,CAAA,EAAAE,CAAA,QAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,cAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,OAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,MAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,MAAAQ,CAAA,KAAAC,SAAA,SAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,UAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,QAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,SAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,UAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA,WAAAf,uBAAA2B,GAAA,UAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;;AAEjC,MAAMC,QAAQ,GAAG;EACfC,OAAO,EAAE;IACPC,UAAU,EAAE,IAAI;IAChBC,UAAU,EAAE;EACd,CAAC;EACDC,OAAO,EAAE;IACPF,UAAU,EAAE,IAAI;IAChBC,UAAU,EAAE;EACd,CAAC;EACDE,OAAO,EAAE;IACPH,UAAU,EAAE,IAAI;IAChBC,UAAU,EAAE;EACd;AACF,CAAC;AACD,MAAMG,YAAY,GAAGA,CAAAC,OAAO,KAAI;EAC9B,IAAIC,QAAQ,GAAGR,QAAQ,CAACO,OAAO,CAAC;EAChC,IAAI,CAACC,QAAQ,EAAE,MAAM,IAAIC,KAAK,CAAE,mBAAkBF,OAAQ,EAAC,CAAC;EAC5D,OAAOC,QAAQ;AACjB,CAAC;;AAED,MAAME,UAAU,GAAGA,CAACrB,CAAC,EAAEsB,GAAG,EAAEC,IAAI,GAAG,KAAK,EAAEC,EAAE,GAAG,KAAK,KAAKC,eAAM,CAACJ,UAAU,CAACrB,CAAC,CAAC,CAAC0B,MAAM,CAACJ,GAAG,EAAEC,IAAI,CAAC,CAACI,MAAM,CAACH,EAAE,CAAC;;AAEnG,MAAMI,MAAM,GAAGA,CAACN,GAAG,EAAEC,IAAI,EAAEC,EAAE,KAAKH,UAAU,CAAC,QAAQ,EAAE,IAAAQ,kBAAQ,EAACP,GAAG,CAAC,EAAEC,IAAI,EAAEC,EAAE,CAAC,CAAAM,OAAA,CAAAF,MAAA,GAAAA,MAAA;;AAE/E,MAAMG,IAAI,GAAGA,CAACT,GAAG,EAAEC,IAAI,EAAEC,EAAE,KAAKH,UAAU,CAAC,WAAW,EAAE,IAAAQ,kBAAQ,EAACP,GAAG,CAAC,EAAEC,IAAI,EAAEC,EAAE,CAAC,CAAAM,OAAA,CAAAC,IAAA,GAAAA,IAAA;;AAEhF,MAAMC,aAAa,GAAGA,CAACC,OAAO,EAAE,EAAEC,OAAO,EAAEC,SAAS,CAAC,CAAC,KAAK;EAChED,OAAO,GAAGA,OAAO,IAAI,SAAS;EAC9BC,SAAS,GAAGA,SAAS,IAAI,YAAY;EACrC,MAAMC,MAAM,GAAGnB,YAAY,CAACiB,OAAO,CAAC,CAACC,SAAS,CAAC;EAC/CF,OAAO,GAAII,MAAM,CAACC,QAAQ,CAACL,OAAO,CAAC,GAAIA,OAAO,CAACM,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAAV,kBAAQ,EAACI,OAAO,CAAC;EAClFA,OAAO,GAAI,GAAEG,MAAO,GAAEH,OAAQ,EAAC;EAC/B,IAAIO,KAAK,GAAGZ,MAAM,CAACA,MAAM,CAACK,OAAO,CAAC,CAAC,CAACQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;EAC/C,OAAOxD,IAAI,CAACyD,MAAM,CAACL,MAAM,CAACd,IAAI,CAAE,GAAEU,OAAQ,GAAEO,KAAM,EAAC,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAAV,OAAA,CAAAE,aAAA,GAAAA,aAAA;;AAEM,MAAMW,YAAY,GAAGA,CAACC,GAAG,EAAEV,OAAO,KAAK;EAC5C,OAAOF,aAAa,CAACD,IAAI,CAACH,MAAM,CAAC,IAAAC,kBAAQ,EAACe,GAAG,CAAC,CAAC,CAAC,EAAE,EAAEV,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC,CAAAJ,OAAA,CAAAa,YAAA,GAAAA,YAAA;;AAEM,MAAME,WAAW,GAAGA,CAACD,GAAG,EAAEE,UAAU,KAAK;EAC9CF,GAAG,GAAI,CAACP,MAAM,CAACC,QAAQ,CAACM,GAAG,CAAC,GAAIP,MAAM,CAACd,IAAI,CAAC,IAAAM,kBAAQ,EAACe,GAAG,CAAC,EAAE,KAAK,CAAC,GAAGA,GAAG;EACvE,OAAOG,iBAAS,CAACC,gBAAgB,CAACJ,GAAG,EAAEE,UAAU,CAAC;AACpD,CAAC,CAAAhB,OAAA,CAAAe,WAAA,GAAAA,WAAA;;AAEM,MAAMI,gBAAgB,GAAGA,CAAAH,UAAU,KAAID,WAAW,CAACC,UAAU,EAAE,KAAK,CAAC,CAACP,QAAQ,CAAC,KAAK,CAAC,CAAAT,OAAA,CAAAmB,gBAAA,GAAAA,gBAAA;;AAErF,MAAMC,cAAc,GAAGA,CAAAN,GAAG,KAAIC,WAAW,CAACD,GAAG,EAAE,IAAI,CAAC,CAACL,QAAQ,CAAC,KAAK,CAAC,CAAAT,OAAA,CAAAoB,cAAA,GAAAA,cAAA;;AAEpE,MAAMC,0BAA0B,GAAGA,CAAAC,GAAG,KAAI,IAAAC,eAAK,EAAC,IAAAC,mBAAS,EAACT,WAAW,CAACO,GAAG,EAAE,KAAK,CAAC,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAAX,OAAA,CAAAqB,0BAAA,GAAAA,0BAAA"} \ No newline at end of file diff --git a/dist/lib/compileJsonAbis.js b/dist/lib/compileJsonAbis.js index f0ceb8e..37f76c1 100755 --- a/dist/lib/compileJsonAbis.js +++ b/dist/lib/compileJsonAbis.js @@ -12,7 +12,7 @@ const jsonPath = `${__dirname}/jsonAbis`; const ozPath = _path.default.resolve('node_modules/openzeppelin-solidity/build/contracts'); const destinationFile = `${__dirname}/compiled_abi.json`; -compileAbi([jsonPath, ozPath]).then(abi => { +compileAbi([jsonPath, ozPath]).then((abi) => { writeFile(destinationFile, JSON.stringify(abi, null, 2)). then(() => { console.log(`New ABI saved on ${destinationFile}`); @@ -25,11 +25,11 @@ async function compileAbi(dirs) { let jsonFiles = []; for (let dir of dirs) { let files = await readDir(dir); - files = files.filter(file => _path.default.extname(file) === '.json'); + files = files.filter((file) => _path.default.extname(file) === '.json'); if (!files || !files.length) throw new Error(`No json files in dir ${dir}`); - jsonFiles = jsonFiles.concat(files.map(file => `${dir}/${file}`)); + jsonFiles = jsonFiles.concat(files.map((file) => `${dir}/${file}`)); } - let abi = await Promise.all(jsonFiles.map(file => readJson(`${file}`).then(content => { + let abi = await Promise.all(jsonFiles.map((file) => readJson(`${file}`).then((content) => { return Array.isArray(content) ? content : content.abi; }))); if (!abi) throw new Error(`Invalid abi `); @@ -55,15 +55,15 @@ async function readJson(file) { function processAbi(abi) { // remove fallbacks - abi = abi.filter(a => a.type !== 'fallback'); + abi = abi.filter((a) => a.type !== 'fallback'); // remove duplicates - abi = [...new Set(abi.map(a => JSON.stringify(a)))].map(a => JSON.parse(a)); + abi = [...new Set(abi.map((a) => JSON.stringify(a)))].map((a) => JSON.parse(a)); // add signatures abi = (0, _utils.addSignatureDataToAbi)(abi); // detect 4 bytes collisions - let signatures = abi.map(a => a[_types.ABI_SIGNATURE].signature).filter(v => v); + let signatures = abi.map((a) => a[_types.ABI_SIGNATURE].signature).filter((v) => v); signatures = [...new Set(signatures)]; - let fourBytes = signatures.map(s => s.slice(0, 8)); + let fourBytes = signatures.map((s) => s.slice(0, 8)); if (fourBytes.length !== [...new Set(fourBytes)].length) { console.log(fourBytes.filter((v, i) => fourBytes.indexOf(v) !== i)); throw new Error('4bytes collision'); @@ -73,7 +73,8 @@ function processAbi(abi) { return abi; } -process.on('unhandledRejection', err => { +process.on('unhandledRejection', (err) => { console.error(err); process.exit(9); -}); \ No newline at end of file +}); +//# sourceMappingURL=compileJsonAbis.js.map \ No newline at end of file diff --git a/dist/lib/compileJsonAbis.js.map b/dist/lib/compileJsonAbis.js.map new file mode 100644 index 0000000..91c2d7a --- /dev/null +++ b/dist/lib/compileJsonAbis.js.map @@ -0,0 +1 @@ +{"version":3,"file":"compileJsonAbis.js","names":["_fs","_interopRequireDefault","require","_util","_path","_types","_utils","obj","__esModule","default","readDir","util","promisify","fs","readdir","readFile","writeFile","jsonPath","__dirname","ozPath","path","resolve","destinationFile","compileAbi","then","abi","JSON","stringify","console","log","process","exit","dirs","jsonFiles","dir","files","filter","file","extname","length","Error","concat","map","Promise","all","readJson","content","Array","isArray","reduce","a","v","i","array","processAbi","err","json","parse","reject","type","Set","addSignatureDataToAbi","signatures","ABI_SIGNATURE","signature","fourBytes","s","slice","indexOf","filterEvents","on","error"],"sources":["../../src/lib/compileJsonAbis.js"],"sourcesContent":["import fs from 'fs'\nimport util from 'util'\nimport path from 'path'\nimport { ABI_SIGNATURE } from './types'\nimport { addSignatureDataToAbi, filterEvents } from './utils'\n\nconst readDir = util.promisify(fs.readdir)\nconst readFile = util.promisify(fs.readFile)\nconst writeFile = util.promisify(fs.writeFile)\n\nconst jsonPath = `${__dirname}/jsonAbis`\nconst ozPath = path.resolve('node_modules/openzeppelin-solidity/build/contracts')\nconst destinationFile = `${__dirname}/compiled_abi.json`\n\ncompileAbi([jsonPath, ozPath]).then(abi => {\n writeFile(destinationFile, JSON.stringify(abi, null, 2))\n .then(() => {\n console.log(`New ABI saved on ${destinationFile}`)\n process.exit(0)\n })\n})\n\nasync function compileAbi (dirs) {\n try {\n let jsonFiles = []\n for (let dir of dirs) {\n let files = await readDir(dir)\n files = files.filter(file => path.extname(file) === '.json')\n if (!files || !files.length) throw new Error(`No json files in dir ${dir}`)\n jsonFiles = jsonFiles.concat(files.map(file => `${dir}/${file}`))\n }\n let abi = await Promise.all(jsonFiles.map(file => readJson(`${file}`).then(content => {\n return (Array.isArray(content)) ? content : content.abi\n })))\n if (!abi) throw new Error(`Invalid abi `)\n abi = abi.reduce((a, v, i, array) => v.concat(a))\n abi = processAbi(abi)\n return abi\n } catch (err) {\n console.log('Compile Error', err)\n process.exit(9)\n }\n}\n\nasync function readJson (file) {\n console.log(`Reading file ${file}`)\n try {\n let json = await readFile(file, 'utf-8')\n return JSON.parse(json)\n } catch (err) {\n console.log(file, err)\n return Promise.reject(err)\n }\n}\n\nexport function processAbi (abi) {\n // remove fallbacks\n abi = abi.filter(a => a.type !== 'fallback')\n // remove duplicates\n abi = [...new Set(abi.map(a => JSON.stringify(a)))].map(a => JSON.parse(a))\n // add signatures\n abi = addSignatureDataToAbi(abi)\n // detect 4 bytes collisions\n let signatures = (abi.map(a => a[ABI_SIGNATURE].signature)).filter(v => v)\n signatures = [...new Set(signatures)]\n let fourBytes = signatures.map(s => s.slice(0, 8))\n if (fourBytes.length !== [...new Set(fourBytes)].length) {\n console.log(fourBytes.filter((v, i) => fourBytes.indexOf(v) !== i))\n throw new Error('4bytes collision')\n }\n // filter events\n abi = filterEvents(abi)\n return abi\n}\n\nprocess.on('unhandledRejection', err => {\n console.error(err)\n process.exit(9)\n})\n"],"mappings":"2GAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA,YAA6D,SAAAD,uBAAAM,GAAA,UAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;;AAE7D,MAAMG,OAAO,GAAGC,aAAI,CAACC,SAAS,CAACC,WAAE,CAACC,OAAO,CAAC;AAC1C,MAAMC,QAAQ,GAAGJ,aAAI,CAACC,SAAS,CAACC,WAAE,CAACE,QAAQ,CAAC;AAC5C,MAAMC,SAAS,GAAGL,aAAI,CAACC,SAAS,CAACC,WAAE,CAACG,SAAS,CAAC;;AAE9C,MAAMC,QAAQ,GAAI,GAAEC,SAAU,WAAU;AACxC,MAAMC,MAAM,GAAGC,aAAI,CAACC,OAAO,CAAC,oDAAoD,CAAC;AACjF,MAAMC,eAAe,GAAI,GAAEJ,SAAU,oBAAmB;;AAExDK,UAAU,CAAC,CAACN,QAAQ,EAAEE,MAAM,CAAC,CAAC,CAACK,IAAI,CAAC,CAAAC,GAAG,KAAI;EACzCT,SAAS,CAACM,eAAe,EAAEI,IAAI,CAACC,SAAS,CAACF,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;EACrDD,IAAI,CAAC,MAAM;IACVI,OAAO,CAACC,GAAG,CAAE,oBAAmBP,eAAgB,EAAC,CAAC;IAClDQ,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;EACjB,CAAC,CAAC;AACN,CAAC,CAAC;;AAEF,eAAeR,UAAUA,CAAES,IAAI,EAAE;EAC/B,IAAI;IACF,IAAIC,SAAS,GAAG,EAAE;IAClB,KAAK,IAAIC,GAAG,IAAIF,IAAI,EAAE;MACpB,IAAIG,KAAK,GAAG,MAAMzB,OAAO,CAACwB,GAAG,CAAC;MAC9BC,KAAK,GAAGA,KAAK,CAACC,MAAM,CAAC,CAAAC,IAAI,KAAIjB,aAAI,CAACkB,OAAO,CAACD,IAAI,CAAC,KAAK,OAAO,CAAC;MAC5D,IAAI,CAACF,KAAK,IAAI,CAACA,KAAK,CAACI,MAAM,EAAE,MAAM,IAAIC,KAAK,CAAE,wBAAuBN,GAAI,EAAC,CAAC;MAC3ED,SAAS,GAAGA,SAAS,CAACQ,MAAM,CAACN,KAAK,CAACO,GAAG,CAAC,CAAAL,IAAI,KAAK,GAAEH,GAAI,IAAGG,IAAK,EAAC,CAAC,CAAC;IACnE;IACA,IAAIZ,GAAG,GAAG,MAAMkB,OAAO,CAACC,GAAG,CAACX,SAAS,CAACS,GAAG,CAAC,CAAAL,IAAI,KAAIQ,QAAQ,CAAE,GAAER,IAAK,EAAC,CAAC,CAACb,IAAI,CAAC,CAAAsB,OAAO,KAAI;MACpF,OAAQC,KAAK,CAACC,OAAO,CAACF,OAAO,CAAC,GAAIA,OAAO,GAAGA,OAAO,CAACrB,GAAG;IACzD,CAAC,CAAC,CAAC,CAAC;IACJ,IAAI,CAACA,GAAG,EAAE,MAAM,IAAIe,KAAK,CAAE,cAAa,CAAC;IACzCf,GAAG,GAAGA,GAAG,CAACwB,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,KAAK,KAAKF,CAAC,CAACV,MAAM,CAACS,CAAC,CAAC,CAAC;IACjDzB,GAAG,GAAG6B,UAAU,CAAC7B,GAAG,CAAC;IACrB,OAAOA,GAAG;EACZ,CAAC,CAAC,OAAO8B,GAAG,EAAE;IACZ3B,OAAO,CAACC,GAAG,CAAC,eAAe,EAAE0B,GAAG,CAAC;IACjCzB,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;EACjB;AACF;;AAEA,eAAec,QAAQA,CAAER,IAAI,EAAE;EAC7BT,OAAO,CAACC,GAAG,CAAE,gBAAeQ,IAAK,EAAC,CAAC;EACnC,IAAI;IACF,IAAImB,IAAI,GAAG,MAAMzC,QAAQ,CAACsB,IAAI,EAAE,OAAO,CAAC;IACxC,OAAOX,IAAI,CAAC+B,KAAK,CAACD,IAAI,CAAC;EACzB,CAAC,CAAC,OAAOD,GAAG,EAAE;IACZ3B,OAAO,CAACC,GAAG,CAACQ,IAAI,EAAEkB,GAAG,CAAC;IACtB,OAAOZ,OAAO,CAACe,MAAM,CAACH,GAAG,CAAC;EAC5B;AACF;;AAEO,SAASD,UAAUA,CAAE7B,GAAG,EAAE;EAC/B;EACAA,GAAG,GAAGA,GAAG,CAACW,MAAM,CAAC,CAAAc,CAAC,KAAIA,CAAC,CAACS,IAAI,KAAK,UAAU,CAAC;EAC5C;EACAlC,GAAG,GAAG,CAAC,GAAG,IAAImC,GAAG,CAACnC,GAAG,CAACiB,GAAG,CAAC,CAAAQ,CAAC,KAAIxB,IAAI,CAACC,SAAS,CAACuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAACR,GAAG,CAAC,CAAAQ,CAAC,KAAIxB,IAAI,CAAC+B,KAAK,CAACP,CAAC,CAAC,CAAC;EAC3E;EACAzB,GAAG,GAAG,IAAAoC,4BAAqB,EAACpC,GAAG,CAAC;EAChC;EACA,IAAIqC,UAAU,GAAIrC,GAAG,CAACiB,GAAG,CAAC,CAAAQ,CAAC,KAAIA,CAAC,CAACa,oBAAa,CAAC,CAACC,SAAS,CAAC,CAAE5B,MAAM,CAAC,CAAAe,CAAC,KAAIA,CAAC,CAAC;EAC1EW,UAAU,GAAG,CAAC,GAAG,IAAIF,GAAG,CAACE,UAAU,CAAC,CAAC;EACrC,IAAIG,SAAS,GAAGH,UAAU,CAACpB,GAAG,CAAC,CAAAwB,CAAC,KAAIA,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,IAAIF,SAAS,CAAC1B,MAAM,KAAK,CAAC,GAAG,IAAIqB,GAAG,CAACK,SAAS,CAAC,CAAC,CAAC1B,MAAM,EAAE;IACvDX,OAAO,CAACC,GAAG,CAACoC,SAAS,CAAC7B,MAAM,CAAC,CAACe,CAAC,EAAEC,CAAC,KAAKa,SAAS,CAACG,OAAO,CAACjB,CAAC,CAAC,KAAKC,CAAC,CAAC,CAAC;IACnE,MAAM,IAAIZ,KAAK,CAAC,kBAAkB,CAAC;EACrC;EACA;EACAf,GAAG,GAAG,IAAA4C,mBAAY,EAAC5C,GAAG,CAAC;EACvB,OAAOA,GAAG;AACZ;;AAEAK,OAAO,CAACwC,EAAE,CAAC,oBAAoB,EAAE,CAAAf,GAAG,KAAI;EACtC3B,OAAO,CAAC2C,KAAK,CAAChB,GAAG,CAAC;EAClBzB,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/lib/compiled_abi.json b/dist/lib/compiled_abi.json index 8af592f..5313c4e 100755 --- a/dist/lib/compiled_abi.json +++ b/dist/lib/compiled_abi.json @@ -1,31 +1,11 @@ [ - { - "constant": false, - "inputs": [ - { - "name": "recipient", - "type": "address" - } - ], - "name": "transferPrimary", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "transferPrimary(address)", - "signature": "2348238cf135e5fa7570fa30dc67d8f7f40e6d9ebd999f20eb992f9685ee8bed", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, { "constant": true, "inputs": [], "name": "primary", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -45,14 +25,17 @@ "constant": false, "inputs": [ { + "internalType": "contract IERC20", "name": "token", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" } @@ -71,51 +54,51 @@ } }, { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "string" + "internalType": "address", + "name": "recipient", + "type": "address" } ], + "name": "transferPrimary", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "name()", - "signature": "06fdde0383f15d582d1a74511486c9ddf862a882fb7904b3d9fe9b8b8e58a796", + "method": "transferPrimary(address)", + "signature": "2348238cf135e5fa7570fa30dc67d8f7f40e6d9ebd999f20eb992f9685ee8bed", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "spender", - "type": "address" + "internalType": "string", + "name": "name", + "type": "string" }, { - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ + "internalType": "string", + "name": "symbol", + "type": "string" + }, { - "name": "", - "type": "bool" + "internalType": "uint8", + "name": "decimals", + "type": "uint8" } ], "payable": false, "stateMutability": "nonpayable", - "type": "function", + "type": "constructor", "__signatureData": { - "method": "approve(address,uint256)", - "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -123,41 +106,32 @@ }, { "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "totalSupply()", - "signature": "18160ddd7f15c72528c2f94fd8dfe3c8d5aa26e2c50c7d81f4bc7bee8d4b7932", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [], - "name": "decimals", + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "uint8" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "decimals()", - "signature": "313ce567add4d438edf58b94ff345d7d38c45b17dfc0f947988d7819dca364f9", + "method": "allowance(address,address)", + "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", "index": [], "indexed": 0, "eventSignature": null @@ -167,17 +141,20 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "spender", "type": "address" }, { - "name": "addedValue", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "increaseAllowance", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -186,8 +163,8 @@ "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "increaseAllowance(address,uint256)", - "signature": "39509351d3325647dde3fdd3c8b249adfe89ef4f16d76d83768e6df7a5cd81d6", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null @@ -197,6 +174,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -204,6 +182,7 @@ "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -222,19 +201,20 @@ { "constant": true, "inputs": [], - "name": "symbol", + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "string" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "symbol()", - "signature": "95d89b41e2f5f391a79ec54e9d87c79d6e777c63e32c28da95b4e9e4a79250ec", + "method": "decimals()", + "signature": "313ce567add4d438edf58b94ff345d7d38c45b17dfc0f947988d7819dca364f9", "index": [], "indexed": 0, "eventSignature": null @@ -244,10 +224,12 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "spender", "type": "address" }, { + "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } @@ -255,6 +237,7 @@ "name": "decreaseAllowance", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -274,17 +257,20 @@ "constant": false, "inputs": [ { - "name": "recipient", + "internalType": "address", + "name": "spender", "type": "address" }, { - "name": "amount", + "internalType": "uint256", + "name": "addedValue", "type": "uint256" } ], - "name": "transfer", + "name": "increaseAllowance", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -293,59 +279,79 @@ "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transfer(address,uint256)", - "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", + "method": "increaseAllowance(address,uint256)", + "signature": "39509351d3325647dde3fdd3c8b249adfe89ef4f16d76d83768e6df7a5cd81d6", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "name", - "type": "string" - }, - { - "name": "symbol", - "type": "string" + "internalType": "address", + "name": "account", + "type": "address" }, { - "name": "decimals", - "type": "uint8" + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], + "name": "mint", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "mint(address,uint256)", + "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ { - "name": "account", - "type": "address" - }, + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "name()", + "signature": "06fdde0383f15d582d1a74511486c9ddf862a882fb7904b3d9fe9b8b8e58a796", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ { - "name": "amount", - "type": "uint256" + "internalType": "string", + "name": "", + "type": "string" } ], - "name": "mint", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "mint(address,uint256)", - "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", + "method": "symbol()", + "signature": "95d89b41e2f5f391a79ec54e9d87c79d6e777c63e32c28da95b4e9e4a79250ec", "index": [], "indexed": 0, "eventSignature": null @@ -353,29 +359,54 @@ }, { "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "totalSupply()", + "signature": "18160ddd7f15c72528c2f94fd8dfe3c8d5aa26e2c50c7d81f4bc7bee8d4b7932", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "recipient", "type": "address" }, { - "name": "spender", - "type": "address" + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "allowance", + "name": "transfer", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "allowance(address,address)", - "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", + "method": "transfer(address,uint256)", + "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", "index": [], "indexed": 0, "eventSignature": null @@ -385,14 +416,17 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "sender", "type": "address" }, { + "internalType": "address", "name": "recipient", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" } @@ -400,6 +434,7 @@ "name": "transferFrom", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -419,18 +454,19 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "addWhitelisted", + "name": "addWhitelistAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "addWhitelisted(address)", - "signature": "10154bad5f8b58b5821c989aa3a19216f4f0f6a424c9d495316ed99eabc9d113", + "method": "addWhitelistAdmin(address)", + "signature": "7362d9c8efb3b4fda01af82f687b8894972c34de57e88a1ad22687e2bf5986ba", "index": [], "indexed": 0, "eventSignature": null @@ -440,18 +476,19 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "removeWhitelisted", + "name": "addWhitelisted", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "removeWhitelisted(address)", - "signature": "291d954951cd7ba0ec12a5dcf299b5a560d33289ca3ac9705bd27b3d3dd58cc5", + "method": "addWhitelisted(address)", + "signature": "10154bad5f8b58b5821c989aa3a19216f4f0f6a424c9d495316ed99eabc9d113", "index": [], "indexed": 0, "eventSignature": null @@ -461,13 +498,15 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "isWhitelisted", + "name": "isWhitelistAdmin", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -476,45 +515,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "isWhitelisted(address)", - "signature": "3af32abf6dd58f324dd88f0cedc69529dd503406094dc24662635caa70d9a021", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "renounceWhitelistAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "renounceWhitelistAdmin()", - "signature": "4c5a628c0a9c4a8806d71b7d5e87a7de26f71c356aff7925d80a15cbe14f0cbb", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "addWhitelistAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "addWhitelistAdmin(address)", - "signature": "7362d9c8efb3b4fda01af82f687b8894972c34de57e88a1ad22687e2bf5986ba", + "method": "isWhitelistAdmin(address)", + "signature": "bb5f747b7234573d42296873730b7cd00c26493ecd02a4763c67c0c7a025f6a1", "index": [], "indexed": 0, "eventSignature": null @@ -524,13 +526,15 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "isWhitelistAdmin", + "name": "isWhitelisted", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -539,24 +543,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "isWhitelistAdmin(address)", - "signature": "bb5f747b7234573d42296873730b7cd00c26493ecd02a4763c67c0c7a025f6a1", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "renounceWhitelisted", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "renounceWhitelisted()", - "signature": "d6cd9473b95d75ff40cd7a5b8c3bc34d17cdc7c75b5a9c2c4c6744beff129e46", + "method": "isWhitelisted(address)", + "signature": "3af32abf6dd58f324dd88f0cedc69529dd503406094dc24662635caa70d9a021", "index": [], "indexed": 0, "eventSignature": null @@ -579,63 +567,22 @@ } }, { - "constant": true, - "inputs": [], - "name": "rate", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "rate()", - "signature": "2c4e722ec6511e89f25f244e462d7b9552e4a1e9b6043fd124a874a67f5c804f", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [], - "name": "weiRaised", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "weiRaised()", - "signature": "4042b66fe5f2644ad71dd4e339299721a4fb92741a7427e3a9e94931da295cca", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [], - "name": "wallet", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "address", + "name": "account", "type": "address" } ], + "name": "removeWhitelisted", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "wallet()", - "signature": "521eb2736f64b43875f0b44fdc29304541dcc3cd844822ef0697470d90c3e124", + "method": "removeWhitelisted(address)", + "signature": "291d954951cd7ba0ec12a5dcf299b5a560d33289ca3ac9705bd27b3d3dd58cc5", "index": [], "indexed": 0, "eventSignature": null @@ -643,41 +590,31 @@ }, { "constant": false, - "inputs": [ - { - "name": "beneficiary", - "type": "address" - } - ], - "name": "buyTokens", + "inputs": [], + "name": "renounceWhitelistAdmin", "outputs": [], - "payable": true, - "stateMutability": "payable", + "payable": false, + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "buyTokens(address)", - "signature": "ec8ac4d8ebf67e3f8d982a81442192b39118de75f74dd3987cc13070ca1c53e0", + "method": "renounceWhitelistAdmin()", + "signature": "4c5a628c0a9c4a8806d71b7d5e87a7de26f71c356aff7925d80a15cbe14f0cbb", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "token", - "outputs": [ - { - "name": "", - "type": "address" - } - ], + "name": "renounceWhitelisted", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "token()", - "signature": "fc0c546a8dce9d6e9b97c086302918c9106d97a17809f6bcacfe02124763cb39", + "method": "renounceWhitelisted()", + "signature": "d6cd9473b95d75ff40cd7a5b8c3bc34d17cdc7c75b5a9c2c4c6744beff129e46", "index": [], "indexed": 0, "eventSignature": null @@ -686,14 +623,17 @@ { "inputs": [ { + "internalType": "uint256", "name": "_rate", "type": "uint256" }, { + "internalType": "address payable", "name": "_wallet", "type": "address" }, { + "internalType": "contract IERC20", "name": "_token", "type": "address" } @@ -713,18 +653,19 @@ "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "beneficiary", "type": "address" } ], - "name": "removeWhitelistAdmin", + "name": "buyTokens", "outputs": [], - "payable": false, - "stateMutability": "nonpayable", + "payable": true, + "stateMutability": "payable", "type": "function", "__signatureData": { - "method": "removeWhitelistAdmin(address)", - "signature": "6897e9747da0ffb9f264b876f5c2b2227ac56f9fdaa6c5d73f8a8ad061690be5", + "method": "buyTokens(address)", + "signature": "ec8ac4d8ebf67e3f8d982a81442192b39118de75f74dd3987cc13070ca1c53e0", "index": [], "indexed": 0, "eventSignature": null @@ -733,43 +674,64 @@ { "constant": true, "inputs": [], - "name": "onlyWhitelistAdminMock", - "outputs": [], + "name": "rate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "onlyWhitelistAdminMock()", - "signature": "564c74a37341f8fc0183d333b61f1340909400bf0ae5f30577d4b88b3da10175", + "method": "rate()", + "signature": "2c4e722ec6511e89f25f244e462d7b9552e4a1e9b6043fd124a874a67f5c804f", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": true, "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "view", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "token()", + "signature": "fc0c546a8dce9d6e9b97c086302918c9106d97a17809f6bcacfe02124763cb39", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [], - "name": "renounceOwnership", - "outputs": [], + "name": "wallet", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "renounceOwnership()", - "signature": "715018a616b5f2044428f6fadb7deef4ce9ca76ef60ea57978964ad137bbe7ae", + "method": "wallet()", + "signature": "521eb2736f64b43875f0b44fdc29304541dcc3cd844822ef0697470d90c3e124", "index": [], "indexed": 0, "eventSignature": null @@ -778,19 +740,20 @@ { "constant": true, "inputs": [], - "name": "owner", + "name": "weiRaised", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "owner()", - "signature": "8da5cb5b36e7f68c1d2e56001220cdbdd3ba2616072f718acfda4a06441a807d", + "method": "weiRaised()", + "signature": "4042b66fe5f2644ad71dd4e339299721a4fb92741a7427e3a9e94931da295cca", "index": [], "indexed": 0, "eventSignature": null @@ -799,19 +762,14 @@ { "constant": true, "inputs": [], - "name": "isOwner", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "name": "onlyWhitelistAdminMock", + "outputs": [], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "isOwner()", - "signature": "8f32d59b339b0965093e9a53b00f4400c41d72f026df85c0beaa1d49d97802ef", + "method": "onlyWhitelistAdminMock()", + "signature": "564c74a37341f8fc0183d333b61f1340909400bf0ae5f30577d4b88b3da10175", "index": [], "indexed": 0, "eventSignature": null @@ -821,18 +779,32 @@ "constant": false, "inputs": [ { - "name": "newOwner", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "transferOwnership", + "name": "removeWhitelistAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transferOwnership(address)", - "signature": "f2fde38b092330466c661fc723d5289b90272a3e580e3187d1d7ef788506c557", + "method": "removeWhitelistAdmin(address)", + "signature": "6897e9747da0ffb9f264b876f5c2b2227ac56f9fdaa6c5d73f8a8ad061690be5", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -841,22 +813,27 @@ { "inputs": [ { + "internalType": "address", "name": "beneficiary", "type": "address" }, { + "internalType": "uint256", "name": "start", "type": "uint256" }, { + "internalType": "uint256", "name": "cliffDuration", "type": "uint256" }, { + "internalType": "uint256", "name": "duration", "type": "uint256" }, { + "internalType": "bool", "name": "revocable", "type": "bool" } @@ -878,6 +855,7 @@ "name": "beneficiary", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -899,6 +877,7 @@ "name": "cliff", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -917,9 +896,10 @@ { "constant": true, "inputs": [], - "name": "start", + "name": "duration", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -928,8 +908,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "start()", - "signature": "be9a655586dceb82dfa0af992b5d8ae7fa45053cb7fd6f141f541da7572978c7", + "method": "duration()", + "signature": "0fb5a6b40d15bfee72e58fd4a3fbc0824854616197205c3f48946b53286fd328", "index": [], "indexed": 0, "eventSignature": null @@ -938,19 +918,20 @@ { "constant": true, "inputs": [], - "name": "duration", + "name": "isOwner", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "duration()", - "signature": "0fb5a6b40d15bfee72e58fd4a3fbc0824854616197205c3f48946b53286fd328", + "method": "isOwner()", + "signature": "8f32d59b339b0965093e9a53b00f4400c41d72f026df85c0beaa1d49d97802ef", "index": [], "indexed": 0, "eventSignature": null @@ -959,20 +940,43 @@ { "constant": true, "inputs": [], - "name": "revocable", + "name": "owner", "outputs": [ { + "internalType": "address", "name": "", - "type": "bool" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "revocable()", - "signature": "872a78104060b2611ad651114462af633b90f4846ddf96ef452cc3abaadbef00", - "index": [], + "method": "owner()", + "signature": "8da5cb5b36e7f68c1d2e56001220cdbdd3ba2616072f718acfda4a06441a807d", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "token", + "type": "address" + } + ], + "name": "release", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "release(address)", + "signature": "19165587d81f9d3d0d57225d38f5bb5163beb87e4b5fafa3a2f80c53398d9874", + "index": [], "indexed": 0, "eventSignature": null } @@ -981,6 +985,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "token", "type": "address" } @@ -988,6 +993,7 @@ "name": "released", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1003,10 +1009,71 @@ "eventSignature": null } }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "renounceOwnership()", + "signature": "715018a616b5f2044428f6fadb7deef4ce9ca76ef60ea57978964ad137bbe7ae", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "revocable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "revocable()", + "signature": "872a78104060b2611ad651114462af633b90f4846ddf96ef452cc3abaadbef00", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "token", + "type": "address" + } + ], + "name": "revoke", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "revoke(address)", + "signature": "74a8f1037ce3c16c732a634b5b87f893f40cae0feab5bbe0a6e4abb1ec12a744", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": true, "inputs": [ { + "internalType": "address", "name": "token", "type": "address" } @@ -1014,6 +1081,7 @@ "name": "revoked", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -1030,21 +1098,22 @@ } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "start", + "outputs": [ { - "name": "token", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "release", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "release(address)", - "signature": "19165587d81f9d3d0d57225d38f5bb5163beb87e4b5fafa3a2f80c53398d9874", + "method": "start()", + "signature": "be9a655586dceb82dfa0af992b5d8ae7fa45053cb7fd6f141f541da7572978c7", "index": [], "indexed": 0, "eventSignature": null @@ -1054,18 +1123,19 @@ "constant": false, "inputs": [ { - "name": "token", + "internalType": "address", + "name": "newOwner", "type": "address" } ], - "name": "revoke", + "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "revoke(address)", - "signature": "74a8f1037ce3c16c732a634b5b87f893f40cae0feab5bbe0a6e4abb1ec12a744", + "method": "transferOwnership(address)", + "signature": "f2fde38b092330466c661fc723d5289b90272a3e580e3187d1d7ef788506c557", "index": [], "indexed": 0, "eventSignature": null @@ -1074,14 +1144,17 @@ { "inputs": [ { + "internalType": "contract IERC20", "name": "token", "type": "address" }, { + "internalType": "address", "name": "beneficiary", "type": "address" }, { + "internalType": "uint256", "name": "releaseTime", "type": "uint256" } @@ -1097,27 +1170,6 @@ "eventSignature": null } }, - { - "constant": true, - "inputs": [], - "name": "releaseTime", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "releaseTime()", - "signature": "b91d4001c4daa83d4f7294c01ce39818a6bbd35ddb92d3c9ad5b4c783ef2dd86", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, { "constant": false, "inputs": [], @@ -1137,40 +1189,59 @@ { "constant": true, "inputs": [], - "name": "hasClosed", + "name": "releaseTime", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "hasClosed()", - "signature": "1515bc2ba740d068ff684b5917a9ff7f391334e91f6e21d330213abf2fcf5997", + "method": "releaseTime()", + "signature": "b91d4001c4daa83d4f7294c01ce39818a6bbd35ddb92d3c9ad5b4c783ef2dd86", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "isOpen", - "outputs": [ + "inputs": [ { - "name": "", - "type": "bool" + "internalType": "uint256", + "name": "openingTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closingTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "contract IERC20", + "name": "token", + "type": "address" } ], "payable": false, - "stateMutability": "view", - "type": "function", + "stateMutability": "nonpayable", + "type": "constructor", "__signatureData": { - "method": "isOpen()", - "signature": "47535d7bce5fe30a985aaa3abea3945f910984e480fd44a01ec881dd75a69c53", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -1182,6 +1253,7 @@ "name": "closingTime", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1197,77 +1269,89 @@ "eventSignature": null } }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "closingTime", + "type": "uint256" + } + ], + "name": "extendTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "extendTime(uint256)", + "signature": "a27aebbc8e1d8000e670bd0d5c45d68c88e22e90f018df5744507d0702e1d789", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": true, "inputs": [], - "name": "openingTime", + "name": "hasClosed", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "openingTime()", - "signature": "b7a8807ce18354d14128599c1de68278dae2b3f112ab7835c14880c3d10df567", + "method": "hasClosed()", + "signature": "1515bc2ba740d068ff684b5917a9ff7f391334e91f6e21d330213abf2fcf5997", "index": [], "indexed": 0, "eventSignature": null } }, { - "inputs": [ - { - "name": "openingTime", - "type": "uint256" - }, - { - "name": "closingTime", - "type": "uint256" - }, - { - "name": "rate", - "type": "uint256" - }, - { - "name": "wallet", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "isOpen", + "outputs": [ { - "name": "token", - "type": "address" + "internalType": "bool", + "name": "", + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "view", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "isOpen()", + "signature": "47535d7bce5fe30a985aaa3abea3945f910984e480fd44a01ec881dd75a69c53", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "openingTime", + "outputs": [ { - "name": "closingTime", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "extendTime", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "extendTime(uint256)", - "signature": "a27aebbc8e1d8000e670bd0d5c45d68c88e22e90f018df5744507d0702e1d789", + "method": "openingTime()", + "signature": "b7a8807ce18354d14128599c1de68278dae2b3f112ab7835c14880c3d10df567", "index": [], "indexed": 0, "eventSignature": null @@ -1276,10 +1360,12 @@ { "inputs": [ { + "internalType": "uint256", "name": "openingTime", "type": "uint256" }, { + "internalType": "uint256", "name": "closingTime", "type": "uint256" } @@ -1301,6 +1387,7 @@ "name": "INTERFACE_ID_ERC165", "outputs": [ { + "internalType": "bytes4", "name": "", "type": "bytes4" } @@ -1320,6 +1407,7 @@ "constant": true, "inputs": [ { + "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } @@ -1327,6 +1415,7 @@ "name": "supportsInterface", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -1346,6 +1435,7 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "value", "type": "uint256" } @@ -1353,6 +1443,7 @@ "name": "fromUint256", "outputs": [ { + "internalType": "string", "name": "", "type": "string" } @@ -1369,63 +1460,66 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "isSigner", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "name": "addSigner", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "isSigner(address)", - "signature": "7df73e27995ff52c325122d47c8dcb5955711696cc862e8e9fe732521a2ca222", + "method": "addSigner(address)", + "signature": "eb12d61ed0d380b10fb1d0a0a39f088010b2fbd5ce83f19ba4758b13c0558d17", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [], - "name": "renounceSigner", - "outputs": [], + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isSigner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "renounceSigner()", - "signature": "e5c8b03d019369869471d1933fd14f2ab233bc1095eccc08bb7dbbb204604fe4", + "method": "isSigner(address)", + "signature": "7df73e27995ff52c325122d47c8dcb5955711696cc862e8e9fe732521a2ca222", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "addSigner", + "constant": true, + "inputs": [], + "name": "onlySignerMock", "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "addSigner(address)", - "signature": "eb12d61ed0d380b10fb1d0a0a39f088010b2fbd5ce83f19ba4758b13c0558d17", + "method": "onlySignerMock()", + "signature": "b44e2ab953337bf642122bbdd26b6a4c6796c98b1f047441f438bb4dd15dbc9d", "index": [], "indexed": 0, "eventSignature": null @@ -1435,6 +1529,7 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -1453,16 +1548,16 @@ } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "onlySignerMock", + "name": "renounceSigner", "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "onlySignerMock()", - "signature": "b44e2ab953337bf642122bbdd26b6a4c6796c98b1f047441f438bb4dd15dbc9d", + "method": "renounceSigner()", + "signature": "e5c8b03d019369869471d1933fd14f2ab233bc1095eccc08bb7dbbb204604fe4", "index": [], "indexed": 0, "eventSignature": null @@ -1472,17 +1567,20 @@ "constant": true, "inputs": [ { + "internalType": "int256", "name": "a", "type": "int256" }, { + "internalType": "int256", "name": "b", "type": "int256" } ], - "name": "mul", + "name": "add", "outputs": [ { + "internalType": "int256", "name": "", "type": "int256" } @@ -1491,8 +1589,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "mul(int256,int256)", - "signature": "bbe93d91b114db244bee40cafeeaae72456bbb2f92985a1729ce3d574fc8ef0e", + "method": "add(int256,int256)", + "signature": "a5f3c23ba07e6c3b914d9273b1ef72b2e6620dbfe328f76b4725526445930fc9", "index": [], "indexed": 0, "eventSignature": null @@ -1502,10 +1600,12 @@ "constant": true, "inputs": [ { + "internalType": "int256", "name": "a", "type": "int256" }, { + "internalType": "int256", "name": "b", "type": "int256" } @@ -1513,6 +1613,7 @@ "name": "div", "outputs": [ { + "internalType": "int256", "name": "", "type": "int256" } @@ -1532,17 +1633,20 @@ "constant": true, "inputs": [ { + "internalType": "int256", "name": "a", "type": "int256" }, { + "internalType": "int256", "name": "b", "type": "int256" } ], - "name": "sub", + "name": "mul", "outputs": [ { + "internalType": "int256", "name": "", "type": "int256" } @@ -1551,8 +1655,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "sub(int256,int256)", - "signature": "adefc37b172bf21b20e90b531fd12a315745366e9f3932bdb3ed5a4c002e45e0", + "method": "mul(int256,int256)", + "signature": "bbe93d91b114db244bee40cafeeaae72456bbb2f92985a1729ce3d574fc8ef0e", "index": [], "indexed": 0, "eventSignature": null @@ -1562,17 +1666,20 @@ "constant": true, "inputs": [ { + "internalType": "int256", "name": "a", "type": "int256" }, { + "internalType": "int256", "name": "b", "type": "int256" } ], - "name": "add", + "name": "sub", "outputs": [ { + "internalType": "int256", "name": "", "type": "int256" } @@ -1581,8 +1688,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "add(int256,int256)", - "signature": "a5f3c23ba07e6c3b914d9273b1ef72b2e6620dbfe328f76b4725526445930fc9", + "method": "sub(int256,int256)", + "signature": "adefc37b172bf21b20e90b531fd12a315745366e9f3932bdb3ed5a4c002e45e0", "index": [], "indexed": 0, "eventSignature": null @@ -1608,27 +1715,47 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" - }, + } + ], + "name": "addMinter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "addMinter(address)", + "signature": "983b2d560bdd6b422e26073d9516b4646e2f1008810070c0d32b3a79aaa7bfcb", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ { - "name": "amount", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "name": "mint", + "name": "isMinter", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "mint(address,uint256)", - "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", + "method": "isMinter(address)", + "signature": "aa271e1a9a41b51f5b4e2e4ce717c974174719a5ddc12cee839f0eabbdf42748", "index": [], "indexed": 0, "eventSignature": null @@ -1638,18 +1765,30 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "addMinter", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "addMinter(address)", - "signature": "983b2d560bdd6b422e26073d9516b4646e2f1008810070c0d32b3a79aaa7bfcb", + "method": "mint(address,uint256)", + "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", "index": [], "indexed": 0, "eventSignature": null @@ -1672,26 +1811,49 @@ } }, { - "constant": true, "inputs": [ { - "name": "account", + "internalType": "uint256", + "name": "openingTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closingTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", "type": "address" - } - ], - "name": "isMinter", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "uint256", + "name": "cap", + "type": "uint256" + }, + { + "internalType": "contract ERC20Mintable", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "goal", + "type": "uint256" } ], "payable": false, - "stateMutability": "view", - "type": "function", + "stateMutability": "nonpayable", + "type": "constructor", "__signatureData": { - "method": "isMinter(address)", - "signature": "aa271e1a9a41b51f5b4e2e4ce717c974174719a5ddc12cee839f0eabbdf42748", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -1703,6 +1865,7 @@ "name": "cap", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1721,19 +1884,42 @@ { "constant": true, "inputs": [], - "name": "goal", + "name": "capReached", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "goal()", - "signature": "40193883b14c14dda7eef4dec651b30d3485ba1fdc9225dd408d696a03be91a4", + "method": "capReached()", + "signature": "4f93594559fed5d595e1474bcf0c52eb70b3230bf9fcff5ce2aa0a1df1c2fc9c", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "refundee", + "type": "address" + } + ], + "name": "claimRefund", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "claimRefund(address)", + "signature": "bffa55d5aa2ff90554572b1dce591d02b722be50bcfd4c7c58c507d2f080b61b", "index": [], "indexed": 0, "eventSignature": null @@ -1758,9 +1944,10 @@ { "constant": true, "inputs": [], - "name": "capReached", + "name": "finalized", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -1769,8 +1956,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "capReached()", - "signature": "4f93594559fed5d595e1474bcf0c52eb70b3230bf9fcff5ce2aa0a1df1c2fc9c", + "method": "finalized()", + "signature": "b3f05b97fdf124cf473a8bb0c51089e7f531c2ee86e7dd8dce89ac30a488f0ab", "index": [], "indexed": 0, "eventSignature": null @@ -1779,19 +1966,20 @@ { "constant": true, "inputs": [], - "name": "goalReached", + "name": "goal", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "goalReached()", - "signature": "7d3d65229eb2e3f47f0aeb7b8f366daefbe13b196c607159fd4cde7eaabfdd7e", + "method": "goal()", + "signature": "40193883b14c14dda7eef4dec651b30d3485ba1fdc9225dd408d696a03be91a4", "index": [], "indexed": 0, "eventSignature": null @@ -1800,9 +1988,10 @@ { "constant": true, "inputs": [], - "name": "finalized", + "name": "goalReached", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -1811,71 +2000,74 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "finalized()", - "signature": "b3f05b97fdf124cf473a8bb0c51089e7f531c2ee86e7dd8dce89ac30a488f0ab", + "method": "goalReached()", + "signature": "7d3d65229eb2e3f47f0aeb7b8f366daefbe13b196c607159fd4cde7eaabfdd7e", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "refundee", - "type": "address" + "internalType": "uint256", + "name": "a", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "b", + "type": "uint256" + } + ], + "name": "add", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "claimRefund", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "claimRefund(address)", - "signature": "bffa55d5aa2ff90554572b1dce591d02b722be50bcfd4c7c58c507d2f080b61b", + "method": "add(uint256,uint256)", + "signature": "771602f7f25ce61b0d4f2430f7e4789bfd9e6e4029613fda01b7f2c89fbf44ad", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": true, "inputs": [ { - "name": "openingTime", + "internalType": "uint256", + "name": "a", "type": "uint256" }, { - "name": "closingTime", + "internalType": "uint256", + "name": "b", "type": "uint256" - }, + } + ], + "name": "div", + "outputs": [ { - "name": "rate", - "type": "uint256" - }, - { - "name": "wallet", - "type": "address" - }, - { - "name": "cap", - "type": "uint256" - }, - { - "name": "token", - "type": "address" - }, - { - "name": "goal", + "internalType": "uint256", + "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "pure", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "div(uint256,uint256)", + "signature": "a391c15b5e25fe2c4f540fe83ee2e810afc45df8c9095b3c54843078d5162044", "index": [], "indexed": 0, "eventSignature": null @@ -1885,17 +2077,20 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } ], - "name": "mul", + "name": "mod", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1904,8 +2099,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "mul(uint256,uint256)", - "signature": "c8a4ac9cf5aac391a07a9bdc2c522f2e824978425be99588f97394814d127214", + "method": "mod(uint256,uint256)", + "signature": "f43f523a11282709abfcd65af86db2cfddca6ecd71f78e335355cc7cddd8ef2c", "index": [], "indexed": 0, "eventSignature": null @@ -1915,17 +2110,20 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } ], - "name": "div", + "name": "mul", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1934,8 +2132,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "div(uint256,uint256)", - "signature": "a391c15b5e25fe2c4f540fe83ee2e810afc45df8c9095b3c54843078d5162044", + "method": "mul(uint256,uint256)", + "signature": "c8a4ac9cf5aac391a07a9bdc2c522f2e824978425be99588f97394814d127214", "index": [], "indexed": 0, "eventSignature": null @@ -1945,10 +2143,12 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } @@ -1956,6 +2156,7 @@ "name": "sub", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1972,78 +2173,129 @@ } }, { - "constant": true, "inputs": [ { - "name": "a", - "type": "uint256" - }, - { - "name": "b", - "type": "uint256" + "internalType": "contract IERC20", + "name": "token", + "type": "address" } ], - "name": "add", + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "pure", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "add(uint256,uint256)", - "signature": "771602f7f25ce61b0d4f2430f7e4789bfd9e6e4029613fda01b7f2c89fbf44ad", + "method": "allowance()", + "signature": "de242ff44eaf9672978cebc9ed1e790957e7916a8047ae5cbd0d7d313ee83b98", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "a", + "internalType": "uint256", + "name": "amount", "type": "uint256" - }, + } + ], + "name": "approve", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "approve(uint256)", + "signature": "b759f954a973cc61187fb2d8ad2671610ddf40018143445f877381866da14ba2", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ { - "name": "b", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "mod", - "outputs": [ + "name": "decreaseAllowance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "decreaseAllowance(uint256)", + "signature": "10bad4cf682bbcd21585dce2167d59122587579177e2aeddf05870c0f83ca0aa", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ { - "name": "", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], + "name": "increaseAllowance", + "outputs": [], "payable": false, - "stateMutability": "pure", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "mod(uint256,uint256)", - "signature": "f43f523a11282709abfcd65af86db2cfddca6ecd71f78e335355cc7cddd8ef2c", + "method": "increaseAllowance(uint256)", + "signature": "11e330b2f7a89b9245ad53c2cf8b73418c0c35e979c862a29e386a29b7f376d2", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "token", - "type": "address" + "internalType": "uint256", + "name": "allowance_", + "type": "uint256" } ], + "name": "setAllowance", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "setAllowance(uint256)", + "signature": "3ba93f263461e1faf95940bf8b85a591b097726d6b4f1a2f81673df4474ad03b", "index": [], "indexed": 0, "eventSignature": null @@ -2082,126 +2334,140 @@ } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "amount", + "internalType": "uint256", + "name": "a", "type": "uint256" } ], - "name": "approve", - "outputs": [], + "name": "toUint128", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "approve(uint256)", - "signature": "b759f954a973cc61187fb2d8ad2671610ddf40018143445f877381866da14ba2", + "method": "toUint128(uint256)", + "signature": "809fdd33ec59cbc70dd4d4dc44b6cd3d3c04ced41d7835a8ff25b79f25b45fce", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "amount", + "internalType": "uint256", + "name": "a", "type": "uint256" } ], - "name": "increaseAllowance", - "outputs": [], + "name": "toUint16", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "increaseAllowance(uint256)", - "signature": "11e330b2f7a89b9245ad53c2cf8b73418c0c35e979c862a29e386a29b7f376d2", + "method": "toUint16(uint256)", + "signature": "9374068f97bd6cb9d0c0b55b775b200664fefe764a60946aece3b31d1afa2cde", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "amount", + "internalType": "uint256", + "name": "a", "type": "uint256" } ], - "name": "decreaseAllowance", - "outputs": [], + "name": "toUint32", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "decreaseAllowance(uint256)", - "signature": "10bad4cf682bbcd21585dce2167d59122587579177e2aeddf05870c0f83ca0aa", + "method": "toUint32(uint256)", + "signature": "c8193255f4cc629b6c8496a08fb302fe8c9a7459975dad3c6accbb7ff35f4395", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "allowance_", + "internalType": "uint256", + "name": "a", "type": "uint256" } ], - "name": "setAllowance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "setAllowance(uint256)", - "signature": "3ba93f263461e1faf95940bf8b85a591b097726d6b4f1a2f81673df4474ad03b", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [], - "name": "allowance", + "name": "toUint64", "outputs": [ { + "internalType": "uint64", "name": "", - "type": "uint256" + "type": "uint64" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "allowance()", - "signature": "de242ff44eaf9672978cebc9ed1e790957e7916a8047ae5cbd0d7d313ee83b98", + "method": "toUint64(uint256)", + "signature": "2665fad0bf4103f8162e9d4ab2c9e8daef60477cc969473217d6c2362f69d8a5", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "account", - "type": "address" + "internalType": "uint256", + "name": "a", + "type": "uint256" + } + ], + "name": "toUint8", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" } ], - "name": "add", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "add(address)", - "signature": "0a3b0a4f4c6e53dce3dbcad5614cb2ba3a0fa7326d03c5d64b4fa2d565492737", + "method": "toUint8(uint256)", + "signature": "0cc4681ea387e97ba648bd82290c2b0a6115fc05a9383ac3593426a270ece6ad", "index": [], "indexed": 0, "eventSignature": null @@ -2211,18 +2477,19 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "remove", + "name": "add", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "remove(address)", - "signature": "29092d0ea9bcb5211809a4aaa5b0ebb94e6bef61bfe589f02c6c6fb1b193ffab", + "method": "add(address)", + "signature": "0a3b0a4f4c6e53dce3dbcad5614cb2ba3a0fa7326d03c5d64b4fa2d565492737", "index": [], "indexed": 0, "eventSignature": null @@ -2232,6 +2499,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -2239,6 +2507,7 @@ "name": "has", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -2258,18 +2527,19 @@ "constant": false, "inputs": [ { - "name": "beneficiary", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "withdrawTokens", + "name": "remove", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdrawTokens(address)", - "signature": "49df728c0ca6a6b5e99c72209a641756a92fc07ea31ddd473da43c9e1ee22167", + "method": "remove(address)", + "signature": "29092d0ea9bcb5211809a4aaa5b0ebb94e6bef61bfe589f02c6c6fb1b193ffab", "index": [], "indexed": 0, "eventSignature": null @@ -2278,26 +2548,32 @@ { "inputs": [ { + "internalType": "uint256", "name": "openingTime", "type": "uint256" }, { + "internalType": "uint256", "name": "closingTime", "type": "uint256" }, { + "internalType": "uint256", "name": "rate", "type": "uint256" }, { + "internalType": "address payable", "name": "wallet", "type": "address" }, { + "internalType": "contract IERC20", "name": "token", "type": "address" }, { + "internalType": "uint256", "name": "goal", "type": "uint256" } @@ -2314,60 +2590,114 @@ } }, { + "constant": false, "inputs": [ { - "name": "goal", - "type": "uint256" + "internalType": "address", + "name": "beneficiary", + "type": "address" } ], + "name": "withdrawTokens", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "withdrawTokens(address)", + "signature": "49df728c0ca6a6b5e99c72209a641756a92fc07ea31ddd473da43c9e1ee22167", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "payee", - "type": "address" + "internalType": "uint256", + "name": "goal", + "type": "uint256" } ], - "name": "withdraw", - "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", + "type": "constructor", "__signatureData": { - "method": "withdraw(address)", - "signature": "51cff8d9250863e8fc5cd0539fa8c8d5a5201deba4fa87f6350c7586c06e5914", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "payee", + "internalType": "address payable", + "name": "beneficiary", "type": "address" } ], - "name": "withdrawWithGas", + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "beneficiaryWithdraw", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdrawWithGas(address)", - "signature": "6809691ae9e5a0f8c57d249bed22874ecd3174786e9025089a9709509288d78a", + "method": "beneficiaryWithdraw()", + "signature": "9af6549a65e0ba7ce4b0aee44adb9e1d42df7600cf590db392d719ba752944d1", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "close", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "close()", + "signature": "43d726d69bfad97630bc12e80b1a43c44fecfddf089a314709482b2b0132f662", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "refundee", + "type": "address" + } + ], + "name": "deposit", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function", + "__signatureData": { + "method": "deposit(address)", + "signature": "f340fa01ba70ec28a2fc9deca0888a496a2ab4c153fdd320f62dca6e72f8cbff", "index": [], "indexed": 0, "eventSignature": null @@ -2377,6 +2707,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "payee", "type": "address" } @@ -2384,6 +2715,7 @@ "name": "depositsOf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2400,18 +2732,16 @@ } }, { - "inputs": [ - { - "name": "beneficiary", - "type": "address" - } - ], + "constant": false, + "inputs": [], + "name": "enableRefunds", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "enableRefunds()", + "signature": "8c52dc41c32b5cdcd11391ff8fe832366bb985c7743bb1d159489ed533d18151", "index": [], "indexed": 0, "eventSignature": null @@ -2423,6 +2753,7 @@ "name": "state", "outputs": [ { + "internalType": "enum RefundEscrow.State", "name": "", "type": "uint8" } @@ -2442,50 +2773,19 @@ "constant": false, "inputs": [ { - "name": "refundee", + "internalType": "address payable", + "name": "payee", "type": "address" } ], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", - "__signatureData": { - "method": "deposit(address)", - "signature": "f340fa01ba70ec28a2fc9deca0888a496a2ab4c153fdd320f62dca6e72f8cbff", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "close", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "close()", - "signature": "43d726d69bfad97630bc12e80b1a43c44fecfddf089a314709482b2b0132f662", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "enableRefunds", + "name": "withdraw", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "enableRefunds()", - "signature": "8c52dc41c32b5cdcd11391ff8fe832366bb985c7743bb1d159489ed533d18151", + "method": "withdraw(address)", + "signature": "51cff8d9250863e8fc5cd0539fa8c8d5a5201deba4fa87f6350c7586c06e5914", "index": [], "indexed": 0, "eventSignature": null @@ -2493,15 +2793,21 @@ }, { "constant": false, - "inputs": [], - "name": "beneficiaryWithdraw", + "inputs": [ + { + "internalType": "address payable", + "name": "payee", + "type": "address" + } + ], + "name": "withdrawWithGas", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "beneficiaryWithdraw()", - "signature": "9af6549a65e0ba7ce4b0aee44adb9e1d42df7600cf590db392d719ba752944d1", + "method": "withdrawWithGas(address)", + "signature": "6809691ae9e5a0f8c57d249bed22874ecd3174786e9025089a9709509288d78a", "index": [], "indexed": 0, "eventSignature": null @@ -2511,6 +2817,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -2518,6 +2825,7 @@ "name": "withdrawalAllowed", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -2534,21 +2842,16 @@ } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "counter", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], + "name": "callback", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "counter()", - "signature": "61bc221a8a81ed8dcf68fb79e95091717f0287b80c647d460792d4a6fa2e52eb", + "method": "callback()", + "signature": "083b2732f78169bfaad6b407fa338cc97d697ed69d3915a18239cc111d51a402", "index": [], "indexed": 0, "eventSignature": null @@ -2556,15 +2859,21 @@ }, { "constant": false, - "inputs": [], - "name": "callback", + "inputs": [ + { + "internalType": "contract ReentrancyAttack", + "name": "attacker", + "type": "address" + } + ], + "name": "countAndCall", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "callback()", - "signature": "083b2732f78169bfaad6b407fa338cc97d697ed69d3915a18239cc111d51a402", + "method": "countAndCall(address)", + "signature": "b672ad8b8bf1e348aeb6a8ae25066364f905dde7277bbf922f19de877bbcbcfd", "index": [], "indexed": 0, "eventSignature": null @@ -2574,6 +2883,7 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "n", "type": "uint256" } @@ -2595,6 +2905,7 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "n", "type": "uint256" } @@ -2613,21 +2924,22 @@ } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "counter", + "outputs": [ { - "name": "attacker", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "countAndCall", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "countAndCall(address)", - "signature": "b672ad8b8bf1e348aeb6a8ae25066364f905dde7277bbf922f19de877bbcbcfd", + "method": "counter()", + "signature": "61bc221a8a81ed8dcf68fb79e95091717f0287b80c647d460792d4a6fa2e52eb", "index": [], "indexed": 0, "eventSignature": null @@ -2637,6 +2949,7 @@ "constant": false, "inputs": [ { + "internalType": "bytes4", "name": "data", "type": "bytes4" } @@ -2655,21 +2968,13 @@ } }, { - "constant": false, - "inputs": [ - { - "name": "payee", - "type": "address" - } - ], - "name": "withdrawPayments", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", + "inputs": [], + "payable": true, + "stateMutability": "payable", + "type": "constructor", "__signatureData": { - "method": "withdrawPayments(address)", - "signature": "31b3eb94bf3cb27e4befc6a7d368e588019d82d31d1e29f0cbf0300ba0ae9e2e", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -2679,18 +2984,24 @@ "constant": false, "inputs": [ { - "name": "payee", + "internalType": "address", + "name": "dest", "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "withdrawPaymentsWithGas", + "name": "callTransfer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdrawPaymentsWithGas(address)", - "signature": "653cfa5902f28be1cc0010a15dc0e48b4dbbbdd8d06323ede1836ba371423d1a", + "method": "callTransfer(address,uint256)", + "signature": "d444099120fe924eee0b46151366fd5c5b586714e3776ad6423f20986508bb7a", "index": [], "indexed": 0, "eventSignature": null @@ -2700,6 +3011,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "dest", "type": "address" } @@ -2707,6 +3019,7 @@ "name": "payments", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2723,13 +3036,22 @@ } }, { - "inputs": [], - "payable": true, - "stateMutability": "payable", - "type": "constructor", + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "payee", + "type": "address" + } + ], + "name": "withdrawPayments", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "withdrawPayments(address)", + "signature": "31b3eb94bf3cb27e4befc6a7d368e588019d82d31d1e29f0cbf0300ba0ae9e2e", "index": [], "indexed": 0, "eventSignature": null @@ -2739,22 +3061,19 @@ "constant": false, "inputs": [ { - "name": "dest", + "internalType": "address payable", + "name": "payee", "type": "address" - }, - { - "name": "amount", - "type": "uint256" } ], - "name": "callTransfer", + "name": "withdrawPaymentsWithGas", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "callTransfer(address,uint256)", - "signature": "d444099120fe924eee0b46151366fd5c5b586714e3776ad6423f20986508bb7a", + "method": "withdrawPaymentsWithGas(address)", + "signature": "653cfa5902f28be1cc0010a15dc0e48b4dbbbdd8d06323ede1836ba371423d1a", "index": [], "indexed": 0, "eventSignature": null @@ -2763,10 +3082,12 @@ { "inputs": [ { + "internalType": "address[]", "name": "payees", "type": "address[]" }, { + "internalType": "uint256[]", "name": "shares", "type": "uint256[]" } @@ -2784,41 +3105,49 @@ }, { "constant": true, - "inputs": [], - "name": "totalShares", + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "payee", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "totalShares()", - "signature": "3a98ef39d75a0463a589a77e7570097b7e407deab0b5678402f964703022acc1", + "method": "payee(uint256)", + "signature": "8b83209b99041e6da916f8608f0e4b26e544903e9cccd82f1e4d56d4b000973f", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "totalReleased", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address payable", + "name": "account", + "type": "address" } ], + "name": "release", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "totalReleased()", - "signature": "e33b7de3b4be2fc8b13374ba49c74d26662811d0233a4d730a02537c6f69e3d2", + "method": "release(address)", + "signature": "19165587d81f9d3d0d57225d38f5bb5163beb87e4b5fafa3a2f80c53398d9874", "index": [], "indexed": 0, "eventSignature": null @@ -2828,13 +3157,15 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "shares", + "name": "released", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2843,8 +3174,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "shares(address)", - "signature": "ce7c2ac2babd16f4d8c518abdcb99ed8e1402512d3d522f56911309564fde112", + "method": "released(address)", + "signature": "9852595c0fbd961d727982297e4c952a54c25835b2c098f8db439cef15df7ced", "index": [], "indexed": 0, "eventSignature": null @@ -2854,13 +3185,15 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "released", + "name": "shares", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2869,8 +3202,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "released(address)", - "signature": "9852595c0fbd961d727982297e4c952a54c25835b2c098f8db439cef15df7ced", + "method": "shares(address)", + "signature": "ce7c2ac2babd16f4d8c518abdcb99ed8e1402512d3d522f56911309564fde112", "index": [], "indexed": 0, "eventSignature": null @@ -2878,25 +3211,43 @@ }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "totalReleased", + "outputs": [ { - "name": "index", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "payee", + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "totalReleased()", + "signature": "e33b7de3b4be2fc8b13374ba49c74d26662811d0233a4d730a02537c6f69e3d2", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "totalShares", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "payee(uint256)", - "signature": "8b83209b99041e6da916f8608f0e4b26e544903e9cccd82f1e4d56d4b000973f", + "method": "totalShares()", + "signature": "3a98ef39d75a0463a589a77e7570097b7e407deab0b5678402f964703022acc1", "index": [], "indexed": 0, "eventSignature": null @@ -2906,18 +3257,19 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "release", + "name": "addPauser", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "release(address)", - "signature": "19165587d81f9d3d0d57225d38f5bb5163beb87e4b5fafa3a2f80c53398d9874", + "method": "addPauser(address)", + "signature": "82dc1ec426f590f8e02fbc1e3fcd7395a4cc661900beaeea90dc088b2956fc37", "index": [], "indexed": 0, "eventSignature": null @@ -2927,6 +3279,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -2934,6 +3287,7 @@ "name": "isPauser", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -2950,37 +3304,16 @@ } }, { - "constant": false, + "constant": true, "inputs": [], - "name": "renouncePauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "renouncePauser()", - "signature": "6ef8d66d09e9638ba6c52670cc83e8112ad6c16152362ed3ceaf81ba38a55620", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "addPauser", + "name": "onlyPauserMock", "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "addPauser(address)", - "signature": "82dc1ec426f590f8e02fbc1e3fcd7395a4cc661900beaeea90dc088b2956fc37", + "method": "onlyPauserMock()", + "signature": "329daf90db5adf232d700a8646026bc8cec2c58f5196cbd0f9d1da14fe7c13af", "index": [], "indexed": 0, "eventSignature": null @@ -2990,6 +3323,7 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -3008,16 +3342,16 @@ } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "onlyPauserMock", + "name": "renouncePauser", "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "onlyPauserMock()", - "signature": "329daf90db5adf232d700a8646026bc8cec2c58f5196cbd0f9d1da14fe7c13af", + "method": "renouncePauser()", + "signature": "6ef8d66d09e9638ba6c52670cc83e8112ad6c16152362ed3ceaf81ba38a55620", "index": [], "indexed": 0, "eventSignature": null @@ -3029,6 +3363,7 @@ "name": "count", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3047,14 +3382,14 @@ { "constant": false, "inputs": [], - "name": "unpause", + "name": "drasticMeasure", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "unpause()", - "signature": "3f4ba83af89dc9793996d9e56b8abe6dc88cd97c9c2bb23027806e9c1ffd54dc", + "method": "drasticMeasure()", + "signature": "9958f0458a205db2b6fd3761855edea436acb6641e0146dd103049809dec8a3c", "index": [], "indexed": 0, "eventSignature": null @@ -3063,9 +3398,10 @@ { "constant": true, "inputs": [], - "name": "paused", + "name": "drasticMeasureTaken", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -3074,29 +3410,24 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "paused()", - "signature": "5c975abbf8c4d6efa68fc896e233763eb503f2318260b7bf59b19412913788b2", + "method": "drasticMeasureTaken()", + "signature": "76657b8e9f8871e69f7ec04e85644b5b24216603938143a793e736009e7e09e6", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "drasticMeasureTaken", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "name": "normalProcess", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "drasticMeasureTaken()", - "signature": "76657b8e9f8871e69f7ec04e85644b5b24216603938143a793e736009e7e09e6", + "method": "normalProcess()", + "signature": "e7651d7aafddcc3ef76b5e1ee2ca687555fb23ebd00d0784dfea8224ed24b768", "index": [], "indexed": 0, "eventSignature": null @@ -3119,16 +3450,22 @@ } }, { - "constant": false, + "constant": true, "inputs": [], - "name": "normalProcess", - "outputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "normalProcess()", - "signature": "e7651d7aafddcc3ef76b5e1ee2ca687555fb23ebd00d0784dfea8224ed24b768", + "method": "paused()", + "signature": "5c975abbf8c4d6efa68fc896e233763eb503f2318260b7bf59b19412913788b2", "index": [], "indexed": 0, "eventSignature": null @@ -3137,14 +3474,43 @@ { "constant": false, "inputs": [], - "name": "drasticMeasure", + "name": "unpause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "drasticMeasure()", - "signature": "9958f0458a205db2b6fd3761855edea436acb6641e0146dd103049809dec8a3c", + "method": "unpause()", + "signature": "3f4ba83af89dc9793996d9e56b8abe6dc88cd97c9c2bb23027806e9c1ffd54dc", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "_wallet", + "type": "address" + }, + { + "internalType": "contract ERC20", + "name": "_token", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -3156,6 +3522,7 @@ "name": "getInterfaceId", "outputs": [ { + "internalType": "bytes4", "name": "", "type": "bytes4" } @@ -3171,10 +3538,27 @@ "eventSignature": null } }, + { + "constant": true, + "inputs": [], + "name": "onlyMinterMock", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "onlyMinterMock()", + "signature": "b5dba35b6d1bf340f7be937f68a63a7272765239305ff53eba7b42cdcaa26a04", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -3192,33 +3576,20 @@ "eventSignature": null } }, - { - "constant": true, - "inputs": [], - "name": "onlyMinterMock", - "outputs": [], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "onlyMinterMock()", - "signature": "b5dba35b6d1bf340f7be937f68a63a7272765239305ff53eba7b42cdcaa26a04", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, { "inputs": [ { + "internalType": "uint256", "name": "rate", "type": "uint256" }, { + "internalType": "address payable", "name": "wallet", "type": "address" }, { + "internalType": "contract ERC20Mintable", "name": "token", "type": "address" } @@ -3238,14 +3609,17 @@ "constant": true, "inputs": [ { + "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" }, { + "internalType": "bytes32", "name": "root", "type": "bytes32" }, { + "internalType": "bytes32", "name": "leaf", "type": "bytes32" } @@ -3253,6 +3627,7 @@ "name": "verify", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -3272,17 +3647,20 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } ], - "name": "max", + "name": "average", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3291,8 +3669,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "max(uint256,uint256)", - "signature": "6d5433e60c0e37182e8640acdecd142bfe64bc13cf849efdcb641717d2842d9d", + "method": "average(uint256,uint256)", + "signature": "2b7423abf0c092723f89beda5daa1c6b1a7c433c1d9e7f74a66262925656f297", "index": [], "indexed": 0, "eventSignature": null @@ -3302,17 +3680,20 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } ], - "name": "min", + "name": "max", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3321,8 +3702,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "min(uint256,uint256)", - "signature": "7ae2b5c7066d52e453426c67b3fad21baae01a9be722818751aa86781dbfb5c2", + "method": "max(uint256,uint256)", + "signature": "6d5433e60c0e37182e8640acdecd142bfe64bc13cf849efdcb641717d2842d9d", "index": [], "indexed": 0, "eventSignature": null @@ -3332,17 +3713,20 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } ], - "name": "average", + "name": "min", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3351,60 +3735,37 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "average(uint256,uint256)", - "signature": "2b7423abf0c092723f89beda5daa1c6b1a7c433c1d9e7f74a66262925656f297", + "method": "min(uint256,uint256)", + "signature": "7ae2b5c7066d52e453426c67b3fad21baae01a9be722818751aa86781dbfb5c2", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, "inputs": [ { - "name": "beneficiary", + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", "type": "address" - } - ], - "name": "getContribution", - "outputs": [ + }, { - "name": "", - "type": "uint256" + "internalType": "contract IERC20", + "name": "token", + "type": "address" } ], "payable": false, - "stateMutability": "view", - "type": "function", + "stateMutability": "nonpayable", + "type": "constructor", "__signatureData": { - "method": "getContribution(address)", - "signature": "21eff7fc1631da8139bce6c02359fc3e44205c53bb3b122a22a25d0cc4b9f32a", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "isCapper", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "isCapper(address)", - "signature": "395645610bb182afbb55be0490f881ba303eb035e827e469681b43405f92dc66", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -3414,80 +3775,75 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "removeCapper", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "removeCapper(address)", - "signature": "3f4a648494db3f817b03288a052db3081855f0c0a5349acd48fb788580dd1b07", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "renounceCapper", + "name": "addCapper", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "renounceCapper()", - "signature": "5d5576f8400b403d0ee565e683a6f8b36fd3f83fe3f63002501be35ef65d126e", + "method": "addCapper(address)", + "signature": "8dfbcf360614e363adad8a299c5cc64ba91d68047abea24a8c55b6d8041b7d9b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { + "internalType": "address", "name": "beneficiary", "type": "address" - }, + } + ], + "name": "getCap", + "outputs": [ { - "name": "cap", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "setCap", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setCap(address,uint256)", - "signature": "80ad2cf3dae65fa5a64dfaf69597ced83d07cd5b358301e2770664a6258b7041", + "method": "getCap(address)", + "signature": "b3aefb754817c41c8ee0e0f6012d7248b329b04af3787e228a58bb0e3379f816", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "beneficiary", "type": "address" } ], - "name": "addCapper", - "outputs": [], + "name": "getContribution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "addCapper(address)", - "signature": "8dfbcf360614e363adad8a299c5cc64ba91d68047abea24a8c55b6d8041b7d9b", + "method": "getContribution(address)", + "signature": "21eff7fc1631da8139bce6c02359fc3e44205c53bb3b122a22a25d0cc4b9f32a", "index": [], "indexed": 0, "eventSignature": null @@ -3497,23 +3853,25 @@ "constant": true, "inputs": [ { - "name": "beneficiary", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "getCap", + "name": "isCapper", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getCap(address)", - "signature": "b3aefb754817c41c8ee0e0f6012d7248b329b04af3787e228a58bb0e3379f816", + "method": "isCapper(address)", + "signature": "395645610bb182afbb55be0490f881ba303eb035e827e469681b43405f92dc66", "index": [], "indexed": 0, "eventSignature": null @@ -3536,63 +3894,65 @@ } }, { - "constant": true, - "inputs": [], - "name": "finalRate", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], + "name": "removeCapper", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "finalRate()", - "signature": "21106109c098c8e769d8e06608f6672d4d951216ad40155ba42beb5450014105", + "method": "removeCapper(address)", + "signature": "3f4a648494db3f817b03288a052db3081855f0c0a5349acd48fb788580dd1b07", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "initialRate", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], + "name": "renounceCapper", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "initialRate()", - "signature": "9e51051f24c46573a349a4619f1048aa4311678ef42975ceb003f2c51ff2a9df", + "method": "renounceCapper()", + "signature": "5d5576f8400b403d0ee565e683a6f8b36fd3f83fe3f63002501be35ef65d126e", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "getCurrentRate", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "cap", "type": "uint256" } ], + "name": "setCap", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getCurrentRate()", - "signature": "f7fb07b07a166fffdf5845ab298725c70a943f62b3a7b2283aa6a749d3bc5b66", + "method": "setCap(address,uint256)", + "signature": "80ad2cf3dae65fa5a64dfaf69597ced83d07cd5b358301e2770664a6258b7041", "index": [], "indexed": 0, "eventSignature": null @@ -3601,26 +3961,32 @@ { "inputs": [ { + "internalType": "uint256", "name": "openingTime", "type": "uint256" }, { + "internalType": "uint256", "name": "closingTime", "type": "uint256" }, { + "internalType": "address payable", "name": "wallet", "type": "address" }, { + "internalType": "contract IERC20", "name": "token", "type": "address" }, { + "internalType": "uint256", "name": "initialRate", "type": "uint256" }, { + "internalType": "uint256", "name": "finalRate", "type": "uint256" } @@ -3637,22 +4003,44 @@ } }, { - "inputs": [ + "constant": true, + "inputs": [], + "name": "finalRate", + "outputs": [ { - "name": "initialRate", + "internalType": "uint256", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "finalRate()", + "signature": "21106109c098c8e769d8e06608f6672d4d951216ad40155ba42beb5450014105", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "getCurrentRate", + "outputs": [ { - "name": "finalRate", + "internalType": "uint256", + "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "view", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "getCurrentRate()", + "signature": "f7fb07b07a166fffdf5845ab298725c70a943f62b3a7b2283aa6a749d3bc5b66", "index": [], "indexed": 0, "eventSignature": null @@ -3661,19 +4049,44 @@ { "constant": true, "inputs": [], - "name": "getHubAddr", + "name": "initialRate", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getHubAddr()", - "signature": "74e861d6e907742ab3885440c07cfffd4d98f68c300dce0fd09fe61b6eb812c3", + "method": "initialRate()", + "signature": "9e51051f24c46573a349a4619f1048aa4311678ef42975ceb003f2c51ff2a9df", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "initialRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "finalRate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -3683,38 +4096,47 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "relay", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "bytes", "name": "encodedFunction", "type": "bytes" }, { + "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { + "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { + "internalType": "uint256", "name": "gasLimit", "type": "uint256" }, { + "internalType": "uint256", "name": "nonce", "type": "uint256" }, { + "internalType": "bytes", "name": "approvalData", "type": "bytes" }, { + "internalType": "uint256", "name": "maxPossibleCharge", "type": "uint256" } @@ -3722,10 +4144,12 @@ "name": "acceptRelayedCall", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "bytes", "name": "", "type": "bytes" } @@ -3742,26 +4166,22 @@ } }, { - "constant": false, - "inputs": [ - { - "name": "context", - "type": "bytes" - } - ], - "name": "preRelayedCall", + "constant": true, + "inputs": [], + "name": "getHubAddr", "outputs": [ { + "internalType": "address", "name": "", - "type": "bytes32" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "preRelayedCall(bytes)", - "signature": "80274db7ae75e1ffa7ffdddd8a8d1cd4af90f5af220feaec1ead8c2bd7f63788", + "method": "getHubAddr()", + "signature": "74e861d6e907742ab3885440c07cfffd4d98f68c300dce0fd09fe61b6eb812c3", "index": [], "indexed": 0, "eventSignature": null @@ -3771,18 +4191,22 @@ "constant": false, "inputs": [ { + "internalType": "bytes", "name": "context", "type": "bytes" }, { + "internalType": "bool", "name": "success", "type": "bool" }, { + "internalType": "uint256", "name": "actualCharge", "type": "uint256" }, { + "internalType": "bytes32", "name": "preRetVal", "type": "bytes32" } @@ -3804,47 +4228,131 @@ "constant": false, "inputs": [ { - "name": "relayaddr", - "type": "address" - }, + "internalType": "bytes", + "name": "context", + "type": "bytes" + } + ], + "name": "preRelayedCall", + "outputs": [ { - "name": "unstakeDelay", - "type": "uint256" + "internalType": "bytes32", + "name": "", + "type": "bytes32" } ], - "name": "stake", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", + "payable": false, + "stateMutability": "nonpayable", + "type": "function", "__signatureData": { - "method": "stake(address,uint256)", - "signature": "adc9772e9f3b2218b39abb39e4dd00e4a7f4ca0809c2c3fd73a7011defd8a83f", + "method": "preRelayedCall(bytes)", + "signature": "80274db7ae75e1ffa7ffdddd8a8d1cd4af90f5af220feaec1ead8c2bd7f63788", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "balanceOf(address)", + "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, "inputs": [ { + "internalType": "address", + "name": "relay", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "bytes", + "name": "encodedFunction", + "type": "bytes" + }, + { + "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { - "name": "url", - "type": "string" + "internalType": "uint256", + "name": "gasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "approvalData", + "type": "bytes" + } + ], + "name": "canRelay", + "outputs": [ + { + "internalType": "uint256", + "name": "status", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "recipientContext", + "type": "bytes" } ], - "name": "registerRelay", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "registerRelay(uint256,string)", - "signature": "1166073a9ff87aa11d62b4f0dffac7fcaedb3ba9046d63dea3a2e32565763fe6", + "method": "canRelay(address,address,address,bytes,uint256,uint256,uint256,uint256,bytes,bytes)", + "signature": "2b601747511f3f4c3a522b4a4d8e69eb33b6504a2f228bddd28b773af5dcc5cb", "index": [], "indexed": 0, "eventSignature": null @@ -3854,39 +4362,47 @@ "constant": false, "inputs": [ { - "name": "relay", + "internalType": "address", + "name": "target", "type": "address" } ], - "name": "removeRelayByOwner", + "name": "depositFor", "outputs": [], - "payable": false, - "stateMutability": "nonpayable", + "payable": true, + "stateMutability": "payable", "type": "function", "__signatureData": { - "method": "removeRelayByOwner(address)", - "signature": "c3e712f26ec93100dd7291dcd6af6573a4a83757e448cb388d1e1a9c1b3eb947", + "method": "depositFor(address)", + "signature": "aa67c919e0857e147ffeead4bdc357425a4fdbad9f434ae46e0445b355dca983", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "relay", + "internalType": "address", + "name": "from", "type": "address" } ], - "name": "unstake", - "outputs": [], + "name": "getNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "unstake(address)", - "signature": "f2888dbbb28494a57963b14340157c06ae31f99a08b1c349673e4a5ea3324f07", + "method": "getNonce(address)", + "signature": "2d0335aba15fb7c7be0e001e3b72649542ef9da34ad10a6b12ac499aca97bf03", "index": [], "indexed": 0, "eventSignature": null @@ -3896,6 +4412,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "relay", "type": "address" } @@ -3903,22 +4420,27 @@ "name": "getRelay", "outputs": [ { + "internalType": "uint256", "name": "totalStake", "type": "uint256" }, { + "internalType": "uint256", "name": "unstakeDelay", "type": "uint256" }, { + "internalType": "uint256", "name": "unstakeTime", "type": "uint256" }, { + "internalType": "address payable", "name": "owner", "type": "address" }, { + "internalType": "enum IRelayHub.RelayState", "name": "state", "type": "uint8" } @@ -3934,38 +4456,29 @@ "eventSignature": null } }, - { - "constant": false, - "inputs": [ - { - "name": "target", - "type": "address" - } - ], - "name": "depositFor", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", - "__signatureData": { - "method": "depositFor(address)", - "signature": "aa67c919e0857e147ffeead4bdc357425a4fdbad9f434ae46e0445b355dca983", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, { "constant": true, "inputs": [ { - "name": "target", - "type": "address" + "internalType": "uint256", + "name": "relayedCallStipend", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "transactionFee", + "type": "uint256" } ], - "name": "balanceOf", + "name": "maxPossibleCharge", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3974,8 +4487,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "balanceOf(address)", - "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "method": "maxPossibleCharge(uint256,uint256,uint256)", + "signature": "a863f8f965ddbdeb0134bd2cedd241bc9d650a275a0aecf72024edde60dd96c1", "index": [], "indexed": 0, "eventSignature": null @@ -3985,88 +4498,88 @@ "constant": false, "inputs": [ { - "name": "amount", - "type": "uint256" + "internalType": "bytes", + "name": "unsignedTx", + "type": "bytes" }, { - "name": "dest", - "type": "address" + "internalType": "bytes", + "name": "signature", + "type": "bytes" } ], - "name": "withdraw", + "name": "penalizeIllegalTransaction", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdraw(uint256,address)", - "signature": "00f714ce93c4a188ecc0c802ca78036f638c1c4b3ee9b98f3ed75364b45f50b1", + "method": "penalizeIllegalTransaction(bytes,bytes)", + "signature": "390024325e037b6652cf6827845a7b6df9dd6ccbdc6e998ee910139d10377ba2", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "relay", - "type": "address" - }, - { - "name": "from", - "type": "address" - }, - { - "name": "to", - "type": "address" - }, - { - "name": "encodedFunction", + "internalType": "bytes", + "name": "unsignedTx1", "type": "bytes" }, { - "name": "transactionFee", - "type": "uint256" - }, - { - "name": "gasPrice", - "type": "uint256" - }, - { - "name": "gasLimit", - "type": "uint256" - }, - { - "name": "nonce", - "type": "uint256" + "internalType": "bytes", + "name": "signature1", + "type": "bytes" }, { - "name": "signature", + "internalType": "bytes", + "name": "unsignedTx2", "type": "bytes" }, { - "name": "approvalData", + "internalType": "bytes", + "name": "signature2", "type": "bytes" } ], - "name": "canRelay", - "outputs": [ + "name": "penalizeRepeatedNonce", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "penalizeRepeatedNonce(bytes,bytes,bytes,bytes)", + "signature": "a8cd9572006f07cb5371172782eba6c734760b27217cb5a543459ccdc3f0e907", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ { - "name": "status", + "internalType": "uint256", + "name": "transactionFee", "type": "uint256" }, { - "name": "recipientContext", - "type": "bytes" + "internalType": "string", + "name": "url", + "type": "string" } ], + "name": "registerRelay", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "canRelay(address,address,address,bytes,uint256,uint256,uint256,uint256,bytes,bytes)", - "signature": "2b601747511f3f4c3a522b4a4d8e69eb33b6504a2f228bddd28b773af5dcc5cb", + "method": "registerRelay(uint256,string)", + "signature": "1166073a9ff87aa11d62b4f0dffac7fcaedb3ba9046d63dea3a2e32565763fe6", "index": [], "indexed": 0, "eventSignature": null @@ -4076,38 +4589,47 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "bytes", "name": "encodedFunction", "type": "bytes" }, { + "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { + "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { + "internalType": "uint256", "name": "gasLimit", "type": "uint256" }, { + "internalType": "uint256", "name": "nonce", "type": "uint256" }, { + "internalType": "bytes", "name": "signature", "type": "bytes" }, { + "internalType": "bytes", "name": "approvalData", "type": "bytes" } @@ -4126,26 +4648,22 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "relayedCallStipend", - "type": "uint256" - } - ], - "name": "requiredGas", - "outputs": [ - { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "relay", + "type": "address" } ], - "payable": false, - "stateMutability": "view", + "name": "removeRelayByOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "requiredGas(uint256)", - "signature": "6a7d84a4e461b2d2841297ef63924952dc8887d4b4ea4066a018345a725a8ab8", + "method": "removeRelayByOwner(address)", + "signature": "c3e712f26ec93100dd7291dcd6af6573a4a83757e448cb388d1e1a9c1b3eb947", "index": [], "indexed": 0, "eventSignature": null @@ -4155,21 +4673,15 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "relayedCallStipend", "type": "uint256" - }, - { - "name": "gasPrice", - "type": "uint256" - }, - { - "name": "transactionFee", - "type": "uint256" } ], - "name": "maxPossibleCharge", + "name": "requiredGas", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4178,8 +4690,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "maxPossibleCharge(uint256,uint256,uint256)", - "signature": "a863f8f965ddbdeb0134bd2cedd241bc9d650a275a0aecf72024edde60dd96c1", + "method": "requiredGas(uint256)", + "signature": "6a7d84a4e461b2d2841297ef63924952dc8887d4b4ea4066a018345a725a8ab8", "index": [], "indexed": 0, "eventSignature": null @@ -4189,30 +4701,24 @@ "constant": false, "inputs": [ { - "name": "unsignedTx1", - "type": "bytes" - }, - { - "name": "signature1", - "type": "bytes" - }, - { - "name": "unsignedTx2", - "type": "bytes" + "internalType": "address", + "name": "relayaddr", + "type": "address" }, { - "name": "signature2", - "type": "bytes" + "internalType": "uint256", + "name": "unstakeDelay", + "type": "uint256" } ], - "name": "penalizeRepeatedNonce", + "name": "stake", "outputs": [], - "payable": false, - "stateMutability": "nonpayable", + "payable": true, + "stateMutability": "payable", "type": "function", "__signatureData": { - "method": "penalizeRepeatedNonce(bytes,bytes,bytes,bytes)", - "signature": "a8cd9572006f07cb5371172782eba6c734760b27217cb5a543459ccdc3f0e907", + "method": "stake(address,uint256)", + "signature": "adc9772e9f3b2218b39abb39e4dd00e4a7f4ca0809c2c3fd73a7011defd8a83f", "index": [], "indexed": 0, "eventSignature": null @@ -4222,48 +4728,46 @@ "constant": false, "inputs": [ { - "name": "unsignedTx", - "type": "bytes" - }, - { - "name": "signature", - "type": "bytes" + "internalType": "address", + "name": "relay", + "type": "address" } ], - "name": "penalizeIllegalTransaction", + "name": "unstake", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "penalizeIllegalTransaction(bytes,bytes)", - "signature": "390024325e037b6652cf6827845a7b6df9dd6ccbdc6e998ee910139d10377ba2", + "method": "unstake(address)", + "signature": "f2888dbbb28494a57963b14340157c06ae31f99a08b1c349673e4a5ea3324f07", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "from", - "type": "address" - } - ], - "name": "getNonce", - "outputs": [ - { - "name": "", + "internalType": "uint256", + "name": "amount", "type": "uint256" + }, + { + "internalType": "address payable", + "name": "dest", + "type": "address" } ], + "name": "withdraw", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getNonce(address)", - "signature": "2d0335aba15fb7c7be0e001e3b72649542ef9da34ad10a6b12ac499aca97bf03", + "method": "withdraw(uint256,address)", + "signature": "00f714ce93c4a188ecc0c802ca78036f638c1c4b3ee9b98f3ed75364b45f50b1", "index": [], "indexed": 0, "eventSignature": null @@ -4273,26 +4777,32 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "operator", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "userData", "type": "bytes" }, { + "internalType": "bytes", "name": "operatorData", "type": "bytes" } @@ -4314,26 +4824,32 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "operator", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "userData", "type": "bytes" }, { + "internalType": "bytes", "name": "operatorData", "type": "bytes" } @@ -4352,21 +4868,22 @@ } }, { - "constant": true, - "inputs": [], - "name": "granularity", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "operator", + "type": "address" } ], + "name": "authorizeOperator", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "granularity()", - "signature": "556f0dc7c27917e5fbcf81d768e3f14e5e91388a9bbf5489fc807a3b25713a85", + "method": "authorizeOperator(address)", + "signature": "959b8c3fa5f1ac78a7061180563d67096686864ae5178e2a1c5dc4cafe65647f", "index": [], "indexed": 0, "eventSignature": null @@ -4376,6 +4893,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "owner", "type": "address" } @@ -4383,6 +4901,7 @@ "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4402,51 +4921,68 @@ "constant": false, "inputs": [ { - "name": "recipient", - "type": "address" - }, - { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" } ], - "name": "send", + "name": "burn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "send(address,uint256,bytes)", - "signature": "9bd9bbc68c9d2d57236e56ab2cc196bd1614295e6e32ba6eba9004e8c27143b6", + "method": "burn(uint256,bytes)", + "signature": "fe9d9303e79d04e189cef961eb7b3ed8271cbefc87b5bc7f1e67dff4a0c724a1", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "defaultOperators", + "outputs": [ { - "name": "amount", - "type": "uint256" - }, + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "defaultOperators()", + "signature": "06e485385cf29deb9a8a1b7063b1318c309eaf898f126cfc9db7a541554a38e8", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "granularity", + "outputs": [ { - "name": "data", - "type": "bytes" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "burn", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "burn(uint256,bytes)", - "signature": "fe9d9303e79d04e189cef961eb7b3ed8271cbefc87b5bc7f1e67dff4a0c724a1", + "method": "granularity()", + "signature": "556f0dc7c27917e5fbcf81d768e3f14e5e91388a9bbf5489fc807a3b25713a85", "index": [], "indexed": 0, "eventSignature": null @@ -4456,10 +4992,12 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "operator", "type": "address" }, { + "internalType": "address", "name": "tokenHolder", "type": "address" } @@ -4467,6 +5005,7 @@ "name": "isOperatorFor", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -4486,60 +5025,34 @@ "constant": false, "inputs": [ { - "name": "operator", + "internalType": "address", + "name": "account", "type": "address" - } - ], - "name": "authorizeOperator", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "authorizeOperator(address)", - "signature": "959b8c3fa5f1ac78a7061180563d67096686864ae5178e2a1c5dc4cafe65647f", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [ + }, { - "name": "operator", - "type": "address" + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "operatorData", + "type": "bytes" } ], - "name": "revokeOperator", + "name": "operatorBurn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "revokeOperator(address)", - "signature": "fad8b32a12ce11ea2887e7e753dadc4570ca76ac4dc839eae40921f5ca040305", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [], - "name": "defaultOperators", - "outputs": [ - { - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "defaultOperators()", - "signature": "06e485385cf29deb9a8a1b7063b1318c309eaf898f126cfc9db7a541554a38e8", + "method": "operatorBurn(address,uint256,bytes,bytes)", + "signature": "fc673c4f8d4aaaabaea06e9dd5779b22b049a95ce54fdeba7078d6693e645c46", "index": [], "indexed": 0, "eventSignature": null @@ -4549,22 +5062,27 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "sender", "type": "address" }, { + "internalType": "address", "name": "recipient", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" }, { + "internalType": "bytes", "name": "operatorData", "type": "bytes" } @@ -4586,30 +5104,51 @@ "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "revokeOperator", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "revokeOperator(address)", + "signature": "fad8b32a12ce11ea2887e7e753dadc4570ca76ac4dc839eae40921f5ca040305", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "recipient", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" - }, - { - "name": "operatorData", - "type": "bytes" } ], - "name": "operatorBurn", + "name": "send", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "operatorBurn(address,uint256,bytes,bytes)", - "signature": "fc673c4f8d4aaaabaea06e9dd5779b22b049a95ce54fdeba7078d6693e645c46", + "method": "send(address,uint256,bytes)", + "signature": "9bd9bbc68c9d2d57236e56ab2cc196bd1614295e6e32ba6eba9004e8c27143b6", "index": [], "indexed": 0, "eventSignature": null @@ -4619,18 +5158,22 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "operator", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" } @@ -4638,6 +5181,7 @@ "name": "onERC721Received", "outputs": [ { + "internalType": "bytes4", "name": "", "type": "bytes4" } @@ -4654,109 +5198,116 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], - "name": "getApproved", - "outputs": [ - { - "name": "operator", - "type": "address" - } - ], + "name": "approve", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getApproved(uint256)", - "signature": "081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "to", + "internalType": "address", + "name": "owner", "type": "address" - }, + } + ], + "name": "balanceOf", + "outputs": [ { - "name": "tokenId", + "internalType": "uint256", + "name": "balance", "type": "uint256" } ], - "name": "approve", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "approve(address,uint256)", - "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "method": "balanceOf(address)", + "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "from", - "type": "address" - }, - { - "name": "to", - "type": "address" - }, - { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], - "name": "transferFrom", - "outputs": [], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "transferFrom(address,address,uint256)", - "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "method": "getApproved(uint256)", + "signature": "081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "from", + "internalType": "address", + "name": "owner", "type": "address" }, { - "name": "to", + "internalType": "address", + "name": "operator", "type": "address" - }, + } + ], + "name": "isApprovedForAll", + "outputs": [ { - "name": "tokenId", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "safeTransferFrom", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "safeTransferFrom(address,address,uint256)", - "signature": "42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", + "method": "isApprovedForAll(address,address)", + "signature": "e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", "index": [], "indexed": 0, "eventSignature": null @@ -4766,6 +5317,7 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } @@ -4773,6 +5325,7 @@ "name": "ownerOf", "outputs": [ { + "internalType": "address", "name": "owner", "type": "address" } @@ -4789,51 +5342,32 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "from", "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "balanceOf(address)", - "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [ + }, { - "name": "operator", + "internalType": "address", + "name": "to", "type": "address" }, { - "name": "_approved", - "type": "bool" + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" } ], - "name": "setApprovalForAll", + "name": "safeTransferFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setApprovalForAll(address,bool)", - "signature": "a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "method": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", "index": [], "indexed": 0, "eventSignature": null @@ -4843,18 +5377,22 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" } @@ -4873,30 +5411,27 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", - "type": "address" - }, - { + "internalType": "address", "name": "operator", "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ + }, { - "name": "", + "internalType": "bool", + "name": "_approved", "type": "bool" } ], + "name": "setApprovalForAll", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "isApprovedForAll(address,address)", - "signature": "e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", + "method": "setApprovalForAll(address,bool)", + "signature": "a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", "index": [], "indexed": 0, "eventSignature": null @@ -4906,6 +5441,7 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } @@ -4913,6 +5449,7 @@ "name": "tokenURI", "outputs": [ { + "internalType": "string", "name": "", "type": "string" } @@ -4929,21 +5466,51 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", "type": "address" }, { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", "name": "index", "type": "uint256" } ], - "name": "tokenOfOwnerByIndex", + "name": "tokenByIndex", "outputs": [ { - "name": "tokenId", + "internalType": "uint256", + "name": "", "type": "uint256" } ], @@ -4951,8 +5518,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "tokenOfOwnerByIndex(address,uint256)", - "signature": "2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", + "method": "tokenByIndex(uint256)", + "signature": "4f6ccce7c41aed90ec1f1887c4a821594c0f73758d8941d0ccaa2cde813b7298", "index": [], "indexed": 0, "eventSignature": null @@ -4962,14 +5529,21 @@ "constant": true, "inputs": [ { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", "name": "index", "type": "uint256" } ], - "name": "tokenByIndex", + "name": "tokenOfOwnerByIndex", "outputs": [ { - "name": "", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" } ], @@ -4977,33 +5551,41 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "tokenByIndex(uint256)", - "signature": "4f6ccce7c41aed90ec1f1887c4a821594c0f73758d8941d0ccaa2cde813b7298", + "method": "tokenOfOwnerByIndex(address,uint256)", + "signature": "2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "newManager", + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32" + } + ], + "name": "getInterfaceImplementer", + "outputs": [ + { + "internalType": "address", + "name": "", "type": "address" } ], - "name": "setManager", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setManager(address,address)", - "signature": "5df8122f7e200b7f3718bd782c13bd84af63ca1e905e2a214189fde9d437916b", + "method": "getInterfaceImplementer(address,bytes32)", + "signature": "aabbb8ca5077ad77ee74d09abca69060954dc1e7e935c6125dbfbdac2f7cb4d5", "index": [], "indexed": 0, "eventSignature": null @@ -5013,6 +5595,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -5020,6 +5603,7 @@ "name": "getManager", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -5036,29 +5620,33 @@ } }, { - "constant": false, + "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "interfaceHash", - "type": "bytes32" - }, + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "implementsERC165Interface", + "outputs": [ { - "name": "implementer", - "type": "address" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "setInterfaceImplementer", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setInterfaceImplementer(address,bytes32,address)", - "signature": "29965a1dd17c60032c757c6eac6dd148280625a6723b0f37a399c515773e824b", + "method": "implementsERC165Interface(address,bytes4)", + "signature": "f712f3e885feefd4d819ffb61e08e67f0090bc5a5fe8b38272e3134e9d255486", "index": [], "indexed": 0, "eventSignature": null @@ -5068,27 +5656,30 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "interfaceHash", - "type": "bytes32" + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" } ], - "name": "getInterfaceImplementer", + "name": "implementsERC165InterfaceNoCache", "outputs": [ { + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getInterfaceImplementer(address,bytes32)", - "signature": "aabbb8ca5077ad77ee74d09abca69060954dc1e7e935c6125dbfbdac2f7cb4d5", + "method": "implementsERC165InterfaceNoCache(address,bytes4)", + "signature": "b705676510cec9438fe759af9cd9a319054c29d249f48050897ff539683f9795", "index": [], "indexed": 0, "eventSignature": null @@ -5098,6 +5689,7 @@ "constant": true, "inputs": [ { + "internalType": "string", "name": "interfaceName", "type": "string" } @@ -5105,6 +5697,7 @@ "name": "interfaceHash", "outputs": [ { + "internalType": "bytes32", "name": "", "type": "bytes32" } @@ -5124,82 +5717,83 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "interfaceId", - "type": "bytes4" + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "implementer", + "type": "address" } ], - "name": "updateERC165Cache", + "name": "setInterfaceImplementer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "updateERC165Cache(address,bytes4)", - "signature": "a41e7d51c5b4eeba8079bc0f66285a2953e8d97cae9e56174001e47da6a65b9c", + "method": "setInterfaceImplementer(address,bytes32,address)", + "signature": "29965a1dd17c60032c757c6eac6dd148280625a6723b0f37a399c515773e824b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "implementsERC165Interface", - "outputs": [ - { - "name": "", - "type": "bool" + "internalType": "address", + "name": "newManager", + "type": "address" } ], + "name": "setManager", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "implementsERC165Interface(address,bytes4)", - "signature": "f712f3e885feefd4d819ffb61e08e67f0090bc5a5fe8b38272e3134e9d255486", + "method": "setManager(address,address)", + "signature": "5df8122f7e200b7f3718bd782c13bd84af63ca1e905e2a214189fde9d437916b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { + "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], - "name": "implementsERC165InterfaceNoCache", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "name": "updateERC165Cache", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "implementsERC165InterfaceNoCache(address,bytes4)", - "signature": "b705676510cec9438fe759af9cd9a319054c29d249f48050897ff539683f9795", + "method": "updateERC165Cache(address,bytes4)", + "signature": "a41e7d51c5b4eeba8079bc0f66285a2953e8d97cae9e56174001e47da6a65b9c", "index": [], "indexed": 0, "eventSignature": null @@ -5209,10 +5803,12 @@ "constant": true, "inputs": [ { + "internalType": "bytes32", "name": "interfaceHash", "type": "bytes32" }, { + "internalType": "address", "name": "account", "type": "address" } @@ -5220,6 +5816,7 @@ "name": "canImplementInterfaceForAddress", "outputs": [ { + "internalType": "bytes32", "name": "", "type": "bytes32" } @@ -5235,42 +5832,70 @@ "eventSignature": null } }, + { + "inputs": [ + { + "internalType": "address", + "name": "trustedSigner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": true, "inputs": [ { + "internalType": "address", "name": "relay", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "bytes", "name": "encodedFunction", "type": "bytes" }, { + "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { + "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { + "internalType": "uint256", "name": "gasLimit", "type": "uint256" }, { + "internalType": "uint256", "name": "nonce", "type": "uint256" }, { + "internalType": "bytes", "name": "approvalData", "type": "bytes" }, { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5278,10 +5903,12 @@ "name": "acceptRelayedCall", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "bytes", "name": "", "type": "bytes" } @@ -5297,12 +5924,29 @@ "eventSignature": null } }, + { + "constant": false, + "inputs": [], + "name": "mockFunction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "mockFunction()", + "signature": "3e6fec04891cbf2adc4929f005c945b1df36c1cc70a0dc8cc4a2d30cd9526418", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": true, "inputs": [], "name": "relayHubVersion", "outputs": [ { + "internalType": "string", "name": "", "type": "string" } @@ -5319,34 +5963,73 @@ } }, { + "constant": true, "inputs": [ { - "name": "trustedSigner", + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", "type": "address" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "acceptRelayedCall", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "__signatureData": { - "method": null, - "signature": null, - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "mockFunction", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "mockFunction()", - "signature": "3e6fec04891cbf2adc4929f005c945b1df36c1cc70a0dc8cc4a2d30cd9526418", + "method": "acceptRelayedCall(address,address,bytes,uint256,uint256,uint256,uint256,bytes,uint256)", + "signature": "83947ea009abe4215784fc013af935411a558f6cd2dcdea5f18d5c7c5b70d409", "index": [], "indexed": 0, "eventSignature": null @@ -5356,10 +6039,12 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "integerValue", "type": "uint256" }, { + "internalType": "string", "name": "stringValue", "type": "string" } @@ -5397,105 +6082,70 @@ "constant": false, "inputs": [ { - "name": "amount", - "type": "uint256" - }, - { - "name": "payee", + "internalType": "address", + "name": "newRelayHub", "type": "address" } ], - "name": "withdrawDeposits", + "name": "upgradeRelayHub", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdrawDeposits(uint256,address)", - "signature": "c2db1abe7daab30b890763961009183af86eaa71fa3c52bb95c0eb7fcb5fa447", + "method": "upgradeRelayHub(address)", + "signature": "9e30a590cf55a2684fb69e37b38b95cd1633e385ab5bf0e2a3e20ebf459a435f", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "bytes" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "bytes" - }, - { - "name": "", - "type": "uint256" - } - ], - "name": "acceptRelayedCall", - "outputs": [ - { - "name": "", + "internalType": "uint256", + "name": "amount", "type": "uint256" }, { - "name": "", - "type": "bytes" + "internalType": "address payable", + "name": "payee", + "type": "address" } ], + "name": "withdrawDeposits", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "acceptRelayedCall(address,address,bytes,uint256,uint256,uint256,uint256,bytes,uint256)", - "signature": "83947ea009abe4215784fc013af935411a558f6cd2dcdea5f18d5c7c5b70d409", + "method": "withdrawDeposits(uint256,address)", + "signature": "c2db1abe7daab30b890763961009183af86eaa71fa3c52bb95c0eb7fcb5fa447", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "newRelayHub", - "type": "address" + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" } ], - "name": "upgradeRelayHub", - "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", + "type": "constructor", "__signatureData": { - "method": "upgradeRelayHub(address)", - "signature": "9e30a590cf55a2684fb69e37b38b95cd1633e385ab5bf0e2a3e20ebf459a435f", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -5505,38 +6155,47 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "bytes", "name": "", "type": "bytes" }, { + "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { + "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "bytes", "name": "", "type": "bytes" }, { + "internalType": "uint256", "name": "maxPossibleCharge", "type": "uint256" } @@ -5544,10 +6203,12 @@ "name": "acceptRelayedCall", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "bytes", "name": "", "type": "bytes" } @@ -5563,32 +6224,11 @@ "eventSignature": null } }, - { - "inputs": [ - { - "name": "name", - "type": "string" - }, - { - "name": "symbol", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "__signatureData": { - "method": null, - "signature": null, - "index": [], - "indexed": 0, - "eventSignature": null - } - }, { "constant": false, "inputs": [ { + "internalType": "bool", "name": "acceptEther", "type": "bool" } @@ -5610,6 +6250,7 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "payee", "type": "address" } @@ -5631,102 +6272,119 @@ "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "value", "type": "address" } ], - "name": "senderFor", + "name": "add", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "senderFor(address)", - "signature": "d2de647410d4847f7c2b1c646e28e10e303c10f95d7ea6b94c082bb1f0e3ecb7", + "method": "add(address)", + "signature": "0a3b0a4f4c6e53dce3dbcad5614cb2ba3a0fa7326d03c5d64b4fa2d565492737", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "sender", + "internalType": "address", + "name": "value", "type": "address" } ], - "name": "registerSender", - "outputs": [], + "name": "contains", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "registerSender(address)", - "signature": "e1ecbd30d7fc280e866052e7dcf713aee64bd27db00680e3c2a450b3a12cdc9b", + "method": "contains(address)", + "signature": "5dbe47e8ca78eed3d66d96aca4f3e0a862618253931c531246f0c213ed4514f0", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "enumerate", + "outputs": [ { - "name": "account", - "type": "address" + "internalType": "address[]", + "name": "", + "type": "address[]" } ], - "name": "recipientFor", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "recipientFor(address)", - "signature": "e0eb21801a9f335a4e9352266bab2e6b992e028b46da9236c68c9f2542a7f511", + "method": "enumerate()", + "signature": "ff9f78b3d32de8be0e9bed68612f7fad3f116aa6e7cb3c7748d1c767bcd9106e", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "recipient", + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "get", + "outputs": [ + { + "internalType": "address", + "name": "", "type": "address" } ], - "name": "registerRecipient", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "registerRecipient(address)", - "signature": "a8badaa52238eb11dfd031f6bd091dc87027cccee31954f0c034484ab291848b", + "method": "get(uint256)", + "signature": "9507d39afbeea551419419942ed5557ba0354af969f9e49bd20406f7e288b0cb", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "length", + "outputs": [ { - "name": "shouldRevert", - "type": "bool" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "setShouldRevertSend", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setShouldRevertSend(bool)", - "signature": "4e4ae5a5b23f28439d51fbfb428cbdda0d2cdff3b2e3e23d8d4220585c9de51f", + "method": "length()", + "signature": "1f7b6d32f0bcc43b847f7e5983c958ffeec06d939e79a1435064bb9c306d2f49", "index": [], "indexed": 0, "eventSignature": null @@ -5736,18 +6394,19 @@ "constant": false, "inputs": [ { - "name": "shouldRevert", - "type": "bool" + "internalType": "address", + "name": "value", + "type": "address" } ], - "name": "setShouldRevertReceive", + "name": "remove", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setShouldRevertReceive(bool)", - "signature": "c97e18fc4ab503e6d34324fbfc4776260fe140688edfe560aefd77d967d4c768", + "method": "remove(address)", + "signature": "29092d0ea9bcb5211809a4aaa5b0ebb94e6bef61bfe589f02c6c6fb1b193ffab", "index": [], "indexed": 0, "eventSignature": null @@ -5757,30 +6416,29 @@ "constant": false, "inputs": [ { + "internalType": "contract IERC777", "name": "token", "type": "address" }, { - "name": "to", - "type": "address" - }, - { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" } ], - "name": "send", + "name": "burn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "send(address,address,uint256,bytes)", - "signature": "3836ef89341d578005df6b940fd026a6f4c1208b46c3d4068921eb9aa76bcaac", + "method": "burn(address,uint256,bytes)", + "signature": "44d171878174aac90272ce2c6f833b41e25ed3c943a482d65cb93dce656c95cf", "index": [], "indexed": 0, "eventSignature": null @@ -5790,26 +6448,19 @@ "constant": false, "inputs": [ { - "name": "token", + "internalType": "address", + "name": "account", "type": "address" - }, - { - "name": "amount", - "type": "uint256" - }, - { - "name": "data", - "type": "bytes" } ], - "name": "burn", + "name": "recipientFor", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "burn(address,uint256,bytes)", - "signature": "44d171878174aac90272ce2c6f833b41e25ed3c943a482d65cb93dce656c95cf", + "method": "recipientFor(address)", + "signature": "e0eb21801a9f335a4e9352266bab2e6b992e028b46da9236c68c9f2542a7f511", "index": [], "indexed": 0, "eventSignature": null @@ -5819,27 +6470,41 @@ "constant": false, "inputs": [ { - "name": "spender", + "internalType": "address", + "name": "recipient", "type": "address" - }, - { - "name": "value", - "type": "uint256" } ], - "name": "approve", - "outputs": [ + "name": "registerRecipient", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "registerRecipient(address)", + "signature": "a8badaa52238eb11dfd031f6bd091dc87027cccee31954f0c034484ab291848b", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ { - "name": "", - "type": "bool" + "internalType": "address", + "name": "sender", + "type": "address" } ], + "name": "registerSender", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "approve(address,uint256)", - "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "method": "registerSender(address)", + "signature": "e1ecbd30d7fc280e866052e7dcf713aee64bd27db00680e3c2a450b3a12cdc9b", "index": [], "indexed": 0, "eventSignature": null @@ -5849,108 +6514,100 @@ "constant": false, "inputs": [ { - "name": "holder", + "internalType": "contract IERC777", + "name": "token", "type": "address" }, { - "name": "recipient", + "internalType": "address", + "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], + "name": "send", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transferFrom(address,address,uint256)", - "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "method": "send(address,address,uint256,bytes)", + "signature": "3836ef89341d578005df6b940fd026a6f4c1208b46c3d4068921eb9aa76bcaac", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint8" + "internalType": "address", + "name": "account", + "type": "address" } ], + "name": "senderFor", + "outputs": [], "payable": false, - "stateMutability": "pure", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "decimals()", - "signature": "313ce567add4d438edf58b94ff345d7d38c45b17dfc0f947988d7819dca364f9", + "method": "senderFor(address)", + "signature": "d2de647410d4847f7c2b1c646e28e10e303c10f95d7ea6b94c082bb1f0e3ecb7", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "tokenHolder", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "", - "type": "uint256" + "internalType": "bool", + "name": "shouldRevert", + "type": "bool" } ], + "name": "setShouldRevertReceive", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "balanceOf(address)", - "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "method": "setShouldRevertReceive(bool)", + "signature": "c97e18fc4ab503e6d34324fbfc4776260fe140688edfe560aefd77d967d4c768", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "holder", - "type": "address" - }, - { - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "", - "type": "uint256" + "internalType": "bool", + "name": "shouldRevert", + "type": "bool" } ], + "name": "setShouldRevertSend", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "allowance(address,address)", - "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", + "method": "setShouldRevertSend(bool)", + "signature": "4e4ae5a5b23f28439d51fbfb428cbdda0d2cdff3b2e3e23d8d4220585c9de51f", "index": [], "indexed": 0, "eventSignature": null @@ -5959,22 +6616,27 @@ { "inputs": [ { + "internalType": "address", "name": "initialHolder", "type": "address" }, { + "internalType": "uint256", "name": "initialBalance", "type": "uint256" }, { + "internalType": "string", "name": "name", "type": "string" }, { + "internalType": "string", "name": "symbol", "type": "string" }, { + "internalType": "address[]", "name": "defaultOperators", "type": "address[]" } @@ -5991,85 +6653,98 @@ } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "operator", + "internalType": "address", + "name": "holder", "type": "address" }, { - "name": "to", + "internalType": "address", + "name": "spender", "type": "address" - }, + } + ], + "name": "allowance", + "outputs": [ { - "name": "amount", + "internalType": "uint256", + "name": "", "type": "uint256" - }, - { - "name": "userData", - "type": "bytes" - }, - { - "name": "operatorData", - "type": "bytes" } ], - "name": "mintInternal", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "mintInternal(address,address,uint256,bytes,bytes)", - "signature": "502f2b8bf932c1941842477fc372bca4834ddc436a253e93faba2990bc29a24b", + "method": "allowance(address,address)", + "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "name", - "type": "string" - }, - { - "name": "symbol", - "type": "string" + "internalType": "address", + "name": "spender", + "type": "address" }, { - "name": "defaultOperators", - "type": "address[]" - } + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "retval", - "type": "bytes4" + "internalType": "address", + "name": "holder", + "type": "address" }, { - "name": "reverts", - "type": "bool" + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" } ], + "name": "approveInternal", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "approveInternal(address,address,uint256)", + "signature": "56189cb4bb0039044cf7457b35bad3a3c904d529b71d57f6f1feb2e19e3f5de8", "index": [], "indexed": 0, "eventSignature": null @@ -6079,23 +6754,25 @@ "constant": true, "inputs": [ { - "name": "tokenId", - "type": "uint256" + "internalType": "address", + "name": "tokenHolder", + "type": "address" } ], - "name": "getApproved", + "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getApproved(uint256)", - "signature": "081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "method": "balanceOf(address)", + "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", "index": [], "indexed": 0, "eventSignature": null @@ -6103,25 +6780,21 @@ }, { "constant": true, - "inputs": [ - { - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", + "inputs": [], + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "address" + "type": "uint8" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "ownerOf(uint256)", - "signature": "6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", + "method": "decimals()", + "signature": "313ce567add4d438edf58b94ff345d7d38c45b17dfc0f947988d7819dca364f9", "index": [], "indexed": 0, "eventSignature": null @@ -6131,22 +6804,39 @@ "constant": false, "inputs": [ { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", "name": "to", "type": "address" }, { - "name": "approved", - "type": "bool" + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "userData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "operatorData", + "type": "bytes" } ], - "name": "setApprovalForAll", + "name": "mintInternal", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setApprovalForAll(address,bool)", - "signature": "a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "method": "mintInternal(address,address,uint256,bytes,bytes)", + "signature": "502f2b8bf932c1941842477fc372bca4834ddc436a253e93faba2990bc29a24b", "index": [], "indexed": 0, "eventSignature": null @@ -6156,55 +6846,88 @@ "constant": false, "inputs": [ { - "name": "from", + "internalType": "address", + "name": "holder", "type": "address" }, { - "name": "to", + "internalType": "address", + "name": "recipient", "type": "address" }, { - "name": "tokenId", + "internalType": "uint256", + "name": "amount", "type": "uint256" - }, + } + ], + "name": "transferFrom", + "outputs": [ { - "name": "_data", - "type": "bytes" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "safeTransferFrom", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "safeTransferFrom(address,address,uint256,bytes)", - "signature": "b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "to", - "type": "address" + "internalType": "string", + "name": "name", + "type": "string" }, { - "name": "tokenId", - "type": "uint256" + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "address[]", + "name": "defaultOperators", + "type": "address[]" } ], - "name": "mint", - "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", + "type": "constructor", "__signatureData": { - "method": "mint(address,uint256)", - "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "retval", + "type": "bytes4" + }, + { + "internalType": "bool", + "name": "reverts", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -6214,6 +6937,7 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } @@ -6235,6 +6959,7 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } @@ -6242,6 +6967,7 @@ "name": "exists", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -6258,54 +6984,28 @@ } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "to", - "type": "address" - }, - { + "internalType": "uint256", "name": "tokenId", "type": "uint256" - }, - { - "name": "_data", - "type": "bytes" } ], - "name": "safeMint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "safeMint(address,uint256,bytes)", - "signature": "8832e6e3a1acdc3c7227cb5f382053393c98d26b7e85fded7d4a78732f9d7cdd", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [ + "name": "getApproved", + "outputs": [ { - "name": "to", + "internalType": "address", + "name": "", "type": "address" - }, - { - "name": "tokenId", - "type": "uint256" } ], - "name": "safeMint", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "safeMint(address,uint256)", - "signature": "a144819463c3ba7c3be1edebec61a649b050f2192ad1964059becd97eb86bb4f", + "method": "getApproved(uint256)", + "signature": "081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", "index": [], "indexed": 0, "eventSignature": null @@ -6315,22 +7015,24 @@ "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], - "name": "burn", + "name": "mint", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "burn(address,uint256)", - "signature": "9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba", + "method": "mint(address,uint256)", + "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", "index": [], "indexed": 0, "eventSignature": null @@ -6340,27 +7042,25 @@ "constant": true, "inputs": [ { - "name": "owner", - "type": "address" - }, - { - "name": "index", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" } ], - "name": "tokenOfOwnerByIndex", + "name": "ownerOf", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "tokenOfOwnerByIndex(address,uint256)", - "signature": "2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", + "method": "ownerOf(uint256)", + "signature": "6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", "index": [], "indexed": 0, "eventSignature": null @@ -6370,27 +7070,34 @@ "constant": false, "inputs": [ { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" - } - ], - "name": "mint", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "bytes", + "name": "_data", + "type": "bytes" } ], + "name": "safeTransferFrom", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "mint(address,uint256)", - "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", + "method": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", "index": [], "indexed": 0, "eventSignature": null @@ -6400,31 +7107,24 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "to", "type": "address" }, { - "name": "tokenId", - "type": "uint256" - }, - { - "name": "tokenURI", - "type": "string" - } - ], - "name": "mintWithTokenURI", - "outputs": [ - { - "name": "", + "internalType": "bool", + "name": "approved", "type": "bool" } ], + "name": "setApprovalForAll", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "mintWithTokenURI(address,uint256,string)", - "signature": "50bb4e7f0f69c56956eebe056f6b491fb7b811bfdb78ec5149e57eaba528b40a", + "method": "setApprovalForAll(address,bool)", + "signature": "a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", "index": [], "indexed": 0, "eventSignature": null @@ -6434,31 +7134,24 @@ "constant": false, "inputs": [ { - "name": "to", + "internalType": "address", + "name": "owner", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" - }, - { - "name": "_data", - "type": "bytes" - } - ], - "name": "safeMint", - "outputs": [ - { - "name": "", - "type": "bool" } ], + "name": "burn", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "safeMint(address,uint256,bytes)", - "signature": "8832e6e3a1acdc3c7227cb5f382053393c98d26b7e85fded7d4a78732f9d7cdd", + "method": "burn(address,uint256)", + "signature": "9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba", "index": [], "indexed": 0, "eventSignature": null @@ -6468,27 +7161,29 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" - } - ], - "name": "safeMint", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "bytes", + "name": "_data", + "type": "bytes" } ], + "name": "safeMint", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "safeMint(address,uint256)", - "signature": "a144819463c3ba7c3be1edebec61a649b050f2192ad1964059becd97eb86bb4f", + "method": "safeMint(address,uint256,bytes)", + "signature": "8832e6e3a1acdc3c7227cb5f382053393c98d26b7e85fded7d4a78732f9d7cdd", "index": [], "indexed": 0, "eventSignature": null @@ -6498,82 +7193,79 @@ "constant": false, "inputs": [ { - "name": "", - "type": "address" - }, - { - "name": "", + "internalType": "address", + "name": "to", "type": "address" }, { - "name": "", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" - }, - { - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "name": "", - "type": "bytes4" } ], + "name": "safeMint", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "onERC721Received(address,address,uint256,bytes)", - "signature": "150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f", + "method": "safeMint(address,uint256)", + "signature": "a144819463c3ba7c3be1edebec61a649b050f2192ad1964059becd97eb86bb4f", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "baseURI", + "outputs": [ { - "name": "tokenId", - "type": "uint256" + "internalType": "string", + "name": "", + "type": "string" } ], - "name": "mint", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "mint(uint256)", - "signature": "a0712d680358d64f694230b7cc0b277c73686bdf768385d55cd7c547d0ffd30e", + "method": "baseURI()", + "signature": "6c0360ebdf68e0f62377a9a6e37fcfe105deb69715aa51e836946fccbad7b496", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "to", "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" } ], - "name": "tokensOfOwner", + "name": "mint", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256[]" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "tokensOfOwner(address)", - "signature": "8462151cfcc0f257319f78db464014651918f3905b3d4bdab48d3f4618c542c1", + "method": "mint(address,uint256)", + "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", "index": [], "indexed": 0, "eventSignature": null @@ -6583,52 +7275,73 @@ "constant": false, "inputs": [ { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { - "name": "uri", + "internalType": "string", + "name": "tokenURI", "type": "string" } ], - "name": "setTokenURI", - "outputs": [], + "name": "mintWithTokenURI", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setTokenURI(uint256,string)", - "signature": "162094c41f9e614fbfeee6783490985e82953e56e0c70ba6d6e2c64564e7749b", + "method": "mintWithTokenURI(address,uint256,string)", + "signature": "50bb4e7f0f69c56956eebe056f6b491fb7b811bfdb78ec5149e57eaba528b40a", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "to", "type": "address" }, { - "name": "snapshotId", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" } ], - "name": "balanceOfAt", + "name": "safeMint", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "balanceOfAt(address,uint256)", - "signature": "4ee2cd7e1c8d0c67ae50486857122fadf743519435f10363a77120866023ee26", + "method": "safeMint(address,uint256,bytes)", + "signature": "8832e6e3a1acdc3c7227cb5f382053393c98d26b7e85fded7d4a78732f9d7cdd", "index": [], "indexed": 0, "eventSignature": null @@ -6636,20 +7349,32 @@ }, { "constant": false, - "inputs": [], - "name": "snapshot", + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeMint", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "snapshot()", - "signature": "9711715ab0b9a0077d568e6c92e34beda766dfe07bfd405b99f6cc244fc5e675", + "method": "safeMint(address,uint256)", + "signature": "a144819463c3ba7c3be1edebec61a649b050f2192ad1964059becd97eb86bb4f", "index": [], "indexed": 0, "eventSignature": null @@ -6659,13 +7384,20 @@ "constant": true, "inputs": [ { - "name": "snapshotId", + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", "type": "uint256" } ], - "name": "totalSupplyAt", + "name": "tokenOfOwnerByIndex", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6674,30 +7406,51 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "totalSupplyAt(uint256)", - "signature": "981b24d030c40d3021134f151d398b787f7448aa6078c0c9b5ff98879d39a725", + "method": "tokenOfOwnerByIndex(address,uint256)", + "signature": "2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "initialAccount", + "internalType": "address", + "name": "", "type": "address" }, { - "name": "initialBalance", + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "onERC721Received(address,address,uint256,bytes)", + "signature": "150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f", "index": [], "indexed": 0, "eventSignature": null @@ -6707,22 +7460,19 @@ "constant": false, "inputs": [ { - "name": "account", - "type": "address" - }, - { - "name": "amount", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" } ], - "name": "burn", + "name": "mint", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "burn(address,uint256)", - "signature": "9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba", + "method": "mint(uint256)", + "signature": "a0712d680358d64f694230b7cc0b277c73686bdf768385d55cd7c547d0ffd30e", "index": [], "indexed": 0, "eventSignature": null @@ -6732,27 +7482,19 @@ "constant": false, "inputs": [ { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "", - "type": "bool" + "internalType": "string", + "name": "baseURI", + "type": "string" } ], + "name": "setBaseURI", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transfer(address,uint256)", - "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", + "method": "setBaseURI(string)", + "signature": "55f804b373ab21b346f6f172ca5e118cfcad05163bcea59b35420499bf7e074b", "index": [], "indexed": 0, "eventSignature": null @@ -6762,81 +7504,99 @@ "constant": false, "inputs": [ { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "address" - }, - { - "name": "", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "string", + "name": "uri", + "type": "string" } ], + "name": "setTokenURI", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transferFrom(address,address,uint256)", - "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "method": "setTokenURI(uint256,string)", + "signature": "162094c41f9e614fbfeee6783490985e82953e56e0c70ba6d6e2c64564e7749b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "", + "internalType": "address", + "name": "owner", "type": "address" - }, - { - "name": "", - "type": "uint256" } ], - "name": "approve", + "name": "tokensOfOwner", "outputs": [ { + "internalType": "uint256[]", "name": "", - "type": "bool" + "type": "uint256[]" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "approve(address,uint256)", - "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "method": "tokensOfOwner(address)", + "signature": "8462151cfcc0f257319f78db464014651918f3905b3d4bdab48d3f4618c542c1", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "initialAccount", "type": "address" }, { - "name": "", + "internalType": "uint256", + "name": "initialBalance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", "type": "address" + }, + { + "internalType": "uint256", + "name": "snapshotId", + "type": "uint256" } ], - "name": "allowance", + "name": "balanceOfAt", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6845,28 +7605,75 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "allowance(address,address)", - "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", + "method": "balanceOfAt(address,uint256)", + "signature": "4ee2cd7e1c8d0c67ae50486857122fadf743519435f10363a77120866023ee26", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", + "internalType": "address", + "name": "account", "type": "address" }, { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "burn(address,uint256)", + "signature": "9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "snapshot", + "outputs": [ + { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], - "name": "allowance", + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "snapshot()", + "signature": "9711715ab0b9a0077d568e6c92e34beda766dfe07bfd405b99f6cc244fc5e675", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "snapshotId", + "type": "uint256" + } + ], + "name": "totalSupplyAt", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6875,42 +7682,41 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "allowance(address,address)", - "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", + "method": "totalSupplyAt(uint256)", + "signature": "981b24d030c40d3021134f151d398b787f7448aa6078c0c9b5ff98879d39a725", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "from", + "internalType": "address", + "name": "owner", "type": "address" }, { - "name": "to", + "internalType": "address", + "name": "", "type": "address" - }, - { - "name": "value", - "type": "uint256" } ], - "name": "transferFrom", + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "transferFrom(address,address,uint256)", - "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "method": "allowance(address,address)", + "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", "index": [], "indexed": 0, "eventSignature": null @@ -6920,17 +7726,20 @@ "constant": false, "inputs": [ { - "name": "to", + "internalType": "address", + "name": "", "type": "address" }, { - "name": "value", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "transfer", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -6939,8 +7748,8 @@ "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transfer(address,uint256)", - "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null @@ -6950,16 +7759,24 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transfer", - "outputs": [], + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", @@ -6975,20 +7792,29 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transferFrom", - "outputs": [], + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", @@ -7001,25 +7827,33 @@ } }, { - "constant": false, + "constant": true, "inputs": [ { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", "name": "", "type": "uint256" } ], - "name": "approve", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "approve(address,uint256)", - "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "method": "allowance(address,address)", + "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", "index": [], "indexed": 0, "eventSignature": null @@ -7029,22 +7863,30 @@ "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "to", "type": "address" }, { - "name": "amount", + "internalType": "uint256", + "name": "value", "type": "uint256" } ], - "name": "burnFrom", - "outputs": [], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "burnFrom(address,uint256)", - "signature": "79cc679044ee9a2021f0a26c0fdec02ac39179cd005bb971a471b7f9f17c576c", + "method": "transfer(address,uint256)", + "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", "index": [], "indexed": 0, "eventSignature": null @@ -7054,26 +7896,35 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "value", "type": "uint256" } ], - "name": "transferInternal", - "outputs": [], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transferInternal(address,address,uint256)", - "signature": "222f5be0bd00bd3dd5e6049849cd873ce8050d883a1eb2e7e638a8decfcc8274", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null @@ -7083,86 +7934,115 @@ "constant": false, "inputs": [ { - "name": "owner", - "type": "address" - }, - { - "name": "spender", + "internalType": "address", + "name": "", "type": "address" }, { - "name": "value", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "approveInternal", + "name": "approve", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "approveInternal(address,address,uint256)", - "signature": "56189cb4bb0039044cf7457b35bad3a3c904d529b71d57f6f1feb2e19e3f5de8", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "legacyToken", + "internalType": "address", + "name": "", "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" } ], + "name": "transfer", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "transfer(address,uint256)", + "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "legacyToken", - "outputs": [ + "constant": false, + "inputs": [ { + "internalType": "address", "name": "", "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" } ], + "name": "transferFrom", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "legacyToken()", - "signature": "13155455fdd7b3e23ed7eb19d62c49190033e226c08f6bd47d87abf5144f8724", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "newToken", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "address", + "name": "owner", "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" } ], + "name": "approveInternal", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "newToken()", - "signature": "c42bd05aac0f1127e273477372cf897c16d1abfc362babf9af66a2496160f546", + "method": "approveInternal(address,address,uint256)", + "signature": "56189cb4bb0039044cf7457b35bad3a3c904d529b71d57f6f1feb2e19e3f5de8", "index": [], "indexed": 0, "eventSignature": null @@ -7172,6 +8052,85 @@ "constant": false, "inputs": [ { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "burnFrom(address,uint256)", + "signature": "79cc679044ee9a2021f0a26c0fdec02ac39179cd005bb971a471b7f9f17c576c", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferInternal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "transferInternal(address,address,uint256)", + "signature": "222f5be0bd00bd3dd5e6049849cd873ce8050d883a1eb2e7e638a8decfcc8274", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "legacyToken", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ERC20Mintable", "name": "newToken_", "type": "address" } @@ -7189,14 +8148,38 @@ "eventSignature": null } }, + { + "constant": true, + "inputs": [], + "name": "legacyToken", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "legacyToken()", + "signature": "13155455fdd7b3e23ed7eb19d62c49190033e226c08f6bd47d87abf5144f8724", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" } @@ -7218,6 +8201,7 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -7238,19 +8222,20 @@ { "constant": true, "inputs": [], - "name": "tokenURI", + "name": "newToken", "outputs": [ { + "internalType": "contract IERC20", "name": "", - "type": "string" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "tokenURI()", - "signature": "3c130d90a3a3102bb1d43caeb4a43be8c3d9837b9c8f5a1bae2d0b50edd19a88", + "method": "newToken()", + "signature": "c42bd05aac0f1127e273477372cf897c16d1abfc362babf9af66a2496160f546", "index": [], "indexed": 0, "eventSignature": null @@ -7259,6 +8244,7 @@ { "inputs": [ { + "internalType": "string", "name": "tokenURI", "type": "string" } @@ -7278,6 +8264,7 @@ "constant": false, "inputs": [ { + "internalType": "string", "name": "tokenURI", "type": "string" } @@ -7295,9 +8282,32 @@ "eventSignature": null } }, + { + "constant": true, + "inputs": [], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "tokenURI()", + "signature": "3c130d90a3a3102bb1d43caeb4a43be8c3d9837b9c8f5a1bae2d0b50edd19a88", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "inputs": [ { + "internalType": "string", "name": "tokenURI_", "type": "string" } @@ -7316,6 +8326,7 @@ { "inputs": [ { + "internalType": "uint256", "name": "cap", "type": "uint256" } @@ -7335,6 +8346,7 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "amount", "type": "uint256" } @@ -7356,10 +8368,12 @@ "constant": false, "inputs": [ { + "internalType": "bytes32", "name": "interfaceHash", "type": "bytes32" }, { + "internalType": "address", "name": "account", "type": "address" } @@ -7381,6 +8395,7 @@ "constant": false, "inputs": [ { + "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } @@ -7401,6 +8416,7 @@ { "inputs": [ { + "internalType": "bytes4[]", "name": "interfaceIds", "type": "bytes4[]" } @@ -7420,13 +8436,20 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" + }, + { + "internalType": "bytes4[]", + "name": "interfaceIds", + "type": "bytes4[]" } ], - "name": "supportsERC165", + "name": "supportsAllInterfaces", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -7435,8 +8458,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "supportsERC165(address)", - "signature": "c398a925390918a1a667ad1abd283f69365959f228b05e3133202cae99fb1414", + "method": "supportsAllInterfaces(address,bytes4[])", + "signature": "4b9dd904cb078ee1a08f706b8d4b358c6527421833dd4e03e307a6d08c4c65ec", "index": [], "indexed": 0, "eventSignature": null @@ -7446,17 +8469,15 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" - }, - { - "name": "interfaceId", - "type": "bytes4" } ], - "name": "supportsInterface", + "name": "supportsERC165", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -7465,8 +8486,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "supportsInterface(address,bytes4)", - "signature": "d905700708d92a2c508e53fc47c1f4f3376feb686c0c8272b33827f8f33874a3", + "method": "supportsERC165(address)", + "signature": "c398a925390918a1a667ad1abd283f69365959f228b05e3133202cae99fb1414", "index": [], "indexed": 0, "eventSignature": null @@ -7476,17 +8497,20 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "interfaceIds", - "type": "bytes4[]" + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" } ], - "name": "supportsAllInterfaces", + "name": "supportsInterface", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -7495,8 +8519,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "supportsAllInterfaces(address,bytes4[])", - "signature": "4b9dd904cb078ee1a08f706b8d4b358c6527421833dd4e03e307a6d08c4c65ec", + "method": "supportsInterface(address,bytes4)", + "signature": "d905700708d92a2c508e53fc47c1f4f3376feb686c0c8272b33827f8f33874a3", "index": [], "indexed": 0, "eventSignature": null @@ -7506,10 +8530,12 @@ "constant": true, "inputs": [ { + "internalType": "bytes32", "name": "hash", "type": "bytes32" }, { + "internalType": "bytes", "name": "signature", "type": "bytes" } @@ -7517,6 +8543,7 @@ "name": "recover", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -7536,6 +8563,7 @@ "constant": true, "inputs": [ { + "internalType": "bytes32", "name": "hash", "type": "bytes32" } @@ -7543,6 +8571,7 @@ "name": "toEthSignedMessageHash", "outputs": [ { + "internalType": "bytes32", "name": "", "type": "bytes32" } @@ -7560,36 +8589,70 @@ }, { "constant": true, - "inputs": [], - "name": "current", + "inputs": [ + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "code", + "type": "bytes" + }, + { + "internalType": "address", + "name": "deployer", + "type": "address" + } + ], + "name": "computeAddress", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "current()", - "signature": "9fa6a6e3d57c048b1cb13cac09ada19955f823fbf9cbc036d48b820ea08fd246", + "method": "computeAddress(bytes32,bytes,address)", + "signature": "a31809787a81476f538b261e18e5fce04d85a858ff5e8043962669bd9aaffc9f", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [], - "name": "increment", - "outputs": [], + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "code", + "type": "bytes" + } + ], + "name": "computeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "increment()", - "signature": "d09de08ab1a974aadf0a76e6f99a2ec20e431f22bbc101a6c3f718e53646ed8d", + "method": "computeAddress(bytes32,bytes)", + "signature": "ca9ffe94145c8771be124ced2e9b2c40e89d5b5afa9e58c1e854fa93a3427c60", "index": [], "indexed": 0, "eventSignature": null @@ -7597,15 +8660,26 @@ }, { "constant": false, - "inputs": [], - "name": "decrement", + "inputs": [ + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "code", + "type": "bytes" + } + ], + "name": "deploy", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "decrement()", - "signature": "2baeceb7defb31e1c8c859f0ad17299dba2cefa354c4852eb3e2d5efad2f8611", + "method": "deploy(bytes32,bytes)", + "signature": "cdcb760ad3353af7c88d45984aeedfae199631256006e32076b2a1693a759efb", "index": [], "indexed": 0, "eventSignature": null @@ -7615,47 +8689,57 @@ "constant": false, "inputs": [ { - "name": "context", - "type": "address" + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" } ], - "name": "callSender", + "name": "deployERC20", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "callSender(address)", - "signature": "3207ad9626aa3e7418cf450b31eddae82faa3c1c2ac6af8831f4698cc851aac2", + "method": "deployERC20(bytes32)", + "signature": "f48fdcd342899e890764a42694e31403aeb5881666d6c5c39075fe6cd4c580cf", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ - { - "name": "context", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "current", + "outputs": [ { - "name": "integerValue", + "internalType": "uint256", + "name": "", "type": "uint256" - }, - { - "name": "stringValue", - "type": "string" } ], - "name": "callData", + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "current()", + "signature": "9fa6a6e3d57c048b1cb13cac09ada19955f823fbf9cbc036d48b820ea08fd246", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "decrement", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "callData(address,uint256,string)", - "signature": "00860459816b29739ac426ab214bc2685ba3f4c418cc4cd43e6a2302a3a6f424", + "method": "decrement()", + "signature": "2baeceb7defb31e1c8c859f0ad17299dba2cefa354c4852eb3e2d5efad2f8611", "index": [], "indexed": 0, "eventSignature": null @@ -7663,80 +8747,1414 @@ }, { "constant": false, - "inputs": [ - { - "name": "payee", - "type": "address" - }, - { - "name": "allowed", - "type": "bool" + "inputs": [], + "name": "increment", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "increment()", + "signature": "d09de08ab1a974aadf0a76e6f99a2ec20e431f22bbc101a6c3f718e53646ed8d", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ContextMock", + "name": "context", + "type": "address" + }, + { + "internalType": "uint256", + "name": "integerValue", + "type": "uint256" + }, + { + "internalType": "string", + "name": "stringValue", + "type": "string" + } + ], + "name": "callData", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "callData(address,uint256,string)", + "signature": "00860459816b29739ac426ab214bc2685ba3f4c418cc4cd43e6a2302a3a6f424", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ContextMock", + "name": "context", + "type": "address" + } + ], + "name": "callSender", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "callSender(address)", + "signature": "3207ad9626aa3e7418cf450b31eddae82faa3c1c2ac6af8831f4698cc851aac2", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "payee", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowed", + "type": "bool" } ], "name": "setAllowed", "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "setAllowed(address,bool)", + "signature": "4697f05df6908a83d30dcb4e7f08d42d3127ced20b64732e90e63f7cb372a9da", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "payee", + "type": "address" + } + ], + "name": "withdrawalAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "withdrawalAllowed(address)", + "signature": "685ca194323465fa417b00616bb2233405b7df230d0c7b98fada5a332c4a1021", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "contract IERC20", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "cap", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_array", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "_element", + "type": "uint256" + } + ], + "name": "findUpperBound", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "findUpperBound(uint256)", + "signature": "33e3a58ab88fe94e9dbf49de3bb9c1279b961ab02cbe709aa2ac431d3c957028", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "contract IERC20", + "name": "token", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenWallet", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "remainingTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "remainingTokens()", + "signature": "bf58390300de5e33aa839fb830699554caff7ce94e117472917ccd1be548dc48", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "tokenWallet", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "tokenWallet()", + "signature": "bff99c6cfc9bc667c0dd97317f6e58d396927adc4ee9a35eb2aba74406d47c73", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenWallet", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isContract", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "isContract(address)", + "signature": "16279055d07f3f98da17007e489f07a8037a8763b169d601c4db770dec17dc13", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sendValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "sendValue(address,uint256)", + "signature": "24a084dfedb552881fe75e937a5b15c2822e1b879ff607c151ec3982f55dc07d", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "toPayable", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "__signatureData": { + "method": "toPayable(address)", + "signature": "51ecabd60d3ffbd0fd3992102d48e4b9552799601420f3104673e221a3577bca", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + }, + { + "name": "_extraData", + "type": "bytes" + } + ], + "name": "approveAndCall", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "type": "function", + "__signatureData": { + "method": "approveAndCall(address,uint256,bytes)", + "signature": "cae9ca5133009d821214ac8231b3d170f22d822ee165adb631578070b6316fc9", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "owner()", + "signature": "8da5cb5b36e7f68c1d2e56001220cdbdd3ba2616072f718acfda4a06441a807d", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "isOwner()", + "signature": "8f32d59b339b0965093e9a53b00f4400c41d72f026df85c0beaa1d49d97802ef", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "moneyToPayPerBlock", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "moneyToPayPerBlock()", + "signature": "94eaa46b6c4a6677c8f49b080d56276204fe453436ffffd2aecf2b68ae319385", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "maxMiners", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "maxMiners()", + "signature": "db6fccda07b2e6bad5d478a794d378d354ca434f3c94b1b7fc514a919aed92b9", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "maxBlocksToPayPerCall", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "maxBlocksToPayPerCall()", + "signature": "e32683dff52aff29d263721de20831e5fe2d2c748ab6567b6efac21a9bde1823", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "transferOwnership(address)", + "signature": "f2fde38b092330466c661fc723d5289b90272a3e580e3187d1d7ef788506c557", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "lastPaidBlock", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "lastPaidBlock()", + "signature": "f6aced518ca2df90e95db514f2e0f737010a2ac304bc5c27c911099fab41eda7", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "name": "_blockInfoProvider", + "type": "address" + }, + { + "name": "_moneyToPayPerBlock", + "type": "uint256" + }, + { + "name": "_maxBlocksToPayPerCall", + "type": "uint256" + }, + { + "name": "_maxMiners", + "type": "uint256" + }, + { + "name": "_lockupInMonths", + "type": "uint256" + }, + { + "name": "_dateTimeContract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "_newMax", + "type": "uint256" + } + ], + "name": "setMaxBlocksToPayPerCall", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "setMaxBlocksToPayPerCall(uint256)", + "signature": "3da9f4f0be6d5a05fdd4ae3d265666192154601089c96e51424bf2e08b980f66", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "_newPay", + "type": "uint256" + } + ], + "name": "setMoneyToPayPerBlock", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "setMoneyToPayPerBlock(uint256)", + "signature": "8edf2dff8c8c2a4630befeeb98ac035037bb40ad051b21b800ba2969d3101941", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "_newMax", + "type": "uint256" + } + ], + "name": "setMaxMiners", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "setMaxMiners(uint256)", + "signature": "a9476edaee14f067c56f60c191ff6cef97c83294bb4a025246e32c9544901458", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "getBalance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getBalance()", + "signature": "12065fe058ec54d32b956897063181d660e7d27f9bb883d28d5cc5ab3423e23c", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "collectProfits", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "collectProfits()", + "signature": "c958e0d6d36792cce73cee987eb1db14f16672a928568c5e8db3291aaf59bf69", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "addressMiner", + "type": "address" + } + ], + "name": "payToMiner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function", + "__signatureData": { + "method": "payToMiner(address)", + "signature": "ecb8ba13ba7492306cb8a8d48607f34b4ca61cd281ca9ad8cfc29a0b54e52f32", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "addressMiner", + "type": "address" + }, + { + "name": "month", + "type": "uint8" + }, + { + "name": "year", + "type": "uint16" + } + ], + "name": "payToMinerInPeriod", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "payToMinerInPeriod(address,uint8,uint16)", + "signature": "6035635e090457de6c725de5c71f5f51ebd9d23a91cfd8baf037978dd713bbd3", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "payToMiners", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function", + "__signatureData": { + "method": "payToMiners()", + "signature": "e033b84e34cd498593f20833ffe7a5e5c96f98962e186331e92913b144764e6e", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "month", + "type": "uint8" + }, + { + "name": "year", + "type": "uint16" + } + ], + "name": "payToMinersInPeriod", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "payToMinersInPeriod(uint8,uint16)", + "signature": "8cab0e8113c4443c80b67441f7273acb8d0acb4dd097cceabc13964ba36822a0", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "minerAddress", + "type": "address" + } + ], + "name": "getBalanceForCurrentPeriod", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getBalanceForCurrentPeriod(address)", + "signature": "da69cdaf31c9bd523ce88f41e9052aa156c444505eb1b044c109a08dfb90e771", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "minerAddress", + "type": "address" + }, + { + "name": "month", + "type": "uint8" + }, + { + "name": "year", + "type": "uint16" + } + ], + "name": "getBalanceForPeriod", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getBalanceForPeriod(address,uint8,uint16)", + "signature": "500e07ea01ee3fe029dfe9b632b4934b74f96e097e4a64aaf0b978288fb00f56", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "owners", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "owners(uint256)", + "signature": "025e7c27eac939a1d6b87a08c3f39516072d58f65abdf6d1ca77156530d4cc35", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "removeOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "removeOwner(address)", + "signature": "173825d90d5095783b384d0c08afb549944c4f4c89ad29a276da04db8e14ff9e", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "revokeConfirmation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "revokeConfirmation(uint256)", + "signature": "20ea8d86087397d6737ff70ebe94a8ed7065f3e7db4534a9523ae818a3fe01b7", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "isOwner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "isOwner(address)", + "signature": "2f54bf6efe3c885d4f7c60dd2b62f9e1c8e834c7152c314a797c4d0e05c447cf", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "address" + } + ], + "name": "confirmations", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "confirmations(uint256,address)", + "signature": "3411c81c46ee3d7cf872c1145662928d2120e74c6d45b79c2d87092372f7c84a", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "pending", + "type": "bool" + }, + { + "name": "executed", + "type": "bool" + } + ], + "name": "getTransactionCount", + "outputs": [ + { + "name": "count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getTransactionCount(bool,bool)", + "signature": "5474152539dd948724b4cf552d5b1dd2789758b9698c5bdc66e2fdcf7c3cabde", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "addOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "addOwner(address)", + "signature": "7065cb489ab3e47058ef9c048a2255f3e0dc15732bc16897592e2e8d246a0414", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "isConfirmed", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "isConfirmed(uint256)", + "signature": "784547a768b57de63c01309e9534f8339f117d1469fee08fcaadd193742686c6", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "getConfirmationCount", + "outputs": [ + { + "name": "count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getConfirmationCount(uint256)", + "signature": "8b51d13f1bf42439587b478dcbb3c1c7b41d364e7e61f430d823fb5844597435", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "transactions", + "outputs": [ + { + "name": "destination", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + }, + { + "name": "executed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "transactions(uint256)", + "signature": "9ace38c2d967ad67e6abb390955f4fa15d49d10dc79b0b602cb97d942b537041", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "getOwners", + "outputs": [ + { + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getOwners()", + "signature": "a0e67e2bdc0a6d8a09ccd6c353c9df590807ad66ff5e6630c4f31a86dfa84821", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "from", + "type": "uint256" + }, + { + "name": "to", + "type": "uint256" + }, + { + "name": "pending", + "type": "bool" + }, + { + "name": "executed", + "type": "bool" + } + ], + "name": "getTransactionIds", + "outputs": [ + { + "name": "_transactionIds", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getTransactionIds(uint256,uint256,bool,bool)", + "signature": "a8abe69a30f0243194c6d9cd7b301fbf510ca7fa157488f505e08e138e2a5b25", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "getConfirmations", + "outputs": [ + { + "name": "_confirmations", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getConfirmations(uint256)", + "signature": "b5dc40c3b5620210adf51dca4154c224fa8bea2847510e80bb45632e9f88427b", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "transactionCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "transactionCount()", + "signature": "b77bf6009627e15897d3198ef815426bb9543fa4e37a6f6c8b82da0703b372c4", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "_required", + "type": "uint256" + } + ], + "name": "changeRequirement", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "changeRequirement(uint256)", + "signature": "ba51a6df11ed2f9658b32100640ebce3ff8ed00be3830b92867b3e30629140ad", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "confirmTransaction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "confirmTransaction(uint256)", + "signature": "c01a8c8473427a14639d2bc8bef9d7b2742747740ed212950f4e530781dbdf5d", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "destination", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + } + ], + "name": "submitTransaction", + "outputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "submitTransaction(address,uint256,bytes)", + "signature": "c6427474ff2c4baa130d285c9d32ec41c0e07b9cc4b5b273ab66f916faee964a", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "MAX_OWNER_COUNT", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "MAX_OWNER_COUNT()", + "signature": "d74f8edde535768f1ff54c90926dc3dbf92d9a622a8bef11a7b8190467308d77", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "required", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setAllowed(address,bool)", - "signature": "4697f05df6908a83d30dcb4e7f08d42d3127ced20b64732e90e63f7cb372a9da", + "method": "required()", + "signature": "dc8452cd18861a7926d01a29fd774a76d0fc4e57278afa13cbc91639fcd16e1f", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "payee", + "name": "owner", "type": "address" - } - ], - "name": "withdrawalAllowed", - "outputs": [ + }, { - "name": "", - "type": "bool" + "name": "newOwner", + "type": "address" } ], + "name": "replaceOwner", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdrawalAllowed(address)", - "signature": "685ca194323465fa417b00616bb2233405b7df230d0c7b98fada5a332c4a1021", + "method": "replaceOwner(address,address)", + "signature": "e20056e60a9f58b726b610d5a8e40f97e687707f2f9b3f9ccdaabe2ee85aa6d4", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "rate", - "type": "uint256" - }, - { - "name": "wallet", - "type": "address" - }, - { - "name": "token", - "type": "address" - }, - { - "name": "cap", + "name": "transactionId", "type": "uint256" } ], + "name": "executeTransaction", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "executeTransaction(uint256)", + "signature": "ee22610b57af59171fe491c7d4d59b4d01c283e32b93b77db36266c6ad1b5877", "index": [], "indexed": 0, "eventSignature": null @@ -7745,8 +10163,12 @@ { "inputs": [ { - "name": "_array", - "type": "uint256[]" + "name": "_owners", + "type": "address[]" + }, + { + "name": "_required", + "type": "uint256" } ], "payable": false, @@ -7764,113 +10186,132 @@ "constant": true, "inputs": [ { - "name": "_element", + "name": "tokenId", "type": "uint256" } ], - "name": "findUpperBound", + "name": "getApproved", "outputs": [ { - "name": "", - "type": "uint256" + "name": "operator", + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "findUpperBound(uint256)", - "signature": "33e3a58ab88fe94e9dbf49de3bb9c1279b961ab02cbe709aa2ac431d3c957028", + "method": "getApproved(uint256)", + "signature": "081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "remainingTokens", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "name": "to", + "type": "address" + }, + { + "name": "tokenId", "type": "uint256" } ], + "name": "approve", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "remainingTokens()", - "signature": "bf58390300de5e33aa839fb830699554caff7ce94e117472917ccd1be548dc48", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "tokenWallet", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "name": "from", + "type": "address" + }, + { + "name": "to", "type": "address" + }, + { + "name": "tokenId", + "type": "uint256" } ], + "name": "transferFrom", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "tokenWallet()", - "signature": "bff99c6cfc9bc667c0dd97317f6e58d396927adc4ee9a35eb2aba74406d47c73", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "rate", - "type": "uint256" - }, - { - "name": "wallet", + "name": "from", "type": "address" }, { - "name": "token", + "name": "to", "type": "address" }, { - "name": "tokenWallet", - "type": "address" + "name": "tokenId", + "type": "uint256" } ], + "name": "safeTransferFrom", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": true, "inputs": [ { - "name": "tokenWallet", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "name": "owner", "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "view", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "ownerOf(uint256)", + "signature": "6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", "index": [], "indexed": 0, "eventSignature": null @@ -7880,49 +10321,48 @@ "constant": true, "inputs": [ { - "name": "account", + "name": "owner", "type": "address" } ], - "name": "isContract", + "name": "balanceOf", "outputs": [ { - "name": "", - "type": "bool" + "name": "balance", + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "isContract(address)", - "signature": "16279055d07f3f98da17007e489f07a8037a8763b169d601c4db770dec17dc13", + "method": "balanceOf(address)", + "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "name": "operator", "type": "address" - } - ], - "name": "toPayable", - "outputs": [ + }, { - "name": "", - "type": "address" + "name": "_approved", + "type": "bool" } ], + "name": "setApprovalForAll", + "outputs": [], "payable": false, - "stateMutability": "pure", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "toPayable(address)", - "signature": "51ecabd60d3ffbd0fd3992102d48e4b9552799601420f3104673e221a3577bca", + "method": "setApprovalForAll(address,bool)", + "signature": "a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", "index": [], "indexed": 0, "eventSignature": null @@ -7932,55 +10372,60 @@ "constant": false, "inputs": [ { - "name": "receiver", + "name": "from", "type": "address" }, { - "name": "amount", + "name": "to", + "type": "address" + }, + { + "name": "tokenId", "type": "uint256" + }, + { + "name": "data", + "type": "bytes" } ], - "name": "sendValue", + "name": "safeTransferFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "sendValue(address,uint256)", - "signature": "24a084dfedb552881fe75e937a5b15c2822e1b879ff607c151ec3982f55dc07d", + "method": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "_spender", + "name": "owner", "type": "address" }, { - "name": "_value", - "type": "uint256" - }, - { - "name": "_extraData", - "type": "bytes" + "name": "operator", + "type": "address" } ], - "name": "approveAndCall", + "name": "isApprovedForAll", "outputs": [ { - "name": "success", + "name": "", "type": "bool" } ], "payable": false, + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "approveAndCall(address,uint256,bytes)", - "signature": "cae9ca5133009d821214ac8231b3d170f22d822ee165adb631578070b6316fc9", + "method": "isApprovedForAll(address,address)", + "signature": "e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", "index": [], "indexed": 0, "eventSignature": null @@ -7989,19 +10434,19 @@ { "constant": true, "inputs": [], - "name": "moneyToPayPerBlock", + "name": "name", "outputs": [ { "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "moneyToPayPerBlock()", - "signature": "94eaa46b6c4a6677c8f49b080d56276204fe453436ffffd2aecf2b68ae319385", + "method": "name()", + "signature": "06fdde0383f15d582d1a74511486c9ddf862a882fb7904b3d9fe9b8b8e58a796", "index": [], "indexed": 0, "eventSignature": null @@ -8010,19 +10455,19 @@ { "constant": true, "inputs": [], - "name": "maxMiners", + "name": "symbol", "outputs": [ { "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "maxMiners()", - "signature": "db6fccda07b2e6bad5d478a794d378d354ca434f3c94b1b7fc514a919aed92b9", + "method": "symbol()", + "signature": "95d89b41e2f5f391a79ec54e9d87c79d6e777c63e32c28da95b4e9e4a79250ec", "index": [], "indexed": 0, "eventSignature": null @@ -8030,20 +10475,25 @@ }, { "constant": true, - "inputs": [], - "name": "maxBlocksToPayPerCall", + "inputs": [ + { + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", "outputs": [ { "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "maxBlocksToPayPerCall()", - "signature": "e32683dff52aff29d263721de20831e5fe2d2c748ab6567b6efac21a9bde1823", + "method": "tokenURI(uint256)", + "signature": "c87b56dda752230262935940d907f047a9f86bb5ee6aa33511fc86db33fea6cc", "index": [], "indexed": 0, "eventSignature": null @@ -8052,7 +10502,7 @@ { "constant": true, "inputs": [], - "name": "lastPaidBlock", + "name": "totalSupply", "outputs": [ { "name": "", @@ -8063,88 +10513,100 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "lastPaidBlock()", - "signature": "f6aced518ca2df90e95db514f2e0f737010a2ac304bc5c27c911099fab41eda7", + "method": "totalSupply()", + "signature": "18160ddd7f15c72528c2f94fd8dfe3c8d5aa26e2c50c7d81f4bc7bee8d4b7932", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": true, "inputs": [ { - "name": "_blockInfoProvider", + "name": "owner", "type": "address" }, { - "name": "_moneyToPayPerBlock", - "type": "uint256" - }, - { - "name": "_maxBlocksToPayPerCall", - "type": "uint256" - }, - { - "name": "_maxMiners", + "name": "index", "type": "uint256" - }, + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ { - "name": "_lockupInMonths", + "name": "tokenId", "type": "uint256" - }, - { - "name": "_dateTimeContract", - "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "view", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "tokenOfOwnerByIndex(address,uint256)", + "signature": "2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "_newMax", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "name": "", "type": "uint256" } ], - "name": "setMaxBlocksToPayPerCall", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setMaxBlocksToPayPerCall(uint256)", - "signature": "3da9f4f0be6d5a05fdd4ae3d265666192154601089c96e51424bf2e08b980f66", + "method": "tokenByIndex(uint256)", + "signature": "4f6ccce7c41aed90ec1f1887c4a821594c0f73758d8941d0ccaa2cde813b7298", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "_newPay", + "indexed": false, + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "name": "_value", "type": "uint256" + }, + { + "indexed": false, + "name": "_data", + "type": "bytes" + } + ], + "name": "transferAndCall", + "outputs": [ + { + "name": "", + "type": "bool" } ], - "name": "setMoneyToPayPerBlock", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setMoneyToPayPerBlock(uint256)", - "signature": "8edf2dff8c8c2a4630befeeb98ac035037bb40ad051b21b800ba2969d3101941", + "method": "transferAndCall(address,uint256,bytes)", + "signature": "4000aea038e4acde4ff65b413088ec658ae209bdf83ccba2ffbbaa2d9ce48cde", "index": [], "indexed": 0, "eventSignature": null @@ -8154,39 +10616,61 @@ "constant": false, "inputs": [ { - "name": "_newMax", + "name": "spender", + "type": "address" + }, + { + "name": "value", "type": "uint256" } ], - "name": "setMaxMiners", - "outputs": [], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setMaxMiners(uint256)", - "signature": "a9476edaee14f067c56f60c191ff6cef97c83294bb4a025246e32c9544901458", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "getBalance", + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "recipient", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getBalance()", - "signature": "12065fe058ec54d32b956897063181d660e7d27f9bb883d28d5cc5ab3423e23c", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null @@ -8194,8 +10678,17 @@ }, { "constant": false, - "inputs": [], - "name": "collectProfits", + "inputs": [ + { + "name": "spender", + "type": "address" + }, + { + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", "outputs": [ { "name": "", @@ -8206,34 +10699,34 @@ "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "collectProfits()", - "signature": "c958e0d6d36792cce73cee987eb1db14f16672a928568c5e8db3291aaf59bf69", + "method": "increaseAllowance(address,uint256)", + "signature": "39509351d3325647dde3fdd3c8b249adfe89ef4f16d76d83768e6df7a5cd81d6", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "addressMiner", + "name": "account", "type": "address" } ], - "name": "payToMiner", + "name": "balanceOf", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], - "payable": true, - "stateMutability": "payable", + "payable": false, + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "payToMiner(address)", - "signature": "ecb8ba13ba7492306cb8a8d48607f34b4ca61cd281ca9ad8cfc29a0b54e52f32", + "method": "balanceOf(address)", + "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", "index": [], "indexed": 0, "eventSignature": null @@ -8243,19 +10736,15 @@ "constant": false, "inputs": [ { - "name": "addressMiner", + "name": "spender", "type": "address" }, { - "name": "month", - "type": "uint8" - }, - { - "name": "year", - "type": "uint16" + "name": "subtractedValue", + "type": "uint256" } ], - "name": "payToMinerInPeriod", + "name": "decreaseAllowance", "outputs": [ { "name": "", @@ -8266,8 +10755,8 @@ "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "payToMinerInPeriod(address,uint8,uint16)", - "signature": "6035635e090457de6c725de5c71f5f51ebd9d23a91cfd8baf037978dd713bbd3", + "method": "decreaseAllowance(address,uint256)", + "signature": "a457c2d77307f80ff2f3ac810ec99eb18ae2cffee13b29c90c9324546e374be5", "index": [], "indexed": 0, "eventSignature": null @@ -8275,64 +10764,68 @@ }, { "constant": false, - "inputs": [], - "name": "payToMiners", + "inputs": [ + { + "name": "recipient", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", "outputs": [ { "name": "", "type": "bool" } ], - "payable": true, - "stateMutability": "payable", + "payable": false, + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "payToMiners()", - "signature": "e033b84e34cd498593f20833ffe7a5e5c96f98962e186331e92913b144764e6e", + "method": "transfer(address,uint256)", + "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "month", - "type": "uint8" + "name": "owner", + "type": "address" }, { - "name": "year", - "type": "uint16" + "name": "spender", + "type": "address" } ], - "name": "payToMinersInPeriod", + "name": "allowance", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "payToMinersInPeriod(uint8,uint16)", - "signature": "8cab0e8113c4443c80b67441f7273acb8d0acb4dd097cceabc13964ba36822a0", + "method": "allowance(address,address)", + "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [ - { - "name": "minerAddress", - "type": "address" - } - ], - "name": "getBalanceForCurrentPeriod", + "constant": false, + "inputs": [], + "name": "snapshot", "outputs": [ { "name": "", @@ -8340,11 +10833,11 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getBalanceForCurrentPeriod(address)", - "signature": "da69cdaf31c9bd523ce88f41e9052aa156c444505eb1b044c109a08dfb90e771", + "method": "snapshot()", + "signature": "9711715ab0b9a0077d568e6c92e34beda766dfe07bfd405b99f6cc244fc5e675", "index": [], "indexed": 0, "eventSignature": null @@ -8354,19 +10847,15 @@ "constant": true, "inputs": [ { - "name": "minerAddress", + "name": "account", "type": "address" }, { - "name": "month", - "type": "uint8" - }, - { - "name": "year", - "type": "uint16" + "name": "snapshotId", + "type": "uint256" } ], - "name": "getBalanceForPeriod", + "name": "balanceOfAt", "outputs": [ { "name": "", @@ -8377,8 +10866,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getBalanceForPeriod(address,uint8,uint16)", - "signature": "500e07ea01ee3fe029dfe9b632b4934b74f96e097e4a64aaf0b978288fb00f56", + "method": "balanceOfAt(address,uint256)", + "signature": "4ee2cd7e1c8d0c67ae50486857122fadf743519435f10363a77120866023ee26", "index": [], "indexed": 0, "eventSignature": null @@ -8388,109 +10877,109 @@ "constant": true, "inputs": [ { - "name": "", + "name": "snapshotId", "type": "uint256" } ], - "name": "owners", + "name": "totalSupplyAt", "outputs": [ { "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "owners(uint256)", - "signature": "025e7c27eac939a1d6b87a08c3f39516072d58f65abdf6d1ca77156530d4cc35", + "method": "totalSupplyAt(uint256)", + "signature": "981b24d030c40d3021134f151d398b787f7448aa6078c0c9b5ff98879d39a725", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "owner", + "name": "account", "type": "address" } ], - "name": "removeOwner", - "outputs": [], + "name": "isPauser", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "removeOwner(address)", - "signature": "173825d90d5095783b384d0c08afb549944c4f4c89ad29a276da04db8e14ff9e", + "method": "isPauser(address)", + "signature": "46fbf68e9af4b174565acc7a5f5256df89a0019864cab4994b666e1897990183", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "paused", + "outputs": [ { - "name": "transactionId", - "type": "uint256" + "name": "", + "type": "bool" } ], - "name": "revokeConfirmation", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "revokeConfirmation(uint256)", - "signature": "20ea8d86087397d6737ff70ebe94a8ed7065f3e7db4534a9523ae818a3fe01b7", + "method": "paused()", + "signature": "5c975abbf8c4d6efa68fc896e233763eb503f2318260b7bf59b19412913788b2", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", + "name": "account", "type": "address" } ], - "name": "isOwner", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "name": "addPauser", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "isOwner(address)", - "signature": "2f54bf6efe3c885d4f7c60dd2b62f9e1c8e834c7152c314a797c4d0e05c447cf", + "method": "addPauser(address)", + "signature": "82dc1ec426f590f8e02fbc1e3fcd7395a4cc661900beaeea90dc088b2956fc37", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", - "type": "uint256" + "name": "to", + "type": "address" }, { - "name": "", - "type": "address" + "name": "value", + "type": "uint256" } ], - "name": "confirmations", + "name": "transfer", "outputs": [ { "name": "", @@ -8498,41 +10987,45 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "confirmations(uint256,address)", - "signature": "3411c81c46ee3d7cf872c1145662928d2120e74c6d45b79c2d87092372f7c84a", + "method": "transfer(address,uint256)", + "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "pending", - "type": "bool" + "name": "from", + "type": "address" }, { - "name": "executed", - "type": "bool" + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" } ], - "name": "getTransactionCount", + "name": "transferFrom", "outputs": [ { - "name": "count", - "type": "uint256" + "name": "", + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getTransactionCount(bool,bool)", - "signature": "5474152539dd948724b4cf552d5b1dd2789758b9698c5bdc66e2fdcf7c3cabde", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null @@ -8542,18 +11035,18 @@ "constant": false, "inputs": [ { - "name": "owner", + "name": "account", "type": "address" } ], - "name": "addOwner", + "name": "addMinter", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "addOwner(address)", - "signature": "7065cb489ab3e47058ef9c048a2255f3e0dc15732bc16897592e2e8d246a0414", + "method": "addMinter(address)", + "signature": "983b2d560bdd6b422e26073d9516b4646e2f1008810070c0d32b3a79aaa7bfcb", "index": [], "indexed": 0, "eventSignature": null @@ -8563,11 +11056,11 @@ "constant": true, "inputs": [ { - "name": "transactionId", - "type": "uint256" + "name": "account", + "type": "address" } ], - "name": "isConfirmed", + "name": "isMinter", "outputs": [ { "name": "", @@ -8578,72 +11071,56 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "isConfirmed(uint256)", - "signature": "784547a768b57de63c01309e9534f8339f117d1469fee08fcaadd193742686c6", + "method": "isMinter(address)", + "signature": "aa271e1a9a41b51f5b4e2e4ce717c974174719a5ddc12cee839f0eabbdf42748", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "transactionId", + "name": "account", + "type": "address" + }, + { + "name": "amount", "type": "uint256" } ], - "name": "getConfirmationCount", + "name": "mint", "outputs": [ { - "name": "count", - "type": "uint256" + "name": "", + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getConfirmationCount(uint256)", - "signature": "8b51d13f1bf42439587b478dcbb3c1c7b41d364e7e61f430d823fb5844597435", + "method": "mint(address,uint256)", + "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, "inputs": [ { - "name": "", - "type": "uint256" - } - ], - "name": "transactions", - "outputs": [ - { - "name": "destination", + "name": "legacyToken", "type": "address" - }, - { - "name": "value", - "type": "uint256" - }, - { - "name": "data", - "type": "bytes" - }, - { - "name": "executed", - "type": "bool" } ], "payable": false, - "stateMutability": "view", - "type": "function", + "stateMutability": "nonpayable", + "type": "constructor", "__signatureData": { - "method": "transactions(uint256)", - "signature": "9ace38c2d967ad67e6abb390955f4fa15d49d10dc79b0b602cb97d942b537041", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -8652,19 +11129,19 @@ { "constant": true, "inputs": [], - "name": "getOwners", + "name": "legacyToken", "outputs": [ { "name": "", - "type": "address[]" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getOwners()", - "signature": "a0e67e2bdc0a6d8a09ccd6c353c9df590807ad66ff5e6630c4f31a86dfa84821", + "method": "legacyToken()", + "signature": "13155455fdd7b3e23ed7eb19d62c49190033e226c08f6bd47d87abf5144f8724", "index": [], "indexed": 0, "eventSignature": null @@ -8672,84 +11149,66 @@ }, { "constant": true, - "inputs": [ - { - "name": "from", - "type": "uint256" - }, - { - "name": "to", - "type": "uint256" - }, - { - "name": "pending", - "type": "bool" - }, - { - "name": "executed", - "type": "bool" - } - ], - "name": "getTransactionIds", + "inputs": [], + "name": "newToken", "outputs": [ { - "name": "_transactionIds", - "type": "uint256[]" + "name": "", + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getTransactionIds(uint256,uint256,bool,bool)", - "signature": "a8abe69a30f0243194c6d9cd7b301fbf510ca7fa157488f505e08e138e2a5b25", + "method": "newToken()", + "signature": "c42bd05aac0f1127e273477372cf897c16d1abfc362babf9af66a2496160f546", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "transactionId", - "type": "uint256" - } - ], - "name": "getConfirmations", - "outputs": [ - { - "name": "_confirmations", - "type": "address[]" + "name": "newToken_", + "type": "address" } ], + "name": "beginMigration", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getConfirmations(uint256)", - "signature": "b5dc40c3b5620210adf51dca4154c224fa8bea2847510e80bb45632e9f88427b", + "method": "beginMigration(address)", + "signature": "104d2614802041eeb018bbccaeba548b9a7ee898af4bcd6e9cce457ec8960361", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "transactionCount", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "name": "account", + "type": "address" + }, + { + "name": "amount", "type": "uint256" } ], + "name": "migrate", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transactionCount()", - "signature": "b77bf6009627e15897d3198ef815426bb9543fa4e37a6f6c8b82da0703b372c4", + "method": "migrate(address,uint256)", + "signature": "ad68ebf738de8bb84d6664bd7e8367bb1eaee463836fc2757f2fe2d2dab8f178", "index": [], "indexed": 0, "eventSignature": null @@ -8759,39 +11218,57 @@ "constant": false, "inputs": [ { - "name": "_required", - "type": "uint256" + "name": "account", + "type": "address" } ], - "name": "changeRequirement", + "name": "migrateAll", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "changeRequirement(uint256)", - "signature": "ba51a6df11ed2f9658b32100640ebce3ff8ed00be3830b92867b3e30629140ad", + "method": "migrateAll(address)", + "signature": "5a8cadb1d8b081fcaa5d74a05a907b404a812656b318e7fbcb088fef3c652906", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "transactionId", - "type": "uint256" + "name": "tokenURI_", + "type": "string" } ], - "name": "confirmTransaction", - "outputs": [], "payable": false, "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "tokenURI", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "confirmTransaction(uint256)", - "signature": "c01a8c8473427a14639d2bc8bef9d7b2742747740ed212950f4e530781dbdf5d", + "method": "tokenURI()", + "signature": "3c130d90a3a3102bb1d43caeb4a43be8c3d9837b9c8f5a1bae2d0b50edd19a88", "index": [], "indexed": 0, "eventSignature": null @@ -8801,52 +11278,53 @@ "constant": false, "inputs": [ { - "name": "destination", + "name": "spender", "type": "address" }, { - "name": "value", + "name": "amount", "type": "uint256" - }, - { - "name": "data", - "type": "bytes" } ], - "name": "submitTransaction", + "name": "approve", "outputs": [ { - "name": "transactionId", - "type": "uint256" + "name": "", + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "submitTransaction(address,uint256,bytes)", - "signature": "c6427474ff2c4baa130d285c9d32ec41c0e07b9cc4b5b273ab66f916faee964a", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "MAX_OWNER_COUNT", - "outputs": [ + "inputs": [ { - "name": "", - "type": "uint256" + "name": "name", + "type": "string" + }, + { + "name": "symbol", + "type": "string" + }, + { + "name": "decimals", + "type": "uint8" } ], "payable": false, - "stateMutability": "view", - "type": "function", + "stateMutability": "nonpayable", + "type": "constructor", "__signatureData": { - "method": "MAX_OWNER_COUNT()", - "signature": "d74f8edde535768f1ff54c90926dc3dbf92d9a622a8bef11a7b8190467308d77", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -8855,123 +11333,104 @@ { "constant": true, "inputs": [], - "name": "required", + "name": "decimals", "outputs": [ { "name": "", - "type": "uint256" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "required()", - "signature": "dc8452cd18861a7926d01a29fd774a76d0fc4e57278afa13cbc91639fcd16e1f", + "method": "decimals()", + "signature": "313ce567add4d438edf58b94ff345d7d38c45b17dfc0f947988d7819dca364f9", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "owner", - "type": "address" - }, - { - "name": "newOwner", - "type": "address" + "name": "cap", + "type": "uint256" } ], - "name": "replaceOwner", - "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", + "type": "constructor", "__signatureData": { - "method": "replaceOwner(address,address)", - "signature": "e20056e60a9f58b726b610d5a8e40f97e687707f2f9b3f9ccdaabe2ee85aa6d4", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "cap", + "outputs": [ { - "name": "transactionId", + "name": "", "type": "uint256" } ], - "name": "executeTransaction", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "executeTransaction(uint256)", - "signature": "ee22610b57af59171fe491c7d4d59b4d01c283e32b93b77db36266c6ad1b5877", + "method": "cap()", + "signature": "355274ea4c5084069935a4456a1ac3001e99e7cb12c33ca22e251b993bb2c183", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "_owners", - "type": "address[]" - }, - { - "name": "_required", + "name": "amount", "type": "uint256" } ], + "name": "burn", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "burn(uint256)", + "signature": "42966c689b5afe9b9b3f8a7103b2a19980d59629bfd6a20a60972312ed41d836", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "indexed": false, - "name": "_to", + "name": "account", "type": "address" }, { - "indexed": false, - "name": "_value", + "name": "amount", "type": "uint256" - }, - { - "indexed": false, - "name": "_data", - "type": "bytes" - } - ], - "name": "transferAndCall", - "outputs": [ - { - "name": "", - "type": "bool" } ], + "name": "burnFrom", + "outputs": [], "payable": false, + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transferAndCall(address,uint256,bytes)", - "signature": "4000aea038e4acde4ff65b413088ec658ae209bdf83ccba2ffbbaa2d9ce48cde", + "method": "burnFrom(address,uint256)", + "signature": "79cc679044ee9a2021f0a26c0fdec02ac39179cd005bb971a471b7f9f17c576c", "index": [], "indexed": 0, "eventSignature": null @@ -9158,6 +11617,7 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "recipient", "type": "address" } @@ -9179,32 +11639,35 @@ "inputs": [ { "indexed": true, - "name": "from", + "internalType": "address", + "name": "owner", "type": "address" }, { "indexed": true, - "name": "to", + "internalType": "address", + "name": "spender", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "value", "type": "uint256" } ], - "name": "Transfer", + "name": "Approval", "type": "event", "__signatureData": { - "method": "Transfer(address,address,uint256)", - "signature": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "method": "Approval(address,address,uint256)", + "signature": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "index": [ true, true, false ], "indexed": 2, - "eventSignature": "9c7b1a6ce28bcb017f375ee62692e394c7c01468f747d77cbe951f0a46cb7e46" + "eventSignature": "c7d8669ee07fb153b456cd2bed49219edf650afb6c1e089e795e213ca4636b63" } }, { @@ -9212,32 +11675,35 @@ "inputs": [ { "indexed": true, - "name": "owner", + "internalType": "address", + "name": "from", "type": "address" }, { "indexed": true, - "name": "spender", + "internalType": "address", + "name": "to", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "value", "type": "uint256" } ], - "name": "Approval", + "name": "Transfer", "type": "event", "__signatureData": { - "method": "Approval(address,address,uint256)", - "signature": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "method": "Transfer(address,address,uint256)", + "signature": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "index": [ true, true, false ], "indexed": 2, - "eventSignature": "c7d8669ee07fb153b456cd2bed49219edf650afb6c1e089e795e213ca4636b63" + "eventSignature": "9c7b1a6ce28bcb017f375ee62692e394c7c01468f747d77cbe951f0a46cb7e46" } }, { @@ -9245,20 +11711,21 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } ], - "name": "WhitelistedAdded", + "name": "WhitelistAdminAdded", "type": "event", "__signatureData": { - "method": "WhitelistedAdded(address)", - "signature": "ee1504a83b6d4a361f4c1dc78ab59bfa30d6a3b6612c403e86bb01ef2984295f", + "method": "WhitelistAdminAdded(address)", + "signature": "22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd20961299", "index": [ true ], "indexed": 1, - "eventSignature": "9336231e22b867dab5542040d04e8c6df785adbb1ac02b8cbfdc95a28161b471" + "eventSignature": "67e6989e2763f5f9748a52b2f1548ee9a7617d7148619b3ed57cd7ad4c89ce4d" } }, { @@ -9266,20 +11733,21 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } ], - "name": "WhitelistedRemoved", + "name": "WhitelistAdminRemoved", "type": "event", "__signatureData": { - "method": "WhitelistedRemoved(address)", - "signature": "270d9b30cf5b0793bbfd54c9d5b94aeb49462b8148399000265144a8722da6b6", + "method": "WhitelistAdminRemoved(address)", + "signature": "0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e165", "index": [ true ], "indexed": 1, - "eventSignature": "3e172418151511c31245dc6615847969d48c97107b411294304772f374bcf0ad" + "eventSignature": "f64b031d2f6ff287e1c6f2bc038f511c7c8446b749c0140d3d21ad2192073933" } }, { @@ -9287,20 +11755,21 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } ], - "name": "WhitelistAdminAdded", + "name": "WhitelistedAdded", "type": "event", "__signatureData": { - "method": "WhitelistAdminAdded(address)", - "signature": "22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd20961299", + "method": "WhitelistedAdded(address)", + "signature": "ee1504a83b6d4a361f4c1dc78ab59bfa30d6a3b6612c403e86bb01ef2984295f", "index": [ true ], "indexed": 1, - "eventSignature": "67e6989e2763f5f9748a52b2f1548ee9a7617d7148619b3ed57cd7ad4c89ce4d" + "eventSignature": "9336231e22b867dab5542040d04e8c6df785adbb1ac02b8cbfdc95a28161b471" } }, { @@ -9308,20 +11777,21 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } ], - "name": "WhitelistAdminRemoved", + "name": "WhitelistedRemoved", "type": "event", "__signatureData": { - "method": "WhitelistAdminRemoved(address)", - "signature": "0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e165", + "method": "WhitelistedRemoved(address)", + "signature": "270d9b30cf5b0793bbfd54c9d5b94aeb49462b8148399000265144a8722da6b6", "index": [ true ], "indexed": 1, - "eventSignature": "f64b031d2f6ff287e1c6f2bc038f511c7c8446b749c0140d3d21ad2192073933" + "eventSignature": "3e172418151511c31245dc6615847969d48c97107b411294304772f374bcf0ad" } }, { @@ -9329,21 +11799,25 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "purchaser", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "beneficiary", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" } @@ -9367,27 +11841,29 @@ "anonymous": false, "inputs": [ { - "indexed": false, - "name": "token", + "indexed": true, + "internalType": "address", + "name": "previousOwner", "type": "address" }, { - "indexed": false, - "name": "amount", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" } ], - "name": "TokensReleased", + "name": "OwnershipTransferred", "type": "event", "__signatureData": { - "method": "TokensReleased(address,uint256)", - "signature": "c7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179", + "method": "OwnershipTransferred(address,address)", + "signature": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "index": [ - false, - false + true, + true ], - "indexed": 0, - "eventSignature": "02db3711eb0df97fe489267794793ab70c330d05441540e8a6fc2995da3511ed" + "indexed": 2, + "eventSignature": "3caeb92b995b79aafedafa1caa25cbfb65b7311e29c30deb24dabcec8f6b9a82" } }, { @@ -9395,6 +11871,7 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "token", "type": "address" } @@ -9415,27 +11892,29 @@ "anonymous": false, "inputs": [ { - "indexed": true, - "name": "previousOwner", + "indexed": false, + "internalType": "address", + "name": "token", "type": "address" }, { - "indexed": true, - "name": "newOwner", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "OwnershipTransferred", + "name": "TokensReleased", "type": "event", "__signatureData": { - "method": "OwnershipTransferred(address,address)", - "signature": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "method": "TokensReleased(address,uint256)", + "signature": "c7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179", "index": [ - true, - true + false, + false ], - "indexed": 2, - "eventSignature": "3caeb92b995b79aafedafa1caa25cbfb65b7311e29c30deb24dabcec8f6b9a82" + "indexed": 0, + "eventSignature": "02db3711eb0df97fe489267794793ab70c330d05441540e8a6fc2995da3511ed" } }, { @@ -9443,11 +11922,13 @@ "inputs": [ { "indexed": false, + "internalType": "uint256", "name": "prevClosingTime", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "newClosingTime", "type": "uint256" } @@ -9470,6 +11951,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9491,6 +11973,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9512,6 +11995,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9533,6 +12017,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9562,42 +12047,18 @@ "eventSignature": "9270cc390c096600a1c17c44345a1ba689fafd99d97487b10cfccf86cf731836" } }, - { - "anonymous": false, - "inputs": [], - "name": "RefundsClosed", - "type": "event", - "__signatureData": { - "method": "RefundsClosed()", - "signature": "088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f", - "index": [], - "indexed": 0, - "eventSignature": "088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f" - } - }, - { - "anonymous": false, - "inputs": [], - "name": "RefundsEnabled", - "type": "event", - "__signatureData": { - "method": "RefundsEnabled()", - "signature": "599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89", - "index": [], - "indexed": 0, - "eventSignature": "599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89" - } - }, { "anonymous": false, "inputs": [ { "indexed": true, + "internalType": "address", "name": "payee", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "weiAmount", "type": "uint256" } @@ -9615,16 +12076,44 @@ "eventSignature": "f3cfbfbac77890a74b67531fe3b229cc981c138b288016538ab25faeb5297748" } }, + { + "anonymous": false, + "inputs": [], + "name": "RefundsClosed", + "type": "event", + "__signatureData": { + "method": "RefundsClosed()", + "signature": "088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f", + "index": [], + "indexed": 0, + "eventSignature": "088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f" + } + }, + { + "anonymous": false, + "inputs": [], + "name": "RefundsEnabled", + "type": "event", + "__signatureData": { + "method": "RefundsEnabled()", + "signature": "599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89", + "index": [], + "indexed": 0, + "eventSignature": "599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89" + } + }, { "anonymous": false, "inputs": [ { "indexed": true, + "internalType": "address", "name": "payee", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "weiAmount", "type": "uint256" } @@ -9647,11 +12136,13 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "shares", "type": "uint256" } @@ -9674,26 +12165,28 @@ "inputs": [ { "indexed": false, - "name": "to", + "internalType": "address", + "name": "from", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "PaymentReleased", + "name": "PaymentReceived", "type": "event", "__signatureData": { - "method": "PaymentReleased(address,uint256)", - "signature": "df20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056", + "method": "PaymentReceived(address,uint256)", + "signature": "6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be770", "index": [ false, false ], "indexed": 0, - "eventSignature": "db424b1713867a4b9700d3e51d84caaec00f54e9c90d51ab3a0e1f440358cb3b" + "eventSignature": "0cc0c12213151cb2f76744da3e56fd7bd753d7e48599303461b350e04d6b5181" } }, { @@ -9701,26 +12194,28 @@ "inputs": [ { "indexed": false, - "name": "from", + "internalType": "address", + "name": "to", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "PaymentReceived", + "name": "PaymentReleased", "type": "event", "__signatureData": { - "method": "PaymentReceived(address,uint256)", - "signature": "6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be770", + "method": "PaymentReleased(address,uint256)", + "signature": "df20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056", "index": [ false, false ], "indexed": 0, - "eventSignature": "0cc0c12213151cb2f76744da3e56fd7bd753d7e48599303461b350e04d6b5181" + "eventSignature": "db424b1713867a4b9700d3e51d84caaec00f54e9c90d51ab3a0e1f440358cb3b" } }, { @@ -9728,6 +12223,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9749,6 +12245,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9770,6 +12267,7 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "account", "type": "address" } @@ -9791,6 +12289,7 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "account", "type": "address" } @@ -9812,6 +12311,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9833,6 +12333,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9854,32 +12355,49 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "relay", "type": "address" }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, { "indexed": false, - "name": "stake", - "type": "uint256" + "internalType": "bytes4", + "name": "selector", + "type": "bytes4" }, { "indexed": false, - "name": "unstakeDelay", + "internalType": "uint256", + "name": "reason", "type": "uint256" } ], - "name": "Staked", + "name": "CanRelayFailed", "type": "event", "__signatureData": { - "method": "Staked(address,uint256,uint256)", - "signature": "1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90", + "method": "CanRelayFailed(address,address,address,bytes4,uint256)", + "signature": "afb5afd6d1c2e8ffbfb480e674a169f493ece0b22658d4f4484e7334f0241e22", "index": [ + true, + true, true, false, false ], - "indexed": 1, - "eventSignature": "866a84c3f9aeb093e2ed8da68f59fec2c0971ee8b15c04c6eb15637f24547150" + "indexed": 3, + "eventSignature": "6246ddc1cc93e5818d257ca595114ddd2fd834dd28e80d8fadf4128b1b50b817" } }, { @@ -9887,50 +12405,35 @@ "inputs": [ { "indexed": true, - "name": "relay", + "internalType": "address", + "name": "recipient", "type": "address" }, { "indexed": true, - "name": "owner", + "internalType": "address", + "name": "from", "type": "address" }, { "indexed": false, - "name": "transactionFee", - "type": "uint256" - }, - { - "indexed": false, - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "name": "unstakeDelay", + "internalType": "uint256", + "name": "amount", "type": "uint256" - }, - { - "indexed": false, - "name": "url", - "type": "string" } ], - "name": "RelayAdded", + "name": "Deposited", "type": "event", "__signatureData": { - "method": "RelayAdded(address,address,uint256,uint256,uint256,string)", - "signature": "85b3ae3aae9d3fcb31142fbd8c3b4722d57825b8edd6e1366e69204afa5a0dfa", + "method": "Deposited(address,address,uint256)", + "signature": "8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a7", "index": [ true, true, - false, - false, - false, false ], "indexed": 2, - "eventSignature": "a010a6bcf7b5930fdbd642b6d69171ef53492d7ec2ff6f3a0bfd938924a04848" + "eventSignature": "797e51340ec17e6b1c56dac14c59854d8571c6e20f423c47787c023ebaa79fd9" } }, { @@ -9938,53 +12441,35 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "relay", "type": "address" }, { "indexed": false, - "name": "unstakeTime", - "type": "uint256" - } - ], - "name": "RelayRemoved", - "type": "event", - "__signatureData": { - "method": "RelayRemoved(address,uint256)", - "signature": "5490afc1d818789c8b3d5d63bce3d2a3327d0bba4efb5a7751f783dc977d7d11", - "index": [ - true, - false - ], - "indexed": 1, - "eventSignature": "76d3e427a904ff3e9d6e769ffdc8d45d9a15ccc490df2b6ef20d714d469b478a" - } - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "relay", + "internalType": "address", + "name": "sender", "type": "address" }, { "indexed": false, - "name": "stake", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "Unstaked", + "name": "Penalized", "type": "event", "__signatureData": { - "method": "Unstaked(address,uint256)", - "signature": "0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75", + "method": "Penalized(address,address,uint256)", + "signature": "b0595266ccec357806b2691f348b128209f1060a0bda4f5c95f7090730351ff8", "index": [ true, + false, false ], "indexed": 1, - "eventSignature": "7b0523b2f18848528150d0f26cee4fca3ed681a33b92b5024efd04a83cf76c54" + "eventSignature": "15f5b18190245966e1819276c43b6197a82443a6934cafb8dc5e3dd2be1bba5b" } }, { @@ -9992,32 +12477,56 @@ "inputs": [ { "indexed": true, - "name": "recipient", + "internalType": "address", + "name": "relay", "type": "address" }, { "indexed": true, - "name": "from", + "internalType": "address", + "name": "owner", "type": "address" }, { "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "transactionFee", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "unstakeDelay", "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "url", + "type": "string" } ], - "name": "Deposited", + "name": "RelayAdded", "type": "event", "__signatureData": { - "method": "Deposited(address,address,uint256)", - "signature": "8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a7", + "method": "RelayAdded(address,address,uint256,uint256,uint256,string)", + "signature": "85b3ae3aae9d3fcb31142fbd8c3b4722d57825b8edd6e1366e69204afa5a0dfa", "index": [ true, true, + false, + false, + false, false ], "indexed": 2, - "eventSignature": "797e51340ec17e6b1c56dac14c59854d8571c6e20f423c47787c023ebaa79fd9" + "eventSignature": "a010a6bcf7b5930fdbd642b6d69171ef53492d7ec2ff6f3a0bfd938924a04848" } }, { @@ -10025,32 +12534,28 @@ "inputs": [ { "indexed": true, - "name": "account", - "type": "address" - }, - { - "indexed": true, - "name": "dest", + "internalType": "address", + "name": "relay", "type": "address" }, { "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "unstakeTime", "type": "uint256" } ], - "name": "Withdrawn", + "name": "RelayRemoved", "type": "event", "__signatureData": { - "method": "Withdrawn(address,address,uint256)", - "signature": "d1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb", + "method": "RelayRemoved(address,uint256)", + "signature": "5490afc1d818789c8b3d5d63bce3d2a3327d0bba4efb5a7751f783dc977d7d11", "index": [ - true, true, false ], - "indexed": 2, - "eventSignature": "0e2d030650760d3871e054ffa9c47786dcf177cc303105369a8e9f342c8b029d" + "indexed": 1, + "eventSignature": "76d3e427a904ff3e9d6e769ffdc8d45d9a15ccc490df2b6ef20d714d469b478a" } }, { @@ -10058,44 +12563,35 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "relay", "type": "address" }, - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, { "indexed": false, - "name": "selector", - "type": "bytes4" + "internalType": "uint256", + "name": "stake", + "type": "uint256" }, { "indexed": false, - "name": "reason", + "internalType": "uint256", + "name": "unstakeDelay", "type": "uint256" } ], - "name": "CanRelayFailed", + "name": "Staked", "type": "event", - "__signatureData": { - "method": "CanRelayFailed(address,address,address,bytes4,uint256)", - "signature": "afb5afd6d1c2e8ffbfb480e674a169f493ece0b22658d4f4484e7334f0241e22", + "__signatureData": { + "method": "Staked(address,uint256,uint256)", + "signature": "1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90", "index": [ - true, - true, true, false, false ], - "indexed": 3, - "eventSignature": "6246ddc1cc93e5818d257ca595114ddd2fd834dd28e80d8fadf4128b1b50b817" + "indexed": 1, + "eventSignature": "866a84c3f9aeb093e2ed8da68f59fec2c0971ee8b15c04c6eb15637f24547150" } }, { @@ -10103,31 +12599,37 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "relay", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, + "internalType": "bytes4", "name": "selector", "type": "bytes4" }, { "indexed": false, + "internalType": "enum IRelayHub.RelayCallStatus", "name": "status", "type": "uint8" }, { "indexed": false, + "internalType": "uint256", "name": "charge", "type": "uint256" } @@ -10154,32 +12656,28 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "relay", "type": "address" }, { "indexed": false, - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "stake", "type": "uint256" } ], - "name": "Penalized", + "name": "Unstaked", "type": "event", "__signatureData": { - "method": "Penalized(address,address,uint256)", - "signature": "b0595266ccec357806b2691f348b128209f1060a0bda4f5c95f7090730351ff8", + "method": "Unstaked(address,uint256)", + "signature": "0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75", "index": [ true, - false, false ], "indexed": 1, - "eventSignature": "15f5b18190245966e1819276c43b6197a82443a6934cafb8dc5e3dd2be1bba5b" + "eventSignature": "7b0523b2f18848528150d0f26cee4fca3ed681a33b92b5024efd04a83cf76c54" } }, { @@ -10187,50 +12685,35 @@ "inputs": [ { "indexed": true, - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "name": "from", + "internalType": "address", + "name": "account", "type": "address" }, { "indexed": true, - "name": "to", + "internalType": "address", + "name": "dest", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "name": "operatorData", - "type": "bytes" } ], - "name": "Sent", + "name": "Withdrawn", "type": "event", "__signatureData": { - "method": "Sent(address,address,address,uint256,bytes,bytes)", - "signature": "06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987", + "method": "Withdrawn(address,address,uint256)", + "signature": "d1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb", "index": [ true, true, - true, - false, - false, false ], - "indexed": 3, - "eventSignature": "79a60acac19908bc2b59dffabec387f74ee66e75ba7dc244aa9b4bd344c7238d" + "indexed": 2, + "eventSignature": "0e2d030650760d3871e054ffa9c47786dcf177cc303105369a8e9f342c8b029d" } }, { @@ -10238,44 +12721,28 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, - "name": "to", + "internalType": "address", + "name": "tokenHolder", "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "name": "operatorData", - "type": "bytes" } ], - "name": "Minted", + "name": "AuthorizedOperator", "type": "event", "__signatureData": { - "method": "Minted(address,address,uint256,bytes,bytes)", - "signature": "2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d", + "method": "AuthorizedOperator(address,address)", + "signature": "f4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f9", "index": [ true, - true, - false, - false, - false + true ], "indexed": 2, - "eventSignature": "1de3dae660a62c3814b302291e4855fce531cc3976d3a1aa413df1f10af99545" + "eventSignature": "675fb7391622d0d5bc83dff94c6200ee5e8fbc9070d5be471897305f97d69594" } }, { @@ -10283,26 +12750,31 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, + "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, + "internalType": "bytes", "name": "operatorData", "type": "bytes" } @@ -10328,26 +12800,49 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, - "name": "tokenHolder", + "internalType": "address", + "name": "to", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "operatorData", + "type": "bytes" } ], - "name": "AuthorizedOperator", + "name": "Minted", "type": "event", "__signatureData": { - "method": "AuthorizedOperator(address,address)", - "signature": "f4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f9", + "method": "Minted(address,address,uint256,bytes,bytes)", + "signature": "2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d", "index": [ true, - true + true, + false, + false, + false ], "indexed": 2, - "eventSignature": "675fb7391622d0d5bc83dff94c6200ee5e8fbc9070d5be471897305f97d69594" + "eventSignature": "1de3dae660a62c3814b302291e4855fce531cc3976d3a1aa413df1f10af99545" } }, { @@ -10355,11 +12850,13 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "tokenHolder", "type": "address" } @@ -10382,32 +12879,56 @@ "inputs": [ { "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "to", "type": "address" }, { - "indexed": true, - "name": "tokenId", + "indexed": false, + "internalType": "uint256", + "name": "amount", "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "operatorData", + "type": "bytes" } ], - "name": "Transfer", + "name": "Sent", "type": "event", "__signatureData": { - "method": "Transfer(address,address,uint256)", - "signature": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "method": "Sent(address,address,address,uint256,bytes,bytes)", + "signature": "06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987", "index": [ true, true, - true + true, + false, + false, + false ], "indexed": 3, - "eventSignature": "effeccbe276a467191ec04459969a28b1271df483a196057d8091645c1501cfd" + "eventSignature": "79a60acac19908bc2b59dffabec387f74ee66e75ba7dc244aa9b4bd344c7238d" } }, { @@ -10415,16 +12936,19 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, + "internalType": "uint256", "name": "tokenId", "type": "uint256" } @@ -10448,16 +12972,19 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, + "internalType": "bool", "name": "approved", "type": "bool" } @@ -10481,16 +13008,55 @@ "inputs": [ { "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "__signatureData": { + "method": "Transfer(address,address,uint256)", + "signature": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "index": [ + true, + true, + true + ], + "indexed": 3, + "eventSignature": "effeccbe276a467191ec04459969a28b1271df483a196057d8091645c1501cfd" + } + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, + "internalType": "bytes32", "name": "interfaceHash", "type": "bytes32" }, { "indexed": true, + "internalType": "address", "name": "implementer", "type": "address" } @@ -10514,11 +13080,13 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "newManager", "type": "address" } @@ -10554,11 +13122,13 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "oldRelayHub", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "newRelayHub", "type": "address" } @@ -10581,37 +13151,19 @@ "inputs": [ { "indexed": false, - "name": "sender", - "type": "address" - } - ], - "name": "Sender", - "type": "event", - "__signatureData": { - "method": "Sender(address)", - "signature": "d6558c3ed910d959271054471fd1c326679d9fece99c5091b00ed89627cf2bfc", - "index": [ - false - ], - "indexed": 0, - "eventSignature": "175a6649fb5c0c27c88482127893f59c0b7faee84ad3d90ec9f0d83811d2c3e8" - } - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, + "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, + "internalType": "uint256", "name": "integerValue", "type": "uint256" }, { "indexed": false, + "internalType": "string", "name": "stringValue", "type": "string" } @@ -10635,6 +13187,29 @@ "inputs": [ { "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Sender", + "type": "event", + "__signatureData": { + "method": "Sender(address)", + "signature": "d6558c3ed910d959271054471fd1c326679d9fece99c5091b00ed89627cf2bfc", + "index": [ + false + ], + "indexed": 0, + "eventSignature": "175a6649fb5c0c27c88482127893f59c0b7faee84ad3d90ec9f0d83811d2c3e8" + } + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", "name": "senderBalance", "type": "uint256" } @@ -10656,55 +13231,86 @@ "inputs": [ { "indexed": false, + "internalType": "bool", + "name": "result", + "type": "bool" + } + ], + "name": "TransactionResult", + "type": "event", + "__signatureData": { + "method": "TransactionResult(bool)", + "signature": "5f2d66b608a7b4bfa43b7e9ba385022741152c97499b8a8abcd5c27258417b5a", + "index": [ + false + ], + "indexed": 0, + "eventSignature": "c50ffabeccb2a0503b5cfc61ec812616a1749e58efbc7c86206787021b0253a8" + } + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, + "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, + "internalType": "bytes", "name": "operatorData", "type": "bytes" }, { "indexed": false, + "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "fromBalance", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "toBalance", "type": "uint256" } ], - "name": "TokensToSendCalled", + "name": "TokensReceivedCalled", "type": "event", "__signatureData": { - "method": "TokensToSendCalled(address,address,address,uint256,bytes,bytes,address,uint256,uint256)", - "signature": "aa3e88aca472e90221daf7d3d601abafb62b120319089d7a2c2f63588da85529", + "method": "TokensReceivedCalled(address,address,address,uint256,bytes,bytes,address,uint256,uint256)", + "signature": "47e915878c47f3ec4d7ff646a2becb229f64fd2abe4d2b5e2bb4275b0cf50d4e", "index": [ false, false, @@ -10717,7 +13323,7 @@ false ], "indexed": 0, - "eventSignature": "47f470940c78bab452bbad82488a53936f27c3ae1c870c85062675ebfbdd1e70" + "eventSignature": "68c6768a2b60c20a4720c4df07bfa1e2ae8048b06ec535671e097366a2cf4b71" } }, { @@ -10725,55 +13331,64 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, + "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, + "internalType": "bytes", "name": "operatorData", "type": "bytes" }, { "indexed": false, + "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "fromBalance", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "toBalance", "type": "uint256" } ], - "name": "TokensReceivedCalled", + "name": "TokensToSendCalled", "type": "event", "__signatureData": { - "method": "TokensReceivedCalled(address,address,address,uint256,bytes,bytes,address,uint256,uint256)", - "signature": "47e915878c47f3ec4d7ff646a2becb229f64fd2abe4d2b5e2bb4275b0cf50d4e", + "method": "TokensToSendCalled(address,address,address,uint256,bytes,bytes,address,uint256,uint256)", + "signature": "aa3e88aca472e90221daf7d3d601abafb62b120319089d7a2c2f63588da85529", "index": [ false, false, @@ -10786,7 +13401,7 @@ false ], "indexed": 0, - "eventSignature": "68c6768a2b60c20a4720c4df07bfa1e2ae8048b06ec535671e097366a2cf4b71" + "eventSignature": "47f470940c78bab452bbad82488a53936f27c3ae1c870c85062675ebfbdd1e70" } }, { @@ -10794,26 +13409,31 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": false, + "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, + "internalType": "uint256", "name": "gas", "type": "uint256" } @@ -10839,6 +13459,7 @@ "inputs": [ { "indexed": false, + "internalType": "uint256", "name": "id", "type": "uint256" } diff --git a/dist/lib/interfacesIds.js b/dist/lib/interfacesIds.js index 970a4d0..4e279ba 100755 --- a/dist/lib/interfacesIds.js +++ b/dist/lib/interfacesIds.js @@ -1,4 +1,4 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = exports.interfacesIds = void 0;var _utils = require("./utils"); +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.interfacesIds = exports.default = void 0;var _utils = require("./utils"); const erc20methods = [ 'totalSupply()', @@ -10,10 +10,10 @@ const erc20methods = [ const erc677Methods = erc20methods.concat([ -'transferAndCall(address,uint256,bytes)']); +'transferAndCall(address,uint256,bytes)'] +); - -const interfacesIds = { +const interfacesIds = exports.interfacesIds = { ERC20: makeInterface(erc20methods), ERC677: makeInterface(erc677Methods), ERC165: makeInterface(['supportsInterface(bytes4)']), @@ -26,26 +26,27 @@ const interfacesIds = { 'isApprovedForAll(address,address)', 'transferFrom(address,address,uint256)', 'safeTransferFrom(address,address,uint256)', - 'safeTransferFrom(address,address,uint256,bytes)']), - + 'safeTransferFrom(address,address,uint256,bytes)'] + ), ERC721Enumerable: makeInterface([ 'totalSupply()', 'tokenOfOwnerByIndex(address,uint256)', - 'tokenByIndex(uint256)']), - + 'tokenByIndex(uint256)'] + ), ERC721Metadata: makeInterface([ 'name()', 'symbol()', - 'tokenURI(uint256)']), - + 'tokenURI(uint256)'] + ), ERC721Exists: makeInterface([ - 'exists(uint256)']) };exports.interfacesIds = interfacesIds; - - + 'exists(uint256)'] + ) +}; function makeInterface(methods) { let id = (0, _utils.erc165IdFromMethods)(methods); return { methods, id }; -}var _default = +}var _default = exports.default = -interfacesIds;exports.default = _default; \ No newline at end of file +interfacesIds; +//# sourceMappingURL=interfacesIds.js.map \ No newline at end of file diff --git a/dist/lib/interfacesIds.js.map b/dist/lib/interfacesIds.js.map new file mode 100644 index 0000000..21ee7a1 --- /dev/null +++ b/dist/lib/interfacesIds.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfacesIds.js","names":["_utils","require","erc20methods","erc677Methods","concat","interfacesIds","exports","ERC20","makeInterface","ERC677","ERC165","ERC721","ERC721Enumerable","ERC721Metadata","ERC721Exists","methods","id","erc165IdFromMethods","_default","default"],"sources":["../../src/lib/interfacesIds.js"],"sourcesContent":["import { erc165IdFromMethods } from './utils'\n\nconst erc20methods = [\n 'totalSupply()',\n 'balanceOf(address)',\n 'allowance(address,address)',\n 'transfer(address,uint256)',\n 'approve(address,uint256)',\n 'transferFrom(address,address,uint256)'\n]\n\nconst erc677Methods = erc20methods.concat([\n 'transferAndCall(address,uint256,bytes)'\n])\n\nexport const interfacesIds = {\n ERC20: makeInterface(erc20methods),\n ERC677: makeInterface(erc677Methods),\n ERC165: makeInterface(['supportsInterface(bytes4)']),\n ERC721: makeInterface([\n 'balanceOf(address)',\n 'ownerOf(uint256)',\n 'approve(address,uint256)',\n 'getApproved(uint256)',\n 'setApprovalForAll(address,bool)',\n 'isApprovedForAll(address,address)',\n 'transferFrom(address,address,uint256)',\n 'safeTransferFrom(address,address,uint256)',\n 'safeTransferFrom(address,address,uint256,bytes)'\n ]),\n ERC721Enumerable: makeInterface([\n 'totalSupply()',\n 'tokenOfOwnerByIndex(address,uint256)',\n 'tokenByIndex(uint256)'\n ]),\n ERC721Metadata: makeInterface([\n 'name()',\n 'symbol()',\n 'tokenURI(uint256)'\n ]),\n ERC721Exists: makeInterface([\n 'exists(uint256)'\n ])\n}\n\nfunction makeInterface (methods) {\n let id = erc165IdFromMethods(methods)\n return { methods, id }\n}\n\nexport default interfacesIds\n"],"mappings":"4HAAA,IAAAA,MAAA,GAAAC,OAAA;;AAEA,MAAMC,YAAY,GAAG;AACnB,eAAe;AACf,oBAAoB;AACpB,4BAA4B;AAC5B,2BAA2B;AAC3B,0BAA0B;AAC1B,uCAAuC,CACxC;;;AAED,MAAMC,aAAa,GAAGD,YAAY,CAACE,MAAM,CAAC;AACxC,wCAAwC;AACzC,CAAC;;AAEK,MAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,KAAK,EAAEC,aAAa,CAACN,YAAY,CAAC;EAClCO,MAAM,EAAED,aAAa,CAACL,aAAa,CAAC;EACpCO,MAAM,EAAEF,aAAa,CAAC,CAAC,2BAA2B,CAAC,CAAC;EACpDG,MAAM,EAAEH,aAAa,CAAC;EACpB,oBAAoB;EACpB,kBAAkB;EAClB,0BAA0B;EAC1B,sBAAsB;EACtB,iCAAiC;EACjC,mCAAmC;EACnC,uCAAuC;EACvC,2CAA2C;EAC3C,iDAAiD;EAClD,CAAC;EACFI,gBAAgB,EAAEJ,aAAa,CAAC;EAC9B,eAAe;EACf,sCAAsC;EACtC,uBAAuB;EACxB,CAAC;EACFK,cAAc,EAAEL,aAAa,CAAC;EAC5B,QAAQ;EACR,UAAU;EACV,mBAAmB;EACpB,CAAC;EACFM,YAAY,EAAEN,aAAa,CAAC;EAC1B,iBAAiB;EAClB;AACH,CAAC;;AAED,SAASA,aAAaA,CAAEO,OAAO,EAAE;EAC/B,IAAIC,EAAE,GAAG,IAAAC,0BAAmB,EAACF,OAAO,CAAC;EACrC,OAAO,EAAEA,OAAO,EAAEC,EAAE,CAAC,CAAC;AACxB,CAAC,IAAAE,QAAA,GAAAZ,OAAA,CAAAa,OAAA;;AAEcd,aAAa"} \ No newline at end of file diff --git a/dist/lib/nativeContracts/FakeABI.js b/dist/lib/nativeContracts/FakeABI.js index 4e1439c..1d93829 100644 --- a/dist/lib/nativeContracts/FakeABI.js +++ b/dist/lib/nativeContracts/FakeABI.js @@ -1,26 +1,26 @@ "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = FakeABI; var _rskUtils = require("@rsksmart/rsk-utils"); var _utils = require("../utils"); -var btcUtils = _interopRequireWildcard(require("../btcUtils"));function _getRequireWildcardCache() {if (typeof WeakMap !== "function") return null;var cache = new WeakMap();_getRequireWildcardCache = function () {return cache;};return cache;}function _interopRequireWildcard(obj) {if (obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache();if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;} +var btcUtils = _interopRequireWildcard(require("../btcUtils"));function _getRequireWildcardCache(e) {if ("function" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || "object" != typeof e && "function" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;} function FakeABI(network) { - const decodeBtcTxHash = data => { + const decodeBtcTxHash = (data) => { if ((0, _rskUtils.remove0x)(data).length === 128) { let buffer = Buffer.from((0, _rskUtils.remove0x)(data), 'hex'); data = (0, _rskUtils.add0x)(buffer.toString('ascii')); } return data; }; - const decodeArray = data => data.map(d => Array.isArray(d) ? decodeArray(d) : (0, _rskUtils.add0x)(d.toString('hex'))); + const decodeArray = (data) => data.map((d) => Array.isArray(d) ? decodeArray(d) : (0, _rskUtils.add0x)(d.toString('hex'))); - const decodeFederationData = data => { + const decodeFederationData = (data) => { let [a160, keys] = data; let address = btcUtils.h160toAddress(a160, { prefixKey: 'scriptHash', network }).toString('hex'); - keys = keys.map(d => btcUtils.rskAddressFromBtcPublicKey(d.toString('hex'))); + keys = keys.map((d) => btcUtils.rskAddressFromBtcPublicKey(d.toString('hex'))); return [address, keys]; }; - const commitFederationDecoder = data => { + const commitFederationDecoder = (data) => { const decoded = _rskUtils.rlp.decode(data); let [oldData, newData, block] = decoded; let [oldFederationAddress, oldFederationMembers] = decodeFederationData(oldData); @@ -35,102 +35,103 @@ function FakeABI(network) { { indexed: true, name: 'to', - type: 'address' }, - + type: 'address' + }, { indexed: false, name: 'blockHash', - type: 'string' }, - + type: 'string' + }, { indexed: false, name: 'value', - type: 'uint256' }], - + type: 'uint256' + }], name: 'mining_fee_topic', - type: 'event' }, - + type: 'event' + }, { // Bridge events inputs: [ { indexed: false, name: 'btcTxHash', - type: 'string' }, - + type: 'string' + }, { indexed: false, name: 'btcTx', // raw tx? - type: 'string' }], - + type: 'string' + }], name: 'release_btc_topic', - type: 'event' }, - + type: 'event' + }, { inputs: [ { indexed: false, name: 'sender', - type: 'address' }], - + type: 'address' + }], name: 'update_collections_topic', - type: 'event' }, - + type: 'event' + }, { inputs: [ { indexed: false, name: 'btcTxHash', type: 'string', - _filter: decodeBtcTxHash }, - + _filter: decodeBtcTxHash + }, { indexed: false, name: 'federatorPublicKey', - type: 'string' }, - + type: 'string' + }, { indexed: false, name: 'rskTxHash', - type: 'string' }], - + type: 'string' + }], name: 'add_signature_topic', - type: 'event' }, - + type: 'event' + }, { inputs: [ { indexed: false, name: 'oldFederationAddress', - type: 'string' }, - + type: 'string' + }, { indexed: false, name: 'oldFederationMembers', - type: 'address[]' }, - + type: 'address[]' + }, { indexed: false, name: 'newFederationAddress', - type: 'string' }, - + type: 'string' + }, { indexed: false, name: 'newFederationMembers', - type: 'address[]' }, - + type: 'address[]' + }, { indexed: false, name: 'activationBlockNumber', - type: 'string' }], - + type: 'string' + }], name: 'commit_federation_topic', type: 'event', - _decoder: commitFederationDecoder }])); - - -} \ No newline at end of file + _decoder: commitFederationDecoder + }] + )); +} +//# sourceMappingURL=FakeABI.js.map \ No newline at end of file diff --git a/dist/lib/nativeContracts/FakeABI.js.map b/dist/lib/nativeContracts/FakeABI.js.map new file mode 100644 index 0000000..7d8de7c --- /dev/null +++ b/dist/lib/nativeContracts/FakeABI.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FakeABI.js","names":["_rskUtils","require","_utils","btcUtils","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","FakeABI","network","decodeBtcTxHash","data","remove0x","length","buffer","Buffer","from","add0x","toString","decodeArray","map","d","Array","isArray","decodeFederationData","a160","keys","address","h160toAddress","prefixKey","rskAddressFromBtcPublicKey","commitFederationDecoder","decoded","rlp","decode","oldData","newData","block","oldFederationAddress","oldFederationMembers","newFederationAddress","newFederationMembers","freeze","addSignatureDataToAbi","anonymous","inputs","indexed","name","type","_filter","_decoder"],"sources":["../../../src/lib/nativeContracts/FakeABI.js"],"sourcesContent":["\nimport { remove0x, add0x, rlp } from '@rsksmart/rsk-utils'\nimport { addSignatureDataToAbi } from '../utils'\nimport * as btcUtils from '../btcUtils'\n\nexport default function FakeABI (network) {\n const decodeBtcTxHash = data => {\n if (remove0x(data).length === 128) {\n let buffer = Buffer.from(remove0x(data), 'hex')\n data = add0x(buffer.toString('ascii'))\n }\n return data\n }\n const decodeArray = data => data.map(d => Array.isArray(d) ? decodeArray(d) : add0x(d.toString('hex')))\n\n const decodeFederationData = data => {\n let [a160, keys] = data\n let address = btcUtils.h160toAddress(a160, { prefixKey: 'scriptHash', network }).toString('hex')\n keys = keys.map(d => btcUtils.rskAddressFromBtcPublicKey(d.toString('hex')))\n return [address, keys]\n }\n\n const commitFederationDecoder = data => {\n const decoded = rlp.decode(data)\n let [oldData, newData, block] = decoded\n let [oldFederationAddress, oldFederationMembers] = decodeFederationData(oldData)\n let [newFederationAddress, newFederationMembers] = decodeFederationData(newData)\n block = block.toString('ascii')\n return [oldFederationAddress, oldFederationMembers, newFederationAddress, newFederationMembers, block]\n }\n return Object.freeze(addSignatureDataToAbi([\n { // Remasc events\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'to',\n type: 'address'\n },\n {\n indexed: false,\n name: 'blockHash',\n type: 'string'\n },\n {\n indexed: false,\n name: 'value',\n type: 'uint256'\n }\n ],\n name: 'mining_fee_topic',\n type: 'event'\n },\n { // Bridge events\n inputs: [\n {\n indexed: false,\n name: 'btcTxHash',\n type: 'string'\n },\n {\n indexed: false,\n name: 'btcTx', // raw tx?\n type: 'string'\n }\n ],\n name: 'release_btc_topic',\n type: 'event'\n },\n {\n inputs: [\n {\n indexed: false,\n name: 'sender',\n type: 'address'\n }\n ],\n name: 'update_collections_topic',\n type: 'event'\n },\n {\n inputs: [\n {\n indexed: false,\n name: 'btcTxHash',\n type: 'string',\n _filter: decodeBtcTxHash\n },\n {\n indexed: false,\n name: 'federatorPublicKey',\n type: 'string'\n },\n {\n indexed: false,\n name: 'rskTxHash',\n type: 'string'\n }\n ],\n name: 'add_signature_topic',\n type: 'event'\n },\n {\n inputs: [\n {\n indexed: false,\n name: 'oldFederationAddress',\n type: 'string'\n },\n {\n indexed: false,\n name: 'oldFederationMembers',\n type: 'address[]'\n },\n {\n indexed: false,\n name: 'newFederationAddress',\n type: 'string'\n },\n {\n indexed: false,\n name: 'newFederationMembers',\n type: 'address[]'\n },\n {\n indexed: false,\n name: 'activationBlockNumber',\n type: 'string'\n }\n ],\n name: 'commit_federation_topic',\n type: 'event',\n _decoder: commitFederationDecoder\n }\n ]))\n}\n"],"mappings":";AACA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAC,uBAAA,CAAAH,OAAA,iBAAuC,SAAAI,yBAAAC,CAAA,4BAAAC,OAAA,kBAAAC,CAAA,OAAAD,OAAA,GAAAE,CAAA,OAAAF,OAAA,WAAAF,wBAAA,YAAAA,CAAAC,CAAA,UAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,IAAAF,CAAA,YAAAF,wBAAAE,CAAA,EAAAE,CAAA,QAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,cAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,OAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,MAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,MAAAQ,CAAA,KAAAC,SAAA,SAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,UAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,QAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,SAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,UAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;;AAExB,SAASY,OAAOA,CAAEC,OAAO,EAAE;EACxC,MAAMC,eAAe,GAAGA,CAAAC,IAAI,KAAI;IAC9B,IAAI,IAAAC,kBAAQ,EAACD,IAAI,CAAC,CAACE,MAAM,KAAK,GAAG,EAAE;MACjC,IAAIC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAAC,IAAAJ,kBAAQ,EAACD,IAAI,CAAC,EAAE,KAAK,CAAC;MAC/CA,IAAI,GAAG,IAAAM,eAAK,EAACH,MAAM,CAACI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxC;IACA,OAAOP,IAAI;EACb,CAAC;EACD,MAAMQ,WAAW,GAAGA,CAAAR,IAAI,KAAIA,IAAI,CAACS,GAAG,CAAC,CAAAC,CAAC,KAAIC,KAAK,CAACC,OAAO,CAACF,CAAC,CAAC,GAAGF,WAAW,CAACE,CAAC,CAAC,GAAG,IAAAJ,eAAK,EAACI,CAAC,CAACH,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;;EAEvG,MAAMM,oBAAoB,GAAGA,CAAAb,IAAI,KAAI;IACnC,IAAI,CAACc,IAAI,EAAEC,IAAI,CAAC,GAAGf,IAAI;IACvB,IAAIgB,OAAO,GAAG1C,QAAQ,CAAC2C,aAAa,CAACH,IAAI,EAAE,EAAEI,SAAS,EAAE,YAAY,EAAEpB,OAAO,CAAC,CAAC,CAAC,CAACS,QAAQ,CAAC,KAAK,CAAC;IAChGQ,IAAI,GAAGA,IAAI,CAACN,GAAG,CAAC,CAAAC,CAAC,KAAIpC,QAAQ,CAAC6C,0BAA0B,CAACT,CAAC,CAACH,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,OAAO,CAACS,OAAO,EAAED,IAAI,CAAC;EACxB,CAAC;;EAED,MAAMK,uBAAuB,GAAGA,CAAApB,IAAI,KAAI;IACtC,MAAMqB,OAAO,GAAGC,aAAG,CAACC,MAAM,CAACvB,IAAI,CAAC;IAChC,IAAI,CAACwB,OAAO,EAAEC,OAAO,EAAEC,KAAK,CAAC,GAAGL,OAAO;IACvC,IAAI,CAACM,oBAAoB,EAAEC,oBAAoB,CAAC,GAAGf,oBAAoB,CAACW,OAAO,CAAC;IAChF,IAAI,CAACK,oBAAoB,EAAEC,oBAAoB,CAAC,GAAGjB,oBAAoB,CAACY,OAAO,CAAC;IAChFC,KAAK,GAAGA,KAAK,CAACnB,QAAQ,CAAC,OAAO,CAAC;IAC/B,OAAO,CAACoB,oBAAoB,EAAEC,oBAAoB,EAAEC,oBAAoB,EAAEC,oBAAoB,EAAEJ,KAAK,CAAC;EACxG,CAAC;EACD,OAAOtC,MAAM,CAAC2C,MAAM,CAAC,IAAAC,4BAAqB,EAAC;EACzC,EAAE;IACAC,SAAS,EAAE,KAAK;IAChBC,MAAM,EAAE;IACN;MACEC,OAAO,EAAE,IAAI;MACbC,IAAI,EAAE,IAAI;MACVC,IAAI,EAAE;IACR,CAAC;IACD;MACEF,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,WAAW;MACjBC,IAAI,EAAE;IACR,CAAC;IACD;MACEF,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,OAAO;MACbC,IAAI,EAAE;IACR,CAAC,CACF;;IACDD,IAAI,EAAE,kBAAkB;IACxBC,IAAI,EAAE;EACR,CAAC;EACD,EAAE;IACAH,MAAM,EAAE;IACN;MACEC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,WAAW;MACjBC,IAAI,EAAE;IACR,CAAC;IACD;MACEF,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,OAAO,EAAE;MACfC,IAAI,EAAE;IACR,CAAC,CACF;;IACDD,IAAI,EAAE,mBAAmB;IACzBC,IAAI,EAAE;EACR,CAAC;EACD;IACEH,MAAM,EAAE;IACN;MACEC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,QAAQ;MACdC,IAAI,EAAE;IACR,CAAC,CACF;;IACDD,IAAI,EAAE,0BAA0B;IAChCC,IAAI,EAAE;EACR,CAAC;EACD;IACEH,MAAM,EAAE;IACN;MACEC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,WAAW;MACjBC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAEvC;IACX,CAAC;IACD;MACEoC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,oBAAoB;MAC1BC,IAAI,EAAE;IACR,CAAC;IACD;MACEF,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,WAAW;MACjBC,IAAI,EAAE;IACR,CAAC,CACF;;IACDD,IAAI,EAAE,qBAAqB;IAC3BC,IAAI,EAAE;EACR,CAAC;EACD;IACEH,MAAM,EAAE;IACN;MACEC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,sBAAsB;MAC5BC,IAAI,EAAE;IACR,CAAC;IACD;MACEF,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,sBAAsB;MAC5BC,IAAI,EAAE;IACR,CAAC;IACD;MACEF,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,sBAAsB;MAC5BC,IAAI,EAAE;IACR,CAAC;IACD;MACEF,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,sBAAsB;MAC5BC,IAAI,EAAE;IACR,CAAC;IACD;MACEF,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,uBAAuB;MAC7BC,IAAI,EAAE;IACR,CAAC,CACF;;IACDD,IAAI,EAAE,yBAAyB;IAC/BC,IAAI,EAAE,OAAO;IACbE,QAAQ,EAAEnB;EACZ,CAAC;EACF,CAAC,CAAC;AACL"} \ No newline at end of file diff --git a/dist/lib/nativeContracts/NativeContracts.js b/dist/lib/nativeContracts/NativeContracts.js index d6d7c6f..7f27c7f 100644 --- a/dist/lib/nativeContracts/NativeContracts.js +++ b/dist/lib/nativeContracts/NativeContracts.js @@ -1,12 +1,12 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.NativeContracts = NativeContracts;exports.default = exports.parseNativeContracts = exports.defaultNativeContracts = void 0; +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.NativeContracts = NativeContracts;exports.parseNativeContracts = exports.defaultNativeContracts = exports.default = void 0; var _rskUtils = require("@rsksmart/rsk-utils"); -const defaultNativeContracts = { +const defaultNativeContracts = exports.defaultNativeContracts = { bridge: '0x0000000000000000000000000000000001000006', - remasc: '0x0000000000000000000000000000000001000008' };exports.defaultNativeContracts = defaultNativeContracts; + remasc: '0x0000000000000000000000000000000001000008' +}; - -const parseNativeContracts = nativeContracts => { +const parseNativeContracts = (nativeContracts) => { if (typeof nativeContracts !== 'object') throw new TypeError(`nativeContracts must be an object`); if (Object.keys(nativeContracts) < 1) throw new Error(`Empty native contracts list`); for (let name in nativeContracts) { @@ -21,19 +21,20 @@ function NativeContracts({ nativeContracts } = {}) { nativeContracts = parseNativeContracts(nativeContracts || defaultNativeContracts); const names = Object.keys(nativeContracts); - const getNativeContractAddress = contractName => { + const getNativeContractAddress = (contractName) => { return nativeContracts[contractName]; }; - const getNativeContractName = address => { + const getNativeContractName = (address) => { address = address.toLowerCase(); - return names.find(name => nativeContracts[name] === address); + return names.find((name) => nativeContracts[name] === address); }; - const isNativeContract = address => !!getNativeContractName(address); + const isNativeContract = (address) => !!getNativeContractName(address); const list = () => nativeContracts; return Object.freeze({ getNativeContractAddress, getNativeContractName, isNativeContract, list }); -}var _default = +}var _default = exports.default = -NativeContracts;exports.default = _default; \ No newline at end of file +NativeContracts; +//# sourceMappingURL=NativeContracts.js.map \ No newline at end of file diff --git a/dist/lib/nativeContracts/NativeContracts.js.map b/dist/lib/nativeContracts/NativeContracts.js.map new file mode 100644 index 0000000..0853d12 --- /dev/null +++ b/dist/lib/nativeContracts/NativeContracts.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NativeContracts.js","names":["_rskUtils","require","defaultNativeContracts","exports","bridge","remasc","parseNativeContracts","nativeContracts","TypeError","Object","keys","Error","name","address","isAddress","toLowerCase","NativeContracts","names","getNativeContractAddress","contractName","getNativeContractName","find","isNativeContract","list","freeze","_default","default"],"sources":["../../../src/lib/nativeContracts/NativeContracts.js"],"sourcesContent":["\nimport { isAddress } from '@rsksmart/rsk-utils'\n\nexport const defaultNativeContracts = {\n bridge: '0x0000000000000000000000000000000001000006',\n remasc: '0x0000000000000000000000000000000001000008'\n}\n\nexport const parseNativeContracts = nativeContracts => {\n if (typeof nativeContracts !== 'object') throw new TypeError(`nativeContracts must be an object`)\n if (Object.keys(nativeContracts) < 1) throw new Error(`Empty native contracts list`)\n for (let name in nativeContracts) {\n let address = nativeContracts[name]\n if (!isAddress(address)) throw new Error(`Address of ${name} is not an address`)\n nativeContracts[name] = address.toLowerCase()\n }\n return nativeContracts\n}\n\nexport function NativeContracts ({ nativeContracts } = {}) {\n nativeContracts = parseNativeContracts(nativeContracts || defaultNativeContracts)\n const names = Object.keys(nativeContracts)\n\n const getNativeContractAddress = contractName => {\n return nativeContracts[contractName]\n }\n const getNativeContractName = address => {\n address = address.toLowerCase()\n return names.find(name => nativeContracts[name] === address)\n }\n\n const isNativeContract = address => !!getNativeContractName(address)\n\n const list = () => nativeContracts\n\n return Object.freeze({ getNativeContractAddress, getNativeContractName, isNativeContract, list })\n}\n\nexport default NativeContracts\n"],"mappings":";AACA,IAAAA,SAAA,GAAAC,OAAA;;AAEO,MAAMC,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG;EACpCE,MAAM,EAAE,4CAA4C;EACpDC,MAAM,EAAE;AACV,CAAC;;AAEM,MAAMC,oBAAoB,GAAGA,CAAAC,eAAe,KAAI;EACrD,IAAI,OAAOA,eAAe,KAAK,QAAQ,EAAE,MAAM,IAAIC,SAAS,CAAE,mCAAkC,CAAC;EACjG,IAAIC,MAAM,CAACC,IAAI,CAACH,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,IAAII,KAAK,CAAE,6BAA4B,CAAC;EACpF,KAAK,IAAIC,IAAI,IAAIL,eAAe,EAAE;IAChC,IAAIM,OAAO,GAAGN,eAAe,CAACK,IAAI,CAAC;IACnC,IAAI,CAAC,IAAAE,mBAAS,EAACD,OAAO,CAAC,EAAE,MAAM,IAAIF,KAAK,CAAE,cAAaC,IAAK,oBAAmB,CAAC;IAChFL,eAAe,CAACK,IAAI,CAAC,GAAGC,OAAO,CAACE,WAAW,CAAC,CAAC;EAC/C;EACA,OAAOR,eAAe;AACxB,CAAC,CAAAJ,OAAA,CAAAG,oBAAA,GAAAA,oBAAA;;AAEM,SAASU,eAAeA,CAAE,EAAET,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;EACzDA,eAAe,GAAGD,oBAAoB,CAACC,eAAe,IAAIL,sBAAsB,CAAC;EACjF,MAAMe,KAAK,GAAGR,MAAM,CAACC,IAAI,CAACH,eAAe,CAAC;;EAE1C,MAAMW,wBAAwB,GAAGA,CAAAC,YAAY,KAAI;IAC/C,OAAOZ,eAAe,CAACY,YAAY,CAAC;EACtC,CAAC;EACD,MAAMC,qBAAqB,GAAGA,CAAAP,OAAO,KAAI;IACvCA,OAAO,GAAGA,OAAO,CAACE,WAAW,CAAC,CAAC;IAC/B,OAAOE,KAAK,CAACI,IAAI,CAAC,CAAAT,IAAI,KAAIL,eAAe,CAACK,IAAI,CAAC,KAAKC,OAAO,CAAC;EAC9D,CAAC;;EAED,MAAMS,gBAAgB,GAAGA,CAAAT,OAAO,KAAI,CAAC,CAACO,qBAAqB,CAACP,OAAO,CAAC;;EAEpE,MAAMU,IAAI,GAAGA,CAAA,KAAMhB,eAAe;;EAElC,OAAOE,MAAM,CAACe,MAAM,CAAC,EAAEN,wBAAwB,EAAEE,qBAAqB,EAAEE,gBAAgB,EAAEC,IAAI,CAAC,CAAC,CAAC;AACnG,CAAC,IAAAE,QAAA,GAAAtB,OAAA,CAAAuB,OAAA;;AAEcV,eAAe"} \ No newline at end of file diff --git a/dist/lib/nativeContracts/NativeContractsDecoder.js b/dist/lib/nativeContracts/NativeContractsDecoder.js index 339bc81..13385b1 100644 --- a/dist/lib/nativeContracts/NativeContractsDecoder.js +++ b/dist/lib/nativeContracts/NativeContractsDecoder.js @@ -1,17 +1,17 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = NativeContractsEventDecoder;exports.ABI = void 0;var _NativeContractsEvents = _interopRequireDefault(require("./NativeContractsEvents")); +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = NativeContractsEventDecoder;var _NativeContractsEvents = _interopRequireDefault(require("./NativeContractsEvents")); var _EventDecoder = _interopRequireDefault(require("../EventDecoder")); -var _bridgeAbi = _interopRequireDefault(require("./bridgeAbi")); +var _bridgeAbi = require("./bridgeAbi"); var _utils = require("../utils");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} -const ABI = (0, _utils.addSignatureDataToAbi)(_bridgeAbi.default);exports.ABI = ABI; - -function NativeContractsEventDecoder({ bitcoinNetwork }) { +function NativeContractsEventDecoder({ bitcoinNetwork, txBlockNumber }) { const nativeDecoder = (0, _NativeContractsEvents.default)({ bitcoinNetwork }); + const ABI = (0, _utils.addSignatureDataToAbi)((0, _bridgeAbi.getBridgeAbi)({ txBlockNumber, bitcoinNetwork })); const solidityDecoder = (0, _EventDecoder.default)(ABI); - const getEventDecoder = log => { + const getEventDecoder = (log) => { const { eventABI } = solidityDecoder.getEventAbi([...log.topics]); return eventABI ? solidityDecoder : nativeDecoder; }; return Object.freeze({ getEventDecoder }); -} \ No newline at end of file +} +//# sourceMappingURL=NativeContractsDecoder.js.map \ No newline at end of file diff --git a/dist/lib/nativeContracts/NativeContractsDecoder.js.map b/dist/lib/nativeContracts/NativeContractsDecoder.js.map new file mode 100644 index 0000000..90690b6 --- /dev/null +++ b/dist/lib/nativeContracts/NativeContractsDecoder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NativeContractsDecoder.js","names":["_NativeContractsEvents","_interopRequireDefault","require","_EventDecoder","_bridgeAbi","_utils","obj","__esModule","default","NativeContractsEventDecoder","bitcoinNetwork","txBlockNumber","nativeDecoder","NativeContractsEvents","ABI","addSignatureDataToAbi","getBridgeAbi","solidityDecoder","EventDecoder","getEventDecoder","log","eventABI","getEventAbi","topics","Object","freeze"],"sources":["../../../src/lib/nativeContracts/NativeContractsDecoder.js"],"sourcesContent":["import NativeContractsEvents from './NativeContractsEvents'\nimport EventDecoder from '../EventDecoder'\nimport { getBridgeAbi } from './bridgeAbi'\nimport { addSignatureDataToAbi } from '../utils'\n\nexport default function NativeContractsEventDecoder ({ bitcoinNetwork, txBlockNumber }) {\n const nativeDecoder = NativeContractsEvents({ bitcoinNetwork })\n const ABI = addSignatureDataToAbi(getBridgeAbi({ txBlockNumber, bitcoinNetwork }))\n const solidityDecoder = EventDecoder(ABI)\n\n const getEventDecoder = log => {\n const { eventABI } = solidityDecoder.getEventAbi([...log.topics])\n return (eventABI) ? solidityDecoder : nativeDecoder\n }\n return Object.freeze({ getEventDecoder })\n}\n"],"mappings":"yHAAA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA,aAAgD,SAAAD,uBAAAK,GAAA,UAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;;AAEjC,SAASG,2BAA2BA,CAAE,EAAEC,cAAc,EAAEC,aAAa,CAAC,CAAC,EAAE;EACtF,MAAMC,aAAa,GAAG,IAAAC,8BAAqB,EAAC,EAAEH,cAAc,CAAC,CAAC,CAAC;EAC/D,MAAMI,GAAG,GAAG,IAAAC,4BAAqB,EAAC,IAAAC,uBAAY,EAAC,EAAEL,aAAa,EAAED,cAAc,CAAC,CAAC,CAAC,CAAC;EAClF,MAAMO,eAAe,GAAG,IAAAC,qBAAY,EAACJ,GAAG,CAAC;;EAEzC,MAAMK,eAAe,GAAGA,CAAAC,GAAG,KAAI;IAC7B,MAAM,EAAEC,QAAQ,CAAC,CAAC,GAAGJ,eAAe,CAACK,WAAW,CAAC,CAAC,GAAGF,GAAG,CAACG,MAAM,CAAC,CAAC;IACjE,OAAQF,QAAQ,GAAIJ,eAAe,GAAGL,aAAa;EACrD,CAAC;EACD,OAAOY,MAAM,CAACC,MAAM,CAAC,EAAEN,eAAe,CAAC,CAAC,CAAC;AAC3C"} \ No newline at end of file diff --git a/dist/lib/nativeContracts/NativeContractsEvents.js b/dist/lib/nativeContracts/NativeContractsEvents.js old mode 100644 new mode 100755 index fefee03..4d842f9 --- a/dist/lib/nativeContracts/NativeContractsEvents.js +++ b/dist/lib/nativeContracts/NativeContractsEvents.js @@ -4,27 +4,27 @@ var _FakeABI = _interopRequireDefault(require("./FakeABI"));function _interopReq function NativeContractsEvents({ bitcoinNetwork } = {}) { const network = bitcoinNetwork || 'testnet'; const fakeAbi = (0, _FakeABI.default)(network); - const decodeAddress = address => { + const decodeAddress = (address) => { address = Buffer.from((0, _rskUtils.remove0x)(address), 'hex'); return (0, _rskUtils.add0x)(address.toString('hex').slice(-40)); }; - const decodeEventName = name => { + const decodeEventName = (name) => { return Buffer.from((0, _rskUtils.remove0x)(name), 'hex').toString('ascii').replace(/\0/g, ''); }; - const removeEmptyStartBytes = d => { + const removeEmptyStartBytes = (d) => { d = !Buffer.isBuffer(d) ? Buffer.from(d, 'hex') : d; - return d.slice(d.findIndex(x => x > 0)); + return d.slice(d.findIndex((x) => x > 0)); }; - const decodeData = data => { + const decodeData = (data) => { let decoded = _rskUtils.rlp.decode(data); if (!Array.isArray(decoded)) decoded = [decoded]; - return decoded.map(d => (0, _rskUtils.add0x)(removeEmptyStartBytes(d).toString('hex'))); + return decoded.map((d) => (0, _rskUtils.add0x)(removeEmptyStartBytes(d).toString('hex'))); }; - const getEventAbi = eventName => fakeAbi.find(a => a.name === eventName && a.type === 'event'); + const getEventAbi = (eventName) => fakeAbi.find((a) => a.name === eventName && a.type === 'event'); const decodeByType = (type, value) => { if (type === 'address') return decodeAddress(value); @@ -39,7 +39,7 @@ function NativeContractsEvents({ bitcoinNetwork } = {}) { return decodeByType(type, value); }; - const removeCustomProperties = obj => { + const removeCustomProperties = (obj) => { const res = Object.assign({}, obj); for (let p in res) { if (p[0] === '_') delete res[p]; @@ -47,14 +47,14 @@ function NativeContractsEvents({ bitcoinNetwork } = {}) { return res; }; - const cleanAbi = abi => { + const cleanAbi = (abi) => { abi = removeCustomProperties(abi); let { inputs } = abi; - if (Array.isArray(inputs)) abi.inputs = inputs.map(input => removeCustomProperties(input)); + if (Array.isArray(inputs)) abi.inputs = inputs.map((input) => removeCustomProperties(input)); return abi; }; - const decodeLog = log => { + const decodeLog = (log) => { let topics = [...log.topics]; let event = decodeEventName(topics.shift()); let abi = getEventAbi(event); @@ -78,6 +78,7 @@ function NativeContractsEvents({ bitcoinNetwork } = {}) { return log; }; return Object.freeze({ decodeLog, abi: fakeAbi }); -}var _default = +}var _default = exports.default = -NativeContractsEvents;exports.default = _default; \ No newline at end of file +NativeContractsEvents; +//# sourceMappingURL=NativeContractsEvents.js.map \ No newline at end of file diff --git a/dist/lib/nativeContracts/NativeContractsEvents.js.map b/dist/lib/nativeContracts/NativeContractsEvents.js.map new file mode 100644 index 0000000..4b8cbb7 --- /dev/null +++ b/dist/lib/nativeContracts/NativeContractsEvents.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NativeContractsEvents.js","names":["_rskUtils","require","_utils","_FakeABI","_interopRequireDefault","obj","__esModule","default","NativeContractsEvents","bitcoinNetwork","network","fakeAbi","FakeAbi","decodeAddress","address","Buffer","from","remove0x","add0x","toString","slice","decodeEventName","name","replace","removeEmptyStartBytes","d","isBuffer","findIndex","x","decodeData","data","decoded","rlp","decode","Array","isArray","map","getEventAbi","eventName","find","a","type","decodeByType","value","decodeInput","input","_filter","removeCustomProperties","res","Object","assign","p","cleanAbi","abi","inputs","decodeLog","log","topics","event","shift","signature","getSignatureDataFromAbi","args","decoder","_decoder","dataDecoded","i","indexed","length","push","freeze","_default","exports"],"sources":["../../../src/lib/nativeContracts/NativeContractsEvents.js"],"sourcesContent":["import { remove0x, add0x, rlp } from '@rsksmart/rsk-utils'\nimport { getSignatureDataFromAbi } from '../utils'\nimport FakeAbi from './FakeABI'\nexport function NativeContractsEvents ({ bitcoinNetwork } = {}) {\n const network = bitcoinNetwork || 'testnet'\n const fakeAbi = FakeAbi(network)\n const decodeAddress = address => {\n address = Buffer.from(remove0x(address), 'hex')\n return add0x(address.toString('hex').slice(-40))\n }\n\n const decodeEventName = name => {\n return Buffer.from(remove0x(name), 'hex').toString('ascii').replace(/\\0/g, '')\n }\n\n const removeEmptyStartBytes = d => {\n d = (!Buffer.isBuffer(d)) ? Buffer.from(d, 'hex') : d\n return d.slice(d.findIndex(x => x > 0))\n }\n\n const decodeData = data => {\n let decoded = rlp.decode(data)\n if (!Array.isArray(decoded)) decoded = [decoded]\n return decoded.map(d => add0x(removeEmptyStartBytes(d).toString('hex')))\n }\n\n const getEventAbi = eventName => fakeAbi.find(a => a.name === eventName && a.type === 'event')\n\n const decodeByType = (type, value) => {\n if (type === 'address') return decodeAddress(value)\n return value\n }\n\n const decodeInput = (input, value) => {\n let { type, _filter } = input\n if (_filter && typeof _filter === 'function') {\n value = _filter(value)\n }\n return decodeByType(type, value)\n }\n\n const removeCustomProperties = obj => {\n const res = Object.assign({}, obj)\n for (let p in res) {\n if (p[0] === '_') delete res[p]\n }\n return res\n }\n\n const cleanAbi = abi => {\n abi = removeCustomProperties(abi)\n let { inputs } = abi\n if (Array.isArray(inputs)) abi.inputs = inputs.map(input => removeCustomProperties(input))\n return abi\n }\n\n const decodeLog = log => {\n let topics = [...log.topics]\n let event = decodeEventName(topics.shift())\n let abi = getEventAbi(event)\n if (event && abi) {\n const { signature } = getSignatureDataFromAbi(abi)\n log.event = event\n log.signature = signature\n log.abi = cleanAbi(abi)\n log.args = []\n const decoder = abi._decoder || decodeData\n let dataDecoded = decoder(log.data)\n if (!Array.isArray(dataDecoded)) dataDecoded = [dataDecoded]\n for (let i in abi.inputs) {\n let input = abi.inputs[i]\n let { indexed } = input\n let value = (indexed === true) ? topics[i] : dataDecoded[i - topics.length]\n let decoded = decodeInput(input, value)\n if (decoded) log.args.push(decoded)\n }\n }\n return log\n }\n return Object.freeze({ decodeLog, abi: fakeAbi })\n}\n\nexport default NativeContractsEvents\n"],"mappings":"0JAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA,eAA+B,SAAAG,uBAAAC,GAAA,UAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AACxB,SAASG,qBAAqBA,CAAE,EAAEC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;EAC9D,MAAMC,OAAO,GAAGD,cAAc,IAAI,SAAS;EAC3C,MAAME,OAAO,GAAG,IAAAC,gBAAO,EAACF,OAAO,CAAC;EAChC,MAAMG,aAAa,GAAGA,CAAAC,OAAO,KAAI;IAC/BA,OAAO,GAAGC,MAAM,CAACC,IAAI,CAAC,IAAAC,kBAAQ,EAACH,OAAO,CAAC,EAAE,KAAK,CAAC;IAC/C,OAAO,IAAAI,eAAK,EAACJ,OAAO,CAACK,QAAQ,CAAC,KAAK,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;EAClD,CAAC;;EAED,MAAMC,eAAe,GAAGA,CAAAC,IAAI,KAAI;IAC9B,OAAOP,MAAM,CAACC,IAAI,CAAC,IAAAC,kBAAQ,EAACK,IAAI,CAAC,EAAE,KAAK,CAAC,CAACH,QAAQ,CAAC,OAAO,CAAC,CAACI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EAChF,CAAC;;EAED,MAAMC,qBAAqB,GAAGA,CAAAC,CAAC,KAAI;IACjCA,CAAC,GAAI,CAACV,MAAM,CAACW,QAAQ,CAACD,CAAC,CAAC,GAAIV,MAAM,CAACC,IAAI,CAACS,CAAC,EAAE,KAAK,CAAC,GAAGA,CAAC;IACrD,OAAOA,CAAC,CAACL,KAAK,CAACK,CAAC,CAACE,SAAS,CAAC,CAAAC,CAAC,KAAIA,CAAC,GAAG,CAAC,CAAC,CAAC;EACzC,CAAC;;EAED,MAAMC,UAAU,GAAGA,CAAAC,IAAI,KAAI;IACzB,IAAIC,OAAO,GAAGC,aAAG,CAACC,MAAM,CAACH,IAAI,CAAC;IAC9B,IAAI,CAACI,KAAK,CAACC,OAAO,CAACJ,OAAO,CAAC,EAAEA,OAAO,GAAG,CAACA,OAAO,CAAC;IAChD,OAAOA,OAAO,CAACK,GAAG,CAAC,CAAAX,CAAC,KAAI,IAAAP,eAAK,EAACM,qBAAqB,CAACC,CAAC,CAAC,CAACN,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;EAC1E,CAAC;;EAED,MAAMkB,WAAW,GAAGA,CAAAC,SAAS,KAAI3B,OAAO,CAAC4B,IAAI,CAAC,CAAAC,CAAC,KAAIA,CAAC,CAAClB,IAAI,KAAKgB,SAAS,IAAIE,CAAC,CAACC,IAAI,KAAK,OAAO,CAAC;;EAE9F,MAAMC,YAAY,GAAGA,CAACD,IAAI,EAAEE,KAAK,KAAK;IACpC,IAAIF,IAAI,KAAK,SAAS,EAAE,OAAO5B,aAAa,CAAC8B,KAAK,CAAC;IACnD,OAAOA,KAAK;EACd,CAAC;;EAED,MAAMC,WAAW,GAAGA,CAACC,KAAK,EAAEF,KAAK,KAAK;IACpC,IAAI,EAAEF,IAAI,EAAEK,OAAO,CAAC,CAAC,GAAGD,KAAK;IAC7B,IAAIC,OAAO,IAAI,OAAOA,OAAO,KAAK,UAAU,EAAE;MAC5CH,KAAK,GAAGG,OAAO,CAACH,KAAK,CAAC;IACxB;IACA,OAAOD,YAAY,CAACD,IAAI,EAAEE,KAAK,CAAC;EAClC,CAAC;;EAED,MAAMI,sBAAsB,GAAGA,CAAA1C,GAAG,KAAI;IACpC,MAAM2C,GAAG,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE7C,GAAG,CAAC;IAClC,KAAK,IAAI8C,CAAC,IAAIH,GAAG,EAAE;MACjB,IAAIG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,OAAOH,GAAG,CAACG,CAAC,CAAC;IACjC;IACA,OAAOH,GAAG;EACZ,CAAC;;EAED,MAAMI,QAAQ,GAAGA,CAAAC,GAAG,KAAI;IACtBA,GAAG,GAAGN,sBAAsB,CAACM,GAAG,CAAC;IACjC,IAAI,EAAEC,MAAM,CAAC,CAAC,GAAGD,GAAG;IACpB,IAAInB,KAAK,CAACC,OAAO,CAACmB,MAAM,CAAC,EAAED,GAAG,CAACC,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,CAAAS,KAAK,KAAIE,sBAAsB,CAACF,KAAK,CAAC,CAAC;IAC1F,OAAOQ,GAAG;EACZ,CAAC;;EAED,MAAME,SAAS,GAAGA,CAAAC,GAAG,KAAI;IACvB,IAAIC,MAAM,GAAG,CAAC,GAAGD,GAAG,CAACC,MAAM,CAAC;IAC5B,IAAIC,KAAK,GAAGrC,eAAe,CAACoC,MAAM,CAACE,KAAK,CAAC,CAAC,CAAC;IAC3C,IAAIN,GAAG,GAAGhB,WAAW,CAACqB,KAAK,CAAC;IAC5B,IAAIA,KAAK,IAAIL,GAAG,EAAE;MAChB,MAAM,EAAEO,SAAS,CAAC,CAAC,GAAG,IAAAC,8BAAuB,EAACR,GAAG,CAAC;MAClDG,GAAG,CAACE,KAAK,GAAGA,KAAK;MACjBF,GAAG,CAACI,SAAS,GAAGA,SAAS;MACzBJ,GAAG,CAACH,GAAG,GAAGD,QAAQ,CAACC,GAAG,CAAC;MACvBG,GAAG,CAACM,IAAI,GAAG,EAAE;MACb,MAAMC,OAAO,GAAGV,GAAG,CAACW,QAAQ,IAAInC,UAAU;MAC1C,IAAIoC,WAAW,GAAGF,OAAO,CAACP,GAAG,CAAC1B,IAAI,CAAC;MACnC,IAAI,CAACI,KAAK,CAACC,OAAO,CAAC8B,WAAW,CAAC,EAAEA,WAAW,GAAG,CAACA,WAAW,CAAC;MAC5D,KAAK,IAAIC,CAAC,IAAIb,GAAG,CAACC,MAAM,EAAE;QACxB,IAAIT,KAAK,GAAGQ,GAAG,CAACC,MAAM,CAACY,CAAC,CAAC;QACzB,IAAI,EAAEC,OAAO,CAAC,CAAC,GAAGtB,KAAK;QACvB,IAAIF,KAAK,GAAIwB,OAAO,KAAK,IAAI,GAAIV,MAAM,CAACS,CAAC,CAAC,GAAGD,WAAW,CAACC,CAAC,GAAGT,MAAM,CAACW,MAAM,CAAC;QAC3E,IAAIrC,OAAO,GAAGa,WAAW,CAACC,KAAK,EAAEF,KAAK,CAAC;QACvC,IAAIZ,OAAO,EAAEyB,GAAG,CAACM,IAAI,CAACO,IAAI,CAACtC,OAAO,CAAC;MACrC;IACF;IACA,OAAOyB,GAAG;EACZ,CAAC;EACD,OAAOP,MAAM,CAACqB,MAAM,CAAC,EAAEf,SAAS,EAAEF,GAAG,EAAE1C,OAAO,CAAC,CAAC,CAAC;AACnD,CAAC,IAAA4D,QAAA,GAAAC,OAAA,CAAAjE,OAAA;;AAEcC,qBAAqB"} \ No newline at end of file diff --git a/dist/lib/nativeContracts/bridge-fingerroot.json b/dist/lib/nativeContracts/bridge-fingerroot.json new file mode 100644 index 0000000..82bc596 --- /dev/null +++ b/dist/lib/nativeContracts/bridge-fingerroot.json @@ -0,0 +1,1246 @@ +[ + { + "name": "getBtcBlockchainBestChainHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getStateForBtcReleaseClient", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getStateForDebugging", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainInitialBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getBtcBlockchainBlockHashAtDepth", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "depth", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcTxHashProcessedHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int64" + } + ] + }, + { + "name": "isBtcTxHashAlreadyProcessed", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "getFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "registerBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "tx", + "type": "bytes" + }, + { + "name": "height", + "type": "int256" + }, + { + "name": "pmt", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "addSignature", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "pubkey", + "type": "bytes" + }, + { + "name": "signatures", + "type": "bytes[]" + }, + { + "name": "txhash", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "receiveHeaders", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blocks", + "type": "bytes[]" + } + ], + "outputs": [] + }, + { + "name": "receiveHeader", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "block", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getRetiringFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "createFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "key", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKeyMultikey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "btcKey", + "type": "bytes" + }, + { + "name": "rskKey", + "type": "bytes" + }, + { + "name": "mstKey", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "commitFederation", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "hash", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "rollbackFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederationHash", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getLockWhitelistSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockWhitelistAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getLockWhitelistEntryByAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addOneOffLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addUnlimitedLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "removeLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "setLockWhitelistDisableBlockDelay", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "disableDelay", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFeePerKb", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "voteFeePerKbChange", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "feePerKb", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "updateCollections", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [] + }, + { + "name": "getMinimumLockTxValue", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getBtcTransactionConfirmations", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "txHash", + "type": "bytes32" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "merkleBranchPath", + "type": "uint256" + }, + { + "name": "merkleBranchHashes", + "type": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockingCap", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "increaseLockingCap", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "newLockingCap", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerBtcCoinbaseTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "witnessMerkleRoot", + "type": "bytes32" + }, { + "name": "witnessReservedValue", + "type": "bytes32" + } + ], + "outputs": [] + }, + { + "name": "hasBtcBlockCoinbaseTransactionInformation", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerFastBridgeBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "height", + "type": "uint256" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "derivationArgumentsHash", + "type": "bytes32" + }, + { + "name": "userRefundBtcAddress", + "type": "bytes" + }, + { + "name": "liquidityBridgeContractAddress", + "type": "address" + }, + { + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "name": "shouldTransferToContract", + "type": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getActiveFederationCreationBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getBtcBlockchainBestBlockHeader", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHeight", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainParentBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getEstimatedFeesForNextPegOutEvent", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getNextPegoutCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getQueuedPegoutsCount", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "releaseBtc", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [] + }, + { + "name": "getActivePowpegRedeemScript", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": false, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "senderBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + } + ], + "name": "lock_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "sender", + "type": "address" + } + ], + "name": "update_collections", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "federatorRskAddress", + "type": "address" + }, + { + "indexed": false, + "name": "federatorBtcPublicKey", + "type": "bytes" + } + ], + "name": "add_signature", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "btcRawTransaction", + "type": "bytes" + } + ], + "name": "release_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "oldFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "newFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "newFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "activationHeight", + "type": "int256" + } + ], + "name": "commit_federation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "rskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_requested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + }, + { + "indexed": false, + "name": "protocolVersion", + "type": "int256" + } + ], + "name": "pegin_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "rejected_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "unrefundable_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "btcDestinationAddress", + "type": "string" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_request_received", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "release_request_rejected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "releaseRskTxHashes", + "type": "bytes" + } + ], + "name": "batch_pegout_created", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "pegoutCreationRskBlockNumber", + "type": "uint256" + } + ], + "name": "pegout_confirmed", + "type": "event" + } +] \ No newline at end of file diff --git a/dist/lib/nativeContracts/bridge-hop.json b/dist/lib/nativeContracts/bridge-hop.json new file mode 100644 index 0000000..1549506 --- /dev/null +++ b/dist/lib/nativeContracts/bridge-hop.json @@ -0,0 +1,1229 @@ +[ + { + "name": "getBtcBlockchainBestChainHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getStateForBtcReleaseClient", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getStateForDebugging", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainInitialBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getBtcBlockchainBlockHashAtDepth", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "depth", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcTxHashProcessedHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int64" + } + ] + }, + { + "name": "isBtcTxHashAlreadyProcessed", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "getFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "registerBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "tx", + "type": "bytes" + }, + { + "name": "height", + "type": "int256" + }, + { + "name": "pmt", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "addSignature", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "pubkey", + "type": "bytes" + }, + { + "name": "signatures", + "type": "bytes[]" + }, + { + "name": "txhash", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "receiveHeaders", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blocks", + "type": "bytes[]" + } + ], + "outputs": [] + }, + { + "name": "receiveHeader", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "block", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getRetiringFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "createFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "key", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKeyMultikey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "btcKey", + "type": "bytes" + }, + { + "name": "rskKey", + "type": "bytes" + }, + { + "name": "mstKey", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "commitFederation", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "hash", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "rollbackFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederationHash", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getLockWhitelistSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockWhitelistAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getLockWhitelistEntryByAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addOneOffLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addUnlimitedLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "removeLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "setLockWhitelistDisableBlockDelay", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "disableDelay", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFeePerKb", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "voteFeePerKbChange", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "feePerKb", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "updateCollections", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [] + }, + { + "name": "getMinimumLockTxValue", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getBtcTransactionConfirmations", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "txHash", + "type": "bytes32" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "merkleBranchPath", + "type": "uint256" + }, + { + "name": "merkleBranchHashes", + "type": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockingCap", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "increaseLockingCap", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "newLockingCap", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerBtcCoinbaseTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "witnessMerkleRoot", + "type": "bytes32" + }, { + "name": "witnessReservedValue", + "type": "bytes32" + } + ], + "outputs": [] + }, + { + "name": "hasBtcBlockCoinbaseTransactionInformation", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerFastBridgeBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "height", + "type": "uint256" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "derivationArgumentsHash", + "type": "bytes32" + }, + { + "name": "userRefundBtcAddress", + "type": "bytes" + }, + { + "name": "liquidityBridgeContractAddress", + "type": "address" + }, + { + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "name": "shouldTransferToContract", + "type": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getActiveFederationCreationBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getBtcBlockchainBestBlockHeader", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHeight", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainParentBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getEstimatedFeesForNextPegOutEvent", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getNextPegoutCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getQueuedPegoutsCount", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "releaseBtc", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [] + }, + { + "name": "getActivePowpegRedeemScript", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": false, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "senderBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + } + ], + "name": "lock_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "sender", + "type": "address" + } + ], + "name": "update_collections", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "federatorRskAddress", + "type": "address" + }, + { + "indexed": false, + "name": "federatorBtcPublicKey", + "type": "bytes" + } + ], + "name": "add_signature", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "btcRawTransaction", + "type": "bytes" + } + ], + "name": "release_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "oldFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "newFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "newFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "activationHeight", + "type": "int256" + } + ], + "name": "commit_federation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "rskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_requested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + }, + { + "indexed": false, + "name": "protocolVersion", + "type": "int256" + } + ], + "name": "pegin_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "rejected_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "unrefundable_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "btcDestinationAddress", + "type": "bytes" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_request_received", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "release_request_rejected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "releaseRskTxHashes", + "type": "bytes" + } + ], + "name": "batch_pegout_created", + "type": "event" + } +] \ No newline at end of file diff --git a/dist/lib/nativeContracts/bridge-iris.json b/dist/lib/nativeContracts/bridge-iris.json new file mode 100644 index 0000000..1fbd3dc --- /dev/null +++ b/dist/lib/nativeContracts/bridge-iris.json @@ -0,0 +1,1157 @@ +[ + { + "name": "getBtcBlockchainBestChainHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getStateForBtcReleaseClient", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getStateForDebugging", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainInitialBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getBtcBlockchainBlockHashAtDepth", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "depth", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcTxHashProcessedHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int64" + } + ] + }, + { + "name": "isBtcTxHashAlreadyProcessed", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "getFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "registerBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "tx", + "type": "bytes" + }, + { + "name": "height", + "type": "int256" + }, + { + "name": "pmt", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "addSignature", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "pubkey", + "type": "bytes" + }, + { + "name": "signatures", + "type": "bytes[]" + }, + { + "name": "txhash", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "receiveHeaders", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blocks", + "type": "bytes[]" + } + ], + "outputs": [] + }, + { + "name": "receiveHeader", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "block", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getRetiringFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "createFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "key", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKeyMultikey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "btcKey", + "type": "bytes" + }, + { + "name": "rskKey", + "type": "bytes" + }, + { + "name": "mstKey", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "commitFederation", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "hash", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "rollbackFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederationHash", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getLockWhitelistSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockWhitelistAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getLockWhitelistEntryByAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addOneOffLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addUnlimitedLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "removeLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "setLockWhitelistDisableBlockDelay", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "disableDelay", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFeePerKb", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "voteFeePerKbChange", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "feePerKb", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "updateCollections", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [] + }, + { + "name": "getMinimumLockTxValue", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getBtcTransactionConfirmations", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "txHash", + "type": "bytes32" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "merkleBranchPath", + "type": "uint256" + }, + { + "name": "merkleBranchHashes", + "type": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockingCap", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "increaseLockingCap", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "newLockingCap", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerBtcCoinbaseTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "witnessMerkleRoot", + "type": "bytes32" + }, { + "name": "witnessReservedValue", + "type": "bytes32" + } + ], + "outputs": [] + }, + { + "name": "hasBtcBlockCoinbaseTransactionInformation", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerFastBridgeBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "height", + "type": "uint256" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "derivationArgumentsHash", + "type": "bytes32" + }, + { + "name": "userRefundBtcAddress", + "type": "bytes" + }, + { + "name": "liquidityBridgeContractAddress", + "type": "address" + }, + { + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "name": "shouldTransferToContract", + "type": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getActiveFederationCreationBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getBtcBlockchainBestBlockHeader", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHeight", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainParentBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": false, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "senderBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + } + ], + "name": "lock_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "sender", + "type": "address" + } + ], + "name": "update_collections", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "federatorRskAddress", + "type": "address" + }, + { + "indexed": false, + "name": "federatorBtcPublicKey", + "type": "bytes" + } + ], + "name": "add_signature", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "btcRawTransaction", + "type": "bytes" + } + ], + "name": "release_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "oldFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "newFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "newFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "activationHeight", + "type": "int256" + } + ], + "name": "commit_federation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "rskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_requested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + }, + { + "indexed": false, + "name": "protocolVersion", + "type": "int256" + } + ], + "name": "pegin_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "rejected_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "unrefundable_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "btcDestinationAddress", + "type": "bytes" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_request_received", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "release_request_rejected", + "type": "event" + } +] \ No newline at end of file diff --git a/dist/lib/nativeContracts/bridge-orchid.json b/dist/lib/nativeContracts/bridge-orchid.json new file mode 100644 index 0000000..5b5a145 --- /dev/null +++ b/dist/lib/nativeContracts/bridge-orchid.json @@ -0,0 +1,409 @@ +[{ + "name": "getBtcBlockchainBestChainHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int" + }] +}, { + "name": "getStateForDebugging", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getBtcBlockchainInitialBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int" + }] +}, { + "name": "getBtcBlockchainBlockHashAtDepth", + "type": "function", + "constant": true, + "inputs": [{ + "name": "depth", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getBtcTxHashProcessedHeight", + "type": "function", + "constant": true, + "inputs": [{ + "name": "hash", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int64" + }] +}, { + "name": "isBtcTxHashAlreadyProcessed", + "type": "function", + "constant": true, + "inputs": [{ + "name": "hash", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "bool" + }] +}, { + "name": "getFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "registerBtcTransaction", + "type": "function", + "constant": true, + "inputs": [{ + "name": "tx", + "type": "bytes" + }, { + "name": "height", + "type": "int256" + }, { + "name": "pmt", + "type": "bytes" + }], + "outputs": [] +}, { + "name": "addSignature", + "type": "function", + "constant": true, + "inputs": [{ + "name": "pubkey", + "type": "bytes" + }, { + "name": "signatures", + "type": "bytes[]" + }, { + "name": "txhash", + "type": "bytes" + }], + "outputs": [] +}, { + "name": "receiveHeaders", + "type": "function", + "constant": true, + "inputs": [{ + "name": "blocks", + "type": "bytes[]" + }], + "outputs": [] +}, { + "name": "getFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "getRetiringFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getRetiringFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "createFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addFederatorPublicKey", + "type": "function", + "constant": false, + "inputs": [{ + "name": "key", + "type": "bytes" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "commitFederation", + "type": "function", + "constant": false, + "inputs": [{ + "name": "hash", + "type": "bytes" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "rollbackFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getPendingFederationHash", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getPendingFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getPendingFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getLockWhitelistSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getLockWhitelistAddress", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "getLockWhitelistEntryByAddress", + "type": "function", + "constant": true, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addOneOffLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + },{ + "name": "maxTransferValue", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addUnlimitedLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "removeLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "setLockWhitelistDisableBlockDelay", + "type": "function", + "constant": false, + "inputs": [{ + "name": "disableDelay", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFeePerKb", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "voteFeePerKbChange", + "type": "function", + "constant": false, + "inputs": [{ + "name": "feePerKb", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "updateCollections", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [] +}, { + "name": "getMinimumLockTxValue", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}] \ No newline at end of file diff --git a/dist/lib/nativeContracts/bridge.json b/dist/lib/nativeContracts/bridge-papyrus.json similarity index 99% rename from dist/lib/nativeContracts/bridge.json rename to dist/lib/nativeContracts/bridge-papyrus.json index 0caab55..95f2f97 100644 --- a/dist/lib/nativeContracts/bridge.json +++ b/dist/lib/nativeContracts/bridge-papyrus.json @@ -912,4 +912,4 @@ "name": "release_requested", "type": "event" } -] +] \ No newline at end of file diff --git a/dist/lib/nativeContracts/bridge-wasabi.json b/dist/lib/nativeContracts/bridge-wasabi.json new file mode 100644 index 0000000..5fbbea9 --- /dev/null +++ b/dist/lib/nativeContracts/bridge-wasabi.json @@ -0,0 +1,508 @@ +[{ + "name": "getBtcBlockchainBestChainHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int" + }] +}, { + "name": "getStateForDebugging", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getBtcBlockchainInitialBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int" + }] +}, { + "name": "getBtcBlockchainBlockHashAtDepth", + "type": "function", + "constant": true, + "inputs": [{ + "name": "depth", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getBtcTxHashProcessedHeight", + "type": "function", + "constant": true, + "inputs": [{ + "name": "hash", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int64" + }] +}, { + "name": "isBtcTxHashAlreadyProcessed", + "type": "function", + "constant": true, + "inputs": [{ + "name": "hash", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "bool" + }] +}, { + "name": "getFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "registerBtcTransaction", + "type": "function", + "constant": true, + "inputs": [{ + "name": "tx", + "type": "bytes" + }, { + "name": "height", + "type": "int256" + }, { + "name": "pmt", + "type": "bytes" + }], + "outputs": [] +}, { + "name": "addSignature", + "type": "function", + "constant": true, + "inputs": [{ + "name": "pubkey", + "type": "bytes" + }, { + "name": "signatures", + "type": "bytes[]" + }, { + "name": "txhash", + "type": "bytes" + }], + "outputs": [] +}, { + "name": "receiveHeaders", + "type": "function", + "constant": true, + "inputs": [{ + "name": "blocks", + "type": "bytes[]" + }], + "outputs": [] +}, { + "name": "getFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }, { + "name": "type", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "getRetiringFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getRetiringFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }, { + "name": "type", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getRetiringFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "createFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addFederatorPublicKey", + "type": "function", + "constant": false, + "inputs": [{ + "name": "key", + "type": "bytes" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addFederatorPublicKeyMultikey", + "type": "function", + "constant": false, + "inputs": [{ + "name": "btcKey", + "type": "bytes" + }, { + "name": "rskKey", + "type": "bytes" + }, { + "name": "mstKey", + "type": "bytes" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "commitFederation", + "type": "function", + "constant": false, + "inputs": [{ + "name": "hash", + "type": "bytes" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "rollbackFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getPendingFederationHash", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getPendingFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getPendingFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getPendingFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }, { + "name": "type", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getLockWhitelistSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getLockWhitelistAddress", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "getLockWhitelistEntryByAddress", + "type": "function", + "constant": true, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + },{ + "name": "maxTransferValue", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addOneOffLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + },{ + "name": "maxTransferValue", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addUnlimitedLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "removeLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "setLockWhitelistDisableBlockDelay", + "type": "function", + "constant": false, + "inputs": [{ + "name": "disableDelay", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFeePerKb", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "voteFeePerKbChange", + "type": "function", + "constant": false, + "inputs": [{ + "name": "feePerKb", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "updateCollections", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [] +}, { + "name": "getMinimumLockTxValue", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getBtcTransactionConfirmations", + "type": "function", + "constant": true, + "inputs": [{ + "name": "txHash", + "type": "bytes32" + }, { + "name": "blockHash", + "type": "bytes32" + }, { + "name": "merkleBranchPath", + "type": "uint256" + }, { + "name": "merkleBranchHashes", + "type": "bytes32[]" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}] \ No newline at end of file diff --git a/dist/lib/nativeContracts/bridgeAbi.js b/dist/lib/nativeContracts/bridgeAbi.js index 6f3558f..318fb54 100644 --- a/dist/lib/nativeContracts/bridgeAbi.js +++ b/dist/lib/nativeContracts/bridgeAbi.js @@ -1,2 +1,48 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _bridge = _interopRequireDefault(require("./bridge.json"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}var _default = -_bridge.default;exports.default = _default; \ No newline at end of file +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.RELEASES = void 0;exports.getBridgeAbi = getBridgeAbi;var _bridgeOrchid = _interopRequireDefault(require("./bridge-orchid.json")); +var _bridgeWasabi = _interopRequireDefault(require("./bridge-wasabi.json")); +var _bridgePapyrus = _interopRequireDefault(require("./bridge-papyrus.json")); +var _bridgeIris = _interopRequireDefault(require("./bridge-iris.json")); +var _bridgeFingerroot = _interopRequireDefault(require("./bridge-fingerroot.json")); +var _bridgeHop = _interopRequireDefault(require("./bridge-hop.json"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} + +const RELEASES = exports.RELEASES = { + mainnet: [ + { height: 0, abi: _bridgeOrchid.default }, + { height: 1591000, abi: _bridgeWasabi.default }, + { height: 2392700, abi: _bridgePapyrus.default }, + { height: 3614800, abi: _bridgeIris.default }, + { height: 4598500, abi: _bridgeHop.default }, + { height: 5468000, abi: _bridgeFingerroot.default }], + + testnet: [ + { height: 0, abi: _bridgeWasabi.default }, + { height: 863000, abi: _bridgePapyrus.default }, + { height: 2060500, abi: _bridgeIris.default }, + { height: 3103000, abi: _bridgeHop.default }, + { height: 4015800, abi: _bridgeFingerroot.default }] + +}; + +function findmatchingAbi(txHeight, abisWithHeight) { + const lastIndex = abisWithHeight.length - 1; + + if (txHeight >= abisWithHeight[lastIndex].height || txHeight === undefined) { + return abisWithHeight[lastIndex].abi; + } + + for (let i = 1; i <= lastIndex; i++) { + const previous = abisWithHeight[i - 1]; + if (txHeight >= previous.height && txHeight < abisWithHeight[i].height) { + return previous.abi; + } + } +} + +function getBridgeAbi({ txBlockNumber, bitcoinNetwork }) { + if (!['testnet', 'mainnet'].includes(bitcoinNetwork)) { + throw new Error('Invalid bitcoin network'); + } + + return findmatchingAbi(txBlockNumber, RELEASES[bitcoinNetwork]); +} +//# sourceMappingURL=bridgeAbi.js.map \ No newline at end of file diff --git a/dist/lib/nativeContracts/bridgeAbi.js.map b/dist/lib/nativeContracts/bridgeAbi.js.map new file mode 100644 index 0000000..b4d8c81 --- /dev/null +++ b/dist/lib/nativeContracts/bridgeAbi.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bridgeAbi.js","names":["_bridgeOrchid","_interopRequireDefault","require","_bridgeWasabi","_bridgePapyrus","_bridgeIris","_bridgeFingerroot","_bridgeHop","obj","__esModule","default","RELEASES","exports","mainnet","height","abi","orchid","wasabi","papyrus","iris","hop","fingerroot","testnet","findmatchingAbi","txHeight","abisWithHeight","lastIndex","length","undefined","i","previous","getBridgeAbi","txBlockNumber","bitcoinNetwork","includes","Error"],"sources":["../../../src/lib/nativeContracts/bridgeAbi.js"],"sourcesContent":["import orchid from './bridge-orchid.json'\nimport wasabi from './bridge-wasabi.json'\nimport papyrus from './bridge-papyrus.json'\nimport iris from './bridge-iris.json'\nimport fingerroot from './bridge-fingerroot.json'\nimport hop from './bridge-hop.json'\n\nexport const RELEASES = {\n mainnet: [\n { height: 0, abi: orchid },\n { height: 1591000, abi: wasabi },\n { height: 2392700, abi: papyrus },\n { height: 3614800, abi: iris },\n { height: 4598500, abi: hop },\n { height: 5468000, abi: fingerroot }\n ],\n testnet: [\n { height: 0, abi: wasabi },\n { height: 863000, abi: papyrus },\n { height: 2060500, abi: iris },\n { height: 3103000, abi: hop },\n { height: 4015800, abi: fingerroot }\n ]\n}\n\nfunction findmatchingAbi (txHeight, abisWithHeight) {\n const lastIndex = abisWithHeight.length - 1\n\n if (txHeight >= abisWithHeight[lastIndex].height || txHeight === undefined) {\n return abisWithHeight[lastIndex].abi\n }\n\n for (let i = 1; i <= lastIndex; i++) {\n const previous = abisWithHeight[i - 1]\n if (txHeight >= previous.height && txHeight < abisWithHeight[i].height) {\n return previous.abi\n }\n }\n}\n\nexport function getBridgeAbi ({ txBlockNumber, bitcoinNetwork }) {\n if (!['testnet', 'mainnet'].includes(bitcoinNetwork)) {\n throw new Error('Invalid bitcoin network')\n }\n\n return findmatchingAbi(txBlockNumber, RELEASES[bitcoinNetwork])\n}\n"],"mappings":"yIAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,iBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,UAAA,GAAAN,sBAAA,CAAAC,OAAA,uBAAmC,SAAAD,uBAAAO,GAAA,UAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;;AAE5B,MAAMG,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACtBE,OAAO,EAAE;EACP,EAAEC,MAAM,EAAE,CAAC,EAAEC,GAAG,EAAEC,qBAAM,CAAC,CAAC;EAC1B,EAAEF,MAAM,EAAE,OAAO,EAAEC,GAAG,EAAEE,qBAAM,CAAC,CAAC;EAChC,EAAEH,MAAM,EAAE,OAAO,EAAEC,GAAG,EAAEG,sBAAO,CAAC,CAAC;EACjC,EAAEJ,MAAM,EAAE,OAAO,EAAEC,GAAG,EAAEI,mBAAI,CAAC,CAAC;EAC9B,EAAEL,MAAM,EAAE,OAAO,EAAEC,GAAG,EAAEK,kBAAG,CAAC,CAAC;EAC7B,EAAEN,MAAM,EAAE,OAAO,EAAEC,GAAG,EAAEM,yBAAU,CAAC,CAAC,CACrC;;EACDC,OAAO,EAAE;EACP,EAAER,MAAM,EAAE,CAAC,EAAEC,GAAG,EAAEE,qBAAM,CAAC,CAAC;EAC1B,EAAEH,MAAM,EAAE,MAAM,EAAEC,GAAG,EAAEG,sBAAO,CAAC,CAAC;EAChC,EAAEJ,MAAM,EAAE,OAAO,EAAEC,GAAG,EAAEI,mBAAI,CAAC,CAAC;EAC9B,EAAEL,MAAM,EAAE,OAAO,EAAEC,GAAG,EAAEK,kBAAG,CAAC,CAAC;EAC7B,EAAEN,MAAM,EAAE,OAAO,EAAEC,GAAG,EAAEM,yBAAU,CAAC,CAAC;;AAExC,CAAC;;AAED,SAASE,eAAeA,CAAEC,QAAQ,EAAEC,cAAc,EAAE;EAClD,MAAMC,SAAS,GAAGD,cAAc,CAACE,MAAM,GAAG,CAAC;;EAE3C,IAAIH,QAAQ,IAAIC,cAAc,CAACC,SAAS,CAAC,CAACZ,MAAM,IAAIU,QAAQ,KAAKI,SAAS,EAAE;IAC1E,OAAOH,cAAc,CAACC,SAAS,CAAC,CAACX,GAAG;EACtC;;EAEA,KAAK,IAAIc,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIH,SAAS,EAAEG,CAAC,EAAE,EAAE;IACnC,MAAMC,QAAQ,GAAGL,cAAc,CAACI,CAAC,GAAG,CAAC,CAAC;IACtC,IAAIL,QAAQ,IAAIM,QAAQ,CAAChB,MAAM,IAAIU,QAAQ,GAAGC,cAAc,CAACI,CAAC,CAAC,CAACf,MAAM,EAAE;MACtE,OAAOgB,QAAQ,CAACf,GAAG;IACrB;EACF;AACF;;AAEO,SAASgB,YAAYA,CAAE,EAAEC,aAAa,EAAEC,cAAc,CAAC,CAAC,EAAE;EAC/D,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAACC,QAAQ,CAACD,cAAc,CAAC,EAAE;IACpD,MAAM,IAAIE,KAAK,CAAC,yBAAyB,CAAC;EAC5C;;EAEA,OAAOZ,eAAe,CAACS,aAAa,EAAErB,QAAQ,CAACsB,cAAc,CAAC,CAAC;AACjE"} \ No newline at end of file diff --git a/dist/lib/nod3Connect.js b/dist/lib/nod3Connect.js index 31fb4e3..71b112b 100755 --- a/dist/lib/nod3Connect.js +++ b/dist/lib/nod3Connect.js @@ -1,10 +1,11 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = exports.nod3Connect = void 0;var _nod = _interopRequireDefault(require("@rsksmart/nod3"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.nod3Connect = exports.default = void 0;var _nod = _interopRequireDefault(require("@rsksmart/nod3"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} -const nod3Connect = url => { +const nod3Connect = (url) => { url = url || process.env['RSK_NODE_URL'] || 'http://localhost:4444'; return new _nod.default( - new _nod.default.providers.HttpProvider(url)); + new _nod.default.providers.HttpProvider(url) + ); +};exports.nod3Connect = nod3Connect;var _default = exports.default = -};exports.nod3Connect = nod3Connect;var _default = - -nod3Connect();exports.default = _default; \ No newline at end of file +nod3Connect(); +//# sourceMappingURL=nod3Connect.js.map \ No newline at end of file diff --git a/dist/lib/nod3Connect.js.map b/dist/lib/nod3Connect.js.map new file mode 100644 index 0000000..d7c8fb2 --- /dev/null +++ b/dist/lib/nod3Connect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"nod3Connect.js","names":["_nod","_interopRequireDefault","require","obj","__esModule","default","nod3Connect","url","process","env","Nod3","providers","HttpProvider","exports","_default"],"sources":["../../src/lib/nod3Connect.js"],"sourcesContent":["import Nod3 from '@rsksmart/nod3'\n\nexport const nod3Connect = (url) => {\n url = url || process.env['RSK_NODE_URL'] || 'http://localhost:4444'\n return new Nod3(\n new Nod3.providers.HttpProvider(url)\n )\n}\n\nexport default nod3Connect()\n"],"mappings":"0HAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA,oBAAiC,SAAAD,uBAAAE,GAAA,UAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;;AAE1B,MAAMG,WAAW,GAAGA,CAACC,GAAG,KAAK;EAClCA,GAAG,GAAGA,GAAG,IAAIC,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC,IAAI,uBAAuB;EACnE,OAAO,IAAIC,YAAI;IACb,IAAIA,YAAI,CAACC,SAAS,CAACC,YAAY,CAACL,GAAG;EACrC,CAAC;AACH,CAAC,CAAAM,OAAA,CAAAP,WAAA,GAAAA,WAAA,KAAAQ,QAAA,GAAAD,OAAA,CAAAR,OAAA;;AAEcC,WAAW,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/lib/types.js b/dist/lib/types.js index a53b168..4b3983e 100755 --- a/dist/lib/types.js +++ b/dist/lib/types.js @@ -1,29 +1,30 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.tokensInterfaces = exports.contractsInterfaces = exports.bitcoinRskNetWorks = exports.bitcoinNetworks = exports.INTERFACE_ID_BYTES = exports.ABI_SIGNATURE = void 0;const ABI_SIGNATURE = '__signatureData';exports.ABI_SIGNATURE = ABI_SIGNATURE; +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.tokensInterfaces = exports.contractsInterfaces = exports.bitcoinRskNetWorks = exports.bitcoinNetworks = exports.INTERFACE_ID_BYTES = exports.ABI_SIGNATURE = void 0;const ABI_SIGNATURE = exports.ABI_SIGNATURE = '__signatureData'; -const INTERFACE_ID_BYTES = 4;exports.INTERFACE_ID_BYTES = INTERFACE_ID_BYTES; +const INTERFACE_ID_BYTES = exports.INTERFACE_ID_BYTES = 4; -const bitcoinNetworks = { +const bitcoinNetworks = exports.bitcoinNetworks = { TESTNET: 'testnet', MAINNET: 'mainnet', - REGTEST: 'regtest' };exports.bitcoinNetworks = bitcoinNetworks; + REGTEST: 'regtest' +}; - -const bitcoinRskNetWorks = { +const bitcoinRskNetWorks = exports.bitcoinRskNetWorks = { 31: bitcoinNetworks.TESTNET, 30: bitcoinNetworks.MAINNET, - 33: bitcoinNetworks.REGTEST };exports.bitcoinRskNetWorks = bitcoinRskNetWorks; - + 33: bitcoinNetworks.REGTEST +}; -const contractsInterfaces = { +const contractsInterfaces = exports.contractsInterfaces = { ERC20: 'ERC20', ERC677: 'ERC677', ERC165: 'ERC165', - ERC721: 'ERC721' };exports.contractsInterfaces = contractsInterfaces; - + ERC721: 'ERC721' +}; const ci = contractsInterfaces; -const tokensInterfaces = [ +const tokensInterfaces = exports.tokensInterfaces = [ ci.ERC20, ci.ERC677, -ci.ERC721];exports.tokensInterfaces = tokensInterfaces; \ No newline at end of file +ci.ERC721]; +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/dist/lib/types.js.map b/dist/lib/types.js.map new file mode 100644 index 0000000..78b42a6 --- /dev/null +++ b/dist/lib/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","names":["ABI_SIGNATURE","exports","INTERFACE_ID_BYTES","bitcoinNetworks","TESTNET","MAINNET","REGTEST","bitcoinRskNetWorks","contractsInterfaces","ERC20","ERC677","ERC165","ERC721","ci","tokensInterfaces"],"sources":["../../src/lib/types.js"],"sourcesContent":["export const ABI_SIGNATURE = '__signatureData'\n\nexport const INTERFACE_ID_BYTES = 4\n\nexport const bitcoinNetworks = {\n TESTNET: 'testnet',\n MAINNET: 'mainnet',\n REGTEST: 'regtest'\n}\n\nexport const bitcoinRskNetWorks = {\n 31: bitcoinNetworks.TESTNET,\n 30: bitcoinNetworks.MAINNET,\n 33: bitcoinNetworks.REGTEST\n}\n\nexport const contractsInterfaces = {\n ERC20: 'ERC20',\n ERC677: 'ERC677',\n ERC165: 'ERC165',\n ERC721: 'ERC721'\n}\n\nconst ci = contractsInterfaces\n\nexport const tokensInterfaces = [\n ci.ERC20,\n ci.ERC677,\n ci.ERC721\n]\n"],"mappings":"uPAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,iBAAiB;;AAEvC,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,CAAC;;AAE5B,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAG;EAC7BC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE;AACX,CAAC;;AAEM,MAAMC,kBAAkB,GAAAN,OAAA,CAAAM,kBAAA,GAAG;EAChC,EAAE,EAAEJ,eAAe,CAACC,OAAO;EAC3B,EAAE,EAAED,eAAe,CAACE,OAAO;EAC3B,EAAE,EAAEF,eAAe,CAACG;AACtB,CAAC;;AAEM,MAAME,mBAAmB,GAAAP,OAAA,CAAAO,mBAAA,GAAG;EACjCC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE;AACV,CAAC;;AAED,MAAMC,EAAE,GAAGL,mBAAmB;;AAEvB,MAAMM,gBAAgB,GAAAb,OAAA,CAAAa,gBAAA,GAAG;AAC9BD,EAAE,CAACJ,KAAK;AACRI,EAAE,CAACH,MAAM;AACTG,EAAE,CAACD,MAAM,CACV"} \ No newline at end of file diff --git a/dist/lib/utils.js b/dist/lib/utils.js index f850881..c07b330 100755 --- a/dist/lib/utils.js +++ b/dist/lib/utils.js @@ -1,38 +1,38 @@ -"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.filterEvents = filterEvents;exports.binarySearchNumber = binarySearchNumber;exports.getSignatureDataFromAbi = exports.erc165IdFromMethods = exports.erc165Id = exports.addSignatureDataToAbi = exports.abiSignatureData = exports.getInputsIndexes = exports.removeAbiSignatureData = exports.solidityName = exports.soliditySelector = exports.soliditySignature = exports.abiMethods = exports.abiEvents = exports.setAbi = void 0;var _rskUtils = require("@rsksmart/rsk-utils"); +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.addSignatureDataToAbi = exports.abiSignatureData = exports.abiMethods = exports.abiEvents = void 0;exports.binarySearchNumber = binarySearchNumber;exports.erc165IdFromMethods = exports.erc165Id = void 0;exports.filterEvents = filterEvents;exports.soliditySignature = exports.soliditySelector = exports.solidityName = exports.setAbi = exports.removeAbiSignatureData = exports.getSignatureDataFromAbi = exports.getInputsIndexes = void 0;var _rskUtils = require("@rsksmart/rsk-utils"); var _types = require("./types"); -const setAbi = abi => addSignatureDataToAbi(abi, true);exports.setAbi = setAbi; +const setAbi = (abi) => addSignatureDataToAbi(abi, true);exports.setAbi = setAbi; -const abiEvents = abi => abi.filter(v => v.type === 'event');exports.abiEvents = abiEvents; +const abiEvents = (abi) => abi.filter((v) => v.type === 'event');exports.abiEvents = abiEvents; -const abiMethods = abi => abi.filter(v => v.type === 'function');exports.abiMethods = abiMethods; +const abiMethods = (abi) => abi.filter((v) => v.type === 'function');exports.abiMethods = abiMethods; -const soliditySignature = name => (0, _rskUtils.keccak256)(name);exports.soliditySignature = soliditySignature; +const soliditySignature = (name) => (0, _rskUtils.keccak256)(name);exports.soliditySignature = soliditySignature; -const soliditySelector = signature => signature.slice(0, 8);exports.soliditySelector = soliditySelector; +const soliditySelector = (signature) => signature.slice(0, 8);exports.soliditySelector = soliditySelector; -const solidityName = abi => { +const solidityName = (abi) => { let { name, inputs } = abi; - inputs = inputs ? inputs.map(i => i.type) : []; + inputs = inputs ? inputs.map((i) => i.type) : []; return name ? `${name}(${inputs.join(',')})` : null; };exports.solidityName = solidityName; -const removeAbiSignatureData = abi => { +const removeAbiSignatureData = (abi) => { abi = Object.assign({}, abi); if (undefined !== abi[_types.ABI_SIGNATURE]) delete abi[_types.ABI_SIGNATURE]; return abi; };exports.removeAbiSignatureData = removeAbiSignatureData; -const getInputsIndexes = abi => { +const getInputsIndexes = (abi) => { let { inputs } = abi; - return inputs && abi.type === 'event' ? inputs.map(i => i.indexed) : []; + return inputs && abi.type === 'event' ? inputs.map((i) => i.indexed) : []; };exports.getInputsIndexes = getInputsIndexes; -const abiSignatureData = abi => { +const abiSignatureData = (abi) => { let method = solidityName(abi); let signature = method ? soliditySignature(method) : null; let index = getInputsIndexes(abi); - let indexed = index ? index.filter(i => i === true).length : 0; + let indexed = index ? index.filter((i) => i === true).length : 0; let eventSignature = null; if (method && abi.type === 'event') { eventSignature = soliditySignature(`${method}${Buffer.from(index).toString('hex')}`); @@ -49,8 +49,8 @@ const addSignatureDataToAbi = (abi, skip) => { return abi; };exports.addSignatureDataToAbi = addSignatureDataToAbi; -const erc165Id = selectors => { - let id = selectors.map(s => Buffer.from(s, 'hex')). +const erc165Id = (selectors) => { + let id = selectors.map((s) => Buffer.from(s, 'hex')). reduce((a, bytes) => { for (let i = 0; i < _types.INTERFACE_ID_BYTES; i++) { a[i] = a[i] ^ bytes[i]; @@ -60,29 +60,29 @@ const erc165Id = selectors => { return (0, _rskUtils.add0x)(id.toString('hex')); };exports.erc165Id = erc165Id; -const erc165IdFromMethods = methods => { - return erc165Id(methods.map(m => soliditySelector(soliditySignature(m)))); +const erc165IdFromMethods = (methods) => { + return erc165Id(methods.map((m) => soliditySelector(soliditySignature(m)))); };exports.erc165IdFromMethods = erc165IdFromMethods; -const getSignatureDataFromAbi = abi => { +const getSignatureDataFromAbi = (abi) => { return abi[_types.ABI_SIGNATURE]; };exports.getSignatureDataFromAbi = getSignatureDataFromAbi; function filterEvents(abi) { const type = 'event'; // get events from ABI - let events = abi.filter(a => a.type === type); + let events = abi.filter((a) => a.type === type); // remove events from ABI - abi = abi.filter(a => a.type !== type); - let keys = [...new Set(events.map(e => e[_types.ABI_SIGNATURE].eventSignature))]; - events = keys.map(k => events.find(e => e[_types.ABI_SIGNATURE].eventSignature === k)); + abi = abi.filter((a) => a.type !== type); + let keys = [...new Set(events.map((e) => e[_types.ABI_SIGNATURE].eventSignature))]; + events = keys.map((k) => events.find((e) => e[_types.ABI_SIGNATURE].eventSignature === k)); abi = abi.concat(events); return abi; } function filterArr(a) { if (!Array.isArray(a)) return a; - return a.find(x => filterArr(x)); + return a.find((x) => filterArr(x)); } async function binarySearchNumber(searchCb, high, low) { @@ -90,7 +90,7 @@ async function binarySearchNumber(searchCb, high, low) { high = parseInt(high || 0); low = parseInt(low || 0); if (typeof searchCb !== 'function') throw new Error('SeachCb must be a function'); - let [l, h] = await Promise.all([low, high].map(b => searchCb(b))); + let [l, h] = await Promise.all([low, high].map((b) => searchCb(b))); if (l !== h) { if (high === low + 1) { return high; @@ -105,4 +105,5 @@ async function binarySearchNumber(searchCb, high, low) { } catch (err) { return Promise.reject(err); } -} \ No newline at end of file +} +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/dist/lib/utils.js.map b/dist/lib/utils.js.map new file mode 100644 index 0000000..c710fd0 --- /dev/null +++ b/dist/lib/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","names":["_rskUtils","require","_types","setAbi","abi","addSignatureDataToAbi","exports","abiEvents","filter","v","type","abiMethods","soliditySignature","name","keccak256","soliditySelector","signature","slice","solidityName","inputs","map","i","join","removeAbiSignatureData","Object","assign","undefined","ABI_SIGNATURE","getInputsIndexes","indexed","abiSignatureData","method","index","length","eventSignature","Buffer","from","toString","skip","value","erc165Id","selectors","id","s","reduce","a","bytes","INTERFACE_ID_BYTES","alloc","add0x","erc165IdFromMethods","methods","m","getSignatureDataFromAbi","filterEvents","events","keys","Set","e","k","find","concat","filterArr","Array","isArray","x","binarySearchNumber","searchCb","high","low","parseInt","Error","l","h","Promise","all","b","mid","Math","floor","res","err","reject"],"sources":["../../src/lib/utils.js"],"sourcesContent":["import { keccak256, add0x } from '@rsksmart/rsk-utils'\nimport { ABI_SIGNATURE, INTERFACE_ID_BYTES } from './types'\n\nexport const setAbi = abi => addSignatureDataToAbi(abi, true)\n\nexport const abiEvents = abi => abi.filter(v => v.type === 'event')\n\nexport const abiMethods = abi => abi.filter(v => v.type === 'function')\n\nexport const soliditySignature = name => keccak256(name)\n\nexport const soliditySelector = signature => signature.slice(0, 8)\n\nexport const solidityName = abi => {\n let { name, inputs } = abi\n inputs = (inputs) ? inputs.map(i => i.type) : []\n return (name) ? `${name}(${inputs.join(',')})` : null\n}\n\nexport const removeAbiSignatureData = (abi) => {\n abi = Object.assign({}, abi)\n if (undefined !== abi[ABI_SIGNATURE]) delete abi[ABI_SIGNATURE]\n return abi\n}\n\nexport const getInputsIndexes = abi => {\n let { inputs } = abi\n return (inputs && abi.type === 'event') ? inputs.map(i => i.indexed) : []\n}\n\nexport const abiSignatureData = abi => {\n let method = solidityName(abi)\n let signature = (method) ? soliditySignature(method) : null\n let index = getInputsIndexes(abi)\n let indexed = (index) ? index.filter(i => i === true).length : 0\n let eventSignature = null\n if ((method && abi.type === 'event')) {\n eventSignature = soliditySignature(`${method}${Buffer.from(index).toString('hex')}`)\n }\n return { method, signature, index, indexed, eventSignature }\n}\n\nexport const addSignatureDataToAbi = (abi, skip) => {\n abi.map((value, i) => {\n if (!value[ABI_SIGNATURE] || !skip) {\n value[ABI_SIGNATURE] = abiSignatureData(value)\n }\n })\n return abi\n}\n\nexport const erc165Id = selectors => {\n let id = selectors.map(s => Buffer.from(s, 'hex'))\n .reduce((a, bytes) => {\n for (let i = 0; i < INTERFACE_ID_BYTES; i++) {\n a[i] = a[i] ^ bytes[i]\n }\n return a\n }, Buffer.alloc(INTERFACE_ID_BYTES))\n return add0x(id.toString('hex'))\n}\n\nexport const erc165IdFromMethods = methods => {\n return erc165Id(methods.map(m => soliditySelector(soliditySignature(m))))\n}\n\nexport const getSignatureDataFromAbi = abi => {\n return abi[ABI_SIGNATURE]\n}\n\nexport function filterEvents (abi) {\n const type = 'event'\n // get events from ABI\n let events = abi.filter(a => a.type === type)\n // remove events from ABI\n abi = abi.filter(a => a.type !== type)\n let keys = [...new Set(events.map(e => e[ABI_SIGNATURE].eventSignature))]\n events = keys.map(k => events.find(e => e[ABI_SIGNATURE].eventSignature === k))\n abi = abi.concat(events)\n return abi\n}\n\nfunction filterArr (a) {\n if (!Array.isArray(a)) return a\n return a.find(x => filterArr(x))\n}\n\nexport async function binarySearchNumber (searchCb, high, low) {\n try {\n high = parseInt(high || 0)\n low = parseInt(low || 0)\n if (typeof searchCb !== 'function') throw new Error('SeachCb must be a function')\n let [l, h] = await Promise.all([low, high].map(b => searchCb(b)))\n if (l !== h) {\n if (high === low + 1) {\n return high\n } else {\n let mid = Math.floor(high / 2 + low / 2)\n let res = await Promise.all([\n binarySearchNumber(searchCb, high, mid),\n binarySearchNumber(searchCb, mid, low)])\n return filterArr(res)\n }\n }\n } catch (err) {\n return Promise.reject(err)\n }\n}\n"],"mappings":"sgBAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;;AAEO,MAAME,MAAM,GAAGA,CAAAC,GAAG,KAAIC,qBAAqB,CAACD,GAAG,EAAE,IAAI,CAAC,CAAAE,OAAA,CAAAH,MAAA,GAAAA,MAAA;;AAEtD,MAAMI,SAAS,GAAGA,CAAAH,GAAG,KAAIA,GAAG,CAACI,MAAM,CAAC,CAAAC,CAAC,KAAIA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAC,CAAAJ,OAAA,CAAAC,SAAA,GAAAA,SAAA;;AAE5D,MAAMI,UAAU,GAAGA,CAAAP,GAAG,KAAIA,GAAG,CAACI,MAAM,CAAC,CAAAC,CAAC,KAAIA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC,CAAAJ,OAAA,CAAAK,UAAA,GAAAA,UAAA;;AAEhE,MAAMC,iBAAiB,GAAGA,CAAAC,IAAI,KAAI,IAAAC,mBAAS,EAACD,IAAI,CAAC,CAAAP,OAAA,CAAAM,iBAAA,GAAAA,iBAAA;;AAEjD,MAAMG,gBAAgB,GAAGA,CAAAC,SAAS,KAAIA,SAAS,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAAX,OAAA,CAAAS,gBAAA,GAAAA,gBAAA;;AAE3D,MAAMG,YAAY,GAAGA,CAAAd,GAAG,KAAI;EACjC,IAAI,EAAES,IAAI,EAAEM,MAAM,CAAC,CAAC,GAAGf,GAAG;EAC1Be,MAAM,GAAIA,MAAM,GAAIA,MAAM,CAACC,GAAG,CAAC,CAAAC,CAAC,KAAIA,CAAC,CAACX,IAAI,CAAC,GAAG,EAAE;EAChD,OAAQG,IAAI,GAAK,GAAEA,IAAK,IAAGM,MAAM,CAACG,IAAI,CAAC,GAAG,CAAE,GAAE,GAAG,IAAI;AACvD,CAAC,CAAAhB,OAAA,CAAAY,YAAA,GAAAA,YAAA;;AAEM,MAAMK,sBAAsB,GAAGA,CAACnB,GAAG,KAAK;EAC7CA,GAAG,GAAGoB,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAErB,GAAG,CAAC;EAC5B,IAAIsB,SAAS,KAAKtB,GAAG,CAACuB,oBAAa,CAAC,EAAE,OAAOvB,GAAG,CAACuB,oBAAa,CAAC;EAC/D,OAAOvB,GAAG;AACZ,CAAC,CAAAE,OAAA,CAAAiB,sBAAA,GAAAA,sBAAA;;AAEM,MAAMK,gBAAgB,GAAGA,CAAAxB,GAAG,KAAI;EACrC,IAAI,EAAEe,MAAM,CAAC,CAAC,GAAGf,GAAG;EACpB,OAAQe,MAAM,IAAIf,GAAG,CAACM,IAAI,KAAK,OAAO,GAAIS,MAAM,CAACC,GAAG,CAAC,CAAAC,CAAC,KAAIA,CAAC,CAACQ,OAAO,CAAC,GAAG,EAAE;AAC3E,CAAC,CAAAvB,OAAA,CAAAsB,gBAAA,GAAAA,gBAAA;;AAEM,MAAME,gBAAgB,GAAGA,CAAA1B,GAAG,KAAI;EACrC,IAAI2B,MAAM,GAAGb,YAAY,CAACd,GAAG,CAAC;EAC9B,IAAIY,SAAS,GAAIe,MAAM,GAAInB,iBAAiB,CAACmB,MAAM,CAAC,GAAG,IAAI;EAC3D,IAAIC,KAAK,GAAGJ,gBAAgB,CAACxB,GAAG,CAAC;EACjC,IAAIyB,OAAO,GAAIG,KAAK,GAAIA,KAAK,CAACxB,MAAM,CAAC,CAAAa,CAAC,KAAIA,CAAC,KAAK,IAAI,CAAC,CAACY,MAAM,GAAG,CAAC;EAChE,IAAIC,cAAc,GAAG,IAAI;EACzB,IAAKH,MAAM,IAAI3B,GAAG,CAACM,IAAI,KAAK,OAAO,EAAG;IACpCwB,cAAc,GAAGtB,iBAAiB,CAAE,GAAEmB,MAAO,GAAEI,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,QAAQ,CAAC,KAAK,CAAE,EAAC,CAAC;EACtF;EACA,OAAO,EAAEN,MAAM,EAAEf,SAAS,EAAEgB,KAAK,EAAEH,OAAO,EAAEK,cAAc,CAAC,CAAC;AAC9D,CAAC,CAAA5B,OAAA,CAAAwB,gBAAA,GAAAA,gBAAA;;AAEM,MAAMzB,qBAAqB,GAAGA,CAACD,GAAG,EAAEkC,IAAI,KAAK;EAClDlC,GAAG,CAACgB,GAAG,CAAC,CAACmB,KAAK,EAAElB,CAAC,KAAK;IACpB,IAAI,CAACkB,KAAK,CAACZ,oBAAa,CAAC,IAAI,CAACW,IAAI,EAAE;MAClCC,KAAK,CAACZ,oBAAa,CAAC,GAAGG,gBAAgB,CAACS,KAAK,CAAC;IAChD;EACF,CAAC,CAAC;EACF,OAAOnC,GAAG;AACZ,CAAC,CAAAE,OAAA,CAAAD,qBAAA,GAAAA,qBAAA;;AAEM,MAAMmC,QAAQ,GAAGA,CAAAC,SAAS,KAAI;EACnC,IAAIC,EAAE,GAAGD,SAAS,CAACrB,GAAG,CAAC,CAAAuB,CAAC,KAAIR,MAAM,CAACC,IAAI,CAACO,CAAC,EAAE,KAAK,CAAC,CAAC;EAC/CC,MAAM,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAK;IACpB,KAAK,IAAIzB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG0B,yBAAkB,EAAE1B,CAAC,EAAE,EAAE;MAC3CwB,CAAC,CAACxB,CAAC,CAAC,GAAGwB,CAAC,CAACxB,CAAC,CAAC,GAAGyB,KAAK,CAACzB,CAAC,CAAC;IACxB;IACA,OAAOwB,CAAC;EACV,CAAC,EAAEV,MAAM,CAACa,KAAK,CAACD,yBAAkB,CAAC,CAAC;EACtC,OAAO,IAAAE,eAAK,EAACP,EAAE,CAACL,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC,CAAA/B,OAAA,CAAAkC,QAAA,GAAAA,QAAA;;AAEM,MAAMU,mBAAmB,GAAGA,CAAAC,OAAO,KAAI;EAC5C,OAAOX,QAAQ,CAACW,OAAO,CAAC/B,GAAG,CAAC,CAAAgC,CAAC,KAAIrC,gBAAgB,CAACH,iBAAiB,CAACwC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAA9C,OAAA,CAAA4C,mBAAA,GAAAA,mBAAA;;AAEM,MAAMG,uBAAuB,GAAGA,CAAAjD,GAAG,KAAI;EAC5C,OAAOA,GAAG,CAACuB,oBAAa,CAAC;AAC3B,CAAC,CAAArB,OAAA,CAAA+C,uBAAA,GAAAA,uBAAA;;AAEM,SAASC,YAAYA,CAAElD,GAAG,EAAE;EACjC,MAAMM,IAAI,GAAG,OAAO;EACpB;EACA,IAAI6C,MAAM,GAAGnD,GAAG,CAACI,MAAM,CAAC,CAAAqC,CAAC,KAAIA,CAAC,CAACnC,IAAI,KAAKA,IAAI,CAAC;EAC7C;EACAN,GAAG,GAAGA,GAAG,CAACI,MAAM,CAAC,CAAAqC,CAAC,KAAIA,CAAC,CAACnC,IAAI,KAAKA,IAAI,CAAC;EACtC,IAAI8C,IAAI,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACF,MAAM,CAACnC,GAAG,CAAC,CAAAsC,CAAC,KAAIA,CAAC,CAAC/B,oBAAa,CAAC,CAACO,cAAc,CAAC,CAAC,CAAC;EACzEqB,MAAM,GAAGC,IAAI,CAACpC,GAAG,CAAC,CAAAuC,CAAC,KAAIJ,MAAM,CAACK,IAAI,CAAC,CAAAF,CAAC,KAAIA,CAAC,CAAC/B,oBAAa,CAAC,CAACO,cAAc,KAAKyB,CAAC,CAAC,CAAC;EAC/EvD,GAAG,GAAGA,GAAG,CAACyD,MAAM,CAACN,MAAM,CAAC;EACxB,OAAOnD,GAAG;AACZ;;AAEA,SAAS0D,SAASA,CAAEjB,CAAC,EAAE;EACrB,IAAI,CAACkB,KAAK,CAACC,OAAO,CAACnB,CAAC,CAAC,EAAE,OAAOA,CAAC;EAC/B,OAAOA,CAAC,CAACe,IAAI,CAAC,CAAAK,CAAC,KAAIH,SAAS,CAACG,CAAC,CAAC,CAAC;AAClC;;AAEO,eAAeC,kBAAkBA,CAAEC,QAAQ,EAAEC,IAAI,EAAEC,GAAG,EAAE;EAC7D,IAAI;IACFD,IAAI,GAAGE,QAAQ,CAACF,IAAI,IAAI,CAAC,CAAC;IAC1BC,GAAG,GAAGC,QAAQ,CAACD,GAAG,IAAI,CAAC,CAAC;IACxB,IAAI,OAAOF,QAAQ,KAAK,UAAU,EAAE,MAAM,IAAII,KAAK,CAAC,4BAA4B,CAAC;IACjF,IAAI,CAACC,CAAC,EAAEC,CAAC,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAACN,GAAG,EAAED,IAAI,CAAC,CAAChD,GAAG,CAAC,CAAAwD,CAAC,KAAIT,QAAQ,CAACS,CAAC,CAAC,CAAC,CAAC;IACjE,IAAIJ,CAAC,KAAKC,CAAC,EAAE;MACX,IAAIL,IAAI,KAAKC,GAAG,GAAG,CAAC,EAAE;QACpB,OAAOD,IAAI;MACb,CAAC,MAAM;QACL,IAAIS,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACX,IAAI,GAAG,CAAC,GAAGC,GAAG,GAAG,CAAC,CAAC;QACxC,IAAIW,GAAG,GAAG,MAAMN,OAAO,CAACC,GAAG,CAAC;QAC1BT,kBAAkB,CAACC,QAAQ,EAAEC,IAAI,EAAES,GAAG,CAAC;QACvCX,kBAAkB,CAACC,QAAQ,EAAEU,GAAG,EAAER,GAAG,CAAC,CAAC,CAAC;QAC1C,OAAOP,SAAS,CAACkB,GAAG,CAAC;MACvB;IACF;EACF,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,OAAOP,OAAO,CAACQ,MAAM,CAACD,GAAG,CAAC;EAC5B;AACF"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index caa8913..b50cbc9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,1132 +1,8201 @@ { "name": "@rsksmart/rsk-contract-parser", - "version": "0.0.10", - "lockfileVersion": 1, + "version": "1.0.3", + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "@rsksmart/rsk-contract-parser", + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "@ethersproject/abi": "^5.7.0", + "@rsksmart/nod3": "^0.5.0", + "@rsksmart/rsk-utils": "^1.1.0", + "bs58": "^4.0.1", + "secp256k1": "^3.7.1" + }, + "devDependencies": { + "@babel/cli": "^7.12.1", + "@babel/core": "^7.12.3", + "@babel/node": "^7.12.6", + "@babel/preset-env": "^7.12.1", + "@babel/register": "^7.12.1", + "chai": "^4.2.0", + "chai-as-promised": "^7.1.1", + "eslint": "^4.19.1", + "eslint-config-standard": "^11.0.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-json": "^2.0.1", + "eslint-plugin-mocha": "^5.3.0", + "eslint-plugin-node": "^6.0.1", + "eslint-plugin-promise": "^3.8.0", + "eslint-plugin-standard": "^3.1.0", + "mocha": "^7.1.1", + "nodemon": "^2.0.6", + "openzeppelin-solidity": "^2.4.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/cli": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.4.tgz", + "integrity": "sha512-j3luA9xGKCXVyCa5R7lJvOMM+Kc2JEnAEIgz2ggtjQ/j5YUVgfsg/WsG95bbsgq7YLHuiCOzMnoSasuY16qiCw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "commander": "^4.0.1", + "convert-source-map": "^2.0.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", + "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.6", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.6.tgz", + "integrity": "sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", + "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", + "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/node": { + "version": "7.22.19", + "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.22.19.tgz", + "integrity": "sha512-VsKSO9aEHdO16NdtqkJfrXZ9Sxlna1BVnBbToWr1KGdI3cyIk6KqOoa8mWvpK280lJDOwJqxvnl994KmLhq1Yw==", + "dev": true, + "dependencies": { + "@babel/register": "^7.22.15", + "commander": "^4.0.1", + "core-js": "^3.30.2", + "node-environment-flags": "^1.0.5", + "regenerator-runtime": "^0.14.0", + "v8flags": "^3.1.1" + }, + "bin": { + "babel-node": "bin/babel-node.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", + "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz", + "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz", + "integrity": "sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.6.tgz", + "integrity": "sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.4", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.5", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/register": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", + "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.6.tgz", + "integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", + "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ] + }, + "node_modules/@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "optional": true + }, + "node_modules/@rsksmart/nod3": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@rsksmart/nod3/-/nod3-0.5.0.tgz", + "integrity": "sha512-JARCT8vpHm4jd+fL0m0uhISAoa2Vuz//5PFbBZkBSHQLs2omEn6cWABDtCw1Zvu6kTwALty9sYPODKc3do8lcQ==", + "bin": { + "nod3-cli": "dist/cli/nod3-cli.js" + } + }, + "node_modules/@rsksmart/rsk-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rsksmart/rsk-utils/-/rsk-utils-1.1.0.tgz", + "integrity": "sha512-ZveRUj9AHGyxSPIwWIIKhjQ5XEWtaZa5HYt8zqEhv5HDSRW2KiaTffG/fGv07XwMtmLVo/DA5/a2Ak9igVaNSA==", + "dependencies": { + "keccak": "^2.0.0", + "rlp": "^2.2.4" + } + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==", + "dev": true, + "dependencies": { + "acorn": "^3.0.4" + } + }, + "node_modules/acorn-jsx/node_modules/acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", + "dev": true, + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha512-ZFztHzVRdGLAzJmpUT9LNFLe1YiVOEylcaNpEutM26PVTCtOD919IMfD01CgbRouB42Dd9atjx1HseC15DgOZA==", + "dev": true, + "peerDependencies": { + "ajv": "^5.0.0" + } + }, + "node_modules/ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", + "dev": true + }, + "node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", + "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.4", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", + "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.4", + "core-js-compat": "^3.33.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", + "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.4" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bip66": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", + "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha512-UJiE1otjXPF5/x+T3zTnSFiTOEmJoGTD9HmBoxnCUwho61a2eSNn/VwtwuIBDAo2SEOv1AJ7ARI5gCmohFLu/g==", + "dev": true, + "dependencies": { + "callsites": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001570", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz", + "integrity": "sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chai": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "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.8" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "dev": true, + "dependencies": { + "check-error": "^1.0.2" + }, + "peerDependencies": { + "chai": ">= 2.1.2 < 5" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==", + "dev": true + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", + "dev": true + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/core-js": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.34.0.tgz", + "integrity": "sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.34.0.tgz", + "integrity": "sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==", + "dev": true, + "dependencies": { + "browserslist": "^4.22.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/cross-spawn/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/cross-spawn/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/drbg.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", + "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", + "dependencies": { + "browserify-aes": "^1.0.6", + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.615", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.615.tgz", + "integrity": "sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "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.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "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.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "dev": true, + "dependencies": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-standard": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-11.0.0.tgz", + "integrity": "sha512-oDdENzpViEe5fwuRCWla7AXQd++/oyIp8zP+iP9jiUPG6NBj3SHgdgtl/kTn00AjeN+1HNvavTKmYbMo+xMOlw==", + "dev": true, + "peerDependencies": { + "eslint": ">=4.18.0", + "eslint-plugin-import": ">=2.8.0", + "eslint-plugin-node": ">=5.2.1", + "eslint-plugin-promise": ">=3.6.0", + "eslint-plugin-standard": ">=3.0.1" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-json": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-2.1.2.tgz", + "integrity": "sha512-isM/fsUxS4wN1+nLsWoV5T4gLgBQnsql3nMTr8u+cEls1bL8rRQO5CP5GtxJxaOfbcKqnz401styw+H/P+e78Q==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19", + "vscode-json-languageservice": "^3.7.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/eslint-plugin-mocha": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-5.3.0.tgz", + "integrity": "sha512-3uwlJVLijjEmBeNyH60nzqgA1gacUWLUmcKV8PIGNvj1kwP/CTgAWQHn2ayyJVwziX+KETkr9opNwT1qD/RZ5A==", + "dev": true, + "dependencies": { + "ramda": "^0.26.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">= 4.0.0" + } + }, + "node_modules/eslint-plugin-node": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz", + "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", + "dev": true, + "dependencies": { + "ignore": "^3.3.6", + "minimatch": "^3.0.4", + "resolve": "^1.3.3", + "semver": "^5.4.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=3.1.0" + } + }, + "node_modules/eslint-plugin-node/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/eslint-plugin-promise": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz", + "integrity": "sha512-JiFL9UFR15NKpHyGii1ZcvmtIqa3UTwiDAGb8atSffe43qJ3+1czVGN6UtkklpcJ2DVnqvTMzEKRaJdBkAL2aQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-standard": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.1.0.tgz", + "integrity": "sha512-fVcdyuKRr0EZ4fjWl3c+gp1BANFJD1+RaWa2UPYfMZ6jCtp5RG00kSaXnK/dE5sYzt4kaWJ9qdxqUfc0d9kX0w==", + "dev": true, + "peerDependencies": { + "eslint": ">=3.19.0" + } + }, + "node_modules/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "dependencies": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "dependencies": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha512-uXP/zGzxxFvFfcZGgBIwotm+Tdc55ddPAzF7iHshP4YGaXMww7rSF9peD9D1sui5ebONg5UobsZv+FfgEpGv/w==", + "dev": true, + "dependencies": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "dev": true, + "dependencies": { + "is-buffer": "~2.0.3" + }, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "dependencies": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/keccak": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", + "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "inherits": "^2.0.4", + "nan": "^2.14.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=5.12.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "dev": true, + "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" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.1" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/mocha/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/mocha/node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mocha/node_modules/readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", + "dev": true + }, + "node_modules/nan": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node_modules/node-environment-flags/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/nodemon": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz", + "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dev": true, + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/openzeppelin-solidity": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.5.1.tgz", + "integrity": "sha512-oCGtQPLOou4su76IMr4XXJavy9a8OZmAXeUZ8diOdFznlL/mlkIlYr7wajqCzH4S47nlKPS7m0+a2nilCTpVPQ==", + "dev": true + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "node_modules/ramda": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", + "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha512-Xct+41K3twrbBHdxAgMoOS+cNcoqIjfM2/VxBF4LL2hVph7YsF8VSKyQ3BDFZwEVbok9yeDl2le/qo0S77WG2w==", + "dev": true, + "dependencies": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "dependencies": { + "bn.js": "^5.2.0" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA==", + "dev": true + }, + "node_modules/rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha512-3xPNZGW93oCjiO7PtKxRK6iOVYBWBvtf9QHDfU23Oc+dLIQmAV//UnyXV/yihv81VS/UqoQPk4NegS8EFi55Hg==", + "dev": true, + "dependencies": { + "rx-lite": "*" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/secp256k1": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", + "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "bip66": "^1.1.5", + "bn.js": "^4.11.8", + "create-hash": "^1.2.0", + "drbg.js": "^1.0.1", + "elliptic": "^6.5.2", + "nan": "^2.14.0", + "safe-buffer": "^5.1.2" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/secp256k1/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/simple-update-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "dev": true, + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "dependencies": { + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vscode-json-languageservice": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.11.0.tgz", + "integrity": "sha512-QxI+qV97uD7HHOCjh3MrM1TfbdwmTXrMckri5Tus1/FQiG3baDZb2C9Y0y8QThs7PwHYBIQXcAc59ZveCRZKPA==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "3.16.0-next.2", + "vscode-nls": "^5.0.0", + "vscode-uri": "^2.1.2" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", + "dev": true + }, + "node_modules/vscode-languageserver-types": { + "version": "3.16.0-next.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.2.tgz", + "integrity": "sha512-QjXB7CKIfFzKbiCJC4OWC8xUncLsxo19FzGVp/ADFvvi87PlmBSCAtZI5xwGjF5qE0xkLf0jjKUn3DzmpDP52Q==", + "dev": true + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", + "dev": true + }, + "node_modules/vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==", + "dev": true + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "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" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "dependencies": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + } + }, "dependencies": { + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "@babel/cli": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.12.1.tgz", - "integrity": "sha512-eRJREyrfAJ2r42Iaxe8h3v6yyj1wu9OyosaUHW6UImjGf9ahGL9nsFNh7OCopvtcPL8WnEo7tp78wrZaZ6vG9g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.4.tgz", + "integrity": "sha512-j3luA9xGKCXVyCa5R7lJvOMM+Kc2JEnAEIgz2ggtjQ/j5YUVgfsg/WsG95bbsgq7YLHuiCOzMnoSasuY16qiCw==", "dev": true, "requires": { - "@nicolo-ribaudo/chokidar-2": "^2.1.8", + "@jridgewell/trace-mapping": "^0.3.17", + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", "chokidar": "^3.4.0", "commander": "^4.0.1", - "convert-source-map": "^1.1.0", + "convert-source-map": "^2.0.0", "fs-readdir-recursive": "^1.1.0", - "glob": "^7.0.0", - "lodash": "^4.17.19", + "glob": "^7.2.0", "make-dir": "^2.1.0", - "slash": "^2.0.0", - "source-map": "^0.5.0" + "slash": "^2.0.0" } }, "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" } }, "@babel/compat-data": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.5.tgz", - "integrity": "sha512-DTsS7cxrsH3by8nqQSpFSyjSfSYl57D6Cf4q8dW3LK83tBKBDCkfcay1nYkXq1nIHXnpX8WMMb/O25HOy3h1zg==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", "dev": true }, "@babel/core": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", - "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.1", - "@babel/parser": "^7.12.3", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "convert-source-map": "^1.7.0", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", + "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.6", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + } + }, + "@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dev": true, + "requires": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.6.tgz", + "integrity": "sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", + "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", + "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6" + } + }, + "@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/node": { + "version": "7.22.19", + "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.22.19.tgz", + "integrity": "sha512-VsKSO9aEHdO16NdtqkJfrXZ9Sxlna1BVnBbToWr1KGdI3cyIk6KqOoa8mWvpK280lJDOwJqxvnl994KmLhq1Yw==", + "dev": true, + "requires": { + "@babel/register": "^7.22.15", + "commander": "^4.0.1", + "core-js": "^3.30.2", + "node-environment-flags": "^1.0.5", + "regenerator-runtime": "^0.14.0", + "v8flags": "^3.1.1" + } + }, + "@babel/parser": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" } }, - "@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", + "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", "dev": true, "requires": { - "@babel/types": "^7.12.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "requires": {} + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, - "@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "requires": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", - "browserslist": "^4.14.5", - "semver": "^5.5.0" + "@babel/helper-plugin-utils": "^7.14.5" } }, - "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz", - "integrity": "sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA==", + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-regex": "^7.10.4", - "regexpu-core": "^4.7.1" + "@babel/helper-plugin-utils": "^7.8.3" } }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/helper-function-name": { + "@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-plugin-utils": "^7.10.4" } }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/helper-hoist-variables": { + "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/helper-plugin-utils": "^7.10.4" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz", - "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==", + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { - "@babel/types": "^7.12.5" + "@babel/helper-plugin-utils": "^7.10.4" } }, - "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", - "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "requires": { - "lodash": "^4.17.19" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" + "@babel/helper-plugin-utils": "^7.14.5" } }, - "@babel/helper-replace-supers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", - "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, - "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "@babel/plugin-transform-async-generator-functions": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz", + "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==", "dev": true, "requires": { - "@babel/types": "^7.11.0" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", - "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==", - "dev": true + "@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + } }, - "@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", "dev": true, "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/node": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.12.6.tgz", - "integrity": "sha512-A1TpW2X05ZkI5+WV7Aa24QX4LyGwrGUQPflG1CyBdr84jUuH0mhkE2BQWSQAlfRnp4bMLjeveMJIhS20JaOfVQ==", + "@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", "dev": true, "requires": { - "@babel/register": "^7.12.1", - "commander": "^4.0.1", - "core-js": "^3.2.1", - "lodash": "^4.17.19", - "node-environment-flags": "^1.0.5", - "regenerator-runtime": "^0.13.4", - "resolve": "^1.13.1", - "v8flags": "^3.1.1" + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, - "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true + "@babel/plugin-transform-classes": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz", + "integrity": "sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + } }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", - "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", + "@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" } }, - "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.5.tgz", - "integrity": "sha512-UiAnkKuOrCyjZ3sYNHlRlfuZJbBHknMQ9VMwVeX97Ofwx7RpD6gS2HfqTCh8KNUQgcOm8IKt103oR4KIjh7Q8g==", + "@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" } }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz", - "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==", + "@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" } }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "@babel/plugin-transform-modules-systemjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" } }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" } }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", - "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", + "@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" + "@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "@babel/preset-env": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.6.tgz", + "integrity": "sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.4", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.5", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "@babel/register": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", + "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" } }, - "@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "@babel/runtime": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.6.tgz", + "integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "regenerator-runtime": "^0.14.0" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + } + }, + "@babel/traverse": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", + "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", + "globals": "^11.1.0" } }, - "@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "@babel/types": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" } }, - "@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", - "dev": true, + "@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, - "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", - "dev": true, + "@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" } }, - "@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", - "dev": true, + "@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", - "dev": true, + "@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "requires": { - "regenerator-transform": "^0.14.2" + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", - "dev": true, + "@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@ethersproject/bytes": "^5.7.0" } }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", - "dev": true, + "@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" } }, - "@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", - "dev": true, + "@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "@ethersproject/logger": "^5.7.0" } }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz", - "integrity": "sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ==", - "dev": true, + "@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-regex": "^7.10.4" + "@ethersproject/bignumber": "^5.7.0" } }, - "@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", - "dev": true, + "@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz", - "integrity": "sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==", - "dev": true, + "@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" } }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", - "dev": true, + "@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" + }, + "@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@ethersproject/logger": "^5.7.0" } }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", - "dev": true, + "@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@ethersproject/logger": "^5.7.0" } }, - "@babel/preset-env": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz", - "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.12.1", - "@babel/helper-compilation-targets": "^7.12.1", - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.1", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.1", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.1", - "core-js-compat": "^3.6.2", - "semver": "^5.5.0" + "@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "dev": true, + "@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" } }, - "@babel/register": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.12.1.tgz", - "integrity": "sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q==", - "dev": true, + "@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", "requires": { - "find-cache-dir": "^2.0.0", - "lodash": "^4.17.19", - "make-dir": "^2.1.0", - "pirates": "^4.0.0", - "source-map-support": "^0.5.16" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, - "@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", - "dev": true, + "@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "requires": { - "regenerator-runtime": "^0.13.4" + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" } }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, + "@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, - "@babel/traverse": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.5.tgz", - "integrity": "sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==", + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.5", - "@babel/types": "^7.12.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - }, - "dependencies": { - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8.tgz", - "integrity": "sha512-FohwULwAebCUKi/akMFyGi7jfc7JXTeMHzKxuP3umRd9mK/2Y7/SMBSI2jX+YLopPXi+PF9l307NmpfxTdCegA==", + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", "dev": true, - "optional": true, - "requires": { - "chokidar": "2.1.8" - }, - "dependencies": { - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - } - } + "optional": true }, "@rsksmart/nod3": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@rsksmart/nod3/-/nod3-0.4.1.tgz", - "integrity": "sha512-REzlOa1MgYIuL35ybsSgzG+EbLA0rT2Zu/upLAMGVymXBhzz3l6Mi14dZdjQxCglJTlatj1nw+Lx9qDRc/EB9g==" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@rsksmart/nod3/-/nod3-0.5.0.tgz", + "integrity": "sha512-JARCT8vpHm4jd+fL0m0uhISAoa2Vuz//5PFbBZkBSHQLs2omEn6cWABDtCw1Zvu6kTwALty9sYPODKc3do8lcQ==" }, "@rsksmart/rsk-utils": { "version": "1.1.0", @@ -1137,56 +8206,12 @@ "rlp": "^2.2.4" } }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, - "@types/node": { - "version": "14.14.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.8.tgz", - "integrity": "sha512-z/5Yd59dCKI5kbxauAJgw6dLPzW+TNOItNE00PkpzNwUIEwdj/Lsqwq94H5DdYBX7C13aRA0CY32BK76+neEUA==" - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/secp256k1": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.1.tgz", - "integrity": "sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog==", - "requires": { - "@types/node": "*" - } - }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -1202,7 +8227,7 @@ "acorn-jsx": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==", "dev": true, "requires": { "acorn": "^3.0.4" @@ -1211,7 +8236,7 @@ "acorn": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==", "dev": true } } @@ -1219,7 +8244,7 @@ "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", "dev": true, "requires": { "co": "^4.6.0", @@ -1231,45 +8256,9 @@ "ajv-keywords": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true - }, - "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "integrity": "sha512-ZFztHzVRdGLAzJmpUT9LNFLe1YiVOEylcaNpEutM26PVTCtOD919IMfD01CgbRouB42Dd9atjx1HseC15DgOZA==", "dev": true, - "requires": { - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } + "requires": {} }, "ansi-colors": { "version": "3.2.3", @@ -1284,9 +8273,9 @@ "dev": true }, "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true }, "ansi-styles": { @@ -1299,26 +8288,13 @@ } }, "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "optional": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, "argparse": { @@ -1330,76 +8306,92 @@ "sprintf-js": "~1.0.2" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, - "optional": true + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dev": true, - "optional": true + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + } }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dev": true, - "optional": true + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } }, - "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" } }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, - "optional": true + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } }, - "array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" } }, "assertion-error": { @@ -1408,31 +8400,16 @@ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, - "optional": true - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "optional": true + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", "dev": true, "requires": { "chalk": "^1.1.3", @@ -1440,16 +8417,22 @@ "js-tokens": "^3.0.2" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", "dev": true }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dev": true, "requires": { "ansi-styles": "^2.2.1", @@ -1462,115 +8445,75 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", "dev": true }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "optional": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, - "optional": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "ansi-regex": "^2.0.0" } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true } } }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", + "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.4", + "semver": "^6.3.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", + "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.4", + "core-js-compat": "^3.33.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", + "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.4" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, "base-x": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", "requires": { "safe-buffer": "^5.0.1" } }, "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true }, "bindings": { "version": "1.5.0", @@ -1583,125 +8526,15 @@ "bip66": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", + "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", "requires": { "safe-buffer": "^5.0.1" } }, - "blakejs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", - "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" - }, "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", - "dev": true, - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" }, "brace-expansion": { "version": "1.1.11", @@ -1714,40 +8547,18 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "optional": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "fill-range": "^7.0.1" } }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, "browser-stdout": { "version": "1.3.1", @@ -1769,111 +8580,51 @@ } }, "browserslist": { - "version": "4.14.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz", - "integrity": "sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001157", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.591", - "escalade": "^3.1.1", - "node-releases": "^1.1.66" + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" } }, "bs58": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", "requires": { "base-x": "^3.0.2" } }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "optional": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" } }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "integrity": "sha512-UJiE1otjXPF5/x+T3zTnSFiTOEmJoGTD9HmBoxnCUwho61a2eSNn/VwtwuIBDAo2SEOv1AJ7ARI5gCmohFLu/g==", "dev": true, "requires": { "callsites": "^0.2.0" @@ -1882,7 +8633,7 @@ "callsites": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "integrity": "sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A==", "dev": true }, "camelcase": { @@ -1892,23 +8643,24 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001159", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001159.tgz", - "integrity": "sha512-w9Ph56jOsS8RL20K9cLND3u/+5WASWdhC/PPrf+V3/HsM3uHOavWOR1Xzakbv4Puo/srmPHudkmCRWM7Aq+/UA==", + "version": "1.0.30001570", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz", + "integrity": "sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==", "dev": true }, "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", "dev": true, "requires": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" + "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.8" } }, "chai-as-promised": { @@ -1934,122 +8686,34 @@ "chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "integrity": "sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==", "dev": true }, "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "requires": { + "get-func-name": "^2.0.2" + } }, "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } + "readdirp": "~3.6.0" } }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -2065,41 +8729,10 @@ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "optional": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "dev": true - }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, "requires": { "restore-cursor": "^2.0.0" @@ -2123,9 +8756,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "string-width": { @@ -2150,32 +8783,23 @@ } } }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" } }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "optional": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -2188,13 +8812,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "commander": { @@ -2206,20 +8824,13 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true, - "optional": true - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "concat-stream": { @@ -2227,134 +8838,38 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "optional": true + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "core-js": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.7.0.tgz", - "integrity": "sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA==", + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.34.0.tgz", + "integrity": "sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==", "dev": true }, "core-js-compat": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.7.0.tgz", - "integrity": "sha512-V8yBI3+ZLDVomoWICO6kq/CD28Y4r1M7CWeO4AGpMdMfseu8bkSubBmUPySMGKRTS+su4XQ07zUkAsiu9FCWTg==", + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.34.0.tgz", + "integrity": "sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==", "dev": true, "requires": { - "browserslist": "^4.14.6", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } + "browserslist": "^4.22.2" } }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "create-hash": { @@ -2385,130 +8900,82 @@ "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", "dev": true, "requires": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", "which": "^1.2.9" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } } }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true - }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "optional": true - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "requires": { "type-detect": "^4.0.0" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, - "optional": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "optional": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "diff": { @@ -2526,35 +8993,20 @@ "esutils": "^2.0.2" } }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, "drbg.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", + "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", "requires": { "browserify-aes": "^1.0.6", "create-hash": "^1.1.2", "create-hmac": "^1.1.4" } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, "electron-to-chromium": { - "version": "1.3.599", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.599.tgz", - "integrity": "sha512-u6VGpFsIzSCNrWJb1I72SUypz3EGoBaiEgygoMkd0IOcGR3WF3je5VTx9OIRI9Qd8UOMHinLImyJFkYHTq6nsg==", + "version": "1.4.615", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.615.tgz", + "integrity": "sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==", "dev": true }, "elliptic": { @@ -2569,6 +9021,13 @@ "inherits": "^2.0.4", "minimalistic-assert": "^1.0.1", "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } } }, "emoji-regex": { @@ -2577,41 +9036,77 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dev": true, "requires": { - "once": "^1.4.0" - } + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "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.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "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.13" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" } }, - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "hasown": "^2.0.0" } }, "es-to-primitive": { @@ -2631,16 +9126,10 @@ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true - }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "eslint": { @@ -2690,18 +9179,18 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } @@ -2710,111 +9199,83 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-11.0.0.tgz", "integrity": "sha512-oDdENzpViEe5fwuRCWla7AXQd++/oyIp8zP+iP9jiUPG6NBj3SHgdgtl/kTn00AjeN+1HNvavTKmYbMo+xMOlw==", - "dev": true + "dev": true, + "requires": {} }, "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } } }, "eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, "requires": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" + "debug": "^3.2.7" }, "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "find-up": "^2.1.0" + "ms": "^2.1.1" } } } }, "eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", - "dev": true, - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "requires": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" }, "dependencies": { - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "ms": "^2.1.1" } } } @@ -2848,6 +9309,14 @@ "minimatch": "^3.0.4", "resolve": "^1.3.3", "semver": "^5.4.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } } }, "eslint-plugin-promise": { @@ -2860,7 +9329,8 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.1.0.tgz", "integrity": "sha512-fVcdyuKRr0EZ4fjWl3c+gp1BANFJD1+RaWa2UPYfMZ6jCtp5RG00kSaXnK/dE5sYzt4kaWJ9qdxqUfc0d9kX0w==", - "dev": true + "dev": true, + "requires": {} }, "eslint-scope": { "version": "3.7.3", @@ -2895,18 +9365,18 @@ "dev": true }, "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -2921,9 +9391,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -2937,240 +9407,33 @@ "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - }, - "dependencies": { - "keccak": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", - "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "secp256k1": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", - "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", - "requires": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - } - } - }, - "ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "optional": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "optional": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "optional": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "dev": true, - "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "optional": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "optional": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==", "dev": true }, "fast-json-stable-stringify": { @@ -3182,13 +9445,13 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -3197,7 +9460,7 @@ "file-entry-cache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "integrity": "sha512-uXP/zGzxxFvFfcZGgBIwotm+Tdc55ddPAzF7iHshP4YGaXMww7rSF9peD9D1sui5ebONg5UobsZv+FfgEpGv/w==", "dev": true, "requires": { "flat-cache": "^1.2.1", @@ -3210,28 +9473,12 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "optional": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "to-regex-range": "^5.0.1" } }, "find-cache-dir": { @@ -3261,14 +9508,6 @@ "dev": true, "requires": { "is-buffer": "~2.0.3" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true - } } }, "flat-cache": { @@ -3283,21 +9522,13 @@ "write": "^0.2.1" } }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "optional": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, - "optional": true, "requires": { - "map-cache": "^0.2.2" + "is-callable": "^1.1.3" } }, "fs-readdir-recursive": { @@ -3309,30 +9540,44 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } + "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true }, + "function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, "gensync": { @@ -3348,82 +9593,54 @@ "dev": true }, "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" } }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "requires": { - "pump": "^3.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" } }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "optional": true - }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "global-dirs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", - "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { - "ini": "^1.3.5" + "is-glob": "^4.0.1" } }, "globals": { @@ -3432,29 +9649,28 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" + "get-intrinsic": "^1.1.3" } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "growl": { @@ -3463,77 +9679,65 @@ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", "dev": true, "requires": { "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + } } }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, - "has-symbols": { + "has-property-descriptors": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "dev": true, - "optional": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-intrinsic": "^1.2.2" } }, - "has-values": { + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, - "optional": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "has-symbols": "^1.0.2" } }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true - }, "hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -3542,6 +9746,18 @@ "inherits": "^2.0.4", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "hash.js": { @@ -3553,6 +9769,15 @@ "minimalistic-assert": "^1.0.1" } }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -3562,7 +9787,7 @@ "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -3578,18 +9803,6 @@ "parse-passwd": "^1.0.0" } }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -3608,25 +9821,19 @@ "ignore-by-default": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", - "dev": true - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", "dev": true }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -3638,12 +9845,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "inquirer": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", @@ -3666,230 +9867,145 @@ "through": "^2.3.6" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dev": true, - "optional": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, - "optional": true, "requires": { - "binary-extensions": "^1.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "optional": true - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "requires": { - "ci-info": "^2.0.0" + "has-bigints": "^1.0.1" } }, - "is-core-module": { + "is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", - "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { - "has": "^1.0.3" + "binary-extensions": "^2.0.0" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, - "optional": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "dev": true }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, - "optional": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "optional": true - } + "hasown": "^2.0.0" } }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "optional": true + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" - }, - "is-installed-globally": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", - "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", - "dev": true, - "requires": { - "global-dirs": "^2.0.1", - "is-path-inside": "^3.0.1" - } - }, "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, - "is-npm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", - "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "optional": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "has-tostringtag": "^1.0.0" } }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", - "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", - "dev": true - }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "optional": true, "requires": { "isobject": "^3.0.1" } }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-resolvable": { @@ -3898,58 +10014,73 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.2" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, - "optional": true + "requires": { + "which-typed-array": "^1.1.11" + } }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "optional": true + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, "js-tokens": { "version": "4.0.0", @@ -3958,9 +10089,9 @@ "dev": true }, "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -3973,37 +10104,28 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true }, "jsonc-parser": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", - "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, "keccak": { @@ -4017,61 +10139,22 @@ "safe-buffer": "^5.2.0" } }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "optional": true - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "requires": { - "package-json": "^6.3.0" - } + "dev": true }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" } }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -4083,9 +10166,15 @@ } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, "log-symbols": { @@ -4097,20 +10186,22 @@ "chalk": "^2.4.2" } }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true + "loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "requires": { + "get-func-name": "^2.0.1" + } }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "yallist": "^3.0.2" } }, "make-dir": { @@ -4121,23 +10212,14 @@ "requires": { "pify": "^4.0.1", "semver": "^5.6.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "optional": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "optional": true, - "requires": { - "object-visit": "^1.0.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } } }, "md5.js": { @@ -4150,40 +10232,12 @@ "safe-buffer": "^5.1.2" } }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -4192,53 +10246,30 @@ "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "optional": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "optional": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" } }, "mocha": { @@ -4273,31 +10304,6 @@ "yargs-unparser": "1.6.0" }, "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, "chokidar": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", @@ -4323,15 +10329,6 @@ "ms": "^2.1.1" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, "fsevents": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", @@ -4353,38 +10350,32 @@ "path-is-absolute": "^1.0.0" } }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "binary-extensions": "^2.0.0" + "brace-expansion": "^1.1.7" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "minimist": "^1.2.5" } }, "ms": { @@ -4422,66 +10413,32 @@ "requires": { "has-flag": "^3.0.0" } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } } } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", "dev": true }, "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==" }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, "node-environment-flags": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", @@ -4490,56 +10447,53 @@ "requires": { "object.getownpropertydescriptors": "^2.0.3", "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } } }, - "node-gyp-build": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==" - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "nodemon": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.6.tgz", - "integrity": "sha512-4I3YDSKXg6ltYpcnZeHompqac4E6JeAMpGm8tJnB9Y3T0ehasLa4139dJOcCrB93HHrUMsCrKtoAlXTqT5n4AQ==", + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz", + "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==", "dev": true, "requires": { - "chokidar": "^3.2.2", - "debug": "^3.2.6", + "chokidar": "^3.5.2", + "debug": "^3.2.7", "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", - "pstree.remy": "^1.1.7", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", "supports-color": "^5.5.0", "touch": "^3.1.0", - "undefsafe": "^2.0.3", - "update-notifier": "^4.1.0" + "undefsafe": "^2.0.5" }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } @@ -4547,80 +10501,28 @@ "nopt": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", "dev": true, "requires": { "abbrev": "1" } }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", - "dev": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "optional": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "dev": true }, "object-keys": { @@ -4629,64 +10531,69 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, - "optional": true, "requires": { - "isobject": "^3.0.0" + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" } }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dev": true, - "optional": true, "requires": { - "isobject": "^3.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" } }, "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" @@ -4695,7 +10602,7 @@ "onetime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -4724,13 +10631,7 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true }, "p-limit": { @@ -4757,118 +10658,52 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dev": true, - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, - "optional": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true, - "optional": true - }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pify": { @@ -4878,13 +10713,10 @@ "dev": true }, "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true }, "pkg-dir": { "version": "3.0.0", @@ -4898,26 +10730,13 @@ "pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true, - "optional": true + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true }, "process-nextick-args": { @@ -4935,7 +10754,7 @@ "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, "pstree.remy": { @@ -4944,172 +10763,42 @@ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", "dev": true }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "dev": true, - "requires": { - "escape-goat": "^2.0.0" - } - }, "ramda": { "version": "0.26.1", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==", "dev": true }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" }, "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true } } }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "optional": true, "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "picomatch": "^2.2.1" } }, "regenerate": { @@ -5119,38 +10808,38 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, "requires": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true }, "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, - "optional": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" } }, "regexpp": { @@ -5160,47 +10849,23 @@ "dev": true }, "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, "requires": { - "rc": "^1.2.8" + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" } }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -5209,36 +10874,15 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true } } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true, - "optional": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true, - "optional": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "optional": true - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "require-main-filename": { @@ -5250,7 +10894,7 @@ "require-uncached": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "integrity": "sha512-Xct+41K3twrbBHdxAgMoOS+cNcoqIjfM2/VxBF4LL2hVph7YsF8VSKyQ3BDFZwEVbok9yeDl2le/qo0S77WG2w==", "dev": true, "requires": { "caller-path": "^0.1.0", @@ -5258,54 +10902,32 @@ } }, "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-from": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==", "dev": true }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true, - "optional": true - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, "requires": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" } }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, - "optional": true - }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -5325,11 +10947,11 @@ } }, "rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "requires": { - "bn.js": "^4.11.1" + "bn.js": "^5.2.0" } }, "run-async": { @@ -5341,31 +10963,52 @@ "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "integrity": "sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA==", "dev": true }, "rx-lite-aggregates": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "integrity": "sha512-3xPNZGW93oCjiO7PtKxRK6iOVYBWBvtf9QHDfU23Oc+dLIQmAV//UnyXV/yihv81VS/UqoQPk4NegS8EFi55Hg==", "dev": true, "requires": { "rx-lite": "*" } }, + "safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, - "optional": true, "requires": { - "ret": "~0.1.10" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" } }, "safer-buffer": { @@ -5374,11 +11017,6 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, "secp256k1": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", @@ -5392,66 +11030,49 @@ "elliptic": "^6.5.2", "nan": "^2.14.0", "safe-buffer": "^5.1.2" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "requires": { - "semver": "^6.3.0" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", "dev": true, - "optional": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } }, "sha.js": { "version": "2.4.11", @@ -5462,10 +11083,19 @@ "safe-buffer": "^5.0.1" } }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -5474,260 +11104,92 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0" - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "optional": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "optional": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "optional": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, - "optional": true, "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "optional": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "simple-update-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "semver": "~7.0.0" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true, - "optional": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } } }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "is-fullwidth-code-point": "^2.0.0" } }, - "spdx-license-ids": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", - "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "optional": true, "requires": { - "extend-shallow": "^3.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "optional": true, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "safe-buffer": "~5.1.0" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^0.1.0" - } + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" } } }, @@ -5741,113 +11203,58 @@ "strip-ansi": "^4.0.0" } }, - "string.prototype.trimend": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", - "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", + "string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, - "string.prototype.trimstart": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", - "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, "requires": { - "safe-buffer": "~5.2.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "requires": { "ansi-regex": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - } } }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true }, "supports-color": { @@ -5859,6 +11266,12 @@ "has-flag": "^3.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, "table": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", @@ -5873,22 +11286,16 @@ "string-width": "^2.1.1" } }, - "term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", - "dev": true - }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "tmp": { @@ -5903,59 +11310,16 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "optional": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "optional": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, "touch": { @@ -5968,21 +11332,21 @@ } }, "tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, "requires": { "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", + "json5": "^1.0.2", + "minimist": "^1.2.6", "strip-bom": "^3.0.0" }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -5993,7 +11357,7 @@ "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, "requires": { "prelude-ls": "~1.1.2" @@ -6005,236 +11369,119 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dev": true, "requires": { - "is-typedarray": "^1.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" } }, - "undefsafe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", - "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", "dev": true, "requires": { - "debug": "^2.2.0" + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" } }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true + "typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "requires": { + "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" + } }, - "unicode-match-property-ecmascript": { + "typed-array-length": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" } }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "optional": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" } }, - "unique-string": { + "undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" - } + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, - "optional": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "optional": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "optional": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true, - "optional": true - } + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true - }, - "update-notifier": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", - "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", - "dev": true, - "requires": { - "boxen": "^4.2.0", - "chalk": "^3.0.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.3.1", - "is-npm": "^4.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.0.0", - "pupa": "^2.0.1", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true, - "optional": true + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, "requires": { - "prepend-http": "^2.0.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" } }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "optional": true - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "v8flags": { "version": "3.2.0", @@ -6245,23 +11492,13 @@ "homedir-polyfill": "^1.0.1" } }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "vscode-json-languageservice": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.10.0.tgz", - "integrity": "sha512-8IvuRSQnjznu+obqy6Dy4S4H68Ke7a3Kb+A0FcdctyAMAWEnrORpCpMOMqEYiPLm/OTYLVWJ7ql3qToDTozu4w==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.11.0.tgz", + "integrity": "sha512-QxI+qV97uD7HHOCjh3MrM1TfbdwmTXrMckri5Tus1/FQiG3baDZb2C9Y0y8QThs7PwHYBIQXcAc59ZveCRZKPA==", "dev": true, "requires": { - "jsonc-parser": "^2.3.1", + "jsonc-parser": "^3.0.0", "vscode-languageserver-textdocument": "^1.0.1", "vscode-languageserver-types": "3.16.0-next.2", "vscode-nls": "^5.0.0", @@ -6269,9 +11506,9 @@ } }, "vscode-languageserver-textdocument": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz", - "integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", "dev": true }, "vscode-languageserver-types": { @@ -6281,9 +11518,9 @@ "dev": true }, "vscode-nls": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.0.tgz", - "integrity": "sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", "dev": true }, "vscode-uri": { @@ -6301,12 +11538,38 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "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": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "dev": true }, + "which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", @@ -6316,59 +11579,10 @@ "string-width": "^1.0.2 || 2" } }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dev": true, - "requires": { - "string-width": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true }, "wrap-ansi": { @@ -6383,9 +11597,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "string-width": { @@ -6413,36 +11627,18 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "write": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "integrity": "sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==", "dev": true, "requires": { "mkdirp": "^0.5.1" } }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true - }, "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", @@ -6450,9 +11646,9 @@ "dev": true }, "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "yargs": { @@ -6474,9 +11670,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "string-width": { diff --git a/package.json b/package.json index cc09835..0018f50 100755 --- a/package.json +++ b/package.json @@ -1,11 +1,12 @@ { "name": "@rsksmart/rsk-contract-parser", - "version": "0.0.10", + "version": "1.0.4", "description": "", "main": "dist/index.js", "scripts": { "lint": "npx eslint src/**/* --quiet", "test": "npx mocha", + "test:local": "npx mocha test/compiler.spec.js test/events.spec.js test/nativeContracts.spec.js test/bridgeAbi.spec.js", "build": "npx babel src -d dist --copy-files", "abi": "npx babel-node --presets @babel/preset-env src/lib/compileJsonAbis.js" }, @@ -46,10 +47,10 @@ "openzeppelin-solidity": "^2.4.0" }, "dependencies": { - "@rsksmart/nod3": "^0.4.1", + "@ethersproject/abi": "^5.7.0", + "@rsksmart/nod3": "^0.5.0", "@rsksmart/rsk-utils": "^1.1.0", "bs58": "^4.0.1", - "ethereumjs-abi": "^0.6.8", "secp256k1": "^3.7.1" } } diff --git a/src/index.js b/src/index.js index bcf3c36..c91b88f 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,15 @@ import { ContractParser } from './lib/ContractParser' import { BcSearch } from './lib/BcSearch' import Contract from './lib/Contract' -import bridge from './lib/nativeContracts/bridgeAbi' -const abi = { bridge } +import { getBridgeAbi } from './lib/nativeContracts/bridgeAbi' +const abi = { bridge: getBridgeAbi } export { ContractParser, BcSearch, Contract, abi } export default ContractParser + +// HOTFIX: because the dependency @ethersproject/abi:5.7.0 spam the logs with 'duplicate definition' warning, this temporary fix should silence those messages until a newer version of the library fixes the issue +const originalConsoleLog = console.log +console.log = function (message) { + if (!String(message).includes('duplicate definition')) { + originalConsoleLog(message) + } +} diff --git a/src/lib/Contract.js b/src/lib/Contract.js index 792a1ce..49236db 100755 --- a/src/lib/Contract.js +++ b/src/lib/Contract.js @@ -1,8 +1,8 @@ -import { toBuffer, add0x } from '@rsksmart/rsk-utils' -import ethAbi from 'ethereumjs-abi' +import { Interface } from '@ethersproject/abi' export default function Contract (abi, { address, nod3 } = {}) { if (!abi || typeof abi !== 'object') throw new Error('Invalid abi') + const contractInterface = new Interface(abi) const at = newAddress => { address = newAddress @@ -12,38 +12,14 @@ export default function Contract (abi, { address, nod3 } = {}) { nod3 = nod3Instance } - const abiFind = (type, name) => abi.find(i => i.type === type && i.name === name) - - const isMethod = name => abiFind('function', name) - // const isEvent = name => abiFind('event', name) - const getMethod = (methodName) => { - const abiDef = isMethod(methodName) - if (!abiDef) throw new Error(`Unknown method: "${methodName}"`) - const { name, inputs, outputs } = abiDef - const types = inputs.filter(i => i.type).map(i => i.type) - const returns = outputs.filter(o => o.type).map(o => o.type) - const id = ethAbi.methodID(name, types).toString('hex') - const method = `${name}(${types.join(' ')})` - return { types, id, name, method, returns } - } - - const encodeCall = (methodName, params = []) => { - try { - const { id, types } = getMethod(methodName) - let data = ethAbi.rawEncode(types, params).toString('hex') - data = add0x(`${id}${data}`) - return data - } catch (err) { - throw err - } - } + const encodeCall = (methodName, params = []) => contractInterface.encodeFunctionData(methodName, params) const decodeCall = (methodName, data) => { - const { returns } = getMethod(methodName) - const decoded = ethAbi.rawDecode(returns, toBuffer(data)) - return (Array.isArray(decoded) && returns.length < 2) ? decoded[0] : decoded + const { outputs } = contractInterface.getFunction(methodName) + const decoded = contractInterface.decodeFunctionResult(methodName, data) + return (Array.isArray(decoded) && outputs && outputs.length < 2) ? decoded[0] : decoded } const call = async (methodName, params = [], txData = {}) => { diff --git a/src/lib/ContractParser.js b/src/lib/ContractParser.js index 3161296..07403dd 100755 --- a/src/lib/ContractParser.js +++ b/src/lib/ContractParser.js @@ -14,8 +14,18 @@ import { soliditySignature } from './utils' +function mapInterfacesToERCs (interfaces) { + return Object.keys(interfaces) + .filter(k => interfaces[k] === true) + .map(t => contractsInterfaces[t] || t) +} + +function hasMethodSelector (txInputData, selector) { + return selector && txInputData && txInputData.includes(selector) +} + export class ContractParser { - constructor ({ abi, log, initConfig, nod3 } = {}) { + constructor ({ abi, log, initConfig, nod3, txBlockNumber } = {}) { initConfig = initConfig || {} const { net } = initConfig this.netId = (net) ? net.id : undefined @@ -25,7 +35,7 @@ export class ContractParser { this.nativeContracts = NativeContracts(initConfig) if (this.netId) { let bitcoinNetwork = bitcoinRskNetWorks[this.netId] - this.nativeContractsEvents = NativeContractsDecoder({ bitcoinNetwork }) + this.nativeContractsEvents = NativeContractsDecoder({ bitcoinNetwork, txBlockNumber }) } } @@ -87,6 +97,12 @@ export class ContractParser { let value = args[i] || [] if (Array.isArray(value)) { // temp fix to undecoded events value.forEach(v => _addresses.push(v)) + } else { + let i = 0 + while (2 + (i + 1) * 40 <= value.length) { + _addresses.push('0x' + value.slice(2 + i * 40, 2 + (i + 1) * 40)) + i++ + } } } }) @@ -97,7 +113,7 @@ export class ContractParser { decodeLogs (logs, abi) { abi = abi || this.abi - const eventDecoder = EventDecoder(abi) + const eventDecoder = EventDecoder(abi, this.log) if (!this.nativeContracts || !this.nativeContractsEvents) { throw new Error(`Native contracts decoder is missing, check the value of netId:${this.netId}`) } @@ -121,7 +137,8 @@ export class ContractParser { const res = await contract.call(method, params, options) return res } catch (err) { - this.log.warn(`Method ${method} call ${err}`) + // temporary fix to avoid errored contract calls spam logs + // this.log.warn(`Method ${method} call ${err}`) return null } } @@ -141,17 +158,34 @@ export class ContractParser { }, {}) } - hasMethodSelector (txInputData, selector) { - return (selector && txInputData) ? txInputData.includes(selector) : null - } - getMethodsBySelectors (txInputData) { let methods = this.getMethodsSelectors() return Object.keys(methods) - .filter(method => this.hasMethodSelector(txInputData, methods[method]) === true) + .filter(method => hasMethodSelector(txInputData, methods[method]) === true) } async getContractInfo (txInputData, contract) { + let { interfaces, methods } = await this.getContractImplementedInterfaces(txInputData, contract) + + interfaces = mapInterfacesToERCs(interfaces) + return { methods, interfaces } + } + + async getEIP1967Info (contractAddress) { + const { isUpgradeable, impContractAddress } = await this.isERC1967(contractAddress) + if (isUpgradeable) { + // manual check required + const proxyContractBytecode = await this.getContractCodeFromNode(impContractAddress) + const methods = this.getMethodsBySelectors(proxyContractBytecode) + let interfaces = this.getInterfacesByMethods(methods) + + interfaces = mapInterfacesToERCs(interfaces) + return { methods, interfaces: [...interfaces, 'ERC1967'] } + } + return {methods: [], interfaces: []} + } + + async getContractImplementedInterfaces (txInputData, contract) { let methods = this.getMethodsBySelectors(txInputData) let isErc165 = false // skip non-erc165 contracts @@ -159,14 +193,33 @@ export class ContractParser { isErc165 = await this.implementsErc165(contract) } let interfaces - if (isErc165) interfaces = await this.getInterfacesERC165(contract) - else interfaces = this.getInterfacesByMethods(methods) - interfaces = Object.keys(interfaces) - .filter(k => interfaces[k] === true) - .map(t => contractsInterfaces[t] || t) + if (isErc165) { + interfaces = await this.getInterfacesERC165(contract) + } else { + interfaces = this.getInterfacesByMethods(methods) + } + return { methods, interfaces } } + async isERC1967 (contractAddress) { + // check For ERC1967 + // https://eips.ethereum.org/EIPS/eip-1967 + // 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc storage address where the implementation address is stored + const storedValue = await this.nod3.eth.getStorageAt(contractAddress, '0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc') + const isUpgradeable = storedValue !== '0x0' + if (isUpgradeable) { + const impContractAddress = `0x${storedValue.slice(-40)}` // extract contract address + return { isUpgradeable, impContractAddress } + } else { + return { isUpgradeable, impContractAddress: storedValue } + } + } + + async getContractCodeFromNode (contractAddress) { + return this.nod3.eth.getContractCodeAt(contractAddress) + } + async getInterfacesERC165 (contract) { let ifaces = {} let keys = Object.keys(interfacesIds) diff --git a/src/lib/EventDecoder.js b/src/lib/EventDecoder.js index 817343a..2a15f93 100755 --- a/src/lib/EventDecoder.js +++ b/src/lib/EventDecoder.js @@ -1,13 +1,9 @@ -import ethAbi from 'ethereumjs-abi' import { addSignatureDataToAbi, getSignatureDataFromAbi } from './utils' -import { remove0x, toBuffer, add0x, bufferToHex } from '@rsksmart/rsk-utils' +import { remove0x, add0x, bufferToHex } from '@rsksmart/rsk-utils' +import { Interface } from '@ethersproject/abi' -function EventDecoder (abi) { - abi = addSignatureDataToAbi(abi) - - const formatDecoded = (decoded) => { - return add0x(Buffer.isBuffer(decoded) ? bufferToHex(decoded) : decoded.toString(16)) - } +function EventDecoder (abi, logger) { + const contractInterface = new Interface(addSignatureDataToAbi(abi)) const getEventAbi = topics => { topics = [...topics] @@ -21,38 +17,56 @@ function EventDecoder (abi) { return { eventABI, topics } } - const decodeElement = (data, types) => { - let decoded = ethAbi.rawDecode(types, toBuffer(data)) + const formatElement = (type, decoded) => { + if (decoded._isIndexed) return { _isIndexed: true, hash: decoded.hash } + if (decoded._isBigNumber) { + return decoded.toHexString() + } + const res = add0x(Buffer.isBuffer(decoded) ? bufferToHex(decoded) : decoded.toString(16)) + if (type === 'address' || type === 'address[]') return res.toLowerCase() + return res + } + + const encodeElement = (type, decoded) => { if (Array.isArray(decoded)) { - decoded = decoded.map(d => formatDecoded(d)) + decoded = decoded.map(d => formatElement(type, d)) if (decoded.length === 1) decoded = decoded.join() } else { - decoded = formatDecoded(decoded) + decoded = formatElement(type, decoded) } return decoded } - const decodeData = (data, types) => { - let decoded = ethAbi.rawDecode(types, toBuffer(data)) - return decoded.map(d => formatDecoded(d)) - } const decodeLog = log => { - log = Object.assign({}, log) - const { eventABI, topics } = getEventAbi(log.topics) - const { address } = log - if (!eventABI) return log - const { name } = eventABI - const { signature } = getSignatureDataFromAbi(eventABI) - const { inputs } = eventABI - const indexedInputs = inputs.filter(i => i.indexed === true) - let decodedTopics = topics.map((topic, index) => decodeElement(topic, [indexedInputs[index].type])) - const decodedData = decodeData(log.data, inputs.filter(i => i.indexed === false).map(i => i.type)) - const args = [] - for (let input of inputs) { - args.push((input.indexed) ? decodedTopics.shift() : decodedData.shift()) + try { + const { eventFragment, name, args, topic } = contractInterface.parseLog(log) + + const { address } = log + + const parsedArgs = [] + + for (const i in eventFragment.inputs) { + parsedArgs.push( + encodeElement(eventFragment.inputs[i].type, args[i]) + ) + } + + return Object.assign({}, log, { + signature: remove0x(topic), + event: name, + address, + args: parsedArgs, + abi: JSON.parse(eventFragment.format('json')) + }) + } catch (e) { + // temporary fix to avoid ethers "no matching event" error spam + if (!e.message.includes('no matching event')) { + logger.error(e) + } + return log } - return Object.assign(log, { event: name, address, args, abi: eventABI, signature }) } + return Object.freeze({ decodeLog, getEventAbi }) } diff --git a/src/lib/compiled_abi.json b/src/lib/compiled_abi.json index 8af592f..5313c4e 100755 --- a/src/lib/compiled_abi.json +++ b/src/lib/compiled_abi.json @@ -1,31 +1,11 @@ [ - { - "constant": false, - "inputs": [ - { - "name": "recipient", - "type": "address" - } - ], - "name": "transferPrimary", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "transferPrimary(address)", - "signature": "2348238cf135e5fa7570fa30dc67d8f7f40e6d9ebd999f20eb992f9685ee8bed", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, { "constant": true, "inputs": [], "name": "primary", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -45,14 +25,17 @@ "constant": false, "inputs": [ { + "internalType": "contract IERC20", "name": "token", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" } @@ -71,51 +54,51 @@ } }, { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "string" + "internalType": "address", + "name": "recipient", + "type": "address" } ], + "name": "transferPrimary", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "name()", - "signature": "06fdde0383f15d582d1a74511486c9ddf862a882fb7904b3d9fe9b8b8e58a796", + "method": "transferPrimary(address)", + "signature": "2348238cf135e5fa7570fa30dc67d8f7f40e6d9ebd999f20eb992f9685ee8bed", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "spender", - "type": "address" + "internalType": "string", + "name": "name", + "type": "string" }, { - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ + "internalType": "string", + "name": "symbol", + "type": "string" + }, { - "name": "", - "type": "bool" + "internalType": "uint8", + "name": "decimals", + "type": "uint8" } ], "payable": false, "stateMutability": "nonpayable", - "type": "function", + "type": "constructor", "__signatureData": { - "method": "approve(address,uint256)", - "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -123,41 +106,32 @@ }, { "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "totalSupply()", - "signature": "18160ddd7f15c72528c2f94fd8dfe3c8d5aa26e2c50c7d81f4bc7bee8d4b7932", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [], - "name": "decimals", + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "uint8" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "decimals()", - "signature": "313ce567add4d438edf58b94ff345d7d38c45b17dfc0f947988d7819dca364f9", + "method": "allowance(address,address)", + "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", "index": [], "indexed": 0, "eventSignature": null @@ -167,17 +141,20 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "spender", "type": "address" }, { - "name": "addedValue", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "increaseAllowance", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -186,8 +163,8 @@ "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "increaseAllowance(address,uint256)", - "signature": "39509351d3325647dde3fdd3c8b249adfe89ef4f16d76d83768e6df7a5cd81d6", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null @@ -197,6 +174,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -204,6 +182,7 @@ "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -222,19 +201,20 @@ { "constant": true, "inputs": [], - "name": "symbol", + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "string" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "symbol()", - "signature": "95d89b41e2f5f391a79ec54e9d87c79d6e777c63e32c28da95b4e9e4a79250ec", + "method": "decimals()", + "signature": "313ce567add4d438edf58b94ff345d7d38c45b17dfc0f947988d7819dca364f9", "index": [], "indexed": 0, "eventSignature": null @@ -244,10 +224,12 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "spender", "type": "address" }, { + "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } @@ -255,6 +237,7 @@ "name": "decreaseAllowance", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -274,17 +257,20 @@ "constant": false, "inputs": [ { - "name": "recipient", + "internalType": "address", + "name": "spender", "type": "address" }, { - "name": "amount", + "internalType": "uint256", + "name": "addedValue", "type": "uint256" } ], - "name": "transfer", + "name": "increaseAllowance", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -293,59 +279,79 @@ "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transfer(address,uint256)", - "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", + "method": "increaseAllowance(address,uint256)", + "signature": "39509351d3325647dde3fdd3c8b249adfe89ef4f16d76d83768e6df7a5cd81d6", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "name", - "type": "string" - }, - { - "name": "symbol", - "type": "string" + "internalType": "address", + "name": "account", + "type": "address" }, { - "name": "decimals", - "type": "uint8" + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], + "name": "mint", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "mint(address,uint256)", + "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ { - "name": "account", - "type": "address" - }, + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "name()", + "signature": "06fdde0383f15d582d1a74511486c9ddf862a882fb7904b3d9fe9b8b8e58a796", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ { - "name": "amount", - "type": "uint256" + "internalType": "string", + "name": "", + "type": "string" } ], - "name": "mint", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "mint(address,uint256)", - "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", + "method": "symbol()", + "signature": "95d89b41e2f5f391a79ec54e9d87c79d6e777c63e32c28da95b4e9e4a79250ec", "index": [], "indexed": 0, "eventSignature": null @@ -353,29 +359,54 @@ }, { "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "totalSupply()", + "signature": "18160ddd7f15c72528c2f94fd8dfe3c8d5aa26e2c50c7d81f4bc7bee8d4b7932", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "recipient", "type": "address" }, { - "name": "spender", - "type": "address" + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "allowance", + "name": "transfer", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "allowance(address,address)", - "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", + "method": "transfer(address,uint256)", + "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", "index": [], "indexed": 0, "eventSignature": null @@ -385,14 +416,17 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "sender", "type": "address" }, { + "internalType": "address", "name": "recipient", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" } @@ -400,6 +434,7 @@ "name": "transferFrom", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -419,18 +454,19 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "addWhitelisted", + "name": "addWhitelistAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "addWhitelisted(address)", - "signature": "10154bad5f8b58b5821c989aa3a19216f4f0f6a424c9d495316ed99eabc9d113", + "method": "addWhitelistAdmin(address)", + "signature": "7362d9c8efb3b4fda01af82f687b8894972c34de57e88a1ad22687e2bf5986ba", "index": [], "indexed": 0, "eventSignature": null @@ -440,18 +476,19 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "removeWhitelisted", + "name": "addWhitelisted", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "removeWhitelisted(address)", - "signature": "291d954951cd7ba0ec12a5dcf299b5a560d33289ca3ac9705bd27b3d3dd58cc5", + "method": "addWhitelisted(address)", + "signature": "10154bad5f8b58b5821c989aa3a19216f4f0f6a424c9d495316ed99eabc9d113", "index": [], "indexed": 0, "eventSignature": null @@ -461,13 +498,15 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "isWhitelisted", + "name": "isWhitelistAdmin", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -476,45 +515,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "isWhitelisted(address)", - "signature": "3af32abf6dd58f324dd88f0cedc69529dd503406094dc24662635caa70d9a021", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "renounceWhitelistAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "renounceWhitelistAdmin()", - "signature": "4c5a628c0a9c4a8806d71b7d5e87a7de26f71c356aff7925d80a15cbe14f0cbb", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "addWhitelistAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "addWhitelistAdmin(address)", - "signature": "7362d9c8efb3b4fda01af82f687b8894972c34de57e88a1ad22687e2bf5986ba", + "method": "isWhitelistAdmin(address)", + "signature": "bb5f747b7234573d42296873730b7cd00c26493ecd02a4763c67c0c7a025f6a1", "index": [], "indexed": 0, "eventSignature": null @@ -524,13 +526,15 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "isWhitelistAdmin", + "name": "isWhitelisted", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -539,24 +543,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "isWhitelistAdmin(address)", - "signature": "bb5f747b7234573d42296873730b7cd00c26493ecd02a4763c67c0c7a025f6a1", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "renounceWhitelisted", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "renounceWhitelisted()", - "signature": "d6cd9473b95d75ff40cd7a5b8c3bc34d17cdc7c75b5a9c2c4c6744beff129e46", + "method": "isWhitelisted(address)", + "signature": "3af32abf6dd58f324dd88f0cedc69529dd503406094dc24662635caa70d9a021", "index": [], "indexed": 0, "eventSignature": null @@ -579,63 +567,22 @@ } }, { - "constant": true, - "inputs": [], - "name": "rate", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "rate()", - "signature": "2c4e722ec6511e89f25f244e462d7b9552e4a1e9b6043fd124a874a67f5c804f", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [], - "name": "weiRaised", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "weiRaised()", - "signature": "4042b66fe5f2644ad71dd4e339299721a4fb92741a7427e3a9e94931da295cca", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [], - "name": "wallet", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "address", + "name": "account", "type": "address" } ], + "name": "removeWhitelisted", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "wallet()", - "signature": "521eb2736f64b43875f0b44fdc29304541dcc3cd844822ef0697470d90c3e124", + "method": "removeWhitelisted(address)", + "signature": "291d954951cd7ba0ec12a5dcf299b5a560d33289ca3ac9705bd27b3d3dd58cc5", "index": [], "indexed": 0, "eventSignature": null @@ -643,41 +590,31 @@ }, { "constant": false, - "inputs": [ - { - "name": "beneficiary", - "type": "address" - } - ], - "name": "buyTokens", + "inputs": [], + "name": "renounceWhitelistAdmin", "outputs": [], - "payable": true, - "stateMutability": "payable", + "payable": false, + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "buyTokens(address)", - "signature": "ec8ac4d8ebf67e3f8d982a81442192b39118de75f74dd3987cc13070ca1c53e0", + "method": "renounceWhitelistAdmin()", + "signature": "4c5a628c0a9c4a8806d71b7d5e87a7de26f71c356aff7925d80a15cbe14f0cbb", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "token", - "outputs": [ - { - "name": "", - "type": "address" - } - ], + "name": "renounceWhitelisted", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "token()", - "signature": "fc0c546a8dce9d6e9b97c086302918c9106d97a17809f6bcacfe02124763cb39", + "method": "renounceWhitelisted()", + "signature": "d6cd9473b95d75ff40cd7a5b8c3bc34d17cdc7c75b5a9c2c4c6744beff129e46", "index": [], "indexed": 0, "eventSignature": null @@ -686,14 +623,17 @@ { "inputs": [ { + "internalType": "uint256", "name": "_rate", "type": "uint256" }, { + "internalType": "address payable", "name": "_wallet", "type": "address" }, { + "internalType": "contract IERC20", "name": "_token", "type": "address" } @@ -713,18 +653,19 @@ "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "beneficiary", "type": "address" } ], - "name": "removeWhitelistAdmin", + "name": "buyTokens", "outputs": [], - "payable": false, - "stateMutability": "nonpayable", + "payable": true, + "stateMutability": "payable", "type": "function", "__signatureData": { - "method": "removeWhitelistAdmin(address)", - "signature": "6897e9747da0ffb9f264b876f5c2b2227ac56f9fdaa6c5d73f8a8ad061690be5", + "method": "buyTokens(address)", + "signature": "ec8ac4d8ebf67e3f8d982a81442192b39118de75f74dd3987cc13070ca1c53e0", "index": [], "indexed": 0, "eventSignature": null @@ -733,43 +674,64 @@ { "constant": true, "inputs": [], - "name": "onlyWhitelistAdminMock", - "outputs": [], + "name": "rate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "onlyWhitelistAdminMock()", - "signature": "564c74a37341f8fc0183d333b61f1340909400bf0ae5f30577d4b88b3da10175", + "method": "rate()", + "signature": "2c4e722ec6511e89f25f244e462d7b9552e4a1e9b6043fd124a874a67f5c804f", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": true, "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "view", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "token()", + "signature": "fc0c546a8dce9d6e9b97c086302918c9106d97a17809f6bcacfe02124763cb39", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [], - "name": "renounceOwnership", - "outputs": [], + "name": "wallet", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "renounceOwnership()", - "signature": "715018a616b5f2044428f6fadb7deef4ce9ca76ef60ea57978964ad137bbe7ae", + "method": "wallet()", + "signature": "521eb2736f64b43875f0b44fdc29304541dcc3cd844822ef0697470d90c3e124", "index": [], "indexed": 0, "eventSignature": null @@ -778,19 +740,20 @@ { "constant": true, "inputs": [], - "name": "owner", + "name": "weiRaised", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "owner()", - "signature": "8da5cb5b36e7f68c1d2e56001220cdbdd3ba2616072f718acfda4a06441a807d", + "method": "weiRaised()", + "signature": "4042b66fe5f2644ad71dd4e339299721a4fb92741a7427e3a9e94931da295cca", "index": [], "indexed": 0, "eventSignature": null @@ -799,19 +762,14 @@ { "constant": true, "inputs": [], - "name": "isOwner", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "name": "onlyWhitelistAdminMock", + "outputs": [], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "isOwner()", - "signature": "8f32d59b339b0965093e9a53b00f4400c41d72f026df85c0beaa1d49d97802ef", + "method": "onlyWhitelistAdminMock()", + "signature": "564c74a37341f8fc0183d333b61f1340909400bf0ae5f30577d4b88b3da10175", "index": [], "indexed": 0, "eventSignature": null @@ -821,18 +779,32 @@ "constant": false, "inputs": [ { - "name": "newOwner", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "transferOwnership", + "name": "removeWhitelistAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transferOwnership(address)", - "signature": "f2fde38b092330466c661fc723d5289b90272a3e580e3187d1d7ef788506c557", + "method": "removeWhitelistAdmin(address)", + "signature": "6897e9747da0ffb9f264b876f5c2b2227ac56f9fdaa6c5d73f8a8ad061690be5", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -841,22 +813,27 @@ { "inputs": [ { + "internalType": "address", "name": "beneficiary", "type": "address" }, { + "internalType": "uint256", "name": "start", "type": "uint256" }, { + "internalType": "uint256", "name": "cliffDuration", "type": "uint256" }, { + "internalType": "uint256", "name": "duration", "type": "uint256" }, { + "internalType": "bool", "name": "revocable", "type": "bool" } @@ -878,6 +855,7 @@ "name": "beneficiary", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -899,6 +877,7 @@ "name": "cliff", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -917,9 +896,10 @@ { "constant": true, "inputs": [], - "name": "start", + "name": "duration", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -928,8 +908,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "start()", - "signature": "be9a655586dceb82dfa0af992b5d8ae7fa45053cb7fd6f141f541da7572978c7", + "method": "duration()", + "signature": "0fb5a6b40d15bfee72e58fd4a3fbc0824854616197205c3f48946b53286fd328", "index": [], "indexed": 0, "eventSignature": null @@ -938,19 +918,20 @@ { "constant": true, "inputs": [], - "name": "duration", + "name": "isOwner", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "duration()", - "signature": "0fb5a6b40d15bfee72e58fd4a3fbc0824854616197205c3f48946b53286fd328", + "method": "isOwner()", + "signature": "8f32d59b339b0965093e9a53b00f4400c41d72f026df85c0beaa1d49d97802ef", "index": [], "indexed": 0, "eventSignature": null @@ -959,20 +940,43 @@ { "constant": true, "inputs": [], - "name": "revocable", + "name": "owner", "outputs": [ { + "internalType": "address", "name": "", - "type": "bool" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "revocable()", - "signature": "872a78104060b2611ad651114462af633b90f4846ddf96ef452cc3abaadbef00", - "index": [], + "method": "owner()", + "signature": "8da5cb5b36e7f68c1d2e56001220cdbdd3ba2616072f718acfda4a06441a807d", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "token", + "type": "address" + } + ], + "name": "release", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "release(address)", + "signature": "19165587d81f9d3d0d57225d38f5bb5163beb87e4b5fafa3a2f80c53398d9874", + "index": [], "indexed": 0, "eventSignature": null } @@ -981,6 +985,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "token", "type": "address" } @@ -988,6 +993,7 @@ "name": "released", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1003,10 +1009,71 @@ "eventSignature": null } }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "renounceOwnership()", + "signature": "715018a616b5f2044428f6fadb7deef4ce9ca76ef60ea57978964ad137bbe7ae", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "revocable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "revocable()", + "signature": "872a78104060b2611ad651114462af633b90f4846ddf96ef452cc3abaadbef00", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "token", + "type": "address" + } + ], + "name": "revoke", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "revoke(address)", + "signature": "74a8f1037ce3c16c732a634b5b87f893f40cae0feab5bbe0a6e4abb1ec12a744", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": true, "inputs": [ { + "internalType": "address", "name": "token", "type": "address" } @@ -1014,6 +1081,7 @@ "name": "revoked", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -1030,21 +1098,22 @@ } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "start", + "outputs": [ { - "name": "token", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "release", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "release(address)", - "signature": "19165587d81f9d3d0d57225d38f5bb5163beb87e4b5fafa3a2f80c53398d9874", + "method": "start()", + "signature": "be9a655586dceb82dfa0af992b5d8ae7fa45053cb7fd6f141f541da7572978c7", "index": [], "indexed": 0, "eventSignature": null @@ -1054,18 +1123,19 @@ "constant": false, "inputs": [ { - "name": "token", + "internalType": "address", + "name": "newOwner", "type": "address" } ], - "name": "revoke", + "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "revoke(address)", - "signature": "74a8f1037ce3c16c732a634b5b87f893f40cae0feab5bbe0a6e4abb1ec12a744", + "method": "transferOwnership(address)", + "signature": "f2fde38b092330466c661fc723d5289b90272a3e580e3187d1d7ef788506c557", "index": [], "indexed": 0, "eventSignature": null @@ -1074,14 +1144,17 @@ { "inputs": [ { + "internalType": "contract IERC20", "name": "token", "type": "address" }, { + "internalType": "address", "name": "beneficiary", "type": "address" }, { + "internalType": "uint256", "name": "releaseTime", "type": "uint256" } @@ -1097,27 +1170,6 @@ "eventSignature": null } }, - { - "constant": true, - "inputs": [], - "name": "releaseTime", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "releaseTime()", - "signature": "b91d4001c4daa83d4f7294c01ce39818a6bbd35ddb92d3c9ad5b4c783ef2dd86", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, { "constant": false, "inputs": [], @@ -1137,40 +1189,59 @@ { "constant": true, "inputs": [], - "name": "hasClosed", + "name": "releaseTime", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "hasClosed()", - "signature": "1515bc2ba740d068ff684b5917a9ff7f391334e91f6e21d330213abf2fcf5997", + "method": "releaseTime()", + "signature": "b91d4001c4daa83d4f7294c01ce39818a6bbd35ddb92d3c9ad5b4c783ef2dd86", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "isOpen", - "outputs": [ + "inputs": [ { - "name": "", - "type": "bool" + "internalType": "uint256", + "name": "openingTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closingTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "contract IERC20", + "name": "token", + "type": "address" } ], "payable": false, - "stateMutability": "view", - "type": "function", + "stateMutability": "nonpayable", + "type": "constructor", "__signatureData": { - "method": "isOpen()", - "signature": "47535d7bce5fe30a985aaa3abea3945f910984e480fd44a01ec881dd75a69c53", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -1182,6 +1253,7 @@ "name": "closingTime", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1197,77 +1269,89 @@ "eventSignature": null } }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "closingTime", + "type": "uint256" + } + ], + "name": "extendTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "extendTime(uint256)", + "signature": "a27aebbc8e1d8000e670bd0d5c45d68c88e22e90f018df5744507d0702e1d789", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": true, "inputs": [], - "name": "openingTime", + "name": "hasClosed", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "openingTime()", - "signature": "b7a8807ce18354d14128599c1de68278dae2b3f112ab7835c14880c3d10df567", + "method": "hasClosed()", + "signature": "1515bc2ba740d068ff684b5917a9ff7f391334e91f6e21d330213abf2fcf5997", "index": [], "indexed": 0, "eventSignature": null } }, { - "inputs": [ - { - "name": "openingTime", - "type": "uint256" - }, - { - "name": "closingTime", - "type": "uint256" - }, - { - "name": "rate", - "type": "uint256" - }, - { - "name": "wallet", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "isOpen", + "outputs": [ { - "name": "token", - "type": "address" + "internalType": "bool", + "name": "", + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "view", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "isOpen()", + "signature": "47535d7bce5fe30a985aaa3abea3945f910984e480fd44a01ec881dd75a69c53", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "openingTime", + "outputs": [ { - "name": "closingTime", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "extendTime", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "extendTime(uint256)", - "signature": "a27aebbc8e1d8000e670bd0d5c45d68c88e22e90f018df5744507d0702e1d789", + "method": "openingTime()", + "signature": "b7a8807ce18354d14128599c1de68278dae2b3f112ab7835c14880c3d10df567", "index": [], "indexed": 0, "eventSignature": null @@ -1276,10 +1360,12 @@ { "inputs": [ { + "internalType": "uint256", "name": "openingTime", "type": "uint256" }, { + "internalType": "uint256", "name": "closingTime", "type": "uint256" } @@ -1301,6 +1387,7 @@ "name": "INTERFACE_ID_ERC165", "outputs": [ { + "internalType": "bytes4", "name": "", "type": "bytes4" } @@ -1320,6 +1407,7 @@ "constant": true, "inputs": [ { + "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } @@ -1327,6 +1415,7 @@ "name": "supportsInterface", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -1346,6 +1435,7 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "value", "type": "uint256" } @@ -1353,6 +1443,7 @@ "name": "fromUint256", "outputs": [ { + "internalType": "string", "name": "", "type": "string" } @@ -1369,63 +1460,66 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "isSigner", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "name": "addSigner", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "isSigner(address)", - "signature": "7df73e27995ff52c325122d47c8dcb5955711696cc862e8e9fe732521a2ca222", + "method": "addSigner(address)", + "signature": "eb12d61ed0d380b10fb1d0a0a39f088010b2fbd5ce83f19ba4758b13c0558d17", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [], - "name": "renounceSigner", - "outputs": [], + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isSigner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "renounceSigner()", - "signature": "e5c8b03d019369869471d1933fd14f2ab233bc1095eccc08bb7dbbb204604fe4", + "method": "isSigner(address)", + "signature": "7df73e27995ff52c325122d47c8dcb5955711696cc862e8e9fe732521a2ca222", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "addSigner", + "constant": true, + "inputs": [], + "name": "onlySignerMock", "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "addSigner(address)", - "signature": "eb12d61ed0d380b10fb1d0a0a39f088010b2fbd5ce83f19ba4758b13c0558d17", + "method": "onlySignerMock()", + "signature": "b44e2ab953337bf642122bbdd26b6a4c6796c98b1f047441f438bb4dd15dbc9d", "index": [], "indexed": 0, "eventSignature": null @@ -1435,6 +1529,7 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -1453,16 +1548,16 @@ } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "onlySignerMock", + "name": "renounceSigner", "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "onlySignerMock()", - "signature": "b44e2ab953337bf642122bbdd26b6a4c6796c98b1f047441f438bb4dd15dbc9d", + "method": "renounceSigner()", + "signature": "e5c8b03d019369869471d1933fd14f2ab233bc1095eccc08bb7dbbb204604fe4", "index": [], "indexed": 0, "eventSignature": null @@ -1472,17 +1567,20 @@ "constant": true, "inputs": [ { + "internalType": "int256", "name": "a", "type": "int256" }, { + "internalType": "int256", "name": "b", "type": "int256" } ], - "name": "mul", + "name": "add", "outputs": [ { + "internalType": "int256", "name": "", "type": "int256" } @@ -1491,8 +1589,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "mul(int256,int256)", - "signature": "bbe93d91b114db244bee40cafeeaae72456bbb2f92985a1729ce3d574fc8ef0e", + "method": "add(int256,int256)", + "signature": "a5f3c23ba07e6c3b914d9273b1ef72b2e6620dbfe328f76b4725526445930fc9", "index": [], "indexed": 0, "eventSignature": null @@ -1502,10 +1600,12 @@ "constant": true, "inputs": [ { + "internalType": "int256", "name": "a", "type": "int256" }, { + "internalType": "int256", "name": "b", "type": "int256" } @@ -1513,6 +1613,7 @@ "name": "div", "outputs": [ { + "internalType": "int256", "name": "", "type": "int256" } @@ -1532,17 +1633,20 @@ "constant": true, "inputs": [ { + "internalType": "int256", "name": "a", "type": "int256" }, { + "internalType": "int256", "name": "b", "type": "int256" } ], - "name": "sub", + "name": "mul", "outputs": [ { + "internalType": "int256", "name": "", "type": "int256" } @@ -1551,8 +1655,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "sub(int256,int256)", - "signature": "adefc37b172bf21b20e90b531fd12a315745366e9f3932bdb3ed5a4c002e45e0", + "method": "mul(int256,int256)", + "signature": "bbe93d91b114db244bee40cafeeaae72456bbb2f92985a1729ce3d574fc8ef0e", "index": [], "indexed": 0, "eventSignature": null @@ -1562,17 +1666,20 @@ "constant": true, "inputs": [ { + "internalType": "int256", "name": "a", "type": "int256" }, { + "internalType": "int256", "name": "b", "type": "int256" } ], - "name": "add", + "name": "sub", "outputs": [ { + "internalType": "int256", "name": "", "type": "int256" } @@ -1581,8 +1688,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "add(int256,int256)", - "signature": "a5f3c23ba07e6c3b914d9273b1ef72b2e6620dbfe328f76b4725526445930fc9", + "method": "sub(int256,int256)", + "signature": "adefc37b172bf21b20e90b531fd12a315745366e9f3932bdb3ed5a4c002e45e0", "index": [], "indexed": 0, "eventSignature": null @@ -1608,27 +1715,47 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" - }, + } + ], + "name": "addMinter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "addMinter(address)", + "signature": "983b2d560bdd6b422e26073d9516b4646e2f1008810070c0d32b3a79aaa7bfcb", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ { - "name": "amount", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "name": "mint", + "name": "isMinter", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "mint(address,uint256)", - "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", + "method": "isMinter(address)", + "signature": "aa271e1a9a41b51f5b4e2e4ce717c974174719a5ddc12cee839f0eabbdf42748", "index": [], "indexed": 0, "eventSignature": null @@ -1638,18 +1765,30 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "addMinter", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "addMinter(address)", - "signature": "983b2d560bdd6b422e26073d9516b4646e2f1008810070c0d32b3a79aaa7bfcb", + "method": "mint(address,uint256)", + "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", "index": [], "indexed": 0, "eventSignature": null @@ -1672,26 +1811,49 @@ } }, { - "constant": true, "inputs": [ { - "name": "account", + "internalType": "uint256", + "name": "openingTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closingTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", "type": "address" - } - ], - "name": "isMinter", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "uint256", + "name": "cap", + "type": "uint256" + }, + { + "internalType": "contract ERC20Mintable", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "goal", + "type": "uint256" } ], "payable": false, - "stateMutability": "view", - "type": "function", + "stateMutability": "nonpayable", + "type": "constructor", "__signatureData": { - "method": "isMinter(address)", - "signature": "aa271e1a9a41b51f5b4e2e4ce717c974174719a5ddc12cee839f0eabbdf42748", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -1703,6 +1865,7 @@ "name": "cap", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1721,19 +1884,42 @@ { "constant": true, "inputs": [], - "name": "goal", + "name": "capReached", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "goal()", - "signature": "40193883b14c14dda7eef4dec651b30d3485ba1fdc9225dd408d696a03be91a4", + "method": "capReached()", + "signature": "4f93594559fed5d595e1474bcf0c52eb70b3230bf9fcff5ce2aa0a1df1c2fc9c", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "refundee", + "type": "address" + } + ], + "name": "claimRefund", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "claimRefund(address)", + "signature": "bffa55d5aa2ff90554572b1dce591d02b722be50bcfd4c7c58c507d2f080b61b", "index": [], "indexed": 0, "eventSignature": null @@ -1758,9 +1944,10 @@ { "constant": true, "inputs": [], - "name": "capReached", + "name": "finalized", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -1769,8 +1956,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "capReached()", - "signature": "4f93594559fed5d595e1474bcf0c52eb70b3230bf9fcff5ce2aa0a1df1c2fc9c", + "method": "finalized()", + "signature": "b3f05b97fdf124cf473a8bb0c51089e7f531c2ee86e7dd8dce89ac30a488f0ab", "index": [], "indexed": 0, "eventSignature": null @@ -1779,19 +1966,20 @@ { "constant": true, "inputs": [], - "name": "goalReached", + "name": "goal", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "goalReached()", - "signature": "7d3d65229eb2e3f47f0aeb7b8f366daefbe13b196c607159fd4cde7eaabfdd7e", + "method": "goal()", + "signature": "40193883b14c14dda7eef4dec651b30d3485ba1fdc9225dd408d696a03be91a4", "index": [], "indexed": 0, "eventSignature": null @@ -1800,9 +1988,10 @@ { "constant": true, "inputs": [], - "name": "finalized", + "name": "goalReached", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -1811,71 +2000,74 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "finalized()", - "signature": "b3f05b97fdf124cf473a8bb0c51089e7f531c2ee86e7dd8dce89ac30a488f0ab", + "method": "goalReached()", + "signature": "7d3d65229eb2e3f47f0aeb7b8f366daefbe13b196c607159fd4cde7eaabfdd7e", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "refundee", - "type": "address" + "internalType": "uint256", + "name": "a", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "b", + "type": "uint256" + } + ], + "name": "add", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "claimRefund", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "claimRefund(address)", - "signature": "bffa55d5aa2ff90554572b1dce591d02b722be50bcfd4c7c58c507d2f080b61b", + "method": "add(uint256,uint256)", + "signature": "771602f7f25ce61b0d4f2430f7e4789bfd9e6e4029613fda01b7f2c89fbf44ad", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": true, "inputs": [ { - "name": "openingTime", + "internalType": "uint256", + "name": "a", "type": "uint256" }, { - "name": "closingTime", + "internalType": "uint256", + "name": "b", "type": "uint256" - }, + } + ], + "name": "div", + "outputs": [ { - "name": "rate", - "type": "uint256" - }, - { - "name": "wallet", - "type": "address" - }, - { - "name": "cap", - "type": "uint256" - }, - { - "name": "token", - "type": "address" - }, - { - "name": "goal", + "internalType": "uint256", + "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "pure", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "div(uint256,uint256)", + "signature": "a391c15b5e25fe2c4f540fe83ee2e810afc45df8c9095b3c54843078d5162044", "index": [], "indexed": 0, "eventSignature": null @@ -1885,17 +2077,20 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } ], - "name": "mul", + "name": "mod", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1904,8 +2099,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "mul(uint256,uint256)", - "signature": "c8a4ac9cf5aac391a07a9bdc2c522f2e824978425be99588f97394814d127214", + "method": "mod(uint256,uint256)", + "signature": "f43f523a11282709abfcd65af86db2cfddca6ecd71f78e335355cc7cddd8ef2c", "index": [], "indexed": 0, "eventSignature": null @@ -1915,17 +2110,20 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } ], - "name": "div", + "name": "mul", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1934,8 +2132,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "div(uint256,uint256)", - "signature": "a391c15b5e25fe2c4f540fe83ee2e810afc45df8c9095b3c54843078d5162044", + "method": "mul(uint256,uint256)", + "signature": "c8a4ac9cf5aac391a07a9bdc2c522f2e824978425be99588f97394814d127214", "index": [], "indexed": 0, "eventSignature": null @@ -1945,10 +2143,12 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } @@ -1956,6 +2156,7 @@ "name": "sub", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -1972,78 +2173,129 @@ } }, { - "constant": true, "inputs": [ { - "name": "a", - "type": "uint256" - }, - { - "name": "b", - "type": "uint256" + "internalType": "contract IERC20", + "name": "token", + "type": "address" } ], - "name": "add", + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "pure", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "add(uint256,uint256)", - "signature": "771602f7f25ce61b0d4f2430f7e4789bfd9e6e4029613fda01b7f2c89fbf44ad", + "method": "allowance()", + "signature": "de242ff44eaf9672978cebc9ed1e790957e7916a8047ae5cbd0d7d313ee83b98", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "a", + "internalType": "uint256", + "name": "amount", "type": "uint256" - }, + } + ], + "name": "approve", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "approve(uint256)", + "signature": "b759f954a973cc61187fb2d8ad2671610ddf40018143445f877381866da14ba2", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ { - "name": "b", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "mod", - "outputs": [ + "name": "decreaseAllowance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "decreaseAllowance(uint256)", + "signature": "10bad4cf682bbcd21585dce2167d59122587579177e2aeddf05870c0f83ca0aa", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ { - "name": "", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], + "name": "increaseAllowance", + "outputs": [], "payable": false, - "stateMutability": "pure", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "mod(uint256,uint256)", - "signature": "f43f523a11282709abfcd65af86db2cfddca6ecd71f78e335355cc7cddd8ef2c", + "method": "increaseAllowance(uint256)", + "signature": "11e330b2f7a89b9245ad53c2cf8b73418c0c35e979c862a29e386a29b7f376d2", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "token", - "type": "address" + "internalType": "uint256", + "name": "allowance_", + "type": "uint256" } ], + "name": "setAllowance", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "setAllowance(uint256)", + "signature": "3ba93f263461e1faf95940bf8b85a591b097726d6b4f1a2f81673df4474ad03b", "index": [], "indexed": 0, "eventSignature": null @@ -2082,126 +2334,140 @@ } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "amount", + "internalType": "uint256", + "name": "a", "type": "uint256" } ], - "name": "approve", - "outputs": [], + "name": "toUint128", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "approve(uint256)", - "signature": "b759f954a973cc61187fb2d8ad2671610ddf40018143445f877381866da14ba2", + "method": "toUint128(uint256)", + "signature": "809fdd33ec59cbc70dd4d4dc44b6cd3d3c04ced41d7835a8ff25b79f25b45fce", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "amount", + "internalType": "uint256", + "name": "a", "type": "uint256" } ], - "name": "increaseAllowance", - "outputs": [], + "name": "toUint16", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "increaseAllowance(uint256)", - "signature": "11e330b2f7a89b9245ad53c2cf8b73418c0c35e979c862a29e386a29b7f376d2", + "method": "toUint16(uint256)", + "signature": "9374068f97bd6cb9d0c0b55b775b200664fefe764a60946aece3b31d1afa2cde", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "amount", + "internalType": "uint256", + "name": "a", "type": "uint256" } ], - "name": "decreaseAllowance", - "outputs": [], + "name": "toUint32", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "decreaseAllowance(uint256)", - "signature": "10bad4cf682bbcd21585dce2167d59122587579177e2aeddf05870c0f83ca0aa", + "method": "toUint32(uint256)", + "signature": "c8193255f4cc629b6c8496a08fb302fe8c9a7459975dad3c6accbb7ff35f4395", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "allowance_", + "internalType": "uint256", + "name": "a", "type": "uint256" } ], - "name": "setAllowance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "setAllowance(uint256)", - "signature": "3ba93f263461e1faf95940bf8b85a591b097726d6b4f1a2f81673df4474ad03b", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [], - "name": "allowance", + "name": "toUint64", "outputs": [ { + "internalType": "uint64", "name": "", - "type": "uint256" + "type": "uint64" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "allowance()", - "signature": "de242ff44eaf9672978cebc9ed1e790957e7916a8047ae5cbd0d7d313ee83b98", + "method": "toUint64(uint256)", + "signature": "2665fad0bf4103f8162e9d4ab2c9e8daef60477cc969473217d6c2362f69d8a5", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "account", - "type": "address" + "internalType": "uint256", + "name": "a", + "type": "uint256" + } + ], + "name": "toUint8", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" } ], - "name": "add", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "add(address)", - "signature": "0a3b0a4f4c6e53dce3dbcad5614cb2ba3a0fa7326d03c5d64b4fa2d565492737", + "method": "toUint8(uint256)", + "signature": "0cc4681ea387e97ba648bd82290c2b0a6115fc05a9383ac3593426a270ece6ad", "index": [], "indexed": 0, "eventSignature": null @@ -2211,18 +2477,19 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "remove", + "name": "add", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "remove(address)", - "signature": "29092d0ea9bcb5211809a4aaa5b0ebb94e6bef61bfe589f02c6c6fb1b193ffab", + "method": "add(address)", + "signature": "0a3b0a4f4c6e53dce3dbcad5614cb2ba3a0fa7326d03c5d64b4fa2d565492737", "index": [], "indexed": 0, "eventSignature": null @@ -2232,6 +2499,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -2239,6 +2507,7 @@ "name": "has", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -2258,18 +2527,19 @@ "constant": false, "inputs": [ { - "name": "beneficiary", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "withdrawTokens", + "name": "remove", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdrawTokens(address)", - "signature": "49df728c0ca6a6b5e99c72209a641756a92fc07ea31ddd473da43c9e1ee22167", + "method": "remove(address)", + "signature": "29092d0ea9bcb5211809a4aaa5b0ebb94e6bef61bfe589f02c6c6fb1b193ffab", "index": [], "indexed": 0, "eventSignature": null @@ -2278,26 +2548,32 @@ { "inputs": [ { + "internalType": "uint256", "name": "openingTime", "type": "uint256" }, { + "internalType": "uint256", "name": "closingTime", "type": "uint256" }, { + "internalType": "uint256", "name": "rate", "type": "uint256" }, { + "internalType": "address payable", "name": "wallet", "type": "address" }, { + "internalType": "contract IERC20", "name": "token", "type": "address" }, { + "internalType": "uint256", "name": "goal", "type": "uint256" } @@ -2314,60 +2590,114 @@ } }, { + "constant": false, "inputs": [ { - "name": "goal", - "type": "uint256" + "internalType": "address", + "name": "beneficiary", + "type": "address" } ], + "name": "withdrawTokens", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "withdrawTokens(address)", + "signature": "49df728c0ca6a6b5e99c72209a641756a92fc07ea31ddd473da43c9e1ee22167", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "payee", - "type": "address" + "internalType": "uint256", + "name": "goal", + "type": "uint256" } ], - "name": "withdraw", - "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", + "type": "constructor", "__signatureData": { - "method": "withdraw(address)", - "signature": "51cff8d9250863e8fc5cd0539fa8c8d5a5201deba4fa87f6350c7586c06e5914", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "payee", + "internalType": "address payable", + "name": "beneficiary", "type": "address" } ], - "name": "withdrawWithGas", + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "beneficiaryWithdraw", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdrawWithGas(address)", - "signature": "6809691ae9e5a0f8c57d249bed22874ecd3174786e9025089a9709509288d78a", + "method": "beneficiaryWithdraw()", + "signature": "9af6549a65e0ba7ce4b0aee44adb9e1d42df7600cf590db392d719ba752944d1", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "close", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "close()", + "signature": "43d726d69bfad97630bc12e80b1a43c44fecfddf089a314709482b2b0132f662", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "refundee", + "type": "address" + } + ], + "name": "deposit", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function", + "__signatureData": { + "method": "deposit(address)", + "signature": "f340fa01ba70ec28a2fc9deca0888a496a2ab4c153fdd320f62dca6e72f8cbff", "index": [], "indexed": 0, "eventSignature": null @@ -2377,6 +2707,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "payee", "type": "address" } @@ -2384,6 +2715,7 @@ "name": "depositsOf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2400,18 +2732,16 @@ } }, { - "inputs": [ - { - "name": "beneficiary", - "type": "address" - } - ], + "constant": false, + "inputs": [], + "name": "enableRefunds", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "enableRefunds()", + "signature": "8c52dc41c32b5cdcd11391ff8fe832366bb985c7743bb1d159489ed533d18151", "index": [], "indexed": 0, "eventSignature": null @@ -2423,6 +2753,7 @@ "name": "state", "outputs": [ { + "internalType": "enum RefundEscrow.State", "name": "", "type": "uint8" } @@ -2442,50 +2773,19 @@ "constant": false, "inputs": [ { - "name": "refundee", + "internalType": "address payable", + "name": "payee", "type": "address" } ], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", - "__signatureData": { - "method": "deposit(address)", - "signature": "f340fa01ba70ec28a2fc9deca0888a496a2ab4c153fdd320f62dca6e72f8cbff", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "close", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "close()", - "signature": "43d726d69bfad97630bc12e80b1a43c44fecfddf089a314709482b2b0132f662", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "enableRefunds", + "name": "withdraw", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "enableRefunds()", - "signature": "8c52dc41c32b5cdcd11391ff8fe832366bb985c7743bb1d159489ed533d18151", + "method": "withdraw(address)", + "signature": "51cff8d9250863e8fc5cd0539fa8c8d5a5201deba4fa87f6350c7586c06e5914", "index": [], "indexed": 0, "eventSignature": null @@ -2493,15 +2793,21 @@ }, { "constant": false, - "inputs": [], - "name": "beneficiaryWithdraw", + "inputs": [ + { + "internalType": "address payable", + "name": "payee", + "type": "address" + } + ], + "name": "withdrawWithGas", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "beneficiaryWithdraw()", - "signature": "9af6549a65e0ba7ce4b0aee44adb9e1d42df7600cf590db392d719ba752944d1", + "method": "withdrawWithGas(address)", + "signature": "6809691ae9e5a0f8c57d249bed22874ecd3174786e9025089a9709509288d78a", "index": [], "indexed": 0, "eventSignature": null @@ -2511,6 +2817,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -2518,6 +2825,7 @@ "name": "withdrawalAllowed", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -2534,21 +2842,16 @@ } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "counter", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], + "name": "callback", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "counter()", - "signature": "61bc221a8a81ed8dcf68fb79e95091717f0287b80c647d460792d4a6fa2e52eb", + "method": "callback()", + "signature": "083b2732f78169bfaad6b407fa338cc97d697ed69d3915a18239cc111d51a402", "index": [], "indexed": 0, "eventSignature": null @@ -2556,15 +2859,21 @@ }, { "constant": false, - "inputs": [], - "name": "callback", + "inputs": [ + { + "internalType": "contract ReentrancyAttack", + "name": "attacker", + "type": "address" + } + ], + "name": "countAndCall", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "callback()", - "signature": "083b2732f78169bfaad6b407fa338cc97d697ed69d3915a18239cc111d51a402", + "method": "countAndCall(address)", + "signature": "b672ad8b8bf1e348aeb6a8ae25066364f905dde7277bbf922f19de877bbcbcfd", "index": [], "indexed": 0, "eventSignature": null @@ -2574,6 +2883,7 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "n", "type": "uint256" } @@ -2595,6 +2905,7 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "n", "type": "uint256" } @@ -2613,21 +2924,22 @@ } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "counter", + "outputs": [ { - "name": "attacker", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "countAndCall", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "countAndCall(address)", - "signature": "b672ad8b8bf1e348aeb6a8ae25066364f905dde7277bbf922f19de877bbcbcfd", + "method": "counter()", + "signature": "61bc221a8a81ed8dcf68fb79e95091717f0287b80c647d460792d4a6fa2e52eb", "index": [], "indexed": 0, "eventSignature": null @@ -2637,6 +2949,7 @@ "constant": false, "inputs": [ { + "internalType": "bytes4", "name": "data", "type": "bytes4" } @@ -2655,21 +2968,13 @@ } }, { - "constant": false, - "inputs": [ - { - "name": "payee", - "type": "address" - } - ], - "name": "withdrawPayments", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", + "inputs": [], + "payable": true, + "stateMutability": "payable", + "type": "constructor", "__signatureData": { - "method": "withdrawPayments(address)", - "signature": "31b3eb94bf3cb27e4befc6a7d368e588019d82d31d1e29f0cbf0300ba0ae9e2e", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -2679,18 +2984,24 @@ "constant": false, "inputs": [ { - "name": "payee", + "internalType": "address", + "name": "dest", "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "withdrawPaymentsWithGas", + "name": "callTransfer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdrawPaymentsWithGas(address)", - "signature": "653cfa5902f28be1cc0010a15dc0e48b4dbbbdd8d06323ede1836ba371423d1a", + "method": "callTransfer(address,uint256)", + "signature": "d444099120fe924eee0b46151366fd5c5b586714e3776ad6423f20986508bb7a", "index": [], "indexed": 0, "eventSignature": null @@ -2700,6 +3011,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "dest", "type": "address" } @@ -2707,6 +3019,7 @@ "name": "payments", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2723,13 +3036,22 @@ } }, { - "inputs": [], - "payable": true, - "stateMutability": "payable", - "type": "constructor", + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "payee", + "type": "address" + } + ], + "name": "withdrawPayments", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "withdrawPayments(address)", + "signature": "31b3eb94bf3cb27e4befc6a7d368e588019d82d31d1e29f0cbf0300ba0ae9e2e", "index": [], "indexed": 0, "eventSignature": null @@ -2739,22 +3061,19 @@ "constant": false, "inputs": [ { - "name": "dest", + "internalType": "address payable", + "name": "payee", "type": "address" - }, - { - "name": "amount", - "type": "uint256" } ], - "name": "callTransfer", + "name": "withdrawPaymentsWithGas", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "callTransfer(address,uint256)", - "signature": "d444099120fe924eee0b46151366fd5c5b586714e3776ad6423f20986508bb7a", + "method": "withdrawPaymentsWithGas(address)", + "signature": "653cfa5902f28be1cc0010a15dc0e48b4dbbbdd8d06323ede1836ba371423d1a", "index": [], "indexed": 0, "eventSignature": null @@ -2763,10 +3082,12 @@ { "inputs": [ { + "internalType": "address[]", "name": "payees", "type": "address[]" }, { + "internalType": "uint256[]", "name": "shares", "type": "uint256[]" } @@ -2784,41 +3105,49 @@ }, { "constant": true, - "inputs": [], - "name": "totalShares", + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "payee", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "totalShares()", - "signature": "3a98ef39d75a0463a589a77e7570097b7e407deab0b5678402f964703022acc1", + "method": "payee(uint256)", + "signature": "8b83209b99041e6da916f8608f0e4b26e544903e9cccd82f1e4d56d4b000973f", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "totalReleased", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address payable", + "name": "account", + "type": "address" } ], + "name": "release", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "totalReleased()", - "signature": "e33b7de3b4be2fc8b13374ba49c74d26662811d0233a4d730a02537c6f69e3d2", + "method": "release(address)", + "signature": "19165587d81f9d3d0d57225d38f5bb5163beb87e4b5fafa3a2f80c53398d9874", "index": [], "indexed": 0, "eventSignature": null @@ -2828,13 +3157,15 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "shares", + "name": "released", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2843,8 +3174,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "shares(address)", - "signature": "ce7c2ac2babd16f4d8c518abdcb99ed8e1402512d3d522f56911309564fde112", + "method": "released(address)", + "signature": "9852595c0fbd961d727982297e4c952a54c25835b2c098f8db439cef15df7ced", "index": [], "indexed": 0, "eventSignature": null @@ -2854,13 +3185,15 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "released", + "name": "shares", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -2869,8 +3202,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "released(address)", - "signature": "9852595c0fbd961d727982297e4c952a54c25835b2c098f8db439cef15df7ced", + "method": "shares(address)", + "signature": "ce7c2ac2babd16f4d8c518abdcb99ed8e1402512d3d522f56911309564fde112", "index": [], "indexed": 0, "eventSignature": null @@ -2878,25 +3211,43 @@ }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "totalReleased", + "outputs": [ { - "name": "index", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "payee", + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "totalReleased()", + "signature": "e33b7de3b4be2fc8b13374ba49c74d26662811d0233a4d730a02537c6f69e3d2", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "totalShares", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "payee(uint256)", - "signature": "8b83209b99041e6da916f8608f0e4b26e544903e9cccd82f1e4d56d4b000973f", + "method": "totalShares()", + "signature": "3a98ef39d75a0463a589a77e7570097b7e407deab0b5678402f964703022acc1", "index": [], "indexed": 0, "eventSignature": null @@ -2906,18 +3257,19 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "release", + "name": "addPauser", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "release(address)", - "signature": "19165587d81f9d3d0d57225d38f5bb5163beb87e4b5fafa3a2f80c53398d9874", + "method": "addPauser(address)", + "signature": "82dc1ec426f590f8e02fbc1e3fcd7395a4cc661900beaeea90dc088b2956fc37", "index": [], "indexed": 0, "eventSignature": null @@ -2927,6 +3279,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -2934,6 +3287,7 @@ "name": "isPauser", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -2950,37 +3304,16 @@ } }, { - "constant": false, + "constant": true, "inputs": [], - "name": "renouncePauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "renouncePauser()", - "signature": "6ef8d66d09e9638ba6c52670cc83e8112ad6c16152362ed3ceaf81ba38a55620", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "addPauser", + "name": "onlyPauserMock", "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "addPauser(address)", - "signature": "82dc1ec426f590f8e02fbc1e3fcd7395a4cc661900beaeea90dc088b2956fc37", + "method": "onlyPauserMock()", + "signature": "329daf90db5adf232d700a8646026bc8cec2c58f5196cbd0f9d1da14fe7c13af", "index": [], "indexed": 0, "eventSignature": null @@ -2990,6 +3323,7 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -3008,16 +3342,16 @@ } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "onlyPauserMock", + "name": "renouncePauser", "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "onlyPauserMock()", - "signature": "329daf90db5adf232d700a8646026bc8cec2c58f5196cbd0f9d1da14fe7c13af", + "method": "renouncePauser()", + "signature": "6ef8d66d09e9638ba6c52670cc83e8112ad6c16152362ed3ceaf81ba38a55620", "index": [], "indexed": 0, "eventSignature": null @@ -3029,6 +3363,7 @@ "name": "count", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3047,14 +3382,14 @@ { "constant": false, "inputs": [], - "name": "unpause", + "name": "drasticMeasure", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "unpause()", - "signature": "3f4ba83af89dc9793996d9e56b8abe6dc88cd97c9c2bb23027806e9c1ffd54dc", + "method": "drasticMeasure()", + "signature": "9958f0458a205db2b6fd3761855edea436acb6641e0146dd103049809dec8a3c", "index": [], "indexed": 0, "eventSignature": null @@ -3063,9 +3398,10 @@ { "constant": true, "inputs": [], - "name": "paused", + "name": "drasticMeasureTaken", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -3074,29 +3410,24 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "paused()", - "signature": "5c975abbf8c4d6efa68fc896e233763eb503f2318260b7bf59b19412913788b2", + "method": "drasticMeasureTaken()", + "signature": "76657b8e9f8871e69f7ec04e85644b5b24216603938143a793e736009e7e09e6", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "drasticMeasureTaken", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "name": "normalProcess", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "drasticMeasureTaken()", - "signature": "76657b8e9f8871e69f7ec04e85644b5b24216603938143a793e736009e7e09e6", + "method": "normalProcess()", + "signature": "e7651d7aafddcc3ef76b5e1ee2ca687555fb23ebd00d0784dfea8224ed24b768", "index": [], "indexed": 0, "eventSignature": null @@ -3119,16 +3450,22 @@ } }, { - "constant": false, + "constant": true, "inputs": [], - "name": "normalProcess", - "outputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "normalProcess()", - "signature": "e7651d7aafddcc3ef76b5e1ee2ca687555fb23ebd00d0784dfea8224ed24b768", + "method": "paused()", + "signature": "5c975abbf8c4d6efa68fc896e233763eb503f2318260b7bf59b19412913788b2", "index": [], "indexed": 0, "eventSignature": null @@ -3137,14 +3474,43 @@ { "constant": false, "inputs": [], - "name": "drasticMeasure", + "name": "unpause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "drasticMeasure()", - "signature": "9958f0458a205db2b6fd3761855edea436acb6641e0146dd103049809dec8a3c", + "method": "unpause()", + "signature": "3f4ba83af89dc9793996d9e56b8abe6dc88cd97c9c2bb23027806e9c1ffd54dc", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "_wallet", + "type": "address" + }, + { + "internalType": "contract ERC20", + "name": "_token", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -3156,6 +3522,7 @@ "name": "getInterfaceId", "outputs": [ { + "internalType": "bytes4", "name": "", "type": "bytes4" } @@ -3171,10 +3538,27 @@ "eventSignature": null } }, + { + "constant": true, + "inputs": [], + "name": "onlyMinterMock", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "onlyMinterMock()", + "signature": "b5dba35b6d1bf340f7be937f68a63a7272765239305ff53eba7b42cdcaa26a04", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -3192,33 +3576,20 @@ "eventSignature": null } }, - { - "constant": true, - "inputs": [], - "name": "onlyMinterMock", - "outputs": [], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "onlyMinterMock()", - "signature": "b5dba35b6d1bf340f7be937f68a63a7272765239305ff53eba7b42cdcaa26a04", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, { "inputs": [ { + "internalType": "uint256", "name": "rate", "type": "uint256" }, { + "internalType": "address payable", "name": "wallet", "type": "address" }, { + "internalType": "contract ERC20Mintable", "name": "token", "type": "address" } @@ -3238,14 +3609,17 @@ "constant": true, "inputs": [ { + "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" }, { + "internalType": "bytes32", "name": "root", "type": "bytes32" }, { + "internalType": "bytes32", "name": "leaf", "type": "bytes32" } @@ -3253,6 +3627,7 @@ "name": "verify", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -3272,17 +3647,20 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } ], - "name": "max", + "name": "average", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3291,8 +3669,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "max(uint256,uint256)", - "signature": "6d5433e60c0e37182e8640acdecd142bfe64bc13cf849efdcb641717d2842d9d", + "method": "average(uint256,uint256)", + "signature": "2b7423abf0c092723f89beda5daa1c6b1a7c433c1d9e7f74a66262925656f297", "index": [], "indexed": 0, "eventSignature": null @@ -3302,17 +3680,20 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } ], - "name": "min", + "name": "max", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3321,8 +3702,8 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "min(uint256,uint256)", - "signature": "7ae2b5c7066d52e453426c67b3fad21baae01a9be722818751aa86781dbfb5c2", + "method": "max(uint256,uint256)", + "signature": "6d5433e60c0e37182e8640acdecd142bfe64bc13cf849efdcb641717d2842d9d", "index": [], "indexed": 0, "eventSignature": null @@ -3332,17 +3713,20 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } ], - "name": "average", + "name": "min", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3351,60 +3735,37 @@ "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "average(uint256,uint256)", - "signature": "2b7423abf0c092723f89beda5daa1c6b1a7c433c1d9e7f74a66262925656f297", + "method": "min(uint256,uint256)", + "signature": "7ae2b5c7066d52e453426c67b3fad21baae01a9be722818751aa86781dbfb5c2", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, "inputs": [ { - "name": "beneficiary", + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", "type": "address" - } - ], - "name": "getContribution", - "outputs": [ + }, { - "name": "", - "type": "uint256" + "internalType": "contract IERC20", + "name": "token", + "type": "address" } ], "payable": false, - "stateMutability": "view", - "type": "function", + "stateMutability": "nonpayable", + "type": "constructor", "__signatureData": { - "method": "getContribution(address)", - "signature": "21eff7fc1631da8139bce6c02359fc3e44205c53bb3b122a22a25d0cc4b9f32a", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "isCapper", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "isCapper(address)", - "signature": "395645610bb182afbb55be0490f881ba303eb035e827e469681b43405f92dc66", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -3414,80 +3775,75 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } ], - "name": "removeCapper", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "removeCapper(address)", - "signature": "3f4a648494db3f817b03288a052db3081855f0c0a5349acd48fb788580dd1b07", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "renounceCapper", + "name": "addCapper", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "renounceCapper()", - "signature": "5d5576f8400b403d0ee565e683a6f8b36fd3f83fe3f63002501be35ef65d126e", + "method": "addCapper(address)", + "signature": "8dfbcf360614e363adad8a299c5cc64ba91d68047abea24a8c55b6d8041b7d9b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { + "internalType": "address", "name": "beneficiary", "type": "address" - }, + } + ], + "name": "getCap", + "outputs": [ { - "name": "cap", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "setCap", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setCap(address,uint256)", - "signature": "80ad2cf3dae65fa5a64dfaf69597ced83d07cd5b358301e2770664a6258b7041", + "method": "getCap(address)", + "signature": "b3aefb754817c41c8ee0e0f6012d7248b329b04af3787e228a58bb0e3379f816", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "beneficiary", "type": "address" } ], - "name": "addCapper", - "outputs": [], + "name": "getContribution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "addCapper(address)", - "signature": "8dfbcf360614e363adad8a299c5cc64ba91d68047abea24a8c55b6d8041b7d9b", + "method": "getContribution(address)", + "signature": "21eff7fc1631da8139bce6c02359fc3e44205c53bb3b122a22a25d0cc4b9f32a", "index": [], "indexed": 0, "eventSignature": null @@ -3497,23 +3853,25 @@ "constant": true, "inputs": [ { - "name": "beneficiary", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "getCap", + "name": "isCapper", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getCap(address)", - "signature": "b3aefb754817c41c8ee0e0f6012d7248b329b04af3787e228a58bb0e3379f816", + "method": "isCapper(address)", + "signature": "395645610bb182afbb55be0490f881ba303eb035e827e469681b43405f92dc66", "index": [], "indexed": 0, "eventSignature": null @@ -3536,63 +3894,65 @@ } }, { - "constant": true, - "inputs": [], - "name": "finalRate", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], + "name": "removeCapper", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "finalRate()", - "signature": "21106109c098c8e769d8e06608f6672d4d951216ad40155ba42beb5450014105", + "method": "removeCapper(address)", + "signature": "3f4a648494db3f817b03288a052db3081855f0c0a5349acd48fb788580dd1b07", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [], - "name": "initialRate", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], + "name": "renounceCapper", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "initialRate()", - "signature": "9e51051f24c46573a349a4619f1048aa4311678ef42975ceb003f2c51ff2a9df", + "method": "renounceCapper()", + "signature": "5d5576f8400b403d0ee565e683a6f8b36fd3f83fe3f63002501be35ef65d126e", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "getCurrentRate", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "cap", "type": "uint256" } ], + "name": "setCap", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getCurrentRate()", - "signature": "f7fb07b07a166fffdf5845ab298725c70a943f62b3a7b2283aa6a749d3bc5b66", + "method": "setCap(address,uint256)", + "signature": "80ad2cf3dae65fa5a64dfaf69597ced83d07cd5b358301e2770664a6258b7041", "index": [], "indexed": 0, "eventSignature": null @@ -3601,26 +3961,32 @@ { "inputs": [ { + "internalType": "uint256", "name": "openingTime", "type": "uint256" }, { + "internalType": "uint256", "name": "closingTime", "type": "uint256" }, { + "internalType": "address payable", "name": "wallet", "type": "address" }, { + "internalType": "contract IERC20", "name": "token", "type": "address" }, { + "internalType": "uint256", "name": "initialRate", "type": "uint256" }, { + "internalType": "uint256", "name": "finalRate", "type": "uint256" } @@ -3637,22 +4003,44 @@ } }, { - "inputs": [ + "constant": true, + "inputs": [], + "name": "finalRate", + "outputs": [ { - "name": "initialRate", + "internalType": "uint256", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "finalRate()", + "signature": "21106109c098c8e769d8e06608f6672d4d951216ad40155ba42beb5450014105", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "getCurrentRate", + "outputs": [ { - "name": "finalRate", + "internalType": "uint256", + "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "view", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "getCurrentRate()", + "signature": "f7fb07b07a166fffdf5845ab298725c70a943f62b3a7b2283aa6a749d3bc5b66", "index": [], "indexed": 0, "eventSignature": null @@ -3661,19 +4049,44 @@ { "constant": true, "inputs": [], - "name": "getHubAddr", + "name": "initialRate", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getHubAddr()", - "signature": "74e861d6e907742ab3885440c07cfffd4d98f68c300dce0fd09fe61b6eb812c3", + "method": "initialRate()", + "signature": "9e51051f24c46573a349a4619f1048aa4311678ef42975ceb003f2c51ff2a9df", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "initialRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "finalRate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -3683,38 +4096,47 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "relay", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "bytes", "name": "encodedFunction", "type": "bytes" }, { + "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { + "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { + "internalType": "uint256", "name": "gasLimit", "type": "uint256" }, { + "internalType": "uint256", "name": "nonce", "type": "uint256" }, { + "internalType": "bytes", "name": "approvalData", "type": "bytes" }, { + "internalType": "uint256", "name": "maxPossibleCharge", "type": "uint256" } @@ -3722,10 +4144,12 @@ "name": "acceptRelayedCall", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "bytes", "name": "", "type": "bytes" } @@ -3742,26 +4166,22 @@ } }, { - "constant": false, - "inputs": [ - { - "name": "context", - "type": "bytes" - } - ], - "name": "preRelayedCall", + "constant": true, + "inputs": [], + "name": "getHubAddr", "outputs": [ { + "internalType": "address", "name": "", - "type": "bytes32" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "preRelayedCall(bytes)", - "signature": "80274db7ae75e1ffa7ffdddd8a8d1cd4af90f5af220feaec1ead8c2bd7f63788", + "method": "getHubAddr()", + "signature": "74e861d6e907742ab3885440c07cfffd4d98f68c300dce0fd09fe61b6eb812c3", "index": [], "indexed": 0, "eventSignature": null @@ -3771,18 +4191,22 @@ "constant": false, "inputs": [ { + "internalType": "bytes", "name": "context", "type": "bytes" }, { + "internalType": "bool", "name": "success", "type": "bool" }, { + "internalType": "uint256", "name": "actualCharge", "type": "uint256" }, { + "internalType": "bytes32", "name": "preRetVal", "type": "bytes32" } @@ -3804,47 +4228,131 @@ "constant": false, "inputs": [ { - "name": "relayaddr", - "type": "address" - }, + "internalType": "bytes", + "name": "context", + "type": "bytes" + } + ], + "name": "preRelayedCall", + "outputs": [ { - "name": "unstakeDelay", - "type": "uint256" + "internalType": "bytes32", + "name": "", + "type": "bytes32" } ], - "name": "stake", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", + "payable": false, + "stateMutability": "nonpayable", + "type": "function", "__signatureData": { - "method": "stake(address,uint256)", - "signature": "adc9772e9f3b2218b39abb39e4dd00e4a7f4ca0809c2c3fd73a7011defd8a83f", + "method": "preRelayedCall(bytes)", + "signature": "80274db7ae75e1ffa7ffdddd8a8d1cd4af90f5af220feaec1ead8c2bd7f63788", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "balanceOf(address)", + "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, "inputs": [ { + "internalType": "address", + "name": "relay", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "bytes", + "name": "encodedFunction", + "type": "bytes" + }, + { + "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { - "name": "url", - "type": "string" + "internalType": "uint256", + "name": "gasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "approvalData", + "type": "bytes" + } + ], + "name": "canRelay", + "outputs": [ + { + "internalType": "uint256", + "name": "status", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "recipientContext", + "type": "bytes" } ], - "name": "registerRelay", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "registerRelay(uint256,string)", - "signature": "1166073a9ff87aa11d62b4f0dffac7fcaedb3ba9046d63dea3a2e32565763fe6", + "method": "canRelay(address,address,address,bytes,uint256,uint256,uint256,uint256,bytes,bytes)", + "signature": "2b601747511f3f4c3a522b4a4d8e69eb33b6504a2f228bddd28b773af5dcc5cb", "index": [], "indexed": 0, "eventSignature": null @@ -3854,39 +4362,47 @@ "constant": false, "inputs": [ { - "name": "relay", + "internalType": "address", + "name": "target", "type": "address" } ], - "name": "removeRelayByOwner", + "name": "depositFor", "outputs": [], - "payable": false, - "stateMutability": "nonpayable", + "payable": true, + "stateMutability": "payable", "type": "function", "__signatureData": { - "method": "removeRelayByOwner(address)", - "signature": "c3e712f26ec93100dd7291dcd6af6573a4a83757e448cb388d1e1a9c1b3eb947", + "method": "depositFor(address)", + "signature": "aa67c919e0857e147ffeead4bdc357425a4fdbad9f434ae46e0445b355dca983", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "relay", + "internalType": "address", + "name": "from", "type": "address" } ], - "name": "unstake", - "outputs": [], + "name": "getNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "unstake(address)", - "signature": "f2888dbbb28494a57963b14340157c06ae31f99a08b1c349673e4a5ea3324f07", + "method": "getNonce(address)", + "signature": "2d0335aba15fb7c7be0e001e3b72649542ef9da34ad10a6b12ac499aca97bf03", "index": [], "indexed": 0, "eventSignature": null @@ -3896,6 +4412,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "relay", "type": "address" } @@ -3903,22 +4420,27 @@ "name": "getRelay", "outputs": [ { + "internalType": "uint256", "name": "totalStake", "type": "uint256" }, { + "internalType": "uint256", "name": "unstakeDelay", "type": "uint256" }, { + "internalType": "uint256", "name": "unstakeTime", "type": "uint256" }, { + "internalType": "address payable", "name": "owner", "type": "address" }, { + "internalType": "enum IRelayHub.RelayState", "name": "state", "type": "uint8" } @@ -3934,38 +4456,29 @@ "eventSignature": null } }, - { - "constant": false, - "inputs": [ - { - "name": "target", - "type": "address" - } - ], - "name": "depositFor", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function", - "__signatureData": { - "method": "depositFor(address)", - "signature": "aa67c919e0857e147ffeead4bdc357425a4fdbad9f434ae46e0445b355dca983", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, { "constant": true, "inputs": [ { - "name": "target", - "type": "address" + "internalType": "uint256", + "name": "relayedCallStipend", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "transactionFee", + "type": "uint256" } ], - "name": "balanceOf", + "name": "maxPossibleCharge", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -3974,8 +4487,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "balanceOf(address)", - "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "method": "maxPossibleCharge(uint256,uint256,uint256)", + "signature": "a863f8f965ddbdeb0134bd2cedd241bc9d650a275a0aecf72024edde60dd96c1", "index": [], "indexed": 0, "eventSignature": null @@ -3985,88 +4498,88 @@ "constant": false, "inputs": [ { - "name": "amount", - "type": "uint256" + "internalType": "bytes", + "name": "unsignedTx", + "type": "bytes" }, { - "name": "dest", - "type": "address" + "internalType": "bytes", + "name": "signature", + "type": "bytes" } ], - "name": "withdraw", + "name": "penalizeIllegalTransaction", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdraw(uint256,address)", - "signature": "00f714ce93c4a188ecc0c802ca78036f638c1c4b3ee9b98f3ed75364b45f50b1", + "method": "penalizeIllegalTransaction(bytes,bytes)", + "signature": "390024325e037b6652cf6827845a7b6df9dd6ccbdc6e998ee910139d10377ba2", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "relay", - "type": "address" - }, - { - "name": "from", - "type": "address" - }, - { - "name": "to", - "type": "address" - }, - { - "name": "encodedFunction", + "internalType": "bytes", + "name": "unsignedTx1", "type": "bytes" }, { - "name": "transactionFee", - "type": "uint256" - }, - { - "name": "gasPrice", - "type": "uint256" - }, - { - "name": "gasLimit", - "type": "uint256" - }, - { - "name": "nonce", - "type": "uint256" + "internalType": "bytes", + "name": "signature1", + "type": "bytes" }, { - "name": "signature", + "internalType": "bytes", + "name": "unsignedTx2", "type": "bytes" }, { - "name": "approvalData", + "internalType": "bytes", + "name": "signature2", "type": "bytes" } ], - "name": "canRelay", - "outputs": [ + "name": "penalizeRepeatedNonce", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "penalizeRepeatedNonce(bytes,bytes,bytes,bytes)", + "signature": "a8cd9572006f07cb5371172782eba6c734760b27217cb5a543459ccdc3f0e907", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ { - "name": "status", + "internalType": "uint256", + "name": "transactionFee", "type": "uint256" }, { - "name": "recipientContext", - "type": "bytes" + "internalType": "string", + "name": "url", + "type": "string" } ], + "name": "registerRelay", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "canRelay(address,address,address,bytes,uint256,uint256,uint256,uint256,bytes,bytes)", - "signature": "2b601747511f3f4c3a522b4a4d8e69eb33b6504a2f228bddd28b773af5dcc5cb", + "method": "registerRelay(uint256,string)", + "signature": "1166073a9ff87aa11d62b4f0dffac7fcaedb3ba9046d63dea3a2e32565763fe6", "index": [], "indexed": 0, "eventSignature": null @@ -4076,38 +4589,47 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "bytes", "name": "encodedFunction", "type": "bytes" }, { + "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { + "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { + "internalType": "uint256", "name": "gasLimit", "type": "uint256" }, { + "internalType": "uint256", "name": "nonce", "type": "uint256" }, { + "internalType": "bytes", "name": "signature", "type": "bytes" }, { + "internalType": "bytes", "name": "approvalData", "type": "bytes" } @@ -4126,26 +4648,22 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "relayedCallStipend", - "type": "uint256" - } - ], - "name": "requiredGas", - "outputs": [ - { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "relay", + "type": "address" } ], - "payable": false, - "stateMutability": "view", + "name": "removeRelayByOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "requiredGas(uint256)", - "signature": "6a7d84a4e461b2d2841297ef63924952dc8887d4b4ea4066a018345a725a8ab8", + "method": "removeRelayByOwner(address)", + "signature": "c3e712f26ec93100dd7291dcd6af6573a4a83757e448cb388d1e1a9c1b3eb947", "index": [], "indexed": 0, "eventSignature": null @@ -4155,21 +4673,15 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "relayedCallStipend", "type": "uint256" - }, - { - "name": "gasPrice", - "type": "uint256" - }, - { - "name": "transactionFee", - "type": "uint256" } ], - "name": "maxPossibleCharge", + "name": "requiredGas", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4178,8 +4690,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "maxPossibleCharge(uint256,uint256,uint256)", - "signature": "a863f8f965ddbdeb0134bd2cedd241bc9d650a275a0aecf72024edde60dd96c1", + "method": "requiredGas(uint256)", + "signature": "6a7d84a4e461b2d2841297ef63924952dc8887d4b4ea4066a018345a725a8ab8", "index": [], "indexed": 0, "eventSignature": null @@ -4189,30 +4701,24 @@ "constant": false, "inputs": [ { - "name": "unsignedTx1", - "type": "bytes" - }, - { - "name": "signature1", - "type": "bytes" - }, - { - "name": "unsignedTx2", - "type": "bytes" + "internalType": "address", + "name": "relayaddr", + "type": "address" }, { - "name": "signature2", - "type": "bytes" + "internalType": "uint256", + "name": "unstakeDelay", + "type": "uint256" } ], - "name": "penalizeRepeatedNonce", + "name": "stake", "outputs": [], - "payable": false, - "stateMutability": "nonpayable", + "payable": true, + "stateMutability": "payable", "type": "function", "__signatureData": { - "method": "penalizeRepeatedNonce(bytes,bytes,bytes,bytes)", - "signature": "a8cd9572006f07cb5371172782eba6c734760b27217cb5a543459ccdc3f0e907", + "method": "stake(address,uint256)", + "signature": "adc9772e9f3b2218b39abb39e4dd00e4a7f4ca0809c2c3fd73a7011defd8a83f", "index": [], "indexed": 0, "eventSignature": null @@ -4222,48 +4728,46 @@ "constant": false, "inputs": [ { - "name": "unsignedTx", - "type": "bytes" - }, - { - "name": "signature", - "type": "bytes" + "internalType": "address", + "name": "relay", + "type": "address" } ], - "name": "penalizeIllegalTransaction", + "name": "unstake", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "penalizeIllegalTransaction(bytes,bytes)", - "signature": "390024325e037b6652cf6827845a7b6df9dd6ccbdc6e998ee910139d10377ba2", + "method": "unstake(address)", + "signature": "f2888dbbb28494a57963b14340157c06ae31f99a08b1c349673e4a5ea3324f07", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "from", - "type": "address" - } - ], - "name": "getNonce", - "outputs": [ - { - "name": "", + "internalType": "uint256", + "name": "amount", "type": "uint256" + }, + { + "internalType": "address payable", + "name": "dest", + "type": "address" } ], + "name": "withdraw", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getNonce(address)", - "signature": "2d0335aba15fb7c7be0e001e3b72649542ef9da34ad10a6b12ac499aca97bf03", + "method": "withdraw(uint256,address)", + "signature": "00f714ce93c4a188ecc0c802ca78036f638c1c4b3ee9b98f3ed75364b45f50b1", "index": [], "indexed": 0, "eventSignature": null @@ -4273,26 +4777,32 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "operator", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "userData", "type": "bytes" }, { + "internalType": "bytes", "name": "operatorData", "type": "bytes" } @@ -4314,26 +4824,32 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "operator", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "userData", "type": "bytes" }, { + "internalType": "bytes", "name": "operatorData", "type": "bytes" } @@ -4352,21 +4868,22 @@ } }, { - "constant": true, - "inputs": [], - "name": "granularity", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "operator", + "type": "address" } ], + "name": "authorizeOperator", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "granularity()", - "signature": "556f0dc7c27917e5fbcf81d768e3f14e5e91388a9bbf5489fc807a3b25713a85", + "method": "authorizeOperator(address)", + "signature": "959b8c3fa5f1ac78a7061180563d67096686864ae5178e2a1c5dc4cafe65647f", "index": [], "indexed": 0, "eventSignature": null @@ -4376,6 +4893,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "owner", "type": "address" } @@ -4383,6 +4901,7 @@ "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -4402,51 +4921,68 @@ "constant": false, "inputs": [ { - "name": "recipient", - "type": "address" - }, - { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" } ], - "name": "send", + "name": "burn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "send(address,uint256,bytes)", - "signature": "9bd9bbc68c9d2d57236e56ab2cc196bd1614295e6e32ba6eba9004e8c27143b6", + "method": "burn(uint256,bytes)", + "signature": "fe9d9303e79d04e189cef961eb7b3ed8271cbefc87b5bc7f1e67dff4a0c724a1", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "defaultOperators", + "outputs": [ { - "name": "amount", - "type": "uint256" - }, + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "defaultOperators()", + "signature": "06e485385cf29deb9a8a1b7063b1318c309eaf898f126cfc9db7a541554a38e8", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "granularity", + "outputs": [ { - "name": "data", - "type": "bytes" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "burn", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "burn(uint256,bytes)", - "signature": "fe9d9303e79d04e189cef961eb7b3ed8271cbefc87b5bc7f1e67dff4a0c724a1", + "method": "granularity()", + "signature": "556f0dc7c27917e5fbcf81d768e3f14e5e91388a9bbf5489fc807a3b25713a85", "index": [], "indexed": 0, "eventSignature": null @@ -4456,10 +4992,12 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "operator", "type": "address" }, { + "internalType": "address", "name": "tokenHolder", "type": "address" } @@ -4467,6 +5005,7 @@ "name": "isOperatorFor", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -4486,60 +5025,34 @@ "constant": false, "inputs": [ { - "name": "operator", + "internalType": "address", + "name": "account", "type": "address" - } - ], - "name": "authorizeOperator", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "authorizeOperator(address)", - "signature": "959b8c3fa5f1ac78a7061180563d67096686864ae5178e2a1c5dc4cafe65647f", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [ + }, { - "name": "operator", - "type": "address" + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "operatorData", + "type": "bytes" } ], - "name": "revokeOperator", + "name": "operatorBurn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "revokeOperator(address)", - "signature": "fad8b32a12ce11ea2887e7e753dadc4570ca76ac4dc839eae40921f5ca040305", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": true, - "inputs": [], - "name": "defaultOperators", - "outputs": [ - { - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "defaultOperators()", - "signature": "06e485385cf29deb9a8a1b7063b1318c309eaf898f126cfc9db7a541554a38e8", + "method": "operatorBurn(address,uint256,bytes,bytes)", + "signature": "fc673c4f8d4aaaabaea06e9dd5779b22b049a95ce54fdeba7078d6693e645c46", "index": [], "indexed": 0, "eventSignature": null @@ -4549,22 +5062,27 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "sender", "type": "address" }, { + "internalType": "address", "name": "recipient", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" }, { + "internalType": "bytes", "name": "operatorData", "type": "bytes" } @@ -4586,30 +5104,51 @@ "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "revokeOperator", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "revokeOperator(address)", + "signature": "fad8b32a12ce11ea2887e7e753dadc4570ca76ac4dc839eae40921f5ca040305", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "recipient", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" - }, - { - "name": "operatorData", - "type": "bytes" } ], - "name": "operatorBurn", + "name": "send", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "operatorBurn(address,uint256,bytes,bytes)", - "signature": "fc673c4f8d4aaaabaea06e9dd5779b22b049a95ce54fdeba7078d6693e645c46", + "method": "send(address,uint256,bytes)", + "signature": "9bd9bbc68c9d2d57236e56ab2cc196bd1614295e6e32ba6eba9004e8c27143b6", "index": [], "indexed": 0, "eventSignature": null @@ -4619,18 +5158,22 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "operator", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" } @@ -4638,6 +5181,7 @@ "name": "onERC721Received", "outputs": [ { + "internalType": "bytes4", "name": "", "type": "bytes4" } @@ -4654,109 +5198,116 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], - "name": "getApproved", - "outputs": [ - { - "name": "operator", - "type": "address" - } - ], + "name": "approve", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getApproved(uint256)", - "signature": "081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "to", + "internalType": "address", + "name": "owner", "type": "address" - }, + } + ], + "name": "balanceOf", + "outputs": [ { - "name": "tokenId", + "internalType": "uint256", + "name": "balance", "type": "uint256" } ], - "name": "approve", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "approve(address,uint256)", - "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "method": "balanceOf(address)", + "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "from", - "type": "address" - }, - { - "name": "to", - "type": "address" - }, - { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], - "name": "transferFrom", - "outputs": [], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "transferFrom(address,address,uint256)", - "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "method": "getApproved(uint256)", + "signature": "081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "from", + "internalType": "address", + "name": "owner", "type": "address" }, { - "name": "to", + "internalType": "address", + "name": "operator", "type": "address" - }, + } + ], + "name": "isApprovedForAll", + "outputs": [ { - "name": "tokenId", - "type": "uint256" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "safeTransferFrom", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "safeTransferFrom(address,address,uint256)", - "signature": "42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", + "method": "isApprovedForAll(address,address)", + "signature": "e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", "index": [], "indexed": 0, "eventSignature": null @@ -4766,6 +5317,7 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } @@ -4773,6 +5325,7 @@ "name": "ownerOf", "outputs": [ { + "internalType": "address", "name": "owner", "type": "address" } @@ -4789,51 +5342,32 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "from", "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "__signatureData": { - "method": "balanceOf(address)", - "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [ + }, { - "name": "operator", + "internalType": "address", + "name": "to", "type": "address" }, { - "name": "_approved", - "type": "bool" + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" } ], - "name": "setApprovalForAll", + "name": "safeTransferFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setApprovalForAll(address,bool)", - "signature": "a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "method": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", "index": [], "indexed": 0, "eventSignature": null @@ -4843,18 +5377,22 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" } @@ -4873,30 +5411,27 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", - "type": "address" - }, - { + "internalType": "address", "name": "operator", "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ + }, { - "name": "", + "internalType": "bool", + "name": "_approved", "type": "bool" } ], + "name": "setApprovalForAll", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "isApprovedForAll(address,address)", - "signature": "e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", + "method": "setApprovalForAll(address,bool)", + "signature": "a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", "index": [], "indexed": 0, "eventSignature": null @@ -4906,6 +5441,7 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } @@ -4913,6 +5449,7 @@ "name": "tokenURI", "outputs": [ { + "internalType": "string", "name": "", "type": "string" } @@ -4929,21 +5466,51 @@ } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", "type": "address" }, { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", "name": "index", "type": "uint256" } ], - "name": "tokenOfOwnerByIndex", + "name": "tokenByIndex", "outputs": [ { - "name": "tokenId", + "internalType": "uint256", + "name": "", "type": "uint256" } ], @@ -4951,8 +5518,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "tokenOfOwnerByIndex(address,uint256)", - "signature": "2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", + "method": "tokenByIndex(uint256)", + "signature": "4f6ccce7c41aed90ec1f1887c4a821594c0f73758d8941d0ccaa2cde813b7298", "index": [], "indexed": 0, "eventSignature": null @@ -4962,14 +5529,21 @@ "constant": true, "inputs": [ { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", "name": "index", "type": "uint256" } ], - "name": "tokenByIndex", + "name": "tokenOfOwnerByIndex", "outputs": [ { - "name": "", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" } ], @@ -4977,33 +5551,41 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "tokenByIndex(uint256)", - "signature": "4f6ccce7c41aed90ec1f1887c4a821594c0f73758d8941d0ccaa2cde813b7298", + "method": "tokenOfOwnerByIndex(address,uint256)", + "signature": "2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "newManager", + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32" + } + ], + "name": "getInterfaceImplementer", + "outputs": [ + { + "internalType": "address", + "name": "", "type": "address" } ], - "name": "setManager", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setManager(address,address)", - "signature": "5df8122f7e200b7f3718bd782c13bd84af63ca1e905e2a214189fde9d437916b", + "method": "getInterfaceImplementer(address,bytes32)", + "signature": "aabbb8ca5077ad77ee74d09abca69060954dc1e7e935c6125dbfbdac2f7cb4d5", "index": [], "indexed": 0, "eventSignature": null @@ -5013,6 +5595,7 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -5020,6 +5603,7 @@ "name": "getManager", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -5036,29 +5620,33 @@ } }, { - "constant": false, + "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "interfaceHash", - "type": "bytes32" - }, + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "implementsERC165Interface", + "outputs": [ { - "name": "implementer", - "type": "address" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "setInterfaceImplementer", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setInterfaceImplementer(address,bytes32,address)", - "signature": "29965a1dd17c60032c757c6eac6dd148280625a6723b0f37a399c515773e824b", + "method": "implementsERC165Interface(address,bytes4)", + "signature": "f712f3e885feefd4d819ffb61e08e67f0090bc5a5fe8b38272e3134e9d255486", "index": [], "indexed": 0, "eventSignature": null @@ -5068,27 +5656,30 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "interfaceHash", - "type": "bytes32" + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" } ], - "name": "getInterfaceImplementer", + "name": "implementsERC165InterfaceNoCache", "outputs": [ { + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getInterfaceImplementer(address,bytes32)", - "signature": "aabbb8ca5077ad77ee74d09abca69060954dc1e7e935c6125dbfbdac2f7cb4d5", + "method": "implementsERC165InterfaceNoCache(address,bytes4)", + "signature": "b705676510cec9438fe759af9cd9a319054c29d249f48050897ff539683f9795", "index": [], "indexed": 0, "eventSignature": null @@ -5098,6 +5689,7 @@ "constant": true, "inputs": [ { + "internalType": "string", "name": "interfaceName", "type": "string" } @@ -5105,6 +5697,7 @@ "name": "interfaceHash", "outputs": [ { + "internalType": "bytes32", "name": "", "type": "bytes32" } @@ -5124,82 +5717,83 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "interfaceId", - "type": "bytes4" + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "implementer", + "type": "address" } ], - "name": "updateERC165Cache", + "name": "setInterfaceImplementer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "updateERC165Cache(address,bytes4)", - "signature": "a41e7d51c5b4eeba8079bc0f66285a2953e8d97cae9e56174001e47da6a65b9c", + "method": "setInterfaceImplementer(address,bytes32,address)", + "signature": "29965a1dd17c60032c757c6eac6dd148280625a6723b0f37a399c515773e824b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "implementsERC165Interface", - "outputs": [ - { - "name": "", - "type": "bool" + "internalType": "address", + "name": "newManager", + "type": "address" } ], + "name": "setManager", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "implementsERC165Interface(address,bytes4)", - "signature": "f712f3e885feefd4d819ffb61e08e67f0090bc5a5fe8b38272e3134e9d255486", + "method": "setManager(address,address)", + "signature": "5df8122f7e200b7f3718bd782c13bd84af63ca1e905e2a214189fde9d437916b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { + "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], - "name": "implementsERC165InterfaceNoCache", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "name": "updateERC165Cache", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "implementsERC165InterfaceNoCache(address,bytes4)", - "signature": "b705676510cec9438fe759af9cd9a319054c29d249f48050897ff539683f9795", + "method": "updateERC165Cache(address,bytes4)", + "signature": "a41e7d51c5b4eeba8079bc0f66285a2953e8d97cae9e56174001e47da6a65b9c", "index": [], "indexed": 0, "eventSignature": null @@ -5209,10 +5803,12 @@ "constant": true, "inputs": [ { + "internalType": "bytes32", "name": "interfaceHash", "type": "bytes32" }, { + "internalType": "address", "name": "account", "type": "address" } @@ -5220,6 +5816,7 @@ "name": "canImplementInterfaceForAddress", "outputs": [ { + "internalType": "bytes32", "name": "", "type": "bytes32" } @@ -5235,42 +5832,70 @@ "eventSignature": null } }, + { + "inputs": [ + { + "internalType": "address", + "name": "trustedSigner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": true, "inputs": [ { + "internalType": "address", "name": "relay", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "bytes", "name": "encodedFunction", "type": "bytes" }, { + "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { + "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { + "internalType": "uint256", "name": "gasLimit", "type": "uint256" }, { + "internalType": "uint256", "name": "nonce", "type": "uint256" }, { + "internalType": "bytes", "name": "approvalData", "type": "bytes" }, { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5278,10 +5903,12 @@ "name": "acceptRelayedCall", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "bytes", "name": "", "type": "bytes" } @@ -5297,12 +5924,29 @@ "eventSignature": null } }, + { + "constant": false, + "inputs": [], + "name": "mockFunction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "mockFunction()", + "signature": "3e6fec04891cbf2adc4929f005c945b1df36c1cc70a0dc8cc4a2d30cd9526418", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": true, "inputs": [], "name": "relayHubVersion", "outputs": [ { + "internalType": "string", "name": "", "type": "string" } @@ -5319,34 +5963,73 @@ } }, { + "constant": true, "inputs": [ { - "name": "trustedSigner", + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", "type": "address" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "acceptRelayedCall", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "__signatureData": { - "method": null, - "signature": null, - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [], - "name": "mockFunction", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "mockFunction()", - "signature": "3e6fec04891cbf2adc4929f005c945b1df36c1cc70a0dc8cc4a2d30cd9526418", + "method": "acceptRelayedCall(address,address,bytes,uint256,uint256,uint256,uint256,bytes,uint256)", + "signature": "83947ea009abe4215784fc013af935411a558f6cd2dcdea5f18d5c7c5b70d409", "index": [], "indexed": 0, "eventSignature": null @@ -5356,10 +6039,12 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "integerValue", "type": "uint256" }, { + "internalType": "string", "name": "stringValue", "type": "string" } @@ -5397,105 +6082,70 @@ "constant": false, "inputs": [ { - "name": "amount", - "type": "uint256" - }, - { - "name": "payee", + "internalType": "address", + "name": "newRelayHub", "type": "address" } ], - "name": "withdrawDeposits", + "name": "upgradeRelayHub", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdrawDeposits(uint256,address)", - "signature": "c2db1abe7daab30b890763961009183af86eaa71fa3c52bb95c0eb7fcb5fa447", + "method": "upgradeRelayHub(address)", + "signature": "9e30a590cf55a2684fb69e37b38b95cd1633e385ab5bf0e2a3e20ebf459a435f", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "bytes" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "bytes" - }, - { - "name": "", - "type": "uint256" - } - ], - "name": "acceptRelayedCall", - "outputs": [ - { - "name": "", + "internalType": "uint256", + "name": "amount", "type": "uint256" }, { - "name": "", - "type": "bytes" + "internalType": "address payable", + "name": "payee", + "type": "address" } ], + "name": "withdrawDeposits", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "acceptRelayedCall(address,address,bytes,uint256,uint256,uint256,uint256,bytes,uint256)", - "signature": "83947ea009abe4215784fc013af935411a558f6cd2dcdea5f18d5c7c5b70d409", + "method": "withdrawDeposits(uint256,address)", + "signature": "c2db1abe7daab30b890763961009183af86eaa71fa3c52bb95c0eb7fcb5fa447", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "newRelayHub", - "type": "address" + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" } ], - "name": "upgradeRelayHub", - "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", + "type": "constructor", "__signatureData": { - "method": "upgradeRelayHub(address)", - "signature": "9e30a590cf55a2684fb69e37b38b95cd1633e385ab5bf0e2a3e20ebf459a435f", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -5505,38 +6155,47 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "bytes", "name": "", "type": "bytes" }, { + "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { + "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "bytes", "name": "", "type": "bytes" }, { + "internalType": "uint256", "name": "maxPossibleCharge", "type": "uint256" } @@ -5544,10 +6203,12 @@ "name": "acceptRelayedCall", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "bytes", "name": "", "type": "bytes" } @@ -5563,32 +6224,11 @@ "eventSignature": null } }, - { - "inputs": [ - { - "name": "name", - "type": "string" - }, - { - "name": "symbol", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "__signatureData": { - "method": null, - "signature": null, - "index": [], - "indexed": 0, - "eventSignature": null - } - }, { "constant": false, "inputs": [ { + "internalType": "bool", "name": "acceptEther", "type": "bool" } @@ -5610,6 +6250,7 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "payee", "type": "address" } @@ -5631,102 +6272,119 @@ "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "value", "type": "address" } ], - "name": "senderFor", + "name": "add", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "senderFor(address)", - "signature": "d2de647410d4847f7c2b1c646e28e10e303c10f95d7ea6b94c082bb1f0e3ecb7", + "method": "add(address)", + "signature": "0a3b0a4f4c6e53dce3dbcad5614cb2ba3a0fa7326d03c5d64b4fa2d565492737", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "sender", + "internalType": "address", + "name": "value", "type": "address" } ], - "name": "registerSender", - "outputs": [], + "name": "contains", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "registerSender(address)", - "signature": "e1ecbd30d7fc280e866052e7dcf713aee64bd27db00680e3c2a450b3a12cdc9b", + "method": "contains(address)", + "signature": "5dbe47e8ca78eed3d66d96aca4f3e0a862618253931c531246f0c213ed4514f0", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "enumerate", + "outputs": [ { - "name": "account", - "type": "address" + "internalType": "address[]", + "name": "", + "type": "address[]" } ], - "name": "recipientFor", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "recipientFor(address)", - "signature": "e0eb21801a9f335a4e9352266bab2e6b992e028b46da9236c68c9f2542a7f511", + "method": "enumerate()", + "signature": "ff9f78b3d32de8be0e9bed68612f7fad3f116aa6e7cb3c7748d1c767bcd9106e", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "recipient", + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "get", + "outputs": [ + { + "internalType": "address", + "name": "", "type": "address" } ], - "name": "registerRecipient", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "registerRecipient(address)", - "signature": "a8badaa52238eb11dfd031f6bd091dc87027cccee31954f0c034484ab291848b", + "method": "get(uint256)", + "signature": "9507d39afbeea551419419942ed5557ba0354af969f9e49bd20406f7e288b0cb", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "length", + "outputs": [ { - "name": "shouldRevert", - "type": "bool" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "setShouldRevertSend", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setShouldRevertSend(bool)", - "signature": "4e4ae5a5b23f28439d51fbfb428cbdda0d2cdff3b2e3e23d8d4220585c9de51f", + "method": "length()", + "signature": "1f7b6d32f0bcc43b847f7e5983c958ffeec06d939e79a1435064bb9c306d2f49", "index": [], "indexed": 0, "eventSignature": null @@ -5736,18 +6394,19 @@ "constant": false, "inputs": [ { - "name": "shouldRevert", - "type": "bool" + "internalType": "address", + "name": "value", + "type": "address" } ], - "name": "setShouldRevertReceive", + "name": "remove", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setShouldRevertReceive(bool)", - "signature": "c97e18fc4ab503e6d34324fbfc4776260fe140688edfe560aefd77d967d4c768", + "method": "remove(address)", + "signature": "29092d0ea9bcb5211809a4aaa5b0ebb94e6bef61bfe589f02c6c6fb1b193ffab", "index": [], "indexed": 0, "eventSignature": null @@ -5757,30 +6416,29 @@ "constant": false, "inputs": [ { + "internalType": "contract IERC777", "name": "token", "type": "address" }, { - "name": "to", - "type": "address" - }, - { + "internalType": "uint256", "name": "amount", "type": "uint256" }, { + "internalType": "bytes", "name": "data", "type": "bytes" } ], - "name": "send", + "name": "burn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "send(address,address,uint256,bytes)", - "signature": "3836ef89341d578005df6b940fd026a6f4c1208b46c3d4068921eb9aa76bcaac", + "method": "burn(address,uint256,bytes)", + "signature": "44d171878174aac90272ce2c6f833b41e25ed3c943a482d65cb93dce656c95cf", "index": [], "indexed": 0, "eventSignature": null @@ -5790,26 +6448,19 @@ "constant": false, "inputs": [ { - "name": "token", + "internalType": "address", + "name": "account", "type": "address" - }, - { - "name": "amount", - "type": "uint256" - }, - { - "name": "data", - "type": "bytes" } ], - "name": "burn", + "name": "recipientFor", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "burn(address,uint256,bytes)", - "signature": "44d171878174aac90272ce2c6f833b41e25ed3c943a482d65cb93dce656c95cf", + "method": "recipientFor(address)", + "signature": "e0eb21801a9f335a4e9352266bab2e6b992e028b46da9236c68c9f2542a7f511", "index": [], "indexed": 0, "eventSignature": null @@ -5819,27 +6470,41 @@ "constant": false, "inputs": [ { - "name": "spender", + "internalType": "address", + "name": "recipient", "type": "address" - }, - { - "name": "value", - "type": "uint256" } ], - "name": "approve", - "outputs": [ + "name": "registerRecipient", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "registerRecipient(address)", + "signature": "a8badaa52238eb11dfd031f6bd091dc87027cccee31954f0c034484ab291848b", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ { - "name": "", - "type": "bool" + "internalType": "address", + "name": "sender", + "type": "address" } ], + "name": "registerSender", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "approve(address,uint256)", - "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "method": "registerSender(address)", + "signature": "e1ecbd30d7fc280e866052e7dcf713aee64bd27db00680e3c2a450b3a12cdc9b", "index": [], "indexed": 0, "eventSignature": null @@ -5849,108 +6514,100 @@ "constant": false, "inputs": [ { - "name": "holder", + "internalType": "contract IERC777", + "name": "token", "type": "address" }, { - "name": "recipient", + "internalType": "address", + "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], + "name": "send", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transferFrom(address,address,uint256)", - "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "method": "send(address,address,uint256,bytes)", + "signature": "3836ef89341d578005df6b940fd026a6f4c1208b46c3d4068921eb9aa76bcaac", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", - "type": "uint8" + "internalType": "address", + "name": "account", + "type": "address" } ], + "name": "senderFor", + "outputs": [], "payable": false, - "stateMutability": "pure", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "decimals()", - "signature": "313ce567add4d438edf58b94ff345d7d38c45b17dfc0f947988d7819dca364f9", + "method": "senderFor(address)", + "signature": "d2de647410d4847f7c2b1c646e28e10e303c10f95d7ea6b94c082bb1f0e3ecb7", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "tokenHolder", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "", - "type": "uint256" + "internalType": "bool", + "name": "shouldRevert", + "type": "bool" } ], + "name": "setShouldRevertReceive", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "balanceOf(address)", - "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "method": "setShouldRevertReceive(bool)", + "signature": "c97e18fc4ab503e6d34324fbfc4776260fe140688edfe560aefd77d967d4c768", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "holder", - "type": "address" - }, - { - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "", - "type": "uint256" + "internalType": "bool", + "name": "shouldRevert", + "type": "bool" } ], + "name": "setShouldRevertSend", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "allowance(address,address)", - "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", + "method": "setShouldRevertSend(bool)", + "signature": "4e4ae5a5b23f28439d51fbfb428cbdda0d2cdff3b2e3e23d8d4220585c9de51f", "index": [], "indexed": 0, "eventSignature": null @@ -5959,22 +6616,27 @@ { "inputs": [ { + "internalType": "address", "name": "initialHolder", "type": "address" }, { + "internalType": "uint256", "name": "initialBalance", "type": "uint256" }, { + "internalType": "string", "name": "name", "type": "string" }, { + "internalType": "string", "name": "symbol", "type": "string" }, { + "internalType": "address[]", "name": "defaultOperators", "type": "address[]" } @@ -5991,85 +6653,98 @@ } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "operator", + "internalType": "address", + "name": "holder", "type": "address" }, { - "name": "to", + "internalType": "address", + "name": "spender", "type": "address" - }, + } + ], + "name": "allowance", + "outputs": [ { - "name": "amount", + "internalType": "uint256", + "name": "", "type": "uint256" - }, - { - "name": "userData", - "type": "bytes" - }, - { - "name": "operatorData", - "type": "bytes" } ], - "name": "mintInternal", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "mintInternal(address,address,uint256,bytes,bytes)", - "signature": "502f2b8bf932c1941842477fc372bca4834ddc436a253e93faba2990bc29a24b", + "method": "allowance(address,address)", + "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "name", - "type": "string" - }, - { - "name": "symbol", - "type": "string" + "internalType": "address", + "name": "spender", + "type": "address" }, { - "name": "defaultOperators", - "type": "address[]" - } + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "retval", - "type": "bytes4" + "internalType": "address", + "name": "holder", + "type": "address" }, { - "name": "reverts", - "type": "bool" + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" } ], + "name": "approveInternal", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "approveInternal(address,address,uint256)", + "signature": "56189cb4bb0039044cf7457b35bad3a3c904d529b71d57f6f1feb2e19e3f5de8", "index": [], "indexed": 0, "eventSignature": null @@ -6079,23 +6754,25 @@ "constant": true, "inputs": [ { - "name": "tokenId", - "type": "uint256" + "internalType": "address", + "name": "tokenHolder", + "type": "address" } ], - "name": "getApproved", + "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getApproved(uint256)", - "signature": "081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "method": "balanceOf(address)", + "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", "index": [], "indexed": 0, "eventSignature": null @@ -6103,25 +6780,21 @@ }, { "constant": true, - "inputs": [ - { - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", + "inputs": [], + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "address" + "type": "uint8" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "ownerOf(uint256)", - "signature": "6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", + "method": "decimals()", + "signature": "313ce567add4d438edf58b94ff345d7d38c45b17dfc0f947988d7819dca364f9", "index": [], "indexed": 0, "eventSignature": null @@ -6131,22 +6804,39 @@ "constant": false, "inputs": [ { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", "name": "to", "type": "address" }, { - "name": "approved", - "type": "bool" + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "userData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "operatorData", + "type": "bytes" } ], - "name": "setApprovalForAll", + "name": "mintInternal", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setApprovalForAll(address,bool)", - "signature": "a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "method": "mintInternal(address,address,uint256,bytes,bytes)", + "signature": "502f2b8bf932c1941842477fc372bca4834ddc436a253e93faba2990bc29a24b", "index": [], "indexed": 0, "eventSignature": null @@ -6156,55 +6846,88 @@ "constant": false, "inputs": [ { - "name": "from", + "internalType": "address", + "name": "holder", "type": "address" }, { - "name": "to", + "internalType": "address", + "name": "recipient", "type": "address" }, { - "name": "tokenId", + "internalType": "uint256", + "name": "amount", "type": "uint256" - }, + } + ], + "name": "transferFrom", + "outputs": [ { - "name": "_data", - "type": "bytes" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "safeTransferFrom", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "safeTransferFrom(address,address,uint256,bytes)", - "signature": "b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "to", - "type": "address" + "internalType": "string", + "name": "name", + "type": "string" }, { - "name": "tokenId", - "type": "uint256" + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "address[]", + "name": "defaultOperators", + "type": "address[]" } ], - "name": "mint", - "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", + "type": "constructor", "__signatureData": { - "method": "mint(address,uint256)", - "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "retval", + "type": "bytes4" + }, + { + "internalType": "bool", + "name": "reverts", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -6214,6 +6937,7 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } @@ -6235,6 +6959,7 @@ "constant": true, "inputs": [ { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } @@ -6242,6 +6967,7 @@ "name": "exists", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -6258,54 +6984,28 @@ } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "to", - "type": "address" - }, - { + "internalType": "uint256", "name": "tokenId", "type": "uint256" - }, - { - "name": "_data", - "type": "bytes" } ], - "name": "safeMint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "__signatureData": { - "method": "safeMint(address,uint256,bytes)", - "signature": "8832e6e3a1acdc3c7227cb5f382053393c98d26b7e85fded7d4a78732f9d7cdd", - "index": [], - "indexed": 0, - "eventSignature": null - } - }, - { - "constant": false, - "inputs": [ + "name": "getApproved", + "outputs": [ { - "name": "to", + "internalType": "address", + "name": "", "type": "address" - }, - { - "name": "tokenId", - "type": "uint256" } ], - "name": "safeMint", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "safeMint(address,uint256)", - "signature": "a144819463c3ba7c3be1edebec61a649b050f2192ad1964059becd97eb86bb4f", + "method": "getApproved(uint256)", + "signature": "081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", "index": [], "indexed": 0, "eventSignature": null @@ -6315,22 +7015,24 @@ "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], - "name": "burn", + "name": "mint", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "burn(address,uint256)", - "signature": "9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba", + "method": "mint(address,uint256)", + "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", "index": [], "indexed": 0, "eventSignature": null @@ -6340,27 +7042,25 @@ "constant": true, "inputs": [ { - "name": "owner", - "type": "address" - }, - { - "name": "index", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" } ], - "name": "tokenOfOwnerByIndex", + "name": "ownerOf", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "tokenOfOwnerByIndex(address,uint256)", - "signature": "2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", + "method": "ownerOf(uint256)", + "signature": "6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", "index": [], "indexed": 0, "eventSignature": null @@ -6370,27 +7070,34 @@ "constant": false, "inputs": [ { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" - } - ], - "name": "mint", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "bytes", + "name": "_data", + "type": "bytes" } ], + "name": "safeTransferFrom", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "mint(address,uint256)", - "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", + "method": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", "index": [], "indexed": 0, "eventSignature": null @@ -6400,31 +7107,24 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "to", "type": "address" }, { - "name": "tokenId", - "type": "uint256" - }, - { - "name": "tokenURI", - "type": "string" - } - ], - "name": "mintWithTokenURI", - "outputs": [ - { - "name": "", + "internalType": "bool", + "name": "approved", "type": "bool" } ], + "name": "setApprovalForAll", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "mintWithTokenURI(address,uint256,string)", - "signature": "50bb4e7f0f69c56956eebe056f6b491fb7b811bfdb78ec5149e57eaba528b40a", + "method": "setApprovalForAll(address,bool)", + "signature": "a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", "index": [], "indexed": 0, "eventSignature": null @@ -6434,31 +7134,24 @@ "constant": false, "inputs": [ { - "name": "to", + "internalType": "address", + "name": "owner", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" - }, - { - "name": "_data", - "type": "bytes" - } - ], - "name": "safeMint", - "outputs": [ - { - "name": "", - "type": "bool" } ], + "name": "burn", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "safeMint(address,uint256,bytes)", - "signature": "8832e6e3a1acdc3c7227cb5f382053393c98d26b7e85fded7d4a78732f9d7cdd", + "method": "burn(address,uint256)", + "signature": "9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba", "index": [], "indexed": 0, "eventSignature": null @@ -6468,27 +7161,29 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" - } - ], - "name": "safeMint", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "bytes", + "name": "_data", + "type": "bytes" } ], + "name": "safeMint", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "safeMint(address,uint256)", - "signature": "a144819463c3ba7c3be1edebec61a649b050f2192ad1964059becd97eb86bb4f", + "method": "safeMint(address,uint256,bytes)", + "signature": "8832e6e3a1acdc3c7227cb5f382053393c98d26b7e85fded7d4a78732f9d7cdd", "index": [], "indexed": 0, "eventSignature": null @@ -6498,82 +7193,79 @@ "constant": false, "inputs": [ { - "name": "", - "type": "address" - }, - { - "name": "", + "internalType": "address", + "name": "to", "type": "address" }, { - "name": "", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" - }, - { - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "name": "", - "type": "bytes4" } ], + "name": "safeMint", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "onERC721Received(address,address,uint256,bytes)", - "signature": "150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f", + "method": "safeMint(address,uint256)", + "signature": "a144819463c3ba7c3be1edebec61a649b050f2192ad1964059becd97eb86bb4f", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "baseURI", + "outputs": [ { - "name": "tokenId", - "type": "uint256" + "internalType": "string", + "name": "", + "type": "string" } ], - "name": "mint", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "mint(uint256)", - "signature": "a0712d680358d64f694230b7cc0b277c73686bdf768385d55cd7c547d0ffd30e", + "method": "baseURI()", + "signature": "6c0360ebdf68e0f62377a9a6e37fcfe105deb69715aa51e836946fccbad7b496", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "to", "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" } ], - "name": "tokensOfOwner", + "name": "mint", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256[]" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "tokensOfOwner(address)", - "signature": "8462151cfcc0f257319f78db464014651918f3905b3d4bdab48d3f4618c542c1", + "method": "mint(address,uint256)", + "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", "index": [], "indexed": 0, "eventSignature": null @@ -6583,52 +7275,73 @@ "constant": false, "inputs": [ { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { - "name": "uri", + "internalType": "string", + "name": "tokenURI", "type": "string" } ], - "name": "setTokenURI", - "outputs": [], + "name": "mintWithTokenURI", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setTokenURI(uint256,string)", - "signature": "162094c41f9e614fbfeee6783490985e82953e56e0c70ba6d6e2c64564e7749b", + "method": "mintWithTokenURI(address,uint256,string)", + "signature": "50bb4e7f0f69c56956eebe056f6b491fb7b811bfdb78ec5149e57eaba528b40a", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "to", "type": "address" }, { - "name": "snapshotId", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" } ], - "name": "balanceOfAt", + "name": "safeMint", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "balanceOfAt(address,uint256)", - "signature": "4ee2cd7e1c8d0c67ae50486857122fadf743519435f10363a77120866023ee26", + "method": "safeMint(address,uint256,bytes)", + "signature": "8832e6e3a1acdc3c7227cb5f382053393c98d26b7e85fded7d4a78732f9d7cdd", "index": [], "indexed": 0, "eventSignature": null @@ -6636,20 +7349,32 @@ }, { "constant": false, - "inputs": [], - "name": "snapshot", + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeMint", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "snapshot()", - "signature": "9711715ab0b9a0077d568e6c92e34beda766dfe07bfd405b99f6cc244fc5e675", + "method": "safeMint(address,uint256)", + "signature": "a144819463c3ba7c3be1edebec61a649b050f2192ad1964059becd97eb86bb4f", "index": [], "indexed": 0, "eventSignature": null @@ -6659,13 +7384,20 @@ "constant": true, "inputs": [ { - "name": "snapshotId", + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", "type": "uint256" } ], - "name": "totalSupplyAt", + "name": "tokenOfOwnerByIndex", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6674,30 +7406,51 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "totalSupplyAt(uint256)", - "signature": "981b24d030c40d3021134f151d398b787f7448aa6078c0c9b5ff98879d39a725", + "method": "tokenOfOwnerByIndex(address,uint256)", + "signature": "2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "initialAccount", + "internalType": "address", + "name": "", "type": "address" }, { - "name": "initialBalance", + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "onERC721Received(address,address,uint256,bytes)", + "signature": "150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f", "index": [], "indexed": 0, "eventSignature": null @@ -6707,22 +7460,19 @@ "constant": false, "inputs": [ { - "name": "account", - "type": "address" - }, - { - "name": "amount", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" } ], - "name": "burn", + "name": "mint", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "burn(address,uint256)", - "signature": "9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba", + "method": "mint(uint256)", + "signature": "a0712d680358d64f694230b7cc0b277c73686bdf768385d55cd7c547d0ffd30e", "index": [], "indexed": 0, "eventSignature": null @@ -6732,27 +7482,19 @@ "constant": false, "inputs": [ { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "", - "type": "bool" + "internalType": "string", + "name": "baseURI", + "type": "string" } ], + "name": "setBaseURI", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transfer(address,uint256)", - "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", + "method": "setBaseURI(string)", + "signature": "55f804b373ab21b346f6f172ca5e118cfcad05163bcea59b35420499bf7e074b", "index": [], "indexed": 0, "eventSignature": null @@ -6762,81 +7504,99 @@ "constant": false, "inputs": [ { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "address" - }, - { - "name": "", + "internalType": "uint256", + "name": "tokenId", "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ + }, { - "name": "", - "type": "bool" + "internalType": "string", + "name": "uri", + "type": "string" } ], + "name": "setTokenURI", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transferFrom(address,address,uint256)", - "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "method": "setTokenURI(uint256,string)", + "signature": "162094c41f9e614fbfeee6783490985e82953e56e0c70ba6d6e2c64564e7749b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "", + "internalType": "address", + "name": "owner", "type": "address" - }, - { - "name": "", - "type": "uint256" } ], - "name": "approve", + "name": "tokensOfOwner", "outputs": [ { + "internalType": "uint256[]", "name": "", - "type": "bool" + "type": "uint256[]" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "approve(address,uint256)", - "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "method": "tokensOfOwner(address)", + "signature": "8462151cfcc0f257319f78db464014651918f3905b3d4bdab48d3f4618c542c1", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, "inputs": [ { - "name": "owner", + "internalType": "address", + "name": "initialAccount", "type": "address" }, { - "name": "", + "internalType": "uint256", + "name": "initialBalance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", "type": "address" + }, + { + "internalType": "uint256", + "name": "snapshotId", + "type": "uint256" } ], - "name": "allowance", + "name": "balanceOfAt", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6845,28 +7605,75 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "allowance(address,address)", - "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", + "method": "balanceOfAt(address,uint256)", + "signature": "4ee2cd7e1c8d0c67ae50486857122fadf743519435f10363a77120866023ee26", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", + "internalType": "address", + "name": "account", "type": "address" }, { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "burn(address,uint256)", + "signature": "9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "snapshot", + "outputs": [ + { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], - "name": "allowance", + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "snapshot()", + "signature": "9711715ab0b9a0077d568e6c92e34beda766dfe07bfd405b99f6cc244fc5e675", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "snapshotId", + "type": "uint256" + } + ], + "name": "totalSupplyAt", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6875,42 +7682,41 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "allowance(address,address)", - "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", + "method": "totalSupplyAt(uint256)", + "signature": "981b24d030c40d3021134f151d398b787f7448aa6078c0c9b5ff98879d39a725", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "from", + "internalType": "address", + "name": "owner", "type": "address" }, { - "name": "to", + "internalType": "address", + "name": "", "type": "address" - }, - { - "name": "value", - "type": "uint256" } ], - "name": "transferFrom", + "name": "allowance", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "transferFrom(address,address,uint256)", - "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "method": "allowance(address,address)", + "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", "index": [], "indexed": 0, "eventSignature": null @@ -6920,17 +7726,20 @@ "constant": false, "inputs": [ { - "name": "to", + "internalType": "address", + "name": "", "type": "address" }, { - "name": "value", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "transfer", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -6939,8 +7748,8 @@ "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transfer(address,uint256)", - "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null @@ -6950,16 +7759,24 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transfer", - "outputs": [], + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", @@ -6975,20 +7792,29 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transferFrom", - "outputs": [], + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", @@ -7001,25 +7827,33 @@ } }, { - "constant": false, + "constant": true, "inputs": [ { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", "name": "", "type": "uint256" } ], - "name": "approve", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "approve(address,uint256)", - "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "method": "allowance(address,address)", + "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", "index": [], "indexed": 0, "eventSignature": null @@ -7029,22 +7863,30 @@ "constant": false, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "to", "type": "address" }, { - "name": "amount", + "internalType": "uint256", + "name": "value", "type": "uint256" } ], - "name": "burnFrom", - "outputs": [], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "burnFrom(address,uint256)", - "signature": "79cc679044ee9a2021f0a26c0fdec02ac39179cd005bb971a471b7f9f17c576c", + "method": "transfer(address,uint256)", + "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", "index": [], "indexed": 0, "eventSignature": null @@ -7054,26 +7896,35 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "from", "type": "address" }, { + "internalType": "address", "name": "to", "type": "address" }, { + "internalType": "uint256", "name": "value", "type": "uint256" } ], - "name": "transferInternal", - "outputs": [], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transferInternal(address,address,uint256)", - "signature": "222f5be0bd00bd3dd5e6049849cd873ce8050d883a1eb2e7e638a8decfcc8274", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null @@ -7083,86 +7934,115 @@ "constant": false, "inputs": [ { - "name": "owner", - "type": "address" - }, - { - "name": "spender", + "internalType": "address", + "name": "", "type": "address" }, { - "name": "value", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "approveInternal", + "name": "approve", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "approveInternal(address,address,uint256)", - "signature": "56189cb4bb0039044cf7457b35bad3a3c904d529b71d57f6f1feb2e19e3f5de8", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "legacyToken", + "internalType": "address", + "name": "", "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" } ], + "name": "transfer", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "transfer(address,uint256)", + "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "legacyToken", - "outputs": [ + "constant": false, + "inputs": [ { + "internalType": "address", "name": "", "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" } ], + "name": "transferFrom", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "legacyToken()", - "signature": "13155455fdd7b3e23ed7eb19d62c49190033e226c08f6bd47d87abf5144f8724", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "newToken", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "internalType": "address", + "name": "owner", "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" } ], + "name": "approveInternal", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "newToken()", - "signature": "c42bd05aac0f1127e273477372cf897c16d1abfc362babf9af66a2496160f546", + "method": "approveInternal(address,address,uint256)", + "signature": "56189cb4bb0039044cf7457b35bad3a3c904d529b71d57f6f1feb2e19e3f5de8", "index": [], "indexed": 0, "eventSignature": null @@ -7172,6 +8052,85 @@ "constant": false, "inputs": [ { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "burnFrom(address,uint256)", + "signature": "79cc679044ee9a2021f0a26c0fdec02ac39179cd005bb971a471b7f9f17c576c", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferInternal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "transferInternal(address,address,uint256)", + "signature": "222f5be0bd00bd3dd5e6049849cd873ce8050d883a1eb2e7e638a8decfcc8274", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "legacyToken", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ERC20Mintable", "name": "newToken_", "type": "address" } @@ -7189,14 +8148,38 @@ "eventSignature": null } }, + { + "constant": true, + "inputs": [], + "name": "legacyToken", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "legacyToken()", + "signature": "13155455fdd7b3e23ed7eb19d62c49190033e226c08f6bd47d87abf5144f8724", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" } @@ -7218,6 +8201,7 @@ "constant": false, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" } @@ -7238,19 +8222,20 @@ { "constant": true, "inputs": [], - "name": "tokenURI", + "name": "newToken", "outputs": [ { + "internalType": "contract IERC20", "name": "", - "type": "string" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "tokenURI()", - "signature": "3c130d90a3a3102bb1d43caeb4a43be8c3d9837b9c8f5a1bae2d0b50edd19a88", + "method": "newToken()", + "signature": "c42bd05aac0f1127e273477372cf897c16d1abfc362babf9af66a2496160f546", "index": [], "indexed": 0, "eventSignature": null @@ -7259,6 +8244,7 @@ { "inputs": [ { + "internalType": "string", "name": "tokenURI", "type": "string" } @@ -7278,6 +8264,7 @@ "constant": false, "inputs": [ { + "internalType": "string", "name": "tokenURI", "type": "string" } @@ -7295,9 +8282,32 @@ "eventSignature": null } }, + { + "constant": true, + "inputs": [], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "tokenURI()", + "signature": "3c130d90a3a3102bb1d43caeb4a43be8c3d9837b9c8f5a1bae2d0b50edd19a88", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, { "inputs": [ { + "internalType": "string", "name": "tokenURI_", "type": "string" } @@ -7316,6 +8326,7 @@ { "inputs": [ { + "internalType": "uint256", "name": "cap", "type": "uint256" } @@ -7335,6 +8346,7 @@ "constant": false, "inputs": [ { + "internalType": "uint256", "name": "amount", "type": "uint256" } @@ -7356,10 +8368,12 @@ "constant": false, "inputs": [ { + "internalType": "bytes32", "name": "interfaceHash", "type": "bytes32" }, { + "internalType": "address", "name": "account", "type": "address" } @@ -7381,6 +8395,7 @@ "constant": false, "inputs": [ { + "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } @@ -7401,6 +8416,7 @@ { "inputs": [ { + "internalType": "bytes4[]", "name": "interfaceIds", "type": "bytes4[]" } @@ -7420,13 +8436,20 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" + }, + { + "internalType": "bytes4[]", + "name": "interfaceIds", + "type": "bytes4[]" } ], - "name": "supportsERC165", + "name": "supportsAllInterfaces", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -7435,8 +8458,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "supportsERC165(address)", - "signature": "c398a925390918a1a667ad1abd283f69365959f228b05e3133202cae99fb1414", + "method": "supportsAllInterfaces(address,bytes4[])", + "signature": "4b9dd904cb078ee1a08f706b8d4b358c6527421833dd4e03e307a6d08c4c65ec", "index": [], "indexed": 0, "eventSignature": null @@ -7446,17 +8469,15 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" - }, - { - "name": "interfaceId", - "type": "bytes4" } ], - "name": "supportsInterface", + "name": "supportsERC165", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -7465,8 +8486,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "supportsInterface(address,bytes4)", - "signature": "d905700708d92a2c508e53fc47c1f4f3376feb686c0c8272b33827f8f33874a3", + "method": "supportsERC165(address)", + "signature": "c398a925390918a1a667ad1abd283f69365959f228b05e3133202cae99fb1414", "index": [], "indexed": 0, "eventSignature": null @@ -7476,17 +8497,20 @@ "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" }, { - "name": "interfaceIds", - "type": "bytes4[]" + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" } ], - "name": "supportsAllInterfaces", + "name": "supportsInterface", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -7495,8 +8519,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "supportsAllInterfaces(address,bytes4[])", - "signature": "4b9dd904cb078ee1a08f706b8d4b358c6527421833dd4e03e307a6d08c4c65ec", + "method": "supportsInterface(address,bytes4)", + "signature": "d905700708d92a2c508e53fc47c1f4f3376feb686c0c8272b33827f8f33874a3", "index": [], "indexed": 0, "eventSignature": null @@ -7506,10 +8530,12 @@ "constant": true, "inputs": [ { + "internalType": "bytes32", "name": "hash", "type": "bytes32" }, { + "internalType": "bytes", "name": "signature", "type": "bytes" } @@ -7517,6 +8543,7 @@ "name": "recover", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -7536,6 +8563,7 @@ "constant": true, "inputs": [ { + "internalType": "bytes32", "name": "hash", "type": "bytes32" } @@ -7543,6 +8571,7 @@ "name": "toEthSignedMessageHash", "outputs": [ { + "internalType": "bytes32", "name": "", "type": "bytes32" } @@ -7560,36 +8589,70 @@ }, { "constant": true, - "inputs": [], - "name": "current", + "inputs": [ + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "code", + "type": "bytes" + }, + { + "internalType": "address", + "name": "deployer", + "type": "address" + } + ], + "name": "computeAddress", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function", "__signatureData": { - "method": "current()", - "signature": "9fa6a6e3d57c048b1cb13cac09ada19955f823fbf9cbc036d48b820ea08fd246", + "method": "computeAddress(bytes32,bytes,address)", + "signature": "a31809787a81476f538b261e18e5fce04d85a858ff5e8043962669bd9aaffc9f", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [], - "name": "increment", - "outputs": [], + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "code", + "type": "bytes" + } + ], + "name": "computeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "increment()", - "signature": "d09de08ab1a974aadf0a76e6f99a2ec20e431f22bbc101a6c3f718e53646ed8d", + "method": "computeAddress(bytes32,bytes)", + "signature": "ca9ffe94145c8771be124ced2e9b2c40e89d5b5afa9e58c1e854fa93a3427c60", "index": [], "indexed": 0, "eventSignature": null @@ -7597,15 +8660,26 @@ }, { "constant": false, - "inputs": [], - "name": "decrement", + "inputs": [ + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "code", + "type": "bytes" + } + ], + "name": "deploy", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "decrement()", - "signature": "2baeceb7defb31e1c8c859f0ad17299dba2cefa354c4852eb3e2d5efad2f8611", + "method": "deploy(bytes32,bytes)", + "signature": "cdcb760ad3353af7c88d45984aeedfae199631256006e32076b2a1693a759efb", "index": [], "indexed": 0, "eventSignature": null @@ -7615,47 +8689,57 @@ "constant": false, "inputs": [ { - "name": "context", - "type": "address" + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" } ], - "name": "callSender", + "name": "deployERC20", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "callSender(address)", - "signature": "3207ad9626aa3e7418cf450b31eddae82faa3c1c2ac6af8831f4698cc851aac2", + "method": "deployERC20(bytes32)", + "signature": "f48fdcd342899e890764a42694e31403aeb5881666d6c5c39075fe6cd4c580cf", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ - { - "name": "context", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "current", + "outputs": [ { - "name": "integerValue", + "internalType": "uint256", + "name": "", "type": "uint256" - }, - { - "name": "stringValue", - "type": "string" } ], - "name": "callData", + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "current()", + "signature": "9fa6a6e3d57c048b1cb13cac09ada19955f823fbf9cbc036d48b820ea08fd246", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "decrement", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "callData(address,uint256,string)", - "signature": "00860459816b29739ac426ab214bc2685ba3f4c418cc4cd43e6a2302a3a6f424", + "method": "decrement()", + "signature": "2baeceb7defb31e1c8c859f0ad17299dba2cefa354c4852eb3e2d5efad2f8611", "index": [], "indexed": 0, "eventSignature": null @@ -7663,80 +8747,1414 @@ }, { "constant": false, - "inputs": [ - { - "name": "payee", - "type": "address" - }, - { - "name": "allowed", - "type": "bool" + "inputs": [], + "name": "increment", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "increment()", + "signature": "d09de08ab1a974aadf0a76e6f99a2ec20e431f22bbc101a6c3f718e53646ed8d", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ContextMock", + "name": "context", + "type": "address" + }, + { + "internalType": "uint256", + "name": "integerValue", + "type": "uint256" + }, + { + "internalType": "string", + "name": "stringValue", + "type": "string" + } + ], + "name": "callData", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "callData(address,uint256,string)", + "signature": "00860459816b29739ac426ab214bc2685ba3f4c418cc4cd43e6a2302a3a6f424", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ContextMock", + "name": "context", + "type": "address" + } + ], + "name": "callSender", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "callSender(address)", + "signature": "3207ad9626aa3e7418cf450b31eddae82faa3c1c2ac6af8831f4698cc851aac2", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "payee", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowed", + "type": "bool" } ], "name": "setAllowed", "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "setAllowed(address,bool)", + "signature": "4697f05df6908a83d30dcb4e7f08d42d3127ced20b64732e90e63f7cb372a9da", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "payee", + "type": "address" + } + ], + "name": "withdrawalAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "withdrawalAllowed(address)", + "signature": "685ca194323465fa417b00616bb2233405b7df230d0c7b98fada5a332c4a1021", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "contract IERC20", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "cap", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_array", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "_element", + "type": "uint256" + } + ], + "name": "findUpperBound", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "findUpperBound(uint256)", + "signature": "33e3a58ab88fe94e9dbf49de3bb9c1279b961ab02cbe709aa2ac431d3c957028", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "contract IERC20", + "name": "token", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenWallet", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "remainingTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "remainingTokens()", + "signature": "bf58390300de5e33aa839fb830699554caff7ce94e117472917ccd1be548dc48", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "tokenWallet", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "tokenWallet()", + "signature": "bff99c6cfc9bc667c0dd97317f6e58d396927adc4ee9a35eb2aba74406d47c73", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenWallet", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isContract", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "isContract(address)", + "signature": "16279055d07f3f98da17007e489f07a8037a8763b169d601c4db770dec17dc13", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sendValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "sendValue(address,uint256)", + "signature": "24a084dfedb552881fe75e937a5b15c2822e1b879ff607c151ec3982f55dc07d", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "toPayable", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "__signatureData": { + "method": "toPayable(address)", + "signature": "51ecabd60d3ffbd0fd3992102d48e4b9552799601420f3104673e221a3577bca", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + }, + { + "name": "_extraData", + "type": "bytes" + } + ], + "name": "approveAndCall", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "type": "function", + "__signatureData": { + "method": "approveAndCall(address,uint256,bytes)", + "signature": "cae9ca5133009d821214ac8231b3d170f22d822ee165adb631578070b6316fc9", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "owner()", + "signature": "8da5cb5b36e7f68c1d2e56001220cdbdd3ba2616072f718acfda4a06441a807d", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "isOwner()", + "signature": "8f32d59b339b0965093e9a53b00f4400c41d72f026df85c0beaa1d49d97802ef", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "moneyToPayPerBlock", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "moneyToPayPerBlock()", + "signature": "94eaa46b6c4a6677c8f49b080d56276204fe453436ffffd2aecf2b68ae319385", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "maxMiners", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "maxMiners()", + "signature": "db6fccda07b2e6bad5d478a794d378d354ca434f3c94b1b7fc514a919aed92b9", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "maxBlocksToPayPerCall", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "maxBlocksToPayPerCall()", + "signature": "e32683dff52aff29d263721de20831e5fe2d2c748ab6567b6efac21a9bde1823", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "transferOwnership(address)", + "signature": "f2fde38b092330466c661fc723d5289b90272a3e580e3187d1d7ef788506c557", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "lastPaidBlock", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "lastPaidBlock()", + "signature": "f6aced518ca2df90e95db514f2e0f737010a2ac304bc5c27c911099fab41eda7", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "inputs": [ + { + "name": "_blockInfoProvider", + "type": "address" + }, + { + "name": "_moneyToPayPerBlock", + "type": "uint256" + }, + { + "name": "_maxBlocksToPayPerCall", + "type": "uint256" + }, + { + "name": "_maxMiners", + "type": "uint256" + }, + { + "name": "_lockupInMonths", + "type": "uint256" + }, + { + "name": "_dateTimeContract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "_newMax", + "type": "uint256" + } + ], + "name": "setMaxBlocksToPayPerCall", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "setMaxBlocksToPayPerCall(uint256)", + "signature": "3da9f4f0be6d5a05fdd4ae3d265666192154601089c96e51424bf2e08b980f66", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "_newPay", + "type": "uint256" + } + ], + "name": "setMoneyToPayPerBlock", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "setMoneyToPayPerBlock(uint256)", + "signature": "8edf2dff8c8c2a4630befeeb98ac035037bb40ad051b21b800ba2969d3101941", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "_newMax", + "type": "uint256" + } + ], + "name": "setMaxMiners", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "setMaxMiners(uint256)", + "signature": "a9476edaee14f067c56f60c191ff6cef97c83294bb4a025246e32c9544901458", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "getBalance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getBalance()", + "signature": "12065fe058ec54d32b956897063181d660e7d27f9bb883d28d5cc5ab3423e23c", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "collectProfits", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "collectProfits()", + "signature": "c958e0d6d36792cce73cee987eb1db14f16672a928568c5e8db3291aaf59bf69", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "addressMiner", + "type": "address" + } + ], + "name": "payToMiner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function", + "__signatureData": { + "method": "payToMiner(address)", + "signature": "ecb8ba13ba7492306cb8a8d48607f34b4ca61cd281ca9ad8cfc29a0b54e52f32", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "addressMiner", + "type": "address" + }, + { + "name": "month", + "type": "uint8" + }, + { + "name": "year", + "type": "uint16" + } + ], + "name": "payToMinerInPeriod", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "payToMinerInPeriod(address,uint8,uint16)", + "signature": "6035635e090457de6c725de5c71f5f51ebd9d23a91cfd8baf037978dd713bbd3", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [], + "name": "payToMiners", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function", + "__signatureData": { + "method": "payToMiners()", + "signature": "e033b84e34cd498593f20833ffe7a5e5c96f98962e186331e92913b144764e6e", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "month", + "type": "uint8" + }, + { + "name": "year", + "type": "uint16" + } + ], + "name": "payToMinersInPeriod", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "payToMinersInPeriod(uint8,uint16)", + "signature": "8cab0e8113c4443c80b67441f7273acb8d0acb4dd097cceabc13964ba36822a0", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "minerAddress", + "type": "address" + } + ], + "name": "getBalanceForCurrentPeriod", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getBalanceForCurrentPeriod(address)", + "signature": "da69cdaf31c9bd523ce88f41e9052aa156c444505eb1b044c109a08dfb90e771", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "minerAddress", + "type": "address" + }, + { + "name": "month", + "type": "uint8" + }, + { + "name": "year", + "type": "uint16" + } + ], + "name": "getBalanceForPeriod", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getBalanceForPeriod(address,uint8,uint16)", + "signature": "500e07ea01ee3fe029dfe9b632b4934b74f96e097e4a64aaf0b978288fb00f56", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "owners", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "owners(uint256)", + "signature": "025e7c27eac939a1d6b87a08c3f39516072d58f65abdf6d1ca77156530d4cc35", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "removeOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "removeOwner(address)", + "signature": "173825d90d5095783b384d0c08afb549944c4f4c89ad29a276da04db8e14ff9e", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "revokeConfirmation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "revokeConfirmation(uint256)", + "signature": "20ea8d86087397d6737ff70ebe94a8ed7065f3e7db4534a9523ae818a3fe01b7", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "isOwner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "isOwner(address)", + "signature": "2f54bf6efe3c885d4f7c60dd2b62f9e1c8e834c7152c314a797c4d0e05c447cf", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "address" + } + ], + "name": "confirmations", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "confirmations(uint256,address)", + "signature": "3411c81c46ee3d7cf872c1145662928d2120e74c6d45b79c2d87092372f7c84a", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "pending", + "type": "bool" + }, + { + "name": "executed", + "type": "bool" + } + ], + "name": "getTransactionCount", + "outputs": [ + { + "name": "count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getTransactionCount(bool,bool)", + "signature": "5474152539dd948724b4cf552d5b1dd2789758b9698c5bdc66e2fdcf7c3cabde", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "addOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "addOwner(address)", + "signature": "7065cb489ab3e47058ef9c048a2255f3e0dc15732bc16897592e2e8d246a0414", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "isConfirmed", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "isConfirmed(uint256)", + "signature": "784547a768b57de63c01309e9534f8339f117d1469fee08fcaadd193742686c6", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "getConfirmationCount", + "outputs": [ + { + "name": "count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getConfirmationCount(uint256)", + "signature": "8b51d13f1bf42439587b478dcbb3c1c7b41d364e7e61f430d823fb5844597435", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "transactions", + "outputs": [ + { + "name": "destination", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + }, + { + "name": "executed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "transactions(uint256)", + "signature": "9ace38c2d967ad67e6abb390955f4fa15d49d10dc79b0b602cb97d942b537041", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "getOwners", + "outputs": [ + { + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getOwners()", + "signature": "a0e67e2bdc0a6d8a09ccd6c353c9df590807ad66ff5e6630c4f31a86dfa84821", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "from", + "type": "uint256" + }, + { + "name": "to", + "type": "uint256" + }, + { + "name": "pending", + "type": "bool" + }, + { + "name": "executed", + "type": "bool" + } + ], + "name": "getTransactionIds", + "outputs": [ + { + "name": "_transactionIds", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getTransactionIds(uint256,uint256,bool,bool)", + "signature": "a8abe69a30f0243194c6d9cd7b301fbf510ca7fa157488f505e08e138e2a5b25", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "getConfirmations", + "outputs": [ + { + "name": "_confirmations", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "getConfirmations(uint256)", + "signature": "b5dc40c3b5620210adf51dca4154c224fa8bea2847510e80bb45632e9f88427b", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "transactionCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "transactionCount()", + "signature": "b77bf6009627e15897d3198ef815426bb9543fa4e37a6f6c8b82da0703b372c4", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "_required", + "type": "uint256" + } + ], + "name": "changeRequirement", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "changeRequirement(uint256)", + "signature": "ba51a6df11ed2f9658b32100640ebce3ff8ed00be3830b92867b3e30629140ad", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "confirmTransaction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "confirmTransaction(uint256)", + "signature": "c01a8c8473427a14639d2bc8bef9d7b2742747740ed212950f4e530781dbdf5d", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": false, + "inputs": [ + { + "name": "destination", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + } + ], + "name": "submitTransaction", + "outputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "__signatureData": { + "method": "submitTransaction(address,uint256,bytes)", + "signature": "c6427474ff2c4baa130d285c9d32ec41c0e07b9cc4b5b273ab66f916faee964a", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "MAX_OWNER_COUNT", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "__signatureData": { + "method": "MAX_OWNER_COUNT()", + "signature": "d74f8edde535768f1ff54c90926dc3dbf92d9a622a8bef11a7b8190467308d77", + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "required", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setAllowed(address,bool)", - "signature": "4697f05df6908a83d30dcb4e7f08d42d3127ced20b64732e90e63f7cb372a9da", + "method": "required()", + "signature": "dc8452cd18861a7926d01a29fd774a76d0fc4e57278afa13cbc91639fcd16e1f", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "payee", + "name": "owner", "type": "address" - } - ], - "name": "withdrawalAllowed", - "outputs": [ + }, { - "name": "", - "type": "bool" + "name": "newOwner", + "type": "address" } ], + "name": "replaceOwner", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "withdrawalAllowed(address)", - "signature": "685ca194323465fa417b00616bb2233405b7df230d0c7b98fada5a332c4a1021", + "method": "replaceOwner(address,address)", + "signature": "e20056e60a9f58b726b610d5a8e40f97e687707f2f9b3f9ccdaabe2ee85aa6d4", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "rate", - "type": "uint256" - }, - { - "name": "wallet", - "type": "address" - }, - { - "name": "token", - "type": "address" - }, - { - "name": "cap", + "name": "transactionId", "type": "uint256" } ], + "name": "executeTransaction", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "executeTransaction(uint256)", + "signature": "ee22610b57af59171fe491c7d4d59b4d01c283e32b93b77db36266c6ad1b5877", "index": [], "indexed": 0, "eventSignature": null @@ -7745,8 +10163,12 @@ { "inputs": [ { - "name": "_array", - "type": "uint256[]" + "name": "_owners", + "type": "address[]" + }, + { + "name": "_required", + "type": "uint256" } ], "payable": false, @@ -7764,113 +10186,132 @@ "constant": true, "inputs": [ { - "name": "_element", + "name": "tokenId", "type": "uint256" } ], - "name": "findUpperBound", + "name": "getApproved", "outputs": [ { - "name": "", - "type": "uint256" + "name": "operator", + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "findUpperBound(uint256)", - "signature": "33e3a58ab88fe94e9dbf49de3bb9c1279b961ab02cbe709aa2ac431d3c957028", + "method": "getApproved(uint256)", + "signature": "081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "remainingTokens", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "name": "to", + "type": "address" + }, + { + "name": "tokenId", "type": "uint256" } ], + "name": "approve", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "remainingTokens()", - "signature": "bf58390300de5e33aa839fb830699554caff7ce94e117472917ccd1be548dc48", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "tokenWallet", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "name": "from", + "type": "address" + }, + { + "name": "to", "type": "address" + }, + { + "name": "tokenId", + "type": "uint256" } ], + "name": "transferFrom", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "tokenWallet()", - "signature": "bff99c6cfc9bc667c0dd97317f6e58d396927adc4ee9a35eb2aba74406d47c73", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "rate", - "type": "uint256" - }, - { - "name": "wallet", + "name": "from", "type": "address" }, { - "name": "token", + "name": "to", "type": "address" }, { - "name": "tokenWallet", - "type": "address" + "name": "tokenId", + "type": "uint256" } ], + "name": "safeTransferFrom", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "safeTransferFrom(address,address,uint256)", + "signature": "42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": true, "inputs": [ { - "name": "tokenWallet", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "name": "owner", "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "view", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "ownerOf(uint256)", + "signature": "6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", "index": [], "indexed": 0, "eventSignature": null @@ -7880,49 +10321,48 @@ "constant": true, "inputs": [ { - "name": "account", + "name": "owner", "type": "address" } ], - "name": "isContract", + "name": "balanceOf", "outputs": [ { - "name": "", - "type": "bool" + "name": "balance", + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "isContract(address)", - "signature": "16279055d07f3f98da17007e489f07a8037a8763b169d601c4db770dec17dc13", + "method": "balanceOf(address)", + "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "name": "operator", "type": "address" - } - ], - "name": "toPayable", - "outputs": [ + }, { - "name": "", - "type": "address" + "name": "_approved", + "type": "bool" } ], + "name": "setApprovalForAll", + "outputs": [], "payable": false, - "stateMutability": "pure", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "toPayable(address)", - "signature": "51ecabd60d3ffbd0fd3992102d48e4b9552799601420f3104673e221a3577bca", + "method": "setApprovalForAll(address,bool)", + "signature": "a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", "index": [], "indexed": 0, "eventSignature": null @@ -7932,55 +10372,60 @@ "constant": false, "inputs": [ { - "name": "receiver", + "name": "from", "type": "address" }, { - "name": "amount", + "name": "to", + "type": "address" + }, + { + "name": "tokenId", "type": "uint256" + }, + { + "name": "data", + "type": "bytes" } ], - "name": "sendValue", + "name": "safeTransferFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "sendValue(address,uint256)", - "signature": "24a084dfedb552881fe75e937a5b15c2822e1b879ff607c151ec3982f55dc07d", + "method": "safeTransferFrom(address,address,uint256,bytes)", + "signature": "b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "_spender", + "name": "owner", "type": "address" }, { - "name": "_value", - "type": "uint256" - }, - { - "name": "_extraData", - "type": "bytes" + "name": "operator", + "type": "address" } ], - "name": "approveAndCall", + "name": "isApprovedForAll", "outputs": [ { - "name": "success", + "name": "", "type": "bool" } ], "payable": false, + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "approveAndCall(address,uint256,bytes)", - "signature": "cae9ca5133009d821214ac8231b3d170f22d822ee165adb631578070b6316fc9", + "method": "isApprovedForAll(address,address)", + "signature": "e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", "index": [], "indexed": 0, "eventSignature": null @@ -7989,19 +10434,19 @@ { "constant": true, "inputs": [], - "name": "moneyToPayPerBlock", + "name": "name", "outputs": [ { "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "moneyToPayPerBlock()", - "signature": "94eaa46b6c4a6677c8f49b080d56276204fe453436ffffd2aecf2b68ae319385", + "method": "name()", + "signature": "06fdde0383f15d582d1a74511486c9ddf862a882fb7904b3d9fe9b8b8e58a796", "index": [], "indexed": 0, "eventSignature": null @@ -8010,19 +10455,19 @@ { "constant": true, "inputs": [], - "name": "maxMiners", + "name": "symbol", "outputs": [ { "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "maxMiners()", - "signature": "db6fccda07b2e6bad5d478a794d378d354ca434f3c94b1b7fc514a919aed92b9", + "method": "symbol()", + "signature": "95d89b41e2f5f391a79ec54e9d87c79d6e777c63e32c28da95b4e9e4a79250ec", "index": [], "indexed": 0, "eventSignature": null @@ -8030,20 +10475,25 @@ }, { "constant": true, - "inputs": [], - "name": "maxBlocksToPayPerCall", + "inputs": [ + { + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", "outputs": [ { "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "maxBlocksToPayPerCall()", - "signature": "e32683dff52aff29d263721de20831e5fe2d2c748ab6567b6efac21a9bde1823", + "method": "tokenURI(uint256)", + "signature": "c87b56dda752230262935940d907f047a9f86bb5ee6aa33511fc86db33fea6cc", "index": [], "indexed": 0, "eventSignature": null @@ -8052,7 +10502,7 @@ { "constant": true, "inputs": [], - "name": "lastPaidBlock", + "name": "totalSupply", "outputs": [ { "name": "", @@ -8063,88 +10513,100 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "lastPaidBlock()", - "signature": "f6aced518ca2df90e95db514f2e0f737010a2ac304bc5c27c911099fab41eda7", + "method": "totalSupply()", + "signature": "18160ddd7f15c72528c2f94fd8dfe3c8d5aa26e2c50c7d81f4bc7bee8d4b7932", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": true, "inputs": [ { - "name": "_blockInfoProvider", + "name": "owner", "type": "address" }, { - "name": "_moneyToPayPerBlock", - "type": "uint256" - }, - { - "name": "_maxBlocksToPayPerCall", - "type": "uint256" - }, - { - "name": "_maxMiners", + "name": "index", "type": "uint256" - }, + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ { - "name": "_lockupInMonths", + "name": "tokenId", "type": "uint256" - }, - { - "name": "_dateTimeContract", - "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", + "stateMutability": "view", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "tokenOfOwnerByIndex(address,uint256)", + "signature": "2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "_newMax", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "name": "", "type": "uint256" } ], - "name": "setMaxBlocksToPayPerCall", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "setMaxBlocksToPayPerCall(uint256)", - "signature": "3da9f4f0be6d5a05fdd4ae3d265666192154601089c96e51424bf2e08b980f66", + "method": "tokenByIndex(uint256)", + "signature": "4f6ccce7c41aed90ec1f1887c4a821594c0f73758d8941d0ccaa2cde813b7298", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "_newPay", + "indexed": false, + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "name": "_value", "type": "uint256" + }, + { + "indexed": false, + "name": "_data", + "type": "bytes" + } + ], + "name": "transferAndCall", + "outputs": [ + { + "name": "", + "type": "bool" } ], - "name": "setMoneyToPayPerBlock", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setMoneyToPayPerBlock(uint256)", - "signature": "8edf2dff8c8c2a4630befeeb98ac035037bb40ad051b21b800ba2969d3101941", + "method": "transferAndCall(address,uint256,bytes)", + "signature": "4000aea038e4acde4ff65b413088ec658ae209bdf83ccba2ffbbaa2d9ce48cde", "index": [], "indexed": 0, "eventSignature": null @@ -8154,39 +10616,61 @@ "constant": false, "inputs": [ { - "name": "_newMax", + "name": "spender", + "type": "address" + }, + { + "name": "value", "type": "uint256" } ], - "name": "setMaxMiners", - "outputs": [], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "setMaxMiners(uint256)", - "signature": "a9476edaee14f067c56f60c191ff6cef97c83294bb4a025246e32c9544901458", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "getBalance", + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "recipient", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getBalance()", - "signature": "12065fe058ec54d32b956897063181d660e7d27f9bb883d28d5cc5ab3423e23c", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null @@ -8194,8 +10678,17 @@ }, { "constant": false, - "inputs": [], - "name": "collectProfits", + "inputs": [ + { + "name": "spender", + "type": "address" + }, + { + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", "outputs": [ { "name": "", @@ -8206,34 +10699,34 @@ "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "collectProfits()", - "signature": "c958e0d6d36792cce73cee987eb1db14f16672a928568c5e8db3291aaf59bf69", + "method": "increaseAllowance(address,uint256)", + "signature": "39509351d3325647dde3fdd3c8b249adfe89ef4f16d76d83768e6df7a5cd81d6", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "addressMiner", + "name": "account", "type": "address" } ], - "name": "payToMiner", + "name": "balanceOf", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], - "payable": true, - "stateMutability": "payable", + "payable": false, + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "payToMiner(address)", - "signature": "ecb8ba13ba7492306cb8a8d48607f34b4ca61cd281ca9ad8cfc29a0b54e52f32", + "method": "balanceOf(address)", + "signature": "70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", "index": [], "indexed": 0, "eventSignature": null @@ -8243,19 +10736,15 @@ "constant": false, "inputs": [ { - "name": "addressMiner", + "name": "spender", "type": "address" }, { - "name": "month", - "type": "uint8" - }, - { - "name": "year", - "type": "uint16" + "name": "subtractedValue", + "type": "uint256" } ], - "name": "payToMinerInPeriod", + "name": "decreaseAllowance", "outputs": [ { "name": "", @@ -8266,8 +10755,8 @@ "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "payToMinerInPeriod(address,uint8,uint16)", - "signature": "6035635e090457de6c725de5c71f5f51ebd9d23a91cfd8baf037978dd713bbd3", + "method": "decreaseAllowance(address,uint256)", + "signature": "a457c2d77307f80ff2f3ac810ec99eb18ae2cffee13b29c90c9324546e374be5", "index": [], "indexed": 0, "eventSignature": null @@ -8275,64 +10764,68 @@ }, { "constant": false, - "inputs": [], - "name": "payToMiners", + "inputs": [ + { + "name": "recipient", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", "outputs": [ { "name": "", "type": "bool" } ], - "payable": true, - "stateMutability": "payable", + "payable": false, + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "payToMiners()", - "signature": "e033b84e34cd498593f20833ffe7a5e5c96f98962e186331e92913b144764e6e", + "method": "transfer(address,uint256)", + "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "month", - "type": "uint8" + "name": "owner", + "type": "address" }, { - "name": "year", - "type": "uint16" + "name": "spender", + "type": "address" } ], - "name": "payToMinersInPeriod", + "name": "allowance", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "payToMinersInPeriod(uint8,uint16)", - "signature": "8cab0e8113c4443c80b67441f7273acb8d0acb4dd097cceabc13964ba36822a0", + "method": "allowance(address,address)", + "signature": "dd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [ - { - "name": "minerAddress", - "type": "address" - } - ], - "name": "getBalanceForCurrentPeriod", + "constant": false, + "inputs": [], + "name": "snapshot", "outputs": [ { "name": "", @@ -8340,11 +10833,11 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getBalanceForCurrentPeriod(address)", - "signature": "da69cdaf31c9bd523ce88f41e9052aa156c444505eb1b044c109a08dfb90e771", + "method": "snapshot()", + "signature": "9711715ab0b9a0077d568e6c92e34beda766dfe07bfd405b99f6cc244fc5e675", "index": [], "indexed": 0, "eventSignature": null @@ -8354,19 +10847,15 @@ "constant": true, "inputs": [ { - "name": "minerAddress", + "name": "account", "type": "address" }, { - "name": "month", - "type": "uint8" - }, - { - "name": "year", - "type": "uint16" + "name": "snapshotId", + "type": "uint256" } ], - "name": "getBalanceForPeriod", + "name": "balanceOfAt", "outputs": [ { "name": "", @@ -8377,8 +10866,8 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getBalanceForPeriod(address,uint8,uint16)", - "signature": "500e07ea01ee3fe029dfe9b632b4934b74f96e097e4a64aaf0b978288fb00f56", + "method": "balanceOfAt(address,uint256)", + "signature": "4ee2cd7e1c8d0c67ae50486857122fadf743519435f10363a77120866023ee26", "index": [], "indexed": 0, "eventSignature": null @@ -8388,109 +10877,109 @@ "constant": true, "inputs": [ { - "name": "", + "name": "snapshotId", "type": "uint256" } ], - "name": "owners", + "name": "totalSupplyAt", "outputs": [ { "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "owners(uint256)", - "signature": "025e7c27eac939a1d6b87a08c3f39516072d58f65abdf6d1ca77156530d4cc35", + "method": "totalSupplyAt(uint256)", + "signature": "981b24d030c40d3021134f151d398b787f7448aa6078c0c9b5ff98879d39a725", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "owner", + "name": "account", "type": "address" } ], - "name": "removeOwner", - "outputs": [], + "name": "isPauser", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "removeOwner(address)", - "signature": "173825d90d5095783b384d0c08afb549944c4f4c89ad29a276da04db8e14ff9e", + "method": "isPauser(address)", + "signature": "46fbf68e9af4b174565acc7a5f5256df89a0019864cab4994b666e1897990183", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "paused", + "outputs": [ { - "name": "transactionId", - "type": "uint256" + "name": "", + "type": "bool" } ], - "name": "revokeConfirmation", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "revokeConfirmation(uint256)", - "signature": "20ea8d86087397d6737ff70ebe94a8ed7065f3e7db4534a9523ae818a3fe01b7", + "method": "paused()", + "signature": "5c975abbf8c4d6efa68fc896e233763eb503f2318260b7bf59b19412913788b2", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", + "name": "account", "type": "address" } ], - "name": "isOwner", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], + "name": "addPauser", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "isOwner(address)", - "signature": "2f54bf6efe3c885d4f7c60dd2b62f9e1c8e834c7152c314a797c4d0e05c447cf", + "method": "addPauser(address)", + "signature": "82dc1ec426f590f8e02fbc1e3fcd7395a4cc661900beaeea90dc088b2956fc37", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", - "type": "uint256" + "name": "to", + "type": "address" }, { - "name": "", - "type": "address" + "name": "value", + "type": "uint256" } ], - "name": "confirmations", + "name": "transfer", "outputs": [ { "name": "", @@ -8498,41 +10987,45 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "confirmations(uint256,address)", - "signature": "3411c81c46ee3d7cf872c1145662928d2120e74c6d45b79c2d87092372f7c84a", + "method": "transfer(address,uint256)", + "signature": "a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "pending", - "type": "bool" + "name": "from", + "type": "address" }, { - "name": "executed", - "type": "bool" + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" } ], - "name": "getTransactionCount", + "name": "transferFrom", "outputs": [ { - "name": "count", - "type": "uint256" + "name": "", + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getTransactionCount(bool,bool)", - "signature": "5474152539dd948724b4cf552d5b1dd2789758b9698c5bdc66e2fdcf7c3cabde", + "method": "transferFrom(address,address,uint256)", + "signature": "23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", "index": [], "indexed": 0, "eventSignature": null @@ -8542,18 +11035,18 @@ "constant": false, "inputs": [ { - "name": "owner", + "name": "account", "type": "address" } ], - "name": "addOwner", + "name": "addMinter", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "addOwner(address)", - "signature": "7065cb489ab3e47058ef9c048a2255f3e0dc15732bc16897592e2e8d246a0414", + "method": "addMinter(address)", + "signature": "983b2d560bdd6b422e26073d9516b4646e2f1008810070c0d32b3a79aaa7bfcb", "index": [], "indexed": 0, "eventSignature": null @@ -8563,11 +11056,11 @@ "constant": true, "inputs": [ { - "name": "transactionId", - "type": "uint256" + "name": "account", + "type": "address" } ], - "name": "isConfirmed", + "name": "isMinter", "outputs": [ { "name": "", @@ -8578,72 +11071,56 @@ "stateMutability": "view", "type": "function", "__signatureData": { - "method": "isConfirmed(uint256)", - "signature": "784547a768b57de63c01309e9534f8339f117d1469fee08fcaadd193742686c6", + "method": "isMinter(address)", + "signature": "aa271e1a9a41b51f5b4e2e4ce717c974174719a5ddc12cee839f0eabbdf42748", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "transactionId", + "name": "account", + "type": "address" + }, + { + "name": "amount", "type": "uint256" } ], - "name": "getConfirmationCount", + "name": "mint", "outputs": [ { - "name": "count", - "type": "uint256" + "name": "", + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getConfirmationCount(uint256)", - "signature": "8b51d13f1bf42439587b478dcbb3c1c7b41d364e7e61f430d823fb5844597435", + "method": "mint(address,uint256)", + "signature": "40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, "inputs": [ { - "name": "", - "type": "uint256" - } - ], - "name": "transactions", - "outputs": [ - { - "name": "destination", + "name": "legacyToken", "type": "address" - }, - { - "name": "value", - "type": "uint256" - }, - { - "name": "data", - "type": "bytes" - }, - { - "name": "executed", - "type": "bool" } ], "payable": false, - "stateMutability": "view", - "type": "function", + "stateMutability": "nonpayable", + "type": "constructor", "__signatureData": { - "method": "transactions(uint256)", - "signature": "9ace38c2d967ad67e6abb390955f4fa15d49d10dc79b0b602cb97d942b537041", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -8652,19 +11129,19 @@ { "constant": true, "inputs": [], - "name": "getOwners", + "name": "legacyToken", "outputs": [ { "name": "", - "type": "address[]" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getOwners()", - "signature": "a0e67e2bdc0a6d8a09ccd6c353c9df590807ad66ff5e6630c4f31a86dfa84821", + "method": "legacyToken()", + "signature": "13155455fdd7b3e23ed7eb19d62c49190033e226c08f6bd47d87abf5144f8724", "index": [], "indexed": 0, "eventSignature": null @@ -8672,84 +11149,66 @@ }, { "constant": true, - "inputs": [ - { - "name": "from", - "type": "uint256" - }, - { - "name": "to", - "type": "uint256" - }, - { - "name": "pending", - "type": "bool" - }, - { - "name": "executed", - "type": "bool" - } - ], - "name": "getTransactionIds", + "inputs": [], + "name": "newToken", "outputs": [ { - "name": "_transactionIds", - "type": "uint256[]" + "name": "", + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "getTransactionIds(uint256,uint256,bool,bool)", - "signature": "a8abe69a30f0243194c6d9cd7b301fbf510ca7fa157488f505e08e138e2a5b25", + "method": "newToken()", + "signature": "c42bd05aac0f1127e273477372cf897c16d1abfc362babf9af66a2496160f546", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "transactionId", - "type": "uint256" - } - ], - "name": "getConfirmations", - "outputs": [ - { - "name": "_confirmations", - "type": "address[]" + "name": "newToken_", + "type": "address" } ], + "name": "beginMigration", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "getConfirmations(uint256)", - "signature": "b5dc40c3b5620210adf51dca4154c224fa8bea2847510e80bb45632e9f88427b", + "method": "beginMigration(address)", + "signature": "104d2614802041eeb018bbccaeba548b9a7ee898af4bcd6e9cce457ec8960361", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "transactionCount", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "name": "account", + "type": "address" + }, + { + "name": "amount", "type": "uint256" } ], + "name": "migrate", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transactionCount()", - "signature": "b77bf6009627e15897d3198ef815426bb9543fa4e37a6f6c8b82da0703b372c4", + "method": "migrate(address,uint256)", + "signature": "ad68ebf738de8bb84d6664bd7e8367bb1eaee463836fc2757f2fe2d2dab8f178", "index": [], "indexed": 0, "eventSignature": null @@ -8759,39 +11218,57 @@ "constant": false, "inputs": [ { - "name": "_required", - "type": "uint256" + "name": "account", + "type": "address" } ], - "name": "changeRequirement", + "name": "migrateAll", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "changeRequirement(uint256)", - "signature": "ba51a6df11ed2f9658b32100640ebce3ff8ed00be3830b92867b3e30629140ad", + "method": "migrateAll(address)", + "signature": "5a8cadb1d8b081fcaa5d74a05a907b404a812656b318e7fbcb088fef3c652906", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "transactionId", - "type": "uint256" + "name": "tokenURI_", + "type": "string" } ], - "name": "confirmTransaction", - "outputs": [], "payable": false, "stateMutability": "nonpayable", + "type": "constructor", + "__signatureData": { + "method": null, + "signature": null, + "index": [], + "indexed": 0, + "eventSignature": null + } + }, + { + "constant": true, + "inputs": [], + "name": "tokenURI", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "confirmTransaction(uint256)", - "signature": "c01a8c8473427a14639d2bc8bef9d7b2742747740ed212950f4e530781dbdf5d", + "method": "tokenURI()", + "signature": "3c130d90a3a3102bb1d43caeb4a43be8c3d9837b9c8f5a1bae2d0b50edd19a88", "index": [], "indexed": 0, "eventSignature": null @@ -8801,52 +11278,53 @@ "constant": false, "inputs": [ { - "name": "destination", + "name": "spender", "type": "address" }, { - "name": "value", + "name": "amount", "type": "uint256" - }, - { - "name": "data", - "type": "bytes" } ], - "name": "submitTransaction", + "name": "approve", "outputs": [ { - "name": "transactionId", - "type": "uint256" + "name": "", + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "submitTransaction(address,uint256,bytes)", - "signature": "c6427474ff2c4baa130d285c9d32ec41c0e07b9cc4b5b273ab66f916faee964a", + "method": "approve(address,uint256)", + "signature": "095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, - "inputs": [], - "name": "MAX_OWNER_COUNT", - "outputs": [ + "inputs": [ { - "name": "", - "type": "uint256" + "name": "name", + "type": "string" + }, + { + "name": "symbol", + "type": "string" + }, + { + "name": "decimals", + "type": "uint8" } ], "payable": false, - "stateMutability": "view", - "type": "function", + "stateMutability": "nonpayable", + "type": "constructor", "__signatureData": { - "method": "MAX_OWNER_COUNT()", - "signature": "d74f8edde535768f1ff54c90926dc3dbf92d9a622a8bef11a7b8190467308d77", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null @@ -8855,123 +11333,104 @@ { "constant": true, "inputs": [], - "name": "required", + "name": "decimals", "outputs": [ { "name": "", - "type": "uint256" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", "__signatureData": { - "method": "required()", - "signature": "dc8452cd18861a7926d01a29fd774a76d0fc4e57278afa13cbc91639fcd16e1f", + "method": "decimals()", + "signature": "313ce567add4d438edf58b94ff345d7d38c45b17dfc0f947988d7819dca364f9", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, "inputs": [ { - "name": "owner", - "type": "address" - }, - { - "name": "newOwner", - "type": "address" + "name": "cap", + "type": "uint256" } ], - "name": "replaceOwner", - "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", + "type": "constructor", "__signatureData": { - "method": "replaceOwner(address,address)", - "signature": "e20056e60a9f58b726b610d5a8e40f97e687707f2f9b3f9ccdaabe2ee85aa6d4", + "method": null, + "signature": null, "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "cap", + "outputs": [ { - "name": "transactionId", + "name": "", "type": "uint256" } ], - "name": "executeTransaction", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", "__signatureData": { - "method": "executeTransaction(uint256)", - "signature": "ee22610b57af59171fe491c7d4d59b4d01c283e32b93b77db36266c6ad1b5877", + "method": "cap()", + "signature": "355274ea4c5084069935a4456a1ac3001e99e7cb12c33ca22e251b993bb2c183", "index": [], "indexed": 0, "eventSignature": null } }, { + "constant": false, "inputs": [ { - "name": "_owners", - "type": "address[]" - }, - { - "name": "_required", + "name": "amount", "type": "uint256" } ], + "name": "burn", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", + "type": "function", "__signatureData": { - "method": null, - "signature": null, + "method": "burn(uint256)", + "signature": "42966c689b5afe9b9b3f8a7103b2a19980d59629bfd6a20a60972312ed41d836", "index": [], "indexed": 0, "eventSignature": null } }, { - "constant": true, + "constant": false, "inputs": [ { - "indexed": false, - "name": "_to", + "name": "account", "type": "address" }, { - "indexed": false, - "name": "_value", + "name": "amount", "type": "uint256" - }, - { - "indexed": false, - "name": "_data", - "type": "bytes" - } - ], - "name": "transferAndCall", - "outputs": [ - { - "name": "", - "type": "bool" } ], + "name": "burnFrom", + "outputs": [], "payable": false, + "stateMutability": "nonpayable", "type": "function", "__signatureData": { - "method": "transferAndCall(address,uint256,bytes)", - "signature": "4000aea038e4acde4ff65b413088ec658ae209bdf83ccba2ffbbaa2d9ce48cde", + "method": "burnFrom(address,uint256)", + "signature": "79cc679044ee9a2021f0a26c0fdec02ac39179cd005bb971a471b7f9f17c576c", "index": [], "indexed": 0, "eventSignature": null @@ -9158,6 +11617,7 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "recipient", "type": "address" } @@ -9179,32 +11639,35 @@ "inputs": [ { "indexed": true, - "name": "from", + "internalType": "address", + "name": "owner", "type": "address" }, { "indexed": true, - "name": "to", + "internalType": "address", + "name": "spender", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "value", "type": "uint256" } ], - "name": "Transfer", + "name": "Approval", "type": "event", "__signatureData": { - "method": "Transfer(address,address,uint256)", - "signature": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "method": "Approval(address,address,uint256)", + "signature": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "index": [ true, true, false ], "indexed": 2, - "eventSignature": "9c7b1a6ce28bcb017f375ee62692e394c7c01468f747d77cbe951f0a46cb7e46" + "eventSignature": "c7d8669ee07fb153b456cd2bed49219edf650afb6c1e089e795e213ca4636b63" } }, { @@ -9212,32 +11675,35 @@ "inputs": [ { "indexed": true, - "name": "owner", + "internalType": "address", + "name": "from", "type": "address" }, { "indexed": true, - "name": "spender", + "internalType": "address", + "name": "to", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "value", "type": "uint256" } ], - "name": "Approval", + "name": "Transfer", "type": "event", "__signatureData": { - "method": "Approval(address,address,uint256)", - "signature": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "method": "Transfer(address,address,uint256)", + "signature": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "index": [ true, true, false ], "indexed": 2, - "eventSignature": "c7d8669ee07fb153b456cd2bed49219edf650afb6c1e089e795e213ca4636b63" + "eventSignature": "9c7b1a6ce28bcb017f375ee62692e394c7c01468f747d77cbe951f0a46cb7e46" } }, { @@ -9245,20 +11711,21 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } ], - "name": "WhitelistedAdded", + "name": "WhitelistAdminAdded", "type": "event", "__signatureData": { - "method": "WhitelistedAdded(address)", - "signature": "ee1504a83b6d4a361f4c1dc78ab59bfa30d6a3b6612c403e86bb01ef2984295f", + "method": "WhitelistAdminAdded(address)", + "signature": "22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd20961299", "index": [ true ], "indexed": 1, - "eventSignature": "9336231e22b867dab5542040d04e8c6df785adbb1ac02b8cbfdc95a28161b471" + "eventSignature": "67e6989e2763f5f9748a52b2f1548ee9a7617d7148619b3ed57cd7ad4c89ce4d" } }, { @@ -9266,20 +11733,21 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } ], - "name": "WhitelistedRemoved", + "name": "WhitelistAdminRemoved", "type": "event", "__signatureData": { - "method": "WhitelistedRemoved(address)", - "signature": "270d9b30cf5b0793bbfd54c9d5b94aeb49462b8148399000265144a8722da6b6", + "method": "WhitelistAdminRemoved(address)", + "signature": "0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e165", "index": [ true ], "indexed": 1, - "eventSignature": "3e172418151511c31245dc6615847969d48c97107b411294304772f374bcf0ad" + "eventSignature": "f64b031d2f6ff287e1c6f2bc038f511c7c8446b749c0140d3d21ad2192073933" } }, { @@ -9287,20 +11755,21 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } ], - "name": "WhitelistAdminAdded", + "name": "WhitelistedAdded", "type": "event", "__signatureData": { - "method": "WhitelistAdminAdded(address)", - "signature": "22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd20961299", + "method": "WhitelistedAdded(address)", + "signature": "ee1504a83b6d4a361f4c1dc78ab59bfa30d6a3b6612c403e86bb01ef2984295f", "index": [ true ], "indexed": 1, - "eventSignature": "67e6989e2763f5f9748a52b2f1548ee9a7617d7148619b3ed57cd7ad4c89ce4d" + "eventSignature": "9336231e22b867dab5542040d04e8c6df785adbb1ac02b8cbfdc95a28161b471" } }, { @@ -9308,20 +11777,21 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } ], - "name": "WhitelistAdminRemoved", + "name": "WhitelistedRemoved", "type": "event", "__signatureData": { - "method": "WhitelistAdminRemoved(address)", - "signature": "0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e165", + "method": "WhitelistedRemoved(address)", + "signature": "270d9b30cf5b0793bbfd54c9d5b94aeb49462b8148399000265144a8722da6b6", "index": [ true ], "indexed": 1, - "eventSignature": "f64b031d2f6ff287e1c6f2bc038f511c7c8446b749c0140d3d21ad2192073933" + "eventSignature": "3e172418151511c31245dc6615847969d48c97107b411294304772f374bcf0ad" } }, { @@ -9329,21 +11799,25 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "purchaser", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "beneficiary", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" } @@ -9367,27 +11841,29 @@ "anonymous": false, "inputs": [ { - "indexed": false, - "name": "token", + "indexed": true, + "internalType": "address", + "name": "previousOwner", "type": "address" }, { - "indexed": false, - "name": "amount", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" } ], - "name": "TokensReleased", + "name": "OwnershipTransferred", "type": "event", "__signatureData": { - "method": "TokensReleased(address,uint256)", - "signature": "c7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179", + "method": "OwnershipTransferred(address,address)", + "signature": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "index": [ - false, - false + true, + true ], - "indexed": 0, - "eventSignature": "02db3711eb0df97fe489267794793ab70c330d05441540e8a6fc2995da3511ed" + "indexed": 2, + "eventSignature": "3caeb92b995b79aafedafa1caa25cbfb65b7311e29c30deb24dabcec8f6b9a82" } }, { @@ -9395,6 +11871,7 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "token", "type": "address" } @@ -9415,27 +11892,29 @@ "anonymous": false, "inputs": [ { - "indexed": true, - "name": "previousOwner", + "indexed": false, + "internalType": "address", + "name": "token", "type": "address" }, { - "indexed": true, - "name": "newOwner", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "name": "OwnershipTransferred", + "name": "TokensReleased", "type": "event", "__signatureData": { - "method": "OwnershipTransferred(address,address)", - "signature": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "method": "TokensReleased(address,uint256)", + "signature": "c7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179", "index": [ - true, - true + false, + false ], - "indexed": 2, - "eventSignature": "3caeb92b995b79aafedafa1caa25cbfb65b7311e29c30deb24dabcec8f6b9a82" + "indexed": 0, + "eventSignature": "02db3711eb0df97fe489267794793ab70c330d05441540e8a6fc2995da3511ed" } }, { @@ -9443,11 +11922,13 @@ "inputs": [ { "indexed": false, + "internalType": "uint256", "name": "prevClosingTime", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "newClosingTime", "type": "uint256" } @@ -9470,6 +11951,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9491,6 +11973,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9512,6 +11995,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9533,6 +12017,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9562,42 +12047,18 @@ "eventSignature": "9270cc390c096600a1c17c44345a1ba689fafd99d97487b10cfccf86cf731836" } }, - { - "anonymous": false, - "inputs": [], - "name": "RefundsClosed", - "type": "event", - "__signatureData": { - "method": "RefundsClosed()", - "signature": "088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f", - "index": [], - "indexed": 0, - "eventSignature": "088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f" - } - }, - { - "anonymous": false, - "inputs": [], - "name": "RefundsEnabled", - "type": "event", - "__signatureData": { - "method": "RefundsEnabled()", - "signature": "599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89", - "index": [], - "indexed": 0, - "eventSignature": "599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89" - } - }, { "anonymous": false, "inputs": [ { "indexed": true, + "internalType": "address", "name": "payee", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "weiAmount", "type": "uint256" } @@ -9615,16 +12076,44 @@ "eventSignature": "f3cfbfbac77890a74b67531fe3b229cc981c138b288016538ab25faeb5297748" } }, + { + "anonymous": false, + "inputs": [], + "name": "RefundsClosed", + "type": "event", + "__signatureData": { + "method": "RefundsClosed()", + "signature": "088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f", + "index": [], + "indexed": 0, + "eventSignature": "088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f" + } + }, + { + "anonymous": false, + "inputs": [], + "name": "RefundsEnabled", + "type": "event", + "__signatureData": { + "method": "RefundsEnabled()", + "signature": "599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89", + "index": [], + "indexed": 0, + "eventSignature": "599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89" + } + }, { "anonymous": false, "inputs": [ { "indexed": true, + "internalType": "address", "name": "payee", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "weiAmount", "type": "uint256" } @@ -9647,11 +12136,13 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "shares", "type": "uint256" } @@ -9674,26 +12165,28 @@ "inputs": [ { "indexed": false, - "name": "to", + "internalType": "address", + "name": "from", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "PaymentReleased", + "name": "PaymentReceived", "type": "event", "__signatureData": { - "method": "PaymentReleased(address,uint256)", - "signature": "df20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056", + "method": "PaymentReceived(address,uint256)", + "signature": "6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be770", "index": [ false, false ], "indexed": 0, - "eventSignature": "db424b1713867a4b9700d3e51d84caaec00f54e9c90d51ab3a0e1f440358cb3b" + "eventSignature": "0cc0c12213151cb2f76744da3e56fd7bd753d7e48599303461b350e04d6b5181" } }, { @@ -9701,26 +12194,28 @@ "inputs": [ { "indexed": false, - "name": "from", + "internalType": "address", + "name": "to", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "PaymentReceived", + "name": "PaymentReleased", "type": "event", "__signatureData": { - "method": "PaymentReceived(address,uint256)", - "signature": "6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be770", + "method": "PaymentReleased(address,uint256)", + "signature": "df20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056", "index": [ false, false ], "indexed": 0, - "eventSignature": "0cc0c12213151cb2f76744da3e56fd7bd753d7e48599303461b350e04d6b5181" + "eventSignature": "db424b1713867a4b9700d3e51d84caaec00f54e9c90d51ab3a0e1f440358cb3b" } }, { @@ -9728,6 +12223,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9749,6 +12245,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9770,6 +12267,7 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "account", "type": "address" } @@ -9791,6 +12289,7 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "account", "type": "address" } @@ -9812,6 +12311,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9833,6 +12333,7 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" } @@ -9854,32 +12355,49 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "relay", "type": "address" }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, { "indexed": false, - "name": "stake", - "type": "uint256" + "internalType": "bytes4", + "name": "selector", + "type": "bytes4" }, { "indexed": false, - "name": "unstakeDelay", + "internalType": "uint256", + "name": "reason", "type": "uint256" } ], - "name": "Staked", + "name": "CanRelayFailed", "type": "event", "__signatureData": { - "method": "Staked(address,uint256,uint256)", - "signature": "1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90", + "method": "CanRelayFailed(address,address,address,bytes4,uint256)", + "signature": "afb5afd6d1c2e8ffbfb480e674a169f493ece0b22658d4f4484e7334f0241e22", "index": [ + true, + true, true, false, false ], - "indexed": 1, - "eventSignature": "866a84c3f9aeb093e2ed8da68f59fec2c0971ee8b15c04c6eb15637f24547150" + "indexed": 3, + "eventSignature": "6246ddc1cc93e5818d257ca595114ddd2fd834dd28e80d8fadf4128b1b50b817" } }, { @@ -9887,50 +12405,35 @@ "inputs": [ { "indexed": true, - "name": "relay", + "internalType": "address", + "name": "recipient", "type": "address" }, { "indexed": true, - "name": "owner", + "internalType": "address", + "name": "from", "type": "address" }, { "indexed": false, - "name": "transactionFee", - "type": "uint256" - }, - { - "indexed": false, - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "name": "unstakeDelay", + "internalType": "uint256", + "name": "amount", "type": "uint256" - }, - { - "indexed": false, - "name": "url", - "type": "string" } ], - "name": "RelayAdded", + "name": "Deposited", "type": "event", "__signatureData": { - "method": "RelayAdded(address,address,uint256,uint256,uint256,string)", - "signature": "85b3ae3aae9d3fcb31142fbd8c3b4722d57825b8edd6e1366e69204afa5a0dfa", + "method": "Deposited(address,address,uint256)", + "signature": "8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a7", "index": [ true, true, - false, - false, - false, false ], "indexed": 2, - "eventSignature": "a010a6bcf7b5930fdbd642b6d69171ef53492d7ec2ff6f3a0bfd938924a04848" + "eventSignature": "797e51340ec17e6b1c56dac14c59854d8571c6e20f423c47787c023ebaa79fd9" } }, { @@ -9938,53 +12441,35 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "relay", "type": "address" }, { "indexed": false, - "name": "unstakeTime", - "type": "uint256" - } - ], - "name": "RelayRemoved", - "type": "event", - "__signatureData": { - "method": "RelayRemoved(address,uint256)", - "signature": "5490afc1d818789c8b3d5d63bce3d2a3327d0bba4efb5a7751f783dc977d7d11", - "index": [ - true, - false - ], - "indexed": 1, - "eventSignature": "76d3e427a904ff3e9d6e769ffdc8d45d9a15ccc490df2b6ef20d714d469b478a" - } - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "relay", + "internalType": "address", + "name": "sender", "type": "address" }, { "indexed": false, - "name": "stake", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "Unstaked", + "name": "Penalized", "type": "event", "__signatureData": { - "method": "Unstaked(address,uint256)", - "signature": "0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75", + "method": "Penalized(address,address,uint256)", + "signature": "b0595266ccec357806b2691f348b128209f1060a0bda4f5c95f7090730351ff8", "index": [ true, + false, false ], "indexed": 1, - "eventSignature": "7b0523b2f18848528150d0f26cee4fca3ed681a33b92b5024efd04a83cf76c54" + "eventSignature": "15f5b18190245966e1819276c43b6197a82443a6934cafb8dc5e3dd2be1bba5b" } }, { @@ -9992,32 +12477,56 @@ "inputs": [ { "indexed": true, - "name": "recipient", + "internalType": "address", + "name": "relay", "type": "address" }, { "indexed": true, - "name": "from", + "internalType": "address", + "name": "owner", "type": "address" }, { "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "transactionFee", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "unstakeDelay", "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "url", + "type": "string" } ], - "name": "Deposited", + "name": "RelayAdded", "type": "event", "__signatureData": { - "method": "Deposited(address,address,uint256)", - "signature": "8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a7", + "method": "RelayAdded(address,address,uint256,uint256,uint256,string)", + "signature": "85b3ae3aae9d3fcb31142fbd8c3b4722d57825b8edd6e1366e69204afa5a0dfa", "index": [ true, true, + false, + false, + false, false ], "indexed": 2, - "eventSignature": "797e51340ec17e6b1c56dac14c59854d8571c6e20f423c47787c023ebaa79fd9" + "eventSignature": "a010a6bcf7b5930fdbd642b6d69171ef53492d7ec2ff6f3a0bfd938924a04848" } }, { @@ -10025,32 +12534,28 @@ "inputs": [ { "indexed": true, - "name": "account", - "type": "address" - }, - { - "indexed": true, - "name": "dest", + "internalType": "address", + "name": "relay", "type": "address" }, { "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "unstakeTime", "type": "uint256" } ], - "name": "Withdrawn", + "name": "RelayRemoved", "type": "event", "__signatureData": { - "method": "Withdrawn(address,address,uint256)", - "signature": "d1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb", + "method": "RelayRemoved(address,uint256)", + "signature": "5490afc1d818789c8b3d5d63bce3d2a3327d0bba4efb5a7751f783dc977d7d11", "index": [ - true, true, false ], - "indexed": 2, - "eventSignature": "0e2d030650760d3871e054ffa9c47786dcf177cc303105369a8e9f342c8b029d" + "indexed": 1, + "eventSignature": "76d3e427a904ff3e9d6e769ffdc8d45d9a15ccc490df2b6ef20d714d469b478a" } }, { @@ -10058,44 +12563,35 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "relay", "type": "address" }, - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, { "indexed": false, - "name": "selector", - "type": "bytes4" + "internalType": "uint256", + "name": "stake", + "type": "uint256" }, { "indexed": false, - "name": "reason", + "internalType": "uint256", + "name": "unstakeDelay", "type": "uint256" } ], - "name": "CanRelayFailed", + "name": "Staked", "type": "event", - "__signatureData": { - "method": "CanRelayFailed(address,address,address,bytes4,uint256)", - "signature": "afb5afd6d1c2e8ffbfb480e674a169f493ece0b22658d4f4484e7334f0241e22", + "__signatureData": { + "method": "Staked(address,uint256,uint256)", + "signature": "1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90", "index": [ - true, - true, true, false, false ], - "indexed": 3, - "eventSignature": "6246ddc1cc93e5818d257ca595114ddd2fd834dd28e80d8fadf4128b1b50b817" + "indexed": 1, + "eventSignature": "866a84c3f9aeb093e2ed8da68f59fec2c0971ee8b15c04c6eb15637f24547150" } }, { @@ -10103,31 +12599,37 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "relay", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, + "internalType": "bytes4", "name": "selector", "type": "bytes4" }, { "indexed": false, + "internalType": "enum IRelayHub.RelayCallStatus", "name": "status", "type": "uint8" }, { "indexed": false, + "internalType": "uint256", "name": "charge", "type": "uint256" } @@ -10154,32 +12656,28 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "relay", "type": "address" }, { "indexed": false, - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "name": "amount", + "internalType": "uint256", + "name": "stake", "type": "uint256" } ], - "name": "Penalized", + "name": "Unstaked", "type": "event", "__signatureData": { - "method": "Penalized(address,address,uint256)", - "signature": "b0595266ccec357806b2691f348b128209f1060a0bda4f5c95f7090730351ff8", + "method": "Unstaked(address,uint256)", + "signature": "0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75", "index": [ true, - false, false ], "indexed": 1, - "eventSignature": "15f5b18190245966e1819276c43b6197a82443a6934cafb8dc5e3dd2be1bba5b" + "eventSignature": "7b0523b2f18848528150d0f26cee4fca3ed681a33b92b5024efd04a83cf76c54" } }, { @@ -10187,50 +12685,35 @@ "inputs": [ { "indexed": true, - "name": "operator", - "type": "address" - }, - { - "indexed": true, - "name": "from", + "internalType": "address", + "name": "account", "type": "address" }, { "indexed": true, - "name": "to", + "internalType": "address", + "name": "dest", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "name": "operatorData", - "type": "bytes" } ], - "name": "Sent", + "name": "Withdrawn", "type": "event", "__signatureData": { - "method": "Sent(address,address,address,uint256,bytes,bytes)", - "signature": "06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987", + "method": "Withdrawn(address,address,uint256)", + "signature": "d1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb", "index": [ true, true, - true, - false, - false, false ], - "indexed": 3, - "eventSignature": "79a60acac19908bc2b59dffabec387f74ee66e75ba7dc244aa9b4bd344c7238d" + "indexed": 2, + "eventSignature": "0e2d030650760d3871e054ffa9c47786dcf177cc303105369a8e9f342c8b029d" } }, { @@ -10238,44 +12721,28 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, - "name": "to", + "internalType": "address", + "name": "tokenHolder", "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "name": "operatorData", - "type": "bytes" } ], - "name": "Minted", + "name": "AuthorizedOperator", "type": "event", "__signatureData": { - "method": "Minted(address,address,uint256,bytes,bytes)", - "signature": "2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d", + "method": "AuthorizedOperator(address,address)", + "signature": "f4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f9", "index": [ true, - true, - false, - false, - false + true ], "indexed": 2, - "eventSignature": "1de3dae660a62c3814b302291e4855fce531cc3976d3a1aa413df1f10af99545" + "eventSignature": "675fb7391622d0d5bc83dff94c6200ee5e8fbc9070d5be471897305f97d69594" } }, { @@ -10283,26 +12750,31 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, + "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, + "internalType": "bytes", "name": "operatorData", "type": "bytes" } @@ -10328,26 +12800,49 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, - "name": "tokenHolder", + "internalType": "address", + "name": "to", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "operatorData", + "type": "bytes" } ], - "name": "AuthorizedOperator", + "name": "Minted", "type": "event", "__signatureData": { - "method": "AuthorizedOperator(address,address)", - "signature": "f4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f9", + "method": "Minted(address,address,uint256,bytes,bytes)", + "signature": "2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d", "index": [ true, - true + true, + false, + false, + false ], "indexed": 2, - "eventSignature": "675fb7391622d0d5bc83dff94c6200ee5e8fbc9070d5be471897305f97d69594" + "eventSignature": "1de3dae660a62c3814b302291e4855fce531cc3976d3a1aa413df1f10af99545" } }, { @@ -10355,11 +12850,13 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "tokenHolder", "type": "address" } @@ -10382,32 +12879,56 @@ "inputs": [ { "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "to", "type": "address" }, { - "indexed": true, - "name": "tokenId", + "indexed": false, + "internalType": "uint256", + "name": "amount", "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "operatorData", + "type": "bytes" } ], - "name": "Transfer", + "name": "Sent", "type": "event", "__signatureData": { - "method": "Transfer(address,address,uint256)", - "signature": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "method": "Sent(address,address,address,uint256,bytes,bytes)", + "signature": "06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987", "index": [ true, true, - true + true, + false, + false, + false ], "indexed": 3, - "eventSignature": "effeccbe276a467191ec04459969a28b1271df483a196057d8091645c1501cfd" + "eventSignature": "79a60acac19908bc2b59dffabec387f74ee66e75ba7dc244aa9b4bd344c7238d" } }, { @@ -10415,16 +12936,19 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, + "internalType": "uint256", "name": "tokenId", "type": "uint256" } @@ -10448,16 +12972,19 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, + "internalType": "bool", "name": "approved", "type": "bool" } @@ -10481,16 +13008,55 @@ "inputs": [ { "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "__signatureData": { + "method": "Transfer(address,address,uint256)", + "signature": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "index": [ + true, + true, + true + ], + "indexed": 3, + "eventSignature": "effeccbe276a467191ec04459969a28b1271df483a196057d8091645c1501cfd" + } + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, + "internalType": "bytes32", "name": "interfaceHash", "type": "bytes32" }, { "indexed": true, + "internalType": "address", "name": "implementer", "type": "address" } @@ -10514,11 +13080,13 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "newManager", "type": "address" } @@ -10554,11 +13122,13 @@ "inputs": [ { "indexed": true, + "internalType": "address", "name": "oldRelayHub", "type": "address" }, { "indexed": true, + "internalType": "address", "name": "newRelayHub", "type": "address" } @@ -10581,37 +13151,19 @@ "inputs": [ { "indexed": false, - "name": "sender", - "type": "address" - } - ], - "name": "Sender", - "type": "event", - "__signatureData": { - "method": "Sender(address)", - "signature": "d6558c3ed910d959271054471fd1c326679d9fece99c5091b00ed89627cf2bfc", - "index": [ - false - ], - "indexed": 0, - "eventSignature": "175a6649fb5c0c27c88482127893f59c0b7faee84ad3d90ec9f0d83811d2c3e8" - } - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, + "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, + "internalType": "uint256", "name": "integerValue", "type": "uint256" }, { "indexed": false, + "internalType": "string", "name": "stringValue", "type": "string" } @@ -10635,6 +13187,29 @@ "inputs": [ { "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Sender", + "type": "event", + "__signatureData": { + "method": "Sender(address)", + "signature": "d6558c3ed910d959271054471fd1c326679d9fece99c5091b00ed89627cf2bfc", + "index": [ + false + ], + "indexed": 0, + "eventSignature": "175a6649fb5c0c27c88482127893f59c0b7faee84ad3d90ec9f0d83811d2c3e8" + } + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", "name": "senderBalance", "type": "uint256" } @@ -10656,55 +13231,86 @@ "inputs": [ { "indexed": false, + "internalType": "bool", + "name": "result", + "type": "bool" + } + ], + "name": "TransactionResult", + "type": "event", + "__signatureData": { + "method": "TransactionResult(bool)", + "signature": "5f2d66b608a7b4bfa43b7e9ba385022741152c97499b8a8abcd5c27258417b5a", + "index": [ + false + ], + "indexed": 0, + "eventSignature": "c50ffabeccb2a0503b5cfc61ec812616a1749e58efbc7c86206787021b0253a8" + } + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, + "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, + "internalType": "bytes", "name": "operatorData", "type": "bytes" }, { "indexed": false, + "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "fromBalance", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "toBalance", "type": "uint256" } ], - "name": "TokensToSendCalled", + "name": "TokensReceivedCalled", "type": "event", "__signatureData": { - "method": "TokensToSendCalled(address,address,address,uint256,bytes,bytes,address,uint256,uint256)", - "signature": "aa3e88aca472e90221daf7d3d601abafb62b120319089d7a2c2f63588da85529", + "method": "TokensReceivedCalled(address,address,address,uint256,bytes,bytes,address,uint256,uint256)", + "signature": "47e915878c47f3ec4d7ff646a2becb229f64fd2abe4d2b5e2bb4275b0cf50d4e", "index": [ false, false, @@ -10717,7 +13323,7 @@ false ], "indexed": 0, - "eventSignature": "47f470940c78bab452bbad82488a53936f27c3ae1c870c85062675ebfbdd1e70" + "eventSignature": "68c6768a2b60c20a4720c4df07bfa1e2ae8048b06ec535671e097366a2cf4b71" } }, { @@ -10725,55 +13331,64 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, + "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, + "internalType": "bytes", "name": "operatorData", "type": "bytes" }, { "indexed": false, + "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "fromBalance", "type": "uint256" }, { "indexed": false, + "internalType": "uint256", "name": "toBalance", "type": "uint256" } ], - "name": "TokensReceivedCalled", + "name": "TokensToSendCalled", "type": "event", "__signatureData": { - "method": "TokensReceivedCalled(address,address,address,uint256,bytes,bytes,address,uint256,uint256)", - "signature": "47e915878c47f3ec4d7ff646a2becb229f64fd2abe4d2b5e2bb4275b0cf50d4e", + "method": "TokensToSendCalled(address,address,address,uint256,bytes,bytes,address,uint256,uint256)", + "signature": "aa3e88aca472e90221daf7d3d601abafb62b120319089d7a2c2f63588da85529", "index": [ false, false, @@ -10786,7 +13401,7 @@ false ], "indexed": 0, - "eventSignature": "68c6768a2b60c20a4720c4df07bfa1e2ae8048b06ec535671e097366a2cf4b71" + "eventSignature": "47f470940c78bab452bbad82488a53936f27c3ae1c870c85062675ebfbdd1e70" } }, { @@ -10794,26 +13409,31 @@ "inputs": [ { "indexed": false, + "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, + "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": false, + "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, + "internalType": "uint256", "name": "gas", "type": "uint256" } @@ -10839,6 +13459,7 @@ "inputs": [ { "indexed": false, + "internalType": "uint256", "name": "id", "type": "uint256" } diff --git a/src/lib/nativeContracts/NativeContractsDecoder.js b/src/lib/nativeContracts/NativeContractsDecoder.js index 99b414c..70ce5a4 100644 --- a/src/lib/nativeContracts/NativeContractsDecoder.js +++ b/src/lib/nativeContracts/NativeContractsDecoder.js @@ -1,12 +1,11 @@ import NativeContractsEvents from './NativeContractsEvents' import EventDecoder from '../EventDecoder' -import bridgeAbi from './bridgeAbi' +import { getBridgeAbi } from './bridgeAbi' import { addSignatureDataToAbi } from '../utils' -export const ABI = addSignatureDataToAbi(bridgeAbi) - -export default function NativeContractsEventDecoder ({ bitcoinNetwork }) { +export default function NativeContractsEventDecoder ({ bitcoinNetwork, txBlockNumber }) { const nativeDecoder = NativeContractsEvents({ bitcoinNetwork }) + const ABI = addSignatureDataToAbi(getBridgeAbi({ txBlockNumber, bitcoinNetwork })) const solidityDecoder = EventDecoder(ABI) const getEventDecoder = log => { diff --git a/src/lib/nativeContracts/bridge-fingerroot.json b/src/lib/nativeContracts/bridge-fingerroot.json new file mode 100644 index 0000000..82bc596 --- /dev/null +++ b/src/lib/nativeContracts/bridge-fingerroot.json @@ -0,0 +1,1246 @@ +[ + { + "name": "getBtcBlockchainBestChainHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getStateForBtcReleaseClient", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getStateForDebugging", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainInitialBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getBtcBlockchainBlockHashAtDepth", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "depth", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcTxHashProcessedHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int64" + } + ] + }, + { + "name": "isBtcTxHashAlreadyProcessed", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "getFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "registerBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "tx", + "type": "bytes" + }, + { + "name": "height", + "type": "int256" + }, + { + "name": "pmt", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "addSignature", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "pubkey", + "type": "bytes" + }, + { + "name": "signatures", + "type": "bytes[]" + }, + { + "name": "txhash", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "receiveHeaders", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blocks", + "type": "bytes[]" + } + ], + "outputs": [] + }, + { + "name": "receiveHeader", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "block", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getRetiringFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "createFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "key", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKeyMultikey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "btcKey", + "type": "bytes" + }, + { + "name": "rskKey", + "type": "bytes" + }, + { + "name": "mstKey", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "commitFederation", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "hash", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "rollbackFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederationHash", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getLockWhitelistSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockWhitelistAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getLockWhitelistEntryByAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addOneOffLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addUnlimitedLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "removeLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "setLockWhitelistDisableBlockDelay", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "disableDelay", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFeePerKb", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "voteFeePerKbChange", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "feePerKb", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "updateCollections", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [] + }, + { + "name": "getMinimumLockTxValue", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getBtcTransactionConfirmations", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "txHash", + "type": "bytes32" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "merkleBranchPath", + "type": "uint256" + }, + { + "name": "merkleBranchHashes", + "type": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockingCap", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "increaseLockingCap", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "newLockingCap", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerBtcCoinbaseTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "witnessMerkleRoot", + "type": "bytes32" + }, { + "name": "witnessReservedValue", + "type": "bytes32" + } + ], + "outputs": [] + }, + { + "name": "hasBtcBlockCoinbaseTransactionInformation", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerFastBridgeBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "height", + "type": "uint256" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "derivationArgumentsHash", + "type": "bytes32" + }, + { + "name": "userRefundBtcAddress", + "type": "bytes" + }, + { + "name": "liquidityBridgeContractAddress", + "type": "address" + }, + { + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "name": "shouldTransferToContract", + "type": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getActiveFederationCreationBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getBtcBlockchainBestBlockHeader", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHeight", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainParentBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getEstimatedFeesForNextPegOutEvent", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getNextPegoutCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getQueuedPegoutsCount", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "releaseBtc", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [] + }, + { + "name": "getActivePowpegRedeemScript", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": false, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "senderBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + } + ], + "name": "lock_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "sender", + "type": "address" + } + ], + "name": "update_collections", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "federatorRskAddress", + "type": "address" + }, + { + "indexed": false, + "name": "federatorBtcPublicKey", + "type": "bytes" + } + ], + "name": "add_signature", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "btcRawTransaction", + "type": "bytes" + } + ], + "name": "release_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "oldFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "newFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "newFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "activationHeight", + "type": "int256" + } + ], + "name": "commit_federation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "rskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_requested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + }, + { + "indexed": false, + "name": "protocolVersion", + "type": "int256" + } + ], + "name": "pegin_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "rejected_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "unrefundable_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "btcDestinationAddress", + "type": "string" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_request_received", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "release_request_rejected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "releaseRskTxHashes", + "type": "bytes" + } + ], + "name": "batch_pegout_created", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "pegoutCreationRskBlockNumber", + "type": "uint256" + } + ], + "name": "pegout_confirmed", + "type": "event" + } +] \ No newline at end of file diff --git a/src/lib/nativeContracts/bridge-hop.json b/src/lib/nativeContracts/bridge-hop.json new file mode 100644 index 0000000..1549506 --- /dev/null +++ b/src/lib/nativeContracts/bridge-hop.json @@ -0,0 +1,1229 @@ +[ + { + "name": "getBtcBlockchainBestChainHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getStateForBtcReleaseClient", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getStateForDebugging", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainInitialBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getBtcBlockchainBlockHashAtDepth", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "depth", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcTxHashProcessedHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int64" + } + ] + }, + { + "name": "isBtcTxHashAlreadyProcessed", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "getFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "registerBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "tx", + "type": "bytes" + }, + { + "name": "height", + "type": "int256" + }, + { + "name": "pmt", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "addSignature", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "pubkey", + "type": "bytes" + }, + { + "name": "signatures", + "type": "bytes[]" + }, + { + "name": "txhash", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "receiveHeaders", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blocks", + "type": "bytes[]" + } + ], + "outputs": [] + }, + { + "name": "receiveHeader", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "block", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getRetiringFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "createFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "key", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKeyMultikey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "btcKey", + "type": "bytes" + }, + { + "name": "rskKey", + "type": "bytes" + }, + { + "name": "mstKey", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "commitFederation", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "hash", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "rollbackFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederationHash", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getLockWhitelistSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockWhitelistAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getLockWhitelistEntryByAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addOneOffLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addUnlimitedLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "removeLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "setLockWhitelistDisableBlockDelay", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "disableDelay", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFeePerKb", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "voteFeePerKbChange", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "feePerKb", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "updateCollections", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [] + }, + { + "name": "getMinimumLockTxValue", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getBtcTransactionConfirmations", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "txHash", + "type": "bytes32" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "merkleBranchPath", + "type": "uint256" + }, + { + "name": "merkleBranchHashes", + "type": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockingCap", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "increaseLockingCap", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "newLockingCap", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerBtcCoinbaseTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "witnessMerkleRoot", + "type": "bytes32" + }, { + "name": "witnessReservedValue", + "type": "bytes32" + } + ], + "outputs": [] + }, + { + "name": "hasBtcBlockCoinbaseTransactionInformation", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerFastBridgeBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "height", + "type": "uint256" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "derivationArgumentsHash", + "type": "bytes32" + }, + { + "name": "userRefundBtcAddress", + "type": "bytes" + }, + { + "name": "liquidityBridgeContractAddress", + "type": "address" + }, + { + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "name": "shouldTransferToContract", + "type": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getActiveFederationCreationBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getBtcBlockchainBestBlockHeader", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHeight", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainParentBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getEstimatedFeesForNextPegOutEvent", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getNextPegoutCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getQueuedPegoutsCount", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "releaseBtc", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [] + }, + { + "name": "getActivePowpegRedeemScript", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": false, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "senderBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + } + ], + "name": "lock_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "sender", + "type": "address" + } + ], + "name": "update_collections", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "federatorRskAddress", + "type": "address" + }, + { + "indexed": false, + "name": "federatorBtcPublicKey", + "type": "bytes" + } + ], + "name": "add_signature", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "btcRawTransaction", + "type": "bytes" + } + ], + "name": "release_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "oldFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "newFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "newFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "activationHeight", + "type": "int256" + } + ], + "name": "commit_federation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "rskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_requested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + }, + { + "indexed": false, + "name": "protocolVersion", + "type": "int256" + } + ], + "name": "pegin_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "rejected_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "unrefundable_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "btcDestinationAddress", + "type": "bytes" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_request_received", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "release_request_rejected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "releaseRskTxHashes", + "type": "bytes" + } + ], + "name": "batch_pegout_created", + "type": "event" + } +] \ No newline at end of file diff --git a/src/lib/nativeContracts/bridge-iris.json b/src/lib/nativeContracts/bridge-iris.json new file mode 100644 index 0000000..1fbd3dc --- /dev/null +++ b/src/lib/nativeContracts/bridge-iris.json @@ -0,0 +1,1157 @@ +[ + { + "name": "getBtcBlockchainBestChainHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getStateForBtcReleaseClient", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getStateForDebugging", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainInitialBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int" + } + ] + }, + { + "name": "getBtcBlockchainBlockHashAtDepth", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "depth", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcTxHashProcessedHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int64" + } + ] + }, + { + "name": "isBtcTxHashAlreadyProcessed", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "hash", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "getFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "registerBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "tx", + "type": "bytes" + }, + { + "name": "height", + "type": "int256" + }, + { + "name": "pmt", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "addSignature", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "pubkey", + "type": "bytes" + }, + { + "name": "signatures", + "type": "bytes[]" + }, + { + "name": "txhash", + "type": "bytes" + } + ], + "outputs": [] + }, + { + "name": "receiveHeaders", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blocks", + "type": "bytes[]" + } + ], + "outputs": [] + }, + { + "name": "receiveHeader", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "block", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getRetiringFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getRetiringFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getRetiringFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "createFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "key", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addFederatorPublicKeyMultikey", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "btcKey", + "type": "bytes" + }, + { + "name": "rskKey", + "type": "bytes" + }, + { + "name": "mstKey", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "commitFederation", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "hash", + "type": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "rollbackFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederationHash", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getPendingFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getPendingFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + }, + { + "name": "type", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getLockWhitelistSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockWhitelistAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "index", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "string" + } + ] + }, + { + "name": "getLockWhitelistEntryByAddress", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addOneOffLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + }, + { + "name": "maxTransferValue", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "addUnlimitedLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "removeLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "address", + "type": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "setLockWhitelistDisableBlockDelay", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "disableDelay", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getFeePerKb", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "voteFeePerKbChange", + "type": "function", + "constant": false, + "inputs": [ + { + "name": "feePerKb", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "updateCollections", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [] + }, + { + "name": "getMinimumLockTxValue", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getBtcTransactionConfirmations", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "txHash", + "type": "bytes32" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "merkleBranchPath", + "type": "uint256" + }, + { + "name": "merkleBranchHashes", + "type": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getLockingCap", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "increaseLockingCap", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "newLockingCap", + "type": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerBtcCoinbaseTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "blockHash", + "type": "bytes32" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "witnessMerkleRoot", + "type": "bytes32" + }, { + "name": "witnessReservedValue", + "type": "bytes32" + } + ], + "outputs": [] + }, + { + "name": "hasBtcBlockCoinbaseTransactionInformation", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "blockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool" + } + ] + }, + { + "name": "registerFastBridgeBtcTransaction", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "name": "height", + "type": "uint256" + }, + { + "name": "pmtSerialized", + "type": "bytes" + }, + { + "name": "derivationArgumentsHash", + "type": "bytes32" + }, + { + "name": "userRefundBtcAddress", + "type": "bytes" + }, + { + "name": "liquidityBridgeContractAddress", + "type": "address" + }, + { + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "name": "shouldTransferToContract", + "type": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "int256" + } + ] + }, + { + "name": "getActiveFederationCreationBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256" + } + ] + }, + { + "name": "getBtcBlockchainBestBlockHeader", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainBlockHeaderByHeight", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHeight", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "name": "getBtcBlockchainParentBlockHeaderByHash", + "type": "function", + "constant": true, + "inputs": [ + { + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes" + } + ] + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": false, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "senderBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + } + ], + "name": "lock_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "sender", + "type": "address" + } + ], + "name": "update_collections", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "federatorRskAddress", + "type": "address" + }, + { + "indexed": false, + "name": "federatorBtcPublicKey", + "type": "bytes" + } + ], + "name": "add_signature", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "releaseRskTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "btcRawTransaction", + "type": "bytes" + } + ], + "name": "release_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "oldFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "newFederationBtcPublicKeys", + "type": "bytes" + }, + { + "indexed": false, + "name": "newFederationBtcAddress", + "type": "string" + }, + { + "indexed": false, + "name": "activationHeight", + "type": "int256" + } + ], + "name": "commit_federation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "rskTxHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_requested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + }, + { + "indexed": false, + "name": "protocolVersion", + "type": "int256" + } + ], + "name": "pegin_btc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "rejected_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "btcTxHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "unrefundable_pegin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "btcDestinationAddress", + "type": "bytes" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "release_request_received", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "reason", + "type": "int256" + } + ], + "name": "release_request_rejected", + "type": "event" + } +] \ No newline at end of file diff --git a/src/lib/nativeContracts/bridge-orchid.json b/src/lib/nativeContracts/bridge-orchid.json new file mode 100644 index 0000000..5b5a145 --- /dev/null +++ b/src/lib/nativeContracts/bridge-orchid.json @@ -0,0 +1,409 @@ +[{ + "name": "getBtcBlockchainBestChainHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int" + }] +}, { + "name": "getStateForDebugging", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getBtcBlockchainInitialBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int" + }] +}, { + "name": "getBtcBlockchainBlockHashAtDepth", + "type": "function", + "constant": true, + "inputs": [{ + "name": "depth", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getBtcTxHashProcessedHeight", + "type": "function", + "constant": true, + "inputs": [{ + "name": "hash", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int64" + }] +}, { + "name": "isBtcTxHashAlreadyProcessed", + "type": "function", + "constant": true, + "inputs": [{ + "name": "hash", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "bool" + }] +}, { + "name": "getFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "registerBtcTransaction", + "type": "function", + "constant": true, + "inputs": [{ + "name": "tx", + "type": "bytes" + }, { + "name": "height", + "type": "int256" + }, { + "name": "pmt", + "type": "bytes" + }], + "outputs": [] +}, { + "name": "addSignature", + "type": "function", + "constant": true, + "inputs": [{ + "name": "pubkey", + "type": "bytes" + }, { + "name": "signatures", + "type": "bytes[]" + }, { + "name": "txhash", + "type": "bytes" + }], + "outputs": [] +}, { + "name": "receiveHeaders", + "type": "function", + "constant": true, + "inputs": [{ + "name": "blocks", + "type": "bytes[]" + }], + "outputs": [] +}, { + "name": "getFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "getRetiringFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getRetiringFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "createFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addFederatorPublicKey", + "type": "function", + "constant": false, + "inputs": [{ + "name": "key", + "type": "bytes" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "commitFederation", + "type": "function", + "constant": false, + "inputs": [{ + "name": "hash", + "type": "bytes" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "rollbackFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getPendingFederationHash", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getPendingFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getPendingFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getLockWhitelistSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getLockWhitelistAddress", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "getLockWhitelistEntryByAddress", + "type": "function", + "constant": true, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addOneOffLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + },{ + "name": "maxTransferValue", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addUnlimitedLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "removeLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "setLockWhitelistDisableBlockDelay", + "type": "function", + "constant": false, + "inputs": [{ + "name": "disableDelay", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFeePerKb", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "voteFeePerKbChange", + "type": "function", + "constant": false, + "inputs": [{ + "name": "feePerKb", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "updateCollections", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [] +}, { + "name": "getMinimumLockTxValue", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}] \ No newline at end of file diff --git a/src/lib/nativeContracts/bridge.json b/src/lib/nativeContracts/bridge-papyrus.json similarity index 99% rename from src/lib/nativeContracts/bridge.json rename to src/lib/nativeContracts/bridge-papyrus.json index 0caab55..95f2f97 100644 --- a/src/lib/nativeContracts/bridge.json +++ b/src/lib/nativeContracts/bridge-papyrus.json @@ -912,4 +912,4 @@ "name": "release_requested", "type": "event" } -] +] \ No newline at end of file diff --git a/src/lib/nativeContracts/bridge-wasabi.json b/src/lib/nativeContracts/bridge-wasabi.json new file mode 100644 index 0000000..5fbbea9 --- /dev/null +++ b/src/lib/nativeContracts/bridge-wasabi.json @@ -0,0 +1,508 @@ +[{ + "name": "getBtcBlockchainBestChainHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int" + }] +}, { + "name": "getStateForDebugging", + "type": "function", + "constant": "true", + "inputs": [], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getBtcBlockchainInitialBlockHeight", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int" + }] +}, { + "name": "getBtcBlockchainBlockHashAtDepth", + "type": "function", + "constant": true, + "inputs": [{ + "name": "depth", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getBtcTxHashProcessedHeight", + "type": "function", + "constant": true, + "inputs": [{ + "name": "hash", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int64" + }] +}, { + "name": "isBtcTxHashAlreadyProcessed", + "type": "function", + "constant": true, + "inputs": [{ + "name": "hash", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "bool" + }] +}, { + "name": "getFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "registerBtcTransaction", + "type": "function", + "constant": true, + "inputs": [{ + "name": "tx", + "type": "bytes" + }, { + "name": "height", + "type": "int256" + }, { + "name": "pmt", + "type": "bytes" + }], + "outputs": [] +}, { + "name": "addSignature", + "type": "function", + "constant": true, + "inputs": [{ + "name": "pubkey", + "type": "bytes" + }, { + "name": "signatures", + "type": "bytes[]" + }, { + "name": "txhash", + "type": "bytes" + }], + "outputs": [] +}, { + "name": "receiveHeaders", + "type": "function", + "constant": true, + "inputs": [{ + "name": "blocks", + "type": "bytes[]" + }], + "outputs": [] +}, { + "name": "getFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }, { + "name": "type", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationAddress", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "getRetiringFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationThreshold", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getRetiringFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }, { + "name": "type", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getRetiringFederationCreationTime", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getRetiringFederationCreationBlockNumber", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "createFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addFederatorPublicKey", + "type": "function", + "constant": false, + "inputs": [{ + "name": "key", + "type": "bytes" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addFederatorPublicKeyMultikey", + "type": "function", + "constant": false, + "inputs": [{ + "name": "btcKey", + "type": "bytes" + }, { + "name": "rskKey", + "type": "bytes" + }, { + "name": "mstKey", + "type": "bytes" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "commitFederation", + "type": "function", + "constant": false, + "inputs": [{ + "name": "hash", + "type": "bytes" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "rollbackFederation", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getPendingFederationHash", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getPendingFederationSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getPendingFederatorPublicKey", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getPendingFederatorPublicKeyOfType", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }, { + "name": "type", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "bytes" + }] +}, { + "name": "getLockWhitelistSize", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getLockWhitelistAddress", + "type": "function", + "constant": true, + "inputs": [{ + "name": "index", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "string" + }] +}, { + "name": "getLockWhitelistEntryByAddress", + "type": "function", + "constant": true, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + },{ + "name": "maxTransferValue", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addOneOffLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + },{ + "name": "maxTransferValue", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "addUnlimitedLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "removeLockWhitelistAddress", + "type": "function", + "constant": false, + "inputs": [{ + "name": "address", + "type": "string" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "setLockWhitelistDisableBlockDelay", + "type": "function", + "constant": false, + "inputs": [{ + "name": "disableDelay", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getFeePerKb", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "voteFeePerKbChange", + "type": "function", + "constant": false, + "inputs": [{ + "name": "feePerKb", + "type": "int256" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "updateCollections", + "type": "function", + "constant": false, + "inputs": [], + "outputs": [] +}, { + "name": "getMinimumLockTxValue", + "type": "function", + "constant": true, + "inputs": [], + "outputs": [{ + "name": "", + "type": "int256" + }] +}, { + "name": "getBtcTransactionConfirmations", + "type": "function", + "constant": true, + "inputs": [{ + "name": "txHash", + "type": "bytes32" + }, { + "name": "blockHash", + "type": "bytes32" + }, { + "name": "merkleBranchPath", + "type": "uint256" + }, { + "name": "merkleBranchHashes", + "type": "bytes32[]" + }], + "outputs": [{ + "name": "", + "type": "int256" + }] +}] \ No newline at end of file diff --git a/src/lib/nativeContracts/bridgeAbi.js b/src/lib/nativeContracts/bridgeAbi.js index f79f69f..a70029a 100644 --- a/src/lib/nativeContracts/bridgeAbi.js +++ b/src/lib/nativeContracts/bridgeAbi.js @@ -1,2 +1,47 @@ -import bridgeAbi from './bridge.json' -export default bridgeAbi +import orchid from './bridge-orchid.json' +import wasabi from './bridge-wasabi.json' +import papyrus from './bridge-papyrus.json' +import iris from './bridge-iris.json' +import fingerroot from './bridge-fingerroot.json' +import hop from './bridge-hop.json' + +export const RELEASES = { + mainnet: [ + { height: 0, abi: orchid }, + { height: 1591000, abi: wasabi }, + { height: 2392700, abi: papyrus }, + { height: 3614800, abi: iris }, + { height: 4598500, abi: hop }, + { height: 5468000, abi: fingerroot } + ], + testnet: [ + { height: 0, abi: wasabi }, + { height: 863000, abi: papyrus }, + { height: 2060500, abi: iris }, + { height: 3103000, abi: hop }, + { height: 4015800, abi: fingerroot } + ] +} + +function findmatchingAbi (txHeight, abisWithHeight) { + const lastIndex = abisWithHeight.length - 1 + + if (txHeight >= abisWithHeight[lastIndex].height || txHeight === undefined) { + return abisWithHeight[lastIndex].abi + } + + for (let i = 1; i <= lastIndex; i++) { + const previous = abisWithHeight[i - 1] + if (txHeight >= previous.height && txHeight < abisWithHeight[i].height) { + return previous.abi + } + } +} + +export function getBridgeAbi ({ txBlockNumber, bitcoinNetwork }) { + if (!['testnet', 'mainnet'].includes(bitcoinNetwork)) { + throw new Error('Invalid bitcoin network') + } + + return findmatchingAbi(txBlockNumber, RELEASES[bitcoinNetwork]) +} diff --git a/test/ContractParser.spec.js b/test/ContractParser.spec.js index 13ff2c8..4fbd83a 100644 --- a/test/ContractParser.spec.js +++ b/test/ContractParser.spec.js @@ -1,27 +1,25 @@ -import { assert } from 'chai' -import { ContractParser } from '../src/lib/ContractParser' -import nod3 from '../src/lib/nod3Connect' +import { assert } from "chai"; +import { ContractParser } from "../src/lib/ContractParser"; +import nod3 from "../src/lib/nod3Connect"; -const contracts = [ - '0xebea27d994371cd0cb9896ae4c926bc5221f6317'] +const contracts = ["0xebea27d994371cd0cb9896ae4c926bc5221f6317"]; -const parser = new ContractParser({ nod3 }) +const parser = new ContractParser({ nod3 }); -describe('# Network', function () { - it('should be connected to RSK testnet', async function () { - let net = await nod3.net.version() - console.log(net) - assert.equal(net.id, '31') - }) -}) - -describe('Contract parser', function () { +describe("# Network", function () { + it("should be connected to RSK testnet", async function () { + let net = await nod3.net.version(); + console.log(net); + assert.equal(net.id, "31"); + }); +}); +describe("Contract parser", function () { for (let address of contracts) { - it('should return the token data', async () => { - let contract = parser.makeContract(address) - const info = await parser.getTokenData(contract) - console.log({ info }) - }) + it("should return the token data", async () => { + let contract = parser.makeContract(address); + const info = await parser.getTokenData(contract); + console.log({ info }); + }); } -}) +}); diff --git a/test/bridgeAbi.spec.js b/test/bridgeAbi.spec.js new file mode 100644 index 0000000..5c5a6e6 --- /dev/null +++ b/test/bridgeAbi.spec.js @@ -0,0 +1,77 @@ +import { expect } from 'chai' +import orchid from '../src/lib/nativeContracts/bridge-orchid.json' +import wasabi from '../src/lib/nativeContracts/bridge-wasabi.json' +import iris from '../src/lib/nativeContracts/bridge-iris.json' +import fingerroot from '../src/lib/nativeContracts/bridge-fingerroot.json' +import hop from '../src/lib/nativeContracts/bridge-hop.json' +import { getBridgeAbi, RELEASES } from '../src/lib/nativeContracts/bridgeAbi' + +/* + mainnet: { + 0: orchid, + 1591000: wasabi, + 2392700: papyrus, + 3614800: iris, + 4598500: hop, + 5468000: fingerroot + }, + testnet: { + 0: wasabi, + 863000: papyrus, + 2060500: iris, + 3103000: hop, + 4015800: fingerroot + } +*/ + +describe('All abis must be in ascendant order', () => { + const mainnetAbis = RELEASES['mainnet'] + const testnetAbis = RELEASES['testnet'] + + for (let i = 1; i < mainnetAbis.length; i++) { + it('Should current height be higher than the previous one', () => { + expect(mainnetAbis[i].height).to.be.greaterThan(mainnetAbis[i - 1].height) + }) + } + + for (let i = 1; i < testnetAbis.length; i++) { + it('Should current height be higher than the previous one', () => { + expect(testnetAbis[i].height).to.be.greaterThan(testnetAbis[i - 1].height) + }) + } +}) + +describe('getBridgeAbi(txBlockNumber, bitcoinNetwork) should return the correct ABI for the bridge', () => { + const mainnetTestExpectations = [ + { height: 0, abi: orchid, name: 'orchid' }, + { height: 1, abi: orchid, name: 'orchid' }, + { height: 3614801, abi: iris, name: 'iris' }, + { height: 5468005, abi: fingerroot, name: 'fingerroot' } + ] + const testnetTestExpectatins = [ + { height: 0, abi: wasabi, name: 'wasabi' }, + { height: 1, abi: wasabi, name: 'wasabi' }, + { height: 3103001, abi: hop, name: 'hop' } + ] + + for (const { height, abi, name } of mainnetTestExpectations) { + const params = { txBlockNumber: height, bitcoinNetwork: 'mainnet' } + + it(`Should return ${name} abi for height ${height} in ${params.bitcoinNetwork}`, () => { + expect(getBridgeAbi(params)).to.be.deep.equal(abi) + }) + } + + for (const { height, abi, name } of testnetTestExpectatins) { + const params = { txBlockNumber: height, bitcoinNetwork: 'testnet' } + + it(`Should return ${name} abi for height ${height} in ${params.bitcoinNetwork}`, () => { + expect(getBridgeAbi(params)).to.be.deep.equal(abi) + }) + } + + it('Should throw an error with a non existent bitcoin network', () => { + const getAbi = () => getBridgeAbi({ txBlockNumber: 3003, bitcoinNetwork: 'wondernet' }) + expect(getAbi).to.throw() + }) +}) diff --git a/test/events.spec.js b/test/events.spec.js index 65ca30f..dffa1cb 100755 --- a/test/events.spec.js +++ b/test/events.spec.js @@ -16,7 +16,8 @@ describe('# decode events', function () { let id = t.netId || 31 initConfig.net = { id } let { abi, tx } = t - let parser = new ContractParser({ initConfig, abi }) + + let parser = new ContractParser({ initConfig, abi, txBlockNumber: (parseInt(tx.blockNumber)) }) let e = t.expect describe(`TX: ${tx.transactionHash}`, function () { let decodedLogs = parser.parseTxLogs(tx.logs) @@ -55,13 +56,14 @@ describe('# decode events', function () { it(`addresses field must contain all addresses`, () => { const { abi, args, _addresses } = decoded abi.inputs.forEach((v, i) => { - const { type } = v + const { type, indexed } = v if (type === 'address') { assert.include(_addresses, args[i]) assert.isTrue(isAddress(args[i]), `invalid address ${args[i]}`) } - if (type === 'address[]') { - assert.includeMembers(_addresses, args[i]) + if (type === 'address[]' && indexed) { + assert.hasAllKeys(args[i], ['hash', '_isIndexed']) + assert.deepEqual(args[i]._isIndexed, true) } }) }) diff --git a/test/txs/02.expected.js b/test/txs/02.expected.js index 2337d9b..04e4491 100755 --- a/test/txs/02.expected.js +++ b/test/txs/02.expected.js @@ -9,7 +9,7 @@ export default { args: { from: '0xda1683aa3a4d16f76bcd3ef2c209ba332e533f4d', to: '0xb92675ccf00728fee1390a5d0d4ca594ecfb5c1f', - value: '0xfd5b62ad0505ecaed7000' + value: '0x0fd5b62ad0505ecaed7000' } }, { @@ -17,7 +17,7 @@ export default { args: { from: '0xda1683aa3a4d16f76bcd3ef2c209ba332e533f4d', to: '0xd5ae806315937698db2b9c13bbfc149e59dcda80', - value: '0x21c7eb0600ab814f06c00' + value: '0x021c7eb0600ab814f06c00' } }, { @@ -25,7 +25,7 @@ export default { args: { from: '0xda1683aa3a4d16f76bcd3ef2c209ba332e533f4d', to: '0xe4e962e97998a976a337752c978eff857379850c', - value: '0x10e3f5830055d347e2800' + value: '0x010e3f5830055d347e2800' } }, { @@ -33,7 +33,7 @@ export default { args: { from: '0xda1683aa3a4d16f76bcd3ef2c209ba332e533f4d', to: '0x2d9bea5f54e315dc40a14d4a2196687a15c6f9b2', - value: '0x19d51d22b537ece26dc00' + value: '0x019d51d22b537ece26dc00' } }, { diff --git a/test/txs/09.expected.js b/test/txs/09.expected.js index 2e4db2e..588c9ec 100755 --- a/test/txs/09.expected.js +++ b/test/txs/09.expected.js @@ -103,7 +103,7 @@ export default { 'args': [ '0x1c3227', '0x1c3228', - '0x2' + '0x02' ], 'topics': [ '0x07b5de8b7d8ad88823dc9d5d13a26a58dd5dad9d7431c971916e8a3e545ac2d0' diff --git a/test/txs/10.expected.js b/test/txs/10.expected.js index 18137a3..eb3e7f3 100644 --- a/test/txs/10.expected.js +++ b/test/txs/10.expected.js @@ -26,80 +26,69 @@ export default { '0xd5ff7b56a6b1bdf0e086e3eb950c50e392640280b04ef3b44616f1e67f9e3cd0', '0xa36085f69e2889c224210f603d836748e7dc0088', '0x170346689cc312d8e19959bc68c3ad03e72c9850', - '0x44598f17d36550500', + '0x044598f17d36550500', 'LINK', '0x1c0838a4b207ac67c10c120099fb33301d9c946239dc8742d165c298fc8dcea3', '0x90c0f24295b0261eb20440c77aba0b67c7026b2625a260074016bdfca5699a81', '0x2', '0x12', - '0x1' + '0x01' ], 'abi': { 'anonymous': false, 'inputs': [ { 'indexed': true, - 'internalType': 'address', 'name': 'sender', 'type': 'address' }, { 'indexed': true, - 'internalType': 'bytes32', 'name': 'transactionId', 'type': 'bytes32' }, { 'indexed': false, - 'internalType': 'address', 'name': 'originalTokenAddress', 'type': 'address' }, { 'indexed': false, - 'internalType': 'address', 'name': 'receiver', 'type': 'address' }, { 'indexed': false, - 'internalType': 'uint256', 'name': 'amount', 'type': 'uint256' }, { 'indexed': false, - 'internalType': 'string', 'name': 'symbol', 'type': 'string' }, { 'indexed': false, - 'internalType': 'bytes32', 'name': 'blockHash', 'type': 'bytes32' }, { 'indexed': true, - 'internalType': 'bytes32', 'name': 'transactionHash', 'type': 'bytes32' }, { 'indexed': false, - 'internalType': 'uint32', 'name': 'logIndex', 'type': 'uint32' }, { 'indexed': false, - 'internalType': 'uint8', 'name': 'decimals', 'type': 'uint8' }, { 'indexed': false, - 'internalType': 'uint256', 'name': 'granularity', 'type': 'uint256' } @@ -115,7 +104,7 @@ export default { ], 'eventId': '00fcaba00e0005b1939b94267283a68f', 'timestamp': 1595616049, - 'txStatus': '0x1' + 'txStatus': '0x01' }, { 'logIndex': 1, @@ -133,7 +122,7 @@ export default { 'abi': {}, 'eventId': '00fcaba00e0015b1939b94267283a68f', 'timestamp': 1595616049, - 'txStatus': '0x1', + 'txStatus': '0x01', 'event': null }, { @@ -152,7 +141,7 @@ export default { 'abi': {}, 'eventId': '00fcaba00e0025b1939b94267283a68f', 'timestamp': 1595616049, - 'txStatus': '0x1', + 'txStatus': '0x01', 'event': null }, { @@ -171,7 +160,7 @@ export default { 'abi': {}, 'eventId': '00fcaba00e0035b1939b94267283a68f', 'timestamp': 1595616049, - 'txStatus': '0x1', + 'txStatus': '0x01', 'event': null }, { @@ -195,7 +184,6 @@ export default { 'inputs': [ { 'indexed': true, - 'internalType': 'bytes32', 'name': 'transactionId', 'type': 'bytes32' } @@ -207,7 +195,7 @@ export default { '_addresses': [], 'eventId': '00fcaba00e0045b1939b94267283a68f', 'timestamp': 1595616049, - 'txStatus': '0x1' + 'txStatus': '0x01' } ] } diff --git a/test/txs/address_array_event.abi.json b/test/txs/address_array_event.abi.json new file mode 100644 index 0000000..436f705 --- /dev/null +++ b/test/txs/address_array_event.abi.json @@ -0,0 +1,873 @@ +[ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwnerFee", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwnerFee", + "type": "address" + } + ], + "name": "AddressFeeChange", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldFeeBasisPoints", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feeBasisPoints", + "type": "uint256" + } + ], + "name": "FeesChange", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldSplitMultiplier", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newSplitMultiplier", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "oldSplitDivider", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newSplitDivider", + "type": "uint256" + } + ], + "name": "SplitChange", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address[]", + "name": "to", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MINTER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "newSplitMultiplier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "newSplitDivider", + "type": "uint256" + } + ], + "name": "_setSplit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "addressFee", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "basisPointsRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRoleMember", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleMemberCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + } + ], + "name": "mintBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "reverseSplit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newAddressFee", + "type": "address" + } + ], + "name": "setAddressFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "newBasisPoints", + "type": "uint256" + } + ], + "name": "setFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "split", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "splitDivider", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "splitMultiplier", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/test/txs/address_array_event.expected.js b/test/txs/address_array_event.expected.js new file mode 100644 index 0000000..8f9ba54 --- /dev/null +++ b/test/txs/address_array_event.expected.js @@ -0,0 +1,42 @@ +import { result as tx } from './address_array_event.json' +import abi from './address_array_event.abi.json' + +export default { + tx, + abi, + expect: { + events: [ + { + event: 'TransferBatch', + address: '0x8859c08ed73bd06b2961ccc88160cb11a61d69f7', + args: { + from: '0x0000000000000000000000000000000000000000', + to: { _isIndexed: true, hash: '0x4cafb10118c6176cea8f9427e636ce907815ab55a3c441c407e2d6a939a6d84b' }, + values: ["0x038d7ea4c68000", "0x038d7ea4c68000"] + }, + abi: { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address[]" + }, + { + "indexed": false, + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + } + } + ] + } +} diff --git a/test/txs/address_array_event.json b/test/txs/address_array_event.json new file mode 100644 index 0000000..5b7ed4d --- /dev/null +++ b/test/txs/address_array_event.json @@ -0,0 +1,33 @@ +{ + "jsonrpc": "2.0", + "id": 666, + "result": { + "transactionHash": "0xfc799980ab99dd3158573cc1f0b4f339aa6b65fdbf32ea1be789c56c915b0720", + "transactionIndex": "0x4", + "blockHash": "0x04e5b6d6ca86377d67e62c77b0b733b03f61b2d464781a7b63334084ef2cd5fd", + "blockNumber": "0x1ced1a", + "cumulativeGasUsed": "0x57372", + "gasUsed": "0xd27b", + "contractAddress": null, + "logs": [ + { + "logIndex": "0x0", + "blockNumber": "0x1ced1a", + "blockHash": "0x04e5b6d6ca86377d67e62c77b0b733b03f61b2d464781a7b63334084ef2cd5fd", + "transactionHash": "0xfc799980ab99dd3158573cc1f0b4f339aa6b65fdbf32ea1be789c56c915b0720", + "transactionIndex": "0x4", + "address": "0x8859c08ed73bd06b2961ccc88160cb11a61d69f7", + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c68000", + "topics": [ + "0xe4ae351459a24973b45ae503925eff96930420eaeda5bded0d67231a992d704d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x4cafb10118c6176cea8f9427e636ce907815ab55a3c441c407e2d6a939a6d84b" + ] + } + ], + "from": "0x27598400a96d4ee85f86b0931e49cbc02add6df0", + "to": "0x8859c08ed73bd06b2961ccc88160cb11a61d69f7", + "status": "0x1", + "logsBloom": "0x00000080000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000020000000000000000000000000000000000000000000000000000010000000000000000000000000000020000000000000000000804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002040000000000000000000000000000000000000000000000000000000000000000020000000000000000020000000000000000000000000000000000000000000000000" + } +} diff --git a/test/txs/address_array_event_2.abi.json b/test/txs/address_array_event_2.abi.json new file mode 100644 index 0000000..3e26003 --- /dev/null +++ b/test/txs/address_array_event_2.abi.json @@ -0,0 +1,777 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "timelock_", + "type": "address" + }, + { + "internalType": "address", + "name": "staking_", + "type": "address" + }, + { + "internalType": "address", + "name": "guardian_", + "type": "address" + }, + { + "internalType": "uint96", + "name": "_quorumPercentageVotes", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "_majorityPercentageVotes", + "type": "uint96" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "ProposalCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "proposer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "indexed": false, + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "startBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "ProposalCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "ProposalExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "ProposalQueued", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "support", + "type": "bool" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "votes", + "type": "uint256" + } + ], + "name": "VoteCast", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "BALLOT_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "DOMAIN_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "__abdicate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "__acceptAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "__executeSetTimelockPendingAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "__queueSetTimelockPendingAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "cancel", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "support", + "type": "bool" + } + ], + "name": "castVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "support", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "castVoteBySig", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "execute", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "getActions", + "outputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getReceipt", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "hasVoted", + "type": "bool" + }, + { + "internalType": "bool", + "name": "support", + "type": "bool" + }, + { + "internalType": "uint96", + "name": "votes", + "type": "uint96" + } + ], + "internalType": "struct GovernorAlpha.Receipt", + "name": "", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "guardian", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "latestProposalIds", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "majorityPercentageVotes", + "outputs": [ + { + "internalType": "uint96", + "name": "", + "type": "uint96" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "proposalCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "proposalMaxOperations", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "proposalThreshold", + "outputs": [ + { + "internalType": "uint96", + "name": "", + "type": "uint96" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "startBlock", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "endBlock", + "type": "uint32" + }, + { + "internalType": "uint96", + "name": "forVotes", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "againstVotes", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "quorum", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "majorityPercentage", + "type": "uint96" + }, + { + "internalType": "uint64", + "name": "eta", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "startTime", + "type": "uint64" + }, + { + "internalType": "bool", + "name": "canceled", + "type": "bool" + }, + { + "internalType": "bool", + "name": "executed", + "type": "bool" + }, + { + "internalType": "address", + "name": "proposer", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "propose", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "queue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "quorumPercentageVotes", + "outputs": [ + { + "internalType": "uint96", + "name": "", + "type": "uint96" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "quorumVotes", + "outputs": [ + { + "internalType": "uint96", + "name": "", + "type": "uint96" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "staking", + "outputs": [ + { + "internalType": "contract IStaking", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "state", + "outputs": [ + { + "internalType": "enum GovernorAlpha.ProposalState", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "timelock", + "outputs": [ + { + "internalType": "contract ITimelock", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "votingDelay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "votingPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + } +] diff --git a/test/txs/address_array_event_2.expected.js b/test/txs/address_array_event_2.expected.js new file mode 100644 index 0000000..890dcac --- /dev/null +++ b/test/txs/address_array_event_2.expected.js @@ -0,0 +1,79 @@ +import { result as tx } from './address_array_event_2.json' +import abi from './address_array_event_2.abi.json' + +export default { + tx, + abi, + expect: { + events: [ + { + event: 'ProposalCreated', + address: '0x6e22f07d4edc6b13b07b7369f11371e7e5286de6', + _addresses: ['0x0f39e7af6810a2b73a973c3167755930b1266811', '0xe8276a1680cb970c2334b3201044ddf7c492f52a'], + args: { + id: '0x06', + propose: '0x0f39e7af6810a2b73a973c3167755930b1266811', + targets: '0xe8276a1680cb970c2334b3201044ddf7c492f52a', + values: '0x00', + signatures: 'transferTokens(address,address,uint256)', + calldatas: '0x000000000000000000000000189ecd23e9e34cfc07bfc3b7f5711a23f43f8a570000000000000000000000006a9a07972d07e58f0daf5122d11e069288a375fb00000000000000000000000000000000000000000001a784379d99db42000000', + startBlock: '0x2501d8', + endBlock: '0x250d18', + description: 'SIP-0007: Origins Pre-Sale. Details: https://github.com/DistributedCollective/SIPS/blob/02f836980ee6a4b2992ffb1576e42655ac6fc241/SIP-0006.md , sha256: b6807ded0bd18ddd9d29e189179e23b6d63ef86e93b79143ed03c563770a490d' + }, + abi: { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "name": "proposer", + "type": "address" + }, + { + "indexed": false, + "name": "targets", + "type": "address[]" + }, + { + "indexed": false, + "name": "values", + "type": "uint256[]" + }, + { + "indexed": false, + "name": "signatures", + "type": "string[]" + }, + { + "indexed": false, + "name": "calldatas", + "type": "bytes[]" + }, + { + "indexed": false, + "name": "startBlock", + "type": "uint256" + }, + { + "indexed": false, + "name": "endBlock", + "type": "uint256" + }, + { + "indexed": false, + "name": "description", + "type": "string" + } + ], + "name": "ProposalCreated", + "type": "event" + } + } + ] + } +} diff --git a/test/txs/address_array_event_2.json b/test/txs/address_array_event_2.json new file mode 100644 index 0000000..67346b3 --- /dev/null +++ b/test/txs/address_array_event_2.json @@ -0,0 +1,31 @@ +{ + "jsonrpc": "2.0", + "id": 666, + "result": { + "transactionHash": "0x74c1f7f5c7e1c845561a6a57d2a3bd86a4bdd805c5c0315e2df020b988f7578d", + "transactionIndex": "0x0", + "blockHash": "0x0cabf8c87b257854929ee41b2e77c89db730d32f99bf7ec34a5f1ce732bc14df", + "blockNumber": "0x2501d7", + "cumulativeGasUsed": "0xc69b1", + "gasUsed": "0xc69b1", + "contractAddress": null, + "logs": [ + { + "logIndex": "0x0", + "blockNumber": "0x2501d7", + "blockHash": "0x0cabf8c87b257854929ee41b2e77c89db730d32f99bf7ec34a5f1ce732bc14df", + "transactionHash": "0x74c1f7f5c7e1c845561a6a57d2a3bd86a4bdd805c5c0315e2df020b988f7578d", + "transactionIndex": "0x0", + "address": "0x6e22f07d4edc6b13b07b7369f11371e7e5286de6", + "data": "0x00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f39e7af6810a2b73a973c3167755930b12668110000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000002501d80000000000000000000000000000000000000000000000000000000000250d1800000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e8276a1680cb970c2334b3201044ddf7c492f52a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000277472616e73666572546f6b656e7328616464726573732c616464726573732c75696e743235362900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000189ecd23e9e34cfc07bfc3b7f5711a23f43f8a570000000000000000000000006a9a07972d07e58f0daf5122d11e069288a375fb00000000000000000000000000000000000000000001a784379d99db4200000000000000000000000000000000000000000000000000000000000000000000d75349502d303030373a204f726967696e73205072652d53616c652e2044657461696c733a2068747470733a2f2f6769746875622e636f6d2f4469737472696275746564436f6c6c6563746976652f534950532f626c6f622f303266383336393830656536613462323939326666623135373665343236353561633666633234312f5349502d303030362e6d64202c207368613235363a2062363830376465643062643138646464396432396531383931373965323362366436336566383665393362373931343365643033633536333737306134393064000000000000000000", + "topics": [ + "0x7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e0" + ] + } + ], + "from": "0x0f39e7af6810a2b73a973c3167755930b1266811", + "to": "0x6e22f07d4edc6b13b07b7369f11371e7e5286de6", + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000020000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/test/txs/index.js b/test/txs/index.js index 5e8d21e..84505ac 100755 --- a/test/txs/index.js +++ b/test/txs/index.js @@ -8,4 +8,6 @@ import tx7 from './bridge_04.expected' import tx8 from './bridge_05.expected' import tx9 from './09.expected' import tx10 from './10.expected' -export default [tx1, tx2, tx3, tx4, tx5, tx6, tx7, tx8, tx9, tx10] +import tx11 from './address_array_event.expected' // indexed address[] event +import tx12 from './address_array_event_2.expected' // address[] event (not indexed) +export default [tx1, tx2, tx3, tx4, tx5, tx6, tx7, tx8, tx9, tx10, tx11, tx12]