Compare commits
4 commits
master
...
torba-reco
Author | SHA1 | Date | |
---|---|---|---|
|
a357cb6b26 | ||
|
5ba2190ca7 | ||
|
0bd3c3f503 | ||
|
489da88e79 |
206
.github/workflows/main.yml
vendored
|
@ -1,206 +0,0 @@
|
|||
name: ci
|
||||
on: ["push", "pull_request", "workflow_dispatch"]
|
||||
|
||||
jobs:
|
||||
|
||||
lint:
|
||||
name: lint
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.9'
|
||||
- name: extract pip cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
|
||||
restore-keys: ${{ runner.os }}-pip-
|
||||
- run: pip install --user --upgrade pip wheel
|
||||
- run: pip install -e .[lint]
|
||||
- run: make lint
|
||||
|
||||
tests-unit:
|
||||
name: "tests / unit"
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-20.04
|
||||
- macos-latest
|
||||
- windows-latest
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.9'
|
||||
- name: set pip cache dir
|
||||
shell: bash
|
||||
run: echo "PIP_CACHE_DIR=$(pip cache dir)" >> $GITHUB_ENV
|
||||
- name: extract pip cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.PIP_CACHE_DIR }}
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
|
||||
restore-keys: ${{ runner.os }}-pip-
|
||||
- id: os-name
|
||||
uses: ASzc/change-string-case-action@v5
|
||||
with:
|
||||
string: ${{ runner.os }}
|
||||
- run: python -m pip install --user --upgrade pip wheel
|
||||
- if: startsWith(runner.os, 'linux')
|
||||
run: pip install -e .[test]
|
||||
- if: startsWith(runner.os, 'linux')
|
||||
env:
|
||||
HOME: /tmp
|
||||
run: make test-unit-coverage
|
||||
- if: startsWith(runner.os, 'linux') != true
|
||||
run: pip install -e .[test]
|
||||
- if: startsWith(runner.os, 'linux') != true
|
||||
env:
|
||||
HOME: /tmp
|
||||
run: coverage run --source=lbry -m unittest tests/unit/test_conf.py
|
||||
- name: submit coverage report
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
COVERALLS_FLAG_NAME: tests-unit-${{ steps.os-name.outputs.lowercase }}
|
||||
COVERALLS_PARALLEL: true
|
||||
run: |
|
||||
pip install coveralls
|
||||
coveralls --service=github
|
||||
|
||||
tests-integration:
|
||||
name: "tests / integration"
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
test:
|
||||
- datanetwork
|
||||
- blockchain
|
||||
- claims
|
||||
- takeovers
|
||||
- transactions
|
||||
- other
|
||||
steps:
|
||||
- name: Configure sysctl limits
|
||||
run: |
|
||||
sudo swapoff -a
|
||||
sudo sysctl -w vm.swappiness=1
|
||||
sudo sysctl -w fs.file-max=262144
|
||||
sudo sysctl -w vm.max_map_count=262144
|
||||
- name: Runs Elasticsearch
|
||||
uses: elastic/elastic-github-actions/elasticsearch@master
|
||||
with:
|
||||
stack-version: 7.12.1
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.9'
|
||||
- if: matrix.test == 'other'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y --no-install-recommends ffmpeg
|
||||
- name: extract pip cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ./.tox
|
||||
key: tox-integration-${{ matrix.test }}-${{ hashFiles('setup.py') }}
|
||||
restore-keys: txo-integration-${{ matrix.test }}-
|
||||
- run: pip install tox coverage coveralls
|
||||
- if: matrix.test == 'claims'
|
||||
run: rm -rf .tox
|
||||
- run: tox -e ${{ matrix.test }}
|
||||
- name: submit coverage report
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
COVERALLS_FLAG_NAME: tests-integration-${{ matrix.test }}
|
||||
COVERALLS_PARALLEL: true
|
||||
run: |
|
||||
coverage combine tests
|
||||
coveralls --service=github
|
||||
|
||||
|
||||
coverage:
|
||||
needs: ["tests-unit", "tests-integration"]
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: finalize coverage report submission
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
pip install coveralls
|
||||
coveralls --service=github --finish
|
||||
|
||||
build:
|
||||
needs: ["lint", "tests-unit", "tests-integration"]
|
||||
name: "build / binary"
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-20.04
|
||||
- macos-latest
|
||||
- windows-latest
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.9'
|
||||
- id: os-name
|
||||
uses: ASzc/change-string-case-action@v5
|
||||
with:
|
||||
string: ${{ runner.os }}
|
||||
- name: set pip cache dir
|
||||
shell: bash
|
||||
run: echo "PIP_CACHE_DIR=$(pip cache dir)" >> $GITHUB_ENV
|
||||
- name: extract pip cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.PIP_CACHE_DIR }}
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
|
||||
restore-keys: ${{ runner.os }}-pip-
|
||||
- run: pip install pyinstaller==4.6
|
||||
- run: pip install -e .
|
||||
- if: startsWith(github.ref, 'refs/tags/v')
|
||||
run: python docker/set_build.py
|
||||
- if: startsWith(runner.os, 'linux') || startsWith(runner.os, 'mac')
|
||||
name: Build & Run (Unix)
|
||||
run: |
|
||||
pyinstaller --onefile --name lbrynet lbry/extras/cli.py
|
||||
dist/lbrynet --version
|
||||
- if: startsWith(runner.os, 'windows')
|
||||
name: Build & Run (Windows)
|
||||
run: |
|
||||
pip install pywin32==301
|
||||
pyinstaller --additional-hooks-dir=scripts/. --icon=icons/lbry256.ico --onefile --name lbrynet lbry/extras/cli.py
|
||||
dist/lbrynet.exe --version
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: lbrynet-${{ steps.os-name.outputs.lowercase }}
|
||||
path: dist/
|
||||
|
||||
release:
|
||||
name: "release"
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
needs: ["build"]
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/download-artifact@v2
|
||||
- name: upload binaries
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.RELEASE_API_TOKEN }}
|
||||
run: |
|
||||
pip install githubrelease
|
||||
chmod +x lbrynet-macos/lbrynet
|
||||
chmod +x lbrynet-linux/lbrynet
|
||||
zip --junk-paths lbrynet-mac.zip lbrynet-macos/lbrynet
|
||||
zip --junk-paths lbrynet-linux.zip lbrynet-linux/lbrynet
|
||||
zip --junk-paths lbrynet-windows.zip lbrynet-windows/lbrynet.exe
|
||||
ls -lh
|
||||
githubrelease release lbryio/lbry-sdk info ${GITHUB_REF#refs/tags/}
|
||||
githubrelease asset lbryio/lbry-sdk upload ${GITHUB_REF#refs/tags/} \
|
||||
lbrynet-mac.zip lbrynet-linux.zip lbrynet-windows.zip
|
||||
githubrelease release lbryio/lbry-sdk publish ${GITHUB_REF#refs/tags/}
|
||||
|
22
.github/workflows/release.yml
vendored
|
@ -1,22 +0,0 @@
|
|||
name: slack
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: "slack notification"
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: LoveToKnow/slackify-markdown-action@v1.0.0
|
||||
id: markdown
|
||||
with:
|
||||
text: "There is a new SDK release: ${{github.event.release.html_url}}\n${{ github.event.release.body }}"
|
||||
- uses: slackapi/slack-github-action@v1.14.0
|
||||
env:
|
||||
CHANGELOG: '<!channel> ${{ steps.markdown.outputs.text }}'
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_RELEASE_BOT_WEBHOOK }}
|
||||
with:
|
||||
payload: '{"type": "mrkdwn", "text": ${{ toJSON(env.CHANGELOG) }} }'
|
||||
|
20
.gitignore
vendored
|
@ -1,22 +1,2 @@
|
|||
/.idea
|
||||
/.DS_Store
|
||||
/build
|
||||
/dist
|
||||
/.tox
|
||||
/.coverage*
|
||||
/lbry-venv
|
||||
/venv
|
||||
/lbry/blockchain
|
||||
|
||||
lbry.egg-info
|
||||
__pycache__
|
||||
_trial_temp/
|
||||
trending*.log
|
||||
|
||||
/tests/integration/claims/files
|
||||
/tests/.coverage.*
|
||||
|
||||
/lbry/wallet/bin
|
||||
|
||||
/.vscode
|
||||
/.gitignore
|
||||
|
|
144
.travis.yml
Normal file
|
@ -0,0 +1,144 @@
|
|||
sudo: required
|
||||
dist: xenial
|
||||
language: python
|
||||
python: "3.7"
|
||||
|
||||
jobs:
|
||||
include:
|
||||
|
||||
- stage: code quality
|
||||
name: "pylint & mypy"
|
||||
install:
|
||||
- make install
|
||||
script: make lint
|
||||
|
||||
- stage: test
|
||||
name: "LBRY Unit Tests"
|
||||
install:
|
||||
- make install
|
||||
script:
|
||||
- cd lbry && HOME=/tmp coverage run -p --source=lbry -m unittest discover -vv tests.unit
|
||||
after_success:
|
||||
- coverage combine lbry/
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
|
||||
- name: "LBRY Integration Tests"
|
||||
install:
|
||||
- pip install coverage tox-travis
|
||||
script: cd lbry && tox
|
||||
after_success:
|
||||
- coverage combine lbry
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
|
||||
- &torba-tests
|
||||
name: "Torba Unit Tests"
|
||||
env: TESTTYPE=unit
|
||||
install:
|
||||
- pip install coverage tox-travis
|
||||
script: cd torba && tox
|
||||
after_success:
|
||||
- coverage combine torba/tests
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
|
||||
- <<: *torba-tests
|
||||
name: "Torba Integration Tests"
|
||||
env: TESTTYPE=integration
|
||||
|
||||
- name: "Run Examples"
|
||||
install:
|
||||
- make install
|
||||
script:
|
||||
- cd lbry && HOME=/tmp coverage run -p --source=lbry scripts/generate_json_api.py
|
||||
after_success:
|
||||
- coverage combine lbry
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
|
||||
- &build
|
||||
stage: build
|
||||
name: "Linux"
|
||||
env: OS=linux
|
||||
install:
|
||||
- pip install pyinstaller awscli
|
||||
- cd torba && pip install -e . && cd ..
|
||||
- cd lbry
|
||||
- python scripts/set_build.py
|
||||
- pip install -e .
|
||||
script:
|
||||
- pyinstaller -F -n lbrynet lbry/extras/cli.py
|
||||
- cd dist
|
||||
- chmod +x lbrynet
|
||||
- zip -j lbrynet-${OS}.zip lbrynet
|
||||
- shasum -a 256 -b lbrynet-${OS}.zip
|
||||
- ./lbrynet --version
|
||||
after_success:
|
||||
- aws configure set aws_access_key_id $ARTIFACTS_KEY
|
||||
- aws configure set aws_secret_access_key $ARTIFACTS_SECRET
|
||||
- aws configure set region us-east-1
|
||||
- export S3_PATH="daemon/build-${TRAVIS_BUILD_NUMBER}_commit-${TRAVIS_COMMIT:0:7}_branch-${TRAVIS_BRANCH}$([ ! -z ${TRAVIS_TAG} ] && echo _tag-${TRAVIS_TAG})"
|
||||
- aws s3 cp lbrynet-${OS}.zip s3://build.lbry.io/${S3_PATH}/lbrynet-${OS}.zip
|
||||
deploy:
|
||||
provider: releases
|
||||
api_key: $GITHUB_OAUTH_TOKEN
|
||||
file: lbrynet-${OS}.zip
|
||||
skip_cleanup: true
|
||||
overwrite: true
|
||||
draft: true
|
||||
on:
|
||||
tags: true
|
||||
|
||||
- <<: *build
|
||||
name: "Mac"
|
||||
os: osx
|
||||
osx_image: xcode8.3
|
||||
language: shell
|
||||
env: OS=mac
|
||||
before_install:
|
||||
- brew upgrade python || true
|
||||
- pip3 install --user --upgrade pip virtualenv
|
||||
- /Users/travis/Library/Python/3.7/bin/virtualenv $HOME/venv
|
||||
- source $HOME/venv/bin/activate
|
||||
before_cache:
|
||||
- brew cleanup
|
||||
|
||||
- <<: *build
|
||||
name: "Windows"
|
||||
os: windows
|
||||
language: shell
|
||||
env:
|
||||
- OS=windows
|
||||
- PATH=/c/Python37:/c/Python37/Scripts:/C/Windows/System32/downlevel:$PATH
|
||||
before_install:
|
||||
- choco install python --x86
|
||||
- python -m pip install --upgrade pip
|
||||
- pip install pywin32
|
||||
script:
|
||||
- pyinstaller --additional-hooks-dir=scripts/. --icon=icons/lbry256.ico -F -n lbrynet lbry/extras/cli.py
|
||||
- cd dist
|
||||
- 7z a -tzip lbrynet-windows.zip lbrynet.exe
|
||||
- sha256sum -b lbrynet-windows.zip
|
||||
- ./lbrynet.exe --version
|
||||
- if: tag IS present
|
||||
stage: build
|
||||
name: "Wallet Server Docker Image - Tagged Release"
|
||||
script:
|
||||
- set -e
|
||||
- echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin
|
||||
- travis_retry docker build -t lbry/wallet-server:$TRAVIS_TAG -f lbry/scripts/Dockerfile.wallet_server .
|
||||
- docker push lbry/wallet-server:$TRAVIS_TAG
|
||||
|
||||
- if: tag IS blank AND branch = master AND NOT type IN (pull_request)
|
||||
stage: build
|
||||
name: "Wallet Server Docker Image - Master"
|
||||
script:
|
||||
- set -e
|
||||
- echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin
|
||||
- travis_retry docker build -t lbry/wallet-server:master -f lbry/scripts/Dockerfile.wallet_server .
|
||||
- docker push lbry/wallet-server:master
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/venv
|
||||
- $HOME/.cache/pip
|
||||
- $HOME/Library/Caches/pip
|
||||
- $HOME/Library/Caches/Homebrew
|
||||
- $TRAVIS_BUILD_DIR/.tox
|
1019
CHANGELOG.md
142
INSTALL.md
|
@ -1,6 +1,6 @@
|
|||
# Installing LBRY
|
||||
|
||||
If only the JSON-RPC API server is needed, the recommended way to install LBRY is to use a pre-built binary. We provide binaries for all major operating systems. See the [README](README.md)!
|
||||
If only the JSON-RPC API server is needed, the recommended way to install LBRY is to use a pre-built binary. We provide binaries for all major operating systems. See the [README](README.md).
|
||||
|
||||
These instructions are for installing LBRY from source, which is recommended if you are interested in doing development work or LBRY is not available on your operating system (godspeed, TempleOS users).
|
||||
|
||||
|
@ -9,48 +9,36 @@ Here's a video walkthrough of this setup, which is itself hosted by the LBRY net
|
|||
|
||||
## Prerequisites
|
||||
|
||||
Running `lbrynet` from source requires Python 3.7. Get the installer for your OS [here](https://www.python.org/downloads/release/python-370/).
|
||||
Running `lbrynet` from source requires Python 3.7 or higher. Get the installer for your OS [here](https://www.python.org/downloads/release/python-370/)
|
||||
|
||||
After installing Python 3.7, you'll need to install some additional libraries depending on your operating system.
|
||||
|
||||
Because of [issue #2769](https://github.com/lbryio/lbry-sdk/issues/2769)
|
||||
at the moment the `lbrynet` daemon will only work correctly with Python 3.7.
|
||||
If Python 3.8+ is used, the daemon will start but the RPC server
|
||||
may not accept messages, returning the following:
|
||||
```
|
||||
Could not connect to daemon. Are you sure it's running?
|
||||
```
|
||||
After installing python 3, you'll need to install some additional libraries depending on your operating system.
|
||||
|
||||
### macOS
|
||||
|
||||
macOS users will need to install [xcode command line tools](https://developer.xamarin.com/guides/testcloud/calabash/configuring/osx/install-xcode-command-line-tools/) and [homebrew](http://brew.sh/).
|
||||
|
||||
These environment variables also need to be set:
|
||||
```
|
||||
PYTHONUNBUFFERED=1
|
||||
EVENT_NOKQUEUE=1
|
||||
```
|
||||
These environment variables also need to be set
|
||||
1. PYTHONUNBUFFERED=1
|
||||
2. EVENT_NOKQUEUE=1
|
||||
|
||||
Remaining dependencies can then be installed by running:
|
||||
|
||||
```
|
||||
brew install python protobuf
|
||||
```
|
||||
|
||||
Assistance installing Python3: https://docs.python-guide.org/starting/install3/osx/.
|
||||
Assistance installing Python3: https://docs.python-guide.org/starting/install3/osx/
|
||||
|
||||
### Linux
|
||||
|
||||
On Ubuntu (we recommend 18.04 or 20.04), install the following:
|
||||
On Ubuntu (16.04 minimum, we recommend 18.04), install the following:
|
||||
|
||||
```
|
||||
sudo add-apt-repository ppa:deadsnakes/ppa
|
||||
sudo apt-get update
|
||||
sudo apt-get install build-essential python3.7 python3.7-dev git python3.7-venv libssl-dev python-protobuf
|
||||
```
|
||||
|
||||
The [deadsnakes PPA](https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa) provides Python 3.7
|
||||
for those Ubuntu distributions that no longer have it in their
|
||||
official repositories.
|
||||
|
||||
On Raspbian, you will also need to install `python-pyparsing`.
|
||||
|
||||
If you're running another Linux distro, install the equivalent of the above packages for your system.
|
||||
|
@ -59,119 +47,65 @@ If you're running another Linux distro, install the equivalent of the above pack
|
|||
|
||||
### Linux/Mac
|
||||
|
||||
Clone the repository:
|
||||
```bash
|
||||
git clone https://github.com/lbryio/lbry-sdk.git
|
||||
cd lbry-sdk
|
||||
To install on Linux/Mac:
|
||||
|
||||
```
|
||||
Clone the repository:
|
||||
$ git clone https://github.com/lbryio/lbry-sdk.git
|
||||
$ cd lbry-sdk
|
||||
|
||||
Create a Python virtual environment for lbry-sdk:
|
||||
```bash
|
||||
python3.7 -m venv lbry-venv
|
||||
```
|
||||
$ python3.7 -m venv lbry-venv
|
||||
|
||||
Activate virtual environment:
|
||||
```bash
|
||||
source lbry-venv/bin/activate
|
||||
```
|
||||
Activating lbry-sdk virtual environment:
|
||||
$ source lbry-venv/bin/activate
|
||||
|
||||
Make sure you're on Python 3.7+ as default in the virtual environment:
|
||||
```bash
|
||||
python --version
|
||||
```
|
||||
Make sure you're on Python 3.7+ (as the default Python in virtual environment):
|
||||
$ python --version
|
||||
|
||||
Install packages:
|
||||
```bash
|
||||
make install
|
||||
```
|
||||
$ make install
|
||||
|
||||
If you are on Linux and using PyCharm, generates initial configs:
|
||||
```bash
|
||||
make idea
|
||||
$ make idea
|
||||
```
|
||||
|
||||
To verify your installation, `which lbrynet` should return a path inside
|
||||
of the `lbry-venv` folder.
|
||||
```bash
|
||||
(lbry-venv) $ which lbrynet
|
||||
/opt/lbry-sdk/lbry-venv/bin/lbrynet
|
||||
```
|
||||
|
||||
To exit the virtual environment simply use the command `deactivate`.
|
||||
To verify your installation, `which lbrynet` should return a path inside of the `lbry-venv` folder created by the `python3.7 -m venv lbry-venv` command.
|
||||
|
||||
### Windows
|
||||
|
||||
Clone the repository:
|
||||
```bash
|
||||
git clone https://github.com/lbryio/lbry-sdk.git
|
||||
cd lbry-sdk
|
||||
To install on Windows:
|
||||
|
||||
```
|
||||
Clone the repository:
|
||||
> git clone https://github.com/lbryio/lbry-sdk.git
|
||||
> cd lbry-sdk
|
||||
|
||||
Create a Python virtual environment for lbry-sdk:
|
||||
```bash
|
||||
python -m venv lbry-venv
|
||||
```
|
||||
> python -m venv lbry-venv
|
||||
|
||||
Activate virtual environment:
|
||||
```bash
|
||||
lbry-venv\Scripts\activate
|
||||
```
|
||||
Activating lbry-sdk virtual environment:
|
||||
> lbry-venv\Scripts\activate
|
||||
|
||||
Install packages:
|
||||
```bash
|
||||
pip install -e .
|
||||
> cd torba
|
||||
> pip install -e .
|
||||
> cd ../lbry
|
||||
> pip install -e .
|
||||
```
|
||||
|
||||
## Run the tests
|
||||
### Elasticsearch
|
||||
|
||||
For running integration tests, Elasticsearch is required to be available at localhost:9200/
|
||||
To run the unit tests from the repo directory:
|
||||
|
||||
The easiest way to start it is using docker with:
|
||||
```bash
|
||||
make elastic-docker
|
||||
```
|
||||
|
||||
Alternative installation methods are available [at Elasticsearch website](https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html).
|
||||
|
||||
To run the unit and integration tests from the repo directory:
|
||||
```
|
||||
python -m unittest discover tests.unit
|
||||
python -m unittest discover tests.integration
|
||||
python -m unittest discover -s lbry tests.unit
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
To start the API server:
|
||||
```
|
||||
lbrynet start
|
||||
```
|
||||
`lbrynet start`
|
||||
|
||||
Whenever the code inside [lbry-sdk/lbry](./lbry)
|
||||
is modified we should run `make install` to recompile the `lbrynet`
|
||||
executable with the newest code.
|
||||
|
||||
## Development
|
||||
|
||||
When developing, remember to enter the environment,
|
||||
and if you wish start the server interactively.
|
||||
```bash
|
||||
$ source lbry-venv/bin/activate
|
||||
|
||||
(lbry-venv) $ python lbry/extras/cli.py start
|
||||
```
|
||||
|
||||
Parameters can be passed in the same way.
|
||||
```bash
|
||||
(lbry-venv) $ python lbry/extras/cli.py wallet balance
|
||||
```
|
||||
|
||||
If a Python debugger (`pdb` or `ipdb`) is installed we can also start it
|
||||
in this way, set up break points, and step through the code.
|
||||
```bash
|
||||
(lbry-venv) $ pip install ipdb
|
||||
|
||||
(lbry-venv) $ ipdb lbry/extras/cli.py
|
||||
```
|
||||
|
||||
Happy hacking!
|
||||
|
|
2
LICENSE
|
@ -1,6 +1,6 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2022 LBRY Inc
|
||||
Copyright (c) 2015-2019 LBRY Inc
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish,
|
||||
|
|
28
Makefile
|
@ -1,26 +1,14 @@
|
|||
.PHONY: install tools lint test test-unit test-unit-coverage test-integration idea
|
||||
|
||||
install:
|
||||
pip install -e .
|
||||
cd torba && pip install -e .
|
||||
cd lbry && pip install -e .
|
||||
pip install mypy==0.701
|
||||
pip install coverage astroid pylint
|
||||
|
||||
lint:
|
||||
pylint --rcfile=setup.cfg lbry
|
||||
#mypy --ignore-missing-imports lbry
|
||||
|
||||
test: test-unit test-integration
|
||||
|
||||
test-unit:
|
||||
python -m unittest discover tests.unit
|
||||
|
||||
test-unit-coverage:
|
||||
coverage run --source=lbry -m unittest discover -vv tests.unit
|
||||
|
||||
test-integration:
|
||||
tox
|
||||
cd lbry && pylint lbry
|
||||
cd torba && pylint --rcfile=setup.cfg torba
|
||||
cd torba && mypy --ignore-missing-imports torba
|
||||
|
||||
idea:
|
||||
mkdir -p .idea
|
||||
cp -r scripts/idea/* .idea
|
||||
|
||||
elastic-docker:
|
||||
docker run -d -v lbryhub:/usr/share/elasticsearch/data -p 9200:9200 -p 9300:9300 -e"ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.12.1
|
||||
cp -r lbry/scripts/idea/* .idea
|
||||
|
|
20
README.md
|
@ -1,15 +1,15 @@
|
|||
# <img src="https://raw.githubusercontent.com/lbryio/lbry-sdk/master/lbry.png" alt="LBRY" width="48" height="36" /> LBRY SDK [![build](https://github.com/lbryio/lbry-sdk/actions/workflows/main.yml/badge.svg)](https://github.com/lbryio/lbry-sdk/actions/workflows/main.yml) [![coverage](https://coveralls.io/repos/github/lbryio/lbry-sdk/badge.svg)](https://coveralls.io/github/lbryio/lbry-sdk)
|
||||
# <img src="https://raw.githubusercontent.com/lbryio/lbry-sdk/master/lbry/lbry.png" alt="LBRY" width="48" height="36" /> LBRY SDK [![Build Status](https://travis-ci.org/lbryio/lbry-sdk.svg?branch=master)](https://travis-ci.org/lbryio/lbry-sdk) [![Test Coverage](https://codecov.io/gh/lbryio/lbry-sdk/branch/master/graph/badge.svg)](https://codecov.io/gh/lbryio/lbry-sdk)
|
||||
|
||||
LBRY is a decentralized peer-to-peer protocol for publishing and accessing digital content. It utilizes the [LBRY blockchain](https://github.com/lbryio/lbrycrd) as a global namespace and database of digital content. Blockchain entries contain searchable content metadata, identities, rights and access rules. LBRY also provides a data network that consists of peers (seeders) uploading and downloading data from other peers, possibly in exchange for payments, as well as a distributed hash table used by peers to discover other peers.
|
||||
|
||||
LBRY SDK for Python is currently the most fully featured implementation of the LBRY Network protocols and includes many useful components and tools for building decentralized applications. Primary features and components include:
|
||||
LBRY SDK for Python is currently the most full featured implementation of the LBRY Network protocols and includes many useful components and tools for building decentralized applications. Primary features and components:
|
||||
|
||||
* Built on Python 3.7 and `asyncio`.
|
||||
* Kademlia DHT (Distributed Hash Table) implementation for finding peers to download from and announcing to peers what we have to host ([lbry.dht](https://github.com/lbryio/lbry-sdk/tree/master/lbry/dht)).
|
||||
* Blob exchange protocol for transferring encrypted blobs of content and negotiating payments ([lbry.blob_exchange](https://github.com/lbryio/lbry-sdk/tree/master/lbry/blob_exchange)).
|
||||
* Protobuf schema for encoding and decoding metadata stored on the blockchain ([lbry.schema](https://github.com/lbryio/lbry-sdk/tree/master/lbry/schema)).
|
||||
* Wallet implementation for the LBRY blockchain ([lbry.wallet](https://github.com/lbryio/lbry-sdk/tree/master/lbry/wallet)).
|
||||
* Daemon with a JSON-RPC API to ease building end user applications in any language and for automating various tasks ([lbry.extras.daemon](https://github.com/lbryio/lbry-sdk/tree/master/lbry/extras/daemon)).
|
||||
* Built on Python 3.7+ and `asyncio`.
|
||||
* Kademlia DHT (Distributed Hash Table) implementation for finding peers to download from and announcing to peers what we have to host ([lbry.dht](https://github.com/lbryio/lbry-sdk/tree/master/lbry/lbry/dht)).
|
||||
* Blob exchange protocol for transferring encrypted blobs of content and negotiating payments ([lbry.blob_exchange](https://github.com/lbryio/lbry-sdk/tree/master/lbry/lbry/blob_exchange)).
|
||||
* Protobuf schema for encoding and decoding metadata stored on the blockchain ([lbry.schema](https://github.com/lbryio/lbry-sdk/tree/master/lbry/lbry/schema)).
|
||||
* Wallet implementation for the LBRY blockchain ([lbry.wallet](https://github.com/lbryio/lbry-sdk/tree/master/lbry/lbry/wallet)).
|
||||
* Daemon with a JSON-RPC API to ease building end user applications in any language and for automating various tasks ([lbry.extras.daemon](https://github.com/lbryio/lbry-sdk/tree/master/lbry/lbry/extras/daemon)).
|
||||
|
||||
## Installation
|
||||
|
||||
|
@ -41,7 +41,7 @@ This project is MIT licensed. For the full license, see [LICENSE](LICENSE).
|
|||
|
||||
## Security
|
||||
|
||||
We take security seriously. Please contact security@lbry.com regarding any security issues. [Our PGP key is here](https://lbry.com/faq/pgp-key) if you need it.
|
||||
We take security seriously. Please contact security@lbry.com regarding any security issues. [Our GPG key is here](https://lbry.com/faq/gpg-key) if you need it.
|
||||
|
||||
## Contact
|
||||
|
||||
|
@ -53,4 +53,4 @@ The documentation for the API can be found [here](https://lbry.tech/api/sdk).
|
|||
|
||||
Daemon defaults, ports, and other settings are documented [here](https://lbry.tech/resources/daemon-settings).
|
||||
|
||||
Settings can be configured using a daemon-settings.yml file. An example can be found [here](https://github.com/lbryio/lbry-sdk/blob/master/example_daemon_settings.yml).
|
||||
Settings can be configured using a daemon-settings.yml file. An example can be found [here](https://github.com/lbryio/lbry-sdk/blob/master/lbry/example_daemon_settings.yml).
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
While we are not at v1.0 yet, only the latest release will be supported.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
See https://lbry.com/faq/security
|
9
dart/packages/lbry/.gitignore
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Files and directories created by pub
|
||||
.dart_tool/
|
||||
.packages
|
||||
|
||||
# Conventional directory for build outputs
|
||||
build/
|
||||
|
||||
# Directory created by dartdoc
|
||||
doc/api/
|
3
dart/packages/lbry/CHANGELOG.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
## 1.0.0
|
||||
|
||||
- Initial version, created by Stagehand
|
1
dart/packages/lbry/README.md
Normal file
|
@ -0,0 +1 @@
|
|||
LBRY SDK in Dart.
|
14
dart/packages/lbry/analysis_options.yaml
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Defines a default set of lint rules enforced for
|
||||
# projects at Google. For details and rationale,
|
||||
# see https://github.com/dart-lang/pedantic#enabled-lints.
|
||||
include: package:pedantic/analysis_options.yaml
|
||||
|
||||
# For lint rules and documentation, see http://dart-lang.github.io/linter/lints.
|
||||
# Uncomment to specify additional rules.
|
||||
# linter:
|
||||
# rules:
|
||||
# - camel_case_types
|
||||
|
||||
analyzer:
|
||||
# exclude:
|
||||
# - path/to/excluded/files/**
|
5
dart/packages/lbry/bin/main.dart
Normal file
|
@ -0,0 +1,5 @@
|
|||
import 'package:lbry/src/load_generator.dart' as load;
|
||||
|
||||
main(List<String> arguments) {
|
||||
load.cli();
|
||||
}
|
1
dart/packages/lbry/lib/lbry.dart
Normal file
|
@ -0,0 +1 @@
|
|||
export 'src/load_generator.dart' show LoadGenerator, LoadDataPoint;
|
133
dart/packages/lbry/lib/src/load_generator.dart
Normal file
|
@ -0,0 +1,133 @@
|
|||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
import 'dart:convert';
|
||||
|
||||
|
||||
class LoadRequest {
|
||||
final String host;
|
||||
final int port;
|
||||
final Map payload;
|
||||
Completer completer;
|
||||
Stopwatch timer;
|
||||
|
||||
bool get isDone => completer.isCompleted;
|
||||
int get elapsed => timer.elapsedMilliseconds;
|
||||
|
||||
LoadRequest(this.host, this.port, this.payload);
|
||||
|
||||
LoadRequest start() {
|
||||
completer = Completer();
|
||||
timer = Stopwatch()..start();
|
||||
completer.future.whenComplete(() => timer.stop());
|
||||
try {
|
||||
Socket.connect(this.host, this.port).then((socket) {
|
||||
utf8.decoder.bind(socket).listen((r) {
|
||||
if (r.contains('"jsonrpc": "2.0", "result": ')) {
|
||||
socket.close();
|
||||
completer.complete();
|
||||
}
|
||||
}, onError: (e) {print(e); completer.complete();});
|
||||
try {
|
||||
socket.write(jsonEncode(payload) + '\n');
|
||||
} catch (exception, stackTrace) {
|
||||
print(exception);
|
||||
print(stackTrace);
|
||||
completer.complete();
|
||||
}
|
||||
}, onError: (e) {print(e);completer.complete();});
|
||||
} catch (exception, stackTrace) {
|
||||
print(exception);
|
||||
print(stackTrace);
|
||||
completer.complete();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
typedef bool LoadTestCallback(LoadGenerator load_generator, LoadDataPoint stats);
|
||||
|
||||
class LoadGenerator {
|
||||
int load = 1;
|
||||
Timer _timer;
|
||||
String host;
|
||||
int port;
|
||||
Map query;
|
||||
|
||||
LoadTestCallback cb;
|
||||
|
||||
LoadGenerator(this.host, this.port, this.query, this.cb);
|
||||
|
||||
start() {
|
||||
var previous = spawn_requests();
|
||||
var backlog = <LoadRequest>[];
|
||||
_timer = Timer.periodic(Duration(seconds: 1), (t) {
|
||||
var stat = LoadDataPoint();
|
||||
backlog.removeWhere((r) {
|
||||
if (r.isDone) stat.addCatchup(r);
|
||||
return r.isDone;
|
||||
});
|
||||
for (var f in previous) {
|
||||
if (f.isDone) {
|
||||
stat.addSuccess(f);
|
||||
} else {
|
||||
backlog.add(f);
|
||||
}
|
||||
}
|
||||
stat.backlog = backlog.length;
|
||||
stat.load = load;
|
||||
if (cb(this, stat)) {
|
||||
previous = spawn_requests();
|
||||
} else {
|
||||
t.cancel();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
stop() {
|
||||
_timer.cancel();
|
||||
}
|
||||
|
||||
List<LoadRequest> spawn_requests() {
|
||||
var requests = <LoadRequest>[];
|
||||
for (var _ in Iterable.generate(load)) {
|
||||
requests.add(LoadRequest(this.host, this.port, this.query).start());
|
||||
}
|
||||
return requests;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class LoadDataPoint {
|
||||
final DateTime time = new DateTime.now();
|
||||
int success = 0;
|
||||
int errored = 0;
|
||||
int backlog = 0;
|
||||
int catchup = 0;
|
||||
int _success_total = 0;
|
||||
int _catchup_total = 0;
|
||||
int load = 0;
|
||||
|
||||
int get avg_success => _success_total > 0 ? (_success_total/success).round() : 0;
|
||||
int get avg_catchup => _catchup_total > 0 ? (_catchup_total/catchup).round() : 0;
|
||||
|
||||
addSuccess(LoadRequest r) {
|
||||
success++; _success_total += r.elapsed;
|
||||
}
|
||||
|
||||
addCatchup(LoadRequest r) {
|
||||
catchup++; _catchup_total += r.elapsed;
|
||||
}
|
||||
}
|
||||
|
||||
cli() {
|
||||
var runs = 1;
|
||||
LoadGenerator('localhost', 50001, {
|
||||
'id': 1,
|
||||
'method': 'blockchain.claimtrie.resolve',
|
||||
'params': ['one', 'two', 'three']
|
||||
}, (t, stats) {
|
||||
print("run ${runs}: ${stats}");
|
||||
t.load = (runs < 4 ? t.load*2 : t.load/2).round();
|
||||
return runs++ < 10;
|
||||
}).start();
|
||||
}
|
2
dart/packages/lbry/lib/src/schema/Makefile
Normal file
|
@ -0,0 +1,2 @@
|
|||
build:
|
||||
protoc --dart_out=v2 -I ../../../../../../../types/v2/proto/ ../../../../../../../types/v2/proto/*.proto
|
625
dart/packages/lbry/lib/src/schema/v2/claim.pb.dart
Normal file
|
@ -0,0 +1,625 @@
|
|||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: claim.proto
|
||||
///
|
||||
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
|
||||
|
||||
import 'dart:core' as $core show bool, Deprecated, double, int, List, Map, override, pragma, String;
|
||||
|
||||
import 'package:fixnum/fixnum.dart';
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'claim.pbenum.dart';
|
||||
|
||||
export 'claim.pbenum.dart';
|
||||
|
||||
enum Claim_Type {
|
||||
stream,
|
||||
channel,
|
||||
collection,
|
||||
repost,
|
||||
notSet
|
||||
}
|
||||
|
||||
class Claim extends $pb.GeneratedMessage {
|
||||
static const $core.Map<$core.int, Claim_Type> _Claim_TypeByTag = {
|
||||
1 : Claim_Type.stream,
|
||||
2 : Claim_Type.channel,
|
||||
3 : Claim_Type.collection,
|
||||
4 : Claim_Type.repost,
|
||||
0 : Claim_Type.notSet
|
||||
};
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Claim', package: const $pb.PackageName('pb'))
|
||||
..oo(0, [1, 2, 3, 4])
|
||||
..a<Stream>(1, 'stream', $pb.PbFieldType.OM, Stream.getDefault, Stream.create)
|
||||
..a<Channel>(2, 'channel', $pb.PbFieldType.OM, Channel.getDefault, Channel.create)
|
||||
..a<ClaimList>(3, 'collection', $pb.PbFieldType.OM, ClaimList.getDefault, ClaimList.create)
|
||||
..a<ClaimReference>(4, 'repost', $pb.PbFieldType.OM, ClaimReference.getDefault, ClaimReference.create)
|
||||
..aOS(8, 'title')
|
||||
..aOS(9, 'description')
|
||||
..a<Source>(10, 'thumbnail', $pb.PbFieldType.OM, Source.getDefault, Source.create)
|
||||
..pPS(11, 'tags')
|
||||
..pc<Language>(12, 'languages', $pb.PbFieldType.PM,Language.create)
|
||||
..pc<Location>(13, 'locations', $pb.PbFieldType.PM,Location.create)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Claim._() : super();
|
||||
factory Claim() => create();
|
||||
factory Claim.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Claim.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Claim clone() => Claim()..mergeFromMessage(this);
|
||||
Claim copyWith(void Function(Claim) updates) => super.copyWith((message) => updates(message as Claim));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Claim create() => Claim._();
|
||||
Claim createEmptyInstance() => create();
|
||||
static $pb.PbList<Claim> createRepeated() => $pb.PbList<Claim>();
|
||||
static Claim getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Claim _defaultInstance;
|
||||
|
||||
Claim_Type whichType() => _Claim_TypeByTag[$_whichOneof(0)];
|
||||
void clearType() => clearField($_whichOneof(0));
|
||||
|
||||
Stream get stream => $_getN(0);
|
||||
set stream(Stream v) { setField(1, v); }
|
||||
$core.bool hasStream() => $_has(0);
|
||||
void clearStream() => clearField(1);
|
||||
|
||||
Channel get channel => $_getN(1);
|
||||
set channel(Channel v) { setField(2, v); }
|
||||
$core.bool hasChannel() => $_has(1);
|
||||
void clearChannel() => clearField(2);
|
||||
|
||||
ClaimList get collection => $_getN(2);
|
||||
set collection(ClaimList v) { setField(3, v); }
|
||||
$core.bool hasCollection() => $_has(2);
|
||||
void clearCollection() => clearField(3);
|
||||
|
||||
ClaimReference get repost => $_getN(3);
|
||||
set repost(ClaimReference v) { setField(4, v); }
|
||||
$core.bool hasRepost() => $_has(3);
|
||||
void clearRepost() => clearField(4);
|
||||
|
||||
$core.String get title => $_getS(4, '');
|
||||
set title($core.String v) { $_setString(4, v); }
|
||||
$core.bool hasTitle() => $_has(4);
|
||||
void clearTitle() => clearField(8);
|
||||
|
||||
$core.String get description => $_getS(5, '');
|
||||
set description($core.String v) { $_setString(5, v); }
|
||||
$core.bool hasDescription() => $_has(5);
|
||||
void clearDescription() => clearField(9);
|
||||
|
||||
Source get thumbnail => $_getN(6);
|
||||
set thumbnail(Source v) { setField(10, v); }
|
||||
$core.bool hasThumbnail() => $_has(6);
|
||||
void clearThumbnail() => clearField(10);
|
||||
|
||||
$core.List<$core.String> get tags => $_getList(7);
|
||||
|
||||
$core.List<Language> get languages => $_getList(8);
|
||||
|
||||
$core.List<Location> get locations => $_getList(9);
|
||||
}
|
||||
|
||||
enum Stream_Type {
|
||||
image,
|
||||
video,
|
||||
audio,
|
||||
software,
|
||||
notSet
|
||||
}
|
||||
|
||||
class Stream extends $pb.GeneratedMessage {
|
||||
static const $core.Map<$core.int, Stream_Type> _Stream_TypeByTag = {
|
||||
10 : Stream_Type.image,
|
||||
11 : Stream_Type.video,
|
||||
12 : Stream_Type.audio,
|
||||
13 : Stream_Type.software,
|
||||
0 : Stream_Type.notSet
|
||||
};
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Stream', package: const $pb.PackageName('pb'))
|
||||
..oo(0, [10, 11, 12, 13])
|
||||
..a<Source>(1, 'source', $pb.PbFieldType.OM, Source.getDefault, Source.create)
|
||||
..aOS(2, 'author')
|
||||
..aOS(3, 'license')
|
||||
..aOS(4, 'licenseUrl')
|
||||
..aInt64(5, 'releaseTime')
|
||||
..a<Fee>(6, 'fee', $pb.PbFieldType.OM, Fee.getDefault, Fee.create)
|
||||
..a<Image>(10, 'image', $pb.PbFieldType.OM, Image.getDefault, Image.create)
|
||||
..a<Video>(11, 'video', $pb.PbFieldType.OM, Video.getDefault, Video.create)
|
||||
..a<Audio>(12, 'audio', $pb.PbFieldType.OM, Audio.getDefault, Audio.create)
|
||||
..a<Software>(13, 'software', $pb.PbFieldType.OM, Software.getDefault, Software.create)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Stream._() : super();
|
||||
factory Stream() => create();
|
||||
factory Stream.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Stream.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Stream clone() => Stream()..mergeFromMessage(this);
|
||||
Stream copyWith(void Function(Stream) updates) => super.copyWith((message) => updates(message as Stream));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Stream create() => Stream._();
|
||||
Stream createEmptyInstance() => create();
|
||||
static $pb.PbList<Stream> createRepeated() => $pb.PbList<Stream>();
|
||||
static Stream getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Stream _defaultInstance;
|
||||
|
||||
Stream_Type whichType() => _Stream_TypeByTag[$_whichOneof(0)];
|
||||
void clearType() => clearField($_whichOneof(0));
|
||||
|
||||
Source get source => $_getN(0);
|
||||
set source(Source v) { setField(1, v); }
|
||||
$core.bool hasSource() => $_has(0);
|
||||
void clearSource() => clearField(1);
|
||||
|
||||
$core.String get author => $_getS(1, '');
|
||||
set author($core.String v) { $_setString(1, v); }
|
||||
$core.bool hasAuthor() => $_has(1);
|
||||
void clearAuthor() => clearField(2);
|
||||
|
||||
$core.String get license => $_getS(2, '');
|
||||
set license($core.String v) { $_setString(2, v); }
|
||||
$core.bool hasLicense() => $_has(2);
|
||||
void clearLicense() => clearField(3);
|
||||
|
||||
$core.String get licenseUrl => $_getS(3, '');
|
||||
set licenseUrl($core.String v) { $_setString(3, v); }
|
||||
$core.bool hasLicenseUrl() => $_has(3);
|
||||
void clearLicenseUrl() => clearField(4);
|
||||
|
||||
Int64 get releaseTime => $_getI64(4);
|
||||
set releaseTime(Int64 v) { $_setInt64(4, v); }
|
||||
$core.bool hasReleaseTime() => $_has(4);
|
||||
void clearReleaseTime() => clearField(5);
|
||||
|
||||
Fee get fee => $_getN(5);
|
||||
set fee(Fee v) { setField(6, v); }
|
||||
$core.bool hasFee() => $_has(5);
|
||||
void clearFee() => clearField(6);
|
||||
|
||||
Image get image => $_getN(6);
|
||||
set image(Image v) { setField(10, v); }
|
||||
$core.bool hasImage() => $_has(6);
|
||||
void clearImage() => clearField(10);
|
||||
|
||||
Video get video => $_getN(7);
|
||||
set video(Video v) { setField(11, v); }
|
||||
$core.bool hasVideo() => $_has(7);
|
||||
void clearVideo() => clearField(11);
|
||||
|
||||
Audio get audio => $_getN(8);
|
||||
set audio(Audio v) { setField(12, v); }
|
||||
$core.bool hasAudio() => $_has(8);
|
||||
void clearAudio() => clearField(12);
|
||||
|
||||
Software get software => $_getN(9);
|
||||
set software(Software v) { setField(13, v); }
|
||||
$core.bool hasSoftware() => $_has(9);
|
||||
void clearSoftware() => clearField(13);
|
||||
}
|
||||
|
||||
class Channel extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Channel', package: const $pb.PackageName('pb'))
|
||||
..a<$core.List<$core.int>>(1, 'publicKey', $pb.PbFieldType.OY)
|
||||
..aOS(2, 'email')
|
||||
..aOS(3, 'websiteUrl')
|
||||
..a<Source>(4, 'cover', $pb.PbFieldType.OM, Source.getDefault, Source.create)
|
||||
..a<ClaimList>(5, 'featured', $pb.PbFieldType.OM, ClaimList.getDefault, ClaimList.create)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Channel._() : super();
|
||||
factory Channel() => create();
|
||||
factory Channel.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Channel.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Channel clone() => Channel()..mergeFromMessage(this);
|
||||
Channel copyWith(void Function(Channel) updates) => super.copyWith((message) => updates(message as Channel));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Channel create() => Channel._();
|
||||
Channel createEmptyInstance() => create();
|
||||
static $pb.PbList<Channel> createRepeated() => $pb.PbList<Channel>();
|
||||
static Channel getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Channel _defaultInstance;
|
||||
|
||||
$core.List<$core.int> get publicKey => $_getN(0);
|
||||
set publicKey($core.List<$core.int> v) { $_setBytes(0, v); }
|
||||
$core.bool hasPublicKey() => $_has(0);
|
||||
void clearPublicKey() => clearField(1);
|
||||
|
||||
$core.String get email => $_getS(1, '');
|
||||
set email($core.String v) { $_setString(1, v); }
|
||||
$core.bool hasEmail() => $_has(1);
|
||||
void clearEmail() => clearField(2);
|
||||
|
||||
$core.String get websiteUrl => $_getS(2, '');
|
||||
set websiteUrl($core.String v) { $_setString(2, v); }
|
||||
$core.bool hasWebsiteUrl() => $_has(2);
|
||||
void clearWebsiteUrl() => clearField(3);
|
||||
|
||||
Source get cover => $_getN(3);
|
||||
set cover(Source v) { setField(4, v); }
|
||||
$core.bool hasCover() => $_has(3);
|
||||
void clearCover() => clearField(4);
|
||||
|
||||
ClaimList get featured => $_getN(4);
|
||||
set featured(ClaimList v) { setField(5, v); }
|
||||
$core.bool hasFeatured() => $_has(4);
|
||||
void clearFeatured() => clearField(5);
|
||||
}
|
||||
|
||||
class ClaimReference extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('ClaimReference', package: const $pb.PackageName('pb'))
|
||||
..a<$core.List<$core.int>>(1, 'claimHash', $pb.PbFieldType.OY)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
ClaimReference._() : super();
|
||||
factory ClaimReference() => create();
|
||||
factory ClaimReference.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory ClaimReference.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
ClaimReference clone() => ClaimReference()..mergeFromMessage(this);
|
||||
ClaimReference copyWith(void Function(ClaimReference) updates) => super.copyWith((message) => updates(message as ClaimReference));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ClaimReference create() => ClaimReference._();
|
||||
ClaimReference createEmptyInstance() => create();
|
||||
static $pb.PbList<ClaimReference> createRepeated() => $pb.PbList<ClaimReference>();
|
||||
static ClaimReference getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static ClaimReference _defaultInstance;
|
||||
|
||||
$core.List<$core.int> get claimHash => $_getN(0);
|
||||
set claimHash($core.List<$core.int> v) { $_setBytes(0, v); }
|
||||
$core.bool hasClaimHash() => $_has(0);
|
||||
void clearClaimHash() => clearField(1);
|
||||
}
|
||||
|
||||
class ClaimList extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('ClaimList', package: const $pb.PackageName('pb'))
|
||||
..e<ClaimList_ListType>(1, 'listType', $pb.PbFieldType.OE, ClaimList_ListType.COLLECTION, ClaimList_ListType.valueOf, ClaimList_ListType.values)
|
||||
..pc<ClaimReference>(2, 'claimReferences', $pb.PbFieldType.PM,ClaimReference.create)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
ClaimList._() : super();
|
||||
factory ClaimList() => create();
|
||||
factory ClaimList.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory ClaimList.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
ClaimList clone() => ClaimList()..mergeFromMessage(this);
|
||||
ClaimList copyWith(void Function(ClaimList) updates) => super.copyWith((message) => updates(message as ClaimList));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ClaimList create() => ClaimList._();
|
||||
ClaimList createEmptyInstance() => create();
|
||||
static $pb.PbList<ClaimList> createRepeated() => $pb.PbList<ClaimList>();
|
||||
static ClaimList getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static ClaimList _defaultInstance;
|
||||
|
||||
ClaimList_ListType get listType => $_getN(0);
|
||||
set listType(ClaimList_ListType v) { setField(1, v); }
|
||||
$core.bool hasListType() => $_has(0);
|
||||
void clearListType() => clearField(1);
|
||||
|
||||
$core.List<ClaimReference> get claimReferences => $_getList(1);
|
||||
}
|
||||
|
||||
class Source extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Source', package: const $pb.PackageName('pb'))
|
||||
..a<$core.List<$core.int>>(1, 'hash', $pb.PbFieldType.OY)
|
||||
..aOS(2, 'name')
|
||||
..a<Int64>(3, 'size', $pb.PbFieldType.OU6, Int64.ZERO)
|
||||
..aOS(4, 'mediaType')
|
||||
..aOS(5, 'url')
|
||||
..a<$core.List<$core.int>>(6, 'sdHash', $pb.PbFieldType.OY)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Source._() : super();
|
||||
factory Source() => create();
|
||||
factory Source.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Source.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Source clone() => Source()..mergeFromMessage(this);
|
||||
Source copyWith(void Function(Source) updates) => super.copyWith((message) => updates(message as Source));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Source create() => Source._();
|
||||
Source createEmptyInstance() => create();
|
||||
static $pb.PbList<Source> createRepeated() => $pb.PbList<Source>();
|
||||
static Source getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Source _defaultInstance;
|
||||
|
||||
$core.List<$core.int> get hash => $_getN(0);
|
||||
set hash($core.List<$core.int> v) { $_setBytes(0, v); }
|
||||
$core.bool hasHash() => $_has(0);
|
||||
void clearHash() => clearField(1);
|
||||
|
||||
$core.String get name => $_getS(1, '');
|
||||
set name($core.String v) { $_setString(1, v); }
|
||||
$core.bool hasName() => $_has(1);
|
||||
void clearName() => clearField(2);
|
||||
|
||||
Int64 get size => $_getI64(2);
|
||||
set size(Int64 v) { $_setInt64(2, v); }
|
||||
$core.bool hasSize() => $_has(2);
|
||||
void clearSize() => clearField(3);
|
||||
|
||||
$core.String get mediaType => $_getS(3, '');
|
||||
set mediaType($core.String v) { $_setString(3, v); }
|
||||
$core.bool hasMediaType() => $_has(3);
|
||||
void clearMediaType() => clearField(4);
|
||||
|
||||
$core.String get url => $_getS(4, '');
|
||||
set url($core.String v) { $_setString(4, v); }
|
||||
$core.bool hasUrl() => $_has(4);
|
||||
void clearUrl() => clearField(5);
|
||||
|
||||
$core.List<$core.int> get sdHash => $_getN(5);
|
||||
set sdHash($core.List<$core.int> v) { $_setBytes(5, v); }
|
||||
$core.bool hasSdHash() => $_has(5);
|
||||
void clearSdHash() => clearField(6);
|
||||
}
|
||||
|
||||
class Fee extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Fee', package: const $pb.PackageName('pb'))
|
||||
..e<Fee_Currency>(1, 'currency', $pb.PbFieldType.OE, Fee_Currency.UNKNOWN_CURRENCY, Fee_Currency.valueOf, Fee_Currency.values)
|
||||
..a<$core.List<$core.int>>(2, 'address', $pb.PbFieldType.OY)
|
||||
..a<Int64>(3, 'amount', $pb.PbFieldType.OU6, Int64.ZERO)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Fee._() : super();
|
||||
factory Fee() => create();
|
||||
factory Fee.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Fee.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Fee clone() => Fee()..mergeFromMessage(this);
|
||||
Fee copyWith(void Function(Fee) updates) => super.copyWith((message) => updates(message as Fee));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Fee create() => Fee._();
|
||||
Fee createEmptyInstance() => create();
|
||||
static $pb.PbList<Fee> createRepeated() => $pb.PbList<Fee>();
|
||||
static Fee getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Fee _defaultInstance;
|
||||
|
||||
Fee_Currency get currency => $_getN(0);
|
||||
set currency(Fee_Currency v) { setField(1, v); }
|
||||
$core.bool hasCurrency() => $_has(0);
|
||||
void clearCurrency() => clearField(1);
|
||||
|
||||
$core.List<$core.int> get address => $_getN(1);
|
||||
set address($core.List<$core.int> v) { $_setBytes(1, v); }
|
||||
$core.bool hasAddress() => $_has(1);
|
||||
void clearAddress() => clearField(2);
|
||||
|
||||
Int64 get amount => $_getI64(2);
|
||||
set amount(Int64 v) { $_setInt64(2, v); }
|
||||
$core.bool hasAmount() => $_has(2);
|
||||
void clearAmount() => clearField(3);
|
||||
}
|
||||
|
||||
class Image extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Image', package: const $pb.PackageName('pb'))
|
||||
..a<$core.int>(1, 'width', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(2, 'height', $pb.PbFieldType.OU3)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Image._() : super();
|
||||
factory Image() => create();
|
||||
factory Image.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Image.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Image clone() => Image()..mergeFromMessage(this);
|
||||
Image copyWith(void Function(Image) updates) => super.copyWith((message) => updates(message as Image));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Image create() => Image._();
|
||||
Image createEmptyInstance() => create();
|
||||
static $pb.PbList<Image> createRepeated() => $pb.PbList<Image>();
|
||||
static Image getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Image _defaultInstance;
|
||||
|
||||
$core.int get width => $_get(0, 0);
|
||||
set width($core.int v) { $_setUnsignedInt32(0, v); }
|
||||
$core.bool hasWidth() => $_has(0);
|
||||
void clearWidth() => clearField(1);
|
||||
|
||||
$core.int get height => $_get(1, 0);
|
||||
set height($core.int v) { $_setUnsignedInt32(1, v); }
|
||||
$core.bool hasHeight() => $_has(1);
|
||||
void clearHeight() => clearField(2);
|
||||
}
|
||||
|
||||
class Video extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Video', package: const $pb.PackageName('pb'))
|
||||
..a<$core.int>(1, 'width', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(2, 'height', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(3, 'duration', $pb.PbFieldType.OU3)
|
||||
..a<Audio>(15, 'audio', $pb.PbFieldType.OM, Audio.getDefault, Audio.create)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Video._() : super();
|
||||
factory Video() => create();
|
||||
factory Video.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Video.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Video clone() => Video()..mergeFromMessage(this);
|
||||
Video copyWith(void Function(Video) updates) => super.copyWith((message) => updates(message as Video));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Video create() => Video._();
|
||||
Video createEmptyInstance() => create();
|
||||
static $pb.PbList<Video> createRepeated() => $pb.PbList<Video>();
|
||||
static Video getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Video _defaultInstance;
|
||||
|
||||
$core.int get width => $_get(0, 0);
|
||||
set width($core.int v) { $_setUnsignedInt32(0, v); }
|
||||
$core.bool hasWidth() => $_has(0);
|
||||
void clearWidth() => clearField(1);
|
||||
|
||||
$core.int get height => $_get(1, 0);
|
||||
set height($core.int v) { $_setUnsignedInt32(1, v); }
|
||||
$core.bool hasHeight() => $_has(1);
|
||||
void clearHeight() => clearField(2);
|
||||
|
||||
$core.int get duration => $_get(2, 0);
|
||||
set duration($core.int v) { $_setUnsignedInt32(2, v); }
|
||||
$core.bool hasDuration() => $_has(2);
|
||||
void clearDuration() => clearField(3);
|
||||
|
||||
Audio get audio => $_getN(3);
|
||||
set audio(Audio v) { setField(15, v); }
|
||||
$core.bool hasAudio() => $_has(3);
|
||||
void clearAudio() => clearField(15);
|
||||
}
|
||||
|
||||
class Audio extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Audio', package: const $pb.PackageName('pb'))
|
||||
..a<$core.int>(1, 'duration', $pb.PbFieldType.OU3)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Audio._() : super();
|
||||
factory Audio() => create();
|
||||
factory Audio.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Audio.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Audio clone() => Audio()..mergeFromMessage(this);
|
||||
Audio copyWith(void Function(Audio) updates) => super.copyWith((message) => updates(message as Audio));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Audio create() => Audio._();
|
||||
Audio createEmptyInstance() => create();
|
||||
static $pb.PbList<Audio> createRepeated() => $pb.PbList<Audio>();
|
||||
static Audio getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Audio _defaultInstance;
|
||||
|
||||
$core.int get duration => $_get(0, 0);
|
||||
set duration($core.int v) { $_setUnsignedInt32(0, v); }
|
||||
$core.bool hasDuration() => $_has(0);
|
||||
void clearDuration() => clearField(1);
|
||||
}
|
||||
|
||||
class Software extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Software', package: const $pb.PackageName('pb'))
|
||||
..aOS(1, 'os')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Software._() : super();
|
||||
factory Software() => create();
|
||||
factory Software.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Software.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Software clone() => Software()..mergeFromMessage(this);
|
||||
Software copyWith(void Function(Software) updates) => super.copyWith((message) => updates(message as Software));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Software create() => Software._();
|
||||
Software createEmptyInstance() => create();
|
||||
static $pb.PbList<Software> createRepeated() => $pb.PbList<Software>();
|
||||
static Software getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Software _defaultInstance;
|
||||
|
||||
$core.String get os => $_getS(0, '');
|
||||
set os($core.String v) { $_setString(0, v); }
|
||||
$core.bool hasOs() => $_has(0);
|
||||
void clearOs() => clearField(1);
|
||||
}
|
||||
|
||||
class Language extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Language', package: const $pb.PackageName('pb'))
|
||||
..e<Language_Language>(1, 'language', $pb.PbFieldType.OE, Language_Language.UNKNOWN_LANGUAGE, Language_Language.valueOf, Language_Language.values)
|
||||
..e<Language_Script>(2, 'script', $pb.PbFieldType.OE, Language_Script.UNKNOWN_SCRIPT, Language_Script.valueOf, Language_Script.values)
|
||||
..e<Location_Country>(3, 'region', $pb.PbFieldType.OE, Location_Country.UNKNOWN_COUNTRY, Location_Country.valueOf, Location_Country.values)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Language._() : super();
|
||||
factory Language() => create();
|
||||
factory Language.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Language.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Language clone() => Language()..mergeFromMessage(this);
|
||||
Language copyWith(void Function(Language) updates) => super.copyWith((message) => updates(message as Language));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Language create() => Language._();
|
||||
Language createEmptyInstance() => create();
|
||||
static $pb.PbList<Language> createRepeated() => $pb.PbList<Language>();
|
||||
static Language getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Language _defaultInstance;
|
||||
|
||||
Language_Language get language => $_getN(0);
|
||||
set language(Language_Language v) { setField(1, v); }
|
||||
$core.bool hasLanguage() => $_has(0);
|
||||
void clearLanguage() => clearField(1);
|
||||
|
||||
Language_Script get script => $_getN(1);
|
||||
set script(Language_Script v) { setField(2, v); }
|
||||
$core.bool hasScript() => $_has(1);
|
||||
void clearScript() => clearField(2);
|
||||
|
||||
Location_Country get region => $_getN(2);
|
||||
set region(Location_Country v) { setField(3, v); }
|
||||
$core.bool hasRegion() => $_has(2);
|
||||
void clearRegion() => clearField(3);
|
||||
}
|
||||
|
||||
class Location extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Location', package: const $pb.PackageName('pb'))
|
||||
..e<Location_Country>(1, 'country', $pb.PbFieldType.OE, Location_Country.UNKNOWN_COUNTRY, Location_Country.valueOf, Location_Country.values)
|
||||
..aOS(2, 'state')
|
||||
..aOS(3, 'city')
|
||||
..aOS(4, 'code')
|
||||
..a<$core.int>(5, 'latitude', $pb.PbFieldType.OS3)
|
||||
..a<$core.int>(6, 'longitude', $pb.PbFieldType.OS3)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Location._() : super();
|
||||
factory Location() => create();
|
||||
factory Location.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Location.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Location clone() => Location()..mergeFromMessage(this);
|
||||
Location copyWith(void Function(Location) updates) => super.copyWith((message) => updates(message as Location));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Location create() => Location._();
|
||||
Location createEmptyInstance() => create();
|
||||
static $pb.PbList<Location> createRepeated() => $pb.PbList<Location>();
|
||||
static Location getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Location _defaultInstance;
|
||||
|
||||
Location_Country get country => $_getN(0);
|
||||
set country(Location_Country v) { setField(1, v); }
|
||||
$core.bool hasCountry() => $_has(0);
|
||||
void clearCountry() => clearField(1);
|
||||
|
||||
$core.String get state => $_getS(1, '');
|
||||
set state($core.String v) { $_setString(1, v); }
|
||||
$core.bool hasState() => $_has(1);
|
||||
void clearState() => clearField(2);
|
||||
|
||||
$core.String get city => $_getS(2, '');
|
||||
set city($core.String v) { $_setString(2, v); }
|
||||
$core.bool hasCity() => $_has(2);
|
||||
void clearCity() => clearField(3);
|
||||
|
||||
$core.String get code => $_getS(3, '');
|
||||
set code($core.String v) { $_setString(3, v); }
|
||||
$core.bool hasCode() => $_has(3);
|
||||
void clearCode() => clearField(4);
|
||||
|
||||
$core.int get latitude => $_get(4, 0);
|
||||
set latitude($core.int v) { $_setSignedInt32(4, v); }
|
||||
$core.bool hasLatitude() => $_has(4);
|
||||
void clearLatitude() => clearField(5);
|
||||
|
||||
$core.int get longitude => $_get(5, 0);
|
||||
set longitude($core.int v) { $_setSignedInt32(5, v); }
|
||||
$core.bool hasLongitude() => $_has(5);
|
||||
void clearLongitude() => clearField(6);
|
||||
}
|
||||
|
1372
dart/packages/lbry/lib/src/schema/v2/claim.pbenum.dart
Normal file
833
dart/packages/lbry/lib/src/schema/v2/claim.pbjson.dart
Normal file
|
@ -0,0 +1,833 @@
|
|||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: claim.proto
|
||||
///
|
||||
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
|
||||
|
||||
const Claim$json = const {
|
||||
'1': 'Claim',
|
||||
'2': const [
|
||||
const {'1': 'stream', '3': 1, '4': 1, '5': 11, '6': '.pb.Stream', '9': 0, '10': 'stream'},
|
||||
const {'1': 'channel', '3': 2, '4': 1, '5': 11, '6': '.pb.Channel', '9': 0, '10': 'channel'},
|
||||
const {'1': 'collection', '3': 3, '4': 1, '5': 11, '6': '.pb.ClaimList', '9': 0, '10': 'collection'},
|
||||
const {'1': 'repost', '3': 4, '4': 1, '5': 11, '6': '.pb.ClaimReference', '9': 0, '10': 'repost'},
|
||||
const {'1': 'title', '3': 8, '4': 1, '5': 9, '10': 'title'},
|
||||
const {'1': 'description', '3': 9, '4': 1, '5': 9, '10': 'description'},
|
||||
const {'1': 'thumbnail', '3': 10, '4': 1, '5': 11, '6': '.pb.Source', '10': 'thumbnail'},
|
||||
const {'1': 'tags', '3': 11, '4': 3, '5': 9, '10': 'tags'},
|
||||
const {'1': 'languages', '3': 12, '4': 3, '5': 11, '6': '.pb.Language', '10': 'languages'},
|
||||
const {'1': 'locations', '3': 13, '4': 3, '5': 11, '6': '.pb.Location', '10': 'locations'},
|
||||
],
|
||||
'8': const [
|
||||
const {'1': 'type'},
|
||||
],
|
||||
};
|
||||
|
||||
const Stream$json = const {
|
||||
'1': 'Stream',
|
||||
'2': const [
|
||||
const {'1': 'source', '3': 1, '4': 1, '5': 11, '6': '.pb.Source', '10': 'source'},
|
||||
const {'1': 'author', '3': 2, '4': 1, '5': 9, '10': 'author'},
|
||||
const {'1': 'license', '3': 3, '4': 1, '5': 9, '10': 'license'},
|
||||
const {'1': 'license_url', '3': 4, '4': 1, '5': 9, '10': 'licenseUrl'},
|
||||
const {'1': 'release_time', '3': 5, '4': 1, '5': 3, '10': 'releaseTime'},
|
||||
const {'1': 'fee', '3': 6, '4': 1, '5': 11, '6': '.pb.Fee', '10': 'fee'},
|
||||
const {'1': 'image', '3': 10, '4': 1, '5': 11, '6': '.pb.Image', '9': 0, '10': 'image'},
|
||||
const {'1': 'video', '3': 11, '4': 1, '5': 11, '6': '.pb.Video', '9': 0, '10': 'video'},
|
||||
const {'1': 'audio', '3': 12, '4': 1, '5': 11, '6': '.pb.Audio', '9': 0, '10': 'audio'},
|
||||
const {'1': 'software', '3': 13, '4': 1, '5': 11, '6': '.pb.Software', '9': 0, '10': 'software'},
|
||||
],
|
||||
'8': const [
|
||||
const {'1': 'type'},
|
||||
],
|
||||
};
|
||||
|
||||
const Channel$json = const {
|
||||
'1': 'Channel',
|
||||
'2': const [
|
||||
const {'1': 'public_key', '3': 1, '4': 1, '5': 12, '10': 'publicKey'},
|
||||
const {'1': 'email', '3': 2, '4': 1, '5': 9, '10': 'email'},
|
||||
const {'1': 'website_url', '3': 3, '4': 1, '5': 9, '10': 'websiteUrl'},
|
||||
const {'1': 'cover', '3': 4, '4': 1, '5': 11, '6': '.pb.Source', '10': 'cover'},
|
||||
const {'1': 'featured', '3': 5, '4': 1, '5': 11, '6': '.pb.ClaimList', '10': 'featured'},
|
||||
],
|
||||
};
|
||||
|
||||
const ClaimReference$json = const {
|
||||
'1': 'ClaimReference',
|
||||
'2': const [
|
||||
const {'1': 'claim_hash', '3': 1, '4': 1, '5': 12, '10': 'claimHash'},
|
||||
],
|
||||
};
|
||||
|
||||
const ClaimList$json = const {
|
||||
'1': 'ClaimList',
|
||||
'2': const [
|
||||
const {'1': 'list_type', '3': 1, '4': 1, '5': 14, '6': '.pb.ClaimList.ListType', '10': 'listType'},
|
||||
const {'1': 'claim_references', '3': 2, '4': 3, '5': 11, '6': '.pb.ClaimReference', '10': 'claimReferences'},
|
||||
],
|
||||
'4': const [ClaimList_ListType$json],
|
||||
};
|
||||
|
||||
const ClaimList_ListType$json = const {
|
||||
'1': 'ListType',
|
||||
'2': const [
|
||||
const {'1': 'COLLECTION', '2': 0},
|
||||
const {'1': 'DERIVATION', '2': 2},
|
||||
],
|
||||
};
|
||||
|
||||
const Source$json = const {
|
||||
'1': 'Source',
|
||||
'2': const [
|
||||
const {'1': 'hash', '3': 1, '4': 1, '5': 12, '10': 'hash'},
|
||||
const {'1': 'name', '3': 2, '4': 1, '5': 9, '10': 'name'},
|
||||
const {'1': 'size', '3': 3, '4': 1, '5': 4, '10': 'size'},
|
||||
const {'1': 'media_type', '3': 4, '4': 1, '5': 9, '10': 'mediaType'},
|
||||
const {'1': 'url', '3': 5, '4': 1, '5': 9, '10': 'url'},
|
||||
const {'1': 'sd_hash', '3': 6, '4': 1, '5': 12, '10': 'sdHash'},
|
||||
],
|
||||
};
|
||||
|
||||
const Fee$json = const {
|
||||
'1': 'Fee',
|
||||
'2': const [
|
||||
const {'1': 'currency', '3': 1, '4': 1, '5': 14, '6': '.pb.Fee.Currency', '10': 'currency'},
|
||||
const {'1': 'address', '3': 2, '4': 1, '5': 12, '10': 'address'},
|
||||
const {'1': 'amount', '3': 3, '4': 1, '5': 4, '10': 'amount'},
|
||||
],
|
||||
'4': const [Fee_Currency$json],
|
||||
};
|
||||
|
||||
const Fee_Currency$json = const {
|
||||
'1': 'Currency',
|
||||
'2': const [
|
||||
const {'1': 'UNKNOWN_CURRENCY', '2': 0},
|
||||
const {'1': 'LBC', '2': 1},
|
||||
const {'1': 'BTC', '2': 2},
|
||||
const {'1': 'USD', '2': 3},
|
||||
],
|
||||
};
|
||||
|
||||
const Image$json = const {
|
||||
'1': 'Image',
|
||||
'2': const [
|
||||
const {'1': 'width', '3': 1, '4': 1, '5': 13, '10': 'width'},
|
||||
const {'1': 'height', '3': 2, '4': 1, '5': 13, '10': 'height'},
|
||||
],
|
||||
};
|
||||
|
||||
const Video$json = const {
|
||||
'1': 'Video',
|
||||
'2': const [
|
||||
const {'1': 'width', '3': 1, '4': 1, '5': 13, '10': 'width'},
|
||||
const {'1': 'height', '3': 2, '4': 1, '5': 13, '10': 'height'},
|
||||
const {'1': 'duration', '3': 3, '4': 1, '5': 13, '10': 'duration'},
|
||||
const {'1': 'audio', '3': 15, '4': 1, '5': 11, '6': '.pb.Audio', '10': 'audio'},
|
||||
],
|
||||
};
|
||||
|
||||
const Audio$json = const {
|
||||
'1': 'Audio',
|
||||
'2': const [
|
||||
const {'1': 'duration', '3': 1, '4': 1, '5': 13, '10': 'duration'},
|
||||
],
|
||||
};
|
||||
|
||||
const Software$json = const {
|
||||
'1': 'Software',
|
||||
'2': const [
|
||||
const {'1': 'os', '3': 1, '4': 1, '5': 9, '10': 'os'},
|
||||
],
|
||||
'4': const [Software_OS$json],
|
||||
};
|
||||
|
||||
const Software_OS$json = const {
|
||||
'1': 'OS',
|
||||
'2': const [
|
||||
const {'1': 'UNKNOWN_OS', '2': 0},
|
||||
const {'1': 'ANY', '2': 1},
|
||||
const {'1': 'LINUX', '2': 2},
|
||||
const {'1': 'WINDOWS', '2': 3},
|
||||
const {'1': 'MAC', '2': 4},
|
||||
const {'1': 'ANDROID', '2': 5},
|
||||
const {'1': 'IOS', '2': 6},
|
||||
],
|
||||
};
|
||||
|
||||
const Language$json = const {
|
||||
'1': 'Language',
|
||||
'2': const [
|
||||
const {'1': 'language', '3': 1, '4': 1, '5': 14, '6': '.pb.Language.Language', '10': 'language'},
|
||||
const {'1': 'script', '3': 2, '4': 1, '5': 14, '6': '.pb.Language.Script', '10': 'script'},
|
||||
const {'1': 'region', '3': 3, '4': 1, '5': 14, '6': '.pb.Location.Country', '10': 'region'},
|
||||
],
|
||||
'4': const [Language_Language$json, Language_Script$json],
|
||||
};
|
||||
|
||||
const Language_Language$json = const {
|
||||
'1': 'Language',
|
||||
'2': const [
|
||||
const {'1': 'UNKNOWN_LANGUAGE', '2': 0},
|
||||
const {'1': 'en', '2': 1},
|
||||
const {'1': 'aa', '2': 2},
|
||||
const {'1': 'ab', '2': 3},
|
||||
const {'1': 'ae', '2': 4},
|
||||
const {'1': 'af', '2': 5},
|
||||
const {'1': 'ak', '2': 6},
|
||||
const {'1': 'am', '2': 7},
|
||||
const {'1': 'an', '2': 8},
|
||||
const {'1': 'ar', '2': 9},
|
||||
const {'1': 'as', '2': 10},
|
||||
const {'1': 'av', '2': 11},
|
||||
const {'1': 'ay', '2': 12},
|
||||
const {'1': 'az', '2': 13},
|
||||
const {'1': 'ba', '2': 14},
|
||||
const {'1': 'be', '2': 15},
|
||||
const {'1': 'bg', '2': 16},
|
||||
const {'1': 'bh', '2': 17},
|
||||
const {'1': 'bi', '2': 18},
|
||||
const {'1': 'bm', '2': 19},
|
||||
const {'1': 'bn', '2': 20},
|
||||
const {'1': 'bo', '2': 21},
|
||||
const {'1': 'br', '2': 22},
|
||||
const {'1': 'bs', '2': 23},
|
||||
const {'1': 'ca', '2': 24},
|
||||
const {'1': 'ce', '2': 25},
|
||||
const {'1': 'ch', '2': 26},
|
||||
const {'1': 'co', '2': 27},
|
||||
const {'1': 'cr', '2': 28},
|
||||
const {'1': 'cs', '2': 29},
|
||||
const {'1': 'cu', '2': 30},
|
||||
const {'1': 'cv', '2': 31},
|
||||
const {'1': 'cy', '2': 32},
|
||||
const {'1': 'da', '2': 33},
|
||||
const {'1': 'de', '2': 34},
|
||||
const {'1': 'dv', '2': 35},
|
||||
const {'1': 'dz', '2': 36},
|
||||
const {'1': 'ee', '2': 37},
|
||||
const {'1': 'el', '2': 38},
|
||||
const {'1': 'eo', '2': 39},
|
||||
const {'1': 'es', '2': 40},
|
||||
const {'1': 'et', '2': 41},
|
||||
const {'1': 'eu', '2': 42},
|
||||
const {'1': 'fa', '2': 43},
|
||||
const {'1': 'ff', '2': 44},
|
||||
const {'1': 'fi', '2': 45},
|
||||
const {'1': 'fj', '2': 46},
|
||||
const {'1': 'fo', '2': 47},
|
||||
const {'1': 'fr', '2': 48},
|
||||
const {'1': 'fy', '2': 49},
|
||||
const {'1': 'ga', '2': 50},
|
||||
const {'1': 'gd', '2': 51},
|
||||
const {'1': 'gl', '2': 52},
|
||||
const {'1': 'gn', '2': 53},
|
||||
const {'1': 'gu', '2': 54},
|
||||
const {'1': 'gv', '2': 55},
|
||||
const {'1': 'ha', '2': 56},
|
||||
const {'1': 'he', '2': 57},
|
||||
const {'1': 'hi', '2': 58},
|
||||
const {'1': 'ho', '2': 59},
|
||||
const {'1': 'hr', '2': 60},
|
||||
const {'1': 'ht', '2': 61},
|
||||
const {'1': 'hu', '2': 62},
|
||||
const {'1': 'hy', '2': 63},
|
||||
const {'1': 'hz', '2': 64},
|
||||
const {'1': 'ia', '2': 65},
|
||||
const {'1': 'id', '2': 66},
|
||||
const {'1': 'ie', '2': 67},
|
||||
const {'1': 'ig', '2': 68},
|
||||
const {'1': 'ii', '2': 69},
|
||||
const {'1': 'ik', '2': 70},
|
||||
const {'1': 'io', '2': 71},
|
||||
const {'1': 'is', '2': 72},
|
||||
const {'1': 'it', '2': 73},
|
||||
const {'1': 'iu', '2': 74},
|
||||
const {'1': 'ja', '2': 75},
|
||||
const {'1': 'jv', '2': 76},
|
||||
const {'1': 'ka', '2': 77},
|
||||
const {'1': 'kg', '2': 78},
|
||||
const {'1': 'ki', '2': 79},
|
||||
const {'1': 'kj', '2': 80},
|
||||
const {'1': 'kk', '2': 81},
|
||||
const {'1': 'kl', '2': 82},
|
||||
const {'1': 'km', '2': 83},
|
||||
const {'1': 'kn', '2': 84},
|
||||
const {'1': 'ko', '2': 85},
|
||||
const {'1': 'kr', '2': 86},
|
||||
const {'1': 'ks', '2': 87},
|
||||
const {'1': 'ku', '2': 88},
|
||||
const {'1': 'kv', '2': 89},
|
||||
const {'1': 'kw', '2': 90},
|
||||
const {'1': 'ky', '2': 91},
|
||||
const {'1': 'la', '2': 92},
|
||||
const {'1': 'lb', '2': 93},
|
||||
const {'1': 'lg', '2': 94},
|
||||
const {'1': 'li', '2': 95},
|
||||
const {'1': 'ln', '2': 96},
|
||||
const {'1': 'lo', '2': 97},
|
||||
const {'1': 'lt', '2': 98},
|
||||
const {'1': 'lu', '2': 99},
|
||||
const {'1': 'lv', '2': 100},
|
||||
const {'1': 'mg', '2': 101},
|
||||
const {'1': 'mh', '2': 102},
|
||||
const {'1': 'mi', '2': 103},
|
||||
const {'1': 'mk', '2': 104},
|
||||
const {'1': 'ml', '2': 105},
|
||||
const {'1': 'mn', '2': 106},
|
||||
const {'1': 'mr', '2': 107},
|
||||
const {'1': 'ms', '2': 108},
|
||||
const {'1': 'mt', '2': 109},
|
||||
const {'1': 'my', '2': 110},
|
||||
const {'1': 'na', '2': 111},
|
||||
const {'1': 'nb', '2': 112},
|
||||
const {'1': 'nd', '2': 113},
|
||||
const {'1': 'ne', '2': 114},
|
||||
const {'1': 'ng', '2': 115},
|
||||
const {'1': 'nl', '2': 116},
|
||||
const {'1': 'nn', '2': 117},
|
||||
const {'1': 'no', '2': 118},
|
||||
const {'1': 'nr', '2': 119},
|
||||
const {'1': 'nv', '2': 120},
|
||||
const {'1': 'ny', '2': 121},
|
||||
const {'1': 'oc', '2': 122},
|
||||
const {'1': 'oj', '2': 123},
|
||||
const {'1': 'om', '2': 124},
|
||||
const {'1': 'or', '2': 125},
|
||||
const {'1': 'os', '2': 126},
|
||||
const {'1': 'pa', '2': 127},
|
||||
const {'1': 'pi', '2': 128},
|
||||
const {'1': 'pl', '2': 129},
|
||||
const {'1': 'ps', '2': 130},
|
||||
const {'1': 'pt', '2': 131},
|
||||
const {'1': 'qu', '2': 132},
|
||||
const {'1': 'rm', '2': 133},
|
||||
const {'1': 'rn', '2': 134},
|
||||
const {'1': 'ro', '2': 135},
|
||||
const {'1': 'ru', '2': 136},
|
||||
const {'1': 'rw', '2': 137},
|
||||
const {'1': 'sa', '2': 138},
|
||||
const {'1': 'sc', '2': 139},
|
||||
const {'1': 'sd', '2': 140},
|
||||
const {'1': 'se', '2': 141},
|
||||
const {'1': 'sg', '2': 142},
|
||||
const {'1': 'si', '2': 143},
|
||||
const {'1': 'sk', '2': 144},
|
||||
const {'1': 'sl', '2': 145},
|
||||
const {'1': 'sm', '2': 146},
|
||||
const {'1': 'sn', '2': 147},
|
||||
const {'1': 'so', '2': 148},
|
||||
const {'1': 'sq', '2': 149},
|
||||
const {'1': 'sr', '2': 150},
|
||||
const {'1': 'ss', '2': 151},
|
||||
const {'1': 'st', '2': 152},
|
||||
const {'1': 'su', '2': 153},
|
||||
const {'1': 'sv', '2': 154},
|
||||
const {'1': 'sw', '2': 155},
|
||||
const {'1': 'ta', '2': 156},
|
||||
const {'1': 'te', '2': 157},
|
||||
const {'1': 'tg', '2': 158},
|
||||
const {'1': 'th', '2': 159},
|
||||
const {'1': 'ti', '2': 160},
|
||||
const {'1': 'tk', '2': 161},
|
||||
const {'1': 'tl', '2': 162},
|
||||
const {'1': 'tn', '2': 163},
|
||||
const {'1': 'to', '2': 164},
|
||||
const {'1': 'tr', '2': 165},
|
||||
const {'1': 'ts', '2': 166},
|
||||
const {'1': 'tt', '2': 167},
|
||||
const {'1': 'tw', '2': 168},
|
||||
const {'1': 'ty', '2': 169},
|
||||
const {'1': 'ug', '2': 170},
|
||||
const {'1': 'uk', '2': 171},
|
||||
const {'1': 'ur', '2': 172},
|
||||
const {'1': 'uz', '2': 173},
|
||||
const {'1': 've', '2': 174},
|
||||
const {'1': 'vi', '2': 175},
|
||||
const {'1': 'vo', '2': 176},
|
||||
const {'1': 'wa', '2': 177},
|
||||
const {'1': 'wo', '2': 178},
|
||||
const {'1': 'xh', '2': 179},
|
||||
const {'1': 'yi', '2': 180},
|
||||
const {'1': 'yo', '2': 181},
|
||||
const {'1': 'za', '2': 182},
|
||||
const {'1': 'zh', '2': 183},
|
||||
const {'1': 'zu', '2': 184},
|
||||
],
|
||||
};
|
||||
|
||||
const Language_Script$json = const {
|
||||
'1': 'Script',
|
||||
'2': const [
|
||||
const {'1': 'UNKNOWN_SCRIPT', '2': 0},
|
||||
const {'1': 'Adlm', '2': 1},
|
||||
const {'1': 'Afak', '2': 2},
|
||||
const {'1': 'Aghb', '2': 3},
|
||||
const {'1': 'Ahom', '2': 4},
|
||||
const {'1': 'Arab', '2': 5},
|
||||
const {'1': 'Aran', '2': 6},
|
||||
const {'1': 'Armi', '2': 7},
|
||||
const {'1': 'Armn', '2': 8},
|
||||
const {'1': 'Avst', '2': 9},
|
||||
const {'1': 'Bali', '2': 10},
|
||||
const {'1': 'Bamu', '2': 11},
|
||||
const {'1': 'Bass', '2': 12},
|
||||
const {'1': 'Batk', '2': 13},
|
||||
const {'1': 'Beng', '2': 14},
|
||||
const {'1': 'Bhks', '2': 15},
|
||||
const {'1': 'Blis', '2': 16},
|
||||
const {'1': 'Bopo', '2': 17},
|
||||
const {'1': 'Brah', '2': 18},
|
||||
const {'1': 'Brai', '2': 19},
|
||||
const {'1': 'Bugi', '2': 20},
|
||||
const {'1': 'Buhd', '2': 21},
|
||||
const {'1': 'Cakm', '2': 22},
|
||||
const {'1': 'Cans', '2': 23},
|
||||
const {'1': 'Cari', '2': 24},
|
||||
const {'1': 'Cham', '2': 25},
|
||||
const {'1': 'Cher', '2': 26},
|
||||
const {'1': 'Cirt', '2': 27},
|
||||
const {'1': 'Copt', '2': 28},
|
||||
const {'1': 'Cpmn', '2': 29},
|
||||
const {'1': 'Cprt', '2': 30},
|
||||
const {'1': 'Cyrl', '2': 31},
|
||||
const {'1': 'Cyrs', '2': 32},
|
||||
const {'1': 'Deva', '2': 33},
|
||||
const {'1': 'Dogr', '2': 34},
|
||||
const {'1': 'Dsrt', '2': 35},
|
||||
const {'1': 'Dupl', '2': 36},
|
||||
const {'1': 'Egyd', '2': 37},
|
||||
const {'1': 'Egyh', '2': 38},
|
||||
const {'1': 'Egyp', '2': 39},
|
||||
const {'1': 'Elba', '2': 40},
|
||||
const {'1': 'Elym', '2': 41},
|
||||
const {'1': 'Ethi', '2': 42},
|
||||
const {'1': 'Geok', '2': 43},
|
||||
const {'1': 'Geor', '2': 44},
|
||||
const {'1': 'Glag', '2': 45},
|
||||
const {'1': 'Gong', '2': 46},
|
||||
const {'1': 'Gonm', '2': 47},
|
||||
const {'1': 'Goth', '2': 48},
|
||||
const {'1': 'Gran', '2': 49},
|
||||
const {'1': 'Grek', '2': 50},
|
||||
const {'1': 'Gujr', '2': 51},
|
||||
const {'1': 'Guru', '2': 52},
|
||||
const {'1': 'Hanb', '2': 53},
|
||||
const {'1': 'Hang', '2': 54},
|
||||
const {'1': 'Hani', '2': 55},
|
||||
const {'1': 'Hano', '2': 56},
|
||||
const {'1': 'Hans', '2': 57},
|
||||
const {'1': 'Hant', '2': 58},
|
||||
const {'1': 'Hatr', '2': 59},
|
||||
const {'1': 'Hebr', '2': 60},
|
||||
const {'1': 'Hira', '2': 61},
|
||||
const {'1': 'Hluw', '2': 62},
|
||||
const {'1': 'Hmng', '2': 63},
|
||||
const {'1': 'Hmnp', '2': 64},
|
||||
const {'1': 'Hrkt', '2': 65},
|
||||
const {'1': 'Hung', '2': 66},
|
||||
const {'1': 'Inds', '2': 67},
|
||||
const {'1': 'Ital', '2': 68},
|
||||
const {'1': 'Jamo', '2': 69},
|
||||
const {'1': 'Java', '2': 70},
|
||||
const {'1': 'Jpan', '2': 71},
|
||||
const {'1': 'Jurc', '2': 72},
|
||||
const {'1': 'Kali', '2': 73},
|
||||
const {'1': 'Kana', '2': 74},
|
||||
const {'1': 'Khar', '2': 75},
|
||||
const {'1': 'Khmr', '2': 76},
|
||||
const {'1': 'Khoj', '2': 77},
|
||||
const {'1': 'Kitl', '2': 78},
|
||||
const {'1': 'Kits', '2': 79},
|
||||
const {'1': 'Knda', '2': 80},
|
||||
const {'1': 'Kore', '2': 81},
|
||||
const {'1': 'Kpel', '2': 82},
|
||||
const {'1': 'Kthi', '2': 83},
|
||||
const {'1': 'Lana', '2': 84},
|
||||
const {'1': 'Laoo', '2': 85},
|
||||
const {'1': 'Latf', '2': 86},
|
||||
const {'1': 'Latg', '2': 87},
|
||||
const {'1': 'Latn', '2': 88},
|
||||
const {'1': 'Leke', '2': 89},
|
||||
const {'1': 'Lepc', '2': 90},
|
||||
const {'1': 'Limb', '2': 91},
|
||||
const {'1': 'Lina', '2': 92},
|
||||
const {'1': 'Linb', '2': 93},
|
||||
const {'1': 'Lisu', '2': 94},
|
||||
const {'1': 'Loma', '2': 95},
|
||||
const {'1': 'Lyci', '2': 96},
|
||||
const {'1': 'Lydi', '2': 97},
|
||||
const {'1': 'Mahj', '2': 98},
|
||||
const {'1': 'Maka', '2': 99},
|
||||
const {'1': 'Mand', '2': 100},
|
||||
const {'1': 'Mani', '2': 101},
|
||||
const {'1': 'Marc', '2': 102},
|
||||
const {'1': 'Maya', '2': 103},
|
||||
const {'1': 'Medf', '2': 104},
|
||||
const {'1': 'Mend', '2': 105},
|
||||
const {'1': 'Merc', '2': 106},
|
||||
const {'1': 'Mero', '2': 107},
|
||||
const {'1': 'Mlym', '2': 108},
|
||||
const {'1': 'Modi', '2': 109},
|
||||
const {'1': 'Mong', '2': 110},
|
||||
const {'1': 'Moon', '2': 111},
|
||||
const {'1': 'Mroo', '2': 112},
|
||||
const {'1': 'Mtei', '2': 113},
|
||||
const {'1': 'Mult', '2': 114},
|
||||
const {'1': 'Mymr', '2': 115},
|
||||
const {'1': 'Nand', '2': 116},
|
||||
const {'1': 'Narb', '2': 117},
|
||||
const {'1': 'Nbat', '2': 118},
|
||||
const {'1': 'Newa', '2': 119},
|
||||
const {'1': 'Nkdb', '2': 120},
|
||||
const {'1': 'Nkgb', '2': 121},
|
||||
const {'1': 'Nkoo', '2': 122},
|
||||
const {'1': 'Nshu', '2': 123},
|
||||
const {'1': 'Ogam', '2': 124},
|
||||
const {'1': 'Olck', '2': 125},
|
||||
const {'1': 'Orkh', '2': 126},
|
||||
const {'1': 'Orya', '2': 127},
|
||||
const {'1': 'Osge', '2': 128},
|
||||
const {'1': 'Osma', '2': 129},
|
||||
const {'1': 'Palm', '2': 130},
|
||||
const {'1': 'Pauc', '2': 131},
|
||||
const {'1': 'Perm', '2': 132},
|
||||
const {'1': 'Phag', '2': 133},
|
||||
const {'1': 'Phli', '2': 134},
|
||||
const {'1': 'Phlp', '2': 135},
|
||||
const {'1': 'Phlv', '2': 136},
|
||||
const {'1': 'Phnx', '2': 137},
|
||||
const {'1': 'Plrd', '2': 138},
|
||||
const {'1': 'Piqd', '2': 139},
|
||||
const {'1': 'Prti', '2': 140},
|
||||
const {'1': 'Qaaa', '2': 141},
|
||||
const {'1': 'Qabx', '2': 142},
|
||||
const {'1': 'Rjng', '2': 143},
|
||||
const {'1': 'Rohg', '2': 144},
|
||||
const {'1': 'Roro', '2': 145},
|
||||
const {'1': 'Runr', '2': 146},
|
||||
const {'1': 'Samr', '2': 147},
|
||||
const {'1': 'Sara', '2': 148},
|
||||
const {'1': 'Sarb', '2': 149},
|
||||
const {'1': 'Saur', '2': 150},
|
||||
const {'1': 'Sgnw', '2': 151},
|
||||
const {'1': 'Shaw', '2': 152},
|
||||
const {'1': 'Shrd', '2': 153},
|
||||
const {'1': 'Shui', '2': 154},
|
||||
const {'1': 'Sidd', '2': 155},
|
||||
const {'1': 'Sind', '2': 156},
|
||||
const {'1': 'Sinh', '2': 157},
|
||||
const {'1': 'Sogd', '2': 158},
|
||||
const {'1': 'Sogo', '2': 159},
|
||||
const {'1': 'Sora', '2': 160},
|
||||
const {'1': 'Soyo', '2': 161},
|
||||
const {'1': 'Sund', '2': 162},
|
||||
const {'1': 'Sylo', '2': 163},
|
||||
const {'1': 'Syrc', '2': 164},
|
||||
const {'1': 'Syre', '2': 165},
|
||||
const {'1': 'Syrj', '2': 166},
|
||||
const {'1': 'Syrn', '2': 167},
|
||||
const {'1': 'Tagb', '2': 168},
|
||||
const {'1': 'Takr', '2': 169},
|
||||
const {'1': 'Tale', '2': 170},
|
||||
const {'1': 'Talu', '2': 171},
|
||||
const {'1': 'Taml', '2': 172},
|
||||
const {'1': 'Tang', '2': 173},
|
||||
const {'1': 'Tavt', '2': 174},
|
||||
const {'1': 'Telu', '2': 175},
|
||||
const {'1': 'Teng', '2': 176},
|
||||
const {'1': 'Tfng', '2': 177},
|
||||
const {'1': 'Tglg', '2': 178},
|
||||
const {'1': 'Thaa', '2': 179},
|
||||
const {'1': 'Thai', '2': 180},
|
||||
const {'1': 'Tibt', '2': 181},
|
||||
const {'1': 'Tirh', '2': 182},
|
||||
const {'1': 'Ugar', '2': 183},
|
||||
const {'1': 'Vaii', '2': 184},
|
||||
const {'1': 'Visp', '2': 185},
|
||||
const {'1': 'Wara', '2': 186},
|
||||
const {'1': 'Wcho', '2': 187},
|
||||
const {'1': 'Wole', '2': 188},
|
||||
const {'1': 'Xpeo', '2': 189},
|
||||
const {'1': 'Xsux', '2': 190},
|
||||
const {'1': 'Yiii', '2': 191},
|
||||
const {'1': 'Zanb', '2': 192},
|
||||
const {'1': 'Zinh', '2': 193},
|
||||
const {'1': 'Zmth', '2': 194},
|
||||
const {'1': 'Zsye', '2': 195},
|
||||
const {'1': 'Zsym', '2': 196},
|
||||
const {'1': 'Zxxx', '2': 197},
|
||||
const {'1': 'Zyyy', '2': 198},
|
||||
const {'1': 'Zzzz', '2': 199},
|
||||
],
|
||||
};
|
||||
|
||||
const Location$json = const {
|
||||
'1': 'Location',
|
||||
'2': const [
|
||||
const {'1': 'country', '3': 1, '4': 1, '5': 14, '6': '.pb.Location.Country', '10': 'country'},
|
||||
const {'1': 'state', '3': 2, '4': 1, '5': 9, '10': 'state'},
|
||||
const {'1': 'city', '3': 3, '4': 1, '5': 9, '10': 'city'},
|
||||
const {'1': 'code', '3': 4, '4': 1, '5': 9, '10': 'code'},
|
||||
const {'1': 'latitude', '3': 5, '4': 1, '5': 17, '10': 'latitude'},
|
||||
const {'1': 'longitude', '3': 6, '4': 1, '5': 17, '10': 'longitude'},
|
||||
],
|
||||
'4': const [Location_Country$json],
|
||||
};
|
||||
|
||||
const Location_Country$json = const {
|
||||
'1': 'Country',
|
||||
'2': const [
|
||||
const {'1': 'UNKNOWN_COUNTRY', '2': 0},
|
||||
const {'1': 'AF', '2': 1},
|
||||
const {'1': 'AX', '2': 2},
|
||||
const {'1': 'AL', '2': 3},
|
||||
const {'1': 'DZ', '2': 4},
|
||||
const {'1': 'AS', '2': 5},
|
||||
const {'1': 'AD', '2': 6},
|
||||
const {'1': 'AO', '2': 7},
|
||||
const {'1': 'AI', '2': 8},
|
||||
const {'1': 'AQ', '2': 9},
|
||||
const {'1': 'AG', '2': 10},
|
||||
const {'1': 'AR', '2': 11},
|
||||
const {'1': 'AM', '2': 12},
|
||||
const {'1': 'AW', '2': 13},
|
||||
const {'1': 'AU', '2': 14},
|
||||
const {'1': 'AT', '2': 15},
|
||||
const {'1': 'AZ', '2': 16},
|
||||
const {'1': 'BS', '2': 17},
|
||||
const {'1': 'BH', '2': 18},
|
||||
const {'1': 'BD', '2': 19},
|
||||
const {'1': 'BB', '2': 20},
|
||||
const {'1': 'BY', '2': 21},
|
||||
const {'1': 'BE', '2': 22},
|
||||
const {'1': 'BZ', '2': 23},
|
||||
const {'1': 'BJ', '2': 24},
|
||||
const {'1': 'BM', '2': 25},
|
||||
const {'1': 'BT', '2': 26},
|
||||
const {'1': 'BO', '2': 27},
|
||||
const {'1': 'BQ', '2': 28},
|
||||
const {'1': 'BA', '2': 29},
|
||||
const {'1': 'BW', '2': 30},
|
||||
const {'1': 'BV', '2': 31},
|
||||
const {'1': 'BR', '2': 32},
|
||||
const {'1': 'IO', '2': 33},
|
||||
const {'1': 'BN', '2': 34},
|
||||
const {'1': 'BG', '2': 35},
|
||||
const {'1': 'BF', '2': 36},
|
||||
const {'1': 'BI', '2': 37},
|
||||
const {'1': 'KH', '2': 38},
|
||||
const {'1': 'CM', '2': 39},
|
||||
const {'1': 'CA', '2': 40},
|
||||
const {'1': 'CV', '2': 41},
|
||||
const {'1': 'KY', '2': 42},
|
||||
const {'1': 'CF', '2': 43},
|
||||
const {'1': 'TD', '2': 44},
|
||||
const {'1': 'CL', '2': 45},
|
||||
const {'1': 'CN', '2': 46},
|
||||
const {'1': 'CX', '2': 47},
|
||||
const {'1': 'CC', '2': 48},
|
||||
const {'1': 'CO', '2': 49},
|
||||
const {'1': 'KM', '2': 50},
|
||||
const {'1': 'CG', '2': 51},
|
||||
const {'1': 'CD', '2': 52},
|
||||
const {'1': 'CK', '2': 53},
|
||||
const {'1': 'CR', '2': 54},
|
||||
const {'1': 'CI', '2': 55},
|
||||
const {'1': 'HR', '2': 56},
|
||||
const {'1': 'CU', '2': 57},
|
||||
const {'1': 'CW', '2': 58},
|
||||
const {'1': 'CY', '2': 59},
|
||||
const {'1': 'CZ', '2': 60},
|
||||
const {'1': 'DK', '2': 61},
|
||||
const {'1': 'DJ', '2': 62},
|
||||
const {'1': 'DM', '2': 63},
|
||||
const {'1': 'DO', '2': 64},
|
||||
const {'1': 'EC', '2': 65},
|
||||
const {'1': 'EG', '2': 66},
|
||||
const {'1': 'SV', '2': 67},
|
||||
const {'1': 'GQ', '2': 68},
|
||||
const {'1': 'ER', '2': 69},
|
||||
const {'1': 'EE', '2': 70},
|
||||
const {'1': 'ET', '2': 71},
|
||||
const {'1': 'FK', '2': 72},
|
||||
const {'1': 'FO', '2': 73},
|
||||
const {'1': 'FJ', '2': 74},
|
||||
const {'1': 'FI', '2': 75},
|
||||
const {'1': 'FR', '2': 76},
|
||||
const {'1': 'GF', '2': 77},
|
||||
const {'1': 'PF', '2': 78},
|
||||
const {'1': 'TF', '2': 79},
|
||||
const {'1': 'GA', '2': 80},
|
||||
const {'1': 'GM', '2': 81},
|
||||
const {'1': 'GE', '2': 82},
|
||||
const {'1': 'DE', '2': 83},
|
||||
const {'1': 'GH', '2': 84},
|
||||
const {'1': 'GI', '2': 85},
|
||||
const {'1': 'GR', '2': 86},
|
||||
const {'1': 'GL', '2': 87},
|
||||
const {'1': 'GD', '2': 88},
|
||||
const {'1': 'GP', '2': 89},
|
||||
const {'1': 'GU', '2': 90},
|
||||
const {'1': 'GT', '2': 91},
|
||||
const {'1': 'GG', '2': 92},
|
||||
const {'1': 'GN', '2': 93},
|
||||
const {'1': 'GW', '2': 94},
|
||||
const {'1': 'GY', '2': 95},
|
||||
const {'1': 'HT', '2': 96},
|
||||
const {'1': 'HM', '2': 97},
|
||||
const {'1': 'VA', '2': 98},
|
||||
const {'1': 'HN', '2': 99},
|
||||
const {'1': 'HK', '2': 100},
|
||||
const {'1': 'HU', '2': 101},
|
||||
const {'1': 'IS', '2': 102},
|
||||
const {'1': 'IN', '2': 103},
|
||||
const {'1': 'ID', '2': 104},
|
||||
const {'1': 'IR', '2': 105},
|
||||
const {'1': 'IQ', '2': 106},
|
||||
const {'1': 'IE', '2': 107},
|
||||
const {'1': 'IM', '2': 108},
|
||||
const {'1': 'IL', '2': 109},
|
||||
const {'1': 'IT', '2': 110},
|
||||
const {'1': 'JM', '2': 111},
|
||||
const {'1': 'JP', '2': 112},
|
||||
const {'1': 'JE', '2': 113},
|
||||
const {'1': 'JO', '2': 114},
|
||||
const {'1': 'KZ', '2': 115},
|
||||
const {'1': 'KE', '2': 116},
|
||||
const {'1': 'KI', '2': 117},
|
||||
const {'1': 'KP', '2': 118},
|
||||
const {'1': 'KR', '2': 119},
|
||||
const {'1': 'KW', '2': 120},
|
||||
const {'1': 'KG', '2': 121},
|
||||
const {'1': 'LA', '2': 122},
|
||||
const {'1': 'LV', '2': 123},
|
||||
const {'1': 'LB', '2': 124},
|
||||
const {'1': 'LS', '2': 125},
|
||||
const {'1': 'LR', '2': 126},
|
||||
const {'1': 'LY', '2': 127},
|
||||
const {'1': 'LI', '2': 128},
|
||||
const {'1': 'LT', '2': 129},
|
||||
const {'1': 'LU', '2': 130},
|
||||
const {'1': 'MO', '2': 131},
|
||||
const {'1': 'MK', '2': 132},
|
||||
const {'1': 'MG', '2': 133},
|
||||
const {'1': 'MW', '2': 134},
|
||||
const {'1': 'MY', '2': 135},
|
||||
const {'1': 'MV', '2': 136},
|
||||
const {'1': 'ML', '2': 137},
|
||||
const {'1': 'MT', '2': 138},
|
||||
const {'1': 'MH', '2': 139},
|
||||
const {'1': 'MQ', '2': 140},
|
||||
const {'1': 'MR', '2': 141},
|
||||
const {'1': 'MU', '2': 142},
|
||||
const {'1': 'YT', '2': 143},
|
||||
const {'1': 'MX', '2': 144},
|
||||
const {'1': 'FM', '2': 145},
|
||||
const {'1': 'MD', '2': 146},
|
||||
const {'1': 'MC', '2': 147},
|
||||
const {'1': 'MN', '2': 148},
|
||||
const {'1': 'ME', '2': 149},
|
||||
const {'1': 'MS', '2': 150},
|
||||
const {'1': 'MA', '2': 151},
|
||||
const {'1': 'MZ', '2': 152},
|
||||
const {'1': 'MM', '2': 153},
|
||||
const {'1': 'NA', '2': 154},
|
||||
const {'1': 'NR', '2': 155},
|
||||
const {'1': 'NP', '2': 156},
|
||||
const {'1': 'NL', '2': 157},
|
||||
const {'1': 'NC', '2': 158},
|
||||
const {'1': 'NZ', '2': 159},
|
||||
const {'1': 'NI', '2': 160},
|
||||
const {'1': 'NE', '2': 161},
|
||||
const {'1': 'NG', '2': 162},
|
||||
const {'1': 'NU', '2': 163},
|
||||
const {'1': 'NF', '2': 164},
|
||||
const {'1': 'MP', '2': 165},
|
||||
const {'1': 'NO', '2': 166},
|
||||
const {'1': 'OM', '2': 167},
|
||||
const {'1': 'PK', '2': 168},
|
||||
const {'1': 'PW', '2': 169},
|
||||
const {'1': 'PS', '2': 170},
|
||||
const {'1': 'PA', '2': 171},
|
||||
const {'1': 'PG', '2': 172},
|
||||
const {'1': 'PY', '2': 173},
|
||||
const {'1': 'PE', '2': 174},
|
||||
const {'1': 'PH', '2': 175},
|
||||
const {'1': 'PN', '2': 176},
|
||||
const {'1': 'PL', '2': 177},
|
||||
const {'1': 'PT', '2': 178},
|
||||
const {'1': 'PR', '2': 179},
|
||||
const {'1': 'QA', '2': 180},
|
||||
const {'1': 'RE', '2': 181},
|
||||
const {'1': 'RO', '2': 182},
|
||||
const {'1': 'RU', '2': 183},
|
||||
const {'1': 'RW', '2': 184},
|
||||
const {'1': 'BL', '2': 185},
|
||||
const {'1': 'SH', '2': 186},
|
||||
const {'1': 'KN', '2': 187},
|
||||
const {'1': 'LC', '2': 188},
|
||||
const {'1': 'MF', '2': 189},
|
||||
const {'1': 'PM', '2': 190},
|
||||
const {'1': 'VC', '2': 191},
|
||||
const {'1': 'WS', '2': 192},
|
||||
const {'1': 'SM', '2': 193},
|
||||
const {'1': 'ST', '2': 194},
|
||||
const {'1': 'SA', '2': 195},
|
||||
const {'1': 'SN', '2': 196},
|
||||
const {'1': 'RS', '2': 197},
|
||||
const {'1': 'SC', '2': 198},
|
||||
const {'1': 'SL', '2': 199},
|
||||
const {'1': 'SG', '2': 200},
|
||||
const {'1': 'SX', '2': 201},
|
||||
const {'1': 'SK', '2': 202},
|
||||
const {'1': 'SI', '2': 203},
|
||||
const {'1': 'SB', '2': 204},
|
||||
const {'1': 'SO', '2': 205},
|
||||
const {'1': 'ZA', '2': 206},
|
||||
const {'1': 'GS', '2': 207},
|
||||
const {'1': 'SS', '2': 208},
|
||||
const {'1': 'ES', '2': 209},
|
||||
const {'1': 'LK', '2': 210},
|
||||
const {'1': 'SD', '2': 211},
|
||||
const {'1': 'SR', '2': 212},
|
||||
const {'1': 'SJ', '2': 213},
|
||||
const {'1': 'SZ', '2': 214},
|
||||
const {'1': 'SE', '2': 215},
|
||||
const {'1': 'CH', '2': 216},
|
||||
const {'1': 'SY', '2': 217},
|
||||
const {'1': 'TW', '2': 218},
|
||||
const {'1': 'TJ', '2': 219},
|
||||
const {'1': 'TZ', '2': 220},
|
||||
const {'1': 'TH', '2': 221},
|
||||
const {'1': 'TL', '2': 222},
|
||||
const {'1': 'TG', '2': 223},
|
||||
const {'1': 'TK', '2': 224},
|
||||
const {'1': 'TO', '2': 225},
|
||||
const {'1': 'TT', '2': 226},
|
||||
const {'1': 'TN', '2': 227},
|
||||
const {'1': 'TR', '2': 228},
|
||||
const {'1': 'TM', '2': 229},
|
||||
const {'1': 'TC', '2': 230},
|
||||
const {'1': 'TV', '2': 231},
|
||||
const {'1': 'UG', '2': 232},
|
||||
const {'1': 'UA', '2': 233},
|
||||
const {'1': 'AE', '2': 234},
|
||||
const {'1': 'GB', '2': 235},
|
||||
const {'1': 'US', '2': 236},
|
||||
const {'1': 'UM', '2': 237},
|
||||
const {'1': 'UY', '2': 238},
|
||||
const {'1': 'UZ', '2': 239},
|
||||
const {'1': 'VU', '2': 240},
|
||||
const {'1': 'VE', '2': 241},
|
||||
const {'1': 'VN', '2': 242},
|
||||
const {'1': 'VG', '2': 243},
|
||||
const {'1': 'VI', '2': 244},
|
||||
const {'1': 'WF', '2': 245},
|
||||
const {'1': 'EH', '2': 246},
|
||||
const {'1': 'YE', '2': 247},
|
||||
const {'1': 'ZM', '2': 248},
|
||||
const {'1': 'ZW', '2': 249},
|
||||
],
|
||||
};
|
||||
|
8
dart/packages/lbry/lib/src/schema/v2/claim.pbserver.dart
Normal file
|
@ -0,0 +1,8 @@
|
|||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: claim.proto
|
||||
///
|
||||
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
|
||||
|
||||
export 'claim.pb.dart';
|
||||
|
260
dart/packages/lbry/lib/src/schema/v2/result.pb.dart
Normal file
|
@ -0,0 +1,260 @@
|
|||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: result.proto
|
||||
///
|
||||
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
|
||||
|
||||
import 'dart:core' as $core show bool, Deprecated, double, int, List, Map, override, pragma, String;
|
||||
|
||||
import 'package:fixnum/fixnum.dart';
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'result.pbenum.dart';
|
||||
|
||||
export 'result.pbenum.dart';
|
||||
|
||||
class Outputs extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Outputs', package: const $pb.PackageName('pb'))
|
||||
..pc<Output>(1, 'txos', $pb.PbFieldType.PM,Output.create)
|
||||
..pc<Output>(2, 'extraTxos', $pb.PbFieldType.PM,Output.create)
|
||||
..a<$core.int>(3, 'total', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(4, 'offset', $pb.PbFieldType.OU3)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Outputs._() : super();
|
||||
factory Outputs() => create();
|
||||
factory Outputs.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Outputs.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Outputs clone() => Outputs()..mergeFromMessage(this);
|
||||
Outputs copyWith(void Function(Outputs) updates) => super.copyWith((message) => updates(message as Outputs));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Outputs create() => Outputs._();
|
||||
Outputs createEmptyInstance() => create();
|
||||
static $pb.PbList<Outputs> createRepeated() => $pb.PbList<Outputs>();
|
||||
static Outputs getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Outputs _defaultInstance;
|
||||
|
||||
$core.List<Output> get txos => $_getList(0);
|
||||
|
||||
$core.List<Output> get extraTxos => $_getList(1);
|
||||
|
||||
$core.int get total => $_get(2, 0);
|
||||
set total($core.int v) { $_setUnsignedInt32(2, v); }
|
||||
$core.bool hasTotal() => $_has(2);
|
||||
void clearTotal() => clearField(3);
|
||||
|
||||
$core.int get offset => $_get(3, 0);
|
||||
set offset($core.int v) { $_setUnsignedInt32(3, v); }
|
||||
$core.bool hasOffset() => $_has(3);
|
||||
void clearOffset() => clearField(4);
|
||||
}
|
||||
|
||||
enum Output_Meta {
|
||||
claim,
|
||||
error,
|
||||
notSet
|
||||
}
|
||||
|
||||
class Output extends $pb.GeneratedMessage {
|
||||
static const $core.Map<$core.int, Output_Meta> _Output_MetaByTag = {
|
||||
7 : Output_Meta.claim,
|
||||
15 : Output_Meta.error,
|
||||
0 : Output_Meta.notSet
|
||||
};
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Output', package: const $pb.PackageName('pb'))
|
||||
..oo(0, [7, 15])
|
||||
..a<$core.List<$core.int>>(1, 'txHash', $pb.PbFieldType.OY)
|
||||
..a<$core.int>(2, 'nout', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(3, 'height', $pb.PbFieldType.OU3)
|
||||
..a<ClaimMeta>(7, 'claim', $pb.PbFieldType.OM, ClaimMeta.getDefault, ClaimMeta.create)
|
||||
..a<Error>(15, 'error', $pb.PbFieldType.OM, Error.getDefault, Error.create)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Output._() : super();
|
||||
factory Output() => create();
|
||||
factory Output.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Output.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Output clone() => Output()..mergeFromMessage(this);
|
||||
Output copyWith(void Function(Output) updates) => super.copyWith((message) => updates(message as Output));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Output create() => Output._();
|
||||
Output createEmptyInstance() => create();
|
||||
static $pb.PbList<Output> createRepeated() => $pb.PbList<Output>();
|
||||
static Output getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Output _defaultInstance;
|
||||
|
||||
Output_Meta whichMeta() => _Output_MetaByTag[$_whichOneof(0)];
|
||||
void clearMeta() => clearField($_whichOneof(0));
|
||||
|
||||
$core.List<$core.int> get txHash => $_getN(0);
|
||||
set txHash($core.List<$core.int> v) { $_setBytes(0, v); }
|
||||
$core.bool hasTxHash() => $_has(0);
|
||||
void clearTxHash() => clearField(1);
|
||||
|
||||
$core.int get nout => $_get(1, 0);
|
||||
set nout($core.int v) { $_setUnsignedInt32(1, v); }
|
||||
$core.bool hasNout() => $_has(1);
|
||||
void clearNout() => clearField(2);
|
||||
|
||||
$core.int get height => $_get(2, 0);
|
||||
set height($core.int v) { $_setUnsignedInt32(2, v); }
|
||||
$core.bool hasHeight() => $_has(2);
|
||||
void clearHeight() => clearField(3);
|
||||
|
||||
ClaimMeta get claim => $_getN(3);
|
||||
set claim(ClaimMeta v) { setField(7, v); }
|
||||
$core.bool hasClaim() => $_has(3);
|
||||
void clearClaim() => clearField(7);
|
||||
|
||||
Error get error => $_getN(4);
|
||||
set error(Error v) { setField(15, v); }
|
||||
$core.bool hasError() => $_has(4);
|
||||
void clearError() => clearField(15);
|
||||
}
|
||||
|
||||
class ClaimMeta extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('ClaimMeta', package: const $pb.PackageName('pb'))
|
||||
..a<Output>(1, 'channel', $pb.PbFieldType.OM, Output.getDefault, Output.create)
|
||||
..aOS(2, 'shortUrl')
|
||||
..aOS(3, 'canonicalUrl')
|
||||
..aOB(4, 'isControlling')
|
||||
..a<$core.int>(5, 'takeOverHeight', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(6, 'creationHeight', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(7, 'activationHeight', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(8, 'expirationHeight', $pb.PbFieldType.OU3)
|
||||
..a<$core.int>(9, 'claimsInChannel', $pb.PbFieldType.OU3)
|
||||
..a<Int64>(10, 'effectiveAmount', $pb.PbFieldType.OU6, Int64.ZERO)
|
||||
..a<Int64>(11, 'supportAmount', $pb.PbFieldType.OU6, Int64.ZERO)
|
||||
..a<$core.int>(12, 'trendingGroup', $pb.PbFieldType.OU3)
|
||||
..a<$core.double>(13, 'trendingMixed', $pb.PbFieldType.OF)
|
||||
..a<$core.double>(14, 'trendingLocal', $pb.PbFieldType.OF)
|
||||
..a<$core.double>(15, 'trendingGlobal', $pb.PbFieldType.OF)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
ClaimMeta._() : super();
|
||||
factory ClaimMeta() => create();
|
||||
factory ClaimMeta.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory ClaimMeta.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
ClaimMeta clone() => ClaimMeta()..mergeFromMessage(this);
|
||||
ClaimMeta copyWith(void Function(ClaimMeta) updates) => super.copyWith((message) => updates(message as ClaimMeta));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ClaimMeta create() => ClaimMeta._();
|
||||
ClaimMeta createEmptyInstance() => create();
|
||||
static $pb.PbList<ClaimMeta> createRepeated() => $pb.PbList<ClaimMeta>();
|
||||
static ClaimMeta getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static ClaimMeta _defaultInstance;
|
||||
|
||||
Output get channel => $_getN(0);
|
||||
set channel(Output v) { setField(1, v); }
|
||||
$core.bool hasChannel() => $_has(0);
|
||||
void clearChannel() => clearField(1);
|
||||
|
||||
$core.String get shortUrl => $_getS(1, '');
|
||||
set shortUrl($core.String v) { $_setString(1, v); }
|
||||
$core.bool hasShortUrl() => $_has(1);
|
||||
void clearShortUrl() => clearField(2);
|
||||
|
||||
$core.String get canonicalUrl => $_getS(2, '');
|
||||
set canonicalUrl($core.String v) { $_setString(2, v); }
|
||||
$core.bool hasCanonicalUrl() => $_has(2);
|
||||
void clearCanonicalUrl() => clearField(3);
|
||||
|
||||
$core.bool get isControlling => $_get(3, false);
|
||||
set isControlling($core.bool v) { $_setBool(3, v); }
|
||||
$core.bool hasIsControlling() => $_has(3);
|
||||
void clearIsControlling() => clearField(4);
|
||||
|
||||
$core.int get takeOverHeight => $_get(4, 0);
|
||||
set takeOverHeight($core.int v) { $_setUnsignedInt32(4, v); }
|
||||
$core.bool hasTakeOverHeight() => $_has(4);
|
||||
void clearTakeOverHeight() => clearField(5);
|
||||
|
||||
$core.int get creationHeight => $_get(5, 0);
|
||||
set creationHeight($core.int v) { $_setUnsignedInt32(5, v); }
|
||||
$core.bool hasCreationHeight() => $_has(5);
|
||||
void clearCreationHeight() => clearField(6);
|
||||
|
||||
$core.int get activationHeight => $_get(6, 0);
|
||||
set activationHeight($core.int v) { $_setUnsignedInt32(6, v); }
|
||||
$core.bool hasActivationHeight() => $_has(6);
|
||||
void clearActivationHeight() => clearField(7);
|
||||
|
||||
$core.int get expirationHeight => $_get(7, 0);
|
||||
set expirationHeight($core.int v) { $_setUnsignedInt32(7, v); }
|
||||
$core.bool hasExpirationHeight() => $_has(7);
|
||||
void clearExpirationHeight() => clearField(8);
|
||||
|
||||
$core.int get claimsInChannel => $_get(8, 0);
|
||||
set claimsInChannel($core.int v) { $_setUnsignedInt32(8, v); }
|
||||
$core.bool hasClaimsInChannel() => $_has(8);
|
||||
void clearClaimsInChannel() => clearField(9);
|
||||
|
||||
Int64 get effectiveAmount => $_getI64(9);
|
||||
set effectiveAmount(Int64 v) { $_setInt64(9, v); }
|
||||
$core.bool hasEffectiveAmount() => $_has(9);
|
||||
void clearEffectiveAmount() => clearField(10);
|
||||
|
||||
Int64 get supportAmount => $_getI64(10);
|
||||
set supportAmount(Int64 v) { $_setInt64(10, v); }
|
||||
$core.bool hasSupportAmount() => $_has(10);
|
||||
void clearSupportAmount() => clearField(11);
|
||||
|
||||
$core.int get trendingGroup => $_get(11, 0);
|
||||
set trendingGroup($core.int v) { $_setUnsignedInt32(11, v); }
|
||||
$core.bool hasTrendingGroup() => $_has(11);
|
||||
void clearTrendingGroup() => clearField(12);
|
||||
|
||||
$core.double get trendingMixed => $_getN(12);
|
||||
set trendingMixed($core.double v) { $_setFloat(12, v); }
|
||||
$core.bool hasTrendingMixed() => $_has(12);
|
||||
void clearTrendingMixed() => clearField(13);
|
||||
|
||||
$core.double get trendingLocal => $_getN(13);
|
||||
set trendingLocal($core.double v) { $_setFloat(13, v); }
|
||||
$core.bool hasTrendingLocal() => $_has(13);
|
||||
void clearTrendingLocal() => clearField(14);
|
||||
|
||||
$core.double get trendingGlobal => $_getN(14);
|
||||
set trendingGlobal($core.double v) { $_setFloat(14, v); }
|
||||
$core.bool hasTrendingGlobal() => $_has(14);
|
||||
void clearTrendingGlobal() => clearField(15);
|
||||
}
|
||||
|
||||
class Error extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Error', package: const $pb.PackageName('pb'))
|
||||
..e<Error_Code>(1, 'code', $pb.PbFieldType.OE, Error_Code.UNKNOWN_CODE, Error_Code.valueOf, Error_Code.values)
|
||||
..aOS(2, 'text')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
Error._() : super();
|
||||
factory Error() => create();
|
||||
factory Error.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory Error.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
Error clone() => Error()..mergeFromMessage(this);
|
||||
Error copyWith(void Function(Error) updates) => super.copyWith((message) => updates(message as Error));
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Error create() => Error._();
|
||||
Error createEmptyInstance() => create();
|
||||
static $pb.PbList<Error> createRepeated() => $pb.PbList<Error>();
|
||||
static Error getDefault() => _defaultInstance ??= create()..freeze();
|
||||
static Error _defaultInstance;
|
||||
|
||||
Error_Code get code => $_getN(0);
|
||||
set code(Error_Code v) { setField(1, v); }
|
||||
$core.bool hasCode() => $_has(0);
|
||||
void clearCode() => clearField(1);
|
||||
|
||||
$core.String get text => $_getS(1, '');
|
||||
set text($core.String v) { $_setString(1, v); }
|
||||
$core.bool hasText() => $_has(1);
|
||||
void clearText() => clearField(2);
|
||||
}
|
||||
|
27
dart/packages/lbry/lib/src/schema/v2/result.pbenum.dart
Normal file
|
@ -0,0 +1,27 @@
|
|||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: result.proto
|
||||
///
|
||||
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
|
||||
|
||||
// ignore_for_file: UNDEFINED_SHOWN_NAME,UNUSED_SHOWN_NAME
|
||||
import 'dart:core' as $core show int, dynamic, String, List, Map;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class Error_Code extends $pb.ProtobufEnum {
|
||||
static const Error_Code UNKNOWN_CODE = Error_Code._(0, 'UNKNOWN_CODE');
|
||||
static const Error_Code NOT_FOUND = Error_Code._(1, 'NOT_FOUND');
|
||||
static const Error_Code INVALID = Error_Code._(2, 'INVALID');
|
||||
|
||||
static const $core.List<Error_Code> values = <Error_Code> [
|
||||
UNKNOWN_CODE,
|
||||
NOT_FOUND,
|
||||
INVALID,
|
||||
];
|
||||
|
||||
static final $core.Map<$core.int, Error_Code> _byValue = $pb.ProtobufEnum.initByValue(values);
|
||||
static Error_Code valueOf($core.int value) => _byValue[value];
|
||||
|
||||
const Error_Code._($core.int v, $core.String n) : super(v, n);
|
||||
}
|
||||
|
69
dart/packages/lbry/lib/src/schema/v2/result.pbjson.dart
Normal file
|
@ -0,0 +1,69 @@
|
|||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: result.proto
|
||||
///
|
||||
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
|
||||
|
||||
const Outputs$json = const {
|
||||
'1': 'Outputs',
|
||||
'2': const [
|
||||
const {'1': 'txos', '3': 1, '4': 3, '5': 11, '6': '.pb.Output', '10': 'txos'},
|
||||
const {'1': 'extra_txos', '3': 2, '4': 3, '5': 11, '6': '.pb.Output', '10': 'extraTxos'},
|
||||
const {'1': 'total', '3': 3, '4': 1, '5': 13, '10': 'total'},
|
||||
const {'1': 'offset', '3': 4, '4': 1, '5': 13, '10': 'offset'},
|
||||
],
|
||||
};
|
||||
|
||||
const Output$json = const {
|
||||
'1': 'Output',
|
||||
'2': const [
|
||||
const {'1': 'tx_hash', '3': 1, '4': 1, '5': 12, '10': 'txHash'},
|
||||
const {'1': 'nout', '3': 2, '4': 1, '5': 13, '10': 'nout'},
|
||||
const {'1': 'height', '3': 3, '4': 1, '5': 13, '10': 'height'},
|
||||
const {'1': 'claim', '3': 7, '4': 1, '5': 11, '6': '.pb.ClaimMeta', '9': 0, '10': 'claim'},
|
||||
const {'1': 'error', '3': 15, '4': 1, '5': 11, '6': '.pb.Error', '9': 0, '10': 'error'},
|
||||
],
|
||||
'8': const [
|
||||
const {'1': 'meta'},
|
||||
],
|
||||
};
|
||||
|
||||
const ClaimMeta$json = const {
|
||||
'1': 'ClaimMeta',
|
||||
'2': const [
|
||||
const {'1': 'channel', '3': 1, '4': 1, '5': 11, '6': '.pb.Output', '10': 'channel'},
|
||||
const {'1': 'short_url', '3': 2, '4': 1, '5': 9, '10': 'shortUrl'},
|
||||
const {'1': 'canonical_url', '3': 3, '4': 1, '5': 9, '10': 'canonicalUrl'},
|
||||
const {'1': 'is_controlling', '3': 4, '4': 1, '5': 8, '10': 'isControlling'},
|
||||
const {'1': 'take_over_height', '3': 5, '4': 1, '5': 13, '10': 'takeOverHeight'},
|
||||
const {'1': 'creation_height', '3': 6, '4': 1, '5': 13, '10': 'creationHeight'},
|
||||
const {'1': 'activation_height', '3': 7, '4': 1, '5': 13, '10': 'activationHeight'},
|
||||
const {'1': 'expiration_height', '3': 8, '4': 1, '5': 13, '10': 'expirationHeight'},
|
||||
const {'1': 'claims_in_channel', '3': 9, '4': 1, '5': 13, '10': 'claimsInChannel'},
|
||||
const {'1': 'effective_amount', '3': 10, '4': 1, '5': 4, '10': 'effectiveAmount'},
|
||||
const {'1': 'support_amount', '3': 11, '4': 1, '5': 4, '10': 'supportAmount'},
|
||||
const {'1': 'trending_group', '3': 12, '4': 1, '5': 13, '10': 'trendingGroup'},
|
||||
const {'1': 'trending_mixed', '3': 13, '4': 1, '5': 2, '10': 'trendingMixed'},
|
||||
const {'1': 'trending_local', '3': 14, '4': 1, '5': 2, '10': 'trendingLocal'},
|
||||
const {'1': 'trending_global', '3': 15, '4': 1, '5': 2, '10': 'trendingGlobal'},
|
||||
],
|
||||
};
|
||||
|
||||
const Error$json = const {
|
||||
'1': 'Error',
|
||||
'2': const [
|
||||
const {'1': 'code', '3': 1, '4': 1, '5': 14, '6': '.pb.Error.Code', '10': 'code'},
|
||||
const {'1': 'text', '3': 2, '4': 1, '5': 9, '10': 'text'},
|
||||
],
|
||||
'4': const [Error_Code$json],
|
||||
};
|
||||
|
||||
const Error_Code$json = const {
|
||||
'1': 'Code',
|
||||
'2': const [
|
||||
const {'1': 'UNKNOWN_CODE', '2': 0},
|
||||
const {'1': 'NOT_FOUND', '2': 1},
|
||||
const {'1': 'INVALID', '2': 2},
|
||||
],
|
||||
};
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: result.proto
|
||||
///
|
||||
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
|
||||
|
||||
export 'result.pb.dart';
|
||||
|
376
dart/packages/lbry/pubspec.lock
Normal file
|
@ -0,0 +1,376 @@
|
|||
# Generated by pub
|
||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||
packages:
|
||||
analyzer:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: analyzer
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.36.4"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: args
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.5.2"
|
||||
async:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: async
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.2.0"
|
||||
boolean_selector:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: boolean_selector
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.5"
|
||||
charcode:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: charcode
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.2"
|
||||
collection:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: collection
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.14.11"
|
||||
convert:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: convert
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
crypto:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: crypto
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.6"
|
||||
csslib:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: csslib
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.16.0"
|
||||
dart_style:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: dart_style
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.8"
|
||||
fixnum:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fixnum
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.10.9"
|
||||
front_end:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: front_end
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.1.19"
|
||||
glob:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: glob
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.7"
|
||||
html:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: html
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.14.0+2"
|
||||
http:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: http
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.12.0+2"
|
||||
http_multi_server:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: http_multi_server
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
http_parser:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: http_parser
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.1.3"
|
||||
io:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: io
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.3.3"
|
||||
js:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: js
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.6.1+1"
|
||||
json_rpc_2:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: json_rpc_2
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
kernel:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: kernel
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.3.19"
|
||||
matcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: matcher
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.12.5"
|
||||
meta:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: meta
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.7"
|
||||
mime:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: mime
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.9.6+3"
|
||||
multi_server_socket:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: multi_server_socket
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.2"
|
||||
node_preamble:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: node_preamble
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.4.4"
|
||||
package_config:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_config
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.5"
|
||||
package_resolver:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_resolver
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.10"
|
||||
path:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: path
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.6.2"
|
||||
pedantic:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: pedantic
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.7.0"
|
||||
pool:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pool
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.4.0"
|
||||
protobuf:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: protobuf
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.13.12"
|
||||
protoc_plugin:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: protoc_plugin
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "17.0.2"
|
||||
pub_semver:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pub_semver
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.4.2"
|
||||
shelf:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shelf
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.7.5"
|
||||
shelf_packages_handler:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shelf_packages_handler
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.4"
|
||||
shelf_static:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shelf_static
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.8"
|
||||
shelf_web_socket:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shelf_web_socket
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.3"
|
||||
source_map_stack_trace:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_map_stack_trace
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.5"
|
||||
source_maps:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_maps
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.10.8"
|
||||
source_span:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_span
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.5.5"
|
||||
stack_trace:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: stack_trace
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.9.3"
|
||||
stream_channel:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: stream_channel
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
string_scanner:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: string_scanner
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.4"
|
||||
term_glyph:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: term_glyph
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.0"
|
||||
test:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: test
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.6.4"
|
||||
test_api:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_api
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.6"
|
||||
test_core:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_core
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.6"
|
||||
typed_data:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: typed_data
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.6"
|
||||
vm_service_client:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vm_service_client
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.6+2"
|
||||
watcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: watcher
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.9.7+10"
|
||||
web_socket_channel:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: web_socket_channel
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.13"
|
||||
yaml:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: yaml
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.16"
|
||||
sdks:
|
||||
dart: ">=2.3.0 <3.0.0"
|
18
dart/packages/lbry/pubspec.yaml
Normal file
|
@ -0,0 +1,18 @@
|
|||
name: lbry
|
||||
description: LBRY SDK in Dart.
|
||||
version: 0.0.1
|
||||
homepage: https://lbry.com
|
||||
author: LBRY Inc. <hello@lbry.com>
|
||||
|
||||
environment:
|
||||
sdk: '>=2.2.0 <3.0.0'
|
||||
|
||||
dependencies:
|
||||
http: ^0.12.0+2
|
||||
path: ^1.4.1
|
||||
protobuf: ^0.13.12
|
||||
|
||||
dev_dependencies:
|
||||
pedantic: ^1.0.0
|
||||
test: ^1.0.0
|
||||
protoc_plugin: ^17.0.2
|
8
dart/packages/lbry/test/lbry_test.dart
Normal file
|
@ -0,0 +1,8 @@
|
|||
import 'package:lbry/lbry.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
void main() {
|
||||
test('calculate', () {
|
||||
expect(calculate(), 42);
|
||||
});
|
||||
}
|
72
dart/packages/ver/.gitignore
vendored
Normal file
|
@ -0,0 +1,72 @@
|
|||
# Miscellaneous
|
||||
*.class
|
||||
*.log
|
||||
*.pyc
|
||||
*.swp
|
||||
.DS_Store
|
||||
.atom/
|
||||
.buildlog/
|
||||
.history
|
||||
.svn/
|
||||
|
||||
# IntelliJ related
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
.idea/
|
||||
|
||||
# The .vscode folder contains launch configuration and tasks you configure in
|
||||
# VS Code which you may wish to be included in version control, so this line
|
||||
# is commented out by default.
|
||||
#.vscode/
|
||||
|
||||
# Flutter/Dart/Pub related
|
||||
**/doc/api/
|
||||
.dart_tool/
|
||||
.flutter-plugins
|
||||
.packages
|
||||
.pub-cache/
|
||||
.pub/
|
||||
/build/
|
||||
|
||||
# Android related
|
||||
**/android/**/gradle-wrapper.jar
|
||||
**/android/.gradle
|
||||
**/android/captures/
|
||||
**/android/gradlew
|
||||
**/android/gradlew.bat
|
||||
**/android/local.properties
|
||||
**/android/**/GeneratedPluginRegistrant.java
|
||||
|
||||
# iOS/XCode related
|
||||
**/ios/**/*.mode1v3
|
||||
**/ios/**/*.mode2v3
|
||||
**/ios/**/*.moved-aside
|
||||
**/ios/**/*.pbxuser
|
||||
**/ios/**/*.perspectivev3
|
||||
**/ios/**/*sync/
|
||||
**/ios/**/.sconsign.dblite
|
||||
**/ios/**/.tags*
|
||||
**/ios/**/.vagrant/
|
||||
**/ios/**/DerivedData/
|
||||
**/ios/**/Icon?
|
||||
**/ios/**/Pods/
|
||||
**/ios/**/.symlinks/
|
||||
**/ios/**/profile
|
||||
**/ios/**/xcuserdata
|
||||
**/ios/.generated/
|
||||
**/ios/Flutter/App.framework
|
||||
**/ios/Flutter/Flutter.framework
|
||||
**/ios/Flutter/Generated.xcconfig
|
||||
**/ios/Flutter/app.flx
|
||||
**/ios/Flutter/app.zip
|
||||
**/ios/Flutter/flutter_assets/
|
||||
**/ios/ServiceDefinitions.json
|
||||
**/ios/Runner/GeneratedPluginRegistrant.*
|
||||
|
||||
# Exceptions to above rules.
|
||||
!**/ios/**/default.mode1v3
|
||||
!**/ios/**/default.mode2v3
|
||||
!**/ios/**/default.pbxuser
|
||||
!**/ios/**/default.perspectivev3
|
||||
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
|
10
dart/packages/ver/.metadata
Normal file
|
@ -0,0 +1,10 @@
|
|||
# This file tracks properties of this Flutter project.
|
||||
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
||||
#
|
||||
# This file should be version controlled and should not be manually edited.
|
||||
|
||||
version:
|
||||
revision: 871b58986d6d401efb8dd66af67814bf37c42cd1
|
||||
channel: master
|
||||
|
||||
project_type: app
|
16
dart/packages/ver/README.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
# ver
|
||||
|
||||
A new Flutter project.
|
||||
|
||||
## Getting Started
|
||||
|
||||
This project is a starting point for a Flutter application.
|
||||
|
||||
A few resources to get you started if this is your first Flutter project:
|
||||
|
||||
- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
|
||||
- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)
|
||||
|
||||
For help getting started with Flutter, view our
|
||||
[online documentation](https://flutter.dev/docs), which offers tutorials,
|
||||
samples, guidance on mobile development, and a full API reference.
|
61
dart/packages/ver/android/app/build.gradle
Normal file
|
@ -0,0 +1,61 @@
|
|||
def localProperties = new Properties()
|
||||
def localPropertiesFile = rootProject.file('local.properties')
|
||||
if (localPropertiesFile.exists()) {
|
||||
localPropertiesFile.withReader('UTF-8') { reader ->
|
||||
localProperties.load(reader)
|
||||
}
|
||||
}
|
||||
|
||||
def flutterRoot = localProperties.getProperty('flutter.sdk')
|
||||
if (flutterRoot == null) {
|
||||
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
|
||||
}
|
||||
|
||||
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
|
||||
if (flutterVersionCode == null) {
|
||||
flutterVersionCode = '1'
|
||||
}
|
||||
|
||||
def flutterVersionName = localProperties.getProperty('flutter.versionName')
|
||||
if (flutterVersionName == null) {
|
||||
flutterVersionName = '1.0'
|
||||
}
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion 28
|
||||
|
||||
lintOptions {
|
||||
disable 'InvalidPackage'
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
||||
applicationId "com.lbry.ver"
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 28
|
||||
versionCode flutterVersionCode.toInteger()
|
||||
versionName flutterVersionName
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
// TODO: Add your own signing config for the release build.
|
||||
// Signing with the debug keys for now, so `flutter run --release` works.
|
||||
signingConfig signingConfigs.debug
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
flutter {
|
||||
source '../..'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
testImplementation 'junit:junit:4.12'
|
||||
androidTestImplementation 'com.android.support.test:runner:1.0.2'
|
||||
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.lbry.ver">
|
||||
<!-- Flutter needs it to communicate with the running application
|
||||
to allow setting breakpoints, to provide hot reload, etc.
|
||||
-->
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
</manifest>
|
33
dart/packages/ver/android/app/src/main/AndroidManifest.xml
Normal file
|
@ -0,0 +1,33 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.lbry.ver">
|
||||
|
||||
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
|
||||
calls FlutterMain.startInitialization(this); in its onCreate method.
|
||||
In most cases you can leave this as-is, but you if you want to provide
|
||||
additional functionality it is fine to subclass or reimplement
|
||||
FlutterApplication and put your custom class here. -->
|
||||
<application
|
||||
android:name="io.flutter.app.FlutterApplication"
|
||||
android:label="ver"
|
||||
android:icon="@mipmap/ic_launcher">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:launchMode="singleTop"
|
||||
android:theme="@style/LaunchTheme"
|
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
||||
android:hardwareAccelerated="true"
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
<!-- This keeps the window background of the activity showing
|
||||
until Flutter renders its first frame. It can be removed if
|
||||
there is no splash screen (such as the default splash screen
|
||||
defined in @style/LaunchTheme). -->
|
||||
<meta-data
|
||||
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
|
||||
android:value="true" />
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
</manifest>
|
|
@ -0,0 +1,13 @@
|
|||
package com.lbry.ver;
|
||||
|
||||
import android.os.Bundle;
|
||||
import io.flutter.app.FlutterActivity;
|
||||
import io.flutter.plugins.GeneratedPluginRegistrant;
|
||||
|
||||
public class MainActivity extends FlutterActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
GeneratedPluginRegistrant.registerWith(this);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Modify this file to customize your launch splash screen -->
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@android:color/white" />
|
||||
|
||||
<!-- You can insert your own image assets here -->
|
||||
<!-- <item>
|
||||
<bitmap
|
||||
android:gravity="center"
|
||||
android:src="@mipmap/launch_image" />
|
||||
</item> -->
|
||||
</layer-list>
|
After Width: | Height: | Size: 544 B |
After Width: | Height: | Size: 442 B |
After Width: | Height: | Size: 721 B |
After Width: | Height: | Size: 1 KiB |
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||
<!-- Show a splash screen on the activity. Automatically removed when
|
||||
Flutter draws its first frame -->
|
||||
<item name="android:windowBackground">@drawable/launch_background</item>
|
||||
</style>
|
||||
</resources>
|
|
@ -0,0 +1,7 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.lbry.ver">
|
||||
<!-- Flutter needs it to communicate with the running application
|
||||
to allow setting breakpoints, to provide hot reload, etc.
|
||||
-->
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
</manifest>
|
29
dart/packages/ver/android/build.gradle
Normal file
|
@ -0,0 +1,29 @@
|
|||
buildscript {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.2.1'
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.buildDir = '../build'
|
||||
subprojects {
|
||||
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
||||
}
|
||||
subprojects {
|
||||
project.evaluationDependsOn(':app')
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
2
dart/packages/ver/android/gradle.properties
Normal file
|
@ -0,0 +1,2 @@
|
|||
org.gradle.jvmargs=-Xmx1536M
|
||||
|
6
dart/packages/ver/android/gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
#Fri Jun 23 08:50:38 CEST 2017
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
|
15
dart/packages/ver/android/settings.gradle
Normal file
|
@ -0,0 +1,15 @@
|
|||
include ':app'
|
||||
|
||||
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
|
||||
|
||||
def plugins = new Properties()
|
||||
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
|
||||
if (pluginsFile.exists()) {
|
||||
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
|
||||
}
|
||||
|
||||
plugins.each { name, path ->
|
||||
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
|
||||
include ":$name"
|
||||
project(":$name").projectDir = pluginDirectory
|
||||
}
|
202
dart/packages/ver/fonts/Roboto/LICENSE.txt
Executable file
|
@ -0,0 +1,202 @@
|
|||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
BIN
dart/packages/ver/fonts/Roboto/Roboto-Black.ttf
Executable file
BIN
dart/packages/ver/fonts/Roboto/Roboto-Bold.ttf
Executable file
BIN
dart/packages/ver/fonts/Roboto/Roboto-Light.ttf
Executable file
BIN
dart/packages/ver/fonts/Roboto/Roboto-Medium.ttf
Executable file
BIN
dart/packages/ver/fonts/Roboto/Roboto-Regular.ttf
Executable file
BIN
dart/packages/ver/fonts/Roboto/Roboto-Thin.ttf
Executable file
26
dart/packages/ver/ios/Flutter/AppFrameworkInfo.plist
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>App</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>io.flutter.flutter.app</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>App</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>MinimumOSVersion</key>
|
||||
<string>8.0</string>
|
||||
</dict>
|
||||
</plist>
|
1
dart/packages/ver/ios/Flutter/Debug.xcconfig
Normal file
|
@ -0,0 +1 @@
|
|||
#include "Generated.xcconfig"
|
1
dart/packages/ver/ios/Flutter/Release.xcconfig
Normal file
|
@ -0,0 +1 @@
|
|||
#include "Generated.xcconfig"
|
519
dart/packages/ver/ios/Runner.xcodeproj/project.pbxproj
Normal file
|
@ -0,0 +1,519 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
||||
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
|
||||
3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
|
||||
3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
|
||||
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
|
||||
9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; };
|
||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
||||
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
9705A1C41CF9048500538489 /* Embed Frameworks */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */,
|
||||
9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||
3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
|
||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = "<group>"; };
|
||||
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
97C146EB1CF9000F007C117D /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
|
||||
3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
9740EEB11CF90186004384FC /* Flutter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3B80C3931E831B6300D905FE /* App.framework */,
|
||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
|
||||
9740EEBA1CF902C7004384FC /* Flutter.framework */,
|
||||
9740EEB21CF90195004384FC /* Debug.xcconfig */,
|
||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
|
||||
9740EEB31CF90195004384FC /* Generated.xcconfig */,
|
||||
);
|
||||
name = Flutter;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
97C146E51CF9000F007C117D = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9740EEB11CF90186004384FC /* Flutter */,
|
||||
97C146F01CF9000F007C117D /* Runner */,
|
||||
97C146EF1CF9000F007C117D /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
97C146EF1CF9000F007C117D /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
97C146EE1CF9000F007C117D /* Runner.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
97C146F01CF9000F007C117D /* Runner */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
97C146FA1CF9000F007C117D /* Main.storyboard */,
|
||||
97C146FD1CF9000F007C117D /* Assets.xcassets */,
|
||||
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
|
||||
97C147021CF9000F007C117D /* Info.plist */,
|
||||
97C146F11CF9000F007C117D /* Supporting Files */,
|
||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
|
||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
|
||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
|
||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
|
||||
);
|
||||
path = Runner;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
97C146F11CF9000F007C117D /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
97C146ED1CF9000F007C117D /* Runner */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
||||
buildPhases = (
|
||||
9740EEB61CF901F6004384FC /* Run Script */,
|
||||
97C146EA1CF9000F007C117D /* Sources */,
|
||||
97C146EB1CF9000F007C117D /* Frameworks */,
|
||||
97C146EC1CF9000F007C117D /* Resources */,
|
||||
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Runner;
|
||||
productName = Runner;
|
||||
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
97C146E61CF9000F007C117D /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 1020;
|
||||
ORGANIZATIONNAME = "The Chromium Authors";
|
||||
TargetAttributes = {
|
||||
97C146ED1CF9000F007C117D = {
|
||||
CreatedOnToolsVersion = 7.3.1;
|
||||
LastSwiftMigration = 0910;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 97C146E51CF9000F007C117D;
|
||||
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
97C146ED1CF9000F007C117D /* Runner */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
97C146EC1CF9000F007C117D /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
|
||||
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
|
||||
9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */,
|
||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
|
||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Thin Binary";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
|
||||
};
|
||||
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Run Script";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
97C146EA1CF9000F007C117D /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
|
||||
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
97C146FA1CF9000F007C117D /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
97C146FB1CF9000F007C117D /* Base */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
97C147001CF9000F007C117D /* Base */,
|
||||
);
|
||||
name = LaunchScreen.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
249021D3217E4FDB00AE95B9 /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Profile;
|
||||
};
|
||||
249021D4217E4FDB00AE95B9 /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Flutter",
|
||||
);
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Flutter",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.lbry.ver;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_VERSION = 4.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Profile;
|
||||
};
|
||||
97C147031CF9000F007C117D /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
97C147041CF9000F007C117D /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
97C147061CF9000F007C117D /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Flutter",
|
||||
);
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Flutter",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.lbry.ver;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 4.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
97C147071CF9000F007C117D /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Flutter",
|
||||
);
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Flutter",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.lbry.ver;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_VERSION = 4.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
97C147031CF9000F007C117D /* Debug */,
|
||||
97C147041CF9000F007C117D /* Release */,
|
||||
249021D3217E4FDB00AE95B9 /* Profile */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
97C147061CF9000F007C117D /* Debug */,
|
||||
97C147071CF9000F007C117D /* Release */,
|
||||
249021D4217E4FDB00AE95B9 /* Profile */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
|
||||
};
|
||||
rootObject = 97C146E61CF9000F007C117D /* Project object */;
|
||||
}
|
7
dart/packages/ver/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:Runner.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
|
@ -0,0 +1,91 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1020"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
||||
BuildableName = "Runner.app"
|
||||
BlueprintName = "Runner"
|
||||
ReferencedContainer = "container:Runner.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
||||
BuildableName = "Runner.app"
|
||||
BlueprintName = "Runner"
|
||||
ReferencedContainer = "container:Runner.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
||||
BuildableName = "Runner.app"
|
||||
BlueprintName = "Runner"
|
||||
ReferencedContainer = "container:Runner.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Profile"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
||||
BuildableName = "Runner.app"
|
||||
BlueprintName = "Runner"
|
||||
ReferencedContainer = "container:Runner.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
7
dart/packages/ver/ios/Runner.xcworkspace/contents.xcworkspacedata
generated
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:Runner.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
13
dart/packages/ver/ios/Runner/AppDelegate.swift
Normal file
|
@ -0,0 +1,13 @@
|
|||
import UIKit
|
||||
import Flutter
|
||||
|
||||
@UIApplicationMain
|
||||
@objc class AppDelegate: FlutterAppDelegate {
|
||||
override func application(
|
||||
_ application: UIApplication,
|
||||
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
|
||||
) -> Bool {
|
||||
GeneratedPluginRegistrant.register(with: self)
|
||||
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,122 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-20x20@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-20x20@3x.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-29x29@1x.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-29x29@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-29x29@3x.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-40x40@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-40x40@3x.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-60x60@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-60x60@3x.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-20x20@1x.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-20x20@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-29x29@1x.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-29x29@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-40x40@1x.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-40x40@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-76x76@1x.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-76x76@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "83.5x83.5",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-83.5x83.5@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "1024x1024",
|
||||
"idiom" : "ios-marketing",
|
||||
"filename" : "Icon-App-1024x1024@1x.png",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 564 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.5 KiB |
23
dart/packages/ver/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "LaunchImage.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "LaunchImage@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "LaunchImage@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
dart/packages/ver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
vendored
Normal file
After Width: | Height: | Size: 68 B |
BIN
dart/packages/ver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
vendored
Normal file
After Width: | Height: | Size: 68 B |
BIN
dart/packages/ver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
vendored
Normal file
After Width: | Height: | Size: 68 B |
5
dart/packages/ver/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Launch Screen Assets
|
||||
|
||||
You can customize the launch screen with your own desired assets by replacing the image files in this directory.
|
||||
|
||||
You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="EHf-IW-A2E">
|
||||
<objects>
|
||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
|
||||
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="53" y="375"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="LaunchImage" width="168" height="185"/>
|
||||
</resources>
|
||||
</document>
|
26
dart/packages/ver/ios/Runner/Base.lproj/Main.storyboard
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--Flutter View Controller-->
|
||||
<scene sceneID="tne-QT-ifu">
|
||||
<objects>
|
||||
<viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
45
dart/packages/ver/ios/Runner/Info.plist
Normal file
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>ver</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>$(FLUTTER_BUILD_NAME)</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
1
dart/packages/ver/ios/Runner/Runner-Bridging-Header.h
Normal file
|
@ -0,0 +1 @@
|
|||
#import "GeneratedPluginRegistrant.h"
|
49
dart/packages/ver/lib/main.dart
Normal file
|
@ -0,0 +1,49 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/foundation.dart' show debugDefaultTargetPlatformOverride;
|
||||
import 'package:ver/utils.dart';
|
||||
import 'package:ver/time_series_chart.dart';
|
||||
|
||||
|
||||
class VerApp extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MaterialApp(
|
||||
title: 'Ver',
|
||||
theme: ThemeData(
|
||||
brightness: Brightness.light,
|
||||
primarySwatch: Colors.lightBlue,
|
||||
fontFamily: 'Roboto',
|
||||
),
|
||||
home: VerHomePage(title: 'Wallet Server'),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class VerHomePage extends StatefulWidget {
|
||||
VerHomePage({Key key, this.title}) : super(key: key);
|
||||
final String title;
|
||||
@override
|
||||
_VerHomePageState createState() => _VerHomePageState();
|
||||
}
|
||||
|
||||
class _VerHomePageState extends State<VerHomePage> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text(widget.title),
|
||||
),
|
||||
body: new Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: SimpleTimeSeriesChart()
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void main() {
|
||||
debugDefaultTargetPlatformOverride = getTargetPlatformForDesktop();
|
||||
runApp(new VerApp());
|
||||
}
|
149
dart/packages/ver/lib/time_series_chart.dart
Normal file
|
@ -0,0 +1,149 @@
|
|||
import 'dart:math';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:charts_flutter/flutter.dart' as charts;
|
||||
import 'package:charts_flutter/src/base_chart_state.dart' as state;
|
||||
import 'package:charts_common/common.dart' as common;
|
||||
import 'package:lbry/lbry.dart';
|
||||
|
||||
|
||||
class SimpleTimeSeriesChart extends StatefulWidget {
|
||||
SimpleTimeSeriesChart({Key key}) : super(key: key);
|
||||
@override
|
||||
_SimpleTimeSeriesChartState createState() => _SimpleTimeSeriesChartState();
|
||||
}
|
||||
|
||||
|
||||
class _SimpleTimeSeriesChartState extends State<SimpleTimeSeriesChart> {
|
||||
final List<LoadDataPoint> loadData = [];
|
||||
final List<charts.Series<LoadDataPoint, DateTime>> loadSeries = [];
|
||||
final List<charts.Series<LoadDataPoint, DateTime>> timeSeries = [];
|
||||
final Random rand = Random();
|
||||
LoadGenerator loadGenerator;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
loadSeries.add(
|
||||
charts.Series<LoadDataPoint, DateTime>(
|
||||
id: 'Load',
|
||||
colorFn: (_, __) => charts.MaterialPalette.black.darker,
|
||||
domainFn: (LoadDataPoint load, _) => load.time,
|
||||
measureFn: (LoadDataPoint load, _) => load.load,
|
||||
data: loadData,
|
||||
)
|
||||
);
|
||||
loadSeries.add(
|
||||
charts.Series<LoadDataPoint, DateTime>(
|
||||
id: 'Success',
|
||||
colorFn: (_, __) => charts.MaterialPalette.green.shadeDefault,
|
||||
domainFn: (LoadDataPoint load, _) => load.time,
|
||||
measureFn: (LoadDataPoint load, _) => load.success,
|
||||
data: loadData,
|
||||
)
|
||||
);
|
||||
loadSeries.add(
|
||||
charts.Series<LoadDataPoint, DateTime>(
|
||||
id: 'Backlog',
|
||||
colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
|
||||
domainFn: (LoadDataPoint load, _) => load.time,
|
||||
measureFn: (LoadDataPoint load, _) => load.backlog,
|
||||
data: loadData,
|
||||
)
|
||||
);
|
||||
loadSeries.add(
|
||||
charts.Series<LoadDataPoint, DateTime>(
|
||||
id: 'Catch-up',
|
||||
colorFn: (_, __) => charts.MaterialPalette.yellow.shadeDefault,
|
||||
domainFn: (LoadDataPoint load, _) => load.time,
|
||||
measureFn: (LoadDataPoint load, _) => load.catchup,
|
||||
data: loadData,
|
||||
)
|
||||
);
|
||||
timeSeries.add(
|
||||
charts.Series<LoadDataPoint, DateTime>(
|
||||
id: 'Avg. Success Time',
|
||||
colorFn: (_, __) => charts.MaterialPalette.green.shadeDefault,
|
||||
domainFn: (LoadDataPoint load, _) => load.time,
|
||||
measureFn: (LoadDataPoint load, _) => load.avg_success,
|
||||
data: loadData,
|
||||
)
|
||||
);
|
||||
timeSeries.add(
|
||||
charts.Series<LoadDataPoint, DateTime>(
|
||||
id: 'Avg. Catch-up Time',
|
||||
colorFn: (_, __) => charts.MaterialPalette.yellow.shadeDefault,
|
||||
domainFn: (LoadDataPoint load, _) => load.time,
|
||||
measureFn: (LoadDataPoint load, _) => load.avg_catchup,
|
||||
data: loadData,
|
||||
)
|
||||
);
|
||||
var increase = 1;
|
||||
loadData.add(LoadDataPoint());
|
||||
loadGenerator = LoadGenerator('spv2.lbry.com', 50001, {
|
||||
'id': 1,
|
||||
'method': 'blockchain.claimtrie.search',
|
||||
'params': {
|
||||
'offset': 0,
|
||||
'limit': 20,
|
||||
'fee_amount': '<1',
|
||||
'all_tags': ['funny'],
|
||||
'any_tags': [
|
||||
'crypto',
|
||||
'outdoors',
|
||||
'cars',
|
||||
'automotive'
|
||||
]
|
||||
}
|
||||
}, (t, stats) {
|
||||
setState(() {
|
||||
//if (loadData.length > 60) loadData.removeAt(0);
|
||||
loadData.add(stats);
|
||||
});
|
||||
//increase = max(1, min(30, (increase*1.1).ceil())-stats.backlog);
|
||||
increase += 1;
|
||||
//t.query['params']['offset'] = (increase/2).ceil()*t.query['params']['limit'];
|
||||
t.load = increase;//rand.nextInt(10)+5;
|
||||
return true;
|
||||
})..start();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
loadGenerator.stop();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(children: <Widget>[
|
||||
SizedBox(height: 250.0, child: BetterTimeSeriesChart(loadSeries)),
|
||||
SizedBox(height: 250.0, child: BetterTimeSeriesChart(timeSeries)),
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
class BetterTimeSeriesChart extends charts.TimeSeriesChart {
|
||||
|
||||
final int itemCount;
|
||||
final Object lastItem;
|
||||
|
||||
BetterTimeSeriesChart(
|
||||
List<charts.Series<dynamic, DateTime>> seriesList):
|
||||
itemCount = seriesList[0].data.length,
|
||||
lastItem = seriesList[0].data.last,
|
||||
super(seriesList, behaviors: [charts.SeriesLegend()]);
|
||||
|
||||
@override
|
||||
void updateCommonChart(common.BaseChart baseChart, charts.BaseChart oldWidget,
|
||||
state.BaseChartState chartState) {
|
||||
super.updateCommonChart(baseChart, oldWidget, chartState);
|
||||
final prev = oldWidget as BetterTimeSeriesChart;
|
||||
if (itemCount != prev?.itemCount || lastItem != prev?.lastItem) {
|
||||
chartState.markChartDirty();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
13
dart/packages/ver/lib/utils.dart
Normal file
|
@ -0,0 +1,13 @@
|
|||
import 'dart:io';
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
||||
TargetPlatform getTargetPlatformForDesktop() {
|
||||
// See https://github.com/flutter/flutter/wiki/Desktop-shells#target-platform-override
|
||||
if (Platform.isMacOS || Platform.isIOS) {
|
||||
return TargetPlatform.iOS;
|
||||
} else if (Platform.isAndroid) {
|
||||
return TargetPlatform.android;
|
||||
}
|
||||
return TargetPlatform.fuchsia;
|
||||
}
|
||||
|
1
dart/packages/ver/linux/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
flutter/
|
127
dart/packages/ver/linux/Makefile
Normal file
|
@ -0,0 +1,127 @@
|
|||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Example-specific variables.
|
||||
# To modify this Makefile for a different application, these are the values
|
||||
# that are mostly likely to need to be changed.
|
||||
|
||||
# Executable name.
|
||||
BINARY_NAME=flutter_desktop_example
|
||||
# The C++ code for the embedder application.
|
||||
SOURCES=flutter_embedder_example.cc
|
||||
|
||||
# Default build type. For a release build, set BUILD=release.
|
||||
# Currently this only sets NDEBUG, which is used to control the flags passed
|
||||
# to the Flutter engine in the example shell, and not the complation settings
|
||||
# (e.g., optimization level) of the C++ code.
|
||||
BUILD=debug
|
||||
|
||||
# Configuration provided via flutter tool.
|
||||
include flutter/generated_config
|
||||
|
||||
# Dependency locations
|
||||
FLUTTER_APP_CACHE_DIR=flutter/
|
||||
FLUTTER_APP_DIR=$(CURDIR)/..
|
||||
FLUTTER_APP_BUILD_DIR=$(FLUTTER_APP_DIR)/build
|
||||
|
||||
OUT_DIR=$(FLUTTER_APP_BUILD_DIR)/linux
|
||||
|
||||
# Libraries
|
||||
FLUTTER_LIB_NAME=flutter_linux
|
||||
FLUTTER_LIB=$(FLUTTER_APP_CACHE_DIR)/lib$(FLUTTER_LIB_NAME).so
|
||||
|
||||
# Tools
|
||||
FLUTTER_BIN=$(FLUTTER_ROOT)/bin/flutter
|
||||
LINUX_BUILD=$(FLUTTER_ROOT)/packages/flutter_tools/bin/linux_backend.sh
|
||||
|
||||
# Resources
|
||||
ICU_DATA_NAME=icudtl.dat
|
||||
ICU_DATA_SOURCE=$(FLUTTER_APP_CACHE_DIR)/$(ICU_DATA_NAME)
|
||||
FLUTTER_ASSETS_NAME=flutter_assets
|
||||
FLUTTER_ASSETS_SOURCE=$(FLUTTER_APP_BUILD_DIR)/$(FLUTTER_ASSETS_NAME)
|
||||
|
||||
# Bundle structure
|
||||
BUNDLE_OUT_DIR=$(OUT_DIR)/$(BUILD)
|
||||
BUNDLE_DATA_DIR=$(BUNDLE_OUT_DIR)/data
|
||||
BUNDLE_LIB_DIR=$(BUNDLE_OUT_DIR)/lib
|
||||
|
||||
BIN_OUT=$(BUNDLE_OUT_DIR)/$(BINARY_NAME)
|
||||
ICU_DATA_OUT=$(BUNDLE_DATA_DIR)/$(ICU_DATA_NAME)
|
||||
FLUTTER_LIB_OUT=$(BUNDLE_LIB_DIR)/$(notdir $(FLUTTER_LIB))
|
||||
|
||||
# Add relevant code from the wrapper library, which is intended to be statically
|
||||
# built into the client.
|
||||
WRAPPER_ROOT=$(FLUTTER_APP_CACHE_DIR)/cpp_client_wrapper
|
||||
WRAPPER_SOURCES= \
|
||||
$(WRAPPER_ROOT)/flutter_window_controller.cc \
|
||||
$(WRAPPER_ROOT)/plugin_registrar.cc \
|
||||
$(WRAPPER_ROOT)/engine_method_result.cc
|
||||
SOURCES+=$(WRAPPER_SOURCES)
|
||||
|
||||
# Headers
|
||||
WRAPPER_INCLUDE_DIR=$(WRAPPER_ROOT)/include
|
||||
INCLUDE_DIRS=$(FLUTTER_APP_CACHE_DIR) $(WRAPPER_INCLUDE_DIR)
|
||||
|
||||
# Build settings
|
||||
CXX=clang++
|
||||
CXXFLAGS.release=-DNDEBUG
|
||||
CXXFLAGS=-std=c++14 -Wall -Werror $(CXXFLAGS.$(BUILD))
|
||||
CPPFLAGS=$(patsubst %,-I%,$(INCLUDE_DIRS))
|
||||
LDFLAGS=-L$(BUNDLE_LIB_DIR) \
|
||||
-l$(FLUTTER_LIB_NAME) \
|
||||
-Wl,-rpath=\$$ORIGIN/lib
|
||||
|
||||
# Targets
|
||||
|
||||
.PHONY: all
|
||||
all: $(BIN_OUT) bundle
|
||||
|
||||
# This is a phony target because the flutter tool cannot describe
|
||||
# its inputs and outputs yet.
|
||||
.PHONY: sync
|
||||
sync: flutter/generated_config
|
||||
$(FLUTTER_ROOT)/packages/flutter_tools/bin/tool_backend.sh linux-x64 $(BUILD)
|
||||
|
||||
.PHONY: bundle
|
||||
bundle: $(ICU_DATA_OUT) $(FLUTTER_LIB_OUT) bundleflutterassets
|
||||
|
||||
$(BIN_OUT): $(SOURCES) $(FLUTTER_LIB_OUT)
|
||||
mkdir -p $(@D)
|
||||
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(SOURCES) $(LDFLAGS) -o $@
|
||||
|
||||
$(WRAPPER_SOURCES) $(FLUTTER_LIB) $(ICU_DATA_SOURCE) $(FLUTTER_ASSETS_SOURCE): \
|
||||
| sync
|
||||
|
||||
$(FLUTTER_LIB_OUT): $(FLUTTER_LIB)
|
||||
mkdir -p $(BUNDLE_LIB_DIR)
|
||||
cp $(FLUTTER_LIB) $(BUNDLE_LIB_DIR)
|
||||
|
||||
$(ICU_DATA_OUT): $(ICU_DATA_SOURCE)
|
||||
mkdir -p $(dir $(ICU_DATA_OUT))
|
||||
cp $(ICU_DATA_SOURCE) $(ICU_DATA_OUT)
|
||||
|
||||
# Fully re-copy the assets directory on each build to avoid having to keep a
|
||||
# comprehensive list of all asset files here, which would be fragile to changes
|
||||
# in the Flutter example (e.g., adding a new font to pubspec.yaml would require
|
||||
# changes here).
|
||||
.PHONY: bundleflutterassets
|
||||
bundleflutterassets: $(FLUTTER_ASSETS_SOURCE)
|
||||
mkdir -p $(BUNDLE_DATA_DIR)
|
||||
rsync -rpu --delete $(FLUTTER_ASSETS_SOURCE) $(BUNDLE_DATA_DIR)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf $(OUT_DIR); \
|
||||
cd $(FLUTTER_APP_DIR); \
|
||||
$(FLUTTER_BIN) clean
|
71
dart/packages/ver/linux/flutter_embedder_example.cc
Normal file
|
@ -0,0 +1,71 @@
|
|||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
#include <linux/limits.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include <flutter/flutter_window_controller.h>
|
||||
|
||||
namespace {
|
||||
|
||||
// Returns the path of the directory containing this executable, or an empty
|
||||
// string if the directory cannot be found.
|
||||
std::string GetExecutableDirectory() {
|
||||
char buffer[PATH_MAX + 1];
|
||||
ssize_t length = readlink("/proc/self/exe", buffer, sizeof(buffer));
|
||||
if (length > PATH_MAX) {
|
||||
std::cerr << "Couldn't locate executable" << std::endl;
|
||||
return "";
|
||||
}
|
||||
std::string executable_path(buffer, length);
|
||||
size_t last_separator_position = executable_path.find_last_of('/');
|
||||
if (last_separator_position == std::string::npos) {
|
||||
std::cerr << "Unabled to find parent directory of " << executable_path
|
||||
<< std::endl;
|
||||
return "";
|
||||
}
|
||||
return executable_path.substr(0, last_separator_position);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
// Resources are located relative to the executable.
|
||||
std::string base_directory = GetExecutableDirectory();
|
||||
if (base_directory.empty()) {
|
||||
base_directory = ".";
|
||||
}
|
||||
std::string data_directory = base_directory + "/data";
|
||||
std::string assets_path = data_directory + "/flutter_assets";
|
||||
std::string icu_data_path = data_directory + "/icudtl.dat";
|
||||
|
||||
// Arguments for the Flutter Engine.
|
||||
std::vector<std::string> arguments;
|
||||
|
||||
flutter::FlutterWindowController flutter_controller(icu_data_path);
|
||||
|
||||
// Start the engine.
|
||||
if (!flutter_controller.CreateWindow(800, 600, "ver - lbry workbench",
|
||||
assets_path, arguments)) {
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
// Run until the window is closed.
|
||||
flutter_controller.RunEventLoop();
|
||||
return EXIT_SUCCESS;
|
||||
}
|
209
dart/packages/ver/pubspec.lock
Normal file
|
@ -0,0 +1,209 @@
|
|||
# Generated by pub
|
||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||
packages:
|
||||
async:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: async
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.2.0"
|
||||
boolean_selector:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: boolean_selector
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.5"
|
||||
charcode:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: charcode
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.2"
|
||||
charts_common:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: charts_common
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.6.0"
|
||||
charts_flutter:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: charts_flutter
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.6.0"
|
||||
collection:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: collection
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.14.11"
|
||||
cupertino_icons:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: cupertino_icons
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.1.2"
|
||||
fixnum:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fixnum
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.10.9"
|
||||
flutter:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
http:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: http
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.12.0+2"
|
||||
http_parser:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: http_parser
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.1.3"
|
||||
intl:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: intl
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.15.8"
|
||||
lbry:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "../lbry"
|
||||
relative: true
|
||||
source: path
|
||||
version: "0.0.1"
|
||||
logging:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: logging
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.11.3+2"
|
||||
matcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: matcher
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.12.5"
|
||||
meta:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: meta
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.6"
|
||||
path:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.6.2"
|
||||
pedantic:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pedantic
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.8.0+1"
|
||||
protobuf:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: protobuf
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.13.15"
|
||||
quiver:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: quiver
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.3"
|
||||
sky_engine:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.99"
|
||||
source_span:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_span
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.5.5"
|
||||
stack_trace:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: stack_trace
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.9.3"
|
||||
stream_channel:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: stream_channel
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
string_scanner:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: string_scanner
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.4"
|
||||
term_glyph:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: term_glyph
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.0"
|
||||
test_api:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_api
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.5"
|
||||
typed_data:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: typed_data
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.6"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vector_math
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.8"
|
||||
sdks:
|
||||
dart: ">=2.2.2 <3.0.0"
|
53
dart/packages/ver/pubspec.yaml
Normal file
|
@ -0,0 +1,53 @@
|
|||
name: ver
|
||||
description: An app for LBRY.
|
||||
version: 0.0.1+1
|
||||
homepage: https://lbry.com
|
||||
author: LBRY Inc. <hello@lbry.com>
|
||||
|
||||
environment:
|
||||
sdk: ">=2.1.0 <3.0.0"
|
||||
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
cupertino_icons: ^0.1.2
|
||||
charts_flutter: ^0.6.0
|
||||
lbry:
|
||||
path: ../lbry
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
# See https://github.com/flutter/flutter/wiki/Desktop-shells#fonts
|
||||
fonts:
|
||||
- family: Roboto
|
||||
fonts:
|
||||
- asset: fonts/Roboto/Roboto-Thin.ttf
|
||||
weight: 100
|
||||
- asset: fonts/Roboto/Roboto-Light.ttf
|
||||
weight: 300
|
||||
- asset: fonts/Roboto/Roboto-Regular.ttf
|
||||
weight: 400
|
||||
- asset: fonts/Roboto/Roboto-Medium.ttf
|
||||
weight: 500
|
||||
- asset: fonts/Roboto/Roboto-Bold.ttf
|
||||
weight: 700
|
||||
- asset: fonts/Roboto/Roboto-Black.ttf
|
||||
weight: 900
|
||||
- family: ""
|
||||
fonts:
|
||||
- asset: fonts/Roboto/Roboto-Thin.ttf
|
||||
weight: 100
|
||||
- asset: fonts/Roboto/Roboto-Light.ttf
|
||||
weight: 300
|
||||
- asset: fonts/Roboto/Roboto-Regular.ttf
|
||||
weight: 400
|
||||
- asset: fonts/Roboto/Roboto-Medium.ttf
|
||||
weight: 500
|
||||
- asset: fonts/Roboto/Roboto-Bold.ttf
|
||||
weight: 700
|
||||
- asset: fonts/Roboto/Roboto-Black.ttf
|
||||
weight: 900
|
30
dart/packages/ver/test/widget_test.dart
Normal file
|
@ -0,0 +1,30 @@
|
|||
// This is a basic Flutter widget test.
|
||||
//
|
||||
// To perform an interaction with a widget in your test, use the WidgetTester
|
||||
// utility that Flutter provides. For example, you can send tap and scroll
|
||||
// gestures. You can also use WidgetTester to find child widgets in the widget
|
||||
// tree, read text, and verify that the values of widget properties are correct.
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
import 'package:ver/main.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
|
||||
// Build our app and trigger a frame.
|
||||
await tester.pumpWidget(MyApp());
|
||||
|
||||
// Verify that our counter starts at 0.
|
||||
expect(find.text('0'), findsOneWidget);
|
||||
expect(find.text('1'), findsNothing);
|
||||
|
||||
// Tap the '+' icon and trigger a frame.
|
||||
await tester.tap(find.byIcon(Icons.add));
|
||||
await tester.pump();
|
||||
|
||||
// Verify that our counter has incremented.
|
||||
expect(find.text('0'), findsNothing);
|
||||
expect(find.text('1'), findsOneWidget);
|
||||
});
|
||||
}
|
332
dart/packages/ver/windows/.gitignore
vendored
Normal file
|
@ -0,0 +1,332 @@
|
|||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
##
|
||||
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||
|
||||
# Local additions, not from the link above
|
||||
flutter/
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Ll]og/
|
||||
|
||||
# Visual Studio 2015/2017 cache/options directory
|
||||
.vs/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# Visual Studio 2017 auto generated files
|
||||
Generated\ Files/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUNIT
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# Benchmark Results
|
||||
BenchmarkDotNet.Artifacts/
|
||||
|
||||
# .NET Core
|
||||
project.lock.json
|
||||
project.fragment.lock.json
|
||||
artifacts/
|
||||
|
||||
# StyleCop
|
||||
StyleCopReport.xml
|
||||
|
||||
# Files built by Visual Studio
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_i.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.iobj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.ipdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
*.VC.db
|
||||
*.VC.VC.opendb
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# Visual Studio Trace Files
|
||||
*.e2e
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# JustCode is a .NET coding add-in
|
||||
.JustCode
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# AxoCover is a Code Coverage Tool
|
||||
.axoCover/*
|
||||
!.axoCover/settings.json
|
||||
|
||||
# Visual Studio code coverage results
|
||||
*.coverage
|
||||
*.coveragexml
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||
# in these scripts will be unencrypted
|
||||
PublishScripts/
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/[Pp]ackages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/[Pp]ackages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/[Pp]ackages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignorable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Windows Store app package directories and files
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
Package.StoreAssociation.xml
|
||||
_pkginfo.txt
|
||||
*.appx
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.jfm
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
orleans.codegen.cs
|
||||
|
||||
# Including strong name files can present a security risk
|
||||
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||
#*.snk
|
||||
|
||||
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||
#bower_components/
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
ServiceFabricBackup/
|
||||
*.rptproj.bak
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
*.ndf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
*.rptproj.rsuser
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
node_modules/
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||
*.vbw
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
paket-files/
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
# JetBrains Rider
|
||||
.idea/
|
||||
*.sln.iml
|
||||
|
||||
# CodeRush
|
||||
.cr/
|
||||
|
||||
# Python Tools for Visual Studio (PTVS)
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
# Cake - Uncomment if you are using it
|
||||
# tools/**
|
||||
# !tools/packages.config
|
||||
|
||||
# Tabs Studio
|
||||
*.tss
|
||||
|
||||
# Telerik's JustMock configuration file
|
||||
*.jmconfig
|
||||
|
||||
# BizTalk build output
|
||||
*.btp.cs
|
||||
*.btm.cs
|
||||
*.odx.cs
|
||||
*.xsd.cs
|
||||
|
||||
# OpenCover UI analysis results
|
||||
OpenCover/
|
||||
|
||||
# Azure Stream Analytics local run output
|
||||
ASALocalRun/
|
||||
|
||||
# MSBuild Binary and Structured Log
|
||||
*.binlog
|
||||
|
||||
# NVidia Nsight GPU debugger configuration file
|
||||
*.nvuser
|
||||
|
||||
# MFractors (Xamarin productivity tool) working folder
|
||||
.mfractor/
|
25
dart/packages/ver/windows/Runner.sln
Normal file
|
@ -0,0 +1,25 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.28307.645
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Runner", "Runner.vcxproj", "{5A827760-CF8B-408A-99A3-B6C0AD2271E7}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{5A827760-CF8B-408A-99A3-B6C0AD2271E7}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{5A827760-CF8B-408A-99A3-B6C0AD2271E7}.Debug|x64.Build.0 = Debug|x64
|
||||
{5A827760-CF8B-408A-99A3-B6C0AD2271E7}.Release|x64.ActiveCfg = Release|x64
|
||||
{5A827760-CF8B-408A-99A3-B6C0AD2271E7}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {B8A69CB0-A974-4774-9EBD-1E5EECACD186}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
161
dart/packages/ver/windows/Runner.vcxproj
Normal file
|
@ -0,0 +1,161 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{5A827760-CF8B-408A-99A3-B6C0AD2271E7}</ProjectGuid>
|
||||
<RootNamespace>GLFWExample</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset Condition="'$(VisualStudioVersion)' == '15.0'">v141</PlatformToolset>
|
||||
<PlatformToolset Condition="'$(VisualStudioVersion)' == '16.0'">v142</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset Condition="'$(VisualStudioVersion)' == '15.0'">v141</PlatformToolset>
|
||||
<PlatformToolset Condition="'$(VisualStudioVersion)' == '16.0'">v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="flutter\Generated.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="flutter\Generated.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(ProjectDir)..\build\windows\$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(ProjectDir)..\build\windows\intermediates\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<IncludePath>$(ProjectDir)flutter\;$(ProjectDir)flutter\cpp_client_wrapper\include\;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(ProjectDir)flutter;$(LibraryPath)</LibraryPath>
|
||||
<TargetName>Flutter Desktop Example</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(ProjectDir)..\build\windows\$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(ProjectDir)..\build\windows\intermediates\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<IncludePath>$(ProjectDir)flutter\;$(ProjectDir)flutter\cpp_client_wrapper\include\;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(ProjectDir)flutter;$(LibraryPath)</LibraryPath>
|
||||
<TargetName>Flutter Desktop Example</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>flutter_windows.dll.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PreBuildEvent>
|
||||
<Command>"$(ProjectDir)scripts\prepare_dependencies" debug</Command>
|
||||
<Message>Sync and build dependencies</Message>
|
||||
</PreBuildEvent>
|
||||
<PreLinkEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
<Message>
|
||||
</Message>
|
||||
</PreLinkEvent>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
<Message>
|
||||
</Message>
|
||||
</PostBuildEvent>
|
||||
<CustomBuildStep>
|
||||
<Command>"$(ProjectDir)scripts\bundle_assets_and_deps" "$(ProjectDir)flutter\" "$(OutputPath)" "$(TargetFileName)"</Command>
|
||||
</CustomBuildStep>
|
||||
<CustomBuildStep>
|
||||
<Message>Bundling dependencies</Message>
|
||||
<Outputs>Dummy_Run_Always</Outputs>
|
||||
<Inputs>
|
||||
</Inputs>
|
||||
</CustomBuildStep>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>flutter_windows.dll.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PreBuildEvent>
|
||||
<Command>"$(ProjectDir)scripts\prepare_dependencies" release</Command>
|
||||
<Message>Sync and build dependencies</Message>
|
||||
</PreBuildEvent>
|
||||
<PreLinkEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
<Message>
|
||||
</Message>
|
||||
</PreLinkEvent>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
<Message>
|
||||
</Message>
|
||||
</PostBuildEvent>
|
||||
<CustomBuildStep>
|
||||
<Command>"$(ProjectDir)scripts\bundle_assets_and_deps" "$(ProjectDir)flutter\" "$(OutputPath)" "$(TargetFileName)"</Command>
|
||||
</CustomBuildStep>
|
||||
<CustomBuildStep>
|
||||
<Message>Bundling dependencies</Message>
|
||||
<Outputs>Dummy_Run_Always</Outputs>
|
||||
<Inputs>
|
||||
</Inputs>
|
||||
</CustomBuildStep>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(ProjectDir)flutter\cpp_client_wrapper\engine_method_result.cc" />
|
||||
<ClCompile Include="$(ProjectDir)flutter\cpp_client_wrapper\flutter_window_controller.cc" />
|
||||
<ClCompile Include="$(ProjectDir)flutter\cpp_client_wrapper\plugin_registrar.cc" />
|
||||
<ClCompile Include="flutter_embedder_example.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
</Project>
|