├── .gitattributes
├── .gitignore
├── .vscode
└── settings.json
├── README.md
├── contract
└── bep20-token.sol
├── demo
└── example.js
├── frontend
├── .eslintcache
├── .gitignore
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ ├── logo192.png
│ ├── logo512.png
│ ├── manifest.json
│ └── robots.txt
└── src
│ ├── App.css
│ ├── App.js
│ ├── App.test.js
│ ├── index.css
│ ├── index.js
│ ├── logo.svg
│ ├── pages
│ ├── BnbBalance.js
│ ├── CreateWallet.js
│ ├── ImportWallet.js
│ ├── SendBnb.js
│ ├── SendToken.js
│ └── TokenBalance.js
│ ├── reportWebVitals.js
│ └── setupTests.js
├── package-lock.json
├── package.json
├── server.js
└── src
├── bep20ABI.json
└── centerpirme.js
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # node_modules
2 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "git.ignoreLimitWarning": true
3 | }
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Binance SmartChain NodeJS SDK
2 |
3 | ## Prerequisites
4 |
5 | This project requires NodeJS (version 8 or later) and NPM.
6 | [Node](http://nodejs.org/) and [NPM](https://npmjs.org/) are really easy to install.
7 | To make sure you have them available on your machine,
8 | try running the following command.
9 |
10 | ```sh
11 | $ npm -v && node -v
12 | 6.4.1
13 | v8.16.0
14 | ```
15 |
16 | ## Table of contents
17 |
18 | - [Project Name](#project-name)
19 | - [Prerequisites](#prerequisites)
20 | - [Table of contents](#table-of-contents)
21 | - [Getting Started](#getting-started)
22 | - [Installation](#installation)
23 | - [API](#api)
24 | - [Create Wallet](#createwallet)
25 | - [Import Wallet](#importwallet)
26 | - [Keystore](#keystore)
27 | - [Private Key](#keystore)
28 | - [Balance](#balance)
29 | - [BNB Balance](#etherbalance)
30 | - [BEP20 Token Balance](#erc20tokenbalance)
31 | - [Send](#send)
32 | - [Send BNB](#sendether)
33 | - [Send BEP20 Token](#senderc20token)
34 | - [Demo](#demo)
35 |
36 | ## Getting Started
37 |
38 | These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
39 |
40 | ## Installation
41 |
42 | **BEFORE YOU INSTALL:** please read the [prerequisites](#prerequisites)
43 |
44 | Start with cloning this repo on your local machine:
45 |
46 | ```sh
47 | $ git clone https://github.com/centerprime/Node-Binance-SDK.git
48 | ```
49 |
50 | To install and set up the library, run:
51 |
52 | ```sh
53 | $ npm install node-binance-sdk
54 | ```
55 |
56 | ## API
57 |
58 | ### Create Wallet
59 |
60 | ```js
61 | import BnbManager from "../src/centerprime.js";
62 |
63 | var bnbManager = new BnbManager("Infura Url");
64 | bnbManager.createAccount("12345")
65 | .then(res => {
66 | console.log(res);
67 | });
68 | ```
69 |
70 |
71 | ### Import Wallet by Keystore
72 |
73 | ```js
74 | import BnbManager from "../src/centerprime.js";
75 |
76 | var bnbManager = new BnbManager("Infura Url");
77 | let keystore = {};
78 | let password = '';
79 | bnbManager.importWalletByKeystore(keystore,password)
80 | .then(res => {
81 | console.log(res);
82 | });
83 | ```
84 |
85 | ### Import Wallet by Private key
86 |
87 | ```js
88 | import BnbManager from "../src/centerprimeSDK.js";
89 |
90 | var bnbManager = new BnbManager("Infura Url");
91 | let privateKey = '';
92 | bnbManager.importWalletByPrivateKey(privateKey)
93 | .then(res => {
94 | console.log(res);
95 | });
96 | ```
97 |
98 | ### Get BNB balance
99 |
100 | ```js
101 | import BnbManager from "../src/centerprimeSDK.js";
102 |
103 | var bnbManager = new BnbManager("Infura Url");
104 | let address = '';
105 | bnbManager.getBnbBalance(address)
106 | .then(res => {
107 | console.log(res);
108 | });
109 | ```
110 |
111 |
112 | ### Get BEP20 token balance
113 |
114 | ```js
115 | import BnbManager from "../src/centerprimeSDK.js";
116 |
117 | var bnbManager = new BnbManager("Infura Url");
118 | let tokenContractAddress = '';
119 | let address = '';
120 | bnbManager.getBEPTokenBalance(tokenContractAddress, address)
121 | .then(res => {
122 | console.log(res);
123 | });
124 | ```
125 |
126 | ### Send BEP20 token
127 |
128 | ```js
129 | import BnbManager from "../src/centerprimeSDK.js";
130 |
131 | var bnbManager = new BnbManager("Infura Url");
132 | let keystore = {};
133 | let password = '';
134 | let tokenContractAddress = '';
135 | let toAddress = '';
136 | let amount = '';
137 | let chainId = ''; // 1 : Mainnet 3 : Ropsten
138 | bnbManager.sendToken(keystore, password, tokenContractAddress , toAddress , amount , chainId)
139 | .then(res => {
140 | console.log(res);
141 | });
142 | ```
143 |
144 |
145 | ### Send BNB
146 |
147 | ```js
148 | import BnbManager from "../src/centerprimeSDK.js";
149 |
150 | var bnbManager = new BnbManager("Infura Url");
151 | let keystore = {};
152 | let password = '';
153 | let toAddress = '';
154 | let amount = '';
155 | let chainId = ''; // 1 : Mainnet 3 : Ropsten
156 | bnbManager.sendBNB(keystore, password , toAddress , amount , chainId)
157 | .then(res => {
158 | console.log(res);
159 | });
160 | ```
161 |
162 | ### Demo
163 |
164 | First run backend
165 |
166 | ```js
167 | npm install
168 | npm start
169 | ```
170 |
171 | Second run frontend /frontend/
172 |
173 | ```js
174 | npm install
175 | npm start
176 | ```
--------------------------------------------------------------------------------
/contract/bep20-token.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.4.24;
2 |
3 |
4 | // ----------------------------------------------------------------------------
5 | // Lib: Safe Math
6 | // ----------------------------------------------------------------------------
7 | contract SafeMath {
8 |
9 | function safeAdd(uint a, uint b) public pure returns (uint c) {
10 | c = a + b;
11 | require(c >= a);
12 | }
13 |
14 | function safeSub(uint a, uint b) public pure returns (uint c) {
15 | require(b <= a);
16 | c = a - b;
17 | }
18 |
19 | function safeMul(uint a, uint b) public pure returns (uint c) {
20 | c = a * b;
21 | require(a == 0 || c / a == b);
22 | }
23 |
24 | function safeDiv(uint a, uint b) public pure returns (uint c) {
25 | require(b > 0);
26 | c = a / b;
27 | }
28 | }
29 |
30 |
31 | contract BEP20Interface {
32 | function totalSupply() public constant returns (uint);
33 | function balanceOf(address tokenOwner) public constant returns (uint balance);
34 | function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
35 | function transfer(address to, uint tokens) public returns (bool success);
36 | function approve(address spender, uint tokens) public returns (bool success);
37 | function transferFrom(address from, address to, uint tokens) public returns (bool success);
38 |
39 | event Transfer(address indexed from, address indexed to, uint tokens);
40 | event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
41 | }
42 |
43 |
44 | /**
45 | Contract function to receive approval and execute function in one call
46 |
47 | Borrowed from MiniMeToken
48 | */
49 | contract ApproveAndCallFallBack {
50 | function receiveApproval(address from, uint256 tokens, address token, bytes data) public;
51 | }
52 |
53 | /**
54 | BEP20 Token, with the addition of symbol, name and decimals and assisted token transfers
55 | */
56 | contract SampleToken is BEP20Interface, SafeMath {
57 | string public symbol;
58 | string public name;
59 | uint8 public decimals;
60 | uint public _totalSupply;
61 |
62 | mapping(address => uint) balances;
63 | mapping(address => mapping(address => uint)) allowed;
64 |
65 |
66 | // ------------------------------------------------------------------------
67 | // Constructor
68 | // ------------------------------------------------------------------------
69 | constructor() public {
70 | symbol = "Sample";
71 | name = "Sample Token";
72 | decimals = 2;
73 | _totalSupply = 100000;
74 | balances[msg.sender] = _totalSupply;
75 | emit Transfer(address(0), msg.sender, _totalSupply);
76 | }
77 |
78 |
79 | // ------------------------------------------------------------------------
80 | // Total supply
81 | // ------------------------------------------------------------------------
82 | function totalSupply() public constant returns (uint) {
83 | return _totalSupply - balances[address(0)];
84 | }
85 |
86 |
87 | // ------------------------------------------------------------------------
88 | // Get the token balance for account tokenOwner
89 | // ------------------------------------------------------------------------
90 | function balanceOf(address tokenOwner) public constant returns (uint balance) {
91 | return balances[tokenOwner];
92 | }
93 |
94 |
95 | // ------------------------------------------------------------------------
96 | // Transfer the balance from token owner's account to to account
97 | // - Owner's account must have sufficient balance to transfer
98 | // - 0 value transfers are allowed
99 | // ------------------------------------------------------------------------
100 | function transfer(address to, uint tokens) public returns (bool success) {
101 | balances[msg.sender] = safeSub(balances[msg.sender], tokens);
102 | balances[to] = safeAdd(balances[to], tokens);
103 | emit Transfer(msg.sender, to, tokens);
104 | return true;
105 | }
106 |
107 |
108 | // ------------------------------------------------------------------------
109 | // Token owner can approve for spender to transferFrom(...) tokens
110 | // from the token owner's account
111 | //
112 | // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
113 | // recommends that there are no checks for the approval double-spend attack
114 | // as this should be implemented in user interfaces
115 | // ------------------------------------------------------------------------
116 | function approve(address spender, uint tokens) public returns (bool success) {
117 | allowed[msg.sender][spender] = tokens;
118 | emit Approval(msg.sender, spender, tokens);
119 | return true;
120 | }
121 |
122 |
123 | // ------------------------------------------------------------------------
124 | // Transfer tokens from the from account to the to account
125 | //
126 | // The calling account must already have sufficient tokens approve(...)-d
127 | // for spending from the from account and
128 | // - From account must have sufficient balance to transfer
129 | // - Spender must have sufficient allowance to transfer
130 | // - 0 value transfers are allowed
131 | // ------------------------------------------------------------------------
132 | function transferFrom(address from, address to, uint tokens) public returns (bool success) {
133 | balances[from] = safeSub(balances[from], tokens);
134 | allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
135 | balances[to] = safeAdd(balances[to], tokens);
136 | emit Transfer(from, to, tokens);
137 | return true;
138 | }
139 |
140 |
141 | // ------------------------------------------------------------------------
142 | // Returns the amount of tokens approved by the owner that can be
143 | // transferred to the spender's account
144 | // ------------------------------------------------------------------------
145 | function allowance(address tokenOwner, address spender) public constant returns (uint remaining) {
146 | return allowed[tokenOwner][spender];
147 | }
148 |
149 |
150 | // ------------------------------------------------------------------------
151 | // Token owner can approve for spender to transferFrom(...) tokens
152 | // from the token owner's account. The spender contract function
153 | // receiveApproval(...) is then executed
154 | // ------------------------------------------------------------------------
155 | function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {
156 | allowed[msg.sender][spender] = tokens;
157 | emit Approval(msg.sender, spender, tokens);
158 | ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);
159 | return true;
160 | }
161 |
162 |
163 | // ------------------------------------------------------------------------
164 | // Don't accept ETH
165 | // ------------------------------------------------------------------------
166 | function () public payable {
167 | revert();
168 | }
169 | }
--------------------------------------------------------------------------------
/demo/example.js:
--------------------------------------------------------------------------------
1 | import BnbManager from "../src/centerpirme.js";
2 |
3 | var bnbManager = new BnbManager("https://data-seed-prebsc-1-s1.binance.org:8545");
4 | bnbManager.getBEPTokenBalance("0x6ce8da28e2f864420840cf74474eff5fd80e65b8","0x082a2027dc16f42d6e69be8fa13c94c17c910ebe").then(
5 | res=>{
6 | console.log(res);
7 | }, error=>{
8 | console.log(error);
9 | }
10 | );
11 |
12 |
13 | let keystore = {};
14 | let password = "";
15 | let amount = 12
16 | let toAddress = '0x38C1E1204C10C8be90ecA671Da8Ea8a9AEb16031'
17 |
18 |
19 | let tokenContractAddress = '0xa1825717848bdeb9b1b2389471fe0d98c0af71a5';
20 |
21 | bnbManager.sendToken(keystore,password,tokenContractAddress, toAddress,amount,3).then(res=>{
22 | console.log(res);
23 | })
--------------------------------------------------------------------------------
/frontend/.eslintcache:
--------------------------------------------------------------------------------
1 | [{"/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/index.js":"1","/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/reportWebVitals.js":"2","/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/App.js":"3","/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/CreateWallet.js":"4","/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/BnbBalance.js":"5","/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/SendToken.js":"6","/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/ImportWallet.js":"7","/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/SendBnb.js":"8","/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/TokenBalance.js":"9"},{"size":449,"mtime":1610073016409,"results":"10","hashOfConfig":"11"},{"size":362,"mtime":1610073016410,"results":"12","hashOfConfig":"11"},{"size":1641,"mtime":1610073016408,"results":"13","hashOfConfig":"11"},{"size":1536,"mtime":1610073016409,"results":"14","hashOfConfig":"11"},{"size":1520,"mtime":1610073016409,"results":"15","hashOfConfig":"11"},{"size":2610,"mtime":1610073016410,"results":"16","hashOfConfig":"11"},{"size":1808,"mtime":1610073016409,"results":"17","hashOfConfig":"11"},{"size":2238,"mtime":1610073016409,"results":"18","hashOfConfig":"11"},{"size":1798,"mtime":1610089350806,"results":"19","hashOfConfig":"11"},{"filePath":"20","messages":"21","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1s6tb0n",{"filePath":"22","messages":"23","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"24","messages":"25","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"26","messages":"27","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"28","messages":"29","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"30","messages":"31","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"32","messages":"33","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"34","messages":"35","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"36","messages":"37","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/index.js",[],"/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/reportWebVitals.js",[],"/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/App.js",["38"],"/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/CreateWallet.js",["39"],"/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/BnbBalance.js",[],"/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/SendToken.js",[],"/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/ImportWallet.js",["40","41"],"/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/SendBnb.js",[],"/Users/htnteam/IdeaProjects/NodeProjects/bnb/BinanceSmartChain-NodeJS-SDK/frontend/src/pages/TokenBalance.js",[],{"ruleId":"42","severity":1,"message":"43","line":1,"column":8,"nodeType":"44","messageId":"45","endLine":1,"endColumn":12},{"ruleId":"42","severity":1,"message":"46","line":10,"column":12,"nodeType":"44","messageId":"45","endLine":10,"endColumn":17},{"ruleId":"42","severity":1,"message":"47","line":12,"column":12,"nodeType":"44","messageId":"45","endLine":12,"endColumn":18},{"ruleId":"42","severity":1,"message":"48","line":12,"column":20,"nodeType":"44","messageId":"45","endLine":12,"endColumn":29},"no-unused-vars","'logo' is defined but never used.","Identifier","unusedVar","'error' is assigned a value but never used.","'result' is assigned a value but never used.","'setResult' is assigned a value but never used."]
--------------------------------------------------------------------------------
/frontend/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/frontend/README.md:
--------------------------------------------------------------------------------
1 | # Getting Started with Create React App
2 |
3 | This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
4 |
5 | ## Available Scripts
6 |
7 | In the project directory, you can run:
8 |
9 | ### `npm start`
10 |
11 | Runs the app in the development mode.\
12 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
13 |
14 | The page will reload if you make edits.\
15 | You will also see any lint errors in the console.
16 |
17 | ### `npm test`
18 |
19 | Launches the test runner in the interactive watch mode.\
20 | See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
21 |
22 | ### `npm run build`
23 |
24 | Builds the app for production to the `build` folder.\
25 | It correctly bundles React in production mode and optimizes the build for the best performance.
26 |
27 | The build is minified and the filenames include the hashes.\
28 | Your app is ready to be deployed!
29 |
30 | See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
31 |
32 | ### `npm run eject`
33 |
34 | **Note: this is a one-way operation. Once you `eject`, you can’t go back!**
35 |
36 | If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
37 |
38 | Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
39 |
40 | You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
41 |
42 | ## Learn More
43 |
44 | You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
45 |
46 | To learn React, check out the [React documentation](https://reactjs.org/).
47 |
48 | ### Code Splitting
49 |
50 | This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)
51 |
52 | ### Analyzing the Bundle Size
53 |
54 | This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)
55 |
56 | ### Making a Progressive Web App
57 |
58 | This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)
59 |
60 | ### Advanced Configuration
61 |
62 | This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)
63 |
64 | ### Deployment
65 |
66 | This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)
67 |
68 | ### `npm run build` fails to minify
69 |
70 | This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)
71 |
--------------------------------------------------------------------------------
/frontend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@testing-library/jest-dom": "^5.11.8",
7 | "@testing-library/react": "^11.2.2",
8 | "@testing-library/user-event": "^12.6.0",
9 | "react": "^17.0.1",
10 | "react-dom": "^17.0.1",
11 | "react-router-dom": "^5.2.0",
12 | "react-scripts": "4.0.1",
13 | "web-vitals": "^0.2.4"
14 | },
15 | "scripts": {
16 | "start": "react-scripts start",
17 | "build": "react-scripts build",
18 | "test": "react-scripts test",
19 | "eject": "react-scripts eject"
20 | },
21 | "eslintConfig": {
22 | "extends": [
23 | "react-app",
24 | "react-app/jest"
25 | ]
26 | },
27 | "browserslist": {
28 | "production": [
29 | ">0.2%",
30 | "not dead",
31 | "not op_mini all"
32 | ],
33 | "development": [
34 | "last 1 chrome version",
35 | "last 1 firefox version",
36 | "last 1 safari version"
37 | ]
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/frontend/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/centerprime/BinanceSmartChain-NodeJS-SDK/c95fea0215fab83f09753af6477583bf231568a0/frontend/public/favicon.ico
--------------------------------------------------------------------------------
/frontend/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
17 |
18 |
27 | React App
28 |
29 |
30 |
31 |
32 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/frontend/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/centerprime/BinanceSmartChain-NodeJS-SDK/c95fea0215fab83f09753af6477583bf231568a0/frontend/public/logo192.png
--------------------------------------------------------------------------------
/frontend/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/centerprime/BinanceSmartChain-NodeJS-SDK/c95fea0215fab83f09753af6477583bf231568a0/frontend/public/logo512.png
--------------------------------------------------------------------------------
/frontend/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | },
10 | {
11 | "src": "logo192.png",
12 | "type": "image/png",
13 | "sizes": "192x192"
14 | },
15 | {
16 | "src": "logo512.png",
17 | "type": "image/png",
18 | "sizes": "512x512"
19 | }
20 | ],
21 | "start_url": ".",
22 | "display": "standalone",
23 | "theme_color": "#000000",
24 | "background_color": "#ffffff"
25 | }
26 |
--------------------------------------------------------------------------------
/frontend/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/frontend/src/App.css:
--------------------------------------------------------------------------------
1 | .App {
2 | text-align: center;
3 | }
4 |
5 | .App-logo {
6 | height: 40vmin;
7 | pointer-events: none;
8 | }
9 |
10 | @media (prefers-reduced-motion: no-preference) {
11 | .App-logo {
12 | animation: App-logo-spin infinite 20s linear;
13 | }
14 | }
15 |
16 | .App-header {
17 | background-color: #282c34;
18 | min-height: 100vh;
19 | display: flex;
20 | flex-direction: column;
21 | align-items: center;
22 | justify-content: center;
23 | font-size: calc(10px + 2vmin);
24 | color: white;
25 | }
26 |
27 | .App-link {
28 | color: #61dafb;
29 | }
30 |
31 | @keyframes App-logo-spin {
32 | from {
33 | transform: rotate(0deg);
34 | }
35 | to {
36 | transform: rotate(360deg);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/frontend/src/App.js:
--------------------------------------------------------------------------------
1 | import logo from './logo.svg';
2 | import './App.css';
3 | import { BrowserRouter, Switch, Route, NavLink } from 'react-router-dom';
4 | import CreateWallet from './pages/CreateWallet';
5 | import ImportWallet from './pages/ImportWallet';
6 | import BnbBalance from './pages/BnbBalance';
7 | import TokenBalance from './pages/TokenBalance';
8 | import SendBnb from './pages/SendBnb';
9 | import SendToken from './pages/SendToken';
10 |
11 | function App() {
12 | return (
13 |
14 |
15 |
16 |
17 | Create Wallet
18 | Import Wallet
19 | Bnb Balance
20 | Token Balance
21 | Send Bnb
22 | Send Token
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | );
38 | }
39 |
40 | export default App;
41 |
--------------------------------------------------------------------------------
/frontend/src/App.test.js:
--------------------------------------------------------------------------------
1 | import { render, screen } from '@testing-library/react';
2 | import App from './App';
3 |
4 | test('renders learn react link', () => {
5 | render();
6 | const linkElement = screen.getByText(/learn react/i);
7 | expect(linkElement).toBeInTheDocument();
8 | });
9 |
--------------------------------------------------------------------------------
/frontend/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
4 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
12 | monospace;
13 | }
14 |
15 | .content {
16 | padding: 20px;
17 | }
18 |
19 | .header {
20 | padding: 10px;
21 | background: #edf2f4;
22 | border-bottom: 1px solid #999;
23 | }
24 | .header a {
25 | color: #0072ff;
26 | text-decoration: none;
27 | margin-left: 20px;
28 | margin-right: 5px;
29 | }
30 | .header a:hover {
31 | color: #8a0f53;
32 | }
33 | .header small {
34 | color: #666;
35 | }
36 | .header .active {
37 | color: #2c7613;
38 | }
--------------------------------------------------------------------------------
/frontend/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(, document.getElementById('root'));
8 |
9 | // If you want to start measuring performance in your app, pass a function
10 | // to log results (for example: reportWebVitals(console.log))
11 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
12 | reportWebVitals();
13 |
--------------------------------------------------------------------------------
/frontend/src/logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/src/pages/BnbBalance.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import axios from 'axios';
3 |
4 |
5 | function BnbBalance() {
6 |
7 |
8 | const [loading, setLoading] = useState(false);
9 | const address = useFormInput('');
10 | const [error, setError] = useState(null);
11 |
12 | // handle button click of login form
13 | const handleLogin = () => {
14 | setError(null);
15 | setLoading(true);
16 | let addressTxt = address.value;
17 | if(addressTxt === ''){
18 | setLoading(false);
19 | setError("Please fill the fileds");
20 | } else {
21 | axios.post('http://localhost:3080/api/bnbBalance', { address: address.value }).then(response => {
22 | console.log(JSON.stringify(response.data));
23 | setLoading(false);
24 | setError(response.data)
25 | }).catch(error => {
26 | setLoading(false);
27 | if (error.response.status === 401) setError(error.response.data.message);
28 | else setError("Something went wrong. Please try again later.");
29 | });
30 | }
31 |
32 | }
33 |
34 |
35 | return (
36 |
37 |
38 | Address
39 |
40 |
41 |
42 |
43 |
44 |
{error}
45 |
46 | );
47 | }
48 |
49 | const useFormInput = initialValue => {
50 | const [value, setValue] = useState(initialValue);
51 |
52 | const handleChange = e => {
53 | setValue(e.target.value);
54 | }
55 | return {
56 | value,
57 | onChange: handleChange
58 | }
59 | }
60 |
61 | export default BnbBalance;
--------------------------------------------------------------------------------
/frontend/src/pages/CreateWallet.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import axios from 'axios';
3 |
4 |
5 | function Home() {
6 |
7 |
8 | const [loading, setLoading] = useState(false);
9 | const password = useFormInput('');
10 | const [error, setError] = useState(null);
11 | const [keystore, setKeystore] = useState(null);
12 |
13 | // handle button click of login form
14 | const handleLogin = () => {
15 | setError(null);
16 | setLoading(true);
17 | axios.post('http://localhost:3080/api/createWallet', { password: password.value }).then(response => {
18 | console.log(JSON.stringify(response.data));
19 | setKeystore(JSON.stringify(response.data.keystore));
20 | setLoading(false);
21 | }).catch(error => {
22 | setLoading(false);
23 | if (error.response.status === 401) setError(error.response.data.message);
24 | else setError("Something went wrong. Please try again later.");
25 | });
26 | }
27 |
28 |
29 | return (
30 |
31 | Create Wallet
32 |
33 | Password
34 |
35 |
36 |
37 |
38 | Keystore
39 |
41 | );
42 | }
43 |
44 | const useFormInput = initialValue => {
45 | const [value, setValue] = useState(initialValue);
46 |
47 | const handleChange = e => {
48 | setValue(e.target.value);
49 | }
50 | return {
51 | value,
52 | onChange: handleChange
53 | }
54 | }
55 |
56 | export default Home;
--------------------------------------------------------------------------------
/frontend/src/pages/ImportWallet.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import axios from 'axios';
3 |
4 |
5 | function ImportWallet() {
6 |
7 |
8 | const [loading, setLoading] = useState(false);
9 | const password = useFormInput('');
10 | const [error, setError] = useState(null);
11 | const keystore = useFormInput('');
12 | const [result, setResult] = useState(null);
13 |
14 | // handle button click of login form
15 | const handleLogin = () => {
16 | setError(null);
17 | setLoading(true);
18 | let passwordTxt = password.value;
19 | let keystoreTxt = keystore.value;
20 | if(passwordTxt === '' || keystoreTxt === ''){
21 | setLoading(false);
22 | setError("Please fill the fileds");
23 | } else {
24 | axios.post('http://localhost:3080/api/importWallet', { password: password.value, keystore : keystore.value }).then(response => {
25 | console.log(JSON.stringify(response.data));
26 | setLoading(false);
27 | setError("SUCCESS")
28 | }).catch(error => {
29 | setLoading(false);
30 | if (error.response.status === 401) setError(error.response.data.message);
31 | else setError("Something went wrong. Please try again later.");
32 | });
33 | }
34 |
35 | }
36 |
37 |
38 | return (
39 |
52 | );
53 | }
54 |
55 | const useFormInput = initialValue => {
56 | const [value, setValue] = useState(initialValue);
57 |
58 | const handleChange = e => {
59 | setValue(e.target.value);
60 | }
61 | return {
62 | value,
63 | onChange: handleChange
64 | }
65 | }
66 |
67 | export default ImportWallet;
--------------------------------------------------------------------------------
/frontend/src/pages/SendBnb.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import axios from 'axios';
3 |
4 |
5 | function SendEther() {
6 | const password = useFormInput('');
7 | const keystore = useFormInput('');
8 | const toAddress = useFormInput('');
9 | const amount = useFormInput('');
10 |
11 | const [loading, setLoading] = useState(false);
12 | const [error, setError] = useState(null);
13 |
14 | // handle button click of login form
15 | const handleLogin = () => {
16 | setError(null);
17 | setLoading(true);
18 | let passwordT = password.value;
19 | let keystoreT = keystore.value;
20 | let toAddressT = toAddress.value;
21 | let amountT = amount.value;
22 | if(passwordT === '' || keystoreT === '' || toAddressT === '' || amountT === ''){
23 | setLoading(false);
24 | setError("Please fill the fileds");
25 | } else {
26 | axios.post('http://localhost:3080/api/sendBnb', {
27 | keystore: keystoreT,
28 | password: passwordT,
29 | toAddress : toAddressT,
30 | amount : amountT
31 | }).then(response => {
32 | console.log(JSON.stringify(response.data));
33 | setLoading(false);
34 | setError(response.data)
35 | }).catch(error => {
36 | setLoading(false);
37 | if (error.response.status === 401) setError(error.response.data.message);
38 | else setError("Something went wrong. Please try again later.");
39 | });
40 | }
41 |
42 | }
43 |
44 |
45 | return (
46 |
68 | );
69 | }
70 |
71 | const useFormInput = initialValue => {
72 | const [value, setValue] = useState(initialValue);
73 |
74 | const handleChange = e => {
75 | setValue(e.target.value);
76 | }
77 | return {
78 | value,
79 | onChange: handleChange
80 | }
81 | }
82 |
83 | export default SendEther;
--------------------------------------------------------------------------------
/frontend/src/pages/SendToken.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import axios from 'axios';
3 |
4 |
5 | function SendToken() {
6 | const password = useFormInput('');
7 | const keystore = useFormInput('');
8 | const tokenContractAddress = useFormInput('');
9 | const toAddress = useFormInput('');
10 | const amount = useFormInput('');
11 |
12 | const [loading, setLoading] = useState(false);
13 | const [error, setError] = useState(null);
14 |
15 | // handle button click of login form
16 | const handleLogin = () => {
17 | setError(null);
18 | setLoading(true);
19 | let passwordT = password.value;
20 | let keystoreT = keystore.value;
21 | let toAddressT = toAddress.value;
22 | let amountT = amount.value;
23 | let tokenContractAddressT = tokenContractAddress.value
24 | if(passwordT === '' || keystoreT === '' || toAddressT === '' || amountT === '' || tokenContractAddressT === ''){
25 | setLoading(false);
26 | setError("Please fill the fileds");
27 | } else {
28 | axios.post('http://localhost:3080/api/sendToken', {
29 | keystore: keystoreT,
30 | password: passwordT,
31 | tokenContractAddress : tokenContractAddressT,
32 | toAddress : toAddressT,
33 | amount : amountT
34 | }).then(response => {
35 | console.log(JSON.stringify(response.data));
36 | setLoading(false);
37 | setError(response.data.transactionHash)
38 | }).catch(error => {
39 | setLoading(false);
40 | if (error.response.status === 401) setError(error.response.data.message);
41 | else setError("Something went wrong. Please try again later.");
42 | });
43 | }
44 |
45 | }
46 |
47 |
48 | return (
49 |
76 | );
77 | }
78 |
79 | const useFormInput = initialValue => {
80 | const [value, setValue] = useState(initialValue);
81 |
82 | const handleChange = e => {
83 | setValue(e.target.value);
84 | }
85 | return {
86 | value,
87 | onChange: handleChange
88 | }
89 | }
90 |
91 | export default SendToken;
--------------------------------------------------------------------------------
/frontend/src/pages/TokenBalance.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import axios from 'axios';
3 |
4 |
5 | function TokenBalance() {
6 |
7 |
8 | const [loading, setLoading] = useState(false);
9 | const address = useFormInput('');
10 | const tokenAddress = useFormInput('');
11 | const [error, setError] = useState(null);
12 |
13 | // handle button click of login form
14 | const handleLogin = () => {
15 | setError(null);
16 | setLoading(true);
17 | let addressTxt = address.value;
18 | let tokenAddressTxt = tokenAddress.value;
19 | if(addressTxt === '' || tokenAddressTxt === ''){
20 | setLoading(false);
21 | setError("Please fill the fileds");
22 | } else {
23 | axios.post('http://localhost:3080/api/tokenBalance', { address: address.value , tokenAddress : tokenAddressTxt }).then(response => {
24 | console.log(JSON.stringify(response));
25 | setLoading(false);
26 | setError(response.data)
27 | }).catch(error => {
28 | setLoading(false);
29 | if (error.response.status === 401) setError(error.response.data.message);
30 | else setError("Something went wrong. Please try again later.");
31 | });
32 | }
33 |
34 | }
35 |
36 | return (
37 |
38 |
39 | Address
40 |
41 |
42 |
43 |
44 | Token Address
45 |
46 |
47 |
48 |
49 |
50 |
{error}
51 |
52 | );
53 |
54 | }
55 |
56 | const useFormInput = initialValue => {
57 | const [value, setValue] = useState(initialValue);
58 |
59 | const handleChange = e => {
60 | setValue(e.target.value);
61 | }
62 | return {
63 | value,
64 | onChange: handleChange
65 | }
66 | }
67 |
68 | export default TokenBalance;
--------------------------------------------------------------------------------
/frontend/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/frontend/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "node-binance-sdk",
3 | "version": "1.0.3",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@ethersproject/abi": {
8 | "version": "5.0.7",
9 | "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz",
10 | "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==",
11 | "requires": {
12 | "@ethersproject/address": "^5.0.4",
13 | "@ethersproject/bignumber": "^5.0.7",
14 | "@ethersproject/bytes": "^5.0.4",
15 | "@ethersproject/constants": "^5.0.4",
16 | "@ethersproject/hash": "^5.0.4",
17 | "@ethersproject/keccak256": "^5.0.3",
18 | "@ethersproject/logger": "^5.0.5",
19 | "@ethersproject/properties": "^5.0.3",
20 | "@ethersproject/strings": "^5.0.4"
21 | }
22 | },
23 | "@ethersproject/abstract-provider": {
24 | "version": "5.0.7",
25 | "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.7.tgz",
26 | "integrity": "sha512-NF16JGn6M0zZP5ZS8KtDL2Rh7yHxZbUjBIHLNHMm/0X0BephhjUWy8jqs/Zks6kDJRzNthgmPVy41Ec0RYWPYA==",
27 | "requires": {
28 | "@ethersproject/bignumber": "^5.0.7",
29 | "@ethersproject/bytes": "^5.0.4",
30 | "@ethersproject/logger": "^5.0.5",
31 | "@ethersproject/networks": "^5.0.3",
32 | "@ethersproject/properties": "^5.0.3",
33 | "@ethersproject/transactions": "^5.0.5",
34 | "@ethersproject/web": "^5.0.6"
35 | }
36 | },
37 | "@ethersproject/abstract-signer": {
38 | "version": "5.0.9",
39 | "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.9.tgz",
40 | "integrity": "sha512-CM5UNmXQaA03MyYARFDDRjHWBxujO41tVle7glf5kHcQsDDULgqSVpkliLJMtPzZjOKFeCVZBHybTZDEZg5zzg==",
41 | "requires": {
42 | "@ethersproject/abstract-provider": "^5.0.4",
43 | "@ethersproject/bignumber": "^5.0.7",
44 | "@ethersproject/bytes": "^5.0.4",
45 | "@ethersproject/logger": "^5.0.5",
46 | "@ethersproject/properties": "^5.0.3"
47 | }
48 | },
49 | "@ethersproject/address": {
50 | "version": "5.0.8",
51 | "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.8.tgz",
52 | "integrity": "sha512-V87DHiZMZR6hmFYmoGaHex0D53UEbZpW75uj8AqPbjYUmi65RB4N2LPRcJXuWuN2R0Y2CxkvW6ArijWychr5FA==",
53 | "requires": {
54 | "@ethersproject/bignumber": "^5.0.10",
55 | "@ethersproject/bytes": "^5.0.4",
56 | "@ethersproject/keccak256": "^5.0.3",
57 | "@ethersproject/logger": "^5.0.5",
58 | "@ethersproject/rlp": "^5.0.3"
59 | }
60 | },
61 | "@ethersproject/base64": {
62 | "version": "5.0.6",
63 | "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.6.tgz",
64 | "integrity": "sha512-HwrGn8YMiUf7bcdVvB4NJ+eWT0BtEFpDtrYxVXEbR7p/XBSJjwiR7DEggIiRvxbualMKg+EZijQWJ3az2li0uw==",
65 | "requires": {
66 | "@ethersproject/bytes": "^5.0.4"
67 | }
68 | },
69 | "@ethersproject/bignumber": {
70 | "version": "5.0.12",
71 | "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.12.tgz",
72 | "integrity": "sha512-mbFZjwthx6vFlHG9owXP/C5QkNvsA+xHpDCkPPPdG2n1dS9AmZAL5DI0InNLid60rQWL3MXpEl19tFmtL7Q9jw==",
73 | "requires": {
74 | "@ethersproject/bytes": "^5.0.8",
75 | "@ethersproject/logger": "^5.0.5",
76 | "bn.js": "^4.4.0"
77 | }
78 | },
79 | "@ethersproject/bytes": {
80 | "version": "5.0.8",
81 | "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.8.tgz",
82 | "integrity": "sha512-O+sJNVGzzuy51g+EMK8BegomqNIg+C2RO6vOt0XP6ac4o4saiq69FnjlsrNslaiMFVO7qcEHBsWJ9hx1tj1lMw==",
83 | "requires": {
84 | "@ethersproject/logger": "^5.0.5"
85 | }
86 | },
87 | "@ethersproject/constants": {
88 | "version": "5.0.7",
89 | "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.7.tgz",
90 | "integrity": "sha512-cbQK1UpE4hamB52Eg6DLhJoXeQ1plSzekh5Ujir1xdREdwdsZPPXKczkrWqBBR0KyywJZHN/o/hj0w8j7scSGg==",
91 | "requires": {
92 | "@ethersproject/bignumber": "^5.0.7"
93 | }
94 | },
95 | "@ethersproject/hash": {
96 | "version": "5.0.9",
97 | "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.9.tgz",
98 | "integrity": "sha512-e8/i2ZDeGSgCxXT0vocL54+pMbw5oX5fNjb2E3bAIvdkh5kH29M7zz1jHu1QDZnptIuvCZepIbhUH8lxKE2/SQ==",
99 | "requires": {
100 | "@ethersproject/abstract-signer": "^5.0.6",
101 | "@ethersproject/address": "^5.0.5",
102 | "@ethersproject/bignumber": "^5.0.8",
103 | "@ethersproject/bytes": "^5.0.4",
104 | "@ethersproject/keccak256": "^5.0.3",
105 | "@ethersproject/logger": "^5.0.5",
106 | "@ethersproject/properties": "^5.0.4",
107 | "@ethersproject/strings": "^5.0.4"
108 | }
109 | },
110 | "@ethersproject/keccak256": {
111 | "version": "5.0.6",
112 | "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.6.tgz",
113 | "integrity": "sha512-eJ4Id/i2rwrf5JXEA7a12bG1phuxjj47mPZgDUbttuNBodhSuZF2nEO5QdpaRjmlphQ8Kt9PNqY/z7lhtJptZg==",
114 | "requires": {
115 | "@ethersproject/bytes": "^5.0.4",
116 | "js-sha3": "0.5.7"
117 | },
118 | "dependencies": {
119 | "js-sha3": {
120 | "version": "0.5.7",
121 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz",
122 | "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc="
123 | }
124 | }
125 | },
126 | "@ethersproject/logger": {
127 | "version": "5.0.8",
128 | "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
129 | "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
130 | },
131 | "@ethersproject/networks": {
132 | "version": "5.0.6",
133 | "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.6.tgz",
134 | "integrity": "sha512-2Cg1N5109zzFOBfkyuPj+FfF7ioqAsRffmybJ2lrsiB5skphIAE72XNSCs4fqktlf+rwSh/5o/UXRjXxvSktZw==",
135 | "requires": {
136 | "@ethersproject/logger": "^5.0.5"
137 | }
138 | },
139 | "@ethersproject/properties": {
140 | "version": "5.0.6",
141 | "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.6.tgz",
142 | "integrity": "sha512-a9DUMizYhJ0TbtuDkO9iYlb2CDlpSKqGPDr+amvlZhRspQ6jbl5Eq8jfu4SCcGlcfaTbguJmqGnyOGn1EFt6xA==",
143 | "requires": {
144 | "@ethersproject/logger": "^5.0.5"
145 | }
146 | },
147 | "@ethersproject/rlp": {
148 | "version": "5.0.6",
149 | "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.6.tgz",
150 | "integrity": "sha512-M223MTaydfmQSsvqAl0FJZDYFlSqt6cgbhnssLDwqCKYegAHE16vrFyo+eiOapYlt32XAIJm0BXlqSunULzZuQ==",
151 | "requires": {
152 | "@ethersproject/bytes": "^5.0.4",
153 | "@ethersproject/logger": "^5.0.5"
154 | }
155 | },
156 | "@ethersproject/signing-key": {
157 | "version": "5.0.7",
158 | "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.7.tgz",
159 | "integrity": "sha512-JYndnhFPKH0daPcIjyhi+GMcw3srIHkQ40hGRe6DA0CdGrpMfgyfSYDQ2D8HL2lgR+Xm4SHfEB0qba6+sCyrvg==",
160 | "requires": {
161 | "@ethersproject/bytes": "^5.0.4",
162 | "@ethersproject/logger": "^5.0.5",
163 | "@ethersproject/properties": "^5.0.3",
164 | "elliptic": "6.5.3"
165 | }
166 | },
167 | "@ethersproject/strings": {
168 | "version": "5.0.7",
169 | "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.7.tgz",
170 | "integrity": "sha512-a+6T80LvmXGMOOWQTZHtGGQEg1z4v8rm8oX70KNs55YtPXI/5J3LBbVf5pyqCKSlmiBw5IaepPvs5XGalRUSZQ==",
171 | "requires": {
172 | "@ethersproject/bytes": "^5.0.4",
173 | "@ethersproject/constants": "^5.0.4",
174 | "@ethersproject/logger": "^5.0.5"
175 | }
176 | },
177 | "@ethersproject/transactions": {
178 | "version": "5.0.8",
179 | "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.8.tgz",
180 | "integrity": "sha512-i7NtOXVzUe+YSU6QufzlRrI2WzHaTmULAKHJv4duIZMLqzehCBXGA9lTpFgFdqGYcQJ7vOtNFC2BB2mSjmuXqg==",
181 | "requires": {
182 | "@ethersproject/address": "^5.0.4",
183 | "@ethersproject/bignumber": "^5.0.7",
184 | "@ethersproject/bytes": "^5.0.4",
185 | "@ethersproject/constants": "^5.0.4",
186 | "@ethersproject/keccak256": "^5.0.3",
187 | "@ethersproject/logger": "^5.0.5",
188 | "@ethersproject/properties": "^5.0.3",
189 | "@ethersproject/rlp": "^5.0.3",
190 | "@ethersproject/signing-key": "^5.0.4"
191 | }
192 | },
193 | "@ethersproject/web": {
194 | "version": "5.0.11",
195 | "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.11.tgz",
196 | "integrity": "sha512-x03ihbPoN1S8Gsh9WSwxkYxUIumLi02ZEKJku1C43sxBfe+mdprWyvujzYlpuoRNfWRgNhdRDKMP8JbG6MwNGA==",
197 | "requires": {
198 | "@ethersproject/base64": "^5.0.3",
199 | "@ethersproject/bytes": "^5.0.4",
200 | "@ethersproject/logger": "^5.0.5",
201 | "@ethersproject/properties": "^5.0.3",
202 | "@ethersproject/strings": "^5.0.4"
203 | }
204 | },
205 | "@sindresorhus/is": {
206 | "version": "0.14.0",
207 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
208 | "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ=="
209 | },
210 | "@szmarczak/http-timer": {
211 | "version": "1.1.2",
212 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
213 | "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
214 | "requires": {
215 | "defer-to-connect": "^1.0.1"
216 | }
217 | },
218 | "@types/bn.js": {
219 | "version": "4.11.6",
220 | "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz",
221 | "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==",
222 | "requires": {
223 | "@types/node": "*"
224 | }
225 | },
226 | "@types/node": {
227 | "version": "12.19.11",
228 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.11.tgz",
229 | "integrity": "sha512-bwVfNTFZOrGXyiQ6t4B9sZerMSShWNsGRw8tC5DY1qImUNczS9SjT4G6PnzjCnxsu5Ubj6xjL2lgwddkxtQl5w=="
230 | },
231 | "@types/pbkdf2": {
232 | "version": "3.1.0",
233 | "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz",
234 | "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==",
235 | "requires": {
236 | "@types/node": "*"
237 | }
238 | },
239 | "@types/secp256k1": {
240 | "version": "4.0.1",
241 | "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.1.tgz",
242 | "integrity": "sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog==",
243 | "requires": {
244 | "@types/node": "*"
245 | }
246 | },
247 | "accepts": {
248 | "version": "1.3.7",
249 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
250 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
251 | "requires": {
252 | "mime-types": "~2.1.24",
253 | "negotiator": "0.6.2"
254 | }
255 | },
256 | "ajv": {
257 | "version": "6.12.6",
258 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
259 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
260 | "requires": {
261 | "fast-deep-equal": "^3.1.1",
262 | "fast-json-stable-stringify": "^2.0.0",
263 | "json-schema-traverse": "^0.4.1",
264 | "uri-js": "^4.2.2"
265 | }
266 | },
267 | "array-filter": {
268 | "version": "1.0.0",
269 | "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz",
270 | "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM="
271 | },
272 | "array-flatten": {
273 | "version": "1.1.1",
274 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
275 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
276 | },
277 | "asn1": {
278 | "version": "0.2.4",
279 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
280 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
281 | "requires": {
282 | "safer-buffer": "~2.1.0"
283 | }
284 | },
285 | "asn1.js": {
286 | "version": "5.4.1",
287 | "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
288 | "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
289 | "requires": {
290 | "bn.js": "^4.0.0",
291 | "inherits": "^2.0.1",
292 | "minimalistic-assert": "^1.0.0",
293 | "safer-buffer": "^2.1.0"
294 | }
295 | },
296 | "assert-plus": {
297 | "version": "1.0.0",
298 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
299 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
300 | },
301 | "async-limiter": {
302 | "version": "1.0.1",
303 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
304 | "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
305 | },
306 | "asynckit": {
307 | "version": "0.4.0",
308 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
309 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
310 | },
311 | "available-typed-arrays": {
312 | "version": "1.0.2",
313 | "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz",
314 | "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==",
315 | "requires": {
316 | "array-filter": "^1.0.0"
317 | }
318 | },
319 | "aws-sign2": {
320 | "version": "0.7.0",
321 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
322 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
323 | },
324 | "aws4": {
325 | "version": "1.11.0",
326 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
327 | "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
328 | },
329 | "axios": {
330 | "version": "0.21.1",
331 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
332 | "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
333 | "requires": {
334 | "follow-redirects": "^1.10.0"
335 | }
336 | },
337 | "base-x": {
338 | "version": "3.0.8",
339 | "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz",
340 | "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==",
341 | "requires": {
342 | "safe-buffer": "^5.0.1"
343 | }
344 | },
345 | "base64-js": {
346 | "version": "1.5.1",
347 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
348 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
349 | },
350 | "bcrypt-pbkdf": {
351 | "version": "1.0.2",
352 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
353 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
354 | "requires": {
355 | "tweetnacl": "^0.14.3"
356 | }
357 | },
358 | "bignumber.js": {
359 | "version": "9.0.1",
360 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz",
361 | "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA=="
362 | },
363 | "blakejs": {
364 | "version": "1.1.0",
365 | "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz",
366 | "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U="
367 | },
368 | "bluebird": {
369 | "version": "3.7.2",
370 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
371 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
372 | },
373 | "bn.js": {
374 | "version": "4.11.9",
375 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
376 | "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw=="
377 | },
378 | "body-parser": {
379 | "version": "1.19.0",
380 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
381 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
382 | "requires": {
383 | "bytes": "3.1.0",
384 | "content-type": "~1.0.4",
385 | "debug": "2.6.9",
386 | "depd": "~1.1.2",
387 | "http-errors": "1.7.2",
388 | "iconv-lite": "0.4.24",
389 | "on-finished": "~2.3.0",
390 | "qs": "6.7.0",
391 | "raw-body": "2.4.0",
392 | "type-is": "~1.6.17"
393 | }
394 | },
395 | "brorand": {
396 | "version": "1.1.0",
397 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
398 | "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
399 | },
400 | "browserify-aes": {
401 | "version": "1.2.0",
402 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
403 | "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
404 | "requires": {
405 | "buffer-xor": "^1.0.3",
406 | "cipher-base": "^1.0.0",
407 | "create-hash": "^1.1.0",
408 | "evp_bytestokey": "^1.0.3",
409 | "inherits": "^2.0.1",
410 | "safe-buffer": "^5.0.1"
411 | }
412 | },
413 | "browserify-cipher": {
414 | "version": "1.0.1",
415 | "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
416 | "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
417 | "requires": {
418 | "browserify-aes": "^1.0.4",
419 | "browserify-des": "^1.0.0",
420 | "evp_bytestokey": "^1.0.0"
421 | }
422 | },
423 | "browserify-des": {
424 | "version": "1.0.2",
425 | "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
426 | "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
427 | "requires": {
428 | "cipher-base": "^1.0.1",
429 | "des.js": "^1.0.0",
430 | "inherits": "^2.0.1",
431 | "safe-buffer": "^5.1.2"
432 | }
433 | },
434 | "browserify-rsa": {
435 | "version": "4.1.0",
436 | "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
437 | "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
438 | "requires": {
439 | "bn.js": "^5.0.0",
440 | "randombytes": "^2.0.1"
441 | },
442 | "dependencies": {
443 | "bn.js": {
444 | "version": "5.1.3",
445 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz",
446 | "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ=="
447 | }
448 | }
449 | },
450 | "browserify-sign": {
451 | "version": "4.2.1",
452 | "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
453 | "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
454 | "requires": {
455 | "bn.js": "^5.1.1",
456 | "browserify-rsa": "^4.0.1",
457 | "create-hash": "^1.2.0",
458 | "create-hmac": "^1.1.7",
459 | "elliptic": "^6.5.3",
460 | "inherits": "^2.0.4",
461 | "parse-asn1": "^5.1.5",
462 | "readable-stream": "^3.6.0",
463 | "safe-buffer": "^5.2.0"
464 | },
465 | "dependencies": {
466 | "bn.js": {
467 | "version": "5.1.3",
468 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz",
469 | "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ=="
470 | },
471 | "safe-buffer": {
472 | "version": "5.2.1",
473 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
474 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
475 | }
476 | }
477 | },
478 | "bs58": {
479 | "version": "4.0.1",
480 | "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
481 | "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=",
482 | "requires": {
483 | "base-x": "^3.0.2"
484 | }
485 | },
486 | "bs58check": {
487 | "version": "2.1.2",
488 | "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz",
489 | "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==",
490 | "requires": {
491 | "bs58": "^4.0.0",
492 | "create-hash": "^1.1.0",
493 | "safe-buffer": "^5.1.2"
494 | }
495 | },
496 | "buffer": {
497 | "version": "5.7.1",
498 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
499 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
500 | "requires": {
501 | "base64-js": "^1.3.1",
502 | "ieee754": "^1.1.13"
503 | }
504 | },
505 | "buffer-to-arraybuffer": {
506 | "version": "0.0.5",
507 | "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz",
508 | "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo="
509 | },
510 | "buffer-xor": {
511 | "version": "1.0.3",
512 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
513 | "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
514 | },
515 | "bufferutil": {
516 | "version": "4.0.2",
517 | "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.2.tgz",
518 | "integrity": "sha512-AtnG3W6M8B2n4xDQ5R+70EXvOpnXsFYg/AK2yTZd+HQ/oxAdz+GI+DvjmhBw3L0ole+LJ0ngqY4JMbDzkfNzhA==",
519 | "requires": {
520 | "node-gyp-build": "^4.2.0"
521 | }
522 | },
523 | "bytes": {
524 | "version": "3.1.0",
525 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
526 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
527 | },
528 | "cacheable-request": {
529 | "version": "6.1.0",
530 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
531 | "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
532 | "requires": {
533 | "clone-response": "^1.0.2",
534 | "get-stream": "^5.1.0",
535 | "http-cache-semantics": "^4.0.0",
536 | "keyv": "^3.0.0",
537 | "lowercase-keys": "^2.0.0",
538 | "normalize-url": "^4.1.0",
539 | "responselike": "^1.0.2"
540 | },
541 | "dependencies": {
542 | "get-stream": {
543 | "version": "5.2.0",
544 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
545 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
546 | "requires": {
547 | "pump": "^3.0.0"
548 | }
549 | },
550 | "lowercase-keys": {
551 | "version": "2.0.0",
552 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
553 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
554 | }
555 | }
556 | },
557 | "call-bind": {
558 | "version": "1.0.0",
559 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
560 | "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
561 | "requires": {
562 | "function-bind": "^1.1.1",
563 | "get-intrinsic": "^1.0.0"
564 | }
565 | },
566 | "caseless": {
567 | "version": "0.12.0",
568 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
569 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
570 | },
571 | "chownr": {
572 | "version": "1.1.4",
573 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
574 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
575 | },
576 | "cids": {
577 | "version": "0.7.5",
578 | "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz",
579 | "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==",
580 | "requires": {
581 | "buffer": "^5.5.0",
582 | "class-is": "^1.1.0",
583 | "multibase": "~0.6.0",
584 | "multicodec": "^1.0.0",
585 | "multihashes": "~0.4.15"
586 | },
587 | "dependencies": {
588 | "multicodec": {
589 | "version": "1.0.4",
590 | "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz",
591 | "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==",
592 | "requires": {
593 | "buffer": "^5.6.0",
594 | "varint": "^5.0.0"
595 | }
596 | }
597 | }
598 | },
599 | "cipher-base": {
600 | "version": "1.0.4",
601 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
602 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
603 | "requires": {
604 | "inherits": "^2.0.1",
605 | "safe-buffer": "^5.0.1"
606 | }
607 | },
608 | "class-is": {
609 | "version": "1.1.0",
610 | "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz",
611 | "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw=="
612 | },
613 | "clone-response": {
614 | "version": "1.0.2",
615 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
616 | "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
617 | "requires": {
618 | "mimic-response": "^1.0.0"
619 | }
620 | },
621 | "combined-stream": {
622 | "version": "1.0.8",
623 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
624 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
625 | "requires": {
626 | "delayed-stream": "~1.0.0"
627 | }
628 | },
629 | "content-disposition": {
630 | "version": "0.5.3",
631 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
632 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
633 | "requires": {
634 | "safe-buffer": "5.1.2"
635 | }
636 | },
637 | "content-hash": {
638 | "version": "2.5.2",
639 | "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz",
640 | "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==",
641 | "requires": {
642 | "cids": "^0.7.1",
643 | "multicodec": "^0.5.5",
644 | "multihashes": "^0.4.15"
645 | }
646 | },
647 | "content-type": {
648 | "version": "1.0.4",
649 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
650 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
651 | },
652 | "cookie": {
653 | "version": "0.4.0",
654 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
655 | "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
656 | },
657 | "cookie-signature": {
658 | "version": "1.0.6",
659 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
660 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
661 | },
662 | "cookiejar": {
663 | "version": "2.1.2",
664 | "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
665 | "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA=="
666 | },
667 | "core-util-is": {
668 | "version": "1.0.2",
669 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
670 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
671 | },
672 | "cors": {
673 | "version": "2.8.5",
674 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
675 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
676 | "requires": {
677 | "object-assign": "^4",
678 | "vary": "^1"
679 | }
680 | },
681 | "create-ecdh": {
682 | "version": "4.0.4",
683 | "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
684 | "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
685 | "requires": {
686 | "bn.js": "^4.1.0",
687 | "elliptic": "^6.5.3"
688 | }
689 | },
690 | "create-hash": {
691 | "version": "1.2.0",
692 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
693 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
694 | "requires": {
695 | "cipher-base": "^1.0.1",
696 | "inherits": "^2.0.1",
697 | "md5.js": "^1.3.4",
698 | "ripemd160": "^2.0.1",
699 | "sha.js": "^2.4.0"
700 | }
701 | },
702 | "create-hmac": {
703 | "version": "1.1.7",
704 | "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
705 | "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
706 | "requires": {
707 | "cipher-base": "^1.0.3",
708 | "create-hash": "^1.1.0",
709 | "inherits": "^2.0.1",
710 | "ripemd160": "^2.0.0",
711 | "safe-buffer": "^5.0.1",
712 | "sha.js": "^2.4.8"
713 | }
714 | },
715 | "crypto-browserify": {
716 | "version": "3.12.0",
717 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
718 | "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
719 | "requires": {
720 | "browserify-cipher": "^1.0.0",
721 | "browserify-sign": "^4.0.0",
722 | "create-ecdh": "^4.0.0",
723 | "create-hash": "^1.1.0",
724 | "create-hmac": "^1.1.0",
725 | "diffie-hellman": "^5.0.0",
726 | "inherits": "^2.0.1",
727 | "pbkdf2": "^3.0.3",
728 | "public-encrypt": "^4.0.0",
729 | "randombytes": "^2.0.0",
730 | "randomfill": "^1.0.3"
731 | }
732 | },
733 | "d": {
734 | "version": "1.0.1",
735 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
736 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
737 | "requires": {
738 | "es5-ext": "^0.10.50",
739 | "type": "^1.0.1"
740 | }
741 | },
742 | "dashdash": {
743 | "version": "1.14.1",
744 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
745 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
746 | "requires": {
747 | "assert-plus": "^1.0.0"
748 | }
749 | },
750 | "debug": {
751 | "version": "2.6.9",
752 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
753 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
754 | "requires": {
755 | "ms": "2.0.0"
756 | }
757 | },
758 | "decode-uri-component": {
759 | "version": "0.2.0",
760 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
761 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
762 | },
763 | "decompress-response": {
764 | "version": "3.3.0",
765 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
766 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
767 | "requires": {
768 | "mimic-response": "^1.0.0"
769 | }
770 | },
771 | "defer-to-connect": {
772 | "version": "1.1.3",
773 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
774 | "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
775 | },
776 | "define-properties": {
777 | "version": "1.1.3",
778 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
779 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
780 | "requires": {
781 | "object-keys": "^1.0.12"
782 | }
783 | },
784 | "delayed-stream": {
785 | "version": "1.0.0",
786 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
787 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
788 | },
789 | "depd": {
790 | "version": "1.1.2",
791 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
792 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
793 | },
794 | "des.js": {
795 | "version": "1.0.1",
796 | "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
797 | "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
798 | "requires": {
799 | "inherits": "^2.0.1",
800 | "minimalistic-assert": "^1.0.0"
801 | }
802 | },
803 | "destroy": {
804 | "version": "1.0.4",
805 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
806 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
807 | },
808 | "diffie-hellman": {
809 | "version": "5.0.3",
810 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
811 | "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
812 | "requires": {
813 | "bn.js": "^4.1.0",
814 | "miller-rabin": "^4.0.0",
815 | "randombytes": "^2.0.0"
816 | }
817 | },
818 | "dom-walk": {
819 | "version": "0.1.2",
820 | "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
821 | "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
822 | },
823 | "duplexer3": {
824 | "version": "0.1.4",
825 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
826 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
827 | },
828 | "ecc-jsbn": {
829 | "version": "0.1.2",
830 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
831 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
832 | "requires": {
833 | "jsbn": "~0.1.0",
834 | "safer-buffer": "^2.1.0"
835 | }
836 | },
837 | "ee-first": {
838 | "version": "1.1.1",
839 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
840 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
841 | },
842 | "elliptic": {
843 | "version": "6.5.3",
844 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",
845 | "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
846 | "requires": {
847 | "bn.js": "^4.4.0",
848 | "brorand": "^1.0.1",
849 | "hash.js": "^1.0.0",
850 | "hmac-drbg": "^1.0.0",
851 | "inherits": "^2.0.1",
852 | "minimalistic-assert": "^1.0.0",
853 | "minimalistic-crypto-utils": "^1.0.0"
854 | }
855 | },
856 | "encodeurl": {
857 | "version": "1.0.2",
858 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
859 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
860 | },
861 | "end-of-stream": {
862 | "version": "1.4.4",
863 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
864 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
865 | "requires": {
866 | "once": "^1.4.0"
867 | }
868 | },
869 | "es-abstract": {
870 | "version": "1.18.0-next.1",
871 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
872 | "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
873 | "requires": {
874 | "es-to-primitive": "^1.2.1",
875 | "function-bind": "^1.1.1",
876 | "has": "^1.0.3",
877 | "has-symbols": "^1.0.1",
878 | "is-callable": "^1.2.2",
879 | "is-negative-zero": "^2.0.0",
880 | "is-regex": "^1.1.1",
881 | "object-inspect": "^1.8.0",
882 | "object-keys": "^1.1.1",
883 | "object.assign": "^4.1.1",
884 | "string.prototype.trimend": "^1.0.1",
885 | "string.prototype.trimstart": "^1.0.1"
886 | }
887 | },
888 | "es-to-primitive": {
889 | "version": "1.2.1",
890 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
891 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
892 | "requires": {
893 | "is-callable": "^1.1.4",
894 | "is-date-object": "^1.0.1",
895 | "is-symbol": "^1.0.2"
896 | }
897 | },
898 | "es5-ext": {
899 | "version": "0.10.53",
900 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
901 | "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
902 | "requires": {
903 | "es6-iterator": "~2.0.3",
904 | "es6-symbol": "~3.1.3",
905 | "next-tick": "~1.0.0"
906 | }
907 | },
908 | "es6-iterator": {
909 | "version": "2.0.3",
910 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
911 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
912 | "requires": {
913 | "d": "1",
914 | "es5-ext": "^0.10.35",
915 | "es6-symbol": "^3.1.1"
916 | }
917 | },
918 | "es6-symbol": {
919 | "version": "3.1.3",
920 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
921 | "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
922 | "requires": {
923 | "d": "^1.0.1",
924 | "ext": "^1.1.2"
925 | }
926 | },
927 | "escape-html": {
928 | "version": "1.0.3",
929 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
930 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
931 | },
932 | "etag": {
933 | "version": "1.8.1",
934 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
935 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
936 | },
937 | "eth-ens-namehash": {
938 | "version": "2.0.8",
939 | "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz",
940 | "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=",
941 | "requires": {
942 | "idna-uts46-hx": "^2.3.1",
943 | "js-sha3": "^0.5.7"
944 | },
945 | "dependencies": {
946 | "js-sha3": {
947 | "version": "0.5.7",
948 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz",
949 | "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc="
950 | }
951 | }
952 | },
953 | "eth-lib": {
954 | "version": "0.1.29",
955 | "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz",
956 | "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==",
957 | "requires": {
958 | "bn.js": "^4.11.6",
959 | "elliptic": "^6.4.0",
960 | "nano-json-stream-parser": "^0.1.2",
961 | "servify": "^0.1.12",
962 | "ws": "^3.0.0",
963 | "xhr-request-promise": "^0.1.2"
964 | }
965 | },
966 | "ethereum-bloom-filters": {
967 | "version": "1.0.7",
968 | "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.7.tgz",
969 | "integrity": "sha512-cDcJJSJ9GMAcURiAWO3DxIEhTL/uWqlQnvgKpuYQzYPrt/izuGU+1ntQmHt0IRq6ADoSYHFnB+aCEFIldjhkMQ==",
970 | "requires": {
971 | "js-sha3": "^0.8.0"
972 | }
973 | },
974 | "ethereum-cryptography": {
975 | "version": "0.1.3",
976 | "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz",
977 | "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==",
978 | "requires": {
979 | "@types/pbkdf2": "^3.0.0",
980 | "@types/secp256k1": "^4.0.1",
981 | "blakejs": "^1.1.0",
982 | "browserify-aes": "^1.2.0",
983 | "bs58check": "^2.1.2",
984 | "create-hash": "^1.2.0",
985 | "create-hmac": "^1.1.7",
986 | "hash.js": "^1.1.7",
987 | "keccak": "^3.0.0",
988 | "pbkdf2": "^3.0.17",
989 | "randombytes": "^2.1.0",
990 | "safe-buffer": "^5.1.2",
991 | "scrypt-js": "^3.0.0",
992 | "secp256k1": "^4.0.1",
993 | "setimmediate": "^1.0.5"
994 | }
995 | },
996 | "ethereumjs-common": {
997 | "version": "1.5.2",
998 | "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz",
999 | "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA=="
1000 | },
1001 | "ethereumjs-tx": {
1002 | "version": "2.1.2",
1003 | "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz",
1004 | "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==",
1005 | "requires": {
1006 | "ethereumjs-common": "^1.5.0",
1007 | "ethereumjs-util": "^6.0.0"
1008 | }
1009 | },
1010 | "ethereumjs-util": {
1011 | "version": "6.2.1",
1012 | "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz",
1013 | "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==",
1014 | "requires": {
1015 | "@types/bn.js": "^4.11.3",
1016 | "bn.js": "^4.11.0",
1017 | "create-hash": "^1.1.2",
1018 | "elliptic": "^6.5.2",
1019 | "ethereum-cryptography": "^0.1.3",
1020 | "ethjs-util": "0.1.6",
1021 | "rlp": "^2.2.3"
1022 | }
1023 | },
1024 | "ethjs-unit": {
1025 | "version": "0.1.6",
1026 | "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz",
1027 | "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=",
1028 | "requires": {
1029 | "bn.js": "4.11.6",
1030 | "number-to-bn": "1.7.0"
1031 | },
1032 | "dependencies": {
1033 | "bn.js": {
1034 | "version": "4.11.6",
1035 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
1036 | "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU="
1037 | }
1038 | }
1039 | },
1040 | "ethjs-util": {
1041 | "version": "0.1.6",
1042 | "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz",
1043 | "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==",
1044 | "requires": {
1045 | "is-hex-prefixed": "1.0.0",
1046 | "strip-hex-prefix": "1.0.0"
1047 | }
1048 | },
1049 | "eventemitter3": {
1050 | "version": "4.0.4",
1051 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
1052 | "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ=="
1053 | },
1054 | "evp_bytestokey": {
1055 | "version": "1.0.3",
1056 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
1057 | "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
1058 | "requires": {
1059 | "md5.js": "^1.3.4",
1060 | "safe-buffer": "^5.1.1"
1061 | }
1062 | },
1063 | "express": {
1064 | "version": "4.17.1",
1065 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
1066 | "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
1067 | "requires": {
1068 | "accepts": "~1.3.7",
1069 | "array-flatten": "1.1.1",
1070 | "body-parser": "1.19.0",
1071 | "content-disposition": "0.5.3",
1072 | "content-type": "~1.0.4",
1073 | "cookie": "0.4.0",
1074 | "cookie-signature": "1.0.6",
1075 | "debug": "2.6.9",
1076 | "depd": "~1.1.2",
1077 | "encodeurl": "~1.0.2",
1078 | "escape-html": "~1.0.3",
1079 | "etag": "~1.8.1",
1080 | "finalhandler": "~1.1.2",
1081 | "fresh": "0.5.2",
1082 | "merge-descriptors": "1.0.1",
1083 | "methods": "~1.1.2",
1084 | "on-finished": "~2.3.0",
1085 | "parseurl": "~1.3.3",
1086 | "path-to-regexp": "0.1.7",
1087 | "proxy-addr": "~2.0.5",
1088 | "qs": "6.7.0",
1089 | "range-parser": "~1.2.1",
1090 | "safe-buffer": "5.1.2",
1091 | "send": "0.17.1",
1092 | "serve-static": "1.14.1",
1093 | "setprototypeof": "1.1.1",
1094 | "statuses": "~1.5.0",
1095 | "type-is": "~1.6.18",
1096 | "utils-merge": "1.0.1",
1097 | "vary": "~1.1.2"
1098 | }
1099 | },
1100 | "ext": {
1101 | "version": "1.4.0",
1102 | "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
1103 | "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
1104 | "requires": {
1105 | "type": "^2.0.0"
1106 | },
1107 | "dependencies": {
1108 | "type": {
1109 | "version": "2.1.0",
1110 | "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz",
1111 | "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA=="
1112 | }
1113 | }
1114 | },
1115 | "extend": {
1116 | "version": "3.0.2",
1117 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1118 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
1119 | },
1120 | "extsprintf": {
1121 | "version": "1.3.0",
1122 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
1123 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
1124 | },
1125 | "fast-deep-equal": {
1126 | "version": "3.1.3",
1127 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1128 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
1129 | },
1130 | "fast-json-stable-stringify": {
1131 | "version": "2.1.0",
1132 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1133 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
1134 | },
1135 | "finalhandler": {
1136 | "version": "1.1.2",
1137 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
1138 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
1139 | "requires": {
1140 | "debug": "2.6.9",
1141 | "encodeurl": "~1.0.2",
1142 | "escape-html": "~1.0.3",
1143 | "on-finished": "~2.3.0",
1144 | "parseurl": "~1.3.3",
1145 | "statuses": "~1.5.0",
1146 | "unpipe": "~1.0.0"
1147 | }
1148 | },
1149 | "follow-redirects": {
1150 | "version": "1.13.1",
1151 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz",
1152 | "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg=="
1153 | },
1154 | "foreach": {
1155 | "version": "2.0.5",
1156 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
1157 | "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
1158 | },
1159 | "forever-agent": {
1160 | "version": "0.6.1",
1161 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
1162 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
1163 | },
1164 | "form-data": {
1165 | "version": "2.3.3",
1166 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
1167 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
1168 | "requires": {
1169 | "asynckit": "^0.4.0",
1170 | "combined-stream": "^1.0.6",
1171 | "mime-types": "^2.1.12"
1172 | }
1173 | },
1174 | "forwarded": {
1175 | "version": "0.1.2",
1176 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
1177 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
1178 | },
1179 | "fresh": {
1180 | "version": "0.5.2",
1181 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1182 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
1183 | },
1184 | "fs-extra": {
1185 | "version": "4.0.3",
1186 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
1187 | "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
1188 | "requires": {
1189 | "graceful-fs": "^4.1.2",
1190 | "jsonfile": "^4.0.0",
1191 | "universalify": "^0.1.0"
1192 | }
1193 | },
1194 | "fs-minipass": {
1195 | "version": "1.2.7",
1196 | "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
1197 | "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
1198 | "requires": {
1199 | "minipass": "^2.6.0"
1200 | }
1201 | },
1202 | "function-bind": {
1203 | "version": "1.1.1",
1204 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1205 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
1206 | },
1207 | "get-intrinsic": {
1208 | "version": "1.0.2",
1209 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz",
1210 | "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==",
1211 | "requires": {
1212 | "function-bind": "^1.1.1",
1213 | "has": "^1.0.3",
1214 | "has-symbols": "^1.0.1"
1215 | }
1216 | },
1217 | "get-stream": {
1218 | "version": "4.1.0",
1219 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
1220 | "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
1221 | "requires": {
1222 | "pump": "^3.0.0"
1223 | }
1224 | },
1225 | "getpass": {
1226 | "version": "0.1.7",
1227 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
1228 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
1229 | "requires": {
1230 | "assert-plus": "^1.0.0"
1231 | }
1232 | },
1233 | "global": {
1234 | "version": "4.4.0",
1235 | "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
1236 | "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
1237 | "requires": {
1238 | "min-document": "^2.19.0",
1239 | "process": "^0.11.10"
1240 | }
1241 | },
1242 | "got": {
1243 | "version": "9.6.0",
1244 | "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
1245 | "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
1246 | "requires": {
1247 | "@sindresorhus/is": "^0.14.0",
1248 | "@szmarczak/http-timer": "^1.1.2",
1249 | "cacheable-request": "^6.0.0",
1250 | "decompress-response": "^3.3.0",
1251 | "duplexer3": "^0.1.4",
1252 | "get-stream": "^4.1.0",
1253 | "lowercase-keys": "^1.0.1",
1254 | "mimic-response": "^1.0.1",
1255 | "p-cancelable": "^1.0.0",
1256 | "to-readable-stream": "^1.0.0",
1257 | "url-parse-lax": "^3.0.0"
1258 | }
1259 | },
1260 | "graceful-fs": {
1261 | "version": "4.2.4",
1262 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
1263 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
1264 | },
1265 | "har-schema": {
1266 | "version": "2.0.0",
1267 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
1268 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
1269 | },
1270 | "har-validator": {
1271 | "version": "5.1.5",
1272 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
1273 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
1274 | "requires": {
1275 | "ajv": "^6.12.3",
1276 | "har-schema": "^2.0.0"
1277 | }
1278 | },
1279 | "has": {
1280 | "version": "1.0.3",
1281 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1282 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1283 | "requires": {
1284 | "function-bind": "^1.1.1"
1285 | }
1286 | },
1287 | "has-symbol-support-x": {
1288 | "version": "1.4.2",
1289 | "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
1290 | "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw=="
1291 | },
1292 | "has-symbols": {
1293 | "version": "1.0.1",
1294 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
1295 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
1296 | },
1297 | "has-to-string-tag-x": {
1298 | "version": "1.4.1",
1299 | "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
1300 | "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
1301 | "requires": {
1302 | "has-symbol-support-x": "^1.4.1"
1303 | }
1304 | },
1305 | "hash-base": {
1306 | "version": "3.1.0",
1307 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
1308 | "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
1309 | "requires": {
1310 | "inherits": "^2.0.4",
1311 | "readable-stream": "^3.6.0",
1312 | "safe-buffer": "^5.2.0"
1313 | },
1314 | "dependencies": {
1315 | "safe-buffer": {
1316 | "version": "5.2.1",
1317 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1318 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
1319 | }
1320 | }
1321 | },
1322 | "hash.js": {
1323 | "version": "1.1.7",
1324 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
1325 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
1326 | "requires": {
1327 | "inherits": "^2.0.3",
1328 | "minimalistic-assert": "^1.0.1"
1329 | }
1330 | },
1331 | "hmac-drbg": {
1332 | "version": "1.0.1",
1333 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
1334 | "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
1335 | "requires": {
1336 | "hash.js": "^1.0.3",
1337 | "minimalistic-assert": "^1.0.0",
1338 | "minimalistic-crypto-utils": "^1.0.1"
1339 | }
1340 | },
1341 | "http-cache-semantics": {
1342 | "version": "4.1.0",
1343 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
1344 | "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
1345 | },
1346 | "http-errors": {
1347 | "version": "1.7.2",
1348 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
1349 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
1350 | "requires": {
1351 | "depd": "~1.1.2",
1352 | "inherits": "2.0.3",
1353 | "setprototypeof": "1.1.1",
1354 | "statuses": ">= 1.5.0 < 2",
1355 | "toidentifier": "1.0.0"
1356 | },
1357 | "dependencies": {
1358 | "inherits": {
1359 | "version": "2.0.3",
1360 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1361 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
1362 | }
1363 | }
1364 | },
1365 | "http-https": {
1366 | "version": "1.0.0",
1367 | "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz",
1368 | "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs="
1369 | },
1370 | "http-signature": {
1371 | "version": "1.2.0",
1372 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
1373 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
1374 | "requires": {
1375 | "assert-plus": "^1.0.0",
1376 | "jsprim": "^1.2.2",
1377 | "sshpk": "^1.7.0"
1378 | }
1379 | },
1380 | "iconv-lite": {
1381 | "version": "0.4.24",
1382 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1383 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1384 | "requires": {
1385 | "safer-buffer": ">= 2.1.2 < 3"
1386 | }
1387 | },
1388 | "idna-uts46-hx": {
1389 | "version": "2.3.1",
1390 | "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz",
1391 | "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==",
1392 | "requires": {
1393 | "punycode": "2.1.0"
1394 | },
1395 | "dependencies": {
1396 | "punycode": {
1397 | "version": "2.1.0",
1398 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
1399 | "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0="
1400 | }
1401 | }
1402 | },
1403 | "ieee754": {
1404 | "version": "1.2.1",
1405 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
1406 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
1407 | },
1408 | "inherits": {
1409 | "version": "2.0.4",
1410 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1411 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
1412 | },
1413 | "ipaddr.js": {
1414 | "version": "1.9.1",
1415 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
1416 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
1417 | },
1418 | "is-arguments": {
1419 | "version": "1.1.0",
1420 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz",
1421 | "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==",
1422 | "requires": {
1423 | "call-bind": "^1.0.0"
1424 | }
1425 | },
1426 | "is-callable": {
1427 | "version": "1.2.2",
1428 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
1429 | "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA=="
1430 | },
1431 | "is-date-object": {
1432 | "version": "1.0.2",
1433 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
1434 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g=="
1435 | },
1436 | "is-function": {
1437 | "version": "1.0.2",
1438 | "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
1439 | "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
1440 | },
1441 | "is-generator-function": {
1442 | "version": "1.0.8",
1443 | "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz",
1444 | "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ=="
1445 | },
1446 | "is-hex-prefixed": {
1447 | "version": "1.0.0",
1448 | "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz",
1449 | "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ="
1450 | },
1451 | "is-negative-zero": {
1452 | "version": "2.0.1",
1453 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
1454 | "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w=="
1455 | },
1456 | "is-object": {
1457 | "version": "1.0.2",
1458 | "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz",
1459 | "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA=="
1460 | },
1461 | "is-plain-obj": {
1462 | "version": "1.1.0",
1463 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
1464 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
1465 | },
1466 | "is-regex": {
1467 | "version": "1.1.1",
1468 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
1469 | "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
1470 | "requires": {
1471 | "has-symbols": "^1.0.1"
1472 | }
1473 | },
1474 | "is-retry-allowed": {
1475 | "version": "1.2.0",
1476 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
1477 | "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg=="
1478 | },
1479 | "is-stream": {
1480 | "version": "1.1.0",
1481 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
1482 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
1483 | },
1484 | "is-symbol": {
1485 | "version": "1.0.3",
1486 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
1487 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
1488 | "requires": {
1489 | "has-symbols": "^1.0.1"
1490 | }
1491 | },
1492 | "is-typed-array": {
1493 | "version": "1.1.4",
1494 | "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz",
1495 | "integrity": "sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==",
1496 | "requires": {
1497 | "available-typed-arrays": "^1.0.2",
1498 | "call-bind": "^1.0.0",
1499 | "es-abstract": "^1.18.0-next.1",
1500 | "foreach": "^2.0.5",
1501 | "has-symbols": "^1.0.1"
1502 | }
1503 | },
1504 | "is-typedarray": {
1505 | "version": "1.0.0",
1506 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1507 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
1508 | },
1509 | "isstream": {
1510 | "version": "0.1.2",
1511 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1512 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
1513 | },
1514 | "isurl": {
1515 | "version": "1.0.0",
1516 | "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz",
1517 | "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==",
1518 | "requires": {
1519 | "has-to-string-tag-x": "^1.2.0",
1520 | "is-object": "^1.0.1"
1521 | }
1522 | },
1523 | "js-sha3": {
1524 | "version": "0.8.0",
1525 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz",
1526 | "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q=="
1527 | },
1528 | "jsbn": {
1529 | "version": "0.1.1",
1530 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
1531 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
1532 | },
1533 | "json-buffer": {
1534 | "version": "3.0.0",
1535 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
1536 | "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
1537 | },
1538 | "json-schema": {
1539 | "version": "0.2.3",
1540 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
1541 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
1542 | },
1543 | "json-schema-traverse": {
1544 | "version": "0.4.1",
1545 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1546 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
1547 | },
1548 | "json-stringify-safe": {
1549 | "version": "5.0.1",
1550 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1551 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
1552 | },
1553 | "jsonfile": {
1554 | "version": "4.0.0",
1555 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
1556 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
1557 | "requires": {
1558 | "graceful-fs": "^4.1.6"
1559 | }
1560 | },
1561 | "jsprim": {
1562 | "version": "1.4.1",
1563 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
1564 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
1565 | "requires": {
1566 | "assert-plus": "1.0.0",
1567 | "extsprintf": "1.3.0",
1568 | "json-schema": "0.2.3",
1569 | "verror": "1.10.0"
1570 | }
1571 | },
1572 | "keccak": {
1573 | "version": "3.0.1",
1574 | "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz",
1575 | "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==",
1576 | "requires": {
1577 | "node-addon-api": "^2.0.0",
1578 | "node-gyp-build": "^4.2.0"
1579 | }
1580 | },
1581 | "keyv": {
1582 | "version": "3.1.0",
1583 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
1584 | "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
1585 | "requires": {
1586 | "json-buffer": "3.0.0"
1587 | }
1588 | },
1589 | "lowercase-keys": {
1590 | "version": "1.0.1",
1591 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
1592 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
1593 | },
1594 | "md5.js": {
1595 | "version": "1.3.5",
1596 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
1597 | "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
1598 | "requires": {
1599 | "hash-base": "^3.0.0",
1600 | "inherits": "^2.0.1",
1601 | "safe-buffer": "^5.1.2"
1602 | }
1603 | },
1604 | "media-typer": {
1605 | "version": "0.3.0",
1606 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1607 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
1608 | },
1609 | "merge-descriptors": {
1610 | "version": "1.0.1",
1611 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
1612 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
1613 | },
1614 | "methods": {
1615 | "version": "1.1.2",
1616 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1617 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
1618 | },
1619 | "miller-rabin": {
1620 | "version": "4.0.1",
1621 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
1622 | "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
1623 | "requires": {
1624 | "bn.js": "^4.0.0",
1625 | "brorand": "^1.0.1"
1626 | }
1627 | },
1628 | "mime": {
1629 | "version": "1.6.0",
1630 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
1631 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
1632 | },
1633 | "mime-db": {
1634 | "version": "1.44.0",
1635 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
1636 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
1637 | },
1638 | "mime-types": {
1639 | "version": "2.1.27",
1640 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
1641 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
1642 | "requires": {
1643 | "mime-db": "1.44.0"
1644 | }
1645 | },
1646 | "mimic-response": {
1647 | "version": "1.0.1",
1648 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
1649 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
1650 | },
1651 | "min-document": {
1652 | "version": "2.19.0",
1653 | "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
1654 | "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
1655 | "requires": {
1656 | "dom-walk": "^0.1.0"
1657 | }
1658 | },
1659 | "minimalistic-assert": {
1660 | "version": "1.0.1",
1661 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
1662 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
1663 | },
1664 | "minimalistic-crypto-utils": {
1665 | "version": "1.0.1",
1666 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
1667 | "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
1668 | },
1669 | "minimist": {
1670 | "version": "1.2.5",
1671 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1672 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
1673 | },
1674 | "minipass": {
1675 | "version": "2.9.0",
1676 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
1677 | "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
1678 | "requires": {
1679 | "safe-buffer": "^5.1.2",
1680 | "yallist": "^3.0.0"
1681 | }
1682 | },
1683 | "minizlib": {
1684 | "version": "1.3.3",
1685 | "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
1686 | "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
1687 | "requires": {
1688 | "minipass": "^2.9.0"
1689 | }
1690 | },
1691 | "mkdirp": {
1692 | "version": "1.0.4",
1693 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
1694 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
1695 | },
1696 | "mkdirp-promise": {
1697 | "version": "5.0.1",
1698 | "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz",
1699 | "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=",
1700 | "requires": {
1701 | "mkdirp": "*"
1702 | }
1703 | },
1704 | "mock-fs": {
1705 | "version": "4.13.0",
1706 | "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.13.0.tgz",
1707 | "integrity": "sha512-DD0vOdofJdoaRNtnWcrXe6RQbpHkPPmtqGq14uRX0F8ZKJ5nv89CVTYl/BZdppDxBDaV0hl75htg3abpEWlPZA=="
1708 | },
1709 | "ms": {
1710 | "version": "2.0.0",
1711 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1712 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1713 | },
1714 | "multibase": {
1715 | "version": "0.6.1",
1716 | "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz",
1717 | "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==",
1718 | "requires": {
1719 | "base-x": "^3.0.8",
1720 | "buffer": "^5.5.0"
1721 | }
1722 | },
1723 | "multicodec": {
1724 | "version": "0.5.7",
1725 | "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz",
1726 | "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==",
1727 | "requires": {
1728 | "varint": "^5.0.0"
1729 | }
1730 | },
1731 | "multihashes": {
1732 | "version": "0.4.21",
1733 | "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz",
1734 | "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==",
1735 | "requires": {
1736 | "buffer": "^5.5.0",
1737 | "multibase": "^0.7.0",
1738 | "varint": "^5.0.0"
1739 | },
1740 | "dependencies": {
1741 | "multibase": {
1742 | "version": "0.7.0",
1743 | "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz",
1744 | "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==",
1745 | "requires": {
1746 | "base-x": "^3.0.8",
1747 | "buffer": "^5.5.0"
1748 | }
1749 | }
1750 | }
1751 | },
1752 | "nano-json-stream-parser": {
1753 | "version": "0.1.2",
1754 | "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz",
1755 | "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18="
1756 | },
1757 | "negotiator": {
1758 | "version": "0.6.2",
1759 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
1760 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
1761 | },
1762 | "next-tick": {
1763 | "version": "1.0.0",
1764 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
1765 | "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
1766 | },
1767 | "node-addon-api": {
1768 | "version": "2.0.2",
1769 | "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz",
1770 | "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA=="
1771 | },
1772 | "node-gyp-build": {
1773 | "version": "4.2.3",
1774 | "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz",
1775 | "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg=="
1776 | },
1777 | "normalize-url": {
1778 | "version": "4.5.0",
1779 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
1780 | "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ=="
1781 | },
1782 | "number-to-bn": {
1783 | "version": "1.7.0",
1784 | "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz",
1785 | "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=",
1786 | "requires": {
1787 | "bn.js": "4.11.6",
1788 | "strip-hex-prefix": "1.0.0"
1789 | },
1790 | "dependencies": {
1791 | "bn.js": {
1792 | "version": "4.11.6",
1793 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
1794 | "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU="
1795 | }
1796 | }
1797 | },
1798 | "oauth-sign": {
1799 | "version": "0.9.0",
1800 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
1801 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
1802 | },
1803 | "object-assign": {
1804 | "version": "4.1.1",
1805 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1806 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
1807 | },
1808 | "object-inspect": {
1809 | "version": "1.9.0",
1810 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
1811 | "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw=="
1812 | },
1813 | "object-keys": {
1814 | "version": "1.1.1",
1815 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
1816 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
1817 | },
1818 | "object.assign": {
1819 | "version": "4.1.2",
1820 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
1821 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
1822 | "requires": {
1823 | "call-bind": "^1.0.0",
1824 | "define-properties": "^1.1.3",
1825 | "has-symbols": "^1.0.1",
1826 | "object-keys": "^1.1.1"
1827 | }
1828 | },
1829 | "oboe": {
1830 | "version": "2.1.5",
1831 | "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz",
1832 | "integrity": "sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=",
1833 | "requires": {
1834 | "http-https": "^1.0.0"
1835 | }
1836 | },
1837 | "on-finished": {
1838 | "version": "2.3.0",
1839 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
1840 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
1841 | "requires": {
1842 | "ee-first": "1.1.1"
1843 | }
1844 | },
1845 | "once": {
1846 | "version": "1.4.0",
1847 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1848 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1849 | "requires": {
1850 | "wrappy": "1"
1851 | }
1852 | },
1853 | "p-cancelable": {
1854 | "version": "1.1.0",
1855 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
1856 | "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw=="
1857 | },
1858 | "p-finally": {
1859 | "version": "1.0.0",
1860 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
1861 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
1862 | },
1863 | "p-timeout": {
1864 | "version": "1.2.1",
1865 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz",
1866 | "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=",
1867 | "requires": {
1868 | "p-finally": "^1.0.0"
1869 | }
1870 | },
1871 | "parse-asn1": {
1872 | "version": "5.1.6",
1873 | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
1874 | "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
1875 | "requires": {
1876 | "asn1.js": "^5.2.0",
1877 | "browserify-aes": "^1.0.0",
1878 | "evp_bytestokey": "^1.0.0",
1879 | "pbkdf2": "^3.0.3",
1880 | "safe-buffer": "^5.1.1"
1881 | }
1882 | },
1883 | "parse-headers": {
1884 | "version": "2.0.3",
1885 | "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz",
1886 | "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA=="
1887 | },
1888 | "parseurl": {
1889 | "version": "1.3.3",
1890 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1891 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
1892 | },
1893 | "path-to-regexp": {
1894 | "version": "0.1.7",
1895 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
1896 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
1897 | },
1898 | "pbkdf2": {
1899 | "version": "3.1.1",
1900 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz",
1901 | "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
1902 | "requires": {
1903 | "create-hash": "^1.1.2",
1904 | "create-hmac": "^1.1.4",
1905 | "ripemd160": "^2.0.1",
1906 | "safe-buffer": "^5.0.1",
1907 | "sha.js": "^2.4.8"
1908 | }
1909 | },
1910 | "performance-now": {
1911 | "version": "2.1.0",
1912 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
1913 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
1914 | },
1915 | "prepend-http": {
1916 | "version": "2.0.0",
1917 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
1918 | "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
1919 | },
1920 | "process": {
1921 | "version": "0.11.10",
1922 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
1923 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
1924 | },
1925 | "proxy-addr": {
1926 | "version": "2.0.6",
1927 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
1928 | "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
1929 | "requires": {
1930 | "forwarded": "~0.1.2",
1931 | "ipaddr.js": "1.9.1"
1932 | }
1933 | },
1934 | "psl": {
1935 | "version": "1.8.0",
1936 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
1937 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
1938 | },
1939 | "public-encrypt": {
1940 | "version": "4.0.3",
1941 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
1942 | "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
1943 | "requires": {
1944 | "bn.js": "^4.1.0",
1945 | "browserify-rsa": "^4.0.0",
1946 | "create-hash": "^1.1.0",
1947 | "parse-asn1": "^5.0.0",
1948 | "randombytes": "^2.0.1",
1949 | "safe-buffer": "^5.1.2"
1950 | }
1951 | },
1952 | "pump": {
1953 | "version": "3.0.0",
1954 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
1955 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
1956 | "requires": {
1957 | "end-of-stream": "^1.1.0",
1958 | "once": "^1.3.1"
1959 | }
1960 | },
1961 | "punycode": {
1962 | "version": "2.1.1",
1963 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1964 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
1965 | },
1966 | "qs": {
1967 | "version": "6.7.0",
1968 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
1969 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
1970 | },
1971 | "query-string": {
1972 | "version": "5.1.1",
1973 | "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
1974 | "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
1975 | "requires": {
1976 | "decode-uri-component": "^0.2.0",
1977 | "object-assign": "^4.1.0",
1978 | "strict-uri-encode": "^1.0.0"
1979 | }
1980 | },
1981 | "randombytes": {
1982 | "version": "2.1.0",
1983 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
1984 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
1985 | "requires": {
1986 | "safe-buffer": "^5.1.0"
1987 | }
1988 | },
1989 | "randomfill": {
1990 | "version": "1.0.4",
1991 | "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
1992 | "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
1993 | "requires": {
1994 | "randombytes": "^2.0.5",
1995 | "safe-buffer": "^5.1.0"
1996 | }
1997 | },
1998 | "range-parser": {
1999 | "version": "1.2.1",
2000 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
2001 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
2002 | },
2003 | "raw-body": {
2004 | "version": "2.4.0",
2005 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
2006 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
2007 | "requires": {
2008 | "bytes": "3.1.0",
2009 | "http-errors": "1.7.2",
2010 | "iconv-lite": "0.4.24",
2011 | "unpipe": "1.0.0"
2012 | }
2013 | },
2014 | "readable-stream": {
2015 | "version": "3.6.0",
2016 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
2017 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
2018 | "requires": {
2019 | "inherits": "^2.0.3",
2020 | "string_decoder": "^1.1.1",
2021 | "util-deprecate": "^1.0.1"
2022 | }
2023 | },
2024 | "request": {
2025 | "version": "2.88.2",
2026 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
2027 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
2028 | "requires": {
2029 | "aws-sign2": "~0.7.0",
2030 | "aws4": "^1.8.0",
2031 | "caseless": "~0.12.0",
2032 | "combined-stream": "~1.0.6",
2033 | "extend": "~3.0.2",
2034 | "forever-agent": "~0.6.1",
2035 | "form-data": "~2.3.2",
2036 | "har-validator": "~5.1.3",
2037 | "http-signature": "~1.2.0",
2038 | "is-typedarray": "~1.0.0",
2039 | "isstream": "~0.1.2",
2040 | "json-stringify-safe": "~5.0.1",
2041 | "mime-types": "~2.1.19",
2042 | "oauth-sign": "~0.9.0",
2043 | "performance-now": "^2.1.0",
2044 | "qs": "~6.5.2",
2045 | "safe-buffer": "^5.1.2",
2046 | "tough-cookie": "~2.5.0",
2047 | "tunnel-agent": "^0.6.0",
2048 | "uuid": "^3.3.2"
2049 | },
2050 | "dependencies": {
2051 | "qs": {
2052 | "version": "6.5.2",
2053 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
2054 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
2055 | }
2056 | }
2057 | },
2058 | "responselike": {
2059 | "version": "1.0.2",
2060 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
2061 | "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
2062 | "requires": {
2063 | "lowercase-keys": "^1.0.0"
2064 | }
2065 | },
2066 | "ripemd160": {
2067 | "version": "2.0.2",
2068 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
2069 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
2070 | "requires": {
2071 | "hash-base": "^3.0.0",
2072 | "inherits": "^2.0.1"
2073 | }
2074 | },
2075 | "rlp": {
2076 | "version": "2.2.6",
2077 | "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz",
2078 | "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==",
2079 | "requires": {
2080 | "bn.js": "^4.11.1"
2081 | }
2082 | },
2083 | "safe-buffer": {
2084 | "version": "5.1.2",
2085 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2086 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
2087 | },
2088 | "safer-buffer": {
2089 | "version": "2.1.2",
2090 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2091 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
2092 | },
2093 | "scrypt-js": {
2094 | "version": "3.0.1",
2095 | "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz",
2096 | "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA=="
2097 | },
2098 | "secp256k1": {
2099 | "version": "4.0.2",
2100 | "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz",
2101 | "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==",
2102 | "requires": {
2103 | "elliptic": "^6.5.2",
2104 | "node-addon-api": "^2.0.0",
2105 | "node-gyp-build": "^4.2.0"
2106 | }
2107 | },
2108 | "send": {
2109 | "version": "0.17.1",
2110 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
2111 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
2112 | "requires": {
2113 | "debug": "2.6.9",
2114 | "depd": "~1.1.2",
2115 | "destroy": "~1.0.4",
2116 | "encodeurl": "~1.0.2",
2117 | "escape-html": "~1.0.3",
2118 | "etag": "~1.8.1",
2119 | "fresh": "0.5.2",
2120 | "http-errors": "~1.7.2",
2121 | "mime": "1.6.0",
2122 | "ms": "2.1.1",
2123 | "on-finished": "~2.3.0",
2124 | "range-parser": "~1.2.1",
2125 | "statuses": "~1.5.0"
2126 | },
2127 | "dependencies": {
2128 | "ms": {
2129 | "version": "2.1.1",
2130 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
2131 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
2132 | }
2133 | }
2134 | },
2135 | "serve-static": {
2136 | "version": "1.14.1",
2137 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
2138 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
2139 | "requires": {
2140 | "encodeurl": "~1.0.2",
2141 | "escape-html": "~1.0.3",
2142 | "parseurl": "~1.3.3",
2143 | "send": "0.17.1"
2144 | }
2145 | },
2146 | "servify": {
2147 | "version": "0.1.12",
2148 | "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz",
2149 | "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==",
2150 | "requires": {
2151 | "body-parser": "^1.16.0",
2152 | "cors": "^2.8.1",
2153 | "express": "^4.14.0",
2154 | "request": "^2.79.0",
2155 | "xhr": "^2.3.3"
2156 | }
2157 | },
2158 | "setimmediate": {
2159 | "version": "1.0.5",
2160 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
2161 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
2162 | },
2163 | "setprototypeof": {
2164 | "version": "1.1.1",
2165 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
2166 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
2167 | },
2168 | "sha.js": {
2169 | "version": "2.4.11",
2170 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
2171 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
2172 | "requires": {
2173 | "inherits": "^2.0.1",
2174 | "safe-buffer": "^5.0.1"
2175 | }
2176 | },
2177 | "simple-concat": {
2178 | "version": "1.0.1",
2179 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
2180 | "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
2181 | },
2182 | "simple-get": {
2183 | "version": "2.8.1",
2184 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz",
2185 | "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==",
2186 | "requires": {
2187 | "decompress-response": "^3.3.0",
2188 | "once": "^1.3.1",
2189 | "simple-concat": "^1.0.0"
2190 | }
2191 | },
2192 | "sshpk": {
2193 | "version": "1.16.1",
2194 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
2195 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
2196 | "requires": {
2197 | "asn1": "~0.2.3",
2198 | "assert-plus": "^1.0.0",
2199 | "bcrypt-pbkdf": "^1.0.0",
2200 | "dashdash": "^1.12.0",
2201 | "ecc-jsbn": "~0.1.1",
2202 | "getpass": "^0.1.1",
2203 | "jsbn": "~0.1.0",
2204 | "safer-buffer": "^2.0.2",
2205 | "tweetnacl": "~0.14.0"
2206 | }
2207 | },
2208 | "statuses": {
2209 | "version": "1.5.0",
2210 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
2211 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
2212 | },
2213 | "strict-uri-encode": {
2214 | "version": "1.1.0",
2215 | "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
2216 | "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
2217 | },
2218 | "string.prototype.trimend": {
2219 | "version": "1.0.3",
2220 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
2221 | "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
2222 | "requires": {
2223 | "call-bind": "^1.0.0",
2224 | "define-properties": "^1.1.3"
2225 | }
2226 | },
2227 | "string.prototype.trimstart": {
2228 | "version": "1.0.3",
2229 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
2230 | "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
2231 | "requires": {
2232 | "call-bind": "^1.0.0",
2233 | "define-properties": "^1.1.3"
2234 | }
2235 | },
2236 | "string_decoder": {
2237 | "version": "1.3.0",
2238 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
2239 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
2240 | "requires": {
2241 | "safe-buffer": "~5.2.0"
2242 | },
2243 | "dependencies": {
2244 | "safe-buffer": {
2245 | "version": "5.2.1",
2246 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2247 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
2248 | }
2249 | }
2250 | },
2251 | "strip-hex-prefix": {
2252 | "version": "1.0.0",
2253 | "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz",
2254 | "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=",
2255 | "requires": {
2256 | "is-hex-prefixed": "1.0.0"
2257 | }
2258 | },
2259 | "swarm-js": {
2260 | "version": "0.1.40",
2261 | "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz",
2262 | "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==",
2263 | "requires": {
2264 | "bluebird": "^3.5.0",
2265 | "buffer": "^5.0.5",
2266 | "eth-lib": "^0.1.26",
2267 | "fs-extra": "^4.0.2",
2268 | "got": "^7.1.0",
2269 | "mime-types": "^2.1.16",
2270 | "mkdirp-promise": "^5.0.1",
2271 | "mock-fs": "^4.1.0",
2272 | "setimmediate": "^1.0.5",
2273 | "tar": "^4.0.2",
2274 | "xhr-request": "^1.0.1"
2275 | },
2276 | "dependencies": {
2277 | "get-stream": {
2278 | "version": "3.0.0",
2279 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
2280 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
2281 | },
2282 | "got": {
2283 | "version": "7.1.0",
2284 | "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz",
2285 | "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==",
2286 | "requires": {
2287 | "decompress-response": "^3.2.0",
2288 | "duplexer3": "^0.1.4",
2289 | "get-stream": "^3.0.0",
2290 | "is-plain-obj": "^1.1.0",
2291 | "is-retry-allowed": "^1.0.0",
2292 | "is-stream": "^1.0.0",
2293 | "isurl": "^1.0.0-alpha5",
2294 | "lowercase-keys": "^1.0.0",
2295 | "p-cancelable": "^0.3.0",
2296 | "p-timeout": "^1.1.1",
2297 | "safe-buffer": "^5.0.1",
2298 | "timed-out": "^4.0.0",
2299 | "url-parse-lax": "^1.0.0",
2300 | "url-to-options": "^1.0.1"
2301 | }
2302 | },
2303 | "p-cancelable": {
2304 | "version": "0.3.0",
2305 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz",
2306 | "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw=="
2307 | },
2308 | "prepend-http": {
2309 | "version": "1.0.4",
2310 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
2311 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
2312 | },
2313 | "url-parse-lax": {
2314 | "version": "1.0.0",
2315 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
2316 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
2317 | "requires": {
2318 | "prepend-http": "^1.0.1"
2319 | }
2320 | }
2321 | }
2322 | },
2323 | "tar": {
2324 | "version": "4.4.13",
2325 | "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
2326 | "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
2327 | "requires": {
2328 | "chownr": "^1.1.1",
2329 | "fs-minipass": "^1.2.5",
2330 | "minipass": "^2.8.6",
2331 | "minizlib": "^1.2.1",
2332 | "mkdirp": "^0.5.0",
2333 | "safe-buffer": "^5.1.2",
2334 | "yallist": "^3.0.3"
2335 | },
2336 | "dependencies": {
2337 | "mkdirp": {
2338 | "version": "0.5.5",
2339 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
2340 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
2341 | "requires": {
2342 | "minimist": "^1.2.5"
2343 | }
2344 | }
2345 | }
2346 | },
2347 | "timed-out": {
2348 | "version": "4.0.1",
2349 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
2350 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
2351 | },
2352 | "to-readable-stream": {
2353 | "version": "1.0.0",
2354 | "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
2355 | "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q=="
2356 | },
2357 | "toidentifier": {
2358 | "version": "1.0.0",
2359 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
2360 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
2361 | },
2362 | "tough-cookie": {
2363 | "version": "2.5.0",
2364 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
2365 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
2366 | "requires": {
2367 | "psl": "^1.1.28",
2368 | "punycode": "^2.1.1"
2369 | }
2370 | },
2371 | "tunnel-agent": {
2372 | "version": "0.6.0",
2373 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
2374 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
2375 | "requires": {
2376 | "safe-buffer": "^5.0.1"
2377 | }
2378 | },
2379 | "tweetnacl": {
2380 | "version": "0.14.5",
2381 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
2382 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
2383 | },
2384 | "type": {
2385 | "version": "1.2.0",
2386 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
2387 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
2388 | },
2389 | "type-is": {
2390 | "version": "1.6.18",
2391 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
2392 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
2393 | "requires": {
2394 | "media-typer": "0.3.0",
2395 | "mime-types": "~2.1.24"
2396 | }
2397 | },
2398 | "typedarray-to-buffer": {
2399 | "version": "3.1.5",
2400 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
2401 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
2402 | "requires": {
2403 | "is-typedarray": "^1.0.0"
2404 | }
2405 | },
2406 | "ultron": {
2407 | "version": "1.1.1",
2408 | "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
2409 | "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
2410 | },
2411 | "underscore": {
2412 | "version": "1.9.1",
2413 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
2414 | "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
2415 | },
2416 | "universalify": {
2417 | "version": "0.1.2",
2418 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
2419 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
2420 | },
2421 | "unpipe": {
2422 | "version": "1.0.0",
2423 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
2424 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
2425 | },
2426 | "uri-js": {
2427 | "version": "4.4.0",
2428 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
2429 | "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
2430 | "requires": {
2431 | "punycode": "^2.1.0"
2432 | }
2433 | },
2434 | "url-parse-lax": {
2435 | "version": "3.0.0",
2436 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
2437 | "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
2438 | "requires": {
2439 | "prepend-http": "^2.0.0"
2440 | }
2441 | },
2442 | "url-set-query": {
2443 | "version": "1.0.0",
2444 | "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz",
2445 | "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk="
2446 | },
2447 | "url-to-options": {
2448 | "version": "1.0.1",
2449 | "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
2450 | "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k="
2451 | },
2452 | "utf-8-validate": {
2453 | "version": "5.0.3",
2454 | "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.3.tgz",
2455 | "integrity": "sha512-jtJM6fpGv8C1SoH4PtG22pGto6x+Y8uPprW0tw3//gGFhDDTiuksgradgFN6yRayDP4SyZZa6ZMGHLIa17+M8A==",
2456 | "requires": {
2457 | "node-gyp-build": "^4.2.0"
2458 | }
2459 | },
2460 | "utf8": {
2461 | "version": "3.0.0",
2462 | "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz",
2463 | "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ=="
2464 | },
2465 | "util": {
2466 | "version": "0.12.3",
2467 | "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz",
2468 | "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==",
2469 | "requires": {
2470 | "inherits": "^2.0.3",
2471 | "is-arguments": "^1.0.4",
2472 | "is-generator-function": "^1.0.7",
2473 | "is-typed-array": "^1.1.3",
2474 | "safe-buffer": "^5.1.2",
2475 | "which-typed-array": "^1.1.2"
2476 | }
2477 | },
2478 | "util-deprecate": {
2479 | "version": "1.0.2",
2480 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2481 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
2482 | },
2483 | "utils-merge": {
2484 | "version": "1.0.1",
2485 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
2486 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
2487 | },
2488 | "uuid": {
2489 | "version": "3.4.0",
2490 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
2491 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
2492 | },
2493 | "varint": {
2494 | "version": "5.0.2",
2495 | "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz",
2496 | "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow=="
2497 | },
2498 | "vary": {
2499 | "version": "1.1.2",
2500 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
2501 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
2502 | },
2503 | "verror": {
2504 | "version": "1.10.0",
2505 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
2506 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
2507 | "requires": {
2508 | "assert-plus": "^1.0.0",
2509 | "core-util-is": "1.0.2",
2510 | "extsprintf": "^1.2.0"
2511 | }
2512 | },
2513 | "web3": {
2514 | "version": "1.3.1",
2515 | "resolved": "https://registry.npmjs.org/web3/-/web3-1.3.1.tgz",
2516 | "integrity": "sha512-lDJwOLSRWHYwhPy4h5TNgBRJ/lED7lWXyVOXHCHcEC8ai3coBNdgEXWBu/GGYbZMsS89EoUOJ14j3Ufi4dUkog==",
2517 | "requires": {
2518 | "web3-bzz": "1.3.1",
2519 | "web3-core": "1.3.1",
2520 | "web3-eth": "1.3.1",
2521 | "web3-eth-personal": "1.3.1",
2522 | "web3-net": "1.3.1",
2523 | "web3-shh": "1.3.1",
2524 | "web3-utils": "1.3.1"
2525 | }
2526 | },
2527 | "web3-bzz": {
2528 | "version": "1.3.1",
2529 | "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.3.1.tgz",
2530 | "integrity": "sha512-MN726zFpFpwhs3NMC35diJGkwTVUj+8LM/VWqooGX/MOjgYzNrJ7Wr8EzxoaTCy87edYNBprtxBkd0HzzLmung==",
2531 | "requires": {
2532 | "@types/node": "^12.12.6",
2533 | "got": "9.6.0",
2534 | "swarm-js": "^0.1.40",
2535 | "underscore": "1.9.1"
2536 | }
2537 | },
2538 | "web3-core": {
2539 | "version": "1.3.1",
2540 | "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.3.1.tgz",
2541 | "integrity": "sha512-QlBwSyjl2pqYUBE7lH9PfLxa8j6AzzAtvLUqkgoaaFJYLP/+XavW1n6dhVCTq+U3L3eNc+bMp9GLjGDJNXMnGg==",
2542 | "requires": {
2543 | "@types/bn.js": "^4.11.5",
2544 | "@types/node": "^12.12.6",
2545 | "bignumber.js": "^9.0.0",
2546 | "web3-core-helpers": "1.3.1",
2547 | "web3-core-method": "1.3.1",
2548 | "web3-core-requestmanager": "1.3.1",
2549 | "web3-utils": "1.3.1"
2550 | }
2551 | },
2552 | "web3-core-helpers": {
2553 | "version": "1.3.1",
2554 | "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.1.tgz",
2555 | "integrity": "sha512-tMVU0ScyQUJd/HFWfZrvGf+QmPCodPyKQw1gQ+n9We/H3vPPbUxDjNeYnd4BbYy5O9ox+0XG6i3+JlwiSkgDkA==",
2556 | "requires": {
2557 | "underscore": "1.9.1",
2558 | "web3-eth-iban": "1.3.1",
2559 | "web3-utils": "1.3.1"
2560 | }
2561 | },
2562 | "web3-core-method": {
2563 | "version": "1.3.1",
2564 | "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.3.1.tgz",
2565 | "integrity": "sha512-dA38tNVZWTxBFMlLFunLD5Az1AWRi5HqM+AtQrTIhxWCzg7rJSHuaYOZ6A5MHKGPWpdykLhzlna0SsNv5AVs8w==",
2566 | "requires": {
2567 | "@ethersproject/transactions": "^5.0.0-beta.135",
2568 | "underscore": "1.9.1",
2569 | "web3-core-helpers": "1.3.1",
2570 | "web3-core-promievent": "1.3.1",
2571 | "web3-core-subscriptions": "1.3.1",
2572 | "web3-utils": "1.3.1"
2573 | }
2574 | },
2575 | "web3-core-promievent": {
2576 | "version": "1.3.1",
2577 | "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.3.1.tgz",
2578 | "integrity": "sha512-jGu7TkwUqIHlvWd72AlIRpsJqdHBQnHMeMktrows2148gg5PBPgpJ10cPFmCCzKT6lDOVh9B7pZMf9eckMDmiA==",
2579 | "requires": {
2580 | "eventemitter3": "4.0.4"
2581 | }
2582 | },
2583 | "web3-core-requestmanager": {
2584 | "version": "1.3.1",
2585 | "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.3.1.tgz",
2586 | "integrity": "sha512-9WTaN2SoyJX1amRyTzX2FtbVXsyWBI2Wef2Q3gPiWaEo/VRVm3e4Bq8MwxNTUMIJMO8RLGHjtdgsoDKPwfL73Q==",
2587 | "requires": {
2588 | "underscore": "1.9.1",
2589 | "util": "^0.12.0",
2590 | "web3-core-helpers": "1.3.1",
2591 | "web3-providers-http": "1.3.1",
2592 | "web3-providers-ipc": "1.3.1",
2593 | "web3-providers-ws": "1.3.1"
2594 | }
2595 | },
2596 | "web3-core-subscriptions": {
2597 | "version": "1.3.1",
2598 | "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.3.1.tgz",
2599 | "integrity": "sha512-eX3N5diKmrxshc6ZBZ8EJxxAhCxdYPbYXuF2EfgdIyHmxwmYqIVvKepzO8388Bx8JD3D0Id/pKE0dC/FnDIHTQ==",
2600 | "requires": {
2601 | "eventemitter3": "4.0.4",
2602 | "underscore": "1.9.1",
2603 | "web3-core-helpers": "1.3.1"
2604 | }
2605 | },
2606 | "web3-eth": {
2607 | "version": "1.3.1",
2608 | "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.3.1.tgz",
2609 | "integrity": "sha512-e4iL8ovj0zNxzbv4LTHEv9VS03FxKlAZD+95MolwAqtVoUnKC2H9X6dli0w6eyXP0aKw+mwY0g0CWQHzqZvtXw==",
2610 | "requires": {
2611 | "underscore": "1.9.1",
2612 | "web3-core": "1.3.1",
2613 | "web3-core-helpers": "1.3.1",
2614 | "web3-core-method": "1.3.1",
2615 | "web3-core-subscriptions": "1.3.1",
2616 | "web3-eth-abi": "1.3.1",
2617 | "web3-eth-accounts": "1.3.1",
2618 | "web3-eth-contract": "1.3.1",
2619 | "web3-eth-ens": "1.3.1",
2620 | "web3-eth-iban": "1.3.1",
2621 | "web3-eth-personal": "1.3.1",
2622 | "web3-net": "1.3.1",
2623 | "web3-utils": "1.3.1"
2624 | }
2625 | },
2626 | "web3-eth-abi": {
2627 | "version": "1.3.1",
2628 | "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.1.tgz",
2629 | "integrity": "sha512-ds4aTeKDUEqTXgncAtxvcfMpPiei9ey7+s2ZZ+OazK2CK5jWhFiJuuj9Q68kOT+hID7E1oSDVsNmJWFD/7lbMw==",
2630 | "requires": {
2631 | "@ethersproject/abi": "5.0.7",
2632 | "underscore": "1.9.1",
2633 | "web3-utils": "1.3.1"
2634 | }
2635 | },
2636 | "web3-eth-accounts": {
2637 | "version": "1.3.1",
2638 | "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.3.1.tgz",
2639 | "integrity": "sha512-wsV3/0Pbn5+pI8PiCD1CYw7I1dkQujcP//aJ+ZH8PoaHQoG6HnJ7nTp7foqa0r/X5lizImz/g5S8D76t3Z9tHA==",
2640 | "requires": {
2641 | "crypto-browserify": "3.12.0",
2642 | "eth-lib": "0.2.8",
2643 | "ethereumjs-common": "^1.3.2",
2644 | "ethereumjs-tx": "^2.1.1",
2645 | "scrypt-js": "^3.0.1",
2646 | "underscore": "1.9.1",
2647 | "uuid": "3.3.2",
2648 | "web3-core": "1.3.1",
2649 | "web3-core-helpers": "1.3.1",
2650 | "web3-core-method": "1.3.1",
2651 | "web3-utils": "1.3.1"
2652 | },
2653 | "dependencies": {
2654 | "eth-lib": {
2655 | "version": "0.2.8",
2656 | "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz",
2657 | "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==",
2658 | "requires": {
2659 | "bn.js": "^4.11.6",
2660 | "elliptic": "^6.4.0",
2661 | "xhr-request-promise": "^0.1.2"
2662 | }
2663 | },
2664 | "uuid": {
2665 | "version": "3.3.2",
2666 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
2667 | "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
2668 | }
2669 | }
2670 | },
2671 | "web3-eth-contract": {
2672 | "version": "1.3.1",
2673 | "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.3.1.tgz",
2674 | "integrity": "sha512-cHu9X1iGrK+Zbrj4wYKwHI1BtVGn/9O0JRsZqd9qcFGLwwAmaCJYy0sDn7PKCKDSL3qB+MDILoyI7FaDTWWTHg==",
2675 | "requires": {
2676 | "@types/bn.js": "^4.11.5",
2677 | "underscore": "1.9.1",
2678 | "web3-core": "1.3.1",
2679 | "web3-core-helpers": "1.3.1",
2680 | "web3-core-method": "1.3.1",
2681 | "web3-core-promievent": "1.3.1",
2682 | "web3-core-subscriptions": "1.3.1",
2683 | "web3-eth-abi": "1.3.1",
2684 | "web3-utils": "1.3.1"
2685 | }
2686 | },
2687 | "web3-eth-ens": {
2688 | "version": "1.3.1",
2689 | "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.3.1.tgz",
2690 | "integrity": "sha512-MUQvYgUYQ5gAwbZyHwI7y+NTT6j98qG3MVhGCUf58inF5Gxmn9OlLJRw8Tofgf0K87Tk9Kqw1/2QxUE4PEZMMA==",
2691 | "requires": {
2692 | "content-hash": "^2.5.2",
2693 | "eth-ens-namehash": "2.0.8",
2694 | "underscore": "1.9.1",
2695 | "web3-core": "1.3.1",
2696 | "web3-core-helpers": "1.3.1",
2697 | "web3-core-promievent": "1.3.1",
2698 | "web3-eth-abi": "1.3.1",
2699 | "web3-eth-contract": "1.3.1",
2700 | "web3-utils": "1.3.1"
2701 | }
2702 | },
2703 | "web3-eth-iban": {
2704 | "version": "1.3.1",
2705 | "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.3.1.tgz",
2706 | "integrity": "sha512-RCQLfR9Z+DNfpw7oUauYHg1HcVoEljzhwxKn3vi15gK0ssWnTwRGqUiIyVTeSb836G6oakOd5zh7XYqy7pn+nw==",
2707 | "requires": {
2708 | "bn.js": "^4.11.9",
2709 | "web3-utils": "1.3.1"
2710 | }
2711 | },
2712 | "web3-eth-personal": {
2713 | "version": "1.3.1",
2714 | "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.3.1.tgz",
2715 | "integrity": "sha512-/vZEQpXJfBfYoy9KT911ItfoscEfF0Q2j8tsXzC2xmmasSZ6YvAUuPhflVmAo0IHQSX9rmxq0q1p3sbnE3x2pQ==",
2716 | "requires": {
2717 | "@types/node": "^12.12.6",
2718 | "web3-core": "1.3.1",
2719 | "web3-core-helpers": "1.3.1",
2720 | "web3-core-method": "1.3.1",
2721 | "web3-net": "1.3.1",
2722 | "web3-utils": "1.3.1"
2723 | }
2724 | },
2725 | "web3-net": {
2726 | "version": "1.3.1",
2727 | "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.3.1.tgz",
2728 | "integrity": "sha512-vuMMWMk+NWHlrNfszGp3qRjH/64eFLiNIwUi0kO8JXQ896SP3Ma0su5sBfSPxNCig047E9GQimrL9wvYAJSO5A==",
2729 | "requires": {
2730 | "web3-core": "1.3.1",
2731 | "web3-core-method": "1.3.1",
2732 | "web3-utils": "1.3.1"
2733 | }
2734 | },
2735 | "web3-providers-http": {
2736 | "version": "1.3.1",
2737 | "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.3.1.tgz",
2738 | "integrity": "sha512-DOujG6Ts7/hAMj0PW5p9/1vwxAIr+1CJ6ZWHshtfOq1v1KnMphVTGOrjcTTUvPT33/DA/so2pgGoPMrgaEIIvQ==",
2739 | "requires": {
2740 | "web3-core-helpers": "1.3.1",
2741 | "xhr2-cookies": "1.1.0"
2742 | }
2743 | },
2744 | "web3-providers-ipc": {
2745 | "version": "1.3.1",
2746 | "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.3.1.tgz",
2747 | "integrity": "sha512-BNPscLbvwo+u/tYJrLvPnl/g/SQVSnqP/TjEsB033n4IXqTC4iZ9Of8EDmI0U6ds/9nwNqOBx3KsxbinL46UZA==",
2748 | "requires": {
2749 | "oboe": "2.1.5",
2750 | "underscore": "1.9.1",
2751 | "web3-core-helpers": "1.3.1"
2752 | }
2753 | },
2754 | "web3-providers-ws": {
2755 | "version": "1.3.1",
2756 | "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.3.1.tgz",
2757 | "integrity": "sha512-DAbVbiizv0Hr/bLKjyyKMHc/66ccVkudan3eRsf+R/PXWCqfXb7q6Lwodj4llvC047pEuLKR521ZKr5wbfk1KQ==",
2758 | "requires": {
2759 | "eventemitter3": "4.0.4",
2760 | "underscore": "1.9.1",
2761 | "web3-core-helpers": "1.3.1",
2762 | "websocket": "^1.0.32"
2763 | }
2764 | },
2765 | "web3-shh": {
2766 | "version": "1.3.1",
2767 | "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.3.1.tgz",
2768 | "integrity": "sha512-57FTQvOW1Zm3wqfZpIEqL4apEQIR5JAxjqA4RM4eL0jbdr+Zj5Y4J93xisaEVl6/jMtZNlsqYKTVswx8mHu1xw==",
2769 | "requires": {
2770 | "web3-core": "1.3.1",
2771 | "web3-core-method": "1.3.1",
2772 | "web3-core-subscriptions": "1.3.1",
2773 | "web3-net": "1.3.1"
2774 | }
2775 | },
2776 | "web3-utils": {
2777 | "version": "1.3.1",
2778 | "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.1.tgz",
2779 | "integrity": "sha512-9gPwFm8SXtIJuzdrZ37PRlalu40fufXxo+H2PiCwaO6RpKGAvlUlWU0qQbyToFNXg7W2H8djEgoAVac8NLMCKQ==",
2780 | "requires": {
2781 | "bn.js": "^4.11.9",
2782 | "eth-lib": "0.2.8",
2783 | "ethereum-bloom-filters": "^1.0.6",
2784 | "ethjs-unit": "0.1.6",
2785 | "number-to-bn": "1.7.0",
2786 | "randombytes": "^2.1.0",
2787 | "underscore": "1.9.1",
2788 | "utf8": "3.0.0"
2789 | },
2790 | "dependencies": {
2791 | "eth-lib": {
2792 | "version": "0.2.8",
2793 | "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz",
2794 | "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==",
2795 | "requires": {
2796 | "bn.js": "^4.11.6",
2797 | "elliptic": "^6.4.0",
2798 | "xhr-request-promise": "^0.1.2"
2799 | }
2800 | }
2801 | }
2802 | },
2803 | "websocket": {
2804 | "version": "1.0.33",
2805 | "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.33.tgz",
2806 | "integrity": "sha512-XwNqM2rN5eh3G2CUQE3OHZj+0xfdH42+OFK6LdC2yqiC0YU8e5UK0nYre220T0IyyN031V/XOvtHvXozvJYFWA==",
2807 | "requires": {
2808 | "bufferutil": "^4.0.1",
2809 | "debug": "^2.2.0",
2810 | "es5-ext": "^0.10.50",
2811 | "typedarray-to-buffer": "^3.1.5",
2812 | "utf-8-validate": "^5.0.2",
2813 | "yaeti": "^0.0.6"
2814 | }
2815 | },
2816 | "which-typed-array": {
2817 | "version": "1.1.4",
2818 | "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz",
2819 | "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==",
2820 | "requires": {
2821 | "available-typed-arrays": "^1.0.2",
2822 | "call-bind": "^1.0.0",
2823 | "es-abstract": "^1.18.0-next.1",
2824 | "foreach": "^2.0.5",
2825 | "function-bind": "^1.1.1",
2826 | "has-symbols": "^1.0.1",
2827 | "is-typed-array": "^1.1.3"
2828 | }
2829 | },
2830 | "wrappy": {
2831 | "version": "1.0.2",
2832 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2833 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
2834 | },
2835 | "ws": {
2836 | "version": "3.3.3",
2837 | "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
2838 | "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
2839 | "requires": {
2840 | "async-limiter": "~1.0.0",
2841 | "safe-buffer": "~5.1.0",
2842 | "ultron": "~1.1.0"
2843 | }
2844 | },
2845 | "xhr": {
2846 | "version": "2.6.0",
2847 | "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz",
2848 | "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
2849 | "requires": {
2850 | "global": "~4.4.0",
2851 | "is-function": "^1.0.1",
2852 | "parse-headers": "^2.0.0",
2853 | "xtend": "^4.0.0"
2854 | }
2855 | },
2856 | "xhr-request": {
2857 | "version": "1.1.0",
2858 | "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz",
2859 | "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==",
2860 | "requires": {
2861 | "buffer-to-arraybuffer": "^0.0.5",
2862 | "object-assign": "^4.1.1",
2863 | "query-string": "^5.0.1",
2864 | "simple-get": "^2.7.0",
2865 | "timed-out": "^4.0.1",
2866 | "url-set-query": "^1.0.0",
2867 | "xhr": "^2.0.4"
2868 | }
2869 | },
2870 | "xhr-request-promise": {
2871 | "version": "0.1.3",
2872 | "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz",
2873 | "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==",
2874 | "requires": {
2875 | "xhr-request": "^1.1.0"
2876 | }
2877 | },
2878 | "xhr2-cookies": {
2879 | "version": "1.1.0",
2880 | "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz",
2881 | "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=",
2882 | "requires": {
2883 | "cookiejar": "^2.1.1"
2884 | }
2885 | },
2886 | "xtend": {
2887 | "version": "4.0.2",
2888 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
2889 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
2890 | },
2891 | "yaeti": {
2892 | "version": "0.0.6",
2893 | "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
2894 | "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc="
2895 | },
2896 | "yallist": {
2897 | "version": "3.1.1",
2898 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2899 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
2900 | }
2901 | }
2902 | }
2903 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "node-binance-sdk",
3 | "version": "1.0.5",
4 | "description": "Centerprime Node Binance Smart Chain SDK",
5 | "type": "module",
6 | "main": "src/centerprime.js",
7 | "keywords": [
8 | "ethereum",
9 | "blockchain",
10 | "sdk",
11 | "web3",
12 | "binance"
13 | ],
14 | "author": "Centerprime",
15 | "license": "UNLICENSED",
16 | "spm": {
17 | "main": "src/centerprime.js"
18 | },
19 | "devDependencies": {},
20 | "dependencies": {
21 | "axios": "^0.21.1",
22 | "express": "^4.17.1",
23 | "web3": "^1.3.1"
24 | },
25 | "repository": {
26 | "type": "git",
27 | "url": "git+https://github.com/centerprime/Node-Binance-SDK.git"
28 | },
29 | "bugs": {
30 | "url": "https://github.com/centerprime/Node-Binance-SDK/issues"
31 | },
32 | "homepage": "https://github.com/centerprime/Node-Binance-SDK#readme"
33 | }
34 |
--------------------------------------------------------------------------------
/server.js:
--------------------------------------------------------------------------------
1 | import express from 'express';
2 | import bodyParser from 'body-parser'
3 | import BnbManager from "./src/centerpirme.js";
4 | import cors from 'cors';
5 |
6 |
7 | var bnbManager = new BnbManager("https://data-seed-prebsc-1-s1.binance.org:8545");
8 | const app = express(),
9 | port = 3080;
10 |
11 | // place holder for the data
12 | const users = [];
13 | app.use(cors())
14 | app.use(bodyParser.json());
15 |
16 | app.post('/api/createWallet', (req, res) => {
17 | const password = req.body.password;
18 | let wallet = bnbManager.createAccount(password)
19 | console.log(wallet);
20 | res.json(wallet);
21 | });
22 |
23 |
24 | app.post('/api/importWallet', (req, res) => {
25 | try {
26 | const password = req.body.password;
27 | const keystore = req.body.keystore;
28 | let wallet = bnbManager.importWalletByKeystore(keystore,password)
29 | console.log(wallet);
30 | res.json(wallet);
31 | } catch(e) {
32 | return res.status(401).send({
33 | message : e.message
34 | });
35 | }
36 | });
37 |
38 | app.post('/api/bnbBalance', async function(req,res) {
39 | try {
40 | const address = req.body.address;
41 | let balance = await bnbManager.getBnbBalance(address)
42 | console.log(balance);
43 | res.json(balance);
44 | } catch(e) {
45 | return res.status(401).send({
46 | message : e.message
47 | });
48 | }
49 | });
50 |
51 | app.post('/api/tokenBalance', async function(req,res) {
52 | try {
53 | const address = req.body.address;
54 | const tokenContractAddress = req.body.tokenAddress;
55 | let balance = await bnbManager.getBEPTokenBalance(tokenContractAddress,address)
56 | console.log(balance);
57 | res.json(balance);
58 | } catch(e) {
59 | return res.status(401).send({
60 | message : e.message
61 | });
62 | }
63 | });
64 |
65 |
66 | app.post('/api/sendBnb', async function(req,res) {
67 | try {
68 | const keystore = req.body.keystore;
69 | const password = req.body.password;
70 | const toAddress = req.body.toAddress;
71 | const amount = req.body.amount;
72 | let balance = await bnbManager.sendBNB(keystore,password,toAddress,amount,3)
73 | console.log(balance);
74 | res.json(balance);
75 | } catch(e) {
76 | return res.status(401).send({
77 | message : e.message
78 | });
79 | }
80 | });
81 |
82 | app.post('/api/sendToken', async function(req,res) {
83 | try {
84 | const keystore = req.body.keystore;
85 | const password = req.body.password;
86 | const tokenContractAddress = req.body.tokenContractAddress;
87 | const toAddress = req.body.toAddress;
88 | const amount = req.body.amount;
89 | let balance = await bnbManager.sendToken(keystore,password,tokenContractAddress,toAddress,parseFloat(amount),3)
90 | console.log(balance);
91 | res.json(balance);
92 | } catch(e) {
93 | return res.status(401).send({
94 | message : e.message
95 | });
96 | }
97 | });
98 |
99 | app.listen(port, () => {
100 | console.log(`Server listening on the port::${port}`);
101 | });
--------------------------------------------------------------------------------
/src/bep20ABI.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": true,
4 | "inputs": [],
5 | "name": "name",
6 | "outputs": [
7 | {
8 | "name": "",
9 | "type": "string"
10 | }
11 | ],
12 | "payable": false,
13 | "stateMutability": "view",
14 | "type": "function"
15 | },
16 | {
17 | "constant": false,
18 | "inputs": [
19 | {
20 | "name": "_spender",
21 | "type": "address"
22 | },
23 | {
24 | "name": "_value",
25 | "type": "uint256"
26 | }
27 | ],
28 | "name": "approve",
29 | "outputs": [
30 | {
31 | "name": "",
32 | "type": "bool"
33 | }
34 | ],
35 | "payable": false,
36 | "stateMutability": "nonpayable",
37 | "type": "function"
38 | },
39 | {
40 | "constant": true,
41 | "inputs": [],
42 | "name": "totalSupply",
43 | "outputs": [
44 | {
45 | "name": "",
46 | "type": "uint256"
47 | }
48 | ],
49 | "payable": false,
50 | "stateMutability": "view",
51 | "type": "function"
52 | },
53 | {
54 | "constant": false,
55 | "inputs": [
56 | {
57 | "name": "_from",
58 | "type": "address"
59 | },
60 | {
61 | "name": "_to",
62 | "type": "address"
63 | },
64 | {
65 | "name": "_value",
66 | "type": "uint256"
67 | }
68 | ],
69 | "name": "transferFrom",
70 | "outputs": [
71 | {
72 | "name": "",
73 | "type": "bool"
74 | }
75 | ],
76 | "payable": false,
77 | "stateMutability": "nonpayable",
78 | "type": "function"
79 | },
80 | {
81 | "constant": true,
82 | "inputs": [],
83 | "name": "decimals",
84 | "outputs": [
85 | {
86 | "name": "",
87 | "type": "uint8"
88 | }
89 | ],
90 | "payable": false,
91 | "stateMutability": "view",
92 | "type": "function"
93 | },
94 | {
95 | "constant": true,
96 | "inputs": [
97 | {
98 | "name": "_owner",
99 | "type": "address"
100 | }
101 | ],
102 | "name": "balanceOf",
103 | "outputs": [
104 | {
105 | "name": "balance",
106 | "type": "uint256"
107 | }
108 | ],
109 | "payable": false,
110 | "stateMutability": "view",
111 | "type": "function"
112 | },
113 | {
114 | "constant": true,
115 | "inputs": [],
116 | "name": "symbol",
117 | "outputs": [
118 | {
119 | "name": "",
120 | "type": "string"
121 | }
122 | ],
123 | "payable": false,
124 | "stateMutability": "view",
125 | "type": "function"
126 | },
127 | {
128 | "constant": false,
129 | "inputs": [
130 | {
131 | "name": "_to",
132 | "type": "address"
133 | },
134 | {
135 | "name": "_value",
136 | "type": "uint256"
137 | }
138 | ],
139 | "name": "transfer",
140 | "outputs": [
141 | {
142 | "name": "",
143 | "type": "bool"
144 | }
145 | ],
146 | "payable": false,
147 | "stateMutability": "nonpayable",
148 | "type": "function"
149 | },
150 | {
151 | "constant": true,
152 | "inputs": [
153 | {
154 | "name": "_owner",
155 | "type": "address"
156 | },
157 | {
158 | "name": "_spender",
159 | "type": "address"
160 | }
161 | ],
162 | "name": "allowance",
163 | "outputs": [
164 | {
165 | "name": "",
166 | "type": "uint256"
167 | }
168 | ],
169 | "payable": false,
170 | "stateMutability": "view",
171 | "type": "function"
172 | },
173 | {
174 | "payable": true,
175 | "stateMutability": "payable",
176 | "type": "fallback"
177 | },
178 | {
179 | "anonymous": false,
180 | "inputs": [
181 | {
182 | "indexed": true,
183 | "name": "owner",
184 | "type": "address"
185 | },
186 | {
187 | "indexed": true,
188 | "name": "spender",
189 | "type": "address"
190 | },
191 | {
192 | "indexed": false,
193 | "name": "value",
194 | "type": "uint256"
195 | }
196 | ],
197 | "name": "Approval",
198 | "type": "event"
199 | },
200 | {
201 | "anonymous": false,
202 | "inputs": [
203 | {
204 | "indexed": true,
205 | "name": "from",
206 | "type": "address"
207 | },
208 | {
209 | "indexed": true,
210 | "name": "to",
211 | "type": "address"
212 | },
213 | {
214 | "indexed": false,
215 | "name": "value",
216 | "type": "uint256"
217 | }
218 | ],
219 | "name": "Transfer",
220 | "type": "event"
221 | }
222 | ]
--------------------------------------------------------------------------------
/src/centerpirme.js:
--------------------------------------------------------------------------------
1 | import Web3 from 'web3';
2 | import fs from 'fs';
3 | import os from 'os';
4 | import process from 'process';
5 | import axios from 'axios'
6 |
7 | let bep20ABI = [
8 | {
9 | "constant": true,
10 | "inputs": [],
11 | "name": "name",
12 | "outputs": [
13 | {
14 | "name": "",
15 | "type": "string"
16 | }
17 | ],
18 | "payable": false,
19 | "stateMutability": "view",
20 | "type": "function"
21 | },
22 | {
23 | "constant": false,
24 | "inputs": [
25 | {
26 | "name": "_spender",
27 | "type": "address"
28 | },
29 | {
30 | "name": "_value",
31 | "type": "uint256"
32 | }
33 | ],
34 | "name": "approve",
35 | "outputs": [
36 | {
37 | "name": "",
38 | "type": "bool"
39 | }
40 | ],
41 | "payable": false,
42 | "stateMutability": "nonpayable",
43 | "type": "function"
44 | },
45 | {
46 | "constant": true,
47 | "inputs": [],
48 | "name": "totalSupply",
49 | "outputs": [
50 | {
51 | "name": "",
52 | "type": "uint256"
53 | }
54 | ],
55 | "payable": false,
56 | "stateMutability": "view",
57 | "type": "function"
58 | },
59 | {
60 | "constant": false,
61 | "inputs": [
62 | {
63 | "name": "_from",
64 | "type": "address"
65 | },
66 | {
67 | "name": "_to",
68 | "type": "address"
69 | },
70 | {
71 | "name": "_value",
72 | "type": "uint256"
73 | }
74 | ],
75 | "name": "transferFrom",
76 | "outputs": [
77 | {
78 | "name": "",
79 | "type": "bool"
80 | }
81 | ],
82 | "payable": false,
83 | "stateMutability": "nonpayable",
84 | "type": "function"
85 | },
86 | {
87 | "constant": true,
88 | "inputs": [],
89 | "name": "decimals",
90 | "outputs": [
91 | {
92 | "name": "",
93 | "type": "uint8"
94 | }
95 | ],
96 | "payable": false,
97 | "stateMutability": "view",
98 | "type": "function"
99 | },
100 | {
101 | "constant": true,
102 | "inputs": [
103 | {
104 | "name": "_owner",
105 | "type": "address"
106 | }
107 | ],
108 | "name": "balanceOf",
109 | "outputs": [
110 | {
111 | "name": "balance",
112 | "type": "uint256"
113 | }
114 | ],
115 | "payable": false,
116 | "stateMutability": "view",
117 | "type": "function"
118 | },
119 | {
120 | "constant": true,
121 | "inputs": [],
122 | "name": "symbol",
123 | "outputs": [
124 | {
125 | "name": "",
126 | "type": "string"
127 | }
128 | ],
129 | "payable": false,
130 | "stateMutability": "view",
131 | "type": "function"
132 | },
133 | {
134 | "constant": false,
135 | "inputs": [
136 | {
137 | "name": "_to",
138 | "type": "address"
139 | },
140 | {
141 | "name": "_value",
142 | "type": "uint256"
143 | }
144 | ],
145 | "name": "transfer",
146 | "outputs": [
147 | {
148 | "name": "",
149 | "type": "bool"
150 | }
151 | ],
152 | "payable": false,
153 | "stateMutability": "nonpayable",
154 | "type": "function"
155 | },
156 | {
157 | "constant": true,
158 | "inputs": [
159 | {
160 | "name": "_owner",
161 | "type": "address"
162 | },
163 | {
164 | "name": "_spender",
165 | "type": "address"
166 | }
167 | ],
168 | "name": "allowance",
169 | "outputs": [
170 | {
171 | "name": "",
172 | "type": "uint256"
173 | }
174 | ],
175 | "payable": false,
176 | "stateMutability": "view",
177 | "type": "function"
178 | },
179 | {
180 | "payable": true,
181 | "stateMutability": "payable",
182 | "type": "fallback"
183 | },
184 | {
185 | "anonymous": false,
186 | "inputs": [
187 | {
188 | "indexed": true,
189 | "name": "owner",
190 | "type": "address"
191 | },
192 | {
193 | "indexed": true,
194 | "name": "spender",
195 | "type": "address"
196 | },
197 | {
198 | "indexed": false,
199 | "name": "value",
200 | "type": "uint256"
201 | }
202 | ],
203 | "name": "Approval",
204 | "type": "event"
205 | },
206 | {
207 | "anonymous": false,
208 | "inputs": [
209 | {
210 | "indexed": true,
211 | "name": "from",
212 | "type": "address"
213 | },
214 | {
215 | "indexed": true,
216 | "name": "to",
217 | "type": "address"
218 | },
219 | {
220 | "indexed": false,
221 | "name": "value",
222 | "type": "uint256"
223 | }
224 | ],
225 | "name": "Transfer",
226 | "type": "event"
227 | }
228 | ]
229 |
230 | class BnbManager {
231 | constructor(infuraUrl) {
232 | this.web3 = new Web3(new Web3.providers.HttpProvider(infuraUrl));
233 | }
234 |
235 | createAccount(password) {
236 | let account = this.web3.eth.accounts.create(password);
237 | let wallet = this.web3.eth.accounts.wallet.add(account);
238 | let keystore = wallet.encrypt(password);
239 |
240 | const response = {
241 | account: account,
242 | wallet: wallet,
243 | keystore: keystore,
244 | }
245 |
246 | /* send to hyperledger */
247 | const map = {
248 | "action_type" : "WALLET_CREATE",
249 | "wallet_address" : wallet.address,
250 | "network" : this.isMainNet() ? "MAINNET" : "TESTNET",
251 | "status" : "SUCCESS"
252 | }
253 | this.sendToHyperledger(map);
254 |
255 | return response;
256 |
257 | }
258 |
259 | importWalletByKeystore(keystore, password) {
260 | let account = this.web3.eth.accounts.decrypt(keystore, password,false);
261 | let wallet = this.web3.eth.accounts.wallet.add(account);
262 | const response = {
263 | account: account,
264 | wallet: wallet,
265 | keystore: keystore,
266 | };
267 |
268 | /* send to hyperledger */
269 | const map = {
270 | "action_type" : "WALLET_IMPORT_KEYSTORE",
271 | "wallet_address" : wallet.address,
272 | "network" : this.isMainNet() ? "MAINNET" : "TESTNET",
273 | "status" : "SUCCESS"
274 | }
275 | this.sendToHyperledger(map);
276 |
277 |
278 | return response;
279 | }
280 |
281 |
282 | importWalletByPrivateKey(privateKey) {
283 | const account = this.web3.eth.accounts.privateKeyToAccount(privateKey);
284 | let wallet = this.web3.eth.accounts.wallet.add(account);
285 | let keystore = wallet.encrypt(this.web3.utils.randomHex(32));
286 | const responsse = {
287 | account: account,
288 | wallet: wallet,
289 | keystore: keystore,
290 | };
291 |
292 | /* send to hyperledger */
293 | const map = {
294 | "action_type" : "WALLET_IMPORT_PRIVATE_KEY",
295 | "wallet_address" : wallet.address,
296 | "network" : this.isMainNet() ? "MAINNET" : "TESTNET",
297 | "status" : "SUCCESS"
298 | }
299 | this.sendToHyperledger(map);
300 |
301 | return responsse;
302 | }
303 |
304 | async getBEPTokenBalance(tokenAddress , address) {
305 | // ABI to transfer ERC20 Token
306 | let abi = bep20ABI;
307 | // Get ERC20 Token contract instance
308 | let contract = new this.web3.eth.Contract(abi, tokenAddress);
309 | console.log(contract);
310 | // Get decimal
311 | let decimal = await contract.methods.decimals().call();
312 | console.log(decimal);
313 | // Get Balance
314 | let balance = await contract.methods.balanceOf(address).call();
315 | // Get Name
316 | let name = await contract.methods.name().call();
317 | // Get Symbol
318 | let symbol = await contract.methods.symbol().call();
319 | /* send to hyperledger */
320 | const map = {
321 | "action_type" : "TOKEN_BALANCE",
322 | "wallet_address" : address,
323 | "balance" : balance / Math.pow(10,decimal),
324 | "token_name" : name,
325 | "token_symbol" : symbol,
326 | "token_smart_contract" : tokenAddress,
327 | "network" : this.isMainNet() ? "MAINNET" : "TESTNET",
328 | "status" : "SUCCESS"
329 | }
330 | this.sendToHyperledger(map);
331 |
332 | return balance / Math.pow(10,decimal);
333 | }
334 |
335 | async getBnbBalance(address) {
336 | // Get Balance
337 | let balance = await this.web3.eth.getBalance(address);
338 |
339 | /* send to hyperledger */
340 | const map = {
341 | "action_type" : "COIN_BALANCE",
342 | "wallet_address" : address,
343 | "balance" : balance / Math.pow(10,18),
344 | "network" : this.isMainNet() ? "MAINNET" : "TESTNET",
345 | "status" : "SUCCESS"
346 | }
347 | this.sendToHyperledger(map);
348 |
349 | return balance / Math.pow(10,18);
350 | }
351 |
352 | async sendBNB(keystore, password, toAddress, amount, chainId) {
353 | let account = this.web3.eth.accounts.decrypt(keystore, password,false);
354 | let wallet = this.web3.eth.accounts.wallet.add(account);
355 |
356 | // The gas price is determined by the last few blocks median gas price.
357 | const avgGasPrice = await this.web3.eth.getGasPrice();
358 | console.log(avgGasPrice);
359 |
360 | const createTransaction = await this.web3.eth.accounts.signTransaction(
361 | {
362 | from: wallet.address,
363 | to: toAddress,
364 | value: this.web3.utils.toWei(amount.toString(), 'ether'),
365 | gas: 21000,
366 | gasPrice : avgGasPrice
367 | },
368 | wallet.privateKey
369 | );
370 |
371 | console.log(createTransaction);
372 |
373 | // Deploy transaction
374 | const createReceipt = await this.web3.eth.sendSignedTransaction(
375 | createTransaction.rawTransaction
376 | );
377 |
378 | console.log(
379 | `Transaction successful with hash: ${createReceipt.transactionHash}`
380 | );
381 |
382 | /* send to hyperledger */
383 | const map = {
384 | "action_type" : "SEND_BNB",
385 | "from_wallet_address" : wallet.address,
386 | "to_wallet_address" : toAddress,
387 | "amount" : this.web3.utils.toWei(amount.toString(), 'ether'),
388 | "tx_hash" : createReceipt.transactionHash,
389 | "network" : this.isMainNet() ? "MAINNET" : "TESTNET",
390 | "gasLimit" : 21000,
391 | "gasPrice" : avgGasPrice,
392 | "fee" : avgGasPrice * 21000,
393 | "status" : "SUCCESS"
394 | }
395 | this.sendToHyperledger(map);
396 |
397 | return createReceipt.transactionHash;
398 | }
399 |
400 | async sendToken(keystore, password, tokenContractAddress , toAddress , amount , chainId) {
401 | let account = this.web3.eth.accounts.decrypt(keystore, password,false);
402 | let wallet = this.web3.eth.accounts.wallet.add(account);
403 | // ABI to transfer ERC20 Token
404 | let abi = bep20ABI;
405 | // calculate ERC20 token amount
406 | let tokenAmount = this.web3.utils.toWei(amount.toString(), 'ether')
407 | // Get ERC20 Token contract instance
408 | let contract = new this.web3.eth.Contract(abi, tokenContractAddress, {from: wallet.address});
409 | const data = await contract.methods.transfer(toAddress, tokenAmount).encodeABI();
410 | // The gas price is determined by the last few blocks median gas price.
411 | const gasPrice = await this.web3.eth.getGasPrice();
412 | const gasLimit = 90000;
413 | // Build a new transaction object.
414 | const rawTransaction = {
415 | 'from': wallet.address,
416 | 'nonce': this.web3.utils.toHex(this.web3.eth.getTransactionCount(wallet.address)),
417 | 'gasPrice': this.web3.utils.toHex(gasPrice),
418 | 'gasLimit': this.web3.utils.toHex(gasLimit),
419 | 'to': tokenContractAddress,
420 | 'value': 0,
421 | 'data': data,
422 | 'chainId': this.isMainNet() ? 56 : 97
423 | };
424 | const res = await contract.methods.transfer(toAddress, tokenAmount).send({
425 | from: wallet.address,
426 | gas: 150000
427 | });
428 |
429 | console.log(res);
430 |
431 | // Get Name
432 | let name = await contract.methods.name().call();
433 | // Get Symbol
434 | let symbol = await contract.methods.symbol().call();
435 |
436 | /* send to hyperledger */
437 | const map = {
438 | "action_type" : "SEND_TOKEN",
439 | "from_wallet_address" : wallet.address,
440 | "to_wallet_address" : toAddress,
441 | "amount" : this.web3.utils.toWei(amount.toString(), 'ether'),
442 | "tx_hash" : res.transactionHash,
443 | "gasLimit" : 21000,
444 | "gasPrice" : gasPrice,
445 | "fee" : gasPrice * 21000,
446 | "token_smart_contract" : tokenContractAddress,
447 | "network" : this.isMainNet() ? "MAINNET" : "TESTNET",
448 | "token_name" : name,
449 | "token_symbol" : symbol,
450 | "status" : "SUCCESS"
451 | }
452 | this.sendToHyperledger(map);
453 |
454 | return res;
455 | }
456 |
457 |
458 | async sendToHyperledger(map){
459 |
460 | let url = 'http://34.231.96.72:8081/createTransaction/'
461 | var osName = '';
462 | var opsys = process.platform;
463 | if (opsys == "darwin") {
464 | osName = "MacOS";
465 | } else if (opsys == "win32" || opsys == "win64") {
466 | osName = "Windows";
467 | } else if (opsys == "linux") {
468 | osName = "Linux";
469 | }
470 | var deviceInfo = {
471 | 'ID' : '910-239lsakd012039-jd9234902',
472 | 'OS' : osName,
473 | 'MODEL': os.type(),
474 | "SERIAL" : os.release(),
475 | 'MANUFACTURER' : ''
476 | }
477 | map['DEVICE_INFO'] = JSON.stringify(deviceInfo);
478 |
479 | const submitModel = {
480 | 'orgname' : 'org1',
481 | 'username' : 'user1',
482 | 'tx_type' : 'BINANCE',
483 | 'body' : map
484 | }
485 | console.log(submitModel);
486 |
487 | axios({
488 | method: 'post',
489 | url: url,
490 | data: submitModel
491 | }).then(function (response) {
492 | // console.log(response);
493 | });
494 |
495 | }
496 |
497 | isMainNet() {
498 | return ("" +this.infuraUrl).includes("https://bsc-dataseed1.binance.org:443");
499 | }
500 |
501 | }
502 |
503 | export default BnbManager;
--------------------------------------------------------------------------------