diff --git a/Dockerfile b/Dockerfile index 43d1e69..4d5a896 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,22 @@ FROM golang ADD . /go/src/github.com/hunterlong/tokenexporter -RUN cd /go/src/github.com/hunterlong/tokenexporter && go get -RUN go install github.com/hunterlong/tokenexporter +WORKDIR /go/src/github.com/hunterlong/tokenexporter +RUN go mod tidy +RUN go install -ENV GETH https://mainnet.infura.io/Nsy8W84s3hqW4eE49ljZ -ENV PORT 9021 +ENV GETH https://xdai.fairdatasociety.org +ENV PORT 9022 +ENV ADDRESSES ${ADDRESSES} +ENV TOKEN_LIST ${TOKEN_LIST} +ENV PORT ${PORT} RUN mkdir /app WORKDIR /app ADD addresses.txt /app ADD tokens-list.json /app -EXPOSE 9021 +EXPOSE ${PORT} -ENTRYPOINT /go/bin/tokenexporter +#CMD ["/bin/bash", "-c", "echo $ADDRESSES > /app/addresses.txt && echo $TOKEN_LIST > /app/token-list.json && /go/bin/tokenexporter"] +CMD ["/bin/bash", "-c", "/go/bin/tokenexporter"] diff --git a/README.md b/README.md index bfdd290..5e2976c 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@ A lightweight Prometheus exporter that will output ERC20 Token balances from a list of addresses you specify. TOKENexporter attaches to a geth server to fetch token wallet balances for your Grafana dashboards. You can also use [BTCexporter](https://github.com/hunterlong/btcexporter) for Bitcoin balances and [ETHexporter](https://github.com/hunterlong/ethexporter) for Ethereum balances. ## Watch Addresses -The `addresses.txt` file holds all the addresses to fetch balances for. Use the format `name:address` on each new line. +The `addresses.txt` file holds all the addresses to fetch balances for. Use the format `name:address:host` on each new line. ``` -etherdelta:0x8d12A197cB00D4747a1fe03395095ce2A5CC6819 -bittrex:0xFBb1b73C4f0BDa4f67dcA266ce6Ef42f520fBB98 +etherdelta:0x8d12A197cB00D4747a1fe03395095ce2A5CC6819:host1 +bittrex:0xFBb1b73C4f0BDa4f67dcA266ce6Ef42f520fBB98:host2 ``` ## Running the Exporter @@ -617,3 +617,8 @@ token_balance{name="etherdelta",symbol="onG",contract="0xd341d1680eeee3255b8c4c7 token_balance{name="etherdelta",symbol="YEED",contract="0x6f7a4bac3315b5082f793161a22e26666d22717f",address="0x8d12A197cB00D4747a1fe03395095ce2A5CC6819"} 0 token_query_seconds{name="all"} 10.037673145 ``` + +## abi update +``` +abigen --abi=main.go --pkg=main --out=tokens.go +``` diff --git a/abi b/abi new file mode 100644 index 0000000..34fbd91 --- /dev/null +++ b/abi @@ -0,0 +1 @@ +[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"spentAllowance","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"decimalUnits","type":"uint8"},{"name":"tokenSymbol","type":"string"}],"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}] diff --git a/addresses.txt b/addresses.txt index 371ca10..8665a93 100644 --- a/addresses.txt +++ b/addresses.txt @@ -1,6 +1,2 @@ -bittrex:0xFBb1b73C4f0BDa4f67dcA266ce6Ef42f520fBB98 -etherdelta:0x8d12A197cB00D4747a1fe03395095ce2A5CC6819 -kraken:0xe853c56864a2ebe4576a807d26fdc4a0ada51919 -kraken2:0x267be1c1d684f78cb4f6a176c4911b741e4ffdc0 -vitalik:0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B -exchange:0x1db3439a222c519ab44bb1144fc28167b4fa6ee6 \ No newline at end of file +bee-1:0x000000000000000000000000000000000000BB98:host1 +bee-2:0x000000000000000000000000000000000000BB99:host2 diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..08cbf77 --- /dev/null +++ b/go.mod @@ -0,0 +1,21 @@ +module github.com/hunterlong/tokenexporter + +go 1.17 + +require github.com/ethereum/go-ethereum v1.10.23 + +require ( + github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 // indirect + github.com/btcsuite/btcd/btcec/v2 v2.2.0 // indirect + github.com/deckarep/golang-set v1.8.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect + github.com/go-ole/go-ole v1.2.1 // indirect + github.com/go-stack/stack v1.8.0 // indirect + github.com/gorilla/websocket v1.4.2 // indirect + github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect + github.com/tklauser/go-sysconf v0.3.5 // indirect + github.com/tklauser/numcpus v0.2.2 // indirect + golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect + golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect + gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..ab1bff1 --- /dev/null +++ b/go.sum @@ -0,0 +1,622 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/VictoriaMetrics/fastcache v1.6.0 h1:C/3Oi3EiBCqufydp1neRZkqcwmEiuRT9c3fqvvgKm5o= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= +github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= +github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= +github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= +github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= +github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= +github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= +github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= +github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k= +github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= +github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= +github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= +github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/deckarep/golang-set v1.8.0 h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4= +github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= +github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= +github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= +github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/docker v1.6.2/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= +github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= +github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= +github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/ethereum/go-ethereum v1.10.23 h1:Xk8XAT4/UuqcjMLIMF+7imjkg32kfVFKoeyQDaO2yWM= +github.com/ethereum/go-ethereum v1.10.23/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY= +github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c= +github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/garslo/gogen v0.0.0-20170306192744-1d203ffc1f61/go.mod h1:Q0X6pkwTILDlzrGEckF6HKjXe48EgsY/l7K7vhY4MW8= +github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqGNY4FhTFhk+o9oFHGINQ/+vhlm8HFzi6znCI= +github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= +github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= +github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-ole/go-ole v1.2.1 h1:2lOsA72HgjxAuMlKpFiCbHTvu44PIVkZ5hqm3RSdI/E= +github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= +github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE= +github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= +github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM= +github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= +github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= +github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= +github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= +github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= +github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= +github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= +github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= +github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= +github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= +github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= +github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= +github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v0.0.0-20170224010052-a616ab194758/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= +github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= +github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= +github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= +github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= +github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= +github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= +github.com/rjeczalik/notify v0.9.1 h1:CLCKso/QK1snAlnhNR/CNvNiFU2saUtjV0bx3EwNeCE= +github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= +github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4 h1:Gb2Tyox57NRNuZ2d3rmvB3pcmbu7O1RS3m8WRx7ilrg= +github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= +github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tklauser/go-sysconf v0.3.5 h1:uu3Xl4nkLzQfXNsWn15rPc/HQCJKObbt1dKJeWp3vU4= +github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= +github.com/tklauser/numcpus v0.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA= +github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= +github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef h1:wHSqTBrZW24CsNJDfeh9Ex6Pm0Rcpc7qrgKBiL44vF4= +github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= +github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/urfave/cli/v2 v2.10.2 h1:x3p8awjp/2arX+Nl/G2040AZpOCHS/eMJJ1/a+mye4Y= +github.com/urfave/cli/v2 v2.10.2/go.mod h1:f8iq5LtQ/bLxafbdBSLPPNsgaW0l/2fYYEHhAyPlwvo= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20220426173459-3bcf042a4bf5/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20211013180041-c96bc1413d57/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba h1:O8mE0/t419eoIwhTFpKVkHiTs/Igowgfkj25AcZrtiE= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191126055441-b0650ceb63d9/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.8-0.20211029000441-d6a9af8af023/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= +gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/main.go b/main.go index 2be9b8a..ed7a024 100644 --- a/main.go +++ b/main.go @@ -9,11 +9,11 @@ import ( "net/http" "os" "strings" + "strconv" "time" "io/ioutil" "encoding/json" "sync" - "bytes" "sort" ) @@ -28,6 +28,7 @@ type Watching struct { Name string Address string Balance string + Host string } var tokenList []TokenList @@ -40,8 +41,8 @@ func ConnectionToGeth(url string) error { return err } -func tokenCaller(address common.Address) (*TokenCaller, error) { - caller, err := NewTokenCaller(address, eth) +func tokenCaller(address common.Address) (*MainCaller, error) { + caller, err := NewMainCaller(address, eth) if err != nil { return nil, err } @@ -53,7 +54,7 @@ func tokenCaller(address common.Address) (*TokenCaller, error) { func GetTokenBalance(token, address string, decimals int) string { caller, _ := tokenCaller(common.HexToAddress(token)) balance, _ := caller.BalanceOf(nil, common.HexToAddress(address)) - corrected := BigIntDecimal(balance, decimals) + corrected := ToDecimals(balance, decimals) return corrected } @@ -88,37 +89,32 @@ func Resort(o []Order) []Order { return newOrder } - -func BigIntDecimal(balance *big.Int, decimals int) string { - if balance.String()=="0" { - return "0" - } - var newNum string - for k, v := range balance.String() { - if k==len(balance.String())-decimals { - newNum += "." - } - newNum += string(v) - } - stringBytes := bytes.TrimRight([]byte(newNum), "0") - newNum = string(stringBytes) - if stringBytes[len(stringBytes)-1] == 46 { - newNum += "0" - } - if stringBytes[0] == 46 { - newNum = "0"+newNum - } - return newNum +func exp_func(x int, y int64) (value *big.Int) { + + exp:=strconv.FormatInt(y, 2) + v := big.NewInt(int64(x)) + for i := 1; i < len(exp); i++ { + v.Mul(v, v) + if(exp[i]=='1') { + v.Mul(v, big.NewInt(int64(x))) + } + } + return v } - - // -// CONVERTS WEI TO ETH -func ToEther(o *big.Int) *big.Float { +// CONVERT USING THE DECIMALS +func ToDecimals(o *big.Int, decimals int) string{ + if o.String()=="0" { + return "0" + } pul, int := big.NewFloat(0), big.NewFloat(0) int.SetInt(o) - pul.Mul(big.NewFloat(0.000000000000000001), int) - return pul + bigDec := exp_func(10, int64(decimals)) + fDec := new(big.Float).SetInt(bigDec) + pul = new(big.Float).Quo(int, fDec) + result, _ := big.NewFloat(0).SetString(pul.String()) + text := fmt.Sprintf(result.Text('f', decimals)) + return text } // @@ -142,6 +138,7 @@ func OpenAddresses(filename string) error { w := &Watching{ Name: object[0], Address: object[1], + Host: object[2], } allWatching = append(allWatching, w) } @@ -205,7 +202,7 @@ func main() { go func(i int, tk TokenList, v *Watching, wg *sync.WaitGroup) { guard <- struct{}{} balance := GetTokenBalance(tk.Address, v.Address, tk.Decimal) - data := fmt.Sprintf("token_balance{name=\"%v\",symbol=\"%v\",contract=\"%v\",address=\"%v\"} %v", v.Name, tk.Symbol, tk.Address, v.Address, balance) + data := fmt.Sprintf("token_balance{host=\"%v\",name=\"%v\",symbol=\"%v\",contract=\"%v\",address=\"%v\"} %v", v.Host, v.Name, tk.Symbol, tk.Address, v.Address, balance) order := Order{i, data} pendingData = append(pendingData, order) <-guard @@ -224,7 +221,7 @@ func main() { pendingText = append(pendingText, data) outData = pendingText fmt.Printf("Token balance queries completed in %f seconds\n", diff.Seconds()) - time.Sleep(15 * time.Second) + time.Sleep(600 * time.Second) } }() @@ -253,4 +250,4 @@ type TokenList struct { Symbol string `json:"symbol"` Decimal int `json:"decimal"` Type string `json:"type"` -} \ No newline at end of file +} diff --git a/tokens-list.gnosis b/tokens-list.gnosis new file mode 100644 index 0000000..c101571 --- /dev/null +++ b/tokens-list.gnosis @@ -0,0 +1,8 @@ +[ + { + "address": "0xdbf3ea6f5bee45c02255b2c26a16f300502f68da", + "symbol": "BZZ", + "decimal": 16, + "type": "default" + } +] diff --git a/tokens-list.goerli b/tokens-list.goerli new file mode 100644 index 0000000..12df126 --- /dev/null +++ b/tokens-list.goerli @@ -0,0 +1,8 @@ +[ + { + "address": "0x2aC3c1d3e24b45c6C310534Bc2Dd84B5ed576335", + "symbol": "gBZZ", + "decimal": 16, + "type": "default" + } +] diff --git a/tokens-list.json b/tokens-list.json index 9daf418..e7ff279 100644 --- a/tokens-list.json +++ b/tokens-list.json @@ -1,3440 +1,8 @@ [ { - "address": "0x7dd7f56d697cc0f2b52bd55c057f378f1fe6ab4b", - "symbol": "$TEAK", - "decimal": 18, - "type": "default" - }, - { - "address": "0xAf30D2a7E90d7DC361c8C4585e9BB7D2F6f15bc7", - "symbol": "1ST", - "decimal": 18, - "type": "default" - }, - { - "address": "0xfdbc1adc26f0f8f8606a5d63b7d3a3cd21c22b23", - "symbol": "1WO", - "decimal": 8, - "type": "default" - }, - { - "address": "0xaEc98A708810414878c3BCDF46Aad31dEd4a4557", - "symbol": "300", - "decimal": 18, - "type": "default" - }, - { - "address": "0xBDe8f7820b5544a49D34F9dDeaCAbEDC7C0B5adc", - "symbol": "A18", - "decimal": 0, - "type": "default" - }, - { - "address": "0xb98d4c97425d9908e66e53a6fdf673acca0be986", - "symbol": "ABT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x13f1b7fdfbe1fc66676d56483e21b1ecb40b58e2", - "symbol": "ACC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xE69a353b3152Dd7b706ff7dD40fe1d18b7802d31", - "symbol": "ADH", - "decimal": 18, - "type": "default" - }, - { - "address": "0x8810C63470d38639954c6B41AaC545848C46484a", - "symbol": "ADI", - "decimal": 18, - "type": "default" - }, - { - "address": "0x422866a8F0b032c5cf1DfBDEf31A20F4509562b0", - "symbol": "ADST", - "decimal": 0, - "type": "default" - }, - { - "address": "0xD0D6D6C5Fe4a677D343cC433536BB717bAe167dD", - "symbol": "ADT", - "decimal": 9, - "type": "default" - }, - { - "address": "0x4470BB87d77b963A013DB939BE332f927f2b992e", - "symbol": "ADX", - "decimal": 4, - "type": "default" - }, - { - "address": "0x5ca9a71b1d01849c0a95490cc00559717fcf0d1d", - "symbol": "AE", - "decimal": 18, - "type": "default" - }, - { - "address": "0x8eB24319393716668D768dCEC29356ae9CfFe285", - "symbol": "AGI", - "decimal": 8, - "type": "default" - }, - { - "address": "0x4CEdA7906a5Ed2179785Cd3A40A69ee8bc99C466", - "symbol": "AION", - "decimal": 8, - "type": "default" - }, - { - "address": "0x27dce1ec4d3f72c3e457cc50354f1f975ddef488", - "symbol": "AIR", - "decimal": 8, - "type": "default" - }, - { - "address": "0x1063ce524265d5a3A624f4914acd573dD89ce988", - "symbol": "AIX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x181a63746d3adcf356cbc73ace22832ffbb1ee5a", - "symbol": "ALCO", - "decimal": 8, - "type": "default" - }, - { - "address": "0xEA610B1153477720748DC13ED378003941d84fAB", - "symbol": "ALIS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x638ac149ea8ef9a1286c41b977017aa7359e6cfa", - "symbol": "ALTS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4dc3643dbc642b72c158e7f3d2ff232df61cb6ce", - "symbol": "AMB", - "decimal": 18, - "type": "default" - }, - { - "address": "0x949bed886c739f1a3273629b3320db0c5024c719", - "symbol": "AMIS", - "decimal": 9, - "type": "default" - }, - { - "address": "0x737f98ac8ca59f2c68ad658e3c3d8c8963e40a4c", - "symbol": "AMN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x84936cF7630AA3e27Dd9AfF968b140d5AEE49F5a", - "symbol": "AMTC", - "decimal": 8, - "type": "default" - }, - { - "address": "0x960b236A07cf122663c4303350609A66A7B288C0", - "symbol": "ANT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4c0fbe1bb46612915e7967d2c3213cd4d87257ad", - "symbol": "APIS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1a7a8bd9106f2b8d977e08582dc7d24c723ab0db", - "symbol": "APPC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x23ae3c5b39b12f0693e05435eeaa1e51d8c61530", - "symbol": "APT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xAc709FcB44a43c35F0DA4e3163b117A17F3770f5", - "symbol": "ARC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1245ef80f4d9e02ed9425375e8f649b9221b31d8", - "symbol": "ARCT", - "decimal": 8, - "type": "default" - }, - { - "address": "0x75aa7b0d02532f3833b66c7f0ad35376d373ddf8", - "symbol": "ARD", - "decimal": 18, - "type": "default" - }, - { - "address": "0xBA5F11b16B155792Cf3B2E6880E8706859A8AEB6", - "symbol": "ARN", - "decimal": 8, - "type": "default" - }, - { - "address": "0xfec0cF7fE078a500abf15F1284958F22049c2C7e", - "symbol": "ART", - "decimal": 18, - "type": "default" - }, - { - "address": "0x7705FaA34B16EB6d77Dfc7812be2367ba6B0248e", - "symbol": "ARX", - "decimal": 8, - "type": "default" - }, - { - "address": "0xb0D926c1BC3d78064F3e1075D5bD9A24F35Ae6C5", - "symbol": "ARXT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x27054b13b1B798B345b591a4d22e6562d47eA75a", - "symbol": "AST", - "decimal": 4, - "type": "default" - }, - { - "address": "0x17052d51E954592C1046320c2371AbaB6C73Ef10", - "symbol": "ATH", - "decimal": 18, - "type": "default" - }, - { - "address": "0x78B7FADA55A64dD895D8c8c35779DD8b67fA8a05", - "symbol": "ATL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x887834d3b8d450b6bab109c252df3da286d73ce4", - "symbol": "ATT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6339784d9478da43106a429196772a029c2f177d", - "symbol": "ATTN", - "decimal": 18, - "type": "default" - }, - { - "address": "0xeD247980396B10169BB1d36f6e278eD16700a60f", - "symbol": "AVA", - "decimal": 4, - "type": "default" - }, - { - "address": "0x0d88ed6e74bbfd96b831231638b66c05571e824f", - "symbol": "AVT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xcd4b4b0f3284a33ac49c67961ec6e111708318cf", - "symbol": "AX1", - "decimal": 5, - "type": "default" - }, - { - "address": "0x9af2c6B1A28D3d6BC084bd267F70e90d49741D5B", - "symbol": "AXP", - "decimal": 8, - "type": "default" - }, - { - "address": "0xf87f0d9153fea549c728ad61cb801595a68b73de", - "symbol": "BANX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0D8775F648430679A709E98d2b0Cb6250d2887EF", - "symbol": "BAT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x7367a68039d4704f30bfbf6d948020c3b07dfc59", - "symbol": "BCBC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1e797Ce986C3CFF4472F7D38d5C4aba55DfEFE40", - "symbol": "BCDN", - "decimal": 15, - "type": "default" - }, - { - "address": "0xacfa209fb73bf3dd5bbfb1101b9bc999c49062a5", - "symbol": "BCDT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xbc1234552EBea32B5121190356bBa6D3Bb225bb5", - "symbol": "BCL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1c4481750daa5Ff521A2a7490d9981eD46465Dbd", - "symbol": "BCPT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1014613e2b3cbc4d575054d4982e580d9b99d7b1", - "symbol": "BCV", - "decimal": 8, - "type": "default" - }, - { - "address": "0x1961B3331969eD52770751fC718ef530838b6dEE", - "symbol": "BDG", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4D8fc1453a0F359e99c9675954e656D80d996FbF", - "symbol": "BEE", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6aeb95f06cda84ca345c2de0f3b7f96923a44f4c", - "symbol": "BERRY", - "decimal": 14, - "type": "default" - }, - { - "address": "0x8aA33A7899FCC8eA5fBe6A608A109c3893A1B8b2", - "symbol": "BET", - "decimal": 18, - "type": "default" - }, - { - "address": "0x763186eb8d4856d536ed4478302971214febc6a9", - "symbol": "BETR", - "decimal": 18, - "type": "default" - }, - { - "address": "0xb2bfeb70b903f1baac7f2ba2c62934c7e5b974c4", - "symbol": "BKB", - "decimal": 8, - "type": "default" - }, - { - "address": "0x45245bc59219eeaaf6cd3f382e078a461ff9de7b", - "symbol": "BKX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e", - "symbol": "BLT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xce59d29b09aae565feeef8e52f47c3cd5368c663", - "symbol": "BLX (Bullion)", - "decimal": 18, - "type": "default" - }, - { - "address": "0xE5a7c12972f3bbFe70ed29521C8949b8Af6a0970", - "symbol": "BLX (Iconomi)", - "decimal": 18, - "type": "default" - }, - { - "address": "0xdf6ef343350780bf8c3410bf062e0c015b1dd671", - "symbol": "BMC", - "decimal": 8, - "type": "default" - }, - { - "address": "0xf028adee51533b1b47beaa890feb54a457f51e89", - "symbol": "BMT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x986EE2B944c42D017F52Af21c4c69B84DBeA35d8", - "symbol": "BMX", - "decimal": 18, - "type": "default" - }, - { - "address": "0xb8c77482e45f1f44de1745f52c74426c631bdd52", - "symbol": "BNB", - "decimal": 18, - "type": "default" - }, - { - "address": "0xdD6Bf56CA2ada24c683FAC50E37783e55B57AF9F", - "symbol": "BNC", - "decimal": 12, - "type": "default" - }, - { - "address": "0xdA2C424Fc98c741c2d4ef2f42897CEfed897CA75", - "symbol": "BNFT", - "decimal": 9, - "type": "default" - }, - { - "address": "0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C", - "symbol": "BNT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xd2d6158683aee4cc838067727209a0aaf4359de3", - "symbol": "BNTY", - "decimal": 18, - "type": "default" - }, - { - "address": "0xCc34366E3842cA1BD36c1f324d15257960fCC801", - "symbol": "BON", - "decimal": 18, - "type": "default" - }, - { - "address": "0x7f1e2c7d6a69bf34824d72c53b4550e895c0d8c2", - "symbol": "BOP", - "decimal": 8, - "type": "default" - }, - { - "address": "0xC2C63F23ec5E97efbD7565dF9Ec764FDc7d4e91d", - "symbol": "BOU", - "decimal": 18, - "type": "default" - }, - { - "address": "0x327682779bAB2BF4d1337e8974ab9dE8275A7Ca8", - "symbol": "BPT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5Af2Be193a6ABCa9c8817001F45744777Db30756", - "symbol": "BQX", - "decimal": 8, - "type": "default" - }, - { - "address": "0x9E77D5a1251b6F7D456722A6eaC6D2d5980bd891", - "symbol": "BRAT", - "decimal": 8, - "type": "default" - }, - { - "address": "0xf26ef5e0545384b7dcc0f297f2674189586830df", - "symbol": "BSDC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a", - "symbol": "BST", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0886949c1b8C412860c4264Ceb8083d1365e86CF", - "symbol": "BTCE", - "decimal": 8, - "type": "default" - }, - { - "address": "0x73dd069c299a5d691e9836243bcaec9c8c1d8734", - "symbol": "BTE", - "decimal": 8, - "type": "default" - }, - { - "address": "0xfad572db566e5234ac9fc3d570c4edc0050eaa92", - "symbol": "BTH", - "decimal": 18, - "type": "default" - }, - { - "address": "0xa02e3bb9cebc03952601b3724b4940e0845bebcf", - "symbol": "BTHR", - "decimal": 18, - "type": "default" - }, - { - "address": "0xdb8646f5b487b5dd979fac618350e85018f557d4", - "symbol": "BTK", - "decimal": 18, - "type": "default" - }, - { - "address": "0x2accaB9cb7a48c3E82286F0b2f8798D201F4eC3f", - "symbol": "BTL (Battle)", - "decimal": 18, - "type": "default" - }, - { - "address": "0x92685E93956537c25Bb75D5d47fca4266dd628B8", - "symbol": "BTL (Bitlle)", - "decimal": 4, - "type": "default" - }, - { - "address": "0xcb97e65f07da24d46bcdd078ebebd7c6e6e3d750", - "symbol": "BTM", - "decimal": 8, - "type": "default" - }, - { - "address": "0x16B0E62aC13a2fAeD36D18bce2356d25Ab3CfAD3", - "symbol": "BTQ", - "decimal": 18, - "type": "default" - }, - { - "address": "0x080aa07e2c7185150d7e4da98838a8d2feac3dfc", - "symbol": "BTT", - "decimal": 0, - "type": "default" - }, - { - "address": "0xca3c18a65b802ec267f8f4802545e7f53d24c75e", - "symbol": "BUC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x74C1E4b8caE59269ec1D85D3D4F324396048F4ac", - "symbol": "BeerCoin", - "decimal": 0, - "type": "default" - }, - { - "address": "0x26E75307Fc0C021472fEb8F727839531F112f317", - "symbol": "C20", - "decimal": 18, - "type": "default" - }, - { - "address": "0x7d4b8Cce0591C9044a22ee543533b72E976E36C3", - "symbol": "CAG", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1d462414fe14cf489c7A21CaC78509f4bF8CD7c0", - "symbol": "CAN", - "decimal": 6, - "type": "default" - }, - { - "address": "0x423e4322cdda29156b49a17dfbd2acc4b280600d", - "symbol": "CAR", - "decimal": 9, - "type": "default" - }, - { - "address": "0xa517a46baad6b054a76bd19c46844f717fe69fea", - "symbol": "CARB", - "decimal": 8, - "type": "default" - }, - { - "address": "0xe8780B48bdb05F928697A5e8155f672ED91462F7", - "symbol": "CAS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1234567461d3f8db7496581774bd869c83d51c93", - "symbol": "CAT (BitClave)", - "decimal": 18, - "type": "default" - }, - { - "address": "0x56ba2Ee7890461f463F7be02aAC3099f6d5811A8", - "symbol": "CAT (Blockcat)", - "decimal": 18, - "type": "default" - }, - { - "address": "0x68e14bb5A45B9681327E16E528084B9d962C1a39", - "symbol": "CATs (BitClave)_Old", - "decimal": 18, - "type": "default" - }, - { - "address": "0xc166038705FFBAb3794185b3a9D925632A1DF37D", - "symbol": "CC3", - "decimal": 18, - "type": "default" - }, - { - "address": "0x28577A6d31559bd265Ce3ADB62d0458550F7b8a7", - "symbol": "CCC (CryptoCrashCourse)", - "decimal": 18, - "type": "default" - }, - { - "address": "0xbe11eeb186e624b8f26a5045575a1340e4054552", - "symbol": "CCC (ICONOMI)", - "decimal": 18, - "type": "default" - }, - { - "address": "0xd348e07a2806505b856123045d27aeed90924b50", - "symbol": "CCLC", - "decimal": 8, - "type": "default" - }, - { - "address": "0x315ce59fafd3a8d562b7ec1c8542382d2710b06c", - "symbol": "CCS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x8a95ca448A52C0ADf0054bB3402dC5e09CD6B232", - "symbol": "CDL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x177d39AC676ED1C67A2b268AD7F1E58826E5B0af", - "symbol": "CDT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6fFF3806Bbac52A20e0d79BC538d527f6a22c96b", - "symbol": "CDX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x12FEF5e57bF45873Cd9B62E9DBd7BFb99e32D73e", - "symbol": "CFI", - "decimal": 18, - "type": "default" - }, - { - "address": "0xba9d4199fab4f26efe3551d490e3821486f135ba", - "symbol": "CHSB", - "decimal": 8, - "type": "default" - }, - { - "address": "0x06012c8cf97bead5deae237070f9587f8e7a266d", - "symbol": "CK", - "decimal": 0, - "type": "default" - }, - { - "address": "0x3dc9a42fa7afe57be03c58fd7f4411b1e466c508", - "symbol": "CLL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4162178B78D6985480A308B2190EE5517460406D", - "symbol": "CLN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x7fce2856899a6806eeef70807985fc7554c66340", - "symbol": "CLP", - "decimal": 9, - "type": "default" - }, - { - "address": "0x3edd235c3e840c1f29286b2e39370a255c7b6fdb", - "symbol": "CMBT", - "decimal": 8, - "type": "default" - }, - { - "address": "0x7e667525521cF61352e2E01b50FaaaE7Df39749a", - "symbol": "CMC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xf85fEea2FdD81d51177F6b8F35F0e6734Ce45F5F", - "symbol": "CMT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xEBf2F9E8De960f64ec0fDCDa6Cb282423133347B", - "symbol": "CNB", - "decimal": 8, - "type": "default" - }, - { - "address": "0xd4c435f5b09f855c3317c8524cb1f586e42795fa", - "symbol": "CND", - "decimal": 18, - "type": "default" - }, - { - "address": "0xB4b1D2C217EC0776584CE08D3DD98F90EDedA44b", - "symbol": "CO2", - "decimal": 18, - "type": "default" - }, - { - "address": "0xb2f7eb1f2c37645be61d73953035360e768d81e6", - "symbol": "COB", - "decimal": 18, - "type": "default" - }, - { - "address": "0x3136eF851592aCf49CA4C825131E364170FA32b3", - "symbol": "COFI", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0c91b015aba6f7b4738dcd36e7410138b29adc29", - "symbol": "COIL", - "decimal": 8, - "type": "default" - }, - { - "address": "0x65292eeadf1426cd2df1c4793a3d7519f253913b", - "symbol": "COSS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x9e96604445ec19ffed9a5e8dd7b50a29c899a10c", - "symbol": "COSS", - "decimal": 18, - "type": "default" - }, - { - "address": "0xf44745fbd41f6a1ba151df190db0564c5fcc4410", - "symbol": "CPY", - "decimal": 18, - "type": "default" - }, - { - "address": "0x7f585b9130c64e9e9f470b618a7badd03d79ca7e", - "symbol": "CR7", - "decimal": 18, - "type": "default" - }, - { - "address": "0xAef38fBFBF932D1AeF3B808Bc8fBd8Cd8E1f8BC5", - "symbol": "CRB", - "decimal": 8, - "type": "default" - }, - { - "address": "0x672a1AD4f667FB18A333Af13667aa0Af1F5b5bDD", - "symbol": "CRED", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4e0603e2a27a30480e5e3a4fe548e29ef12f64be", - "symbol": "CREDO", - "decimal": 18, - "type": "default" - }, - { - "address": "0x80a7e048f37a50500351c204cb407766fa3bae7f", - "symbol": "CRPT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xF0da1186a4977226b9135d0613ee72e229EC3F4d", - "symbol": "CRT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4545750F39aF6Be4F237B6869D4EccA928Fd5A85", - "symbol": "CTF", - "decimal": 18, - "type": "default" - }, - { - "address": "0xbf4cfd7d1edeeea5f6600827411b41a21eb08abd", - "symbol": "CTL", - "decimal": 2, - "type": "default" - }, - { - "address": "0xE3Fa177AcecfB86721Cf6f9f4206bd3Bd672D7d5", - "symbol": "CTT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x662aBcAd0b7f345AB7FfB1b1fbb9Df7894f18e66", - "symbol": "CTX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x41e5560054824ea6b0732e656e3ad64e20e94e45", - "symbol": "CVC", - "decimal": 8, - "type": "default" - }, - { - "address": "0x2134057c0b461f898d375cead652acae62b59541", - "symbol": "CXC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xb6EE9668771a79be7967ee29a63D4184F8097143", - "symbol": "CXO", - "decimal": 18, - "type": "default" - }, - { - "address": "0xE4c94d45f7Aef7018a5D66f44aF780ec6023378e", - "symbol": "CryptoCarbon", - "decimal": 6, - "type": "default" - }, - { - "address": "0xdab0C31BF34C897Fb0Fe90D12EC9401caf5c36Ec", - "symbol": "DAB", - "decimal": 0, - "type": "default" - }, - { - "address": "0xfb2f26f266fb2805a387230f2aa0a331b4d96fba", - "symbol": "DADI", - "decimal": 18, - "type": "default" - }, - { - "address": "0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359", - "symbol": "DAI", - "decimal": 18, - "type": "default" - }, - { - "address": "0x07d9e49ea402194bf48a8276dafb16e4ed633317", - "symbol": "DALC", - "decimal": 8, - "type": "default" - }, - { - "address": "0x9B70740e708a083C6fF38Df52297020f5DfAa5EE", - "symbol": "DAN", - "decimal": 10, - "type": "default" - }, - { - "address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413", - "symbol": "DAO", - "decimal": 16, - "type": "default" - }, - { - "address": "0x81c9151de0c8bafcd325a57e3db5a5df1cebf79c", - "symbol": "DAT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1b5f21ee98eed48d292e8e2d3ed82b40a9728a22", - "symbol": "DATABroker", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0cf0ee63788a0849fe5297f3407f701e122cc023", - "symbol": "DATACoin", - "decimal": 18, - "type": "default" - }, - { - "address": "0x61725f3db4004afe014745b21dab1e1677cc328b", - "symbol": "DAXT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x386Faa4703a34a7Fdb19Bec2e14Fd427C9638416", - "symbol": "DCA", - "decimal": 18, - "type": "default" - }, - { - "address": "0x399A0e6FbEb3d74c85357439f4c8AeD9678a5cbF", - "symbol": "DCL", - "decimal": 3, - "type": "default" - }, - { - "address": "0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6", - "symbol": "DCN", - "decimal": 0, - "type": "default" - }, - { - "address": "0xcC4eF9EEAF656aC1a2Ab886743E98e97E090ed38", - "symbol": "DDF", - "decimal": 18, - "type": "default" - }, - { - "address": "0x151202C9c18e495656f372281F493EB7698961D5", - "symbol": "DEB", - "decimal": 18, - "type": "default" - }, - { - "address": "0x3597bfd533a99c9aa083587b074434e61eb0a258", - "symbol": "DENT", - "decimal": 8, - "type": "default" - }, - { - "address": "0x7cF271966F36343Bf0150F25E5364f7961c58201", - "symbol": "DEPO", - "decimal": 0, - "type": "default" - }, - { - "address": "0xE0B7927c4aF23765Cb51314A0E0521A9645F0E2A", - "symbol": "DGD", - "decimal": 9, - "type": "default" - }, - { - "address": "0xf6cFe53d6FEbaEEA051f400ff5fc14F0cBBDacA1", - "symbol": "DGPT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x55b9a11c2e8351b4Ffc7b11561148bfaC9977855", - "symbol": "DGX", - "decimal": 9, - "type": "default" - }, - { - "address": "0x2e071D2966Aa7D8dECB1005885bA1977D6038A65", - "symbol": "DICE", - "decimal": 16, - "type": "default" - }, - { - "address": "0x13f11C9905A08ca76e3e853bE63D4f0944326C72", - "symbol": "DIVX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x07e3c70653548b04f0a75970c1f81b4cbbfb606f", - "symbol": "DLT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x2ccbFF3A042c68716Ed2a2Cb0c544A9f1d1935E1", - "symbol": "DMT", - "decimal": 8, - "type": "default" - }, - { - "address": "0x0abdace70d3790235af448c88547603b945604ea", - "symbol": "DNT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xE43E2041dc3786e166961eD9484a5539033d10fB", - "symbol": "DNX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x76974c7b79dc8a6a109fd71fd7ceb9e40eff5382", - "symbol": "DOW", - "decimal": 18, - "type": "default" - }, - { - "address": "0x01b3Ec4aAe1B8729529BEB4965F27d008788B0EB", - "symbol": "DPP", - "decimal": 18, - "type": "default" - }, - { - "address": "0x419c4db4b9e25d6db2ad9691ccb832c8d9fda05e", - "symbol": "DRGN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4672bad527107471cb5067a887f4656d585a8a31", - "symbol": "DROP (dropil)", - "decimal": 18, - "type": "default" - }, - { - "address": "0x3c75226555FC496168d48B88DF83B95F16771F37", - "symbol": "DROP (droplex)", - "decimal": 0, - "type": "default" - }, - { - "address": "0x621d78f2ef2fd937bfca696cabaf9a779f59b3ed", - "symbol": "DRP", - "decimal": 2, - "type": "default" - }, - { - "address": "0x2799d90c6d44cb9aa5fbc377177f16c33e056b82", - "symbol": "DRP (Dripcoin)", - "decimal": 0, - "type": "default" - }, - { - "address": "0x1e09BD8Cadb441632e441Db3e1D79909EE0A2256", - "symbol": "DSC", - "decimal": 1, - "type": "default" - }, - { - "address": "0xd234bf2410a0009df9c3c63b610c09738f18ccd7", - "symbol": "DTR", - "decimal": 8, - "type": "default" - }, - { - "address": "0x765f0c16d1ddc279295c1a7c24b0883f62d33f75", - "symbol": "DTX", - "decimal": 18, - "type": "default" - }, - { - "address": "0xd4cffeef10f60eca581b5e1146b5aca4194a4c3b", - "symbol": "DUBI", - "decimal": 18, - "type": "default" - }, - { - "address": "0xdd94De9cFE063577051A5eb7465D08317d8808B6", - "symbol": "Devcon2 Token", - "decimal": 0, - "type": "default" - }, - { - "address": "0x994f0dffdbae0bbf09b652d6f11a493fd33f42b9", - "symbol": "EAGLE", - "decimal": 18, - "type": "default" - }, - { - "address": "0xa578acc0cb7875781b7880903f4594d13cfa8b98", - "symbol": "ECN", - "decimal": 2, - "type": "default" - }, - { - "address": "0x17F93475d2A978f527c3f7c44aBf44AdfBa60D5C", - "symbol": "ECO2", - "decimal": 2, - "type": "default" - }, - { - "address": "0xfa1de2ee97e4c10c94c91cb2b5062b89fb140b82", - "symbol": "EDC", - "decimal": 6, - "type": "default" - }, - { - "address": "0x08711D3B02C8758F2FB3ab4e80228418a7F8e39c", - "symbol": "EDG", - "decimal": 0, - "type": "default" - }, - { - "address": "0xced4e93198734ddaff8492d525bd258d49eb388e", - "symbol": "EDO", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5b26C5D0772E5bbaC8b3182AE9a13f9BB2D03765", - "symbol": "LEDU", - "decimal": 8, - "type": "default" - }, - { - "address": "0xf9F0FC7167c311Dd2F1e21E9204F87EBA9012fB2", - "symbol": "EHT", - "decimal": 8, - "type": "default" - }, - { - "address": "0xbf2179859fc6d5bee9bf9158632dc51678a4100e", - "symbol": "ELF", - "decimal": 18, - "type": "default" - }, - { - "address": "0xc8C6A31A4A806d3710A7B38b7B296D2fABCCDBA8", - "symbol": "ELIX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x44197a4c44d6a059297caf6be4f7e172bd56caaf", - "symbol": "ELTCOIN", - "decimal": 8, - "type": "default" - }, - { - "address": "0xb67b88a25708a35ae7c2d736d398d268ce4f7f83", - "symbol": "EMON", - "decimal": 8, - "type": "default" - }, - { - "address": "0x95daaab98046846bf4b2853e23cba236fa394a31", - "symbol": "EMONT", - "decimal": 8, - "type": "default" - }, - { - "address": "0x9501BFc48897DCEEadf73113EF635d2fF7ee4B97", - "symbol": "EMT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xB802b24E0637c2B87D2E8b7784C055BBE921011a", - "symbol": "EMV", - "decimal": 2, - "type": "default" - }, - { - "address": "0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c", - "symbol": "ENJ", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5BC7e5f0Ab8b2E10D2D0a3F21739FCe62459aeF3", - "symbol": "ENTRP", - "decimal": 18, - "type": "default" - }, - { - "address": "0x35BAA72038F127f9f8C8f9B491049f64f377914d", - "symbol": "EPX", - "decimal": 4, - "type": "default" - }, - { - "address": "0x86fa049857e0209aa7d9e616f7eb3b3b78ecfdb0", - "symbol": "EOS", - "decimal": 18, - "type": "default" - }, - { - "address": "0xe8a1df958be379045e2b46a31a98b93a2ecdfded", - "symbol": "ESZ", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1b9743f556d65e757c4c650b4555baf354cb8bd3", - "symbol": "ETBS", - "decimal": 12, - "type": "default" - }, - { - "address": "0x3a26746Ddb79B1B8e4450e3F4FFE3285A307387E", - "symbol": "ETHB", - "decimal": 8, - "type": "default" - }, - { - "address": "0xdd74a7a3769fa72561b3a69e65968f49748c690c", - "symbol": "ETCH", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6927C69fb4daf2043fbB1Cb7b86c5661416bea29", - "symbol": "ETR", - "decimal": 18, - "type": "default" - }, - { - "address": "0xabdf147870235fcfc34153828c769a70b3fae01f", - "symbol": "EURT", - "decimal": 6, - "type": "default" - }, - { - "address": "0x923108a439C4e8C2315c4f6521E5cE95B44e9B4c", - "symbol": "EVE", - "decimal": 18, - "type": "default" - }, - { - "address": "0xd780Ae2Bf04cD96E577D3D014762f831d97129d0", - "symbol": "EVN", - "decimal": 18, - "type": "default" - }, - { - "address": "0xf3db5fa2c66b7af3eb0c0b782510816cbe4813b8", - "symbol": "EVX", - "decimal": 4, - "type": "default" - }, - { - "address": "0xc98e0639c6d2ec037a615341c369666b110e80e5", - "symbol": "EXMR", - "decimal": 8, - "type": "default" - }, - { - "address": "0xb67734521eAbBE9C773729dB73E16CC2dfb20A58", - "symbol": "E₹", - "decimal": 2, - "type": "default" - }, - { - "address": "0x190e569bE071F40c704e15825F285481CB74B6cC", - "symbol": "FAM", - "decimal": 12, - "type": "default" - }, - { - "address": "0x009e864923b49263c7F10D19B7f8Ab7a9A5AAd33", - "symbol": "FKX", - "decimal": 18, - "type": "default" - }, - { - "address": "0xf04a8ac553FceDB5BA99A64799155826C136b0Be", - "symbol": "FLIXX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x04cC783b450b8D11F3C7d00DD03fDF7FB51fE9F2", - "symbol": "FLMC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3", - "symbol": "FLP", - "decimal": 18, - "type": "default" - }, - { - "address": "0x954b5de09a55e59755acbda29e1eb74a45d30175", - "symbol": "FLUZ", - "decimal": 18, - "type": "default" - }, - { - "address": "0x70b147e01e9285e7ce68b9ba437fe3a9190e756a", - "symbol": "FLX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4df47b4969b2911c966506e3592c41389493953b", - "symbol": "FND", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0ABeFb7611Cb3A01EA3FaD85f33C3C934F8e2cF4", - "symbol": "FRD", - "decimal": 18, - "type": "default" - }, - { - "address": "0xe6f74dcfa0e20883008d8c16b6d9a329189d0c30", - "symbol": "FTC", - "decimal": 2, - "type": "default" - }, - { - "address": "0x2023DCf7c438c8C8C0B0F28dBaE15520B4f3Ee20", - "symbol": "FTR", - "decimal": 18, - "type": "default" - }, - { - "address": "0x65be44c747988fbf606207698c944df4442efe19", - "symbol": "FUCK", - "decimal": 4, - "type": "default" - }, - { - "address": "0xEA38eAa3C86c8F9B751533Ba2E562deb9acDED40", - "symbol": "FUEL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b", - "symbol": "FUN", - "decimal": 8, - "type": "default" - }, - { - "address": "0x88FCFBc22C6d3dBaa25aF478C578978339BDe77a", - "symbol": "FYN", - "decimal": 18, - "type": "default" - }, - { - "address": "0xf67451dc8421f0e0afeb52faa8101034ed081ed9", - "symbol": "GAM", - "decimal": 8, - "type": "default" - }, - { - "address": "0x708876f486e448ee89eb332bfbc8e593553058b9", - "symbol": "GAVEL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x7585F835ae2d522722d2684323a0ba83401f32f5", - "symbol": "GBT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x12fCd6463E66974cF7bBC24FFC4d40d6bE458283", - "symbol": "GBX", - "decimal": 8, - "type": "default" - }, - { - "address": "0xdb0F69306FF8F949f258E83f6b87ee5D052d0b23", - "symbol": "GCP", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4F4f0Db4de903B88f2B1a2847971E231D54F8fd3", - "symbol": "GEE", - "decimal": 8, - "type": "default" - }, - { - "address": "0x24083bb30072643c3bb90b44b7285860a755e687", - "symbol": "GELD", - "decimal": 18, - "type": "default" - }, - { - "address": "0xaE4f56F072c34C0a65B3ae3E4DB797D831439D93", - "symbol": "GIM", - "decimal": 8, - "type": "default" - }, - { - "address": "0xb3Bd49E28f8F832b8d1E246106991e546c323502", - "symbol": "GMT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6810e776880C02933D47DB1b9fc05908e5386b96", - "symbol": "GNO", - "decimal": 18, - "type": "default" - }, - { - "address": "0xa74476443119A942dE498590Fe1f2454d7D4aC0d", - "symbol": "GNT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xeAb43193CF0623073Ca89DB9B712796356FA7414", - "symbol": "GOLDX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x12b19d3e2ccc14da04fae33e63652ce469b3f2fd", - "symbol": "GRID", - "decimal": 12, - "type": "default" - }, - { - "address": "0xB70835D7822eBB9426B56543E391846C107bd32C", - "symbol": "GTC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x025abad9e518516fdaafbdcdb9701b37fb7ef0fa", - "symbol": "GTKT", - "decimal": 0, - "type": "default" - }, - { - "address": "0xf7B098298f7C69Fc14610bf71d5e02c60792894C", - "symbol": "GUP", - "decimal": 3, - "type": "default" - }, - { - "address": "0x103c3A209da59d3E7C4A89307e66521e081CFDF0", - "symbol": "GVT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x58ca3065c0f24c7c96aee8d6056b5b5decf9c2f8", - "symbol": "GXC", - "decimal": 10, - "type": "default" - }, - { - "address": "0x22F0AF8D78851b72EE799e05F54A77001586B18A", - "symbol": "GXVC", - "decimal": 10, - "type": "default" - }, - { - "address": "0x8C65e992297d5f092A756dEf24F4781a280198Ff", - "symbol": "GZE", - "decimal": 18, - "type": "default" - }, - { - "address": "0x9002D4485b7594e3E850F0a206713B305113f69e", - "symbol": "HAT", - "decimal": 12, - "type": "default" - }, - { - "address": "0xffe8196bc259e8dedc544d935786aa4709ec3e64", - "symbol": "HDG", - "decimal": 18, - "type": "default" - }, - { - "address": "0xba2184520A1cC49a6159c57e61E1844E085615B6", - "symbol": "HGT", - "decimal": 8, - "type": "default" - }, - { - "address": "0xa9240fBCAC1F0b9A6aDfB04a53c8E3B0cC1D1444", - "symbol": "HIG", - "decimal": 18, - "type": "default" - }, - { - "address": "0x14F37B574242D366558dB61f3335289a5035c506", - "symbol": "HKG", - "decimal": 3, - "type": "default" - }, - { - "address": "0x88ac94d5d175130347fc95e109d77ac09dbf5ab7", - "symbol": "HKY", - "decimal": 18, - "type": "default" - }, - { - "address": "0xcbCC0F036ED4788F63FC0fEE32873d6A7487b908", - "symbol": "HMQ", - "decimal": 8, - "type": "default" - }, - { - "address": "0xb45d7Bc4cEBcAB98aD09BABDF8C818B2292B672c", - "symbol": "HODL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5B0751713b2527d7f002c0c4e2a37e1219610A6B", - "symbol": "HORSE", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6c6ee5e31d828de241282b9606c8e98ea48526e2", - "symbol": "HOT (HoloToken)", - "decimal": 18, - "type": "default" - }, - { - "address": "0x9af839687f6c94542ac5ece2e317daae355493a1", - "symbol": "HOT (Hydro Protocol)", - "decimal": 18, - "type": "default" - }, - { - "address": "0x554C20B7c486beeE439277b4540A434566dC4C02", - "symbol": "HST", - "decimal": 18, - "type": "default" - }, - { - "address": "0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D", - "symbol": "HVN", - "decimal": 8, - "type": "default" - }, - { - "address": "0xe9ff07809ccff05dae74990e25831d0bc5cbe575", - "symbol": "Hdp", - "decimal": 18, - "type": "default" - }, - { - "address": "0x84543f868ec1b1fac510d49d13c069f64cd2d5f9", - "symbol": "Hdp.ф", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5a84969bb663fb64F6d015DcF9F622Aedc796750", - "symbol": "ICE", - "decimal": 18, - "type": "default" - }, - { - "address": "0x888666CA69E0f178DED6D75b5726Cee99A87D698", - "symbol": "ICN", - "decimal": 18, - "type": "default" - }, - { - "address": "0xa33e729bf4fdeb868b534e1f20523463d9c46bee", - "symbol": "ICO", - "decimal": 10, - "type": "default" - }, - { - "address": "0x014B50466590340D41307Cc54DCee990c8D58aa8", - "symbol": "ICOS", - "decimal": 6, - "type": "default" - }, - { - "address": "0xb5a5f22694352c15b00323844ad545abb2b11028", - "symbol": "ICX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x814cafd4782d2e728170fda68257983f03321c58", - "symbol": "IDEA", - "decimal": 0, - "type": "default" - }, - { - "address": "0x7654915a1b82d6d2d0afc37c52af556ea8983c7e", - "symbol": "IFT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x16662f73df3e79e54c6c5938b4313f92c524c120", - "symbol": "IIC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x88AE96845e157558ef59e9Ff90E766E22E480390", - "symbol": "IKB", - "decimal": 0, - "type": "default" - }, - { - "address": "0xe3831c5A982B279A198456D577cfb90424cb6340", - "symbol": "IMC", - "decimal": 6, - "type": "default" - }, - { - "address": "0x22E5F62D0FA19974749faa194e3d3eF6d89c08d7", - "symbol": "IMT", - "decimal": 0, - "type": "default" - }, - { - "address": "0xf8e386EDa857484f5a12e4B5DAa9984E06E73705", - "symbol": "IND", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5b2e4a700dfbc560061e957edec8f6eeeb74a320", - "symbol": "INS", - "decimal": 10, - "type": "default" - }, - { - "address": "0xc72fe8e3dd5bef0f9f31f259399f301272ef2a2d", - "symbol": "INSTAR", - "decimal": 18, - "type": "default" - }, - { - "address": "0xa8006c4ca56f24d6836727d106349320db7fef82", - "symbol": "INXT", - "decimal": 8, - "type": "default" - }, - { - "address": "0x64CdF819d3E75Ac8eC217B3496d7cE167Be42e80", - "symbol": "IPL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x001f0aa5da15585e5b2305dbab2bac425ea71007", - "symbol": "IPSX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5e6b6d9abad9093fdc861ea1600eba1b355cd940", - "symbol": "ITC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0aeF06DcCCC531e581f0440059E6FfCC206039EE", - "symbol": "ITT", - "decimal": 8, - "type": "default" - }, - { - "address": "0xfca47962d45adfdfd1ab2d972315db4ce7ccf094", - "symbol": "IXT", - "decimal": 8, - "type": "default" - }, - { - "address": "0xc34b21f6f8e51cc965c2393b3ccfa3b82beb2403", - "symbol": "IoT", - "decimal": 6, - "type": "default" - }, - { - "address": "0x0d262e5dc4a06a0f1c90ce79c7a60c09dfc884e4", - "symbol": "J8T", - "decimal": 8, - "type": "default" - }, - { - "address": "0x0Aaf561eFF5BD9c8F911616933F84166A17cfE0C", - "symbol": "JBX", - "decimal": 0, - "type": "default" - }, - { - "address": "0x8727c112c712c4a03371ac87a74dd6ab104af768", - "symbol": "JET", - "decimal": 18, - "type": "default" - }, - { - "address": "0xa5Fd1A791C4dfcaacC963D4F73c6Ae5824149eA7", - "symbol": "JNT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x773450335eD4ec3DB45aF74f34F2c85348645D39", - "symbol": "JetCoins", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0D6DD9f68d24EC1d5fE2174f3EC8DAB52B52BaF5", - "symbol": "KC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x72D32ac1c5E66BfC5b08806271f8eEF915545164", - "symbol": "KEE", - "decimal": 0, - "type": "default" - }, - { - "address": "0x4CC19356f2D37338b9802aa8E8fc58B0373296E7", - "symbol": "KEY (SelfKey)", - "decimal": 18, - "type": "default" - },{ - "address": "0x4cd988afbad37289baaf53c13e98e2bd46aaea8c", - "symbol": "KEY (BihuKey)", - "decimal": 18, - "type": "default" -}, - { - "address": "0x27695E09149AdC738A978e9A678F99E4c39e9eb9", - "symbol": "KICK", - "decimal": 8, - "type": "default" - }, - { - "address": "0x818Fc6C2Ec5986bc6E2CBf00939d90556aB12ce5", - "symbol": "KIN", - "decimal": 18, - "type": "default" - }, - { - "address": "0xdd974D5C2e2928deA5F71b9825b8b646686BD200", - "symbol": "KNC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xb5c33f965c8899d255c34cdd2a3efa8abcbb3dea", - "symbol": "KPR", - "decimal": 18, - "type": "default" - }, - { - "address": "0x9541FD8B9b5FA97381783783CeBF2F5fA793C262", - "symbol": "KZN", - "decimal": 8, - "type": "default" - }, - { - "address": "0xE50365f5D679CB98a1dd62D6F6e58e59321BcdDf", - "symbol": "LA", - "decimal": 18, - "type": "default" - }, - { - "address": "0xfD107B473AB90e8Fbd89872144a3DC92C40Fa8C9", - "symbol": "LALA", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5102791ca02fc3595398400bfe0e33d7b6c82267", - "symbol": "LDC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xd6e354F07319e2474491D8c7c712137bEe6862a2", - "symbol": "LEMO", - "decimal": 0, - "type": "default" - }, - { - "address": "0xc798cd1c49db0e297312e4c682752668ce1db2ad", - "symbol": "LFR", - "decimal": 5, - "type": "default" - }, - { - "address": "0x2eb86e8fc520e0f6bb5d9af08f924fe70558ab89", - "symbol": "LGR", - "decimal": 8, - "type": "default" - }, - { - "address": "0xEB9951021698B42e4399f9cBb6267Aa35F82D59D", - "symbol": "LIF", - "decimal": 18, - "type": "default" - }, - { - "address": "0xff18dbc487b4c2e3222d115952babfda8ba52f5f", - "symbol": "LIFE", - "decimal": 18, - "type": "default" - }, - { - "address": "0x514910771af9ca656af840dff83e8264ecf986ca", - "symbol": "LINK (Chainlink)", - "decimal": 18, - "type": "default" - }, - { - "address": "0xe2e6d4be086c6938b53b22144855eef674281639", - "symbol": "LINK Platform", - "decimal": 18, - "type": "default" - }, - { - "address": "0x24A77c1F17C547105E14813e517be06b0040aa76", - "symbol": "LIVE", - "decimal": 18, - "type": "default" - }, - { - "address": "0x63e634330A20150DbB61B15648bC73855d6CCF07", - "symbol": "LNC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6beb418fc6e1958204ac8baddcf109b8e9694966", - "symbol": "LNC-Linker Coin", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0947b0e6D821378805c9598291385CE7c791A6B2", - "symbol": "LND", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5e3346444010135322268a4630d2ed5f8d09446c", - "symbol": "LOC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x9c23d67aea7b95d80942e3836bcdf7e708a747c2", - "symbol": "LOCI", - "decimal": 18, - "type": "default" - }, - { - "address": "0xC64500DD7B0f1794807e67802F8Abbf5F8Ffb054", - "symbol": "LOCUS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x21ae23b882a340a22282162086bc98d3e2b73018", - "symbol": "LOK", - "decimal": 18, - "type": "default" - }, - { - "address": "0xa4e8c3ec456107ea67d3075bf9e3df3a75823db0", - "symbol": "LOOM", - "decimal": 18, - "type": "default" - }, - { - "address": "0xEF68e7C694F40c8202821eDF525dE3782458639f", - "symbol": "LRC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xFB12e3CcA983B9f59D90912Fd17F8D745A8B2953", - "symbol": "LUCK", - "decimal": 0, - "type": "default" - }, - { - "address": "0xa89b5934863447f6e4fc53b315a93e873bda69a3", - "symbol": "LUM", - "decimal": 18, - "type": "default" - }, - { - "address": "0xfa05A73FfE78ef8f1a739473e462c54bae6567D9", - "symbol": "LUN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x3f4b726668da46f5e0e75aa5d478acec9f38210f", - "symbol": "M-ETH", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5b09a0371c1da44a8e24d36bf5deb1141a84d875", - "symbol": "MAD", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0F5D2fB29fb7d3CFeE444a200298f468908cC942", - "symbol": "MANA", - "decimal": 18, - "type": "default" - }, - { - "address": "0x386467f1f3ddbe832448650418311a479eecfc57", - "symbol": "MBRS", - "decimal": 0, - "type": "default" - }, - { - "address": "0x93E682107d1E9defB0b5ee701C71707a4B2E46Bc", - "symbol": "MCAP", - "decimal": 8, - "type": "default" - }, - { - "address": "0x138A8752093F4f9a79AaeDF48d4B9248fab93c9C", - "symbol": "MCI", - "decimal": 18, - "type": "default" - }, - { - "address": "0xB63B606Ac810a52cCa15e44bB630fd42D8d1d83d", - "symbol": "MCO", - "decimal": 8, - "type": "default" - }, - { - "address": "0x51DB5Ad35C671a87207d88fC11d593AC0C8415bd", - "symbol": "MDA", - "decimal": 18, - "type": "default" - }, - { - "address": "0x01f2acf2914860331c1cb1a9acecda7475e06af8", - "symbol": "MESH", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5b8d43ffde4a2982b9a5387cdf21d54ead64ac8d", - "symbol": "MEST", - "decimal": 18, - "type": "default" - }, - { - "address": "0x40395044ac3c0c57051906da938b54bd6557f212", - "symbol": "MGO", - "decimal": 8, - "type": "default" - }, - { - "address": "0xe23cd160761f63FC3a1cF78Aa034b6cdF97d3E0C", - "symbol": "MIT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2", - "symbol": "MKR", - "decimal": 18, - "type": "default" - }, - { - "address": "0xBEB9eF514a379B997e0798FDcC901Ee474B6D9A1", - "symbol": "MLN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1a95B271B0535D15fa49932Daba31BA612b52946", - "symbol": "MNE", - "decimal": 8, - "type": "default" - }, - { - "address": "0xA9877b1e05D035899131DBd1e403825166D09f92", - "symbol": "MNT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x83cee9e086a77e492ee0bb93c2b0437ad6fdeccc", - "symbol": "MNTP", - "decimal": 18, - "type": "default" - }, - { - "address": "0x957c30aB0426e0C93CD8241E2c60392d08c6aC8e", - "symbol": "MOD", - "decimal": 0, - "type": "default" - }, - { - "address": "0x21f0F0fD3141Ee9E11B3d7f13a1028CD515f459c", - "symbol": "MRP", - "decimal": 18, - "type": "default" - }, - { - "address": "0xAB6CF87a50F17d7F5E1FEaf81B6fE9FfBe8EBF84", - "symbol": "MRV", - "decimal": 18, - "type": "default" - }, - { - "address": "0x68AA3F232dA9bdC2343465545794ef3eEa5209BD", - "symbol": "MSP", - "decimal": 18, - "type": "default" - }, - { - "address": "0xaF4DcE16Da2877f8c9e00544c93B62Ac40631F16", - "symbol": "MTH", - "decimal": 5, - "type": "default" - }, - { - "address": "0xF433089366899D83a9f26A773D59ec7eCF30355e", - "symbol": "MTL", - "decimal": 8, - "type": "default" - }, - { - "address": "0x41dbecc1cdc5517c6f76f6a6e836adbee2754de3", - "symbol": "MTN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x7FC408011165760eE31bE2BF20dAf450356692Af", - "symbol": "MTR", - "decimal": 8, - "type": "default" - }, - { - "address": "0x1e49fF77c355A3e38D6651ce8404AF0E48c5395f", - "symbol": "MTRc", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0AF44e2784637218dD1D32A322D44e603A8f0c6A", - "symbol": "MTX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6425c6be902d692ae2db752b3c268afadb099d3b", - "symbol": "MWAT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xf7e983781609012307f2514f63D526D83D24F466", - "symbol": "MYD", - "decimal": 16, - "type": "default" - }, - { - "address": "0xa645264C5603E96c3b0B078cdab68733794B0A71", - "symbol": "MYST", - "decimal": 8, - "type": "default" - }, - { - "address": "0x588047365df5ba589f923604aac23d673555c623", - "symbol": "NAVI", - "decimal": 18, - "type": "default" - }, - { - "address": "0x17f8aFB63DfcDcC90ebE6e84F060Cc306A98257D", - "symbol": "NBAI", - "decimal": 18, - "type": "default" - }, - { - "address": "0x9e46a38f5daabe8683e10793b06749eef7d733d1", - "symbol": "NCT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xa54ddc7b3cce7fc8b1e3fa0256d0db80d2c10970", - "symbol": "NDC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xcfb98637bcae43C13323EAa1731cED2B716962fD", - "symbol": "NET", - "decimal": 18, - "type": "default" - }, - { - "address": "0xa823e6722006afe99e91c30ff5295052fe6b8e32", - "symbol": "NEU", - "decimal": 18, - "type": "default" - }, - { - "address": "0x72dd4b6bd852a3aa172be4d6c5a6dbec588cf131", - "symbol": "NGC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xe26517A9967299453d3F1B48Aa005E6127e67210", - "symbol": "NIMFA", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671", - "symbol": "NMR", - "decimal": 18, - "type": "default" - }, - { - "address": "0xec46f8207d766012454c408de210bcbc2243e71c", - "symbol": "NOX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4ce6b362bc77a24966dda9078f9cef81b3b886a7", - "symbol": "NPER", - "decimal": 18, - "type": "default" - }, - { - "address": "0xb91318f35bdb262e9423bc7c7c2a3a93dd93c92c", - "symbol": "NULS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x7627de4b93263a6a7570b8dafa64bae812e5c394", - "symbol": "NXX", - "decimal": 8, - "type": "default" - }, - { - "address": "0x5c6183d10A00CD747a6Dbb5F658aD514383e9419", - "symbol": "NXX OLD", - "decimal": 8, - "type": "default" - }, - { - "address": "0x45e42D659D9f9466cD5DF622506033145a9b89Bc", - "symbol": "NxC", - "decimal": 3, - "type": "default" - }, - { - "address": "0x701C244b988a513c945973dEFA05de933b23Fe1D", - "symbol": "OAX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0235fe624e044a05eed7a43e16e3083bc8a4287a", - "symbol": "OCC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6f539a9456a5bcb6334a1a41207c3788f5825207", - "symbol": "OHNI", - "decimal": 18, - "type": "default" - }, - { - "address": "0xc66ea802717bfb9833400264dd12c2bceaa34a6d", - "symbol": "OLD_MKR", - "decimal": 18, - "type": "default" - }, - { - "address": "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07", - "symbol": "OMG", - "decimal": 18, - "type": "default" - }, - { - "address": "0xb23be73573bc7e03db6e5dfc62405368716d28a8", - "symbol": "ONEK", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4355fC160f74328f9b383dF2EC589bB3dFd82Ba0", - "symbol": "OPT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x2C4e8f2D746113d0696cE89B35F0d8bF88E0AEcA", - "symbol": "OST", - "decimal": 18, - "type": "default" - }, - { - "address": "0x65a15014964f2102ff58647e16a16a6b9e14bcf6", - "symbol": "Ox Fina", - "decimal": 3, - "type": "default" - }, - { - "address": "0xfeDAE5642668f8636A11987Ff386bfd215F942EE", - "symbol": "PAL", - "decimal": 18, - "type": "default" - }, - { - "address": "0xea5f88e54d982cbb0c441cde4e79bc305e5b43bc", - "symbol": "PARETO", - "decimal": 18, - "type": "default" - }, - { - "address": "0x694404595e3075a942397f466aacd462ff1a7bd0", - "symbol": "PATENTS", - "decimal": 18, - "type": "default" - }, - { - "address": "0xF813F3902bBc00A6DCe378634d3B79D84F9803d7", - "symbol": "PATH", - "decimal": 18, - "type": "default" - }, - { - "address": "0xB97048628DB6B661D4C2aA833e95Dbe1A905B280", - "symbol": "PAY", - "decimal": 18, - "type": "default" - }, - { - "address": "0x55648de19836338549130b1af587f16bea46f66b", - "symbol": "PBL", - "decimal": 18, - "type": "default" - }, - { - "address": "0xF4c07b1865bC326A3c01339492Ca7538FD038Cc0", - "symbol": "PBT", - "decimal": 4, - "type": "default" - }, - { - "address": "0xfcAC7A7515e9A9d7619fA77A1fa738111f66727e", - "symbol": "PCH", - "decimal": 18, - "type": "default" - }, - { - "address": "0x3618516F45CD3c913F81F9987AF41077932Bc40d", - "symbol": "PCL", - "decimal": 8, - "type": "default" - }, - { - "address": "0x53148Bb4551707edF51a1e8d7A93698d18931225", - "symbol": "PCLOLD", - "decimal": 8, - "type": "default" - }, - { - "address": "0x5884969Ec0480556E11d119980136a4C17eDDEd1", - "symbol": "PET", - "decimal": 18, - "type": "default" - }, - { - "address": "0xec18f898b4076a3e18f1089d33376cc380bde61d", - "symbol": "PETRO", - "decimal": 18, - "type": "default" - }, - { - "address": "0x55c2A0C171D920843560594dE3d6EEcC09eFc098", - "symbol": "PEXT", - "decimal": 4, - "type": "default" - }, - { - "address": "0xE64509F0bf07ce2d29A7eF19A8A9bc065477C1B4", - "symbol": "PIPL", - "decimal": 8, - "type": "default" - }, - { - "address": "0x8eFFd494eB698cc399AF6231fCcd39E08fd20B15", - "symbol": "PIX", - "decimal": 0, - "type": "default" - }, - { - "address": "0x59416A25628A76b4730eC51486114c32E0B582A1", - "symbol": "PLASMA", - "decimal": 6, - "type": "default" - }, - { - "address": "0xE477292f1B3268687A29376116B0ED27A9c76170", - "symbol": "PLAY", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0AfFa06e7Fbe5bC9a764C979aA66E8256A631f02", - "symbol": "PLBT", - "decimal": 6, - "type": "default" - }, - { - "address": "0xe3818504c1B32bF1557b16C238B2E01Fd3149C17", - "symbol": "PLR", - "decimal": 18, - "type": "default" - }, - { - "address": "0xD8912C10681D8B21Fd3742244f44658dBA12264E", - "symbol": "PLU", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0e0989b1f9b8a38983c2ba8053269ca62ec9b195", - "symbol": "POE", - "decimal": 8, - "type": "default" - }, - { - "address": "0x43f6a1be992dee408721748490772b15143ce0a7", - "symbol": "POIN", - "decimal": 0, - "type": "default" - }, - { - "address": "0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC", - "symbol": "POLY", - "decimal": 18, - "type": "default" - }, - { - "address": "0x779B7b713C86e3E6774f5040D9cCC2D43ad375F8", - "symbol": "POOL", - "decimal": 8, - "type": "default" - }, - { - "address": "0xee609fe292128cad03b786dbb9bc2634ccdbe7fc", - "symbol": "POS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x595832f8fc6bf59c85c527fec3740a1b7a361269", - "symbol": "POWR", - "decimal": 6, - "type": "default" - }, - { - "address": "0xc42209accc14029c1012fb5680d95fbd6036e2a0", - "symbol": "PPP", - "decimal": 18, - "type": "default" - }, - { - "address": "0xd4fa1460F537bb9085d22C7bcCB5DD450Ef28e3a", - "symbol": "PPT", - "decimal": 8, - "type": "default" - }, - { - "address": "0x88a3e4f35d64aad41a6d4030ac9afe4356cb84fa", - "symbol": "PRE", - "decimal": 18, - "type": "default" - }, - { - "address": "0x7728dfef5abd468669eb7f9b48a7f70a501ed29d", - "symbol": "PRG", - "decimal": 6, - "type": "default" - }, - { - "address": "0x1844b21593262668b7248d0f57a220caaba46ab9", - "symbol": "PRL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x226bb599a12C826476e3A771454697EA52E9E220", - "symbol": "PRO", - "decimal": 8, - "type": "default" - }, - { - "address": "0xA3149E0fA0061A9007fAf307074cdCd290f0e2Fd", - "symbol": "PRON", - "decimal": 8, - "type": "default" - }, - { - "address": "0x7641b2Ca9DDD58adDf6e3381c1F994Aac5f1A32f", - "symbol": "PRPS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x163733bcc28dbf26B41a8CfA83e369b5B3af741b", - "symbol": "PRS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0c04d4f331da8df75f9e2e271e3f3f1494c66c36", - "symbol": "PRSP", - "decimal": 9, - "type": "default" - }, - { - "address": "0x66497a283e0a007ba3974e837784c6ae323447de", - "symbol": "PT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x2a8E98e256f32259b5E5Cb55Dd63C8e891950666", - "symbol": "PTC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06", - "symbol": "PTOY", - "decimal": 8, - "type": "default" - }, - { - "address": "0x5512e1d6a7be424b4323126b4f9e86d023f95764", - "symbol": "PTWO", - "decimal": 18, - "type": "default" - }, - { - "address": "0xef6b4ce8c9bc83744fbcde2657b32ec18790458a", - "symbol": "PUC", - "decimal": 0, - "type": "default" - }, - { - "address": "0xc14830e53aa344e8c14603a91229a0b925b0b262", - "symbol": "PXT", - "decimal": 8, - "type": "default" - }, - { - "address": "0x671AbBe5CE652491985342e85428EB1b07bC6c64", - "symbol": "QAU", - "decimal": 8, - "type": "default" - }, - { - "address": "0x697beac28B09E122C4332D163985e8a73121b97F", - "symbol": "QRL", - "decimal": 8, - "type": "default" - }, - { - "address": "0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d", - "symbol": "QSP", - "decimal": 18, - "type": "default" - }, - { - "address": "0x2C3C1F05187dBa7A5f2Dd47Dca57281C4d4F183F", - "symbol": "QTQ", - "decimal": 18, - "type": "default" - }, - { - "address": "0x9a642d6b3368ddc662CA244bAdf32cDA716005BC", - "symbol": "QTUM", - "decimal": 18, - "type": "default" - }, - { - "address": "0xfc2c4d8f95002c14ed0a7aa65102cac9e5953b5e", - "symbol": "RBLX", - "decimal": 18, - "type": "default" - }, - { - "address": "0xf970b8e36e23f7fc3fd752eea86f8be8d83375a6", - "symbol": "RCN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x255aa6df07540cb5d3d297f0d0d4d84cb52bc8e6", - "symbol": "RDN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x767bA2915EC344015a7938E3eEDfeC2785195D05", - "symbol": "REA", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5f53f7a8075614b699baad0bc2c899f4bad8fbbf", - "symbol": "REBL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x408e41876cCCDC0F92210600ef50372656052a38", - "symbol": "REN", - "decimal": 18, - "type": "default" - }, - { - "address": "0xE94327D07Fc17907b4DB788E5aDf2ed424adDff6", - "symbol": "REP", - "decimal": 18, - "type": "default" - }, - { - "address": "0x8f8221aFbB33998d8584A2B05749bA73c37a938a", - "symbol": "REQ", - "decimal": 18, - "type": "default" - }, - { - "address": "0xf05a9382A4C3F29E2784502754293D88b835109C", - "symbol": "REX", - "decimal": 18, - "type": "default" - }, - { - "address": "0xd0929d411954c47438dc1d871dd6081f5c5e149c", - "symbol": "RFR", - "decimal": 4, - "type": "default" - }, - { - "address": "0xdd007278b667f6bef52fd0a4c23604aa1f96039a", - "symbol": "RIPT", - "decimal": 8, - "type": "default" - }, - { - "address": "0x607F4C5BB672230e8672085532f7e901544a7375", - "symbol": "RLC", - "decimal": 9, - "type": "default" - }, - { - "address": "0xcCeD5B8288086BE8c38E23567e684C3740be4D48", - "symbol": "RLT", - "decimal": 10, - "type": "default" - }, - { - "address": "0xbe99B09709fc753b09BCf557A992F6605D5997B0", - "symbol": "RLTY", - "decimal": 8, - "type": "default" - }, - { - "address": "0x4a42d2c580f83dce404acad18dab26db11a1750e", - "symbol": "RLX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0996bfb5d057faa237640e2506be7b4f9c46de0b", - "symbol": "RNDR", - "decimal": 18, - "type": "default" - }, - { - "address": "0xA40106134c5bF4c41411554e6db99B95A15ed9d8", - "symbol": "ROCK", - "decimal": 18, - "type": "default" - }, - { - "address": "0xc9de4b7f0c3d991e967158e4d4bfa4b51ec0b114", - "symbol": "ROK", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4993CB95c7443bdC06155c5f5688Be9D8f6999a5", - "symbol": "ROUND", - "decimal": 18, - "type": "default" - }, - { - "address": "0xb4efd85c19999d84251304bda99e90b92300bd93", - "symbol": "RPL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x54b293226000ccBFC04DF902eEC567CB4C35a903", - "symbol": "RTN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x3d1ba9be9f66b8ee101911bc36d3fb562eac2244", - "symbol": "RVT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1ec8fe51a9b6a3a6c427d17d9ecc3060fbc4a45c", - "symbol": "S-A-PAT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x3eb91d237e491e0dee8582c402d85cb440fb6b54", - "symbol": "S-ETH", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4156D3342D5c385a87D264F90653733592000581", - "symbol": "SALT", - "decimal": 8, - "type": "default" - }, - { - "address": "0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098", - "symbol": "SAN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x78fe18e41f436e1981a3a60d1557c8a7a9370461", - "symbol": "SCANDI", - "decimal": 2, - "type": "default" - }, - { - "address": "0xd7631787b4dcc87b1254cfd1e5ce48e96823dee8", - "symbol": "SCL", - "decimal": 8, - "type": "default" - }, - { - "address": "0x6745fAB6801e376cD24F03572B9C9B0D4EdDDCcf", - "symbol": "SENSE", - "decimal": 8, - "type": "default" - }, - { - "address": "0xe06eda7435ba749b047380ced49121dde93334ae", - "symbol": "SET", - "decimal": 0, - "type": "default" - }, - { - "address": "0x98f5e9b7f0e33956c0443e81bf7deb8b5b1ed545", - "symbol": "SEXY", - "decimal": 18, - "type": "default" - }, - { - "address": "0xa1ccc166faf0E998b3E33225A1A0301B1C86119D", - "symbol": "SGEL", - "decimal": 18, - "type": "default" - }, - { - "address": "0xd248B0D48E44aaF9c49aea0312be7E13a6dc1468", - "symbol": "SGT", - "decimal": 1, - "type": "default" - }, - { - "address": "0xEF2E9966eb61BB494E5375d5Df8d67B7dB8A780D", - "symbol": "SHIT", - "decimal": 0, - "type": "default" - }, - { - "address": "0x8a187d5285d316bcbc9adafc08b51d70a0d8e000", - "symbol": "SIFT", - "decimal": 0, - "type": "default" - }, - { - "address": "0x6888a16eA9792c15A4DCF2f6C623D055c8eDe792", - "symbol": "SIG", - "decimal": 18, - "type": "default" - }, - { - "address": "0x2bDC0D42996017fCe214b21607a515DA41A9E0C5", - "symbol": "SKIN", - "decimal": 6, - "type": "default" - }, - { - "address": "0x4994e81897a920c0FEA235eb8CEdEEd3c6fFF697", - "symbol": "SKO1", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4c382F8E09615AC86E08CE58266CC227e7d4D913", - "symbol": "SKR", - "decimal": 6, - "type": "default" - }, - { - "address": "0x324a48ebcbb46e61993931ef9d35f6697cd2901b", - "symbol": "SKRP (Phase 1-E)", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6E34d8d84764D40f6D7b39cd569Fd017bF53177D", - "symbol": "SKRP (Phase 1)", - "decimal": 18, - "type": "default" - }, - { - "address": "0xfdFE8b7aB6CF1bD1E3d14538Ef40686296C42052", - "symbol": "SKRP", - "decimal": 18, - "type": "default" - }, - { - "address": "0x7A5fF295Dc8239d5C2374E4D894202aAF029Cab6", - "symbol": "SLT", - "decimal": 3, - "type": "default" - }, - { - "address": "0x6F6DEb5db0C4994A8283A01D6CFeEB27Fc3bBe9C", - "symbol": "SMART", - "decimal": 0, - "type": "default" - }, - { - "address": "0x55f93985431fc9304077687a35a1ba103dc1e081", - "symbol": "SMT (SmartMesh)", - "decimal": 18, - "type": "default" - }, - { - "address": "0x2dcfaac11c9eebd8c6c42103fe9e2a6ad237af27", - "symbol": "SMT (Smart Node)", - "decimal": 18, - "type": "default" - }, - { - "address": "0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404", - "symbol": "SNC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xf333b2Ace992ac2bBD8798bF57Bc65a06184afBa", - "symbol": "SND", - "decimal": 0, - "type": "default" - }, - { - "address": "0xcFD6Ae8BF13f42DE14867351eAff7A8A3b9FbBe7", - "symbol": "SNG", - "decimal": 8, - "type": "default" - }, - { - "address": "0xaeC2E87E0A235266D9C5ADc9DEb4b2E29b54D009", - "symbol": "SNGLS", - "decimal": 0, - "type": "default" - }, - { - "address": "0x44F588aEeB8C44471439D1270B3603c66a9262F1", - "symbol": "SNIP", - "decimal": 18, - "type": "default" - }, - { - "address": "0x983F6d60db79ea8cA4eB9968C6aFf8cfA04B3c63", - "symbol": "SNM", - "decimal": 18, - "type": "default" - }, - { - "address": "0xbdc5bac39dbe132b1e030e898ae3830017d7d969", - "symbol": "SNOV", - "decimal": 18, - "type": "default" - }, - { - "address": "0x744d70FDBE2Ba4CF95131626614a1763DF805B9E", - "symbol": "SNT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x1f54638b7737193ffd86c19ec51907a7c41755d8", - "symbol": "SOL", - "decimal": 6, - "type": "default" - }, - { - "address": "0x42d6622dece394b54999fbd73d108123806f6a18", - "symbol": "SPANK", - "decimal": 18, - "type": "default" - }, - { - "address": "0x58bf7df57d9DA7113c4cCb49d8463D4908C735cb", - "symbol": "SPARC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x24aef3bf1a47561500f9430d74ed4097c47f51f2", - "symbol": "SPARTA", - "decimal": 4, - "type": "default" - }, - { - "address": "0x85089389C14Bd9c77FC2b8F0c3d1dC3363Bf06Ef", - "symbol": "SPF", - "decimal": 18, - "type": "default" - }, - { - "address": "0x20F7A3DdF244dc9299975b4Da1C39F8D5D75f05A", - "symbol": "SPN", - "decimal": 6, - "type": "default" - }, - { - "address": "0x68d57c9a1C35f63E2c83eE8e49A64e9d70528D25", - "symbol": "SRN", - "decimal": 18, - "type": "default" - }, - { - "address": "0xB15fE5a123e647ba594CEa7A1E648646f95EB4AA", - "symbol": "SS", - "decimal": 18, - "type": "default" - }, - { - "address": "0x9a005c9a89bd72a4bd27721e7a09a3c11d2b03c4", - "symbol": "STAC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xF70a642bD387F94380fFb90451C2c81d4Eb82CBc", - "symbol": "STAR", - "decimal": 18, - "type": "default" - }, - { - "address": "0x629aEe55ed49581C33ab27f9403F7992A289ffd5", - "symbol": "STC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xaE73B38d1c9A8b274127ec30160a4927C4d71824", - "symbol": "STK", - "decimal": 18, - "type": "default" - }, - { - "address": "0x599346779e90fc3F5F997b5ea715349820F91571", - "symbol": "STN", - "decimal": 4, - "type": "default" - }, - { - "address": "0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC", - "symbol": "STORJ", - "decimal": 8, - "type": "default" - }, - { - "address": "0xD0a4b8946Cb52f0661273bfbC6fD0E0C75Fc6433", - "symbol": "STORM", - "decimal": 18, - "type": "default" - }, - { - "address": "0xecd570bBf74761b960Fa04Cc10fe2c4e86FfDA36", - "symbol": "STP", - "decimal": 8, - "type": "default" - }, - { - "address": "0x46492473755e8dF960F8034877F61732D718CE96", - "symbol": "STRC", - "decimal": 8, - "type": "default" - }, - { - "address": "0x006BeA43Baa3f7A6f765F14f10A1a1b08334EF45", - "symbol": "STX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x12480E24eb5bec1a9D4369CaB6a80caD3c0A377A", - "symbol": "SUB", - "decimal": 2, - "type": "default" - }, - { - "address": "0x9e88613418cf03dca54d6a2cf6ad934a78c7a17a", - "symbol": "SWM", - "decimal": 18, - "type": "default" - }, - { - "address": "0xB9e7F8568e08d5659f5D29C4997173d84CdF2607", - "symbol": "SWT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x12b306fa98f4cbb8d4457fdff3a0a0a56f07ccdf", - "symbol": "SXDT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x2c82c73d5b34aa015989462b2948cd616a37641f", - "symbol": "SXUT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x10b123fddde003243199aad03522065dc05827a0", - "symbol": "SYN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4ca74185532dc1789527194e5b9c866dd33f4e82", - "symbol": "SenSatorI", - "decimal": 18, - "type": "default" - }, - { - "address": "0xc27a2f05fa577a83ba0fdb4c38443c0718356501", - "symbol": "TAU", - "decimal": 18, - "type": "default" - }, - { - "address": "0xFACCD5Fc83c3E4C3c1AC1EF35D15adf06bCF209C", - "symbol": "TBC2", - "decimal": 8, - "type": "default" - }, - { - "address": "0xAFe60511341a37488de25Bef351952562E31fCc1", - "symbol": "TBT", - "decimal": 8, - "type": "default" - }, - { - "address": "0x85e076361cc813a908ff672f9bad1541474402b2", - "symbol": "TEL", - "decimal": 2, - "type": "default" - }, - { - "address": "0xa7f976C360ebBeD4465c2855684D1AAE5271eFa9", - "symbol": "TFL", - "decimal": 8, - "type": "default" - }, - { - "address": "0x3883f5e181fccaf8410fa61e12b59bad963fb645", - "symbol": "THETA", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6531f133e6DeeBe7F2dcE5A0441aA7ef330B4e53", - "symbol": "TIME", - "decimal": 8, - "type": "default" - }, - { - "address": "0x80bc5512561c7f85a3a9508c7df7901b370fa1df", - "symbol": "TIO", - "decimal": 18, - "type": "default" - }, - { - "address": "0xEa1f346faF023F974Eb5adaf088BbCdf02d761F4", - "symbol": "TIX", - "decimal": 18, - "type": "default" - }, - { - "address": "0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a", - "symbol": "TKN", - "decimal": 8, - "type": "default" - }, - { - "address": "0x08f5a9235b08173b7569f83645d2c7fb55e8ccd8", - "symbol": "TNT", - "decimal": 8, - "type": "default" - }, - { - "address": "0xcB3F902bf97626391bF8bA87264bbC3DC13469be", - "symbol": "TRC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x566Fd7999B1Fc3988022bD38507A48F0bCf22c77", - "symbol": "TRCN", - "decimal": 18, - "type": "default" - }, - { - "address": "0xcb94be6f13a1182e4a4b6140cb7bf2025d28e41b", - "symbol": "TRST", - "decimal": 6, - "type": "default" - }, - { - "address": "0xf230b790e05390fc8295f4d3f60332c93bed42e2", - "symbol": "TRX", - "decimal": 6, - "type": "default" - }, - { - "address": "0x2eF1aB8a26187C58BB8aAeB11B2fC6D25C5c0716", - "symbol": "TWN", - "decimal": 18, - "type": "default" - }, - { - "address": "0xfbd0d1c77b501796a35d86cf91d65d9778eee695", - "symbol": "TWNKL", - "decimal": 3, - "type": "default" - }, - { - "address": "0xE7775A6e9Bcf904eb39DA2b68c5efb4F9360e08C", - "symbol": "TaaS", - "decimal": 6, - "type": "default" - }, - { - "address": "0x24692791bc444c5cd0b81e3cbcaba4b04acd1f3b", - "symbol": "UKG", - "decimal": 18, - "type": "default" - }, - { - "address": "0xd01db73e047855efb414e6202098c4be4cd2423b", - "symbol": "UQC", - "decimal": 18, - "type": "default" - }, - { - "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "symbol": "USDT", - "decimal": 6, - "type": "default" - }, - { - "address": "0x70a72833d6bf7f508c8224ce59ea1ef3d0ea3a38", - "symbol": "UTK", - "decimal": 18, - "type": "default" - }, - { - "address": "0x9e3319636e2126e3c0bc9e3134AEC5e1508A46c7", - "symbol": "UTN-P", - "decimal": 18, - "type": "default" - }, - { - "address": "0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7", - "symbol": "Unicorn", - "decimal": 0, - "type": "default" - }, - { - "address": "0x82BD526bDB718C6d4DD2291Ed013A5186cAE2DCa", - "symbol": "VDOC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x340d2bde5eb28c1eed91b2f790723e3b160613b7", - "symbol": "VEE", - "decimal": 18, - "type": "default" - }, - { - "address": "0xEbeD4fF9fe34413db8fC8294556BBD1528a4DAca", - "symbol": "VENUS", - "decimal": 3, - "type": "default" - }, - { - "address": "0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374", - "symbol": "VERI", - "decimal": 18, - "type": "default" - }, - { - "address": "0xD850942eF8811f2A866692A623011bDE52a462C1", - "symbol": "VEN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x2C974B2d0BA1716E644c1FC59982a89DDD2fF724", - "symbol": "VIB", - "decimal": 18, - "type": "default" - }, - { - "address": "0xe8ff5c9c75deb346acac493c463c8950be03dfba", - "symbol": "VIBE", - "decimal": 18, - "type": "default" - }, - { - "address": "0x882448f83d90b2bf477af2ea79327fdea1335d93", - "symbol": "VIBEX", - "decimal": 18, - "type": "default" - }, - { - "address": "0x23b75Bc7AaF28e2d6628C3f424B3882F8f072a3c", - "symbol": "VIT", - "decimal": 18, - "type": "default" - }, - { - "address": "0x519475b31653e46d20cd09f9fdcf3b12bdacb4f5", - "symbol": "VIU", - "decimal": 18, - "type": "default" - }, - { - "address": "0xc3bc9eb71f75ec439a6b6c8e8b746fcf5b62f703", - "symbol": "VOC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x83eEA00D838f92dEC4D1475697B9f4D3537b56E3", - "symbol": "VOISE", - "decimal": 8, - "type": "default" - }, - { - "address": "0xeDBaF3c5100302dCddA53269322f3730b1F0416d", - "symbol": "VRS", - "decimal": 5, - "type": "default" - }, - { - "address": "0x5c543e7AE0A1104f78406C340E9C64FD9fCE5170", - "symbol": "VSL", - "decimal": 18, - "type": "default" - }, - { - "address": "0x39Bb259F66E1C59d5ABEF88375979b4D20D98022", - "symbol": "WAX", - "decimal": 8, - "type": "default" - }, - { - "address": "0x74951B677de32D596EE851A233336926e6A2cd09", - "symbol": "WBA", - "decimal": 7, - "type": "default" - }, - { - "address": "0x6a0a97e47d15aad1d132a1ac79a480e3f2079063", - "symbol": "WCT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", - "symbol": "WETH", - "decimal": 18, - "type": "default" - }, - { - "address": "0xf4fe95603881d0e07954fd7605e0e9a916e42c44", - "symbol": "WHEN", - "decimal": 18, - "type": "default" - }, - { - "address": "0xe933c0Cd9784414d5F278C114904F5A84b396919", - "symbol": "WHO", - "decimal": 18, - "type": "default" - }, - { - "address": "0x62cd07d414ec50b68c7ecaa863a23d344f2d062f", - "symbol": "WIC", - "decimal": 0, - "type": "default" - }, - { - "address": "0xD3C00772B24D997A812249ca637a921e81357701", - "symbol": "WILD", - "decimal": 18, - "type": "default" - }, - { - "address": "0x667088b212ce3d06a1b553a7221E1fD19000d9aF", - "symbol": "WINGS", - "decimal": 18, - "type": "default" - }, - { - "address": "0xF6B55acBBC49f4524Aa48D19281A9A77c54DE10f", - "symbol": "WLK", - "decimal": 18, - "type": "default" - }, - { - "address": "0x728781E75735dc0962Df3a51d7Ef47E798A7107E", - "symbol": "WOLK", - "decimal": 18, - "type": "default" - }, - { - "address": "0x62087245087125d3db5b9a3d713d78e7bbc31e54", - "symbol": "WPC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4CF488387F035FF08c371515562CBa712f9015d4", - "symbol": "WPR", - "decimal": 18, - "type": "default" - }, - { - "address": "0x71e8d74ff1c923e369d0e70dfb09866629c4dd35", - "symbol": "WRK", - "decimal": 18, - "type": "default" - }, - { - "address": "0x056017c55aE7AE32d12AeF7C679dF83A85ca75Ff", - "symbol": "WYV", - "decimal": 18, - "type": "default" - }, - { - "address": "0x286BDA1413a2Df81731D4930ce2F862a35A609fE", - "symbol": "WaBi", - "decimal": 18, - "type": "default" - }, - { - "address": "0x5e4ABE6419650CA839Ce5BB7Db422b881a6064bB", - "symbol": "WiC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c", - "symbol": "X8X", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4DF812F6064def1e5e029f1ca858777CC98D2D81", - "symbol": "XAUR", - "decimal": 8, - "type": "default" - }, - { - "address": "0x28dee01d53fed0edf5f6e310bf8ef9311513ae40", - "symbol": "XBP", - "decimal": 18, - "type": "default" - }, - { - "address": "0x4d829f8c92a6691c56300d020c9e0db984cfe2ba", - "symbol": "XCC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x533ef0984b2FAA227AcC620C67cce12aA39CD8CD", - "symbol": "XGM", - "decimal": 8, - "type": "default" - }, - { - "address": "0x30f4A3e0aB7a76733D8b60b89DD93c3D0b4c9E2f", - "symbol": "XGT", - "decimal": 18, - "type": "default" - }, - { - "address": "0xB110eC7B1dcb8FAB8dEDbf28f53Bc63eA5BEdd84", - "symbol": "XID", - "decimal": 8, - "type": "default" - }, - { - "address": "0xBC86727E770de68B1060C91f6BB6945c73e10388", - "symbol": "XNK", - "decimal": 18, - "type": "default" - }, - - { - "address": "0xab95e915c123fded5bdfb6325e35ef5515f1ea69", - "symbol": "XNN", - "decimal": 18, - "type": "default" - }, - { - "address": "0x572e6f318056ba0c5d47a422653113843d250691", - "symbol": "XNT", - "decimal": 0, - "type": "default" - }, - { - "address": "0xB24754bE79281553dc1adC160ddF5Cd9b74361a4", - "symbol": "XRL", - "decimal": 9, - "type": "default" - }, - { - "address": "0x0F513fFb4926ff82D7F60A05069047AcA295C413", - "symbol": "XSC", - "decimal": 18, - "type": "default" - }, - { - "address": "0x0F33bb20a282A7649C7B3AFf644F084a9348e933", - "symbol": "YUPIE", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6781a0f84c7e9e846dcb84a9a5bd49333067b104", - "symbol": "ZAP", - "decimal": 18, - "type": "default" - }, - { - "address": "0x05f4a42e251f2d52b8ed15E9FEdAacFcEF1FAD27", - "symbol": "ZIL", - "decimal": 12, - "type": "default" - }, - { - "address": "0xE41d2489571d322189246DaFA5ebDe1F4699F498", - "symbol": "ZRX", - "decimal": 18, - "type": "default" - }, - { - "address": "0xe386b139ed3715ca4b18fd52671bdcea1cdfe4b1", - "symbol": "ZST", - "decimal": 8, - "type": "default" - }, - { - "address": "0xdA6cb58A0D0C01610a29c5A65c303e13e885887C", - "symbol": "cV", - "decimal": 18, - "type": "default" - }, - { - "address": "0xafc39788c51f0c1ff7b55317f3e70299e521fff6", - "symbol": "eBCH", - "decimal": 8, - "type": "default" - }, - { - "address": "0xeb7c20027172e5d143fb030d50f91cece2d1485d", - "symbol": "eBTC", - "decimal": 8, - "type": "default" - }, - { - "address": "0xb53a96bcbdd9cf78dff20bab6c2be7baec8f00f8", - "symbol": "eGAS", - "decimal": 8, - "type": "default" - }, - { - "address": "0xd341d1680eeee3255b8c4c75bcce7eb57f144dae", - "symbol": "onG", - "decimal": 18, - "type": "default" - }, - { - "address": "0x6f7a4bac3315b5082f793161a22e26666d22717f", - "symbol": "YEED", - "decimal": 18, + "address": "0x8c26b7CA61A6608B011cBa43d8cA4476B6D8dA17", + "symbol": "sBZZ", + "decimal": 16, "type": "default" } -] \ No newline at end of file +] diff --git a/tokens.go b/tokens.go index 08d5582..c01960e 100644 --- a/tokens.go +++ b/tokens.go @@ -1,362 +1,583 @@ -// This file is an automatically generated Go binding. Do not modify as any -// change will likely be lost upon the next re-generation! +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. package main import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" - "math/big" - "strings" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription ) -// TokenABI is the input ABI used to generate the binding from. -const TokenABI = `[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"spentAllowance","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"decimalUnits","type":"uint8"},{"name":"tokenSymbol","type":"string"}],"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]` +// MainMetaData contains all meta data concerning the Main contract. +var MainMetaData = &bind.MetaData{ + ABI: "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"spentAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"type\":\"function\"},{\"inputs\":[{\"name\":\"initialSupply\",\"type\":\"uint256\"},{\"name\":\"tokenName\",\"type\":\"string\"},{\"name\":\"decimalUnits\",\"type\":\"uint8\"},{\"name\":\"tokenSymbol\",\"type\":\"string\"}],\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", +} + +// MainABI is the input ABI used to generate the binding from. +// Deprecated: Use MainMetaData.ABI instead. +var MainABI = MainMetaData.ABI -// Token is an auto generated Go binding around an Ethereum contract. -type Token struct { - TokenCaller // Read-only binding to the contract - TokenTransactor // Write-only binding to the contract +// Main is an auto generated Go binding around an Ethereum contract. +type Main struct { + MainCaller // Read-only binding to the contract + MainTransactor // Write-only binding to the contract + MainFilterer // Log filterer for contract events +} + +// MainCaller is an auto generated read-only Go binding around an Ethereum contract. +type MainCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls } -// TokenCaller is an auto generated read-only Go binding around an Ethereum contract. -type TokenCaller struct { +// MainTransactor is an auto generated write-only Go binding around an Ethereum contract. +type MainTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } -// TokenTransactor is an auto generated write-only Go binding around an Ethereum contract. -type TokenTransactor struct { +// MainFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type MainFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } -// TokenSession is an auto generated Go binding around an Ethereum contract, +// MainSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. -type TokenSession struct { - Contract *Token // Generic contract binding to set the session for +type MainSession struct { + Contract *Main // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } -// TokenCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// MainCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. -type TokenCallerSession struct { - Contract *TokenCaller // Generic contract caller binding to set the session for +type MainCallerSession struct { + Contract *MainCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } -// TokenTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// MainTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. -type TokenTransactorSession struct { - Contract *TokenTransactor // Generic contract transactor binding to set the session for +type MainTransactorSession struct { + Contract *MainTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } -// TokenRaw is an auto generated low-level Go binding around an Ethereum contract. -type TokenRaw struct { - Contract *Token // Generic contract binding to access the raw methods on +// MainRaw is an auto generated low-level Go binding around an Ethereum contract. +type MainRaw struct { + Contract *Main // Generic contract binding to access the raw methods on } -// TokenCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type TokenCallerRaw struct { - Contract *TokenCaller // Generic read-only contract binding to access the raw methods on +// MainCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type MainCallerRaw struct { + Contract *MainCaller // Generic read-only contract binding to access the raw methods on } -// TokenTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type TokenTransactorRaw struct { - Contract *TokenTransactor // Generic write-only contract binding to access the raw methods on +// MainTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type MainTransactorRaw struct { + Contract *MainTransactor // Generic write-only contract binding to access the raw methods on } -// NewToken creates a new instance of Token, bound to a specific deployed contract. -func NewToken(address common.Address, backend bind.ContractBackend) (*Token, error) { - contract, err := bindToken(address, backend.(bind.ContractCaller), backend.(bind.ContractTransactor)) +// NewMain creates a new instance of Main, bound to a specific deployed contract. +func NewMain(address common.Address, backend bind.ContractBackend) (*Main, error) { + contract, err := bindMain(address, backend, backend, backend) if err != nil { return nil, err } - return &Token{TokenCaller: TokenCaller{contract: contract}, TokenTransactor: TokenTransactor{contract: contract}}, nil + return &Main{MainCaller: MainCaller{contract: contract}, MainTransactor: MainTransactor{contract: contract}, MainFilterer: MainFilterer{contract: contract}}, nil } -// NewTokenCaller creates a new read-only instance of Token, bound to a specific deployed contract. -func NewTokenCaller(address common.Address, caller bind.ContractCaller) (*TokenCaller, error) { - contract, err := bindToken(address, caller, nil) +// NewMainCaller creates a new read-only instance of Main, bound to a specific deployed contract. +func NewMainCaller(address common.Address, caller bind.ContractCaller) (*MainCaller, error) { + contract, err := bindMain(address, caller, nil, nil) if err != nil { return nil, err } - return &TokenCaller{contract: contract}, nil + return &MainCaller{contract: contract}, nil } -// NewTokenTransactor creates a new write-only instance of Token, bound to a specific deployed contract. -func NewTokenTransactor(address common.Address, transactor bind.ContractTransactor) (*TokenTransactor, error) { - contract, err := bindToken(address, nil, transactor) +// NewMainTransactor creates a new write-only instance of Main, bound to a specific deployed contract. +func NewMainTransactor(address common.Address, transactor bind.ContractTransactor) (*MainTransactor, error) { + contract, err := bindMain(address, nil, transactor, nil) if err != nil { return nil, err } - return &TokenTransactor{contract: contract}, nil + return &MainTransactor{contract: contract}, nil } -// bindToken binds a generic wrapper to an already deployed contract. -func bindToken(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor) (*bind.BoundContract, error) { - parsed, err := abi.JSON(strings.NewReader(TokenABI)) +// NewMainFilterer creates a new log filterer instance of Main, bound to a specific deployed contract. +func NewMainFilterer(address common.Address, filterer bind.ContractFilterer) (*MainFilterer, error) { + contract, err := bindMain(address, nil, nil, filterer) if err != nil { return nil, err } - return bind.NewBoundContract(address, parsed, caller, transactor, nil), nil + return &MainFilterer{contract: contract}, nil +} + +// bindMain binds a generic wrapper to an already deployed contract. +func bindMain(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(MainABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. -func (_Token *TokenRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { - return _Token.Contract.TokenCaller.contract.Call(opts, result, method, params...) +func (_Main *MainRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _Main.Contract.MainCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. -func (_Token *TokenRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Token.Contract.TokenTransactor.contract.Transfer(opts) +func (_Main *MainRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _Main.Contract.MainTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. -func (_Token *TokenRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _Token.Contract.TokenTransactor.contract.Transact(opts, method, params...) +func (_Main *MainRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _Main.Contract.MainTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. -func (_Token *TokenCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { - return _Token.Contract.contract.Call(opts, result, method, params...) +func (_Main *MainCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _Main.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. -func (_Token *TokenTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Token.Contract.contract.Transfer(opts) +func (_Main *MainTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _Main.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. -func (_Token *TokenTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _Token.Contract.contract.Transact(opts, method, params...) +func (_Main *MainTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _Main.Contract.contract.Transact(opts, method, params...) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // -// Solidity: function allowance( address, address) constant returns(uint256) -func (_Token *TokenCaller) Allowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) { - var ( - ret0 = new(*big.Int) - ) - out := ret0 - err := _Token.contract.Call(opts, out, "allowance", arg0, arg1) - return *ret0, err +// Solidity: function allowance(address , address ) returns(uint256) +func (_Main *MainCaller) Allowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) { + var out []interface{} + err := _Main.contract.Call(opts, &out, "allowance", arg0, arg1) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // -// Solidity: function allowance( address, address) constant returns(uint256) -func (_Token *TokenSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { - return _Token.Contract.Allowance(&_Token.CallOpts, arg0, arg1) +// Solidity: function allowance(address , address ) returns(uint256) +func (_Main *MainSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { + return _Main.Contract.Allowance(&_Main.CallOpts, arg0, arg1) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // -// Solidity: function allowance( address, address) constant returns(uint256) -func (_Token *TokenCallerSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { - return _Token.Contract.Allowance(&_Token.CallOpts, arg0, arg1) +// Solidity: function allowance(address , address ) returns(uint256) +func (_Main *MainCallerSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { + return _Main.Contract.Allowance(&_Main.CallOpts, arg0, arg1) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // -// Solidity: function balanceOf( address) constant returns(uint256) -func (_Token *TokenCaller) BalanceOf(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { - var ( - ret0 = new(*big.Int) - ) - out := ret0 - err := _Token.contract.Call(opts, out, "balanceOf", arg0) - return *ret0, err +// Solidity: function balanceOf(address ) returns(uint256) +func (_Main *MainCaller) BalanceOf(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { + var out []interface{} + err := _Main.contract.Call(opts, &out, "balanceOf", arg0) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // -// Solidity: function balanceOf( address) constant returns(uint256) -func (_Token *TokenSession) BalanceOf(arg0 common.Address) (*big.Int, error) { - return _Token.Contract.BalanceOf(&_Token.CallOpts, arg0) +// Solidity: function balanceOf(address ) returns(uint256) +func (_Main *MainSession) BalanceOf(arg0 common.Address) (*big.Int, error) { + return _Main.Contract.BalanceOf(&_Main.CallOpts, arg0) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // -// Solidity: function balanceOf( address) constant returns(uint256) -func (_Token *TokenCallerSession) BalanceOf(arg0 common.Address) (*big.Int, error) { - return _Token.Contract.BalanceOf(&_Token.CallOpts, arg0) +// Solidity: function balanceOf(address ) returns(uint256) +func (_Main *MainCallerSession) BalanceOf(arg0 common.Address) (*big.Int, error) { + return _Main.Contract.BalanceOf(&_Main.CallOpts, arg0) } // Decimals is a free data retrieval call binding the contract method 0x313ce567. // -// Solidity: function decimals() constant returns(uint8) -func (_Token *TokenCaller) Decimals(opts *bind.CallOpts) (uint8, error) { - var ( - ret0 = new(uint8) - ) - out := ret0 - err := _Token.contract.Call(opts, out, "decimals") - return *ret0, err +// Solidity: function decimals() returns(uint8) +func (_Main *MainCaller) Decimals(opts *bind.CallOpts) (uint8, error) { + var out []interface{} + err := _Main.contract.Call(opts, &out, "decimals") + + if err != nil { + return *new(uint8), err + } + + out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) + + return out0, err + } // Decimals is a free data retrieval call binding the contract method 0x313ce567. // -// Solidity: function decimals() constant returns(uint8) -func (_Token *TokenSession) Decimals() (uint8, error) { - return _Token.Contract.Decimals(&_Token.CallOpts) +// Solidity: function decimals() returns(uint8) +func (_Main *MainSession) Decimals() (uint8, error) { + return _Main.Contract.Decimals(&_Main.CallOpts) } // Decimals is a free data retrieval call binding the contract method 0x313ce567. // -// Solidity: function decimals() constant returns(uint8) -func (_Token *TokenCallerSession) Decimals() (uint8, error) { - return _Token.Contract.Decimals(&_Token.CallOpts) +// Solidity: function decimals() returns(uint8) +func (_Main *MainCallerSession) Decimals() (uint8, error) { + return _Main.Contract.Decimals(&_Main.CallOpts) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // -// Solidity: function name() constant returns(string) -func (_Token *TokenCaller) Name(opts *bind.CallOpts) (string, error) { - var ( - ret0 = new(string) - ) - out := ret0 - err := _Token.contract.Call(opts, out, "name") - return *ret0, err +// Solidity: function name() returns(string) +func (_Main *MainCaller) Name(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _Main.contract.Call(opts, &out, "name") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + } // Name is a free data retrieval call binding the contract method 0x06fdde03. // -// Solidity: function name() constant returns(string) -func (_Token *TokenSession) Name() (string, error) { - return _Token.Contract.Name(&_Token.CallOpts) +// Solidity: function name() returns(string) +func (_Main *MainSession) Name() (string, error) { + return _Main.Contract.Name(&_Main.CallOpts) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // -// Solidity: function name() constant returns(string) -func (_Token *TokenCallerSession) Name() (string, error) { - return _Token.Contract.Name(&_Token.CallOpts) +// Solidity: function name() returns(string) +func (_Main *MainCallerSession) Name() (string, error) { + return _Main.Contract.Name(&_Main.CallOpts) } // SpentAllowance is a free data retrieval call binding the contract method 0xdc3080f2. // -// Solidity: function spentAllowance( address, address) constant returns(uint256) -func (_Token *TokenCaller) SpentAllowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) { - var ( - ret0 = new(*big.Int) - ) - out := ret0 - err := _Token.contract.Call(opts, out, "spentAllowance", arg0, arg1) - return *ret0, err +// Solidity: function spentAllowance(address , address ) returns(uint256) +func (_Main *MainCaller) SpentAllowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) { + var out []interface{} + err := _Main.contract.Call(opts, &out, "spentAllowance", arg0, arg1) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + } // SpentAllowance is a free data retrieval call binding the contract method 0xdc3080f2. // -// Solidity: function spentAllowance( address, address) constant returns(uint256) -func (_Token *TokenSession) SpentAllowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { - return _Token.Contract.SpentAllowance(&_Token.CallOpts, arg0, arg1) +// Solidity: function spentAllowance(address , address ) returns(uint256) +func (_Main *MainSession) SpentAllowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { + return _Main.Contract.SpentAllowance(&_Main.CallOpts, arg0, arg1) } // SpentAllowance is a free data retrieval call binding the contract method 0xdc3080f2. // -// Solidity: function spentAllowance( address, address) constant returns(uint256) -func (_Token *TokenCallerSession) SpentAllowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { - return _Token.Contract.SpentAllowance(&_Token.CallOpts, arg0, arg1) +// Solidity: function spentAllowance(address , address ) returns(uint256) +func (_Main *MainCallerSession) SpentAllowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { + return _Main.Contract.SpentAllowance(&_Main.CallOpts, arg0, arg1) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // -// Solidity: function symbol() constant returns(string) -func (_Token *TokenCaller) Symbol(opts *bind.CallOpts) (string, error) { - var ( - ret0 = new(string) - ) - out := ret0 - err := _Token.contract.Call(opts, out, "symbol") - return *ret0, err +// Solidity: function symbol() returns(string) +func (_Main *MainCaller) Symbol(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _Main.contract.Call(opts, &out, "symbol") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // -// Solidity: function symbol() constant returns(string) -func (_Token *TokenSession) Symbol() (string, error) { - return _Token.Contract.Symbol(&_Token.CallOpts) +// Solidity: function symbol() returns(string) +func (_Main *MainSession) Symbol() (string, error) { + return _Main.Contract.Symbol(&_Main.CallOpts) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // -// Solidity: function symbol() constant returns(string) -func (_Token *TokenCallerSession) Symbol() (string, error) { - return _Token.Contract.Symbol(&_Token.CallOpts) +// Solidity: function symbol() returns(string) +func (_Main *MainCallerSession) Symbol() (string, error) { + return _Main.Contract.Symbol(&_Main.CallOpts) } // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. // -// Solidity: function approveAndCall(_spender address, _value uint256, _extraData bytes) returns(success bool) -func (_Token *TokenTransactor) ApproveAndCall(opts *bind.TransactOpts, _spender common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { - return _Token.contract.Transact(opts, "approveAndCall", _spender, _value, _extraData) +// Solidity: function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns(bool success) +func (_Main *MainTransactor) ApproveAndCall(opts *bind.TransactOpts, _spender common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { + return _Main.contract.Transact(opts, "approveAndCall", _spender, _value, _extraData) } // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. // -// Solidity: function approveAndCall(_spender address, _value uint256, _extraData bytes) returns(success bool) -func (_Token *TokenSession) ApproveAndCall(_spender common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { - return _Token.Contract.ApproveAndCall(&_Token.TransactOpts, _spender, _value, _extraData) +// Solidity: function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns(bool success) +func (_Main *MainSession) ApproveAndCall(_spender common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { + return _Main.Contract.ApproveAndCall(&_Main.TransactOpts, _spender, _value, _extraData) } // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. // -// Solidity: function approveAndCall(_spender address, _value uint256, _extraData bytes) returns(success bool) -func (_Token *TokenTransactorSession) ApproveAndCall(_spender common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { - return _Token.Contract.ApproveAndCall(&_Token.TransactOpts, _spender, _value, _extraData) +// Solidity: function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns(bool success) +func (_Main *MainTransactorSession) ApproveAndCall(_spender common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { + return _Main.Contract.ApproveAndCall(&_Main.TransactOpts, _spender, _value, _extraData) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // -// Solidity: function transfer(_to address, _value uint256) returns() -func (_Token *TokenTransactor) Transfer(opts *bind.TransactOpts, _to common.Address, _value *big.Int) (*types.Transaction, error) { - return _Token.contract.Transact(opts, "transfer", _to, _value) +// Solidity: function transfer(address _to, uint256 _value) returns() +func (_Main *MainTransactor) Transfer(opts *bind.TransactOpts, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _Main.contract.Transact(opts, "transfer", _to, _value) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // -// Solidity: function transfer(_to address, _value uint256) returns() -func (_Token *TokenSession) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) { - return _Token.Contract.Transfer(&_Token.TransactOpts, _to, _value) +// Solidity: function transfer(address _to, uint256 _value) returns() +func (_Main *MainSession) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) { + return _Main.Contract.Transfer(&_Main.TransactOpts, _to, _value) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // -// Solidity: function transfer(_to address, _value uint256) returns() -func (_Token *TokenTransactorSession) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) { - return _Token.Contract.Transfer(&_Token.TransactOpts, _to, _value) +// Solidity: function transfer(address _to, uint256 _value) returns() +func (_Main *MainTransactorSession) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) { + return _Main.Contract.Transfer(&_Main.TransactOpts, _to, _value) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // -// Solidity: function transferFrom(_from address, _to address, _value uint256) returns(success bool) -func (_Token *TokenTransactor) TransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { - return _Token.contract.Transact(opts, "transferFrom", _from, _to, _value) +// Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool success) +func (_Main *MainTransactor) TransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _Main.contract.Transact(opts, "transferFrom", _from, _to, _value) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // -// Solidity: function transferFrom(_from address, _to address, _value uint256) returns(success bool) -func (_Token *TokenSession) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { - return _Token.Contract.TransferFrom(&_Token.TransactOpts, _from, _to, _value) +// Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool success) +func (_Main *MainSession) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _Main.Contract.TransferFrom(&_Main.TransactOpts, _from, _to, _value) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // -// Solidity: function transferFrom(_from address, _to address, _value uint256) returns(success bool) -func (_Token *TokenTransactorSession) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { - return _Token.Contract.TransferFrom(&_Token.TransactOpts, _from, _to, _value) +// Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool success) +func (_Main *MainTransactorSession) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _Main.Contract.TransferFrom(&_Main.TransactOpts, _from, _to, _value) +} + +// MainTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the Main contract. +type MainTransferIterator struct { + Event *MainTransfer // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *MainTransferIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(MainTransfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(MainTransfer) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *MainTransferIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *MainTransferIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// MainTransfer represents a Transfer event raised by the Main contract. +type MainTransfer struct { + From common.Address + To common.Address + Value *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_Main *MainFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*MainTransferIterator, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _Main.contract.FilterLogs(opts, "Transfer", fromRule, toRule) + if err != nil { + return nil, err + } + return &MainTransferIterator{contract: _Main.contract, event: "Transfer", logs: logs, sub: sub}, nil +} + +// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_Main *MainFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *MainTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { + + var fromRule []interface{} + for _, fromItem := range from { + fromRule = append(fromRule, fromItem) + } + var toRule []interface{} + for _, toItem := range to { + toRule = append(toRule, toItem) + } + + logs, sub, err := _Main.contract.WatchLogs(opts, "Transfer", fromRule, toRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(MainTransfer) + if err := _Main.contract.UnpackLog(event, "Transfer", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. +// +// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) +func (_Main *MainFilterer) ParseTransfer(log types.Log) (*MainTransfer, error) { + event := new(MainTransfer) + if err := _Main.contract.UnpackLog(event, "Transfer", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil }