Initial commit

Signed-off-by: Artem Tataurov <a.tataurov@yadro.com>
This commit is contained in:
Artem Tataurov 2023-05-15 14:22:33 +03:00
commit b9b81e3e7e
46 changed files with 912 additions and 0 deletions

15
.gitignore vendored Normal file
View file

@ -0,0 +1,15 @@
# IDE
.idea
.vscode
# tempfiles
.DS_Store
*~
.cache
temp
tmp
# binary
bin/
release/

64
Dockerfile Normal file
View file

@ -0,0 +1,64 @@
ARG FROSTFS_HUB_IMAGE=truecloudlab/frostfs
ARG NEOGO_HUB_IMAGE=nspccdev/neo-go
ARG FROSTFS_CORE_TAG=0beb7ccf
ARG FROSTFS_GATES_TAG=0.27.0-rc.2
ARG NEOGO_TAG=0.101.1
FROM ${NEOGO_HUB_IMAGE}:${NEOGO_TAG} as neo-go
FROM ${FROSTFS_HUB_IMAGE}-adm:${FROSTFS_CORE_TAG} as frostfs-adm
FROM ${FROSTFS_HUB_IMAGE}-cli:${FROSTFS_CORE_TAG} as frostfs-cli
FROM ${FROSTFS_HUB_IMAGE}-ir:${FROSTFS_CORE_TAG} as frostfs-ir
FROM ${FROSTFS_HUB_IMAGE}-storage:${FROSTFS_CORE_TAG} as frostfs-storage
FROM ${FROSTFS_HUB_IMAGE}-adm:${FROSTFS_CORE_TAG} as frostfs-adm
FROM ${FROSTFS_HUB_IMAGE}-s3-gw:${FROSTFS_GATES_TAG} as frostfs-s3-gw
FROM ${FROSTFS_HUB_IMAGE}-http-gw:${FROSTFS_GATES_TAG} as frostfs-http-gw
# Executable image
FROM alpine AS frostfs-aio
RUN apk add --no-cache \
bash \
ca-certificates \
jq \
expect \
iputils \
curl
WORKDIR /
COPY --from=neo-go /usr/bin/privnet-entrypoint.sh /usr/bin/privnet-entrypoint.sh
COPY --from=neo-go /etc/ssl/certs /etc/ssl/certs
COPY --from=neo-go /usr/bin/neo-go /usr/bin/neo-go
COPY --from=frostfs-adm /bin/frostfs-adm /usr/bin/frostfs-adm
COPY --from=frostfs-cli /bin/frostfs-cli /usr/bin/frostfs-cli
COPY --from=frostfs-ir /bin/frostfs-ir /usr/bin/frostfs-ir
COPY --from=frostfs-storage /bin/frostfs-node /usr/bin/frostfs-node
COPY --from=frostfs-adm /bin/frostfs-adm /usr/bin/frostfs-adm
COPY --from=frostfs-s3-gw /bin/frostfs-s3-gw /usr/bin/frostfs-s3-gw
COPY --from=frostfs-s3-gw /bin/frostfs-s3-authmate /usr/bin/frostfs-s3-authmate
COPY --from=frostfs-http-gw /bin/frostfs-http-gw /usr/bin/frostfs-http-gw
COPY ./adm/frostfs-adm.yml /config/frostfs-adm.yml
COPY ./ir/cli-cfg.yaml /config/cli-cfg-ir.yaml
COPY ./ir/config.yaml /config/config-ir.yaml
COPY ./morph/protocol.privnet.yml /config/protocol.privnet.yml
COPY ./morph/node-wallet.json /config/alphabet/az.json
COPY ./morph/node-wallet.json /config/node-wallet.json
COPY ./morph/node-config.yaml /config/node-config.yaml
COPY ./http-gw/http-gw-config.yaml /config/http-gw-config.yaml
COPY ./http-gw/http-gw-wallet.json /config/http-gw-wallet.json
COPY ./s3-gw/rules.json /config/bearer-rules.json
COPY ./s3-gw/s3-gw-config.yaml /config/s3-gw-config.yaml
COPY ./s3-gw/s3-gw-wallet.json /config/s3-gw-wallet.json
COPY ./s3-gw/user-wallet.json /config/user-wallet.json
COPY ./sn/cli-cfg.yaml /config/cli-cfg-sn.yaml
COPY ./sn/wallet.json /config/wallet-sn.json
COPY ./sn/config.yaml /config/config-sn.yaml
COPY ./vendor/locode_db /config/locode.db
COPY ./vendor/contracts/ /config/contracts
COPY ./bin/ /config/bin
ENV AUTHMATE_WALLET_PASSPHRASE=""
ENTRYPOINT ["/config/bin/init-aio.sh"]

64
Makefile Normal file
View file

@ -0,0 +1,64 @@
#!/usr/bin/make -f
include .env
include help.mk
# Common variables
REPO=$(notdir $(shell pwd))
VERSION ?= "$(shell git describe --tags --match "v*" 2>/dev/null || git rev-parse --short HEAD | sed 's/^v//')"
# Variables for docker
NEOGO_HUB_IMAGE ?= "nspccdev/neo-go"
NEOGO_HUB_TAG ?= "0.101.1"
FROSTFS_HUB_IMAGE ?= "truecloudlab/frostfs"
FROSTFS_CORE_TAG ?= "0beb7ccf"
FROSTFS_GATES_TAG ?= "0.27.0-rc.2"
AIO_IMAGE ?= "truecloudlab/frostfs-aio"
# Variables for S3
S3_BEARER_RULES ?= "/config/bearer-rules.json"
S3_GATE_PUBLIC_KEY ?= "0312fe65b101565de74eedf477afb43417ff5f795732506cfddc8e044c5a030d76"
# Build aio Docker image
image-aio:
@echo "⇒ Build aio docker image "
@docker build \
--rm \
--build-arg FROSTFS_HUB_IMAGE=$(FROSTFS_HUB_IMAGE) \
--build-arg FROSTFS_CORE_TAG=$(FROSTFS_CORE_TAG) \
--build-arg FROSTFS_GATES_TAG=$(FROSTFS_GATES_TAG) \
--build-arg NEOGO_HUB_IMAGE=$(NEOGO_HUB_IMAGE) \
--build-arg NEOGO_TAG=$(NEOGO_HUB_TAG) \
-f Dockerfile \
-t $(AIO_IMAGE):$(AIO_VERSION) .
# Start AIO
up:
@docker-compose up --wait -d
# Stop AIO
down:
@docker-compose down
# Clean up
clean:
@docker volume rm frostfs-aio_data
# Generate S3 credentials
s3cred:
@docker exec aio /usr/bin/frostfs-s3-authmate issue-secret \
--wallet /config/user-wallet.json \
--peer localhost:8080 \
--gate-public-key $(S3_GATE_PUBLIC_KEY) \
--container-placement-policy "REP 1" \
--bearer-rules $(S3_BEARER_RULES)
# Tick new epoch in side chain
tick.epoch:
@docker exec aio /usr/bin/frostfs-adm --config /config/frostfs-adm.yml morph force-new-epoch
# Show current version
version:
@echo $(VERSION)
@echo "frostfs-node: $(AIO_VERSION)"
@echo "neo-go: $(NEOGO_VERSION)"

186
README.md Normal file
View file

@ -0,0 +1,186 @@
# FrostFS All-in-One
Single node deployment helper provides instructions on how to deploy FrostFS
components in the on-premise setup on one physical or virtual server. There will
be just one instance of a service of each type, hence it is suitable for
development purposes only and not recommended for production use.
# Server requirements
- Docker with docker-compose
- `jq`
- `curl`
# Quick Start
Run container:
``` sh
$ git clone ssh://git@b.yadro.com:7999/obj/frostfs-aio.git /opt/frostfs
$ cd /opt/frostfs
$ make up
```
Initial start takes about 40 seconds. Its readiness is based on healthcheck done by `docker-compose`.
The container can be stopped when needed:
``` sh
$ make down
```
The stored data and the blockchain configuration remain until the container's volume is deleted.
So the next time we start the container with `make up` it will take about 10 seconds to initialize.
A storage node container uses persistent storage, so, if you've updated `aio` version
or just want to reset the `frostfs-aio`, it's recommended to clear its local volume
before starting the container:
``` sh
$ make clean
```
Also, you may have to make sure the storage node is in the network map.
``` sh
$ docker exec -ti aio frostfs-cli netmap snapshot -c /config/cli-cfg-sn.yaml --rpc-endpoint 127.0.0.1:8080
Epoch: 45
Node 1: 022bb4041c50d607ff871dec7e4cd7778388e0ea6849d84ccbd9aa8f32e16a8131 ONLINE /dns4/localhost/tcp/8080
Continent: Europe
Country: Germany
CountryCode: DE
Deployed: Private
Location: Falkenstein
Price: 10
SubDiv: Sachsen
SubDivCode: SN
UN-LOCODE: DE FKS
```
If you don't see the output like this, you can wait for the new Epoch to come
(about 1 hour), or force the starting of new epoch.
If the commands fails, make sure you have jq installed.
``` sh
$ make tick.epoch
Updating FrostFS epoch to 2
752aa525dfb36b6447f45b41fd3906db9f6a9cdecd2cf36ce6816b1b6ef453192
```
Now everything is ready to serve your requests.
# Build images
Also, you can build the aio image itself:
``` sh
$ make image-aio
```
# Simple storage
## S3 interface
### Setup S3
As soon as the storage node is in the network map (see above) you can generate S3
credentials:
``` sh
$ make s3cred
{
"access_key_id": "EXArWh8x1zeHG3851s1RtoCo7dowxF6rhLGA15nbMffT0AKRSjJ5fmcqf3Ht2VCAkfmPQUVARghRB77xHCA1BoN2p",
"secret_access_key": "d70c1dba83f0f90bb231f06f1ce0e0dfbcfb122f4b4345a3c18d3869c359b79f",
"owner_private_key": "140947599afd9ca89af4b358c3176eb046e554d942a0dc99a8e06f3e43c8f4ad",
"wallet_public_key": "0324e76288fcb900100d01802a14ef977cca45ad073561230446df14b344c858b6",
"container_id": "EXArWh8x1zeHG3851s1RtoCo7dowxF6rhLGA15nbMffT"
}
```
Now let's configure an S3 client (AWS CLI will be used as example):
``` sh
$ aws configure
AWS Access Key ID []: EXArWh8x1zeHG3851s1RtoCo7dowxF6rhLGA15nbMffT0AKRSjJ5fmcqf3Ht2VCAkfmPQUVARghRB77xHCA1BoN2p
AWS Secret Access Key []: d70c1dba83f0f90bb231f06f1ce0e0dfbcfb122f4b4345a3c18d3869c359b79f
Default region name []: us-east-1
Default output format []: json
```
### Create a container
``` sh
$ aws s3api --endpoint http://localhost:8084 create-bucket --bucket koty --acl public-read-write
```
### Put an object
``` sh
$ aws s3api --endpoint http://localhost:8084 put-object --bucket koty --key kot --body cat.jpg
{
"ETag": "8677919550a90ff7106584285f25a70ac9e7aa38bdb4ed17d34bbfb366fd71b7"
}
```
### List objects
``` sh
$ aws s3api --endpoint http://localhost:8084 list-objects --bucket koty
{
"Contents": [
{
"Key": "kot",
"LastModified": "2023-02-17T15:01:52+00:00",
"ETag": "8677919550a90ff7106584285f25a70ac9e7aa38bdb4ed17d34bbfb366fd71b7",
"Size": 174512,
"Owner": {
"DisplayName": "NWeByJPgNC97F83hTUnSbnZSBKaFvk5HNw",
"ID": "NWeByJPgNC97F83hTUnSbnZSBKaFvk5HNw"
}
}
]
}
```
## frostfs-cli interface
### Create container with frostfs-cli
``` sh
$ frostfs-cli -r localhost:8080 -w /config/user-wallet.json \
--address NWeByJPgNC97F83hTUnSbnZSBKaFvk5HNw \
container create \
--policy "REP 1" --basic-acl public-read-write --await
container ID: GfWw35kHds7gKWmSvW7Zi4U39K7NMLK8EfXBQ5FPJA46
awaiting...
container has been persisted on sidechain
```
### Put an object with frostfs-cli
``` sh
$ frostfs-cli -r localhost:8080 -w /config/user-wallet.json \
--address NWeByJPgNC97F83hTUnSbnZSBKaFvk5HNw \
object put \
--cid GfWw35kHds7gKWmSvW7Zi4U39K7NMLK8EfXBQ5FPJA46 \
--file cat.jpg
[cat.jpg] Object successfully stored
OID: HByVC9A34i22BnzW3n83z9vEMxuYZoC7nNu11ZvGeCTe
CID: GfWw35kHds7gKWmSvW7Zi4U39K7NMLK8EfXBQ5FPJA46
```
### Get and object with frostfs-cli
``` sh
$ frostfs-cli -r localhost:8080 -w /config/user-wallet.json \
--address NWeByJPgNC97F83hTUnSbnZSBKaFvk5HNw \
object get \
--cid GfWw35kHds7gKWmSvW7Zi4U39K7NMLK8EfXBQ5FPJA46 \
--oid HByVC9A34i22BnzW3n83z9vEMxuYZoC7nNu11ZvGeCTe > new_cat.jpg
```

16
adm/frostfs-adm.yml Normal file
View file

@ -0,0 +1,16 @@
rpc-endpoint: http://localhost:30333
alphabet-wallets: /config/alphabet/
network:
max_object_size: 67108864
epoch_duration: 240
basic_income_rate: 0
homomorphic_hash_disabled: true
fee:
audit: 10000
candidate: 10000000000
container: 0
container_alias: 0
withdraw: 100000000
credentials:
az: "one"
contract: "one"

28
docker-compose.yml Normal file
View file

@ -0,0 +1,28 @@
---
version: "2.4"
services:
aio:
image: ${AIO_IMAGE}:${AIO_VERSION}
container_name: aio
domainname: frostfs
hostname: aio
restart: always
stop_signal: SIGKILL
healthcheck:
test: curl --fail http://localhost:8083
interval: 2s
retries: 100
start_period: 2s
timeout: 2s
volumes:
- data:/data
ports:
- "8081:8081" # HTTP Gateway
- "30333:30333" # RPC
- "8080:8080" # FrostFS API RPC
- "8084:8084" # S3 Gateway
- "16513:16513" # Control service
volumes:
data:

11
help.mk Normal file
View file

@ -0,0 +1,11 @@
.PHONY: help
# Show this help prompt
help:
@echo ' Usage:'
@echo ''
@echo ' make <target>'
@echo ''
@echo ' Targets:'
@echo ''
@awk '/^#/{ comment = substr($$0,3) } comment && /^[a-zA-Z][a-zA-Z0-9.%_/-]+ ?:/{ print " ", $$1, comment }' $(MAKEFILE_LIST) | column -t -s ':' | grep -v 'IGNORE' | sort -u

View file

@ -0,0 +1,36 @@
logger:
level: debug
rebalance_timer: 5m # Interval to check nodes health
connect_timeout: 60s # Timeout to dial node
request_timeout: 300s # Timeout to check node health during rebalance
# The order in which resolvers are used to find an container id by name
resolve_order:
- nns
server:
- address: 0.0.0.0:8081
pprof:
enabled: false # Enable pprof.
address: localhost:8082
prometheus:
enabled: true # Enable metrics.
address: localhost:8083
# Wallet settings
wallet:
path: /config/http-gw-wallet.json # Path to wallet
address: NMUTD9nsxSf3KM2pTHaqwjq67Lv7GdG3oG
passphrase: one # Passphrase to decrypt wallet
peers:
0:
address: grpc://localhost:8080
priority: 1
weight: 1
rpc_endpoint: http://localhost:30333

View file

@ -0,0 +1,35 @@
{
"version": "1.0",
"accounts":
[
{
"address": "NMUTD9nsxSf3KM2pTHaqwjq67Lv7GdG3oG",
"key": "6PYNwfes95HfJW1VAtiaR1MRi24UU8NTGbb6t2MSUeehQk8NvYY3oshDym",
"label": "",
"contract":
{
"script": "DCECXLyJu9NhUvi9GzPXiePKZw8jT1zGH5SWzE1TdYwIr79BVuezJw==",
"parameters":
[
{
"name": "parameter0",
"type": "Signature"
}
],
"deployed": false
},
"lock": false,
"isDefault": false
}
],
"scrypt":
{
"n": 16384,
"r": 8,
"p": 8
},
"extra":
{
"Tokens": null
}
}

2
ir/cli-cfg.yaml Normal file
View file

@ -0,0 +1,2 @@
wallet: /config/node-wallet.json
password: "one"

63
ir/config.yaml Normal file
View file

@ -0,0 +1,63 @@
wallet:
path: /config/node-wallet.json
address: Nhfg3TbpwogLvDGVvAvqyThbsHgoSUKwtn
password: 'one'
without_mainnet: true
morph:
endpoint:
client:
- address: ws://localhost:30333/ws
validators: 02b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc2
timers:
emit: 50
stop_estimation:
mul: 1
div: 4
collect_basic_income:
mul: 1
div: 2
distribute_basic_income:
mul: 3
div: 4
emit:
storage:
amount: 400000000
audit:
pdp:
max_sleep_interval: 100ms
netmap_cleaner:
enabled: true
threshold: 3
locode:
db:
path: /config/locode.db
workers:
netmap: 100
balance: 100
frostfs: 100
container: 100
alphabet: 100
reputation: 100
logger:
level: info
pprof:
enabled: false
address: localhost:6661
prometheus:
enabled: false
address: localhost:6662
control:
grpc:
endpoint: localhost:16512

4
morph/node-config.yaml Normal file
View file

@ -0,0 +1,4 @@
---
Path: "/config/node-wallet.json"
Password: "one"

68
morph/node-wallet.json Normal file
View file

@ -0,0 +1,68 @@
{
"version": "3.0",
"name":null,
"accounts": [
{
"address": "Nhfg3TbpwogLvDGVvAvqyThbsHgoSUKwtn",
"key": "6PYM8VdX2BSm7BSXKzV4Fz6S3R9cDLLWNrD9nMjxW352jEv3fsC8N3wNLY",
"label": "single",
"contract": {
"script": "DCECs2Ir9AF73+MXxYrtX0x1PyBrfbiWBG+n13S7xL9/jcJBVuezJw==",
"parameters": [
{
"name": "parameter0",
"type": "Signature"
}
],
"deployed": false
},
"lock": false,
"extra":null,
"isDefault": false
},
{
"address": "NfgHwwTi3wHAS8aFAN243C5vGbkYDpqLHP",
"key": "6PYM8VdX2BSm7BSXKzV4Fz6S3R9cDLLWNrD9nMjxW352jEv3fsC8N3wNLY",
"label": "consensus",
"contract": {
"script": "EQwhArNiK/QBe9/jF8WK7V9MdT8ga324lgRvp9d0u8S/f43CEUGe0Nw6",
"parameters": [
{
"name": "parameter0",
"type": "Signature"
}
],
"deployed": false
},
"lock": false,
"extra":null,
"isDefault": false
},
{
"address": "NfgHwwTi3wHAS8aFAN243C5vGbkYDpqLHP",
"key": "6PYM8VdX2BSm7BSXKzV4Fz6S3R9cDLLWNrD9nMjxW352jEv3fsC8N3wNLY",
"label": "committee",
"contract": {
"script": "EQwhArNiK/QBe9/jF8WK7V9MdT8ga324lgRvp9d0u8S/f43CEUGe0Nw6",
"parameters": [
{
"name": "parameter0",
"type": "Signature"
}
],
"deployed": false
},
"lock": false,
"extra":null,
"isDefault": true
}
],
"scrypt": {
"n": 16384,
"r": 8,
"p": 8
},
"extra": {
"Tokens": null
}
}

View file

@ -0,0 +1,54 @@
ProtocolConfiguration:
Magic: 15405
MaxTraceableBlocks: 200000
TimePerBlock: 1s
MemPoolSize: 50000
StandbyCommittee:
- 02b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc2
ValidatorsCount: 1
SeedList:
- 127.0.0.1:20333
VerifyTransactions: true
StateRootInHeader: true
P2PSigExtensions: true
ApplicationConfiguration:
SkipBlockVerification: false
DBConfiguration:
Type: "boltdb"
BoltDBOptions:
FilePath: "/data/chain/morph.bolt"
P2P:
Addresses:
- ":20333"
DialTimeout: 3s
ProtoTickInterval: 2s
PingInterval: 30s
PingTimeout: 90s
MaxPeers: 10
AttemptConnPeers: 5
MinPeers: 0
Relay: true
RPC:
Addresses:
- ":30333"
Enabled: true
SessionEnabled: true
EnableCORSWorkaround: false
MaxGasInvoke: 100
P2PNotary:
Enabled: true
UnlockWallet:
Path: "/config/node-wallet.json"
Password: "one"
Prometheus:
Addresses:
- ":20001"
Enabled: true
Pprof:
Addresses:
- ":20011"
Enabled: false
UnlockWallet:
Path: "/config/node-wallet.json"
Password: "one"

81
s3-gw/rules.json Normal file
View file

@ -0,0 +1,81 @@
{
"records": [
{
"operation": "PUT",
"action": "ALLOW",
"filters": [],
"targets": [
{
"role": "OTHERS",
"keys": []
}
]
},
{
"operation": "GET",
"action": "ALLOW",
"filters": [],
"targets": [
{
"role": "OTHERS",
"keys": []
}
]
},
{
"operation": "DELETE",
"action": "ALLOW",
"filters": [],
"targets": [
{
"role": "OTHERS",
"keys": []
}
]
},
{
"operation": "SEARCH",
"action": "ALLOW",
"filters": [],
"targets": [
{
"role": "OTHERS",
"keys": []
}
]
},
{
"operation": "GETRANGE",
"action": "ALLOW",
"filters": [],
"targets": [
{
"role": "OTHERS",
"keys": []
}
]
},
{
"operation": "GETRANGEHASH",
"action": "ALLOW",
"filters": [],
"targets": [
{
"role": "OTHERS",
"keys": []
}
]
},
{
"operation": "HEAD",
"action": "ALLOW",
"filters": [],
"targets": [
{
"role": "OTHERS",
"keys": []
}
]
}
]
}

67
s3-gw/s3-gw-config.yaml Normal file
View file

@ -0,0 +1,67 @@
wallet:
path: /config/s3-gw-wallet.json
passphrase: ""
address: NN1RQ3qwnvDMVNsQw4WPkKi7BrjxdVTDZp
peers:
0:
address: localhost:8080
priority: 1
weight: 1
server:
- address: 0.0.0.0:8084
logger:
level: debug
tree:
service: localhost:8080
rpc_endpoint: http://localhost:30333
resolve_order:
- nns
pprof:
enabled: false
address: localhost:8085
prometheus:
enabled: false
address: localhost:8086
connect_timeout: 10s
stream_timeout: 10s
healthcheck_timeout: 15s
rebalance_interval: 60s
pool_error_threshold: 100
max_clients_count: 100
max_clients_deadline: 30s
cache:
objects:
lifetime: 300s
size: 150
list:
lifetime: 1m
size: 100
names:
lifetime: 1m
size: 1000
buckets:
lifetime: 1m
size: 500
system:
lifetime: 2m
size: 1000
accessbox:
lifetime: 5m
size: 10
accesscontrol:
lifetime: 1m
size: 100000
placement_policy:
default: REP 1

1
s3-gw/s3-gw-wallet.json Normal file
View file

@ -0,0 +1 @@
{"version":"1.0","accounts":[{"address":"NN1RQ3qwnvDMVNsQw4WPkKi7BrjxdVTDZp","key":"6PYPdaCberkBnPGL1vbt7rkekPKCFv3GvnPnCA67UMkKhTozamkhZj3j2X","label":"S3 Gateway","contract":{"script":"DCEDEv5lsQFWXedO7fR3r7Q0F/9feVcyUGz93I4ETFoDDXZBVuezJw==","parameters":[{"name":"parameter0","type":"Signature"}],"deployed":false},"lock":false,"isDefault":false}],"scrypt":{"n":16384,"r":8,"p":8},"extra":{"Tokens":null}}

1
s3-gw/user-wallet.json Normal file
View file

@ -0,0 +1 @@
{"version":"1.0","accounts":[{"address":"NWeByJPgNC97F83hTUnSbnZSBKaFvk5HNw","key":"6PYVCcS2yp89JpcfR61FGhdhhzyYjSErNedmpZErnybNTxUZMRdhzJLrek","label":"","contract":{"script":"DCEDJOdiiPy5ABANAYAqFO+XfMpFrQc1YSMERt8Us0TIWLZBVuezJw==","parameters":[{"name":"parameter0","type":"Signature"}],"deployed":false},"lock":false,"isDefault":false}],"scrypt":{"n":16384,"r":8,"p":8},"extra":{"Tokens":null}}

2
sn/cli-cfg.yaml Normal file
View file

@ -0,0 +1,2 @@
wallet: /config/wallet-sn.json
password: ""

70
sn/config.yaml Normal file
View file

@ -0,0 +1,70 @@
morph:
rpc_endpoint:
- address: ws://localhost:30333/ws
dial_timeout: 20s
control:
grpc:
endpoint: localhost:16513
node:
wallet:
path: /config/wallet-sn.json
password: ""
addresses:
- grpc://0.0.0.0:8080
attribute_0: UN-LOCODE:DE FKS
attribute_1: Price:10
attribute_2: Deployed:Private
grpc:
num: 1
0:
endpoint: 0.0.0.0:8080
tls:
enables: false
logger:
level: debug
prometheus:
enabled: false
address: localhost:6664
pprof:
enabled: false
address: localhost:6663
storage:
shard_num: 1
shard:
0:
writecache:
enabled: false
metabase:
path: /data/metabase.db
perm: 0770
blobstor:
- type: blobovnicza
path: /data/blob/blobovnicza
perm: 0660
opened_cache_capacity: 32
depth: 1
width: 1
size: 4g
- type: fstree
path: /data/blob
gc:
remover_batch_size: 100
remover_sleep_interval: 5m
pilorama:
path: /data/storage/pilorama
tree:
enabled: true
object:
put:
pool_size_remote: 100
pool_size_local: 100

32
sn/wallet.json Normal file
View file

@ -0,0 +1,32 @@
{
"version":"3.0",
"accounts":[
{
"address":"NejLbQpojKJWec4NQRMBhzsrmCyhXfGJJe",
"key":"6PYSS8ccmBcttfcw2YJh8VcNSoeQbQLuJLQ7HoKeYF5roRmGs9LUvmKcWz",
"label":"",
"contract":{
"script":"DCECK7QEHFDWB/+HHex+TNd3g4jg6mhJ2EzL2aqPMuFqgTFBVuezJw==",
"parameters":[
{
"name":"parameter0",
"type":"Signature"
}
],
"deployed":false
},
"lock":false,
"extra":null,
"isDefault":true
}
],
"name":null,
"scrypt":{
"n":16384,
"r":8,
"p":8
},
"extra":{
"Tokens":null
}
}

Binary file not shown.

1
vendor/contracts/alphabet/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"Alphabet","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":35,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"emit","offset":1191,"parameters":[],"returntype":"Void","safe":false},{"name":"gas","offset":1010,"parameters":[],"returntype":"Integer","safe":true},{"name":"name","offset":1813,"parameters":[],"returntype":"String","safe":true},{"name":"neo","offset":1024,"parameters":[],"returntype":"Integer","safe":true},{"name":"onNEP17Payment","offset":741,"parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"update","offset":878,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"version","offset":1829,"parameters":[],"returntype":"Integer","safe":true},{"name":"vote","offset":1650,"parameters":[{"name":"epoch","type":"Integer"},{"name":"candidates","type":"Array"}],"returntype":"Void","safe":false}],"events":[]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update","transfer","vote"]}],"supportedstandards":[],"trusts":[],"extra":null}

BIN
vendor/contracts/audit/audit_contract.nef vendored Executable file

Binary file not shown.

1
vendor/contracts/audit/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"Audit","abi":{"methods":[{"name":"_deploy","offset":0,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"get","offset":886,"parameters":[{"name":"id","type":"ByteArray"}],"returntype":"ByteArray","safe":true},{"name":"list","offset":911,"parameters":[],"returntype":"Array","safe":true},{"name":"listByCID","offset":977,"parameters":[{"name":"epoch","type":"Integer"},{"name":"cid","type":"ByteArray"}],"returntype":"Array","safe":true},{"name":"listByEpoch","offset":945,"parameters":[{"name":"epoch","type":"Integer"}],"returntype":"Array","safe":true},{"name":"listByNode","offset":1020,"parameters":[{"name":"epoch","type":"Integer"},{"name":"cid","type":"ByteArray"},{"name":"key","type":"PublicKey"}],"returntype":"Array","safe":true},{"name":"put","offset":735,"parameters":[{"name":"rawAuditResult","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"update","offset":606,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"version","offset":1160,"parameters":[],"returntype":"Integer","safe":true}],"events":[]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update"]}],"supportedstandards":[],"trusts":[],"extra":null}

BIN
vendor/contracts/balance/balance_contract.nef vendored Executable file

Binary file not shown.

1
vendor/contracts/balance/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"Balance","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":93,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"balanceOf","offset":988,"parameters":[{"name":"account","type":"Hash160"}],"returntype":"Integer","safe":true},{"name":"burn","offset":1522,"parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"txDetails","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"decimals","offset":966,"parameters":[],"returntype":"Integer","safe":true},{"name":"lock","offset":1131,"parameters":[{"name":"txDetails","type":"ByteArray"},{"name":"from","type":"Hash160"},{"name":"to","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"until","type":"Integer"}],"returntype":"Void","safe":false},{"name":"mint","offset":1387,"parameters":[{"name":"to","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"txDetails","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"newEpoch","offset":1263,"parameters":[{"name":"epochNum","type":"Integer"}],"returntype":"Void","safe":false},{"name":"symbol","offset":962,"parameters":[],"returntype":"String","safe":true},{"name":"totalSupply","offset":970,"parameters":[],"returntype":"Integer","safe":true},{"name":"transfer","offset":1007,"parameters":[{"name":"from","type":"Hash160"},{"name":"to","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"data","type":"Any"}],"returntype":"Boolean","safe":false},{"name":"transferX","offset":1033,"parameters":[{"name":"from","type":"Hash160"},{"name":"to","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"details","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"update","offset":831,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"version","offset":1687,"parameters":[],"returntype":"Integer","safe":true}],"events":[{"name":"Lock","parameters":[{"name":"txID","type":"ByteArray"},{"name":"from","type":"Hash160"},{"name":"to","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"until","type":"Integer"}]},{"name":"Transfer","parameters":[{"name":"from","type":"Hash160"},{"name":"to","type":"Hash160"},{"name":"amount","type":"Integer"}]},{"name":"TransferX","parameters":[{"name":"from","type":"Hash160"},{"name":"to","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"details","type":"ByteArray"}]},{"name":"Mint","parameters":[{"name":"to","type":"Hash160"},{"name":"amount","type":"Integer"}]},{"name":"Burn","parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"}]}]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update"]}],"supportedstandards":["NEP-17"],"trusts":[],"extra":null}

1
vendor/contracts/container/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"Container","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":83,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"containersOf","offset":2867,"parameters":[{"name":"owner","type":"ByteArray"}],"returntype":"InteropInterface","safe":true},{"name":"count","offset":2822,"parameters":[],"returntype":"Integer","safe":true},{"name":"delete","offset":2422,"parameters":[{"name":"containerID","type":"ByteArray"},{"name":"signature","type":"Signature"},{"name":"token","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"eACL","offset":3167,"parameters":[{"name":"containerID","type":"ByteArray"}],"returntype":"Array","safe":true},{"name":"get","offset":2709,"parameters":[{"name":"containerID","type":"ByteArray"}],"returntype":"Array","safe":true},{"name":"getContainerSize","offset":3429,"parameters":[{"name":"id","type":"ByteArray"}],"returntype":"Array","safe":true},{"name":"iterateContainerSizes","offset":3630,"parameters":[{"name":"epoch","type":"Integer"}],"returntype":"InteropInterface","safe":true},{"name":"list","offset":2921,"parameters":[{"name":"owner","type":"ByteArray"}],"returntype":"Array","safe":true},{"name":"listContainerSizes","offset":3469,"parameters":[{"name":"epoch","type":"Integer"}],"returntype":"Array","safe":true},{"name":"newEpoch","offset":3682,"parameters":[{"name":"epochNum","type":"Integer"}],"returntype":"Void","safe":false},{"name":"onNEP11Payment","offset":1046,"parameters":[{"name":"a","type":"Hash160"},{"name":"b","type":"Integer"},{"name":"c","type":"ByteArray"},{"name":"d","type":"Any"}],"returntype":"Void","safe":false},{"name":"owner","offset":2771,"parameters":[{"name":"containerID","type":"ByteArray"}],"returntype":"ByteArray","safe":true},{"name":"put","offset":1331,"parameters":[{"name":"container","type":"ByteArray"},{"name":"signature","type":"Signature"},{"name":"publicKey","type":"PublicKey"},{"name":"token","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"putContainerSize","offset":3225,"parameters":[{"name":"epoch","type":"Integer"},{"name":"cid","type":"ByteArray"},{"name":"usedSize","type":"Integer"},{"name":"pubKey","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"putNamed","offset":1347,"parameters":[{"name":"container","type":"ByteArray"},{"name":"signature","type":"Signature"},{"name":"publicKey","type":"PublicKey"},{"name":"token","type":"ByteArray"},{"name":"name","type":"String"},{"name":"zone","type":"String"}],"returntype":"Void","safe":false},{"name":"setEACL","offset":3017,"parameters":[{"name":"eACL","type":"ByteArray"},{"name":"signature","type":"Signature"},{"name":"publicKey","type":"PublicKey"},{"name":"token","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"startContainerEstimation","offset":3705,"parameters":[{"name":"epoch","type":"Integer"}],"returntype":"Void","safe":false},{"name":"stopContainerEstimation","offset":3779,"parameters":[{"name":"epoch","type":"Integer"}],"returntype":"Void","safe":false},{"name":"update","offset":1198,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"version","offset":3852,"parameters":[],"returntype":"Integer","safe":true}],"events":[{"name":"containerPut","parameters":[{"name":"container","type":"ByteArray"},{"name":"signature","type":"Signature"},{"name":"publicKey","type":"PublicKey"},{"name":"token","type":"ByteArray"}]},{"name":"PutSuccess","parameters":[{"name":"containerID","type":"Hash256"},{"name":"publicKey","type":"PublicKey"}]},{"name":"containerDelete","parameters":[{"name":"containerID","type":"ByteArray"},{"name":"signature","type":"Signature"},{"name":"token","type":"ByteArray"}]},{"name":"DeleteSuccess","parameters":[{"name":"containerID","type":"ByteArray"}]},{"name":"setEACL","parameters":[{"name":"eACL","type":"ByteArray"},{"name":"signature","type":"Signature"},{"name":"publicKey","type":"PublicKey"},{"name":"token","type":"ByteArray"}]},{"name":"SetEACLSuccess","parameters":[{"name":"containerID","type":"ByteArray"},{"name":"publicKey","type":"PublicKey"}]},{"name":"StartEstimation","parameters":[{"name":"epoch","type":"Integer"}]},{"name":"StopEstimation","parameters":[{"name":"epoch","type":"Integer"}]}]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update","addKey","transferX","register","addRecord","deleteRecords"]}],"supportedstandards":[],"trusts":[],"extra":null}

Binary file not shown.

1
vendor/contracts/frostfs/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"FrostFS","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":74,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"alphabetAddress","offset":1028,"parameters":[],"returntype":"Hash160","safe":true},{"name":"bind","offset":2294,"parameters":[{"name":"user","type":"ByteArray"},{"name":"keys","type":"Array"}],"returntype":"Void","safe":false},{"name":"cheque","offset":2172,"parameters":[{"name":"id","type":"ByteArray"},{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"lockAcc","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"config","offset":2574,"parameters":[{"name":"key","type":"ByteArray"}],"returntype":"Any","safe":true},{"name":"innerRingCandidateAdd","offset":1295,"parameters":[{"name":"key","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"innerRingCandidateRemove","offset":1121,"parameters":[{"name":"key","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"innerRingCandidates","offset":1049,"parameters":[],"returntype":"Array","safe":true},{"name":"listConfig","offset":2678,"parameters":[],"returntype":"Array","safe":true},{"name":"onNEP17Payment","offset":1545,"parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"setConfig","offset":2592,"parameters":[{"name":"id","type":"ByteArray"},{"name":"key","type":"ByteArray"},{"name":"val","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"unbind","offset":2433,"parameters":[{"name":"user","type":"ByteArray"},{"name":"keys","type":"Array"}],"returntype":"Void","safe":false},{"name":"update","offset":906,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"version","offset":2760,"parameters":[],"returntype":"Integer","safe":true},{"name":"withdraw","offset":1878,"parameters":[{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"}],"returntype":"Void","safe":false}],"events":[{"name":"Deposit","parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"receiver","type":"Hash160"},{"name":"txHash","type":"Hash256"}]},{"name":"Withdraw","parameters":[{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"txHash","type":"Hash256"}]},{"name":"Cheque","parameters":[{"name":"id","type":"ByteArray"},{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"lockAccount","type":"ByteArray"}]},{"name":"Bind","parameters":[{"name":"user","type":"ByteArray"},{"name":"keys","type":"Array"}]},{"name":"Unbind","parameters":[{"name":"user","type":"ByteArray"},{"name":"keys","type":"Array"}]},{"name":"AlphabetUpdate","parameters":[{"name":"id","type":"ByteArray"},{"name":"alphabet","type":"Array"}]},{"name":"SetConfig","parameters":[{"name":"id","type":"ByteArray"},{"name":"key","type":"ByteArray"},{"name":"value","type":"ByteArray"}]}]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update","transfer"]}],"supportedstandards":[],"trusts":[],"extra":null}

BIN
vendor/contracts/frostfs/frostfs_contract.nef vendored Executable file

Binary file not shown.

1
vendor/contracts/frostfsid/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"Identity","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":35,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"addKey","offset":776,"parameters":[{"name":"owner","type":"ByteArray"},{"name":"keys","type":"Array"}],"returntype":"Void","safe":false},{"name":"key","offset":1181,"parameters":[{"name":"owner","type":"ByteArray"}],"returntype":"Array","safe":true},{"name":"removeKey","offset":974,"parameters":[{"name":"owner","type":"ByteArray"},{"name":"keys","type":"Array"}],"returntype":"Void","safe":false},{"name":"update","offset":643,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"version","offset":1252,"parameters":[],"returntype":"Integer","safe":true}],"events":[]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update"]}],"supportedstandards":[],"trusts":[],"extra":null}

Binary file not shown.

1
vendor/contracts/netmap/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"Netmap","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":93,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"addPeer","offset":1111,"parameters":[{"name":"nodeInfo","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"addPeerIR","offset":1071,"parameters":[{"name":"nodeInfo","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"config","offset":2507,"parameters":[{"name":"key","type":"ByteArray"}],"returntype":"Any","safe":true},{"name":"epoch","offset":1692,"parameters":[],"returntype":"Integer","safe":true},{"name":"lastEpochBlock","offset":1731,"parameters":[],"returntype":"Integer","safe":false},{"name":"listConfig","offset":2586,"parameters":[],"returntype":"Array","safe":true},{"name":"netmap","offset":1770,"parameters":[],"returntype":"Array","safe":true},{"name":"netmapCandidates","offset":1852,"parameters":[],"returntype":"Array","safe":true},{"name":"newEpoch","offset":1408,"parameters":[{"name":"epochNum","type":"Integer"}],"returntype":"Void","safe":false},{"name":"setConfig","offset":2525,"parameters":[{"name":"id","type":"ByteArray"},{"name":"key","type":"ByteArray"},{"name":"val","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"snapshot","offset":1868,"parameters":[{"name":"diff","type":"Integer"}],"returntype":"Array","safe":true},{"name":"snapshotByEpoch","offset":2459,"parameters":[{"name":"epoch","type":"Integer"}],"returntype":"Array","safe":true},{"name":"update","offset":941,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"updateSnapshotCount","offset":2022,"parameters":[{"name":"count","type":"Integer"}],"returntype":"Void","safe":false},{"name":"updateState","offset":1317,"parameters":[{"name":"state","type":"Integer"},{"name":"publicKey","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"updateStateIR","offset":1384,"parameters":[{"name":"state","type":"Integer"},{"name":"publicKey","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"version","offset":2668,"parameters":[],"returntype":"Integer","safe":true}],"events":[{"name":"AddPeer","parameters":[{"name":"nodeInfo","type":"ByteArray"}]},{"name":"AddPeerSuccess","parameters":[{"name":"publicKey","type":"PublicKey"}]},{"name":"UpdateState","parameters":[{"name":"state","type":"Integer"},{"name":"publicKey","type":"PublicKey"}]},{"name":"UpdateStateSuccess","parameters":[{"name":"publicKey","type":"PublicKey"},{"name":"state","type":"Integer"}]},{"name":"NewEpoch","parameters":[{"name":"epoch","type":"Integer"}]}]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update","newEpoch"]}],"supportedstandards":[],"trusts":[],"extra":null}

BIN
vendor/contracts/netmap/netmap_contract.nef vendored Executable file

Binary file not shown.

1
vendor/contracts/nns/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"NameService","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":32,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"addRecord","offset":2591,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"},{"name":"data","type":"String"}],"returntype":"Void","safe":false},{"name":"balanceOf","offset":568,"parameters":[{"name":"owner","type":"Hash160"}],"returntype":"Integer","safe":true},{"name":"decimals","offset":479,"parameters":[],"returntype":"Integer","safe":true},{"name":"deleteRecords","offset":2726,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"}],"returntype":"Void","safe":false},{"name":"getAllRecords","offset":2882,"parameters":[{"name":"name","type":"String"}],"returntype":"InteropInterface","safe":false},{"name":"getPrice","offset":976,"parameters":[],"returntype":"Integer","safe":true},{"name":"getRecords","offset":2683,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"}],"returntype":"Array","safe":true},{"name":"isAvailable","offset":1010,"parameters":[{"name":"name","type":"String"}],"returntype":"Boolean","safe":true},{"name":"ownerOf","offset":501,"parameters":[{"name":"tokenID","type":"ByteArray"}],"returntype":"Hash160","safe":true},{"name":"properties","offset":523,"parameters":[{"name":"tokenID","type":"ByteArray"}],"returntype":"Map","safe":true},{"name":"register","offset":1281,"parameters":[{"name":"name","type":"String"},{"name":"owner","type":"Hash160"},{"name":"email","type":"String"},{"name":"refresh","type":"Integer"},{"name":"retry","type":"Integer"},{"name":"expire","type":"Integer"},{"name":"ttl","type":"Integer"}],"returntype":"Boolean","safe":false},{"name":"renew","offset":2048,"parameters":[{"name":"name","type":"String"}],"returntype":"Integer","safe":false},{"name":"resolve","offset":2860,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"}],"returntype":"Array","safe":true},{"name":"roots","offset":870,"parameters":[],"returntype":"InteropInterface","safe":true},{"name":"setAdmin","offset":2259,"parameters":[{"name":"name","type":"String"},{"name":"admin","type":"Hash160"}],"returntype":"Void","safe":false},{"name":"setPrice","offset":898,"parameters":[{"name":"price","type":"Integer"}],"returntype":"Void","safe":false},{"name":"setRecord","offset":2393,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"},{"name":"id","type":"Integer"},{"name":"data","type":"String"}],"returntype":"Void","safe":false},{"name":"symbol","offset":473,"parameters":[],"returntype":"String","safe":true},{"name":"tokens","offset":644,"parameters":[],"returntype":"InteropInterface","safe":true},{"name":"tokensOf","offset":673,"parameters":[{"name":"owner","type":"Hash160"}],"returntype":"InteropInterface","safe":true},{"name":"totalSupply","offset":485,"parameters":[],"returntype":"Integer","safe":true},{"name":"transfer","offset":735,"parameters":[{"name":"to","type":"Hash160"},{"name":"tokenID","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Boolean","safe":false},{"name":"update","offset":386,"parameters":[{"name":"nef","type":"ByteArray"},{"name":"manifest","type":"String"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"updateSOA","offset":2169,"parameters":[{"name":"name","type":"String"},{"name":"email","type":"String"},{"name":"refresh","type":"Integer"},{"name":"retry","type":"Integer"},{"name":"expire","type":"Integer"},{"name":"ttl","type":"Integer"}],"returntype":"Void","safe":false},{"name":"version","offset":481,"parameters":[],"returntype":"Integer","safe":true}],"events":[{"name":"Transfer","parameters":[{"name":"from","type":"Hash160"},{"name":"to","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"tokenId","type":"ByteArray"}]}]},"features":{},"groups":[],"permissions":[{"contract":"0xfffdc93764dbaddd97c48f252a53ea4643faa3fd","methods":["update"]},{"contract":"*","methods":["onNEP11Payment"]}],"supportedstandards":["NEP-11"],"trusts":[],"extra":null}

BIN
vendor/contracts/nns/nns_contract.nef vendored Executable file

Binary file not shown.

1
vendor/contracts/processing/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"Multi Signature Processing","abi":{"methods":[{"name":"_deploy","offset":0,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"onNEP17Payment","offset":417,"parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"update","offset":509,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"verify","offset":680,"parameters":[],"returntype":"Boolean","safe":true},{"name":"version","offset":767,"parameters":[],"returntype":"Integer","safe":true}],"events":[]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update"]}],"supportedstandards":[],"trusts":[],"extra":null}

Binary file not shown.

1
vendor/contracts/proxy/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"Notary Proxy","abi":{"methods":[{"name":"_deploy","offset":0,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"onNEP17Payment","offset":337,"parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"update","offset":424,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"verify","offset":553,"parameters":[],"returntype":"Boolean","safe":true},{"name":"version","offset":602,"parameters":[],"returntype":"Integer","safe":true}],"events":[]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update"]}],"supportedstandards":[],"trusts":[],"extra":null}

BIN
vendor/contracts/proxy/proxy_contract.nef vendored Executable file

Binary file not shown.

1
vendor/contracts/reputation/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"Reputation","abi":{"methods":[{"name":"_deploy","offset":0,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"get","offset":706,"parameters":[{"name":"epoch","type":"Integer"},{"name":"peerID","type":"ByteArray"}],"returntype":"Array","safe":true},{"name":"getByID","offset":722,"parameters":[{"name":"id","type":"ByteArray"}],"returntype":"Array","safe":true},{"name":"listByEpoch","offset":812,"parameters":[{"name":"epoch","type":"Integer"}],"returntype":"Array","safe":true},{"name":"put","offset":563,"parameters":[{"name":"epoch","type":"Integer"},{"name":"peerID","type":"ByteArray"},{"name":"value","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"update","offset":432,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"version","offset":890,"parameters":[],"returntype":"Integer","safe":false}],"events":[{"name":"reputationPut","parameters":[{"name":"epoch","type":"Integer"},{"name":"peerID","type":"ByteArray"},{"name":"value","type":"ByteArray"}]}]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update"]}],"supportedstandards":[],"trusts":[],"extra":null}

Binary file not shown.

1
vendor/contracts/subnet/config.json vendored Executable file
View file

@ -0,0 +1 @@
{"name":"Subnet","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":64,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"addClientAdmin","offset":2071,"parameters":[{"name":"subnetID","type":"ByteArray"},{"name":"groupID","type":"ByteArray"},{"name":"adminPublicKey","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"addNode","offset":1467,"parameters":[{"name":"subnetID","type":"ByteArray"},{"name":"node","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"addNodeAdmin","offset":1102,"parameters":[{"name":"subnetID","type":"ByteArray"},{"name":"adminKey","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"addUser","offset":2522,"parameters":[{"name":"subnetID","type":"ByteArray"},{"name":"groupID","type":"ByteArray"},{"name":"userID","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"delete","offset":913,"parameters":[{"name":"id","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"get","offset":803,"parameters":[{"name":"id","type":"ByteArray"}],"returntype":"ByteArray","safe":false},{"name":"nodeAllowed","offset":1911,"parameters":[{"name":"subnetID","type":"ByteArray"},{"name":"node","type":"PublicKey"}],"returntype":"Boolean","safe":false},{"name":"put","offset":637,"parameters":[{"name":"id","type":"ByteArray"},{"name":"ownerKey","type":"PublicKey"},{"name":"info","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"removeClientAdmin","offset":2296,"parameters":[{"name":"subnetID","type":"ByteArray"},{"name":"groupID","type":"ByteArray"},{"name":"adminPublicKey","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"removeNode","offset":1672,"parameters":[{"name":"subnetID","type":"ByteArray"},{"name":"node","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"removeNodeAdmin","offset":1284,"parameters":[{"name":"subnetID","type":"ByteArray"},{"name":"adminKey","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"removeUser","offset":2766,"parameters":[{"name":"subnetID","type":"ByteArray"},{"name":"groupID","type":"ByteArray"},{"name":"userID","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"update","offset":507,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"userAllowed","offset":3011,"parameters":[{"name":"subnetID","type":"ByteArray"},{"name":"user","type":"ByteArray"}],"returntype":"Boolean","safe":false},{"name":"version","offset":3187,"parameters":[],"returntype":"Integer","safe":true}],"events":[{"name":"Put","parameters":[{"name":"id","type":"ByteArray"},{"name":"ownerKey","type":"PublicKey"},{"name":"info","type":"ByteArray"}]},{"name":"Delete","parameters":[{"name":"id","type":"ByteArray"}]},{"name":"RemoveNode","parameters":[{"name":"subnetID","type":"ByteArray"},{"name":"node","type":"PublicKey"}]}]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update"]}],"supportedstandards":[],"trusts":[],"extra":null}

BIN
vendor/contracts/subnet/subnet_contract.nef vendored Executable file

Binary file not shown.

BIN
vendor/locode_db vendored Normal file

Binary file not shown.