diff --git a/.gitignore b/.gitignore index 5c711589..ba44b89e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,6 @@ release/ .DS_Store /build /cs -/goat/node_modules \ No newline at end of file +/goat/node_modules +/scripts/validators/node_modules +/files diff --git a/config.yml b/config.yml index 15c741e4..387cbf91 100644 --- a/config.yml +++ b/config.yml @@ -86,7 +86,7 @@ genesis: staking: params: bond_denom: ubpf - chain_id: cardtestnet-13 + chain_id: cardtestnet-14 validators: - name: alice bonded: 5000000ubpf diff --git a/docker-compose.yml b/docker-compose.yml index a0033dd1..09547827 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,6 +8,7 @@ services: - ./backup:/backup - ./docker-run.sh:/home/tendermint/docker-run.sh - ./peer_nodes.json:/home/tendermint/peer_nodes.json + - ./files/:/home/tendermint/files/ ports: - 26657:26657 - 26658:26658 diff --git a/docker-run.sh b/docker-run.sh index 8985acce..f31ccb03 100755 --- a/docker-run.sh +++ b/docker-run.sh @@ -83,6 +83,9 @@ then fi +# copy genesis.json to nginx server +cp $HOME/.cardchaind/config/genesis.json $HOME/files/genesis.json + # config pruning indexer="kv" pruning="custom" diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index a17b3fa0..311b6e6b 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -33478,9 +33478,14 @@ paths: owner: type: string parameters: - type: object - additionalProperties: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string imageId: type: string format: uint64 @@ -33541,9 +33546,14 @@ paths: owner: type: string parameters: - type: object - additionalProperties: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string imageId: type: string format: uint64 @@ -33605,9 +33615,14 @@ paths: owner: type: string parameters: - type: object - additionalProperties: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string imageId: type: string format: uint64 @@ -33664,9 +33679,14 @@ paths: owner: type: string parameters: - type: object - additionalProperties: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string imageId: type: string format: uint64 @@ -69184,9 +69204,14 @@ definitions: owner: type: string parameters: - type: object - additionalProperties: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string imageId: type: string format: uint64 @@ -69211,9 +69236,14 @@ definitions: owner: type: string parameters: - type: object - additionalProperties: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string imageId: type: string format: uint64 @@ -69646,6 +69676,13 @@ definitions: items: type: string format: uint64 + DecentralCardGame.cardchain.cardchain.Parameter: + type: object + properties: + key: + type: string + value: + type: string DecentralCardGame.cardchain.cardchain.Params: type: object properties: @@ -69864,9 +69901,14 @@ definitions: owner: type: string parameters: - type: object - additionalProperties: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string imageId: type: string format: uint64 @@ -69894,9 +69936,14 @@ definitions: owner: type: string parameters: - type: object - additionalProperties: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string imageId: type: string format: uint64 @@ -69925,9 +69972,14 @@ definitions: owner: type: string parameters: - type: object - additionalProperties: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string imageId: type: string format: uint64 @@ -69957,9 +70009,14 @@ definitions: owner: type: string parameters: - type: object - additionalProperties: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string imageId: type: string format: uint64 diff --git a/go.mod b/go.mod index e0332ea5..c8d532c9 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module github.com/DecentralCardGame/Cardchain -go 1.23 +go 1.23.0 + +toolchain go1.24.3 require ( cosmossdk.io/errors v1.0.0-beta.7 @@ -19,7 +21,7 @@ require ( github.com/tendermint/tendermint v0.34.29 github.com/tendermint/tm-db v0.6.7 golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0 - google.golang.org/genproto/googleapis/api v0.0.0-20250204164813-702378808489 + google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb google.golang.org/grpc v1.70.0 gopkg.in/yaml.v2 v2.4.0 ) @@ -80,6 +82,7 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect + github.com/google/go-cmp v0.7.0 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/google/uuid v1.6.0 // indirect @@ -151,17 +154,17 @@ require ( go.opentelemetry.io/otel v1.32.0 // indirect go.opentelemetry.io/otel/metric v1.32.0 // indirect go.opentelemetry.io/otel/trace v1.32.0 // indirect - golang.org/x/crypto v0.31.0 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/oauth2 v0.26.0 // indirect + golang.org/x/crypto v0.33.0 // indirect + golang.org/x/net v0.35.0 // indirect + golang.org/x/oauth2 v0.27.0 // indirect golang.org/x/sync v0.11.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/term v0.27.0 // indirect + golang.org/x/sys v0.30.0 // indirect + golang.org/x/term v0.29.0 // indirect golang.org/x/text v0.22.0 // indirect golang.org/x/time v0.5.0 // indirect google.golang.org/api v0.169.0 // indirect google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250204164813-702378808489 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb // indirect google.golang.org/protobuf v1.36.5 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 493a8233..938f17b5 100644 --- a/go.sum +++ b/go.sum @@ -1430,8 +1430,8 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/go-containerregistry v0.0.0-20191010200024-a3d713f9b7f8/go.mod h1:KyKXa9ciM8+lgMXwOVsXi7UxGrsf9mM61Mzs+xKUrKE= github.com/google/go-containerregistry v0.1.2/go.mod h1:GPivBPgdAyd2SU+vf6EpsgOtWDuPqjW0hJZt4rNdTZ4= github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= @@ -2871,8 +2871,8 @@ golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= +golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= 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= @@ -3037,8 +3037,8 @@ golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= +golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= golang.org/x/oauth2 v0.0.0-20180724155351-3d292e4d0cdc/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -3072,8 +3072,8 @@ golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE= -golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= +golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= 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= @@ -3273,8 +3273,8 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 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-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -3288,8 +3288,8 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU= +golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -3693,10 +3693,10 @@ google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+ google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= -google.golang.org/genproto/googleapis/api v0.0.0-20250204164813-702378808489 h1:fCuMM4fowGzigT89NCIsW57Pk9k2D12MMi2ODn+Nk+o= -google.golang.org/genproto/googleapis/api v0.0.0-20250204164813-702378808489/go.mod h1:iYONQfRdizDB8JJBybql13nArx91jcUk7zCXEsOofM4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250204164813-702378808489 h1:5bKytslY8ViY0Cj/ewmRtrWHW64bNF03cAatUUFCdFI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250204164813-702378808489/go.mod h1:8BS3B93F/U1juMFq9+EDk+qOT5CO1R9IzXxG3PTqiRk= +google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb h1:p31xT4yrYrSM/G4Sn2+TNUkVhFCbG9y8itM2S6Th950= +google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:jbe3Bkdp+Dh2IrslsFCklNhweNTBgSYanP1UXhJDhKg= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb h1:TLPQVbx1GJ8VKZxz52VAxl1EBgKXXbTiU9Fc5fZeLn4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= diff --git a/proto/cardchain/cardchain/encounters.proto b/proto/cardchain/cardchain/encounters.proto index f4d6d61f..05560c6b 100644 --- a/proto/cardchain/cardchain/encounters.proto +++ b/proto/cardchain/cardchain/encounters.proto @@ -5,12 +5,17 @@ import "gogoproto/gogo.proto"; option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; +message Parameter { + string key = 1; + string value = 2; +} + message Encounter { uint64 Id = 1; repeated uint64 Drawlist = 2; bool proven = 3; string owner = 4; - map parameters = 5; + repeated Parameter parameters = 5; uint64 imageId = 6; string name = 7; } diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 717a42b0..18f66d5f 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -7,6 +7,7 @@ import "cardchain/cardchain/council.proto"; import "cardchain/cardchain/match.proto"; import "cardchain/cardchain/voting.proto"; import "cardchain/cardchain/card.proto"; +import "cardchain/cardchain/encounters.proto"; import "cosmos/base/v1beta1/coin.proto"; // this line is used by starport scaffolding # proto/tx/import @@ -443,7 +444,7 @@ message MsgBuyCardScheme { string creator = 1; string name = 2; repeated uint64 Drawlist = 3; - map parameters = 4; + repeated Parameter parameters = 4; bytes image = 5; } diff --git a/scripts/genesis_balances.tsv b/scripts/genesis_balances.tsv deleted file mode 100644 index d03e835e..00000000 --- a/scripts/genesis_balances.tsv +++ /dev/null @@ -1,201 +0,0 @@ -Address Balance -cc1pfhx45ajlpk85sfn3mwyfvznct2tdeuv7vv7v6 100 -cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 500 -cc1p3kejss5t4zugkaffpdm65h0lvv4847rpfhdwt 200 -cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 800 -cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 1100 -cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 1200 -cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 1000 -cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 600 -cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 1000 -cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 600 -cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 600 -cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 1000 -cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 400 -cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 1000 -cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 1000 -cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 600 -cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 1000 -cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 400 -cc1v32ggu70yw6mwh7zeyaz7a9n0znkk34ypsc59h 100 -cc1vnyum3ntr4ejhhekfd5ke5ul74rcgcx5ku5xes 100 -cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 900 -cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 800 -cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 700 -cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 1000 -cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 300 -cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 4100 -cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 1100 -cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 300 -cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 1000 -cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 500 -cc1r9zywgy53xg093ssdfkr9agudnyfzpmmc5hdhu 100 -cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 400 -cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 400 -cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 400 -cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 1000 -cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 1000 -cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 700 -cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 200 -cc1cey5d65p9k5y66e8vttur4mn9cr0nmc9jfde4y 100 -cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 300 -cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 600 -cc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt 300 -cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 1000 -cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 800 -cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 1000 -cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 800 -cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 900 -cc1un7clms2rsg99842ywkacjg4y6duspqp4u5vze 100 -cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 1000 -cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 800 -cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 900 -cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 300 -cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 900 -cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 1000 -cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 800 -cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 900 -cc1lcd6ueqfq2h934vhzxclzzgla3nrd646m3v0hv 100 -cc198ppn5ezf3zt90a6uawcskvy407vrduzzfzqh0 100 -cc1x3xdfj8gsam2872y7ykrn4q9u2l64n2mx6x3ud 100 -cc1xe80y8xsse2ty60cgaetny443tmr95thj2whsf 100 -cc1895x9k0yz7fwqe69dgkz8m9wuajn9wz42hap4t 100 -cc18xuf9hngrey0xe2dljxt9mjwksr42qcsz00ytn 100 -cc1gfvfexqjhz660fwqfpyhutenzk788un29zh2xe 100 -cc1ga6vrq6tw3lgvs7z5lr76j4mv6wt745cf2mr6v 100 -cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 300 -cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 200 -cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 200 -cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 100 -cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 200 -cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 300 -cc139rf2wl9mxa348tnr957ev7c4x85jjln9am59l 100 -cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 700 -cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 500 -cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 300 -cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 700 -cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 200 -cc15lwe6hczz9czh2msktksn7mvjsl5t8gz9zzl3l 200 -cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y 100 -cc1e7rmfv2vlkn830396tl07jhqh822z0wd8x7k6j 100 -cc1m2gy6xkjdwyk6dkvkryckzg5emhmmnxpqxcgez 100 -cc1mv33hfvvu5pkajc6ear846yclcewceynehj2uj 100 -cc17d4ua8vww2znmzg2w0h65qy7fpqpa25ktmflyg 100 -cc19z20ne3ef575dgfk5ff67xtu0uup8yuj36629j 100 -cc1xaxmxvrhtsnemgcw2lc3mh3lwffk5h730wqacy 100 -cc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m 200 -cc1se7v7c8gslwckfnzmj8halgd67fqfgnnjhzuey 100 -cc1n485ndjsz04nka8q79u3e79u3k5tp5ltfhk2nl 100 -cc1k2g0l077raf7jyn5phqkh8y30eah6lgscv0x8z 100 -cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 400 -cc1cdcsjndsm8ddmd6av7f4zwwn6fqtq34pls4t40 100 -cc16mm2pqdtts8rttlgwg74zcnwg7jfhvxcawn0md 100 -cc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq 200 -cc1axcus06j2k6e359pgplu7w69pp276tgpzra5tf 100 -cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz 357759 -cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 56000 -cc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur 21850 -cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 4900 -cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 500 -cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 18850 -cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 82350 -cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f 5000 -cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k 1000 -cc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8 10000 -cc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3 1500 -cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s 48000 -cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 3100 -cc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c 1400 -cc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7 100 -cc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h 100 -cc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun 300 -cc1uzvzgt04gg4t70jquhdxa9mgyzkc88m3czxdps 100 -cc1x4yvn76pveqwej9gy3pcxqst5z66p4e2wzg70a 100 -cc1jdxal827zlmpjpdu75v9zcuda4gfudryxql2ze 200 -cc1w6sdrxkys6qq94mdm5eawk2aqfhcs55hld7tad 100 -cc1k4xdq5n5t0wmlttn3n05rlk2wrftfp3vs8997n 300 -cc1vh452a3zyyqkngfffsf9cvj8nzhrf0a8zxu6hn 100 -cc12j8wxashnunc7pvh8ep383sy55rk086wn6m62l 100 -cc177vpk4unx4d5pwsrwj4kd2jqq0xya9k9ztk8u7 100 -cc1qa8t2ed87x8tgdwyw2tcgxpsg4stvn4w64rtna 100 -cc1ekdz6rlnh4sx02wnwhdzheqq4l7pgvptjn2yu9 300 -cc1nfn9yev2ry0nmh0r5akpym58udmevt75pume5s 300 -cc1dwjsqp2psjyyaujxmwv76e6dk767tuamhxx0t2 600 -cc147zd6esmydn05pjwghzxmp2lztk0562gal3qnp 300 -cc19u8dpw8jp4mcelpelhp3pkam2sxzr6gdz8y3zt 200 -cc18dnnlpy3l6j7v0pekf73xxm6kh3z7chhpp6xev 400 -cc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9 200 -cc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac 100 -cc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf 100 -cc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc 100 -cc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h 100 -cc1ep8qq32hh7ndtdcztgd2rrzlq8dcmvmmantevt 100 -cc1wkuexd8n4lvd6032p4yuwnuf4cctd8m9cph6j5 300 -cc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx 200 -cc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw 100 -cc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7 100 -cc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r 200 -cc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7 100 -cc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg 200 -cc1vwg80fptuqmn0e3tnnqcgd0sm3u3a2s09qtq5m 400 -cc13ycv4yp4u58xk9gghwlfjkey2y9smezpezd4x4 100 -cc1c4smhzxtlzarjgrnueetdcjm3kjq3kx4sfkk3j 500 -cc1q8zrfyv7muv7aflr5xzn069zfumy4xs8w6a3xn 100 -cc14jzqhuk7s0c2ytspgrnq3ljqfxq5fjynr5q2zm 100 -cc1prnmjqvp2080lgugjle0492ratxa387npjgz37 200 -cc1qrjt6rsmn9qvs52suyujhuu8qp7a3520es7xy4 300 -cc1slj7amnmemt0t0f8uahnnyv2ztdwuc30sxgdku 100 -cc10zh0cdzdzxz8449v0pg4a2f32yueq8szrkw9qc 100 -cc12jwxqch0xv6yn5e5jlyszqae43vzsag7xemygj 100 -cc12jzf6x8qe77ephgx0cs0q276g2ptapzlr4k2ew 100 -cc12l3zzykqyuunf9nlh2kkmugr09euy5hd5lcgws 100 -cc13h9d5z77sfksv6uweheg38669g270puzkw5pwx 100 -cc13p9cvq5atl2cagnjsxsm72vnyfkfnngulj28g3 100 -cc13sany3heekznx5d2yur3v7rxj3f00ma6jv5eqq 100 -cc146dmvlqxrcwa2h6ulg34l84wg07pmycyfsr0mq 100 -cc14va4c3sfpxyapjjgl9mguwr82zc6v4f4tzellx 100 -cc154pwgwvec6m3746wdgqwct7qw7vw3ujvw6uw0r 100 -cc15nxn2qs00y367qw3789dc089kv2dmdakcva2ud 100 -cc17p0qlp5j6de7tjr0fuu8xyp708d292tvx8wrek 200 -cc18cpvvupy2xd8s6xurnzfh7z7c3ystll8kplyxc 100 -cc19hwl8xvvk0fsu5lyakum22wstkdclfh82nlt3t 100 -cc1a9kvywsn2fpuvtsjq4yk0p048ds7ejv4xdk23x 300 -cc1cqd0ka6td2tr7ulfd3ynggk0njspcp5827x3hn 300 -cc1cvaf96kz8jz8u4435p0yrjgel0t8zgz33p2cpe 100 -cc1d5cpaahz23nanxd69aeag44xecp0fu0a5flfus 100 -cc1dwx5cq7q53mlvkyjpgpwafyktk76qnxtaxm9j3 100 -cc1f6u85enm6dfq8y7rqyfq2550eztcjh9ud7vjr6 100 -cc1f8s69xmkm9e0uxjr9ylg0rfxukfzgwldphv5y9 200 -cc1fse4rke7mvveasnss47ztngwl4hwg7gm7egl5u 100 -cc1h5ejeeas7v85q80k7p6hxaqyu8c8kn6lnav72k 100 -cc1h7upe2prq8hdhzukyhpg9ec7njmmw3e5u8dmts 100 -cc1hjjv4h3l2x77vrv0ypvcu6twuy0tfnx8s8yj6k 100 -cc1hmsev8vpg60h67plrwvx2tmx3xzwfednjvl2fz 100 -cc1jjenfqlk00swjpn8vwd93rzx0guxg3tmrgsw90 200 -cc1jpucyzqw96sdpkqqkhz2k6qqte08ev88yy3jja 100 -cc1jxqhq2kskfzyhhm4acy8cd68ph5az54t0tdyud 200 -cc1kg85kh7pamfnj2j3k4g0y93nwkpj4txfvxk86d 100 -cc1m8lsz20hms79we5yn5ckml30kgg5mu6deslxym 100 -cc1mjqmlxa8aze6mduq4ucyvtdjttc78dgtt0secn 200 -cc1n44vc78vjmuvpfcaxarzta8wsutrh08cy36u3v 100 -cc1pjpaf9af7kh83kk7z4wgxyaw6772qggajzkt7x 100 -cc1py6acxj4d2l4694kyqj34mwhgr5f04pyn2wac5 100 -cc1qu6hwj678c5tm0j7q52rda8w8ftjes5cw9axu5 100 -cc1rhdpj0vrfmdfxwntj8evmncdhc35xp0edsnczk 100 -cc1u7wrw08y8wm0m8ev9c5tu62fk9jwa2vst6ajfa 100 -cc1vg2kwnamjp0q0rdcsq2n8wkp0sx7c042ehuwek 100 -cc1vknmv3g5vfg96276m3nuzg3temqthz0exru50z 100 -cc1wlmkgs6mckzphx42pxm8xaxwd9q997y2dzcphp 200 -cc1x2m6chcf68ujqqcsm8smu2ycfltf3cf486t2x8 100 -cc1xwcl8277d39q75q6eear3y8m8ymrapmtsf5wty 100 -cc1yc2zwyh6v545nv5sgh7gv340nlc7x5wf0kyu53 100 -cc1yll7qpdep4h7vg8na8jfwvfluy50j5damm6ua2 100 -cc13v8pucmwnnmhlkh2ajyhdezh3ktap3uuzradg0 100 -cc182n9vgjdqjxc59lluf599s07m0ptlr0effrapu 100 -cc1jxyvvt3kym3paa6v0j7jlp3ldtfcsgsltvd79t 100 -cc1lghgn9xghujw82jy3fskpzzd9faxkse2dkejfh 100 -cc1p9653c8puaum26fxnmm85xumflakn22uj4sxqt 100 -cc1s9arxcl3y57aeavu0qx4v97720wm4cpudte0g4 100 -cc1zvgued20j7ltucwduwe2tsvhfwxdpu4lcla2tz 100 -cc10xzsrcxr6y0e52nvwxrf30892mnsc8zsges8fy 100 -cc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0 200 \ No newline at end of file diff --git a/scripts/validators/merged_genesis_balances.tsv b/scripts/merged_genesis_balances.tsv similarity index 55% rename from scripts/validators/merged_genesis_balances.tsv rename to scripts/merged_genesis_balances.tsv index d03e835e..5237b124 100644 --- a/scripts/validators/merged_genesis_balances.tsv +++ b/scripts/merged_genesis_balances.tsv @@ -1,111 +1,151 @@ Address Balance cc1pfhx45ajlpk85sfn3mwyfvznct2tdeuv7vv7v6 100 -cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 500 +cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 800 cc1p3kejss5t4zugkaffpdm65h0lvv4847rpfhdwt 200 -cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 800 -cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 1100 -cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 1200 -cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 1000 -cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 600 -cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 1000 -cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 600 -cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 600 -cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 1000 +cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 1100 +cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 1600 +cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 1600 +cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 1500 +cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 900 +cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 1400 +cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 1000 +cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 1000 +cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 1100 cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 400 -cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 1000 -cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 1000 -cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 600 -cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 1000 +cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 1400 +cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 1400 +cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 900 +cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 1300 cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 400 cc1v32ggu70yw6mwh7zeyaz7a9n0znkk34ypsc59h 100 cc1vnyum3ntr4ejhhekfd5ke5ul74rcgcx5ku5xes 100 -cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 900 -cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 800 -cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 700 -cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 1000 -cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 300 -cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 4100 -cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 1100 -cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 300 -cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 1000 -cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 500 +cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 1300 +cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 1200 +cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 1100 +cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 1400 +cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 400 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 4600 +cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 1500 +cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 600 +cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 1400 +cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 900 cc1r9zywgy53xg093ssdfkr9agudnyfzpmmc5hdhu 100 cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 400 -cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 400 +cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 600 cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 400 -cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 1000 -cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 1000 -cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 700 -cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 200 +cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 1400 +cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 1400 +cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 1100 +cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 600 cc1cey5d65p9k5y66e8vttur4mn9cr0nmc9jfde4y 100 -cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 300 +cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 500 cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 600 cc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt 300 -cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 1000 +cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 1400 cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 800 -cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 1000 -cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 800 -cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 900 +cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 1400 +cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 1200 +cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 1200 cc1un7clms2rsg99842ywkacjg4y6duspqp4u5vze 100 -cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 1000 -cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 800 -cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 900 -cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 300 -cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 900 -cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 1000 -cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 800 -cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 900 +cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 1400 +cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 1200 +cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 1300 +cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 500 +cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 1200 +cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 1400 +cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 1200 +cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 1100 cc1lcd6ueqfq2h934vhzxclzzgla3nrd646m3v0hv 100 -cc198ppn5ezf3zt90a6uawcskvy407vrduzzfzqh0 100 +cc1ratqe700frdlck5j7j6v05g04j9jdwp83vjghm 400 +cc198ppn5ezf3zt90a6uawcskvy407vrduzzfzqh0 200 +cc1xe80y8xsse2ty60cgaetny443tmr95thj2whsf 200 +cc1895x9k0yz7fwqe69dgkz8m9wuajn9wz42hap4t 400 +cc1gs75ex93d40z5vax0yezs2007rtj7n23xfl6da 500 +cc12qv7fl840uekmvvxc745048p4ngrn2dyms8j5n 400 +cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 600 +cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 600 +cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 300 +cc1vudwtalaxlzhhwwn5aawcujmmm0jcmuwpe9nze 100 +cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 500 +cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 600 +cc13p786w83l5jzhhkc5cp8ncuuasql297n2qlkas 400 +cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 1000 +cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 900 +cc1j8x853eaevv87zj6w49uy73k3raggltgzvqsee 100 +cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 1000 +cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 500 +cc15h8l97u99sgcjpm86p3jeq658trnguasqld6mv 200 +cc15lwe6hczz9czh2msktksn7mvjsl5t8gz9zzl3l 300 +cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y 500 +cc1c9v8flu0ue3uxaj3mkq9jj9t8vuawz0nzc9xzn 100 +cc1cdcsjndsm8ddmd6av7f4zwwn6fqtq34pls4t40 200 +cc1m2gy6xkjdwyk6dkvkryckzg5emhmmnxpqxcgez 200 +cc1ltjah8p6sd3hpe8evdtwccmkn8mxmll3jddrjl 200 +cc1pfqxtfpamfwv5khcgr8mlfxv8jz59rgrfhhe6a 100 +cc1rfvea9dw3wctnv0z6uqw6v7f28hk5gf4r0v74l 100 +cc1ykfzvjd58cag7jlp3vfuc0jvpkwm240wdmfes9 200 +cc19swd564q2hj9w7rn9dgd7ftlaspavq38y4p63v 200 +cc1x3wxdww8a8nx33khgth8gawhrmnf6j9gkh8wu7 100 +cc1fqcyy8fc5ap7hnz2uh9aqughq874uq6cymgj8s 100 +cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 600 +cc16yc25rmhpugwd8nu2xus2kazt04092jk0l9ufz 200 +cc1m8fq6v8f5qsgk4qzgvqgx543wack72n0ak4k63 200 +cc1m5lgtsrs6dx7mef2sehy0cpr5sv0vwfe0k8l6g 200 +cc170x22t5decrgp3h65t2fevcsyte4geahw8dmnw 100 cc1x3xdfj8gsam2872y7ykrn4q9u2l64n2mx6x3ud 100 -cc1xe80y8xsse2ty60cgaetny443tmr95thj2whsf 100 -cc1895x9k0yz7fwqe69dgkz8m9wuajn9wz42hap4t 100 cc18xuf9hngrey0xe2dljxt9mjwksr42qcsz00ytn 100 cc1gfvfexqjhz660fwqfpyhutenzk788un29zh2xe 100 cc1ga6vrq6tw3lgvs7z5lr76j4mv6wt745cf2mr6v 100 -cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 300 -cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 200 -cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 200 -cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 100 -cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 200 cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 300 cc139rf2wl9mxa348tnr957ev7c4x85jjln9am59l 100 -cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 700 -cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 500 cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 300 -cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 700 -cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 200 -cc15lwe6hczz9czh2msktksn7mvjsl5t8gz9zzl3l 200 -cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y 100 cc1e7rmfv2vlkn830396tl07jhqh822z0wd8x7k6j 100 -cc1m2gy6xkjdwyk6dkvkryckzg5emhmmnxpqxcgez 100 cc1mv33hfvvu5pkajc6ear846yclcewceynehj2uj 100 cc17d4ua8vww2znmzg2w0h65qy7fpqpa25ktmflyg 100 +cc1rt9tmq8d09um7f6ac4h2sh7fpfdsthlh0nfwsm 100 +cc196trncnx44qvnwfg9urdmjefxv9wqycmladzkg 100 +cc18mggys60cqx0792fe4qcsr2yew2spcqmz7d09a 100 +cc12v9vx4pusuuvnrwjnjcm52ctavuav5dfg7sd0m 100 +cc1sgs3xzsv9efa3q28dfcl736nvqr3ly94cvrgw0 100 +cc15ls6jl06smv8jv59srpk7frtwummzzgghvk9lm 200 +cc1r522p68hq2mqrqw3srv02vcqcy8uv9pdvz3yz6 100 +cc1vqj0duk7y5fg0fnpc39y62psp86ychk5ec8hzp 100 +cc1v5adcr4udfnrnsk7pgn0637s0wvntlzkxufz47 100 +cc1035w0v49k5a9tdmx4g3334mdfhrr435qsh808c 100 +cc138w80w697s05q55ynlulx66n3lns45825e9znp 100 +cc1kepfjnafhxzy8patk0v70la7rtcns0jfc2qfql 100 +cc1h5hj0epjwnh3qnpdpqk5yhttrfzwtsr7h7qysx 100 +cc1cg8jypw42je3drq5t3ejezu49vrf6u2cy5kt7x 100 +cc1uwd0jxe63tpjrysc374p6hfrrzdyn8ufeqkllw 100 +cc179tk7td8lj3tqqjkxl0s2uckqgk4tymgpp6k62 100 cc19z20ne3ef575dgfk5ff67xtu0uup8yuj36629j 100 cc1xaxmxvrhtsnemgcw2lc3mh3lwffk5h730wqacy 100 cc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m 200 cc1se7v7c8gslwckfnzmj8halgd67fqfgnnjhzuey 100 cc1n485ndjsz04nka8q79u3e79u3k5tp5ltfhk2nl 100 cc1k2g0l077raf7jyn5phqkh8y30eah6lgscv0x8z 100 -cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 400 -cc1cdcsjndsm8ddmd6av7f4zwwn6fqtq34pls4t40 100 cc16mm2pqdtts8rttlgwg74zcnwg7jfhvxcawn0md 100 cc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq 200 cc1axcus06j2k6e359pgplu7w69pp276tgpzra5tf 100 -cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz 357759 -cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 56000 +cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz 395559 +cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 77000 +cc1awpflkaj937pkn6ws5f048hhf7jwjg8f23z2g7 1178354 cc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur 21850 cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 4900 -cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 500 +cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 4500 cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 18850 -cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 82350 +cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 98650 cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f 5000 cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k 1000 cc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8 10000 cc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3 1500 -cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s 48000 +cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s 51700 cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 3100 cc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c 1400 +cc1ym4x9362yxtxra72w550n5kv2zj8ze7rf679nq 2100 +cc1s2gpvp2st2gggepxekj53c2uf7tqn9vrj09dxz 2000 +cc1ywlysn8273d9zwz64mtxxc32ugkp49ussd5gxf 200 +cc1vvv4x25qujst02r5l4put2her0u4ydu4fy7dl5 100 cc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7 100 cc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h 100 cc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun 300 @@ -198,4 +238,5 @@ cc1p9653c8puaum26fxnmm85xumflakn22uj4sxqt 100 cc1s9arxcl3y57aeavu0qx4v97720wm4cpudte0g4 100 cc1zvgued20j7ltucwduwe2tsvhfwxdpu4lcla2tz 100 cc10xzsrcxr6y0e52nvwxrf30892mnsc8zsges8fy 100 -cc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0 200 \ No newline at end of file +cc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0 200 +cc1s67pcfjq0y0znh4y6jlnp3ffgnh9l64jppqpfa 100 \ No newline at end of file diff --git a/scripts/migrate_with_data.py b/scripts/migrate_with_data.py index 5c91b17d..517d2196 100755 --- a/scripts/migrate_with_data.py +++ b/scripts/migrate_with_data.py @@ -13,6 +13,8 @@ gameserver_addr = ["cc1z94z55n2rr4rmjf4ea0m7ykgh9a8urwzrlsxt4", "cc1ch66e3f0szxy8q976rsq5y07esmgdqzj70dfpu"] alpha_creator = "cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej" +ruslan_creator = "cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k" + del_cards = [] # [370, 346, 258] file_path_old = args[1] @@ -34,7 +36,7 @@ genesisAccs = [] # here we load the balances of addresses that start with balances on CC -with open(os.path.join(__location__, "./genesis_balances.tsv"), "r", encoding="utf8") as genesis_file: +with open(os.path.join(__location__, "./merged_genesis_balances.tsv"), "r", encoding="utf8") as genesis_file: tsv_reader = csv.DictReader(genesis_file, delimiter="\t") for entry in tsv_reader: genesisAccs.append((entry["Address"], entry["Balance"])) @@ -66,15 +68,25 @@ # delete all sets # old_dict["app_state"]["cardchain"]["sets"] = [] +# fix first encounters (those are bugged) +fix_encounters = [0,1,2,3] +for encounter in fix_encounters: + old_dict["app_state"]["cardchain"]["encounters"][encounter]["name"] = "test"+str(encounter) params = new_dict["app_state"]["cardchain"]["params"] new_dict["app_state"]["featureflag"] = old_dict["app_state"].get("featureflag", new_dict["app_state"]["featureflag"]) new_dict["app_state"]["cardchain"] = old_dict["app_state"]["cardchain"].copy() new_dict["app_state"]["cardchain"]["addresses"] = [] new_dict["app_state"]["cardchain"]["users"] = [] + for card in del_cards: new_dict["app_state"]["cardchain"]["cardRecords"][card] = {} +# delete all cards except jannik and ruslan +for key, card in enumerate(new_dict["app_state"]["cardchain"]["cardRecords"]): + if card["owner"] != alpha_creator and card["owner"] != ruslan_creator: + new_dict["app_state"]["cardchain"]["cardRecords"][key] = {} + if new_dict["app_state"]["cardchain"]["cardRecords"]: # write rarities into cards for card in rarities: @@ -113,12 +125,12 @@ new_dict["app_state"]["auth"]["accounts"].append(i) break # limit balances to 5k for all old accounts (genesis accs + alice and bob will have more) - for i in old_dict["app_state"]["bank"]["balances"]: + for i in old_dict["app_state"]["bank"]["balances"]: if i["address"] == addr: for idx, coin in enumerate(i["coins"]): # adjust BPFs if coin["denom"] == "ubpf": - bpf = 0 + bpf = 0 # use real bpf value for genesisAddresses for acc in genesisAccs: if acc[0] == addr: @@ -136,11 +148,11 @@ # give bpf to alpha creator (jannik) if addr == alpha_creator: - i["coins"][idx]["amount"] = "1000000000" + i["coins"][idx]["amount"] = "10000000000" # adjust Credits if coin["denom"] == "ucredits": if addr == alpha_creator: - i["coins"][idx]["amount"] = "100000000000" + i["coins"][idx]["amount"] = "10000000000000" new_dict["app_state"]["bank"]["balances"].append(i) break @@ -155,7 +167,7 @@ num_packs = int(entry[1]) for x in range(num_packs): user["boosterPacks"].append({'dropRatiosPerPack': ['150', '50', '1'], 'raritiesPerPack': ['4', '2', '1'], 'setId': '1', 'timeStamp': '0'}) - + user["earlyAccess"] = user.get( "earlyAccess", {"active": False, "invitedUser": "", "invitedByUser": ""} @@ -163,5 +175,10 @@ if addr in early_access_addr: user["earlyAccess"]["active"] = True +for id, encounter in enumerate(new_dict["app_state"]["cardchain"]["encounters"]): + if isinstance(encounter["parameters"], dict): + new_dict["app_state"]["cardchain"]["encounters"][id]["parameters"] = [] + + with open(file_path_new, "w") as file: json.dump(new_dict, file, indent=2) diff --git a/scripts/validators/craft_genesis_balances.js b/scripts/validators/craft_genesis_balances.js index a1f4f957..cdc50b91 100644 --- a/scripts/validators/craft_genesis_balances.js +++ b/scripts/validators/craft_genesis_balances.js @@ -21,10 +21,10 @@ data.forEach(file => { }) }) -saveableData = [] +saveableData = ["Address\tBalance"] R.mapObjIndexed((val, key) => saveableData.push(key+"\t"+val), dataObj) saveableData = saveableData.join("\n") console.log(saveableData) -fs.writeFileSync("merged_genesis_balances.tsv", saveableData); +fs.writeFileSync("../merged_genesis_balances.tsv", saveableData); diff --git a/scripts/validators/genesis_balances.tsv b/scripts/validators/genesis_balances.tsv deleted file mode 100644 index 8264dff2..00000000 --- a/scripts/validators/genesis_balances.tsv +++ /dev/null @@ -1 +0,0 @@ -"cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn\t56000\ncc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur\t21850\ncc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86\t4900\ncc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2\t500\ncc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4\t18850\ncc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk\t82350\ncc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f\t5000\ncc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k\t1000\ncc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8\t10000\ncc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3\t1500\ncc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s\t48000\ncc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys\t3000\ncc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c\t1400\ncc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j\t100\ncc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw\t600\ncc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7\t100\ncc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h\t100\ncc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun\t300\ncc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy\t700\ncc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q\t800\ncc1uzvzgt04gg4t70jquhdxa9mgyzkc88m3czxdps\t100\ncc1x4yvn76pveqwej9gy3pcxqst5z66p4e2wzg70a\t100\ncc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx\t700\ncc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64\t500\ncc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8\t100\ncc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d\t700\ncc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp\t700\ncc1jdxal827zlmpjpdu75v9zcuda4gfudryxql2ze\t200\ncc1w6sdrxkys6qq94mdm5eawk2aqfhcs55hld7tad\t100\ncc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x\t200\ncc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp\t500\ncc1k4xdq5n5t0wmlttn3n05rlk2wrftfp3vs8997n\t300\ncc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj\t300\ncc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06\t500\ncc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk\t700\ncc1vh452a3zyyqkngfffsf9cvj8nzhrf0a8zxu6hn\t100\ncc12j8wxashnunc7pvh8ep383sy55rk086wn6m62l\t100\ncc177vpk4unx4d5pwsrwj4kd2jqq0xya9k9ztk8u7\t100\ncc1qa8t2ed87x8tgdwyw2tcgxpsg4stvn4w64rtna\t100\ncc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq\t100\ncc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4\t500\ncc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w\t700\ncc1ekdz6rlnh4sx02wnwhdzheqq4l7pgvptjn2yu9\t300\ncc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r\t600\ncc1nfn9yev2ry0nmh0r5akpym58udmevt75pume5s\t300\ncc1dwjsqp2psjyyaujxmwv76e6dk767tuamhxx0t2\t600\ncc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele\t700\ncc147zd6esmydn05pjwghzxmp2lztk0562gal3qnp\t300\ncc19u8dpw8jp4mcelpelhp3pkam2sxzr6gdz8y3zt\t200\ncc18dnnlpy3l6j7v0pekf73xxm6kh3z7chhpp6xev\t400\ncc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe\t300\ncc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla\t700\ncc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j\t700\ncc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9\t200\ncc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa\t1000\ncc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl\t100\ncc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys\t100\ncc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj\t800\ncc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac\t100\ncc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf\t100\ncc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc\t100\ncc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf\t500\ncc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23\t500\ncc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk\t400\ncc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h\t100\ncc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8\t700\ncc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu\t700\ncc1ep8qq32hh7ndtdcztgd2rrzlq8dcmvmmantevt\t100\ncc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57\t400\ncc1wkuexd8n4lvd6032p4yuwnuf4cctd8m9cph6j5\t300\ncc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g\t700\ncc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx\t200\ncc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw\t100\ncc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25\t600\ncc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7\t100\ncc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k\t3800\ncc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r\t200\ncc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7\t100\ncc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg\t200\ncc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x\t600\ncc1vwg80fptuqmn0e3tnnqcgd0sm3u3a2s09qtq5m\t400\ncc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k\t700\ncc13ycv4yp4u58xk9gghwlfjkey2y9smezpezd4x4\t100\ncc1c4smhzxtlzarjgrnueetdcjm3kjq3kx4sfkk3j\t500\ncc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz\t700\ncc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz\t600\ncc1q8zrfyv7muv7aflr5xzn069zfumy4xs8w6a3xn\t100\ncc14jzqhuk7s0c2ytspgrnq3ljqfxq5fjynr5q2zm\t100\ncc1prnmjqvp2080lgugjle0492ratxa387npjgz37\t200\ncc1qrjt6rsmn9qvs52suyujhuu8qp7a3520es7xy4\t300\ncc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y\t500\ncc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz\t700\ncc1slj7amnmemt0t0f8uahnnyv2ztdwuc30sxgdku\t100\ncc10zh0cdzdzxz8449v0pg4a2f32yueq8szrkw9qc\t100\ncc12jwxqch0xv6yn5e5jlyszqae43vzsag7xemygj\t100\ncc12jzf6x8qe77ephgx0cs0q276g2ptapzlr4k2ew\t100\ncc12l3zzykqyuunf9nlh2kkmugr09euy5hd5lcgws\t100\ncc13h9d5z77sfksv6uweheg38669g270puzkw5pwx\t100\ncc13p9cvq5atl2cagnjsxsm72vnyfkfnngulj28g3\t100\ncc13sany3heekznx5d2yur3v7rxj3f00ma6jv5eqq\t100\ncc146dmvlqxrcwa2h6ulg34l84wg07pmycyfsr0mq\t100\ncc14va4c3sfpxyapjjgl9mguwr82zc6v4f4tzellx\t100\ncc154pwgwvec6m3746wdgqwct7qw7vw3ujvw6uw0r\t100\ncc15nxn2qs00y367qw3789dc089kv2dmdakcva2ud\t100\ncc17p0qlp5j6de7tjr0fuu8xyp708d292tvx8wrek\t200\ncc18cpvvupy2xd8s6xurnzfh7z7c3ystll8kplyxc\t100\ncc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk\t300\ncc19hwl8xvvk0fsu5lyakum22wstkdclfh82nlt3t\t100\ncc1a9kvywsn2fpuvtsjq4yk0p048ds7ejv4xdk23x\t300\ncc1cqd0ka6td2tr7ulfd3ynggk0njspcp5827x3hn\t300\ncc1cvaf96kz8jz8u4435p0yrjgel0t8zgz33p2cpe\t100\ncc1d5cpaahz23nanxd69aeag44xecp0fu0a5flfus\t100\ncc1dwx5cq7q53mlvkyjpgpwafyktk76qnxtaxm9j3\t100\ncc1f6u85enm6dfq8y7rqyfq2550eztcjh9ud7vjr6\t100\ncc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr\t200\ncc1f8s69xmkm9e0uxjr9ylg0rfxukfzgwldphv5y9\t200\ncc1fse4rke7mvveasnss47ztngwl4hwg7gm7egl5u\t100\ncc1h5ejeeas7v85q80k7p6hxaqyu8c8kn6lnav72k\t100\ncc1h7upe2prq8hdhzukyhpg9ec7njmmw3e5u8dmts\t100\ncc1hjjv4h3l2x77vrv0ypvcu6twuy0tfnx8s8yj6k\t100\ncc1hmsev8vpg60h67plrwvx2tmx3xzwfednjvl2fz\t100\ncc1jjenfqlk00swjpn8vwd93rzx0guxg3tmrgsw90\t200\ncc1jpucyzqw96sdpkqqkhz2k6qqte08ev88yy3jja\t100\ncc1jxqhq2kskfzyhhm4acy8cd68ph5az54t0tdyud\t200\ncc1kg85kh7pamfnj2j3k4g0y93nwkpj4txfvxk86d\t100\ncc1m8lsz20hms79we5yn5ckml30kgg5mu6deslxym\t100\ncc1mjqmlxa8aze6mduq4ucyvtdjttc78dgtt0secn\t200\ncc1n44vc78vjmuvpfcaxarzta8wsutrh08cy36u3v\t100\ncc1pjpaf9af7kh83kk7z4wgxyaw6772qggajzkt7x\t100\ncc1py6acxj4d2l4694kyqj34mwhgr5f04pyn2wac5\t100\ncc1qu6hwj678c5tm0j7q52rda8w8ftjes5cw9axu5\t100\ncc1rhdpj0vrfmdfxwntj8evmncdhc35xp0edsnczk\t100\ncc1u7wrw08y8wm0m8ev9c5tu62fk9jwa2vst6ajfa\t100\ncc1vg2kwnamjp0q0rdcsq2n8wkp0sx7c042ehuwek\t100\ncc1vknmv3g5vfg96276m3nuzg3temqthz0exru50z\t100\ncc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz\t200\ncc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z\t100\ncc1wlmkgs6mckzphx42pxm8xaxwd9q997y2dzcphp\t200\ncc1x2m6chcf68ujqqcsm8smu2ycfltf3cf486t2x8\t100\ncc1xwcl8277d39q75q6eear3y8m8ymrapmtsf5wty\t100\ncc1yc2zwyh6v545nv5sgh7gv340nlc7x5wf0kyu53\t100\ncc1yll7qpdep4h7vg8na8jfwvfluy50j5damm6ua2\t100\ncc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn\t300\ncc13v8pucmwnnmhlkh2ajyhdezh3ktap3uuzradg0\t100\ncc182n9vgjdqjxc59lluf599s07m0ptlr0effrapu\t100\ncc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv\t300\ncc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g\t400\ncc1jxyvvt3kym3paa6v0j7jlp3ldtfcsgsltvd79t\t100\ncc1lghgn9xghujw82jy3fskpzzd9faxkse2dkejfh\t100\ncc1p9653c8puaum26fxnmm85xumflakn22uj4sxqt\t100\ncc1s9arxcl3y57aeavu0qx4v97720wm4cpudte0g4\t100\ncc1zvgued20j7ltucwduwe2tsvhfwxdpu4lcla2tz\t100\ncc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf\t300\ncc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m\t100\ncc10xzsrcxr6y0e52nvwxrf30892mnsc8zsges8fy\t100\ncc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v\t200\ncc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5\t200\ncc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt\t200\ncc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92\t200\ncc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f\t200\ncc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0\t200" \ No newline at end of file diff --git a/scripts/validators/snapshots/airdrop11.06.25.tsv b/scripts/validators/snapshots/airdrop11.06.25.tsv new file mode 100644 index 00000000..8daa3187 --- /dev/null +++ b/scripts/validators/snapshots/airdrop11.06.25.tsv @@ -0,0 +1,55 @@ +cc1pfqxtfpamfwv5khcgr8mlfxv8jz59rgrfhhe6a 100 +cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 100 +cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 100 +cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 100 +cc1rfvea9dw3wctnv0z6uqw6v7f28hk5gf4r0v74l 100 +cc1ratqe700frdlck5j7j6v05g04j9jdwp83vjghm 100 +cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 100 +cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 100 +cc1ykfzvjd58cag7jlp3vfuc0jvpkwm240wdmfes9 100 +cc19swd564q2hj9w7rn9dgd7ftlaspavq38y4p63v 100 +cc1x3wxdww8a8nx33khgth8gawhrmnf6j9gkh8wu7 100 +cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 100 +cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 100 +cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 100 +cc1gs75ex93d40z5vax0yezs2007rtj7n23xfl6da 100 +cc1fqcyy8fc5ap7hnz2uh9aqughq874uq6cymgj8s 100 +cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 100 +cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 100 +cc12qv7fl840uekmvvxc745048p4ngrn2dyms8j5n 100 +cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 100 +cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 100 +cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 100 +cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 100 +cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 100 +cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 100 +cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 100 +cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 100 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 100 +cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 100 +cc13p786w83l5jzhhkc5cp8ncuuasql297n2qlkas 100 +cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 100 +cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 100 +cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 100 +cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 100 +cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 100 +cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 100 +cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 100 +cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 100 +cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 100 +cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y 100 +cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 100 +cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 100 +cc16yc25rmhpugwd8nu2xus2kazt04092jk0l9ufz 100 +cc1m8fq6v8f5qsgk4qzgvqgx543wack72n0ak4k63 100 +cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 100 +cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 100 +cc1m5lgtsrs6dx7mef2sehy0cpr5sv0vwfe0k8l6g 100 +cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 100 +cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 100 +cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 100 +cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 100 +cc170x22t5decrgp3h65t2fevcsyte4geahw8dmnw 100 +cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 100 +cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 100 +cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 100 \ No newline at end of file diff --git a/scripts/validators/snapshots/genesis_balances.tsv b/scripts/validators/snapshots/genesis_balances.tsv index 0eddf814..3074576f 100644 --- a/scripts/validators/snapshots/genesis_balances.tsv +++ b/scripts/validators/snapshots/genesis_balances.tsv @@ -1,17 +1,22 @@ -cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz 357759 -cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 56000 +cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz 395559 +cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 77000 +cc1awpflkaj937pkn6ws5f048hhf7jwjg8f23z2g7 1178354 cc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur 21850 cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 4900 -cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 500 +cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 4500 cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 18850 -cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 82350 +cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 98650 cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f 5000 cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k 1000 cc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8 10000 cc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3 1500 -cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s 48000 +cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s 51700 cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 3000 cc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c 1400 +cc1ym4x9362yxtxra72w550n5kv2zj8ze7rf679nq 2100 +cc1s2gpvp2st2gggepxekj53c2uf7tqn9vrj09dxz 2000 +cc1ywlysn8273d9zwz64mtxxc32ugkp49ussd5gxf 200 +cc1vvv4x25qujst02r5l4put2her0u4ydu4fy7dl5 100 cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 100 cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 600 cc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7 100 @@ -53,10 +58,10 @@ cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 300 cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 700 cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 700 cc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9 200 -cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 1000 +cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 1100 cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 100 cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 100 -cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 800 +cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 900 cc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac 100 cc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf 100 cc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc 100 @@ -74,7 +79,7 @@ cc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx 200 cc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw 100 cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 600 cc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7 100 -cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 3800 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 3900 cc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r 200 cc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7 100 cc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg 200 @@ -159,4 +164,4 @@ cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 200 cc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt 200 cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 200 cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 200 -cc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0 200 \ No newline at end of file +cc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0 200 diff --git a/scripts/validators/snapshots/specialairdrop1.tsv b/scripts/validators/snapshots/specialairdrop1.tsv new file mode 100644 index 00000000..88d954df --- /dev/null +++ b/scripts/validators/snapshots/specialairdrop1.tsv @@ -0,0 +1,5 @@ +cc1gs75ex93d40z5vax0yezs2007rtj7n23xfl6da 100 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 100 +cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 100 +cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 100 +cc1s67pcfjq0y0znh4y6jlnp3ffgnh9l64jppqpfa 100 \ No newline at end of file diff --git a/x/cardchain/client/cli/tx_encounter_create.go b/x/cardchain/client/cli/tx_encounter_create.go index 69d6135a..b3eb4fe0 100644 --- a/x/cardchain/client/cli/tx_encounter_create.go +++ b/x/cardchain/client/cli/tx_encounter_create.go @@ -25,7 +25,7 @@ func CmdEncounterCreate() *cobra.Command { return err } - var reqParameters map[string]string + var reqParameters []*types.Parameter err = json.Unmarshal([]byte(args[2]), &reqParameters) if err != nil { return err diff --git a/x/cardchain/types/encounters.pb.go b/x/cardchain/types/encounters.pb.go index 81e65ce7..1a9e97fe 100644 --- a/x/cardchain/types/encounters.pb.go +++ b/x/cardchain/types/encounters.pb.go @@ -23,21 +23,73 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type Parameter struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *Parameter) Reset() { *m = Parameter{} } +func (m *Parameter) String() string { return proto.CompactTextString(m) } +func (*Parameter) ProtoMessage() {} +func (*Parameter) Descriptor() ([]byte, []int) { + return fileDescriptor_bd29899b36e899bc, []int{0} +} +func (m *Parameter) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Parameter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Parameter.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Parameter) XXX_Merge(src proto.Message) { + xxx_messageInfo_Parameter.Merge(m, src) +} +func (m *Parameter) XXX_Size() int { + return m.Size() +} +func (m *Parameter) XXX_DiscardUnknown() { + xxx_messageInfo_Parameter.DiscardUnknown(m) +} + +var xxx_messageInfo_Parameter proto.InternalMessageInfo + +func (m *Parameter) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *Parameter) GetValue() string { + if m != nil { + return m.Value + } + return "" +} + type Encounter struct { - Id uint64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` - Drawlist []uint64 `protobuf:"varint,2,rep,packed,name=Drawlist,proto3" json:"Drawlist,omitempty"` - Proven bool `protobuf:"varint,3,opt,name=proven,proto3" json:"proven,omitempty"` - Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` - Parameters map[string]string `protobuf:"bytes,5,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - ImageId uint64 `protobuf:"varint,6,opt,name=imageId,proto3" json:"imageId,omitempty"` - Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` + Id uint64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` + Drawlist []uint64 `protobuf:"varint,2,rep,packed,name=Drawlist,proto3" json:"Drawlist,omitempty"` + Proven bool `protobuf:"varint,3,opt,name=proven,proto3" json:"proven,omitempty"` + Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` + Parameters []*Parameter `protobuf:"bytes,5,rep,name=parameters,proto3" json:"parameters,omitempty"` + ImageId uint64 `protobuf:"varint,6,opt,name=imageId,proto3" json:"imageId,omitempty"` + Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` } func (m *Encounter) Reset() { *m = Encounter{} } func (m *Encounter) String() string { return proto.CompactTextString(m) } func (*Encounter) ProtoMessage() {} func (*Encounter) Descriptor() ([]byte, []int) { - return fileDescriptor_bd29899b36e899bc, []int{0} + return fileDescriptor_bd29899b36e899bc, []int{1} } func (m *Encounter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -94,7 +146,7 @@ func (m *Encounter) GetOwner() string { return "" } -func (m *Encounter) GetParameters() map[string]string { +func (m *Encounter) GetParameters() []*Parameter { if m != nil { return m.Parameters } @@ -124,7 +176,7 @@ func (m *EncounterWithImage) Reset() { *m = EncounterWithImage{} } func (m *EncounterWithImage) String() string { return proto.CompactTextString(m) } func (*EncounterWithImage) ProtoMessage() {} func (*EncounterWithImage) Descriptor() ([]byte, []int) { - return fileDescriptor_bd29899b36e899bc, []int{1} + return fileDescriptor_bd29899b36e899bc, []int{2} } func (m *EncounterWithImage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -168,8 +220,8 @@ func (m *EncounterWithImage) GetImage() string { } func init() { + proto.RegisterType((*Parameter)(nil), "DecentralCardGame.cardchain.cardchain.Parameter") proto.RegisterType((*Encounter)(nil), "DecentralCardGame.cardchain.cardchain.Encounter") - proto.RegisterMapType((map[string]string)(nil), "DecentralCardGame.cardchain.cardchain.Encounter.ParametersEntry") proto.RegisterType((*EncounterWithImage)(nil), "DecentralCardGame.cardchain.cardchain.EncounterWithImage") } @@ -178,30 +230,67 @@ func init() { } var fileDescriptor_bd29899b36e899bc = []byte{ - // 368 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x52, 0xcd, 0x4a, 0xeb, 0x40, - 0x18, 0xed, 0x24, 0xe9, 0x4f, 0xa6, 0x70, 0xef, 0x65, 0x28, 0x97, 0xa1, 0x8b, 0x10, 0x8a, 0x42, - 0x56, 0x89, 0xd4, 0x4d, 0x11, 0x04, 0xb1, 0x2d, 0x92, 0x8d, 0xc8, 0x6c, 0x04, 0x57, 0x4e, 0x93, - 0x21, 0x0d, 0x36, 0x33, 0x61, 0x3a, 0x6d, 0xad, 0x4f, 0xe1, 0xc3, 0xf8, 0x10, 0x2e, 0xbb, 0x74, - 0x29, 0xed, 0x8b, 0x48, 0xa6, 0x36, 0x2d, 0xba, 0xd1, 0xdd, 0x39, 0x30, 0xdf, 0xf9, 0x61, 0x0e, - 0x3c, 0x8a, 0xa8, 0x8c, 0xa3, 0x31, 0x4d, 0x79, 0xb0, 0x47, 0x8c, 0x47, 0x62, 0xc6, 0x15, 0x93, - 0x53, 0x3f, 0x97, 0x42, 0x09, 0x74, 0x3c, 0x60, 0x11, 0xe3, 0x4a, 0xd2, 0x49, 0x9f, 0xca, 0xf8, - 0x8a, 0x66, 0xcc, 0x2f, 0x5f, 0xef, 0x51, 0xbb, 0x95, 0x88, 0x44, 0xe8, 0x8b, 0xa0, 0x40, 0xdb, - 0xe3, 0xce, 0x8b, 0x01, 0xed, 0xe1, 0x4e, 0x11, 0xfd, 0x81, 0x46, 0x18, 0x63, 0xe0, 0x02, 0xcf, - 0x22, 0x46, 0x18, 0xa3, 0x36, 0x6c, 0x0c, 0x24, 0x5d, 0x4c, 0xd2, 0xa9, 0xc2, 0x86, 0x6b, 0x7a, - 0x16, 0x29, 0x39, 0xfa, 0x0f, 0x6b, 0xb9, 0x14, 0x73, 0xc6, 0xb1, 0xe9, 0x02, 0xaf, 0x41, 0x3e, - 0x19, 0x6a, 0xc1, 0xaa, 0x58, 0x70, 0x26, 0xb1, 0xe5, 0x02, 0xcf, 0x26, 0x5b, 0x82, 0xee, 0x21, - 0xcc, 0xa9, 0xa4, 0x19, 0x2b, 0x82, 0xe3, 0xaa, 0x6b, 0x7a, 0xcd, 0xee, 0x85, 0xff, 0xa3, 0xe4, - 0x7e, 0x99, 0xcf, 0xbf, 0x29, 0x25, 0x86, 0x5c, 0xc9, 0x25, 0x39, 0xd0, 0x44, 0x18, 0xd6, 0xd3, - 0x8c, 0x26, 0x2c, 0x8c, 0x71, 0x4d, 0x17, 0xd8, 0x51, 0x84, 0xa0, 0xc5, 0x69, 0xc6, 0x70, 0x5d, - 0x07, 0xd2, 0xb8, 0x7d, 0x0e, 0xff, 0x7e, 0x11, 0x43, 0xff, 0xa0, 0xf9, 0xc0, 0x96, 0xba, 0xbd, - 0x4d, 0x0a, 0x58, 0x54, 0x99, 0xd3, 0xc9, 0x8c, 0x61, 0x63, 0x5b, 0x45, 0x93, 0x33, 0xa3, 0x07, - 0x3a, 0x4f, 0x10, 0x95, 0xa9, 0x6e, 0x53, 0x35, 0x0e, 0x0b, 0x2b, 0x74, 0x0d, 0xed, 0xf2, 0x77, - 0xb4, 0x4e, 0xb3, 0x7b, 0xf2, 0xdb, 0x8e, 0x64, 0x2f, 0x51, 0xf8, 0xeb, 0x0e, 0x3b, 0x7f, 0x4d, - 0x2e, 0xc9, 0xeb, 0xda, 0x01, 0xab, 0xb5, 0x03, 0xde, 0xd7, 0x0e, 0x78, 0xde, 0x38, 0x95, 0xd5, - 0xc6, 0xa9, 0xbc, 0x6d, 0x9c, 0xca, 0x5d, 0x2f, 0x49, 0xd5, 0x78, 0x36, 0xf2, 0x23, 0x91, 0x05, - 0xdf, 0x6c, 0x83, 0x7e, 0x39, 0xa1, 0xc7, 0x83, 0x39, 0xa9, 0x65, 0xce, 0xa6, 0xa3, 0x9a, 0x5e, - 0xc3, 0xe9, 0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe2, 0x37, 0x50, 0x9b, 0x72, 0x02, 0x00, 0x00, + // 353 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x3d, 0x6b, 0xeb, 0x40, + 0x10, 0xb4, 0x3e, 0xfc, 0xa1, 0x7d, 0xf0, 0x78, 0x1c, 0xe6, 0x71, 0xb8, 0x10, 0xc2, 0x24, 0xa0, + 0x4a, 0x0a, 0x71, 0x93, 0x3a, 0x76, 0x08, 0x6a, 0x82, 0x51, 0x13, 0x48, 0x77, 0x96, 0x16, 0x59, + 0xc4, 0xd2, 0x89, 0xd3, 0xd9, 0x8e, 0xf3, 0x2b, 0xf2, 0xb3, 0x52, 0xba, 0x4c, 0x19, 0x6c, 0xf2, + 0x3f, 0x82, 0xce, 0x91, 0x6c, 0x48, 0xe3, 0x6e, 0xe6, 0xd8, 0xdd, 0x99, 0xb9, 0x5d, 0xb8, 0x88, + 0x98, 0x88, 0xa3, 0x39, 0x4b, 0x73, 0xff, 0x88, 0x30, 0x8f, 0xf8, 0x32, 0x97, 0x28, 0x4a, 0xaf, + 0x10, 0x5c, 0x72, 0x72, 0x39, 0xc1, 0x08, 0x73, 0x29, 0xd8, 0x62, 0xcc, 0x44, 0x7c, 0xcf, 0x32, + 0xf4, 0x9a, 0xea, 0x23, 0x1a, 0xf4, 0x13, 0x9e, 0x70, 0xd5, 0xe1, 0x57, 0xe8, 0xd0, 0x3c, 0x1c, + 0x81, 0x35, 0x65, 0x82, 0x65, 0x28, 0x51, 0x90, 0x7f, 0x60, 0x3c, 0xe3, 0x86, 0x6a, 0x8e, 0xe6, + 0x5a, 0x61, 0x05, 0x49, 0x1f, 0xda, 0x2b, 0xb6, 0x58, 0x22, 0xd5, 0xd5, 0xdb, 0x81, 0x0c, 0xbf, + 0x34, 0xb0, 0xee, 0x6a, 0x1b, 0xe4, 0x2f, 0xe8, 0x41, 0xac, 0x9a, 0xcc, 0x50, 0x0f, 0x62, 0x32, + 0x80, 0xde, 0x44, 0xb0, 0xf5, 0x22, 0x2d, 0x25, 0xd5, 0x1d, 0xc3, 0x35, 0xc3, 0x86, 0x93, 0xff, + 0xd0, 0x29, 0x04, 0x5f, 0x61, 0x4e, 0x0d, 0x47, 0x73, 0x7b, 0xe1, 0x0f, 0xab, 0x74, 0xf8, 0x3a, + 0x47, 0x41, 0xcd, 0x83, 0x8e, 0x22, 0x64, 0x0a, 0x50, 0xd4, 0xe6, 0x4a, 0xda, 0x76, 0x0c, 0xf7, + 0xcf, 0xf5, 0x95, 0x77, 0x56, 0x5c, 0xaf, 0x49, 0x15, 0x9e, 0xcc, 0x20, 0x14, 0xba, 0x69, 0xc6, + 0x12, 0x0c, 0x62, 0xda, 0x51, 0x86, 0x6b, 0x4a, 0x08, 0x98, 0x39, 0xcb, 0x90, 0x76, 0x95, 0x01, + 0x85, 0x87, 0xaf, 0x40, 0x9a, 0x98, 0x8f, 0xa9, 0x9c, 0x07, 0x55, 0x2d, 0x79, 0x00, 0xab, 0xd9, + 0x81, 0x8a, 0x7d, 0xbe, 0xa9, 0x66, 0x5a, 0x78, 0x1c, 0x51, 0x65, 0x57, 0x26, 0xea, 0x3f, 0x56, + 0xe4, 0x36, 0x7c, 0xdf, 0xd9, 0xda, 0x76, 0x67, 0x6b, 0x9f, 0x3b, 0x5b, 0x7b, 0xdb, 0xdb, 0xad, + 0xed, 0xde, 0x6e, 0x7d, 0xec, 0xed, 0xd6, 0xd3, 0x4d, 0x92, 0xca, 0xf9, 0x72, 0xe6, 0x45, 0x3c, + 0xf3, 0x7f, 0xc9, 0xfa, 0xe3, 0xe6, 0x50, 0x5e, 0x4e, 0x8e, 0x46, 0x6e, 0x0a, 0x2c, 0x67, 0x1d, + 0xb5, 0xf3, 0xd1, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6f, 0x93, 0xe9, 0x78, 0x58, 0x02, 0x00, + 0x00, +} + +func (m *Parameter) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Parameter) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Parameter) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Value) > 0 { + i -= len(m.Value) + copy(dAtA[i:], m.Value) + i = encodeVarintEncounters(dAtA, i, uint64(len(m.Value))) + i-- + dAtA[i] = 0x12 + } + if len(m.Key) > 0 { + i -= len(m.Key) + copy(dAtA[i:], m.Key) + i = encodeVarintEncounters(dAtA, i, uint64(len(m.Key))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } func (m *Encounter) Marshal() (dAtA []byte, err error) { @@ -237,20 +326,15 @@ func (m *Encounter) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x30 } if len(m.Parameters) > 0 { - for k := range m.Parameters { - v := m.Parameters[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarintEncounters(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarintEncounters(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarintEncounters(dAtA, i, uint64(baseI-i)) + for iNdEx := len(m.Parameters) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Parameters[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEncounters(dAtA, i, uint64(size)) + } i-- dAtA[i] = 0x2a } @@ -351,6 +435,23 @@ func encodeVarintEncounters(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return base } +func (m *Parameter) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Key) + if l > 0 { + n += 1 + l + sovEncounters(uint64(l)) + } + l = len(m.Value) + if l > 0 { + n += 1 + l + sovEncounters(uint64(l)) + } + return n +} + func (m *Encounter) Size() (n int) { if m == nil { return 0 @@ -375,11 +476,9 @@ func (m *Encounter) Size() (n int) { n += 1 + l + sovEncounters(uint64(l)) } if len(m.Parameters) > 0 { - for k, v := range m.Parameters { - _ = k - _ = v - mapEntrySize := 1 + len(k) + sovEncounters(uint64(len(k))) + 1 + len(v) + sovEncounters(uint64(len(v))) - n += mapEntrySize + 1 + sovEncounters(uint64(mapEntrySize)) + for _, e := range m.Parameters { + l = e.Size() + n += 1 + l + sovEncounters(uint64(l)) } } if m.ImageId != 0 { @@ -415,6 +514,120 @@ func sovEncounters(x uint64) (n int) { func sozEncounters(x uint64) (n int) { return sovEncounters(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } +func (m *Parameter) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounters + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Parameter: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Parameter: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounters + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEncounters + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEncounters + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Key = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounters + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEncounters + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEncounters + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Value = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEncounters(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEncounters + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *Encounter) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -620,103 +833,10 @@ func (m *Encounter) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Parameters == nil { - m.Parameters = make(map[string]string) - } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return ErrInvalidLengthEncounters - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthEncounters - } - if postStringIndexmapkey > l { - return io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return ErrInvalidLengthEncounters - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthEncounters - } - if postStringIndexmapvalue > l { - return io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := skipEncounters(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthEncounters - } - if (iNdEx + skippy) > postIndex { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } + m.Parameters = append(m.Parameters, &Parameter{}) + if err := m.Parameters[len(m.Parameters)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.Parameters[mapkey] = mapvalue iNdEx = postIndex case 6: if wireType != 0 { diff --git a/x/cardchain/types/message_encounter_create.go b/x/cardchain/types/message_encounter_create.go index 5f031945..57f0e687 100644 --- a/x/cardchain/types/message_encounter_create.go +++ b/x/cardchain/types/message_encounter_create.go @@ -12,7 +12,7 @@ const TypeMsgEncounterCreate = "encounter_create" var _ sdk.Msg = &MsgEncounterCreate{} -func NewMsgEncounterCreate(creator string, name string, drawlist []uint64, parameters map[string]string, image []byte) *MsgEncounterCreate { +func NewMsgEncounterCreate(creator string, name string, drawlist []uint64, parameters []*Parameter, image []byte) *MsgEncounterCreate { return &MsgEncounterCreate{ Creator: creator, Name: name, diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index cdeb4a7e..5d22ab65 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -4231,11 +4231,11 @@ func (m *MsgConnectZealyAccountResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgConnectZealyAccountResponse proto.InternalMessageInfo type MsgEncounterCreate struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Drawlist []uint64 `protobuf:"varint,3,rep,packed,name=Drawlist,proto3" json:"Drawlist,omitempty"` - Parameters map[string]string `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Image []byte `protobuf:"bytes,5,opt,name=image,proto3" json:"image,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Drawlist []uint64 `protobuf:"varint,3,rep,packed,name=Drawlist,proto3" json:"Drawlist,omitempty"` + Parameters []*Parameter `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty"` + Image []byte `protobuf:"bytes,5,opt,name=image,proto3" json:"image,omitempty"` } func (m *MsgEncounterCreate) Reset() { *m = MsgEncounterCreate{} } @@ -4292,7 +4292,7 @@ func (m *MsgEncounterCreate) GetDrawlist() []uint64 { return nil } -func (m *MsgEncounterCreate) GetParameters() map[string]string { +func (m *MsgEncounterCreate) GetParameters() []*Parameter { if m != nil { return m.Parameters } @@ -4632,7 +4632,6 @@ func init() { proto.RegisterType((*MsgConnectZealyAccount)(nil), "DecentralCardGame.cardchain.cardchain.MsgConnectZealyAccount") proto.RegisterType((*MsgConnectZealyAccountResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgConnectZealyAccountResponse") proto.RegisterType((*MsgEncounterCreate)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterCreate") - proto.RegisterMapType((map[string]string)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterCreate.ParametersEntry") proto.RegisterType((*MsgEncounterCreateResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterCreateResponse") proto.RegisterType((*MsgEncounterDo)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterDo") proto.RegisterType((*MsgEncounterDoResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterDoResponse") @@ -4643,177 +4642,176 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2720 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5b, 0xcd, 0x6f, 0x1c, 0xb7, - 0x15, 0xd7, 0x68, 0x25, 0x59, 0xa2, 0x1d, 0xd9, 0x9e, 0x28, 0xce, 0x7a, 0xe2, 0x48, 0xca, 0x34, - 0x49, 0x7d, 0xe9, 0xaa, 0x96, 0xbf, 0x24, 0xbb, 0xaa, 0xb3, 0x1f, 0xb2, 0xe3, 0xba, 0x8a, 0xdd, - 0x95, 0x93, 0x34, 0x6e, 0xd0, 0x76, 0x34, 0x4b, 0xad, 0x06, 0xda, 0x1d, 0x6e, 0x39, 0x5c, 0x29, - 0x6b, 0xa0, 0x40, 0x81, 0x02, 0x45, 0x03, 0x18, 0x6d, 0x51, 0xb4, 0x40, 0xd1, 0x02, 0x81, 0x7b, - 0xe8, 0x25, 0x40, 0x6f, 0x05, 0xfa, 0x2f, 0xe4, 0x98, 0x53, 0x51, 0xf4, 0x90, 0x16, 0xf6, 0xa5, - 0x7f, 0x42, 0x8f, 0x05, 0x3f, 0x86, 0x43, 0xce, 0xce, 0x8e, 0x96, 0x23, 0x03, 0x01, 0xb2, 0xe4, - 0xf0, 0xf7, 0xde, 0x23, 0xf9, 0xc8, 0xf7, 0x1e, 0x7f, 0x16, 0xb8, 0xe0, 0x7b, 0xb8, 0xe5, 0xef, - 0x79, 0x41, 0xb8, 0x92, 0xfc, 0x22, 0x9f, 0x54, 0x7a, 0x18, 0x11, 0x64, 0xbf, 0xd5, 0x80, 0x3e, - 0x0c, 0x09, 0xf6, 0x3a, 0x75, 0x0f, 0xb7, 0xee, 0x78, 0x5d, 0x58, 0x91, 0xa3, 0x92, 0x5f, 0xce, - 0x42, 0x1b, 0xb5, 0x11, 0x43, 0xac, 0xd0, 0x5f, 0x1c, 0xec, 0xbc, 0x91, 0x25, 0xda, 0x47, 0xfd, - 0xd0, 0x0f, 0x3a, 0x62, 0xc8, 0x52, 0xd6, 0x90, 0xae, 0x47, 0xfc, 0x3d, 0x31, 0x60, 0x39, 0x6b, - 0xc0, 0x01, 0x22, 0x41, 0xd8, 0x16, 0x23, 0x16, 0x33, 0xb5, 0x78, 0xb8, 0x25, 0xbf, 0xa3, 0xa8, - 0x8b, 0xa2, 0x95, 0x1d, 0x2f, 0x82, 0x2b, 0x07, 0x97, 0x76, 0x20, 0xf1, 0x2e, 0xad, 0xf8, 0x28, - 0x08, 0xf9, 0x77, 0xf7, 0x23, 0xf0, 0xd2, 0x56, 0xd4, 0xae, 0x63, 0xe8, 0x11, 0xd8, 0x8f, 0x20, - 0xb6, 0xcb, 0xe0, 0x84, 0x4f, 0x5b, 0x08, 0x97, 0xad, 0x65, 0xeb, 0xe2, 0x5c, 0x33, 0x6e, 0xd2, - 0x2f, 0x21, 0x3c, 0x7c, 0x3f, 0x82, 0xb8, 0x3c, 0xc9, 0xbf, 0x88, 0xa6, 0xbd, 0x00, 0xa6, 0xbd, - 0x4e, 0xe0, 0x45, 0xe5, 0x12, 0xeb, 0xe7, 0x0d, 0xf7, 0x55, 0xf0, 0x8a, 0x26, 0xba, 0x09, 0xa3, - 0x1e, 0x0a, 0x23, 0xe8, 0xfe, 0xce, 0x02, 0x67, 0xb6, 0xa2, 0x76, 0xad, 0x3f, 0xa0, 0xcb, 0xba, - 0xed, 0xef, 0xc1, 0x2e, 0xcc, 0xd1, 0xfb, 0x31, 0x28, 0xed, 0x04, 0x2d, 0xa6, 0xf3, 0xe4, 0xea, - 0xf9, 0x0a, 0x9f, 0x50, 0x85, 0x4e, 0xa8, 0x22, 0x26, 0x54, 0xa9, 0xa3, 0x20, 0xac, 0xad, 0x7c, - 0xf1, 0xd5, 0xd2, 0xc4, 0xe7, 0xff, 0x5e, 0xfa, 0x7a, 0x3b, 0x20, 0x7b, 0xfd, 0x9d, 0x8a, 0x8f, - 0xba, 0x2b, 0x62, 0xf6, 0xfc, 0x7f, 0xdf, 0x88, 0x5a, 0xfb, 0x2b, 0x64, 0xd0, 0x83, 0x11, 0x03, - 0x34, 0xa9, 0xd8, 0x1b, 0xb3, 0xbf, 0x7c, 0xba, 0x34, 0xf1, 0xdf, 0xa7, 0x4b, 0x13, 0xee, 0x2a, - 0x28, 0xa7, 0xad, 0x8a, 0x4d, 0xb6, 0xcf, 0x81, 0x19, 0xba, 0xa8, 0x77, 0x5b, 0xcc, 0xb8, 0xa9, - 0xa6, 0x68, 0xb9, 0x4f, 0x2c, 0x70, 0x72, 0x2b, 0x6a, 0x7f, 0x80, 0x08, 0xa4, 0xa8, 0x9c, 0x59, - 0x24, 0x12, 0x26, 0x55, 0x09, 0xf6, 0x3d, 0x30, 0x7b, 0x80, 0x08, 0x7c, 0x38, 0xe8, 0x41, 0xb6, - 0x7c, 0xf3, 0xab, 0x2b, 0x95, 0xb1, 0xdc, 0xae, 0xf2, 0x81, 0x80, 0x35, 0xa5, 0x00, 0x77, 0x03, - 0xbc, 0xac, 0x58, 0x23, 0xad, 0x7f, 0x1b, 0xcc, 0x7b, 0x01, 0x6e, 0x61, 0xd4, 0xab, 0x77, 0xbc, - 0xa0, 0x0b, 0xf9, 0x2c, 0x66, 0x9b, 0xa9, 0x5e, 0xf7, 0x6f, 0x16, 0xb0, 0xb7, 0xa2, 0xf6, 0xb6, - 0x77, 0xc0, 0xf0, 0x75, 0x14, 0x12, 0x18, 0x92, 0x02, 0x93, 0xa2, 0x08, 0x0e, 0x66, 0x73, 0x3a, - 0xd5, 0x8c, 0x9b, 0xd4, 0x55, 0x42, 0x44, 0x60, 0x54, 0x9e, 0xe2, 0xae, 0xc2, 0x1a, 0x54, 0x8e, - 0x87, 0x49, 0x10, 0x91, 0xf2, 0x34, 0xeb, 0x16, 0x2d, 0xfb, 0x4d, 0xf0, 0xd2, 0x8e, 0xd7, 0xf1, - 0x42, 0x1f, 0x56, 0x43, 0x7f, 0x0f, 0xe1, 0xf2, 0x0c, 0xb3, 0x5b, 0xef, 0x74, 0x1b, 0xc0, 0x19, - 0xb6, 0xda, 0x78, 0xf2, 0x3f, 0x02, 0xa7, 0xb7, 0xa2, 0xf6, 0x43, 0xec, 0x85, 0xd1, 0x2e, 0xc4, - 0x05, 0x77, 0xd3, 0x01, 0xb3, 0x18, 0xfa, 0x30, 0x38, 0x80, 0x58, 0xcc, 0x50, 0xb6, 0xdd, 0xf3, - 0xe0, 0xd5, 0x94, 0x02, 0x79, 0x22, 0x9e, 0x58, 0x4c, 0x79, 0x03, 0x85, 0x1e, 0x81, 0x0f, 0x51, - 0x41, 0xe5, 0x77, 0xc0, 0x8c, 0xd7, 0x45, 0x7d, 0xb1, 0xe8, 0x73, 0xfc, 0x40, 0xfc, 0xeb, 0xab, - 0xf1, 0x0f, 0x84, 0x80, 0x0b, 0x4b, 0x55, 0x6b, 0xa4, 0xa5, 0x3f, 0x61, 0xf7, 0x45, 0xb5, 0xd5, - 0xaa, 0x62, 0x72, 0x88, 0xf0, 0x7e, 0x01, 0x33, 0x17, 0xc0, 0x74, 0xd0, 0xf5, 0xda, 0x50, 0xb8, - 0x06, 0x6f, 0x50, 0x39, 0xbb, 0xfd, 0x4e, 0xa7, 0x8a, 0x09, 0x5b, 0xb8, 0xd9, 0x66, 0xdc, 0x14, - 0xf7, 0x48, 0xa2, 0x52, 0xda, 0xf2, 0x03, 0xb6, 0x68, 0xf5, 0x3d, 0x2f, 0x6c, 0xc3, 0x2a, 0x77, - 0x98, 0xa3, 0xad, 0x69, 0x68, 0xd6, 0x34, 0x14, 0xd7, 0x2b, 0xa9, 0xae, 0x27, 0xd6, 0x40, 0x15, - 0x2e, 0xf5, 0x5e, 0x62, 0x06, 0x35, 0x61, 0x3b, 0x88, 0x08, 0xc4, 0xb7, 0x11, 0xae, 0xf3, 0x5b, - 0x7d, 0xb4, 0x76, 0x77, 0x09, 0xbc, 0x9e, 0x09, 0x91, 0x32, 0xff, 0x61, 0x81, 0x79, 0x36, 0xa2, - 0x87, 0x30, 0xd9, 0xa2, 0x21, 0x20, 0xff, 0x26, 0x66, 0x51, 0x42, 0x2e, 0x6d, 0xdc, 0xb4, 0x5d, - 0x70, 0xaa, 0xd7, 0xf1, 0x06, 0xb0, 0x45, 0x37, 0x2d, 0xaa, 0x96, 0x4b, 0xcb, 0xa5, 0x8b, 0x53, - 0x4d, 0xad, 0x2f, 0x35, 0xa6, 0x56, 0x9e, 0x1a, 0x1a, 0x53, 0xb3, 0xdf, 0x05, 0x27, 0x50, 0x9f, - 0xf8, 0xa8, 0x0b, 0xd9, 0x89, 0x9c, 0x5f, 0xad, 0x8c, 0x79, 0x29, 0xdd, 0xe7, 0xa8, 0x66, 0x0c, - 0x77, 0x57, 0xc1, 0x39, 0x7d, 0x5e, 0xf2, 0x60, 0x2a, 0xb3, 0xb0, 0xb4, 0x59, 0xb8, 0xef, 0x31, - 0x4c, 0xb5, 0x87, 0x82, 0x30, 0xc6, 0x50, 0x78, 0x6e, 0x74, 0x62, 0x27, 0x8f, 0x8f, 0x12, 0xe1, - 0x49, 0xb6, 0xdd, 0x65, 0xb0, 0x98, 0x2d, 0x4f, 0x2e, 0xff, 0x1f, 0x2d, 0x70, 0x4a, 0x06, 0xab, - 0x6d, 0x98, 0xe7, 0x48, 0x36, 0x98, 0x0a, 0xbd, 0x2e, 0x14, 0x4a, 0xd8, 0xef, 0x51, 0x4e, 0x64, - 0x2f, 0x83, 0x93, 0x11, 0x41, 0x78, 0xf0, 0x21, 0x0e, 0x88, 0xbc, 0x11, 0xd4, 0x2e, 0xba, 0x19, - 0xf4, 0x6a, 0xc4, 0xc1, 0x4e, 0x9f, 0x20, 0x1c, 0x95, 0xa7, 0x97, 0x4b, 0x17, 0xe7, 0x9a, 0x5a, - 0x9f, 0x7b, 0x0e, 0x2c, 0xa8, 0xb6, 0x49, 0xa3, 0x3f, 0x62, 0xfe, 0x5f, 0x6d, 0xb1, 0x4d, 0x7b, - 0x88, 0xf2, 0xcd, 0x5e, 0x00, 0xd3, 0x11, 0x24, 0xd2, 0x63, 0x78, 0x43, 0x39, 0xa3, 0x25, 0x2d, - 0xae, 0x71, 0xef, 0x57, 0x45, 0x4b, 0xad, 0xef, 0x30, 0x47, 0xbd, 0x1d, 0x84, 0x5e, 0x27, 0x78, - 0x0c, 0x0b, 0x28, 0x75, 0xcb, 0x6c, 0x7b, 0x15, 0x09, 0x52, 0x76, 0x1d, 0x9c, 0xe5, 0x21, 0xb8, - 0x86, 0x10, 0x3d, 0x28, 0x0f, 0x3c, 0x7f, 0xdf, 0x58, 0x7c, 0x1d, 0x9c, 0x1f, 0x12, 0x62, 0x1c, - 0x0d, 0x7e, 0xc8, 0xd6, 0xbc, 0x09, 0xbb, 0x88, 0x47, 0x95, 0xdb, 0x18, 0x75, 0x5f, 0xe4, 0x02, - 0x2f, 0x82, 0x0b, 0x59, 0xf2, 0xe5, 0x4a, 0x78, 0xe0, 0xb5, 0xe4, 0x7b, 0xe2, 0x0c, 0x45, 0xcd, - 0xb0, 0xc1, 0x14, 0x4d, 0xc1, 0x84, 0x7b, 0xb2, 0xdf, 0xee, 0x5b, 0xe0, 0x6b, 0x39, 0x2a, 0xa4, - 0x25, 0x1f, 0xf3, 0xc3, 0xd8, 0x6a, 0x29, 0x63, 0x8a, 0x39, 0x5b, 0x96, 0x11, 0xe2, 0x68, 0x0e, - 0x4b, 0x97, 0xfa, 0x3f, 0xe5, 0x49, 0x49, 0xec, 0xfe, 0x9d, 0xce, 0xfd, 0xdd, 0xdd, 0xdc, 0x9b, - 0xc0, 0x06, 0x53, 0x74, 0x91, 0x85, 0x6e, 0xf6, 0xdb, 0xde, 0x04, 0xd3, 0x3d, 0x1c, 0xf8, 0xb0, - 0x68, 0x64, 0xe4, 0x68, 0xf7, 0x02, 0xcb, 0x34, 0x52, 0xa6, 0x48, 0x4b, 0xdf, 0x05, 0x20, 0x49, - 0x20, 0x73, 0x0c, 0xa4, 0xb7, 0x42, 0x0c, 0x96, 0x6b, 0xa4, 0x76, 0xb9, 0x0b, 0x6c, 0xca, 0x42, - 0x92, 0x94, 0xff, 0x80, 0xf5, 0xf2, 0x0d, 0x1b, 0x67, 0x21, 0x8e, 0xd6, 0xc3, 0xe7, 0x93, 0x92, - 0x28, 0xf5, 0x3d, 0x62, 0xfa, 0x92, 0xc0, 0x5b, 0x6c, 0xd7, 0x33, 0xc3, 0xbd, 0xd0, 0x9c, 0x92, - 0x2d, 0x35, 0x7f, 0x9f, 0x15, 0x08, 0xd5, 0x56, 0x6b, 0x9b, 0x5e, 0x95, 0x85, 0xf5, 0xb2, 0x8b, - 0x36, 0x2e, 0x4a, 0x58, 0xc3, 0x75, 0x58, 0x92, 0xaf, 0x49, 0x96, 0x5a, 0xff, 0xc2, 0xeb, 0x92, - 0x6d, 0x48, 0xd8, 0xb2, 0x7b, 0x38, 0x20, 0x83, 0x62, 0xf9, 0x0d, 0x37, 0xa7, 0xa4, 0x9a, 0x73, - 0x17, 0xcc, 0x60, 0x26, 0x91, 0x45, 0x81, 0xf9, 0xd5, 0x4b, 0x63, 0x06, 0xd4, 0xc4, 0x94, 0xa6, - 0x10, 0x20, 0xe6, 0xa0, 0x99, 0x29, 0xe7, 0xd0, 0x60, 0x53, 0xe0, 0x1e, 0x7a, 0x64, 0x5a, 0x32, - 0x6a, 0x0a, 0x42, 0x83, 0x26, 0x45, 0x6a, 0xf8, 0x95, 0xc5, 0x3f, 0xa2, 0x6e, 0x37, 0x20, 0xa9, - 0x8f, 0x47, 0xc5, 0x67, 0x3e, 0x2a, 0x89, 0xcf, 0x02, 0x75, 0x01, 0xcc, 0x89, 0xc2, 0x58, 0xae, - 0x5a, 0xd2, 0x61, 0x2f, 0x02, 0x10, 0xf5, 0xdb, 0x6d, 0x18, 0x91, 0x00, 0x85, 0x22, 0x86, 0x2a, - 0x3d, 0xae, 0x0b, 0x96, 0x47, 0xd9, 0x23, 0x8d, 0xfe, 0x3b, 0x37, 0xba, 0x09, 0x0f, 0xa0, 0xd7, - 0x19, 0xdf, 0xe8, 0x7b, 0x29, 0xa3, 0xc7, 0x2f, 0xce, 0xa4, 0x05, 0xc9, 0x2c, 0xcf, 0x81, 0x99, - 0x08, 0xfa, 0x18, 0xca, 0x24, 0x81, 0xb7, 0xf4, 0xd9, 0x4f, 0xa5, 0x66, 0x2f, 0x66, 0x97, 0x69, - 0xb8, 0x9c, 0xdd, 0x3d, 0x16, 0x36, 0x9b, 0x30, 0x22, 0x1e, 0x26, 0x47, 0xef, 0xba, 0xa6, 0x70, - 0x32, 0xad, 0xf0, 0x35, 0x16, 0x3e, 0x75, 0x61, 0x52, 0xd3, 0x9a, 0x08, 0x5b, 0x87, 0x68, 0x3f, - 0x71, 0x0c, 0x9a, 0xd4, 0x62, 0x8f, 0xee, 0x45, 0x4e, 0x06, 0xfc, 0x36, 0x78, 0x33, 0x0f, 0x29, - 0x35, 0x3c, 0xe3, 0xa5, 0x50, 0x1d, 0x85, 0xbb, 0x01, 0xee, 0x16, 0xcf, 0x84, 0x95, 0x0c, 0xb6, - 0x74, 0xac, 0x0c, 0xd6, 0xfe, 0x1e, 0x00, 0xb4, 0xc0, 0xe6, 0xa9, 0x31, 0xcb, 0x96, 0x4f, 0x8e, - 0x7d, 0x7a, 0xb7, 0x83, 0xb0, 0xdd, 0x81, 0xb4, 0x20, 0x6f, 0x2a, 0x42, 0xe2, 0xe2, 0x42, 0x99, - 0xa3, 0x9c, 0xff, 0x26, 0xdb, 0xcb, 0x6d, 0x48, 0x1e, 0x60, 0xb4, 0x1b, 0x74, 0x0a, 0x3e, 0x2b, - 0x88, 0x5d, 0xd4, 0xc5, 0x48, 0x1d, 0x0f, 0xd9, 0xc5, 0x7e, 0xbf, 0x07, 0xc3, 0xf1, 0xf2, 0x2c, - 0x5a, 0x86, 0x27, 0x03, 0xa5, 0x2e, 0xbd, 0xd3, 0xbd, 0xc6, 0xae, 0xf4, 0x94, 0x54, 0xed, 0x90, - 0x31, 0xd3, 0xa2, 0xb2, 0xc5, 0x0a, 0x8e, 0xb8, 0xe9, 0x12, 0x96, 0x60, 0xc4, 0x75, 0xf1, 0x0b, - 0xb4, 0x48, 0xab, 0xc6, 0x4b, 0xa9, 0x6a, 0x9c, 0x27, 0x1e, 0x19, 0x5a, 0xe5, 0x2a, 0xed, 0xb1, - 0x14, 0x70, 0x1b, 0x12, 0xfa, 0x9f, 0x92, 0xb2, 0x9b, 0x06, 0xa2, 0x54, 0x11, 0x50, 0x1a, 0x2a, - 0x02, 0x44, 0x32, 0x38, 0xa4, 0x29, 0x95, 0xe8, 0xf3, 0xef, 0x47, 0x16, 0xba, 0x23, 0xf3, 0xd0, - 0x9c, 0x32, 0x57, 0x15, 0x2d, 0xb5, 0xde, 0x89, 0x3d, 0xf1, 0xfd, 0x08, 0xe2, 0x0f, 0xe1, 0x4e, - 0x14, 0x10, 0x98, 0x7f, 0x14, 0x0f, 0xf9, 0xa0, 0xf8, 0x79, 0x50, 0x34, 0x13, 0x5f, 0x54, 0x04, - 0x49, 0x2d, 0x5b, 0xec, 0xc9, 0x4a, 0x7c, 0xac, 0x05, 0xa8, 0x8d, 0xbd, 0xde, 0xde, 0x20, 0xff, - 0xf6, 0xda, 0x89, 0x87, 0x09, 0x4d, 0x49, 0x87, 0xfb, 0x3a, 0xcb, 0x9b, 0xd3, 0xe2, 0xa4, 0xb6, - 0x3e, 0x0b, 0x8f, 0x5b, 0xfd, 0x0e, 0x09, 0xc6, 0x78, 0xb3, 0xbb, 0x03, 0xa6, 0x0f, 0xd8, 0x63, - 0xd5, 0x64, 0xd1, 0x43, 0xcf, 0xf1, 0x22, 0x9e, 0x6a, 0x6a, 0xa5, 0x49, 0x4f, 0x79, 0xe9, 0x49, - 0xcf, 0xcd, 0x18, 0xb7, 0x1d, 0xab, 0xd2, 0x71, 0x35, 0x5e, 0x62, 0xd1, 0x4c, 0xbe, 0xd4, 0xc4, - 0xfe, 0xc6, 0x4d, 0xea, 0x7d, 0x62, 0x50, 0x03, 0xfa, 0xfb, 0xa2, 0xd8, 0x57, 0xbb, 0x92, 0x11, - 0x35, 0x36, 0x62, 0x5a, 0x1d, 0xc1, 0xba, 0xdc, 0x6f, 0xb2, 0x93, 0x20, 0x2d, 0x1c, 0xa3, 0x82, - 0xdf, 0x66, 0xcf, 0x44, 0xdc, 0xad, 0xde, 0xf3, 0x72, 0x9f, 0x77, 0x47, 0xd6, 0x0a, 0xac, 0xca, - 0x2e, 0x25, 0x55, 0xb6, 0x78, 0x08, 0x4a, 0x84, 0xa6, 0x4a, 0x52, 0xf1, 0x56, 0xd3, 0x09, 0xbc, - 0x28, 0x5f, 0x1d, 0x7f, 0xab, 0x9e, 0x54, 0xdf, 0xaa, 0x79, 0x49, 0xaa, 0x48, 0x50, 0x12, 0x2a, - 0x3a, 0xf7, 0xbb, 0xe1, 0x41, 0x40, 0xe0, 0xa6, 0x87, 0x3b, 0x83, 0xaa, 0xef, 0xc3, 0x28, 0xca, - 0xaf, 0x3f, 0xfa, 0xc9, 0x23, 0x39, 0x2f, 0x73, 0xf8, 0x09, 0x1f, 0x92, 0xa2, 0x9c, 0x35, 0xf6, - 0xe2, 0x16, 0x44, 0xc1, 0x31, 0x15, 0xbd, 0x01, 0x96, 0x46, 0x08, 0x92, 0xba, 0xbe, 0xcb, 0xe7, - 0x8a, 0xc2, 0x10, 0xfa, 0xe4, 0x11, 0xf4, 0xd8, 0x00, 0xd4, 0xcf, 0x7d, 0xe8, 0x2d, 0x83, 0x13, - 0x8f, 0xe9, 0x48, 0xb1, 0x4d, 0x73, 0xcd, 0xb8, 0x29, 0xee, 0xd1, 0x0c, 0x69, 0x52, 0xdf, 0x67, - 0x93, 0x2c, 0xdc, 0x6c, 0x86, 0xac, 0x1b, 0x62, 0x9e, 0x56, 0x1a, 0xbe, 0xb0, 0x38, 0x60, 0xb6, - 0x81, 0xbd, 0xc3, 0x0e, 0xbf, 0xc1, 0xa8, 0x87, 0xca, 0xb6, 0x1d, 0x00, 0xd0, 0xf3, 0xb0, 0xd7, - 0x85, 0x04, 0xe2, 0x38, 0x40, 0xdf, 0x1d, 0xf3, 0xac, 0x0e, 0x1b, 0x56, 0x79, 0x20, 0x65, 0x6d, - 0x86, 0x04, 0x0f, 0x9a, 0x8a, 0xf0, 0xa4, 0x98, 0x99, 0x56, 0x8a, 0x19, 0x67, 0x03, 0x9c, 0x4e, - 0x81, 0xec, 0x33, 0xa0, 0xb4, 0x0f, 0x07, 0x62, 0x66, 0xf4, 0x27, 0x85, 0x1e, 0x78, 0x9d, 0x7e, - 0x3c, 0x2d, 0xde, 0xb8, 0x31, 0xb9, 0x66, 0x89, 0x5a, 0x28, 0x65, 0x86, 0x5c, 0xbe, 0x1f, 0x33, - 0xe7, 0x96, 0x5f, 0x1b, 0x28, 0xbf, 0xe2, 0x83, 0xf1, 0xc0, 0xa4, 0xe2, 0x53, 0xba, 0x32, 0x6b, - 0x70, 0xee, 0xfc, 0x8a, 0x06, 0xe5, 0xba, 0x3c, 0xab, 0x59, 0xd6, 0x41, 0xb9, 0xe9, 0x72, 0x21, - 0xf5, 0x74, 0xa9, 0x0e, 0x45, 0x62, 0x3f, 0xdb, 0xa4, 0x3f, 0x45, 0xc0, 0xd0, 0xd5, 0xc6, 0x36, - 0xad, 0xfe, 0xef, 0x0a, 0x28, 0x6d, 0x45, 0x6d, 0xfb, 0x67, 0x16, 0x00, 0x0a, 0x6f, 0x75, 0x65, - 0xfc, 0x0d, 0x4f, 0x50, 0xce, 0xb7, 0x8a, 0xa0, 0xe4, 0xfd, 0xf7, 0xa9, 0x05, 0x5e, 0xd2, 0x59, - 0xac, 0xeb, 0xe3, 0xcb, 0xd3, 0x80, 0xce, 0xad, 0x82, 0x40, 0x69, 0xcb, 0x63, 0x30, 0x2b, 0x23, - 0xda, 0xea, 0xf8, 0xc2, 0x62, 0x8c, 0x73, 0xc3, 0x1c, 0x23, 0x75, 0xff, 0xda, 0x02, 0xa7, 0xd3, - 0xa4, 0xd1, 0xfa, 0xf8, 0xf2, 0x52, 0x50, 0xa7, 0x5a, 0x18, 0x2a, 0x2d, 0xfa, 0x85, 0x05, 0x4e, - 0x69, 0x54, 0xce, 0xb5, 0xf1, 0x65, 0xaa, 0x38, 0xe7, 0xdb, 0xc5, 0x70, 0x9a, 0x21, 0x1a, 0xad, - 0x63, 0x60, 0x88, 0x8a, 0x33, 0x31, 0x24, 0x8b, 0xb8, 0x61, 0xc7, 0x45, 0xa1, 0x6d, 0x0c, 0x8e, - 0x4b, 0x82, 0x32, 0x39, 0x2e, 0xc3, 0x7c, 0x0d, 0x5b, 0x0b, 0x8d, 0xad, 0x31, 0x58, 0x0b, 0x15, - 0x67, 0xb2, 0x16, 0x59, 0x04, 0x8e, 0xfd, 0x07, 0x0b, 0xd8, 0x19, 0xf4, 0x8d, 0xc1, 0xec, 0x86, - 0xd1, 0x4e, 0xe3, 0x38, 0x68, 0x69, 0xda, 0xcf, 0x2d, 0x70, 0x52, 0x25, 0x81, 0xae, 0x9a, 0x48, - 0x95, 0x30, 0x67, 0xa3, 0x10, 0x4c, 0x5a, 0xf1, 0x27, 0x0b, 0xbc, 0x9c, 0x45, 0xbf, 0x18, 0x88, - 0xcd, 0x80, 0x3b, 0x9b, 0xc7, 0x82, 0x4b, 0xeb, 0x7e, 0x0a, 0xe6, 0x12, 0xa2, 0xe6, 0xb2, 0xe9, - 0x0d, 0xbe, 0x0d, 0x89, 0x73, 0xb3, 0x00, 0x48, 0x73, 0x63, 0x8d, 0x74, 0xb9, 0x66, 0x74, 0x2a, - 0x24, 0xce, 0xc4, 0x8d, 0xb3, 0x98, 0x18, 0xe6, 0x2b, 0x2a, 0x0f, 0x63, 0xe0, 0x2b, 0x0a, 0xcc, - 0xc4, 0x57, 0x32, 0x38, 0x1b, 0xfb, 0x89, 0x05, 0xe6, 0x53, 0x8c, 0xcd, 0x9a, 0x51, 0x30, 0x53, - 0x90, 0xce, 0x3b, 0x45, 0x91, 0xd2, 0x9c, 0xdf, 0x5b, 0xe0, 0xec, 0x30, 0x6d, 0x73, 0xd3, 0xe4, - 0x3c, 0xa4, 0xc0, 0x4e, 0xfd, 0x18, 0x60, 0x69, 0xd7, 0xe7, 0x16, 0x28, 0x8f, 0xa4, 0x73, 0x6a, - 0xc6, 0x1a, 0x86, 0x64, 0x38, 0xdf, 0x39, 0xbe, 0x0c, 0xfd, 0xfc, 0x67, 0x30, 0x3e, 0x1b, 0x66, - 0x1e, 0x9b, 0x82, 0x1b, 0x9d, 0xff, 0xd1, 0x8c, 0x10, 0x4b, 0x37, 0xd2, 0x74, 0xd0, 0xba, 0xf9, - 0x89, 0x16, 0x50, 0x93, 0x74, 0x63, 0x04, 0xf3, 0x63, 0x1f, 0x82, 0x13, 0x31, 0xed, 0x73, 0xc9, - 0x38, 0x91, 0x73, 0xd6, 0x8d, 0x21, 0xda, 0x52, 0xa4, 0x09, 0xa1, 0x75, 0x53, 0x47, 0x28, 0xb4, - 0x14, 0x23, 0x48, 0x23, 0x66, 0x51, 0x9a, 0x32, 0x5a, 0x2f, 0x92, 0x36, 0x70, 0x97, 0xa9, 0x16, - 0x86, 0x6a, 0x59, 0xba, 0x4e, 0x25, 0x5d, 0x37, 0x12, 0x9a, 0x00, 0x4d, 0xb2, 0xf4, 0x4c, 0x8a, - 0x89, 0xd9, 0xa2, 0xf3, 0x4b, 0x06, 0xb6, 0x68, 0x40, 0x13, 0x5b, 0x32, 0xa9, 0x22, 0x66, 0x8b, - 0x4e, 0x14, 0x5d, 0x37, 0x3d, 0x09, 0x71, 0xee, 0x73, 0xab, 0x20, 0x50, 0xda, 0xf2, 0x67, 0x0b, - 0xbc, 0x92, 0xcd, 0x28, 0x99, 0x88, 0xce, 0x12, 0xe0, 0xdc, 0x39, 0xa6, 0x00, 0xcd, 0xc6, 0x6c, - 0x02, 0xe9, 0x96, 0xc9, 0xb1, 0xc9, 0x10, 0x60, 0x62, 0x63, 0x2e, 0x13, 0xc4, 0x82, 0x71, 0x8a, - 0x07, 0x5a, 0x33, 0x91, 0xad, 0x22, 0x4d, 0x82, 0x71, 0x36, 0x5d, 0x64, 0xff, 0xd5, 0x02, 0xe7, - 0x47, 0x93, 0x45, 0x46, 0x71, 0x75, 0x84, 0x10, 0xe7, 0xde, 0x0b, 0x10, 0xa2, 0x57, 0x28, 0x2a, - 0xf3, 0x64, 0x52, 0xa1, 0x28, 0x38, 0xa3, 0x0a, 0x25, 0x83, 0x05, 0x62, 0xfb, 0x98, 0xe2, 0x80, - 0xd6, 0x8c, 0xce, 0xbb, 0x82, 0x34, 0xd9, 0xc7, 0x6c, 0xc2, 0x88, 0x5d, 0xea, 0x69, 0xba, 0xc8, - 0xe0, 0x52, 0x4f, 0x41, 0x4d, 0x2e, 0xf5, 0x51, 0x74, 0x12, 0xcd, 0x50, 0xb2, 0x28, 0xa3, 0x0d, - 0xf3, 0x7a, 0x5d, 0xb5, 0x6c, 0xf3, 0x58, 0x70, 0x2d, 0x09, 0x1d, 0x26, 0x8e, 0x6e, 0x1a, 0xed, - 0x83, 0x0e, 0x36, 0x49, 0x42, 0x47, 0x12, 0x49, 0xcc, 0xbf, 0x35, 0x1a, 0xe9, 0x9a, 0xa9, 0x54, - 0xf3, 0x0a, 0x3c, 0x8b, 0x5b, 0x8a, 0xfd, 0x5b, 0x65, 0x96, 0xcc, 0xfc, 0x5b, 0x41, 0x1a, 0xfa, - 0x77, 0x06, 0x09, 0x65, 0xff, 0xd6, 0x02, 0x67, 0x86, 0x28, 0xa8, 0x1b, 0xc6, 0x62, 0x25, 0xd6, - 0xa9, 0x15, 0xc7, 0x6a, 0xf1, 0x59, 0x67, 0xaa, 0x0c, 0xe2, 0xb3, 0x06, 0x34, 0x89, 0xcf, 0x99, - 0x24, 0x15, 0x2d, 0xb9, 0x13, 0x82, 0xea, 0xb2, 0xd9, 0xf1, 0xe5, 0x37, 0xe2, 0xcd, 0x02, 0x20, - 0xed, 0xf1, 0x4a, 0x21, 0x93, 0xae, 0x98, 0x7a, 0x1f, 0x45, 0x99, 0x3c, 0x5e, 0x0d, 0x73, 0x4c, - 0xac, 0xd8, 0x56, 0x19, 0xa6, 0xab, 0xc6, 0x6f, 0x50, 0x14, 0x66, 0x52, 0x6c, 0x67, 0xb0, 0x51, - 0xec, 0x62, 0x19, 0xe6, 0xa2, 0x0c, 0xd6, 0x76, 0x08, 0x6c, 0x72, 0xb1, 0x8c, 0xe4, 0xaf, 0xec, - 0xcf, 0x2c, 0xb0, 0x90, 0xc9, 0x5e, 0x99, 0x3c, 0x5b, 0x66, 0xe0, 0x9d, 0xdb, 0xc7, 0xc3, 0x6b, - 0xf1, 0x22, 0x8b, 0xf2, 0xda, 0x30, 0x0a, 0xd4, 0x69, 0xb8, 0x49, 0xbc, 0xc8, 0xa1, 0xc8, 0x58, - 0x7c, 0x4d, 0xf3, 0x63, 0xeb, 0x85, 0x19, 0x2c, 0x93, 0xf8, 0x3a, 0x82, 0x75, 0x62, 0xee, 0xae, - 0x72, 0x4e, 0x57, 0x0b, 0x88, 0x6c, 0x20, 0x13, 0x77, 0xcf, 0xe0, 0x9f, 0x58, 0x98, 0x48, 0xb1, - 0x4f, 0x6b, 0x45, 0xe6, 0x46, 0x91, 0x26, 0x61, 0x22, 0x9b, 0x7a, 0xaa, 0x35, 0xbf, 0x78, 0xb6, - 0x68, 0x7d, 0xf9, 0x6c, 0xd1, 0xfa, 0xcf, 0xb3, 0x45, 0xeb, 0x37, 0xcf, 0x17, 0x27, 0xbe, 0x7c, - 0xbe, 0x38, 0xf1, 0xcf, 0xe7, 0x8b, 0x13, 0x8f, 0xd6, 0x94, 0x7f, 0x48, 0x3a, 0xa4, 0x65, 0xa5, - 0x2e, 0xff, 0x32, 0xeb, 0x13, 0xf5, 0xcf, 0xcc, 0x06, 0x3d, 0x18, 0xed, 0xcc, 0xb0, 0xbf, 0xc3, - 0xba, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9c, 0xf1, 0xd6, 0x7b, 0x8a, 0x36, 0x00, 0x00, + // 2696 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5b, 0xdd, 0x6f, 0x1d, 0x47, + 0x15, 0xf7, 0xe6, 0xda, 0x8e, 0x33, 0x49, 0xdc, 0x64, 0xeb, 0xa6, 0x37, 0xdb, 0xd4, 0x76, 0x97, + 0xb4, 0xe4, 0x05, 0xbb, 0x71, 0xbe, 0x9c, 0x84, 0x90, 0xde, 0x0f, 0x27, 0x0d, 0xc1, 0x4d, 0xb8, + 0x4e, 0x5b, 0x1a, 0x2a, 0x60, 0xbd, 0x77, 0x7c, 0xbd, 0xca, 0xbd, 0x3b, 0x97, 0xd9, 0xb9, 0x76, + 0x1d, 0x09, 0x09, 0x09, 0x09, 0x51, 0x29, 0x02, 0x84, 0x40, 0x42, 0x20, 0xa1, 0xf0, 0xc0, 0x4b, + 0x25, 0xde, 0x90, 0xf8, 0x0f, 0x50, 0x1f, 0xfb, 0x84, 0x10, 0x0f, 0x05, 0x25, 0x2f, 0xfc, 0x09, + 0x3c, 0x56, 0xf3, 0xb1, 0xb3, 0x33, 0x7b, 0xe7, 0xae, 0xef, 0xac, 0x23, 0x55, 0xea, 0x9d, 0xdd, + 0xf9, 0x9d, 0x73, 0x66, 0xf6, 0x9c, 0x39, 0xe7, 0xcc, 0x2f, 0x06, 0x67, 0xc2, 0x00, 0xb7, 0xc3, + 0xed, 0x20, 0x8a, 0x97, 0xb3, 0x5f, 0xe4, 0x93, 0xa5, 0x3e, 0x46, 0x04, 0xb9, 0x6f, 0x36, 0x61, + 0x08, 0x63, 0x82, 0x83, 0x6e, 0x23, 0xc0, 0xed, 0xdb, 0x41, 0x0f, 0x2e, 0xc9, 0x59, 0xd9, 0x2f, + 0x6f, 0xae, 0x83, 0x3a, 0x88, 0x21, 0x96, 0xe9, 0x2f, 0x0e, 0xf6, 0xde, 0x30, 0x89, 0x0e, 0xd1, + 0x20, 0x0e, 0xa3, 0xae, 0x98, 0xb2, 0x60, 0x9a, 0xd2, 0x0b, 0x48, 0xb8, 0x2d, 0x26, 0x2c, 0x9a, + 0x26, 0xec, 0x20, 0x12, 0xc5, 0x1d, 0x31, 0x63, 0xde, 0xa8, 0x25, 0xc0, 0x6d, 0xf1, 0xfe, 0xac, + 0xe9, 0x3d, 0x8c, 0xa9, 0x1d, 0x04, 0xe2, 0x44, 0x4a, 0x41, 0x49, 0x0f, 0x25, 0xcb, 0x9b, 0x41, + 0x02, 0x97, 0x77, 0xce, 0x6f, 0x42, 0x12, 0x9c, 0x5f, 0x0e, 0x51, 0x14, 0xf3, 0xf7, 0xfe, 0x47, + 0xe0, 0xf8, 0x7a, 0xd2, 0x69, 0x60, 0x18, 0x10, 0x38, 0x48, 0x20, 0x76, 0xab, 0xe0, 0x70, 0x48, + 0x47, 0x08, 0x57, 0x9d, 0x45, 0xe7, 0xdc, 0x91, 0x56, 0x3a, 0xa4, 0x6f, 0x62, 0xb8, 0xfb, 0x7e, + 0x02, 0x71, 0xf5, 0x10, 0x7f, 0x23, 0x86, 0xee, 0x1c, 0x98, 0x0a, 0xba, 0x51, 0x90, 0x54, 0x2b, + 0xec, 0x39, 0x1f, 0xf8, 0xaf, 0x82, 0x57, 0x34, 0xd1, 0x2d, 0x98, 0xf4, 0x51, 0x9c, 0x40, 0xff, + 0xb7, 0x0e, 0x38, 0xb1, 0x9e, 0x74, 0xea, 0x83, 0x3d, 0xba, 0xf9, 0x1b, 0xe1, 0x36, 0xec, 0xc1, + 0x02, 0xbd, 0x1f, 0x83, 0xca, 0x66, 0xd4, 0x66, 0x3a, 0x8f, 0xae, 0x9c, 0x5e, 0xe2, 0x0b, 0x5a, + 0xa2, 0x0b, 0x5a, 0x12, 0x0b, 0x5a, 0x6a, 0xa0, 0x28, 0xae, 0x2f, 0x7f, 0xfe, 0xe5, 0xc2, 0xc4, + 0x67, 0xff, 0x59, 0xf8, 0x7a, 0x27, 0x22, 0xdb, 0x83, 0xcd, 0xa5, 0x10, 0xf5, 0x96, 0xc5, 0xea, + 0xf9, 0xff, 0xbe, 0x91, 0xb4, 0x1f, 0x2d, 0x93, 0xbd, 0x3e, 0x4c, 0x18, 0xa0, 0x45, 0xc5, 0x5e, + 0x9b, 0xf9, 0xc5, 0xd3, 0x85, 0x89, 0xff, 0x3d, 0x5d, 0x98, 0xf0, 0x57, 0x40, 0x35, 0x6f, 0x55, + 0x6a, 0xb2, 0x7b, 0x0a, 0x4c, 0xd3, 0x4d, 0xbe, 0xd3, 0x66, 0xc6, 0x4d, 0xb6, 0xc4, 0xc8, 0x7f, + 0xe2, 0x80, 0xa3, 0xeb, 0x49, 0xe7, 0x03, 0x44, 0x20, 0x45, 0x15, 0xac, 0x22, 0x93, 0x70, 0x48, + 0x95, 0xe0, 0xde, 0x05, 0x33, 0x3b, 0x88, 0xc0, 0x07, 0x7b, 0x7d, 0xc8, 0xb6, 0x6f, 0x76, 0x65, + 0x79, 0x69, 0x2c, 0xe7, 0x5c, 0xfa, 0x40, 0xc0, 0x5a, 0x52, 0x80, 0x7f, 0x03, 0xbc, 0xac, 0x58, + 0x23, 0xad, 0x7f, 0x0b, 0xcc, 0x06, 0x11, 0x6e, 0x63, 0xd4, 0x6f, 0x74, 0x83, 0xa8, 0x07, 0xf9, + 0x2a, 0x66, 0x5a, 0xb9, 0xa7, 0xfe, 0xdf, 0x1c, 0xe0, 0xae, 0x27, 0x9d, 0x8d, 0x60, 0x87, 0xe1, + 0x1b, 0x28, 0x26, 0x30, 0x26, 0x25, 0x16, 0x45, 0x11, 0x1c, 0xcc, 0xd6, 0x74, 0xac, 0x95, 0x0e, + 0xa9, 0xab, 0xc4, 0x88, 0xc0, 0xa4, 0x3a, 0xc9, 0x5d, 0x85, 0x0d, 0xa8, 0x9c, 0x00, 0x93, 0x28, + 0x21, 0xd5, 0x29, 0xf6, 0x58, 0x8c, 0xdc, 0xb3, 0xe0, 0xf8, 0x66, 0xd0, 0x0d, 0xe2, 0x10, 0xd6, + 0xe2, 0x70, 0x1b, 0xe1, 0xea, 0x34, 0xb3, 0x5b, 0x7f, 0xe8, 0x37, 0x81, 0x37, 0x6c, 0xb5, 0xf5, + 0xe2, 0x7f, 0x08, 0x5e, 0x5a, 0x4f, 0x3a, 0x0f, 0x70, 0x10, 0x27, 0x5b, 0x10, 0x97, 0xfc, 0x9a, + 0x1e, 0x98, 0xc1, 0x30, 0x84, 0xd1, 0x0e, 0xc4, 0x62, 0x85, 0x72, 0xec, 0x9f, 0x06, 0xaf, 0xe6, + 0x14, 0xc8, 0x88, 0x78, 0xe2, 0x30, 0xe5, 0x4d, 0x14, 0x07, 0x04, 0x3e, 0x40, 0x25, 0x95, 0xdf, + 0x06, 0xd3, 0x41, 0x8f, 0x86, 0x3f, 0x8f, 0x43, 0x1e, 0x10, 0xff, 0xfe, 0x72, 0xfc, 0x80, 0x10, + 0x70, 0x61, 0xa9, 0x6a, 0x8d, 0xb4, 0xf4, 0xc7, 0xec, 0xbc, 0xa8, 0xb5, 0xdb, 0x35, 0x4c, 0x76, + 0x11, 0x7e, 0x54, 0xc2, 0xcc, 0x39, 0x30, 0x15, 0xf5, 0x82, 0x0e, 0x14, 0xae, 0xc1, 0x07, 0x54, + 0xce, 0xd6, 0xa0, 0xdb, 0xad, 0x61, 0xc2, 0x36, 0x6e, 0xa6, 0x95, 0x0e, 0xc5, 0x39, 0x92, 0xa9, + 0x94, 0xb6, 0x7c, 0x9f, 0x6d, 0x5a, 0x63, 0x3b, 0x88, 0x3b, 0xb0, 0xc6, 0x1d, 0x66, 0x7f, 0x6b, + 0x9a, 0x9a, 0x35, 0x4d, 0xc5, 0xf5, 0x2a, 0xaa, 0xeb, 0x89, 0x3d, 0x50, 0x85, 0x4b, 0xbd, 0xe7, + 0x99, 0x41, 0x2d, 0xd8, 0x89, 0x12, 0x02, 0xf1, 0x2d, 0x84, 0x1b, 0xfc, 0xec, 0x1f, 0xad, 0xdd, + 0x5f, 0x00, 0xaf, 0x1b, 0x21, 0x52, 0xe6, 0x3f, 0x1d, 0x30, 0xcb, 0x66, 0xf4, 0x11, 0x26, 0xeb, + 0x34, 0x51, 0x14, 0x9f, 0xc4, 0x2c, 0x97, 0xc8, 0xad, 0x4d, 0x87, 0xae, 0x0f, 0x8e, 0xf5, 0xbb, + 0xc1, 0x1e, 0x6c, 0xd3, 0x8f, 0x96, 0xd4, 0xaa, 0x95, 0xc5, 0xca, 0xb9, 0xc9, 0x96, 0xf6, 0x2c, + 0x37, 0xa7, 0x5e, 0x9d, 0x1c, 0x9a, 0x53, 0x77, 0xdf, 0x05, 0x87, 0xd1, 0x80, 0x84, 0xa8, 0x07, + 0x59, 0x44, 0xce, 0xae, 0x2c, 0x8d, 0x79, 0x28, 0xdd, 0xe3, 0xa8, 0x56, 0x0a, 0xf7, 0x57, 0xc0, + 0x29, 0x7d, 0x5d, 0x32, 0x30, 0x95, 0x55, 0x38, 0xda, 0x2a, 0xfc, 0xf7, 0x18, 0xa6, 0xd6, 0x47, + 0x51, 0x9c, 0x62, 0x28, 0xbc, 0x30, 0x3b, 0xb1, 0xc8, 0xe3, 0xb3, 0x44, 0x7a, 0x92, 0x63, 0x7f, + 0x11, 0xcc, 0x9b, 0xe5, 0xc9, 0xed, 0xff, 0x83, 0x03, 0x8e, 0xc9, 0x64, 0xb5, 0x01, 0x8b, 0x1c, + 0xc9, 0x05, 0x93, 0x71, 0xd0, 0x83, 0x42, 0x09, 0xfb, 0x3d, 0xca, 0x89, 0xdc, 0x45, 0x70, 0x34, + 0x21, 0x08, 0xef, 0x7d, 0x88, 0x23, 0x22, 0x4f, 0x04, 0xf5, 0x11, 0xfd, 0x18, 0xf4, 0x68, 0xc4, + 0xd1, 0xe6, 0x80, 0x20, 0x9c, 0x54, 0xa7, 0x16, 0x2b, 0xe7, 0x8e, 0xb4, 0xb4, 0x67, 0xfe, 0x29, + 0x30, 0xa7, 0xda, 0x26, 0x8d, 0xfe, 0x88, 0xf9, 0x7f, 0xad, 0xcd, 0x3e, 0xda, 0x03, 0x54, 0x6c, + 0xf6, 0x1c, 0x98, 0x4a, 0x20, 0x91, 0x1e, 0xc3, 0x07, 0x4a, 0x8c, 0x56, 0xb4, 0xbc, 0xc6, 0xbd, + 0x5f, 0x15, 0x2d, 0xb5, 0xbe, 0xc3, 0x1c, 0xf5, 0x56, 0x14, 0x07, 0xdd, 0xe8, 0x31, 0x2c, 0xa1, + 0xd4, 0xaf, 0xb2, 0xcf, 0xab, 0x48, 0x90, 0xb2, 0x1b, 0xe0, 0x24, 0x4f, 0xc1, 0x75, 0x84, 0x68, + 0xa0, 0xdc, 0x0f, 0xc2, 0x47, 0xd6, 0xe2, 0x1b, 0xe0, 0xf4, 0x90, 0x10, 0xeb, 0x6c, 0xf0, 0x03, + 0xb6, 0xe7, 0x2d, 0xd8, 0x43, 0x3c, 0xab, 0xdc, 0xc2, 0xa8, 0xf7, 0x22, 0x37, 0x78, 0x1e, 0x9c, + 0x31, 0xc9, 0x97, 0x3b, 0x11, 0x80, 0xd7, 0xb2, 0xf7, 0x99, 0x33, 0x94, 0x35, 0xc3, 0x05, 0x93, + 0xb4, 0x04, 0x13, 0xee, 0xc9, 0x7e, 0xfb, 0x6f, 0x82, 0xaf, 0x15, 0xa8, 0x90, 0x96, 0x7c, 0xcc, + 0x83, 0xb1, 0xdd, 0x56, 0xe6, 0x94, 0x73, 0x36, 0x93, 0x11, 0x22, 0x34, 0x87, 0xa5, 0x4b, 0xfd, + 0x9f, 0xf2, 0xa2, 0x24, 0x75, 0xff, 0x6e, 0xf7, 0xde, 0xd6, 0x56, 0xe1, 0x49, 0xe0, 0x82, 0x49, + 0xba, 0xc9, 0x42, 0x37, 0xfb, 0xed, 0xae, 0x81, 0xa9, 0x3e, 0x8e, 0x42, 0x58, 0x36, 0x33, 0x72, + 0xb4, 0x7f, 0x86, 0x55, 0x1a, 0x39, 0x53, 0xa4, 0xa5, 0xef, 0x02, 0x90, 0x15, 0x90, 0x05, 0x06, + 0xd2, 0x53, 0x21, 0x05, 0xcb, 0x3d, 0x52, 0x1f, 0xf9, 0x73, 0x6c, 0xc9, 0x42, 0x92, 0x94, 0x7f, + 0x9f, 0x3d, 0xe5, 0x1f, 0x6c, 0x9c, 0x8d, 0xd8, 0x5f, 0x0f, 0x5f, 0x4f, 0x4e, 0xa2, 0xd4, 0xf7, + 0x90, 0xe9, 0xcb, 0x12, 0x6f, 0xb9, 0xaf, 0x6e, 0x4c, 0xf7, 0x42, 0x73, 0x4e, 0xb6, 0xd4, 0xfc, + 0x3d, 0xd6, 0x20, 0xd4, 0xda, 0xed, 0x0d, 0x7a, 0x54, 0x96, 0xd6, 0xcb, 0x0e, 0xda, 0xb4, 0x29, + 0x61, 0x03, 0xdf, 0x63, 0x45, 0xbe, 0x26, 0x59, 0x6a, 0xfd, 0x0b, 0xef, 0x4b, 0x36, 0x20, 0x61, + 0xdb, 0x1e, 0xe0, 0x88, 0xec, 0x95, 0xab, 0x6f, 0xb8, 0x39, 0x15, 0xd5, 0x9c, 0x3b, 0x60, 0x1a, + 0x33, 0x89, 0x2c, 0x0b, 0xcc, 0xae, 0x9c, 0x1f, 0x33, 0xa1, 0x66, 0xa6, 0xb4, 0x84, 0x00, 0xb1, + 0x06, 0xcd, 0x4c, 0xb9, 0x86, 0x26, 0x5b, 0x02, 0xf7, 0xd0, 0x7d, 0xcb, 0x92, 0x51, 0x4b, 0x10, + 0x1a, 0x34, 0x29, 0x52, 0xc3, 0x2f, 0x1d, 0xfe, 0x12, 0xf5, 0x7a, 0x11, 0xc9, 0xbd, 0xdc, 0x2f, + 0x3f, 0xf3, 0x59, 0x59, 0x7e, 0x16, 0xa8, 0x33, 0xe0, 0x88, 0x68, 0x9f, 0xe5, 0xae, 0x65, 0x0f, + 0xdc, 0x79, 0x00, 0x92, 0x41, 0xa7, 0x03, 0x13, 0x12, 0xa1, 0x58, 0xe4, 0x50, 0xe5, 0x89, 0xef, + 0x83, 0xc5, 0x51, 0xf6, 0x48, 0xa3, 0xff, 0xce, 0x8d, 0x6e, 0xc1, 0x1d, 0x18, 0x74, 0xc7, 0x37, + 0xfa, 0x6e, 0xce, 0xe8, 0xf1, 0x9b, 0x33, 0x69, 0x41, 0xb6, 0xca, 0x53, 0x60, 0x3a, 0x81, 0x21, + 0x86, 0xb2, 0x48, 0xe0, 0x23, 0x7d, 0xf5, 0x93, 0xb9, 0xd5, 0x8b, 0xd5, 0x19, 0x0d, 0x97, 0xab, + 0xbb, 0xcb, 0xd2, 0x66, 0x0b, 0x26, 0x24, 0xc0, 0x64, 0xff, 0xaf, 0xae, 0x29, 0x3c, 0x94, 0x57, + 0xf8, 0x1a, 0x4b, 0x9f, 0xba, 0x30, 0xa9, 0x69, 0x55, 0xa4, 0xad, 0x5d, 0xf4, 0x28, 0x73, 0x0c, + 0x5a, 0xd4, 0xe2, 0x80, 0x7e, 0x8b, 0x82, 0x0a, 0xf8, 0x2d, 0x70, 0xb6, 0x08, 0x29, 0x35, 0x3c, + 0xe3, 0xad, 0x50, 0x03, 0xc5, 0x5b, 0x11, 0xee, 0x95, 0xaf, 0x84, 0x95, 0x0a, 0xb6, 0x72, 0xa0, + 0x0a, 0xd6, 0xfd, 0x2e, 0x00, 0xb4, 0xc1, 0xe6, 0xa5, 0x31, 0xab, 0x96, 0x8f, 0x8e, 0x1d, 0xbd, + 0x1b, 0x51, 0xdc, 0xe9, 0x42, 0xda, 0x90, 0xb7, 0x14, 0x21, 0x69, 0x73, 0xa1, 0xac, 0x51, 0xae, + 0x7f, 0x8d, 0x7d, 0xcb, 0x0d, 0x48, 0xee, 0x63, 0xb4, 0x15, 0x75, 0x4b, 0x5e, 0x2b, 0x88, 0xaf, + 0xa8, 0x8b, 0x91, 0x3a, 0x1e, 0xb0, 0x83, 0xfd, 0x5e, 0x1f, 0xc6, 0xe3, 0xd5, 0x59, 0xb4, 0x0d, + 0xcf, 0x26, 0x4a, 0x5d, 0xfa, 0x43, 0xff, 0x32, 0x3b, 0xd2, 0x73, 0x52, 0xb5, 0x20, 0x63, 0xa6, + 0x25, 0x55, 0x87, 0x35, 0x1c, 0xe9, 0xd0, 0x27, 0xac, 0xc0, 0x48, 0xfb, 0xe2, 0x17, 0x68, 0x91, + 0xd6, 0x8d, 0x57, 0x72, 0xdd, 0x38, 0x2f, 0x3c, 0x0c, 0x5a, 0xe5, 0x2e, 0x6d, 0xb3, 0x12, 0x70, + 0x03, 0x12, 0xfa, 0x9f, 0x52, 0xb2, 0xdb, 0x26, 0xa2, 0x5c, 0x13, 0x50, 0x19, 0x6a, 0x02, 0x44, + 0x31, 0x38, 0xa4, 0x29, 0x57, 0xe8, 0xf3, 0xf7, 0xfb, 0x36, 0xba, 0x23, 0xeb, 0xd0, 0x82, 0x36, + 0x57, 0x15, 0x2d, 0xb5, 0xde, 0x4e, 0x3d, 0xf1, 0xfd, 0x04, 0xe2, 0x0f, 0xe1, 0x66, 0x12, 0x11, + 0x58, 0x1c, 0x8a, 0xbb, 0x7c, 0x52, 0x7a, 0x3d, 0x28, 0x86, 0x99, 0x2f, 0x2a, 0x82, 0xa4, 0x96, + 0x75, 0x76, 0x65, 0x25, 0x5e, 0xd6, 0x23, 0xd4, 0xc1, 0x41, 0x7f, 0x7b, 0xaf, 0xf8, 0xf4, 0xda, + 0x4c, 0xa7, 0x09, 0x4d, 0xd9, 0x03, 0xff, 0x75, 0x56, 0x37, 0xe7, 0xc5, 0x49, 0x6d, 0x03, 0x96, + 0x1e, 0xd7, 0x07, 0x5d, 0x12, 0x8d, 0x71, 0x67, 0x77, 0x1b, 0x4c, 0xed, 0xb0, 0xcb, 0xaa, 0x43, + 0x65, 0x83, 0x9e, 0xe3, 0x45, 0x3e, 0xd5, 0xd4, 0x4a, 0x93, 0x9e, 0xf2, 0xd6, 0x93, 0xc6, 0xcd, + 0x18, 0xa7, 0x1d, 0xeb, 0xd2, 0x71, 0x2d, 0xdd, 0x62, 0x31, 0xcc, 0xde, 0xd4, 0xc5, 0xf7, 0x4d, + 0x87, 0xd4, 0xfb, 0xc4, 0xa4, 0x26, 0x0c, 0x1f, 0x89, 0x66, 0x5f, 0x7d, 0x94, 0xcd, 0xa8, 0xb3, + 0x19, 0x53, 0xea, 0x0c, 0xf6, 0xc8, 0x7f, 0x9b, 0x45, 0x82, 0xb4, 0x70, 0x8c, 0x0e, 0x7e, 0x83, + 0x5d, 0x13, 0x71, 0xb7, 0x7a, 0x2f, 0x28, 0xbc, 0xde, 0x1d, 0xd9, 0x2b, 0xb0, 0x2e, 0xbb, 0x92, + 0x75, 0xd9, 0xe2, 0x22, 0x28, 0x13, 0x9a, 0x6b, 0x49, 0xc5, 0x5d, 0x4d, 0x37, 0x0a, 0x92, 0x62, + 0x75, 0xfc, 0xae, 0xfa, 0x90, 0x7a, 0x57, 0xcd, 0x5b, 0x52, 0x45, 0x82, 0x52, 0x50, 0xd1, 0xb5, + 0xdf, 0x89, 0x77, 0x22, 0x02, 0xd7, 0x02, 0xdc, 0xdd, 0xab, 0x85, 0x21, 0x4c, 0x92, 0xe2, 0xfe, + 0x63, 0x90, 0x5d, 0x92, 0xf3, 0x36, 0x87, 0x47, 0xf8, 0x90, 0x14, 0x25, 0xd6, 0xd8, 0x8d, 0x5b, + 0x94, 0x44, 0x07, 0x54, 0xf4, 0x06, 0x58, 0x18, 0x21, 0x48, 0xea, 0xfa, 0x0e, 0x5f, 0x2b, 0x8a, + 0x63, 0x18, 0x92, 0x87, 0x30, 0x60, 0x13, 0xd0, 0xa0, 0xf0, 0xa2, 0xb7, 0x0a, 0x0e, 0x3f, 0xa6, + 0x33, 0xc5, 0x67, 0x3a, 0xd2, 0x4a, 0x87, 0xe2, 0x1c, 0x35, 0x48, 0x93, 0xfa, 0xfe, 0xc1, 0x1b, + 0xb8, 0xb5, 0x94, 0x9a, 0xe0, 0x65, 0xa5, 0xe5, 0x0d, 0x8b, 0x07, 0x66, 0x9a, 0x38, 0xd8, 0xed, + 0xf2, 0x13, 0x8c, 0x7a, 0xa8, 0x1c, 0xbb, 0xf7, 0x01, 0xe8, 0x07, 0x38, 0xe8, 0x41, 0x02, 0x71, + 0x9a, 0xa0, 0xdf, 0x1e, 0x33, 0x56, 0xef, 0xa7, 0xc0, 0x96, 0x22, 0x23, 0xeb, 0x59, 0xa6, 0x86, + 0x7b, 0x96, 0xdc, 0x3a, 0xe4, 0x32, 0x7f, 0xc4, 0x9c, 0x50, 0xbe, 0x6d, 0xa2, 0xe2, 0xce, 0x4c, + 0x32, 0x35, 0x59, 0x67, 0xa6, 0x3c, 0x32, 0xf6, 0xca, 0xdc, 0x49, 0x15, 0x0d, 0xca, 0xb1, 0x76, + 0x52, 0xb3, 0xac, 0x8b, 0x0a, 0xcb, 0xda, 0x52, 0xea, 0xdd, 0x13, 0xa0, 0xb2, 0x2b, 0x0a, 0xf0, + 0x99, 0x16, 0xfd, 0x29, 0x0e, 0x76, 0x5d, 0x6d, 0x6a, 0xd3, 0xca, 0xff, 0x2f, 0x82, 0xca, 0x7a, + 0xd2, 0x71, 0x7f, 0xea, 0x00, 0xa0, 0xf0, 0x4b, 0x17, 0xc7, 0xfc, 0x30, 0x1a, 0x75, 0xe4, 0x7d, + 0xb3, 0x0c, 0x4a, 0x9e, 0x53, 0x9f, 0x3a, 0xe0, 0xb8, 0xce, 0x36, 0x5d, 0x19, 0x5f, 0x9e, 0x06, + 0xf4, 0x6e, 0x96, 0x04, 0x4a, 0x5b, 0x1e, 0x83, 0x19, 0x99, 0x79, 0x56, 0xc6, 0x17, 0x96, 0x62, + 0xbc, 0x6b, 0xf6, 0x18, 0xa9, 0xfb, 0x57, 0x0e, 0x78, 0x29, 0x4f, 0xee, 0x5c, 0x1d, 0x5f, 0x5e, + 0x0e, 0xea, 0xd5, 0x4a, 0x43, 0xa5, 0x45, 0x3f, 0x77, 0xc0, 0x31, 0x8d, 0x72, 0xb9, 0x3c, 0xbe, + 0x4c, 0x15, 0xe7, 0x7d, 0xab, 0x1c, 0x4e, 0x33, 0x44, 0xa3, 0x5f, 0x2c, 0x0c, 0x51, 0x71, 0x36, + 0x86, 0x98, 0x08, 0x16, 0x16, 0x2e, 0x0a, 0xbd, 0x62, 0x11, 0x2e, 0x19, 0xca, 0x26, 0x5c, 0x86, + 0x79, 0x15, 0xb6, 0x17, 0x1a, 0xab, 0x62, 0xb1, 0x17, 0x2a, 0xce, 0x66, 0x2f, 0x4c, 0x44, 0x8b, + 0xfb, 0x7b, 0x07, 0xb8, 0x06, 0x9a, 0xc5, 0x62, 0x75, 0xc3, 0x68, 0xaf, 0x79, 0x10, 0xb4, 0x34, + 0xed, 0x67, 0x0e, 0x38, 0xaa, 0x92, 0x35, 0x97, 0x6c, 0xa4, 0x4a, 0x98, 0x77, 0xa3, 0x14, 0x4c, + 0x5a, 0xf1, 0x47, 0x07, 0xbc, 0x6c, 0xa2, 0x49, 0x2c, 0xc4, 0x1a, 0xe0, 0xde, 0xda, 0x81, 0xe0, + 0xd2, 0xba, 0x9f, 0x80, 0x23, 0x19, 0xa1, 0x72, 0xc1, 0xf6, 0x04, 0xdf, 0x80, 0xc4, 0xbb, 0x5e, + 0x02, 0xa4, 0xb9, 0xb1, 0x46, 0x8e, 0x5c, 0xb6, 0x8a, 0x0a, 0x89, 0xb3, 0x71, 0x63, 0x13, 0x63, + 0xc2, 0x7c, 0x45, 0xe5, 0x4b, 0x2c, 0x7c, 0x45, 0x81, 0xd9, 0xf8, 0x8a, 0x81, 0x5b, 0x71, 0x9f, + 0x38, 0x60, 0x36, 0xc7, 0xac, 0xac, 0x5a, 0x25, 0x33, 0x05, 0xe9, 0xbd, 0x53, 0x16, 0x29, 0xcd, + 0xf9, 0x9d, 0x03, 0x4e, 0x0e, 0xd3, 0x2b, 0xd7, 0x6d, 0xe2, 0x21, 0x07, 0xf6, 0x1a, 0x07, 0x00, + 0x4b, 0xbb, 0x3e, 0x73, 0x40, 0x75, 0x24, 0xed, 0x52, 0xb7, 0xd6, 0x30, 0x24, 0xc3, 0xfb, 0xf6, + 0xc1, 0x65, 0xe8, 0xf1, 0x6f, 0x60, 0x66, 0x6e, 0xd8, 0x79, 0x6c, 0x0e, 0x6e, 0x15, 0xff, 0xa3, + 0x99, 0x1b, 0x56, 0x6e, 0xe4, 0x69, 0x9b, 0xab, 0xf6, 0x11, 0x2d, 0xa0, 0x36, 0xe5, 0xc6, 0x08, + 0x86, 0xc6, 0xdd, 0x05, 0x87, 0x53, 0x7a, 0xe6, 0xbc, 0x75, 0x21, 0xe7, 0x5d, 0xb5, 0x86, 0x68, + 0x5b, 0x91, 0x27, 0x6e, 0xae, 0xda, 0x3a, 0x42, 0xa9, 0xad, 0x18, 0x41, 0xee, 0x30, 0x8b, 0xf2, + 0xd4, 0xce, 0xd5, 0x32, 0x65, 0x03, 0x77, 0x99, 0x5a, 0x69, 0xa8, 0x56, 0xa5, 0xeb, 0x94, 0xcf, + 0x15, 0x2b, 0xa1, 0x19, 0xd0, 0xa6, 0x4a, 0x37, 0x52, 0x41, 0xcc, 0x16, 0x9d, 0x07, 0xb2, 0xb0, + 0x45, 0x03, 0xda, 0xd8, 0x62, 0xa4, 0x74, 0x98, 0x2d, 0x3a, 0xa1, 0x73, 0xc5, 0x36, 0x12, 0xd2, + 0xda, 0xe7, 0x66, 0x49, 0xa0, 0xb4, 0xe5, 0xcf, 0x0e, 0x78, 0xc5, 0xcc, 0xfc, 0xd8, 0x88, 0x36, + 0x09, 0xf0, 0x6e, 0x1f, 0x50, 0x80, 0x66, 0xa3, 0x99, 0xe8, 0xb9, 0x69, 0x13, 0x36, 0x06, 0x01, + 0x36, 0x36, 0x16, 0x32, 0x36, 0x2c, 0x19, 0xe7, 0xf8, 0x9a, 0x55, 0x1b, 0xd9, 0x2a, 0xd2, 0x26, + 0x19, 0x9b, 0x69, 0x1d, 0xf7, 0xaf, 0x0e, 0x38, 0x3d, 0x9a, 0xd4, 0xb1, 0xca, 0xab, 0x23, 0x84, + 0x78, 0x77, 0x5f, 0x80, 0x10, 0xbd, 0x43, 0x51, 0x19, 0x22, 0x9b, 0x0e, 0x45, 0xc1, 0x59, 0x75, + 0x28, 0x06, 0xb6, 0x86, 0x7d, 0xc7, 0x1c, 0x57, 0xb3, 0x6a, 0x15, 0xef, 0x0a, 0xd2, 0xe6, 0x3b, + 0x9a, 0x89, 0x1d, 0x76, 0xa8, 0xe7, 0x69, 0x1d, 0x8b, 0x43, 0x3d, 0x07, 0xb5, 0x39, 0xd4, 0x47, + 0xd1, 0x3e, 0xb4, 0x42, 0x31, 0x51, 0x3b, 0x37, 0xec, 0xfb, 0x75, 0xd5, 0xb2, 0xb5, 0x03, 0xc1, + 0xb5, 0x22, 0x74, 0x98, 0xe0, 0xb9, 0x6e, 0xf5, 0x1d, 0x74, 0xb0, 0x4d, 0x11, 0x3a, 0x92, 0xf0, + 0x61, 0xfe, 0xad, 0xd1, 0x3d, 0x97, 0x6d, 0xa5, 0xda, 0x77, 0xe0, 0x26, 0x0e, 0x28, 0xf5, 0x6f, + 0x95, 0x01, 0xb2, 0xf3, 0x6f, 0x05, 0x69, 0xe9, 0xdf, 0x06, 0xb2, 0xc8, 0xfd, 0x8d, 0x03, 0x4e, + 0x0c, 0x51, 0x45, 0xd7, 0xac, 0xc5, 0x4a, 0xac, 0x57, 0x2f, 0x8f, 0xd5, 0xf2, 0xb3, 0xce, 0x28, + 0x59, 0xe4, 0x67, 0x0d, 0x68, 0x93, 0x9f, 0x8d, 0x64, 0x12, 0x6d, 0xb9, 0x33, 0x22, 0xe9, 0x82, + 0x5d, 0xf8, 0xf2, 0x13, 0xf1, 0x7a, 0x09, 0x90, 0x76, 0x79, 0xa5, 0x90, 0x3e, 0x17, 0x6d, 0xbd, + 0x8f, 0xa2, 0x6c, 0x2e, 0xaf, 0x86, 0xb9, 0x20, 0xd6, 0x6c, 0xab, 0x4c, 0xd0, 0x25, 0xeb, 0x3b, + 0x28, 0x0a, 0xb3, 0x69, 0xb6, 0x0d, 0xac, 0x11, 0x3b, 0x58, 0x86, 0x39, 0x23, 0x8b, 0xbd, 0x1d, + 0x02, 0xdb, 0x1c, 0x2c, 0x23, 0x79, 0x26, 0xf7, 0x4f, 0x0e, 0x98, 0x33, 0xb2, 0x4c, 0x36, 0xd7, + 0x96, 0x06, 0xbc, 0x77, 0xeb, 0x60, 0x78, 0x2d, 0x5f, 0x98, 0xa8, 0xa9, 0x1b, 0x56, 0x89, 0x3a, + 0x0f, 0xb7, 0xc9, 0x17, 0x05, 0x54, 0x16, 0xcb, 0xaf, 0x79, 0x1e, 0xcb, 0x22, 0xbf, 0xe6, 0xa0, + 0x36, 0xf9, 0x75, 0x04, 0xeb, 0xc4, 0xdc, 0x5d, 0xe5, 0x9c, 0x2e, 0x95, 0x10, 0xd9, 0x44, 0x36, + 0xee, 0x6e, 0xe0, 0x9f, 0x58, 0x9a, 0xc8, 0xb1, 0x4f, 0xab, 0x65, 0xd6, 0x46, 0x91, 0x36, 0x69, + 0xc2, 0x4c, 0x3d, 0xd5, 0x5b, 0x9f, 0x3f, 0x9b, 0x77, 0xbe, 0x78, 0x36, 0xef, 0xfc, 0xf7, 0xd9, + 0xbc, 0xf3, 0xeb, 0xe7, 0xf3, 0x13, 0x5f, 0x3c, 0x9f, 0x9f, 0xf8, 0xd7, 0xf3, 0xf9, 0x89, 0x87, + 0xab, 0xca, 0x3f, 0xf8, 0x1c, 0xd2, 0xb2, 0xdc, 0x90, 0x7f, 0x47, 0xf5, 0x89, 0xfa, 0x47, 0x63, + 0x7b, 0x7d, 0x98, 0x6c, 0x4e, 0xb3, 0xbf, 0x97, 0xba, 0xf0, 0x55, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x71, 0xbc, 0xf0, 0xa2, 0x58, 0x36, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -9543,20 +9541,15 @@ func (m *MsgEncounterCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x2a } if len(m.Parameters) > 0 { - for k := range m.Parameters { - v := m.Parameters[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarintTx(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarintTx(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarintTx(dAtA, i, uint64(baseI-i)) + for iNdEx := len(m.Parameters) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Parameters[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } i-- dAtA[i] = 0x22 } @@ -11081,11 +11074,9 @@ func (m *MsgEncounterCreate) Size() (n int) { n += 1 + sovTx(uint64(l)) + l } if len(m.Parameters) > 0 { - for k, v := range m.Parameters { - _ = k - _ = v - mapEntrySize := 1 + len(k) + sovTx(uint64(len(k))) + 1 + len(v) + sovTx(uint64(len(v))) - n += mapEntrySize + 1 + sovTx(uint64(mapEntrySize)) + for _, e := range m.Parameters { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) } } l = len(m.Image) @@ -19635,103 +19626,10 @@ func (m *MsgEncounterCreate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Parameters == nil { - m.Parameters = make(map[string]string) - } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return ErrInvalidLengthTx - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthTx - } - if postStringIndexmapkey > l { - return io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return ErrInvalidLengthTx - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthTx - } - if postStringIndexmapvalue > l { - return io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > postIndex { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } + m.Parameters = append(m.Parameters, &Parameter{}) + if err := m.Parameters[len(m.Parameters)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.Parameters[mapkey] = mapvalue iNdEx = postIndex case 5: if wireType != 2 {