From 4bc698dae5e823f46521e0a8f44de8a2a7388b57 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 12:51:39 -0500 Subject: [PATCH 01/20] Splitting the genesis files. --- packages/kosu-geth/genesis-kosu-test.json | 73 +++++++++++++++++++ .../{genesis.json => genesis-kosu.json} | 0 2 files changed, 73 insertions(+) create mode 100644 packages/kosu-geth/genesis-kosu-test.json rename packages/kosu-geth/{genesis.json => genesis-kosu.json} (100%) diff --git a/packages/kosu-geth/genesis-kosu-test.json b/packages/kosu-geth/genesis-kosu-test.json new file mode 100644 index 00000000..c439f023 --- /dev/null +++ b/packages/kosu-geth/genesis-kosu-test.json @@ -0,0 +1,73 @@ +{ + "config": { + "chainId": 6174, + "homesteadBlock": 1, + "eip150Block": 2, + "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "eip155Block": 3, + "eip158Block": 3, + "byzantiumBlock": 4, + "constantinopleBlock": 5, + "clique": { + "period": 0, + "epoch": 30000 + } + }, + "nonce": "0x0", + "timestamp": "0x5cda3873", + "extraData": "0x000000000000000000000000000000000000000000000000000000000000000054e60bccc86a7bad4bc68e36a8fde0f369ae849e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gasLimit": "0x800000", + "difficulty": "0x1", + "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "coinbase": "0x0000000000000000000000000000000000000000", + "alloc": { + "54E60Bccc86A7Bad4BC68E36a8fde0F369aE849E": { + "balance": "0x20000000000000000000000000000000000000" + }, + "1d28a7dab71b6db9c98685c1ab42fc17b7a1c8b5": { + "balance": "0x2000000000000000000000000" + }, + "50f6868fab37acb8f8dadea6f4cb3c4fb963f0e6": { + "balance": "0x2000000000000000000000000" + }, + "6cf611f360411b5671f13bd977b08684934d58a9": { + "balance": "0x2000000000000000000000000" + }, + "d42a4446d5850737376b0e63a2c14427f00b4af3": { + "balance": "0x2000000000000000000000000" + }, + "d83fb89fd79a844597a2a6a0eac90055bc2bc6ca": { + "balance": "0x2000000000000000000000000" + }, + "96ad1a6fd863048f60d4c4545011529a3362af8a": { + "balance": "0x2000000000000000000000000" + }, + "c0c1cfd67e8af5e02ed01331c2dfec097e6401eb": { + "balance": "0x2000000000000000000000000" + }, + "96b1f8872935251d50e890516081013ec9e761b2": { + "balance": "0x2000000000000000000000000" + }, + "2ee235eaacc8da24de980e138da45791c84ed6e6": { + "balance": "0x2000000000000000000000000" + }, + "AA554D0c5ff879387Fc234dE5D22EC02983baA27": { + "balance": "0x2000000000000000000000000" + }, + "7ed8E5d7884FF0Be732479a475ACB82f229C9e35": { + "balance": "0x2000000000000000000000000" + }, + "C521f483F607eB5EA4d6b2dfdBD540134753a865": { + "balance": "0x2000000000000000000000000" + }, + "8b366a3d4e46aC5406F12766Ad33E6482Ce4F081": { + "balance": "0x2000000000000000000000000" + }, + "5409ed021d9299bf6814279a6a1411a7e866a631": { + "balance": "0x2000000000000000000000000" + } + }, + "number": "0x0", + "gasUsed": "0x0", + "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000" +} diff --git a/packages/kosu-geth/genesis.json b/packages/kosu-geth/genesis-kosu.json similarity index 100% rename from packages/kosu-geth/genesis.json rename to packages/kosu-geth/genesis-kosu.json From 9b7664292fdc7cb415865d31ec4de8a4656d6aed Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 12:51:56 -0500 Subject: [PATCH 02/20] Splitting the dockerfiles --- packages/kosu-geth/kosu-test.Dockerfile | 16 ++++++++++++++++ .../kosu-geth/{Dockerfile => kosu.Dockerfile} | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 packages/kosu-geth/kosu-test.Dockerfile rename packages/kosu-geth/{Dockerfile => kosu.Dockerfile} (84%) diff --git a/packages/kosu-geth/kosu-test.Dockerfile b/packages/kosu-geth/kosu-test.Dockerfile new file mode 100644 index 00000000..7c1ad8cd --- /dev/null +++ b/packages/kosu-geth/kosu-test.Dockerfile @@ -0,0 +1,16 @@ +FROM ethereum/client-go:v1.8.27 + +COPY genesis-kosu-test.json accounts passwords ./ +RUN mkdir keystore/ +COPY keystore/* keystore/ + +RUN geth init genesis-kosu-test.json --datadir . + +ENTRYPOINT geth \ + --datadir . \ + --networkid 6174 \ + --unlock="`cat accounts`" \ + --password=./passwords \ + --etherbase "0x54E60Bccc86A7Bad4BC68E36a8fde0F369aE849E" --mine \ + --rpc --rpcaddr '0.0.0.0' --rpccorsdomain '*' --rpcvhosts '*' --rpcapi 'personal,db,eth,net,web3,txpool,miner,debug' \ + --ws --wsaddr '0.0.0.0' --wsapi 'personal,db,eth,net,web3,txpool,miner,debug' --wsorigins '*' diff --git a/packages/kosu-geth/Dockerfile b/packages/kosu-geth/kosu.Dockerfile similarity index 84% rename from packages/kosu-geth/Dockerfile rename to packages/kosu-geth/kosu.Dockerfile index 2998664b..1c47dbda 100644 --- a/packages/kosu-geth/Dockerfile +++ b/packages/kosu-geth/kosu.Dockerfile @@ -1,10 +1,10 @@ FROM ethereum/client-go:v1.8.27 -COPY genesis.json accounts passwords ./ +COPY genesis-kosu.json accounts passwords ./ RUN mkdir keystore/ COPY keystore/* keystore/ -RUN geth init genesis.json --datadir . +RUN geth init genesis-kosu.json --datadir . ENTRYPOINT geth \ --datadir . \ From d22f43b20e5429b2c721438f5ed839cce47498e6 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 12:52:07 -0500 Subject: [PATCH 03/20] Updating docker compose --- packages/kosu-geth/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/kosu-geth/docker-compose.yml b/packages/kosu-geth/docker-compose.yml index c67469dc..701d4941 100644 --- a/packages/kosu-geth/docker-compose.yml +++ b/packages/kosu-geth/docker-compose.yml @@ -3,6 +3,7 @@ services: kosu: build: context: . + dockerfile: kosu.Dockerfile ports: - 8545:8545 - 8546:8546 From a9d0546ee53f10b87fdeea266a33fa69a85effa3 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 12:56:46 -0500 Subject: [PATCH 04/20] Updating kosu-test to use network id 6175 --- packages/kosu-geth/genesis-kosu-test.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kosu-geth/genesis-kosu-test.json b/packages/kosu-geth/genesis-kosu-test.json index c439f023..d75c4f55 100644 --- a/packages/kosu-geth/genesis-kosu-test.json +++ b/packages/kosu-geth/genesis-kosu-test.json @@ -1,6 +1,6 @@ { "config": { - "chainId": 6174, + "chainId": 6175, "homesteadBlock": 1, "eip150Block": 2, "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000", From a6579b0ca8e53770f2f3023c76f8f3e636c9d272 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 12:57:27 -0500 Subject: [PATCH 05/20] Updating script to receive the dockerfile --- .../kosu-geth/scripts/build-and-push-geth-image.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/kosu-geth/scripts/build-and-push-geth-image.sh b/packages/kosu-geth/scripts/build-and-push-geth-image.sh index 0c6351fa..53c80fe9 100755 --- a/packages/kosu-geth/scripts/build-and-push-geth-image.sh +++ b/packages/kosu-geth/scripts/build-and-push-geth-image.sh @@ -1,18 +1,19 @@ #!/usr/bin/env bash # image name passed in as args (including registry host) -IMAGE_HOST=$1 -IMAGE_NAME=$2 -IMAGE_VERSION=$3 +DOCKER_FILE=$1 +IMAGE_HOST=$2 +IMAGE_NAME=$3 +IMAGE_VERSION=$4 -GCP_BUCKET_URI=$4 +GCP_BUCKET_URI=$5 # full label of geth image to be built IMAGE_LABEL_VERSION="$IMAGE_HOST/$IMAGE_NAME:$IMAGE_VERSION" IMAGE_LABEL_LATEST="$IMAGE_HOST/$IMAGE_NAME:latest" # build kosu-geth image, tag as latest and push both to GCR -docker build -t $IMAGE_LABEL_VERSION . +docker build -t $IMAGE_LABEL_VERSION . -f DOCKER_FILE docker tag $IMAGE_LABEL_VERSION $IMAGE_LABEL_LATEST docker push $IMAGE_LABEL_VERSION docker push $IMAGE_LABEL_LATEST From c6604bd473c57b80584d23ca81d030e68b12e4c1 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 13:00:51 -0500 Subject: [PATCH 06/20] Fixing typo --- packages/kosu-geth/scripts/build-and-push-geth-image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kosu-geth/scripts/build-and-push-geth-image.sh b/packages/kosu-geth/scripts/build-and-push-geth-image.sh index 53c80fe9..6f04a737 100755 --- a/packages/kosu-geth/scripts/build-and-push-geth-image.sh +++ b/packages/kosu-geth/scripts/build-and-push-geth-image.sh @@ -13,7 +13,7 @@ IMAGE_LABEL_VERSION="$IMAGE_HOST/$IMAGE_NAME:$IMAGE_VERSION" IMAGE_LABEL_LATEST="$IMAGE_HOST/$IMAGE_NAME:latest" # build kosu-geth image, tag as latest and push both to GCR -docker build -t $IMAGE_LABEL_VERSION . -f DOCKER_FILE +docker build -t $IMAGE_LABEL_VERSION . -f $DOCKER_FILE docker tag $IMAGE_LABEL_VERSION $IMAGE_LABEL_LATEST docker push $IMAGE_LABEL_VERSION docker push $IMAGE_LABEL_LATEST From 64a2eb0da666794ff33c7cece0728daf2dd2d028 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 13:00:59 -0500 Subject: [PATCH 07/20] Updating scripts --- packages/kosu-geth/package.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/kosu-geth/package.json b/packages/kosu-geth/package.json index 8a5d430e..a05c35f6 100644 --- a/packages/kosu-geth/package.json +++ b/packages/kosu-geth/package.json @@ -7,8 +7,10 @@ "geth:clean": "geth removedb --datadir .", "geth:init": "yarn geth:clean && geth init genesis.json --datadir .", "geth:start:old": "geth --datadir . --networkid 6174 --rpc --rpcaddr '0.0.0.0' --unlock=\"`cat accounts`\" --password=./passwords --etherbase \"0x54E60Bccc86A7Bad4BC68E36a8fde0F369aE849E\" --mine --rpccorsdomain '*' --rpcapi 'personal,db,eth,net,web3,txpool,miner,debug' console", - "geth:start": "docker-compose up --force-recreate --build", - "build:geth": "scripts/build-and-push-geth-image.sh ${npm_package_config_image_host} kosu-geth ${npm_package_version}" + "kosu:start": "docker-compose up --force-recreate --build", + "build:kosu": "scripts/build-and-push-geth-image.sh kosu.Dockerfile ${npm_package_config_image_host} kosu-geth ${npm_package_version}", + "build:kosu-test": "scripts/build-and-push-geth-image.sh kosu-test.Dockerfile ${npm_package_config_image_host} kosu-test-geth ${npm_package_version}", + "build_and_push": "yarn build:kosu && yarn build:kosu-test" }, "config": { "image_host": "gcr.io/kosu-io" From 010c6901e6abeb9ee55641dcacf10ded23c955c0 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 13:01:40 -0500 Subject: [PATCH 08/20] Updating drone config --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 8718b4e7..f9660e59 100644 --- a/.drone.yml +++ b/.drone.yml @@ -60,7 +60,7 @@ steps: services: - name: kosu-geth - image: gcr.io/kosu-io/kosu-geth:0.1.1 + image: gcr.io/kosu-io/kosu-test-geth:latest pull: always ports: - 8545 From 976e297d92d4db32164b14bed86d15dc3a35f3e5 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 13:03:21 -0500 Subject: [PATCH 09/20] Updating migrations. --- packages/kosu-system-contracts/src/migrations.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/kosu-system-contracts/src/migrations.ts b/packages/kosu-system-contracts/src/migrations.ts index a5941358..ab327769 100644 --- a/packages/kosu-system-contracts/src/migrations.ts +++ b/packages/kosu-system-contracts/src/migrations.ts @@ -51,6 +51,13 @@ export async function migrations( _rewardPeriod: 6000, }, 6174: { + _applicationPeriod: 600, + _commitPeriod: 600, + _challengePeriod: 400, + _exitPeriod: 600, + _rewardPeriod: 600, + }, + 6175: { _applicationPeriod: 10, _commitPeriod: 10, _challengePeriod: 20, From 1fbd7c93ac14e5456f7110c39a53f9edfe0b1468 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 13:12:18 -0500 Subject: [PATCH 10/20] fixing network references. --- packages/kosu-system-contracts/src/bin/migrate.ts | 2 +- packages/kosu-system-contracts/src/migrations.ts | 2 +- packages/kosu-system-contracts/test/init_test.ts | 2 +- packages/kosu-system-contracts/test/zero_ex_v2_sub_contract.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/kosu-system-contracts/src/bin/migrate.ts b/packages/kosu-system-contracts/src/bin/migrate.ts index 04a14f1f..e412f58d 100644 --- a/packages/kosu-system-contracts/src/bin/migrate.ts +++ b/packages/kosu-system-contracts/src/bin/migrate.ts @@ -45,7 +45,7 @@ if (args["test-mnemonic"] || !mnemonic) { const networkId = await web3.eth.net.getId(); - if (networkId === 6174) { + if ([6174, 6175].includes(networkId)) { // @ts-ignore await new BlockchainLifecycle(new Web3Wrapper(new Web3.providers.HttpProvider(args["rpc-url"]))).startAsync(); if ((await web3.eth.getTransactionCount(normalizedFromAddress)) > 0) { diff --git a/packages/kosu-system-contracts/src/migrations.ts b/packages/kosu-system-contracts/src/migrations.ts index ab327769..15c85b3e 100644 --- a/packages/kosu-system-contracts/src/migrations.ts +++ b/packages/kosu-system-contracts/src/migrations.ts @@ -72,7 +72,7 @@ export async function migrations( _rewardPeriod: 4, }, }; - const zeroExAddresses = getContractAddressesForNetworkOrThrow(netId === 6174 ? 50 : netId); + const zeroExAddresses = getContractAddressesForNetworkOrThrow([6174, 6175].includes(netId) ? 50 : netId); const config = validatorValues[netId] || validatorValues.default; const orderGateway = await OrderGatewayContract.deployFrom0xArtifactAsync( diff --git a/packages/kosu-system-contracts/test/init_test.ts b/packages/kosu-system-contracts/test/init_test.ts index 70934d9e..5b1295cd 100644 --- a/packages/kosu-system-contracts/test/init_test.ts +++ b/packages/kosu-system-contracts/test/init_test.ts @@ -58,7 +58,7 @@ before(async () => { const ganacheSubprovider = new GanacheSubprovider({ mnemonic: process.env.npm_package_config_test_mnemonic, - network_id: 6174, + network_id: 6175, }); provider.addProvider(ganacheSubprovider); } diff --git a/packages/kosu-system-contracts/test/zero_ex_v2_sub_contract.ts b/packages/kosu-system-contracts/test/zero_ex_v2_sub_contract.ts index d7027c9f..eb2eb722 100644 --- a/packages/kosu-system-contracts/test/zero_ex_v2_sub_contract.ts +++ b/packages/kosu-system-contracts/test/zero_ex_v2_sub_contract.ts @@ -16,7 +16,7 @@ describe("ZeroExV2SubContract", () => { const kosuToken = contracts.kosuToken; const _arguments = JSON.parse(await contracts.zeroExV2SubContract.arguments.callAsync()); const networkId = await web3Wrapper.getNetworkIdAsync(); - const zeroExWrappers = new ContractWrappers(provider, { networkId: networkId === 6174 ? 50 : networkId }); + const zeroExWrappers = new ContractWrappers(provider, { networkId: [6174, 6175].includes(networkId) ? 50 : networkId }); const zeroExOrder = { makerAddress: accounts[0], From 90551ca844bebc2c87c9c2594d63bb550a6a8c2b Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 13:13:30 -0500 Subject: [PATCH 11/20] Fixing network id missmatch --- packages/kosu-geth/kosu-test.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kosu-geth/kosu-test.Dockerfile b/packages/kosu-geth/kosu-test.Dockerfile index 7c1ad8cd..b0327083 100644 --- a/packages/kosu-geth/kosu-test.Dockerfile +++ b/packages/kosu-geth/kosu-test.Dockerfile @@ -8,7 +8,7 @@ RUN geth init genesis-kosu-test.json --datadir . ENTRYPOINT geth \ --datadir . \ - --networkid 6174 \ + --networkid 6175 \ --unlock="`cat accounts`" \ --password=./passwords \ --etherbase "0x54E60Bccc86A7Bad4BC68E36a8fde0F369aE849E" --mine \ From 6511a18198672c1354fbff79e659b63681f6bf52 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 13:13:43 -0500 Subject: [PATCH 12/20] Running prettier --- .../kosu-system-contracts/test/zero_ex_v2_sub_contract.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/kosu-system-contracts/test/zero_ex_v2_sub_contract.ts b/packages/kosu-system-contracts/test/zero_ex_v2_sub_contract.ts index eb2eb722..18e80a6f 100644 --- a/packages/kosu-system-contracts/test/zero_ex_v2_sub_contract.ts +++ b/packages/kosu-system-contracts/test/zero_ex_v2_sub_contract.ts @@ -16,7 +16,9 @@ describe("ZeroExV2SubContract", () => { const kosuToken = contracts.kosuToken; const _arguments = JSON.parse(await contracts.zeroExV2SubContract.arguments.callAsync()); const networkId = await web3Wrapper.getNetworkIdAsync(); - const zeroExWrappers = new ContractWrappers(provider, { networkId: [6174, 6175].includes(networkId) ? 50 : networkId }); + const zeroExWrappers = new ContractWrappers(provider, { + networkId: [6174, 6175].includes(networkId) ? 50 : networkId, + }); const zeroExOrder = { makerAddress: accounts[0], From 59315e13dcf9debd744f0b128e38f65a19b3af29 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 13:19:17 -0500 Subject: [PATCH 13/20] Deploying 6174 --- packages/kosu-system-contracts/README.md | 18 +-- .../src/deployedAddresses.json | 118 ++++++++++-------- 2 files changed, 76 insertions(+), 60 deletions(-) diff --git a/packages/kosu-system-contracts/README.md b/packages/kosu-system-contracts/README.md index 2deed570..b7082d0c 100644 --- a/packages/kosu-system-contracts/README.md +++ b/packages/kosu-system-contracts/README.md @@ -34,12 +34,12 @@ Below are the deployed addresses for the core Kosu protocol contract system on t | Contract Name | Last Deploy Date | Deployed Address | | ------------------------------------------------------------------------- | ---------------- | ------------------------------------------ | -| [OrderGateway](./contracts/external/OrderGateway.sol) | 07/31/19 | 0xb8fda6341f80cbae987ab5cd00dce502097e3152 | -| [AuthorizedAddresses](./contracts/access_control/AuthorizedAddresses.sol) | 07/31/19 | 0xe473109cb41c773fd2fe01e83c6e51356f9585d6 | -| [EventEmitter](./contracts/event/EventEmitter.sol) | 07/31/19 | 0x2f3afeff0914f33769cdfbf3fcf870c33b26c311 | -| [KosuToken](./contracts/lib/KosuToken.sol) | 07/31/19 | 0xcc868306d6188b2b12757a7c3926042b4d3c4e29 | -| [Treasury](./contracts/treasury/Treasury.sol) | 07/31/19 | 0x46572f9082dd2429c2c138fa9483a67d4f29d423 | -| [Voting](./contracts/voting/Voting.sol) | 07/31/19 | 0x5d60c93d8b48682cd387c8be7e9461b67ecfbea1 | -| [PosterRegistry](./contracts/poster/PosterRegistry.sol) | 07/31/19 | 0x7e6534b8205713246e91a14b462d2dbcac3ede17 | -| [ValidatorRegistry](./contracts/validator/ValidatorRegistry.sol) | 07/31/19 | 0x301bb008f2a8a3cae9918743fe43428551392773 | -| [ZeroExV2SubContract](./contracts/sub-contracts/ZeroExV2SubContract.sol) | 07/31/19 | 0x0265e7d1b094787cb13174e18a1cefc41279a6c9 | +| [OrderGateway](./contracts/external/OrderGateway.sol) | 08/19/19 | 0xb8fda6341f80cbae987ab5cd00dce502097e3152 | +| [AuthorizedAddresses](./contracts/access_control/AuthorizedAddresses.sol) | 08/19/19 | 0xe473109cb41c773fd2fe01e83c6e51356f9585d6 | +| [EventEmitter](./contracts/event/EventEmitter.sol) | 08/19/19 | 0x2f3afeff0914f33769cdfbf3fcf870c33b26c311 | +| [KosuToken](./contracts/lib/KosuToken.sol) | 08/19/19 | 0xcc868306d6188b2b12757a7c3926042b4d3c4e29 | +| [Treasury](./contracts/treasury/Treasury.sol) | 08/19/19 | 0x46572f9082dd2429c2c138fa9483a67d4f29d423 | +| [Voting](./contracts/voting/Voting.sol) | 08/19/19 | 0x5d60c93d8b48682cd387c8be7e9461b67ecfbea1 | +| [PosterRegistry](./contracts/poster/PosterRegistry.sol) | 08/19/19 | 0x7e6534b8205713246e91a14b462d2dbcac3ede17 | +| [ValidatorRegistry](./contracts/validator/ValidatorRegistry.sol) | 08/19/19 | 0x301bb008f2a8a3cae9918743fe43428551392773 | +| [ZeroExV2SubContract](./contracts/sub-contracts/ZeroExV2SubContract.sol) | 08/19/19 | 0x0265e7d1b094787cb13174e18a1cefc41279a6c9 | diff --git a/packages/kosu-system-contracts/src/deployedAddresses.json b/packages/kosu-system-contracts/src/deployedAddresses.json index f204ca90..e7757e25 100644 --- a/packages/kosu-system-contracts/src/deployedAddresses.json +++ b/packages/kosu-system-contracts/src/deployedAddresses.json @@ -165,8 +165,8 @@ }, "6174": { "OrderGateway": { - "blockHash": "0xa958a2f23eb422db4bceb0d360411997dca240bc5e2b169b9fade5e6e7428c53", - "blockNumber": 7, + "blockHash": "0xf9c69afa9389ab1d913b3e94766d8e4eb86ed521787204eece2b3588963b7919", + "blockNumber": 637, "contractAddress": "0xb8fda6341f80cbae987ab5cd00dce502097e3152", "cumulativeGasUsed": 471973, "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", @@ -175,13 +175,13 @@ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "status": 1, "to": null, - "transactionHash": "0xbb26f5c3c29eb2f2e71ce78f75c79c4b7ad3271bb9d988f4bd08f94affd98cc0", + "transactionHash": "0x488fa71bfffde09acdd54657496051ececa6458faafc03933038a2922188da74", "transactionIndex": 0, - "timestamp": 1564594703 + "timestamp": 1566238523 }, "AuthorizedAddresses": { - "blockHash": "0x41b51f49b84d103b79222567f09839949d542bdbcfb1cb48dc4587a29af55945", - "blockNumber": 9, + "blockHash": "0x45953e988eaa5391d36a3c0fede8a5aed7fe0bb9b5be04617fb04f41af30b253", + "blockNumber": 640, "contractAddress": "0xe473109cb41c773fd2fe01e83c6e51356f9585d6", "cumulativeGasUsed": 326984, "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", @@ -195,10 +195,10 @@ "0x000000000000000000000000c521f483f607eb5ea4d6b2dfdbd540134753a865" ], "data": "0x", - "blockNumber": 9, - "transactionHash": "0x65737312f1b045356b54896809700442f05e9f155c56863beae9d6303b2c3a85", + "blockNumber": 640, + "transactionHash": "0x31ac1b05aa1e5deb254651e7ac24bbfd720d28dd6d8524a99e3f283d888017bc", "transactionIndex": 0, - "blockHash": "0x41b51f49b84d103b79222567f09839949d542bdbcfb1cb48dc4587a29af55945", + "blockHash": "0x45953e988eaa5391d36a3c0fede8a5aed7fe0bb9b5be04617fb04f41af30b253", "logIndex": 0, "removed": false } @@ -206,13 +206,13 @@ "logsBloom": "0x00040000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000008008000000000000000020000000000000000000800000000800000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000020000000000000004000000000000000000000000000000000000000000000000000", "status": 1, "to": null, - "transactionHash": "0x65737312f1b045356b54896809700442f05e9f155c56863beae9d6303b2c3a85", + "transactionHash": "0x31ac1b05aa1e5deb254651e7ac24bbfd720d28dd6d8524a99e3f283d888017bc", "transactionIndex": 0, - "timestamp": 1564594705 + "timestamp": 1566238526 }, "EventEmitter": { - "blockHash": "0x2df5de27250e5ce0b6f8c3a93db33e0f508a393595daab245d40a10a25b08c19", - "blockNumber": 11, + "blockHash": "0x6f7b81b3b96e23fb58355b9bcfdb4ab9a247fd02f09e0c9434e06484a7f8c620", + "blockNumber": 643, "contractAddress": "0x2f3afeff0914f33769cdfbf3fcf870c33b26c311", "cumulativeGasUsed": 265922, "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", @@ -221,28 +221,28 @@ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "status": 1, "to": null, - "transactionHash": "0xb75e9a3c38971b08b8cad22eea8b74ced5eef982e8683222e410ebd1c7218cbb", + "transactionHash": "0x03083b44120902eba5e1d5f10afd793cad2eead508028d9a5a7a7456c8c38a0d", "transactionIndex": 0, - "timestamp": 1564594707 + "timestamp": 1566238529 }, "KosuToken": { - "blockHash": "0xb3c6079a17618357cf8853a9c0a9f81e95ac28a8b9f9a1387756102fc58c869c", - "blockNumber": 14, + "blockHash": "0xb8fbc044ee2c616aa2735f7cf6d6423ffcf7f9086bd225c23d3e58bc4a745cfb", + "blockNumber": 647, "contractAddress": "0xcc868306d6188b2b12757a7c3926042b4d3c4e29", - "cumulativeGasUsed": 2985992, + "cumulativeGasUsed": 2991564, "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", - "gasUsed": 2985992, + "gasUsed": 2991564, "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "status": 1, "to": null, - "transactionHash": "0x3c09307753c7e3d89348b4b0f1e371f760d1599fb5e1f819d894a1cac5d2f51c", + "transactionHash": "0x9601e3fad1a31293f555da5b86919f367eaa75465057dcb1e3be74466295a012", "transactionIndex": 0, - "timestamp": 1564594710 + "timestamp": 1566238533 }, "Treasury": { - "blockHash": "0x97d93123a3072ea42acb514625ca5c32b5e47476e7a6b87516cacaf73b95e324", - "blockNumber": 17, + "blockHash": "0x21b1c9675dec7c1b04e01cc237bef676c9420103912dd16ab7e098a6aeeb8966", + "blockNumber": 650, "contractAddress": "0x46572f9082dd2429c2c138fa9483a67d4f29d423", "cumulativeGasUsed": 1247144, "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", @@ -251,69 +251,85 @@ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "status": 1, "to": null, - "transactionHash": "0x3b722b706aed1b989f7b54fc7fa516ab88efcb2babb1779faf051e99f6cdebec", + "transactionHash": "0x0c80c84436a04ad433c702f375d68acc11d801a45eb63423ab7b4c7a85565875", "transactionIndex": 0, - "timestamp": 1564594713 + "timestamp": 1566238536 }, "Voting": { - "blockHash": "0xed146cf7ce0aaab172a088dcf10e5e7261fa96ba641b73982bf18f9392495fa7", - "blockNumber": 19, + "blockHash": "0x44444bed5e5502590c8ea549acc047fd9763fd83cb0635b2988066ed6da817fd", + "blockNumber": 653, "contractAddress": "0x5d60c93d8b48682cd387c8be7e9461b67ecfbea1", - "cumulativeGasUsed": 799273, + "cumulativeGasUsed": 799337, "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", - "gasUsed": 799273, + "gasUsed": 799337, "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "status": 1, "to": null, - "transactionHash": "0xc7d3ef136ba0c46063e88d5d6a138a8f6f132eeaac400ba448681ef7bd0b70d5", + "transactionHash": "0xe300eeb4694c187e94ff031cd0f08f880dab05311770e4c66ae9e4ea0022cca5", "transactionIndex": 0, - "timestamp": 1564594715 + "timestamp": 1566238539 }, "PosterRegistry": { - "blockHash": "0x76bf29a5929b849f920147435bb9dee2117330ed1fa5d7b93a78f6928eaee696", - "blockNumber": 21, + "blockHash": "0x1e3e243fc187edd1e2256f8c066f246f2eb5ded83b2b0ff4942295d44328a6fe", + "blockNumber": 656, "contractAddress": "0x7e6534b8205713246e91a14b462d2dbcac3ede17", - "cumulativeGasUsed": 588563, + "cumulativeGasUsed": 588627, "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", - "gasUsed": 588563, + "gasUsed": 588627, "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "status": 1, "to": null, - "transactionHash": "0xeb37fb1b22d9a23d57f10b549e54b21834a2e854a5b22431e0b5fa324f546227", + "transactionHash": "0xb48db614edc164c647a7acf32501f2286ac710e4ae41c679bbdc4eae40cd363b", "transactionIndex": 0, - "timestamp": 1564594717 + "timestamp": 1566238542 }, "ValidatorRegistry": { - "blockHash": "0x68eef0ea503ab0c7fcd14b9011f91d652ba76e6633bab32422d4dc2fd0ce9c0f", - "blockNumber": 23, + "blockHash": "0xbb817273679dd69525339770050da5d9f56e999639e3d36ec70231cbdbc5c9be", + "blockNumber": 660, "contractAddress": "0x301bb008f2a8a3cae9918743fe43428551392773", - "cumulativeGasUsed": 4390669, + "cumulativeGasUsed": 5038146, "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", - "gasUsed": 4390669, - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gasUsed": 5038146, + "logs": [ + { + "address": "0x301bb008f2a8a3cae9918743fe43428551392773", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000c521f483f607eb5ea4d6b2dfdbd540134753a865" + ], + "data": "0x", + "blockNumber": 660, + "transactionHash": "0x09c5195a3f77f868080fe912c01db665015e9f4ca96a3562ed0479845b37229f", + "transactionIndex": 0, + "blockHash": "0xbb817273679dd69525339770050da5d9f56e999639e3d36ec70231cbdbc5c9be", + "logIndex": 0, + "removed": false + } + ], + "logsBloom": "0x01000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000800000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000400000000000020000000000000004000000000000000000000000000000000000000000000000000", "status": 1, "to": null, - "transactionHash": "0x2f757cbf5d1bb6244289b0fe159a95c5eb1bdf67b349d5ca520aced9c8515f51", + "transactionHash": "0x09c5195a3f77f868080fe912c01db665015e9f4ca96a3562ed0479845b37229f", "transactionIndex": 0, - "timestamp": 1564594719 + "timestamp": 1566238546 }, "ZeroExV2SubContract": { - "blockHash": "0x7b755620576f8bb5ff09a4d40f179f276867b5ee5f6020de131df89c8b03bc2a", - "blockNumber": 25, + "blockHash": "0x39355bf2163c96ddae48bd9f229274acc53fe079b448bf226e3fad403d2e8d65", + "blockNumber": 664, "contractAddress": "0x0265e7d1b094787cb13174e18a1cefc41279a6c9", - "cumulativeGasUsed": 1776812, + "cumulativeGasUsed": 1776876, "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", - "gasUsed": 1776812, + "gasUsed": 1776876, "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "status": 1, "to": null, - "transactionHash": "0x71fd10374a0f80b372bbe4d9d50aff9b7a4578bc3bebd1bb37778c5630c3531b", + "transactionHash": "0xaacdb0574ab2fe3eddd87ff4b6234d01adbc6adfe30d92b727d8f5c15f3f7b88", "transactionIndex": 0, - "timestamp": 1564594721 + "timestamp": 1566238550 } } } From 6787d2d16540e1205292154cf58029aeab1664aa Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Mon, 19 Aug 2019 13:33:17 -0500 Subject: [PATCH 14/20] Migrating ropsten. --- packages/kosu-system-contracts/README.md | 18 +- .../src/deployedAddresses.json | 172 ++++++++++-------- 2 files changed, 104 insertions(+), 86 deletions(-) diff --git a/packages/kosu-system-contracts/README.md b/packages/kosu-system-contracts/README.md index b7082d0c..a0786fd0 100644 --- a/packages/kosu-system-contracts/README.md +++ b/packages/kosu-system-contracts/README.md @@ -17,15 +17,15 @@ Below are the deployed addresses for the core Kosu protocol contract system on t | Contract Name | Last Deploy Date | Deployed Address | | ------------------------------------------------------------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------- | -| [OrderGateway](./contracts/external/OrderGateway.sol) | 07/31/19 | [0x8c8c650a4b794623402357df8956278f5333e002](https://ropsten.etherscan.io/address/0x8c8c650a4b794623402357df8956278f5333e002) | -| [AuthorizedAddresses](./contracts/access_control/AuthorizedAddresses.sol) | 07/31/19 | [0x5281e5d8123e59857d99a78cbce96c021024ce46](https://ropsten.etherscan.io/address/0x5281e5d8123e59857d99a78cbce96c021024ce46) | -| [EventEmitter](./contracts/event/EventEmitter.sol) | 07/31/19 | [0x5e0aa07df76d4903766edf29ac2597ded90a9cda](https://ropsten.etherscan.io/address/0x5e0aa07df76d4903766edf29ac2597ded90a9cda) | -| [KosuToken](./contracts/lib/KosuToken.sol) | 07/31/19 | [0x99970336c078b5bebff7877d0b918937abe78633](https://ropsten.etherscan.io/address/0x99970336c078b5bebff7877d0b918937abe78633) | -| [Treasury](./contracts/treasury/Treasury.sol) | 07/31/19 | [0x83bf1084c42f2e310a60406a1d8b0e518d26f497](https://ropsten.etherscan.io/address/0x83bf1084c42f2e310a60406a1d8b0e518d26f497) | -| [Voting](./contracts/voting/Voting.sol) | 07/31/19 | [0xd91175d24d25fc3a63a8fad9ae49a6ef381d37e3](https://ropsten.etherscan.io/address/0xd91175d24d25fc3a63a8fad9ae49a6ef381d37e3) | -| [PosterRegistry](./contracts/poster/PosterRegistry.sol) | 07/31/19 | [0x339c8245af6a1bb23cb525a8c3b03639760ec006](https://ropsten.etherscan.io/address/0x339c8245af6a1bb23cb525a8c3b03639760ec006) | -| [ValidatorRegistry](./contracts/validator/ValidatorRegistry.sol) | 07/31/19 | [0x91a737e36a2cfd57f770971c7be9d33d4e790ed3](https://ropsten.etherscan.io/address/0x91a737e36a2cfd57f770971c7be9d33d4e790ed3) | -| [ZeroExV2SubContract](./contracts/sub-contracts/ZeroExV2SubContract.sol) | 07/31/19 | [0xe853c58ad71d10ae85cb65bfce7707f11e358e8b](https://ropsten.etherscan.io/address/0xe853c58ad71d10ae85cb65bfce7707f11e358e8b) | +| [OrderGateway](./contracts/external/OrderGateway.sol) | 08/19/19 | [0x6923508ce23c055bc6dac56cd4fbe81991f3224c](https://ropsten.etherscan.io/address/0x6923508ce23c055bc6dac56cd4fbe81991f3224c) | +| [AuthorizedAddresses](./contracts/access_control/AuthorizedAddresses.sol) | 08/19/19 | [0xe2476a0ffd3724f96bae24368922a512945997cf](https://ropsten.etherscan.io/address/0xe2476a0ffd3724f96bae24368922a512945997cf) | +| [EventEmitter](./contracts/event/EventEmitter.sol) | 08/19/19 | [0x16cb1e2b3d22a784c26d2e06788bf54153344de6](https://ropsten.etherscan.io/address/0x16cb1e2b3d22a784c26d2e06788bf54153344de6) | +| [KosuToken](./contracts/lib/KosuToken.sol) | 08/19/19 | [0xb47fd095e6387d78a0b72283e1aba18578506b51](https://ropsten.etherscan.io/address/0xb47fd095e6387d78a0b72283e1aba18578506b51) | +| [Treasury](./contracts/treasury/Treasury.sol) | 08/19/19 | [0xb5416eace99f62f03d67f213978045e414237bea](https://ropsten.etherscan.io/address/0xb5416eace99f62f03d67f213978045e414237bea) | +| [Voting](./contracts/voting/Voting.sol) | 08/19/19 | [0x09b9fa1250b9aa7fe7908eb4639c8fb7c43e3bcc](https://ropsten.etherscan.io/address/0x09b9fa1250b9aa7fe7908eb4639c8fb7c43e3bcc) | +| [PosterRegistry](./contracts/poster/PosterRegistry.sol) | 08/19/19 | [0xf293d08f3f642dd3aef8f219824cf8f553e347a3](https://ropsten.etherscan.io/address/0xf293d08f3f642dd3aef8f219824cf8f553e347a3) | +| [ValidatorRegistry](./contracts/validator/ValidatorRegistry.sol) | 08/19/19 | [0x6a1a5cb26e208e37f2a2c53fcc6e635857a348d6](https://ropsten.etherscan.io/address/0x6a1a5cb26e208e37f2a2c53fcc6e635857a348d6) | +| [ZeroExV2SubContract](./contracts/sub-contracts/ZeroExV2SubContract.sol) | 08/19/19 | [0xf2f7a7bb8984db3751333c895455f12825f2f9df](https://ropsten.etherscan.io/address/0xf2f7a7bb8984db3751333c895455f12825f2f9df) | ### Kosu Dev PoA diff --git a/packages/kosu-system-contracts/src/deployedAddresses.json b/packages/kosu-system-contracts/src/deployedAddresses.json index e7757e25..d148c017 100644 --- a/packages/kosu-system-contracts/src/deployedAddresses.json +++ b/packages/kosu-system-contracts/src/deployedAddresses.json @@ -2,165 +2,183 @@ "3": { "OrderGateway": { "status": 1, - "contractAddress": "0x8c8c650a4b794623402357df8956278f5333e002", - "cumulativeGasUsed": 1837734, + "contractAddress": "0x6923508ce23c055bc6dac56cd4fbe81991f3224c", + "cumulativeGasUsed": 596134, "from": "0xaa554d0c5ff879387fc234de5d22ec02983baa27", "logs": [], - "blockHash": "0x980c74fd69deecb03fa1d744397f644a70bfa90dad3feaa054e54385d7da1560", - "transactionHash": "0xbc828f9274acf04860bbf2b30f8d2b71c1dfbba1dbb3738afecd9351b8142d3b", - "transactionIndex": 10, - "blockNumber": 6099975, + "blockHash": "0xf74f99f09d69f6564f0def6f8b4442d924def7f31c06c488bcc42877e8105b84", + "transactionHash": "0xc202594b5b1c6f969f4eec48e469718927c9b085fd111ed9b62b34cc5cc2d23c", + "transactionIndex": 4, + "blockNumber": 6225030, "to": null, "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "root": null, "gasUsed": 471973, - "timestamp": 1564599199 + "timestamp": 1566238781 }, "AuthorizedAddresses": { "status": 1, - "contractAddress": "0x5281e5d8123e59857d99a78cbce96c021024ce46", - "cumulativeGasUsed": 660879, + "contractAddress": "0xe2476a0ffd3724f96bae24368922a512945997cf", + "cumulativeGasUsed": 1679500, "from": "0xaa554d0c5ff879387fc234de5d22ec02983baa27", "logs": [ { "type": "mined", - "blockHash": "0x1e28dcc8b82f394ba41ec835c261c482a1a00d0d5d32272d19761b0cbacfd073", - "transactionHash": "0xb32054d9c129ad55ac75683720d746ac812e16c4fc600a12dbc0a24bab6e82fb", - "transactionIndex": 4, + "blockHash": "0x6b1c077bf249530efc34264bd7d17707ffefdb080360b9b78e24881862a4670b", + "transactionHash": "0xc5c1603387aa3aa50e77540c52dcc84d10ef497a2e684f2caacc6231391fbfc8", + "transactionIndex": 11, "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000aa554d0c5ff879387fc234de5d22ec02983baa27" ], - "blockNumber": 6099978, - "address": "0x5281e5d8123e59857d99a78cbce96c021024ce46", + "blockNumber": 6225033, + "address": "0xe2476a0ffd3724f96bae24368922a512945997cf", "transactionLogIndex": "0x0", - "logIndex": 3, + "logIndex": 17, "removed": false, "data": "0x" } ], - "blockHash": "0x1e28dcc8b82f394ba41ec835c261c482a1a00d0d5d32272d19761b0cbacfd073", - "transactionHash": "0xb32054d9c129ad55ac75683720d746ac812e16c4fc600a12dbc0a24bab6e82fb", - "transactionIndex": 4, - "blockNumber": 6099978, + "blockHash": "0x6b1c077bf249530efc34264bd7d17707ffefdb080360b9b78e24881862a4670b", + "transactionHash": "0xc5c1603387aa3aa50e77540c52dcc84d10ef497a2e684f2caacc6231391fbfc8", + "transactionIndex": 11, + "blockNumber": 6225033, "to": null, - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000008000000000000000000000000010000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020040000000000000000800000000000000000000000000000000400000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000010000000000000000000000000000000002000000020000000000000000000000000000000000000000000000000000000000000000000", "root": null, "gasUsed": 326984, - "timestamp": 1564599256 + "timestamp": 1566238800 }, "EventEmitter": { "status": 1, - "contractAddress": "0x5e0aa07df76d4903766edf29ac2597ded90a9cda", - "cumulativeGasUsed": 892383, + "contractAddress": "0x16cb1e2b3d22a784c26d2e06788bf54153344de6", + "cumulativeGasUsed": 265922, "from": "0xaa554d0c5ff879387fc234de5d22ec02983baa27", "logs": [], - "blockHash": "0x49b3dc7c62356542638d9269d9cb1b150360fff37add4d42fb1f2617fd661265", - "transactionHash": "0xa66171fbf5ec0e0d142b42667a8c28cd86ebce15395d20633a6fe636fa45031f", - "transactionIndex": 3, - "blockNumber": 6099980, + "blockHash": "0xa50812986fac8a8de73ae09b5c20e0be9d071c58f9bfbe3b69db79bc66bb7750", + "transactionHash": "0xb497a9eb2001e65a6c31c040f7b1853721d068a056a5669484c4800fde8235d1", + "transactionIndex": 0, + "blockNumber": 6225035, "to": null, "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "root": null, "gasUsed": 265922, - "timestamp": 1564599272 + "timestamp": 1566238826 }, "KosuToken": { "status": 1, - "contractAddress": "0x99970336c078b5bebff7877d0b918937abe78633", - "cumulativeGasUsed": 3360086, + "contractAddress": "0xb47fd095e6387d78a0b72283e1aba18578506b51", + "cumulativeGasUsed": 3637452, "from": "0xaa554d0c5ff879387fc234de5d22ec02983baa27", "logs": [], - "blockHash": "0xd6d2d07362fa0722f1385f5c761f0e59fb7cee43d0a8d2438a17e3f3c18d615e", - "transactionHash": "0xc58ae2581e264bd5c2354a0598d59b3724a3d59ce194a4721a8d8d1d12b28ebe", - "transactionIndex": 5, - "blockNumber": 6099984, + "blockHash": "0xe35e6e11fb870e34a289d9cff69786c3ace10624e57e5aa7724634dea0c811eb", + "transactionHash": "0x0011cbd310ff36570327fdd3fa8db25943bc642bc6deb74f97d75effe5291da2", + "transactionIndex": 1, + "blockNumber": 6225037, "to": null, "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "root": null, - "gasUsed": 2985992, - "timestamp": 1564599306 + "gasUsed": 2991564, + "timestamp": 1566238837 }, "Treasury": { "status": 1, - "contractAddress": "0x83bf1084c42f2e310a60406a1d8b0e518d26f497", - "cumulativeGasUsed": 1408563, + "contractAddress": "0xb5416eace99f62f03d67f213978045e414237bea", + "cumulativeGasUsed": 1860615, "from": "0xaa554d0c5ff879387fc234de5d22ec02983baa27", "logs": [], - "blockHash": "0x51d25313dca924ec9074c92b26308d7dfbd083649704f5316d473dd836994baa", - "transactionHash": "0x5446e0dd97f3a07a26decd2d6caae7e044207e5ef728c79a61b38d62676c5f23", - "transactionIndex": 1, - "blockNumber": 6099986, + "blockHash": "0x519595f8d9515abb682389c2ab3c49e32002741930e2844043a2455203b01e52", + "transactionHash": "0xb17da1e780a16d8d7d23ad1db586c637ab1e9c32f8093043480d994de1e094d9", + "transactionIndex": 6, + "blockNumber": 6225039, "to": null, "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "root": null, "gasUsed": 1247144, - "timestamp": 1564599346 + "timestamp": 1566238886 }, "Voting": { "status": 1, - "contractAddress": "0xd91175d24d25fc3a63a8fad9ae49a6ef381d37e3", - "cumulativeGasUsed": 1452139, + "contractAddress": "0x09b9fa1250b9aa7fe7908eb4639c8fb7c43e3bcc", + "cumulativeGasUsed": 1496851, "from": "0xaa554d0c5ff879387fc234de5d22ec02983baa27", "logs": [], - "blockHash": "0xdd9d7e28f22b0dda231074efe3a71e76435fd856172b8cb2c3ae2a0967b81046", - "transactionHash": "0x38d03ac9a04977089b1df58a4d908e11c105ffcfc8ead6c016c9a06b51c2bc4b", - "transactionIndex": 5, - "blockNumber": 6099988, + "blockHash": "0xb62624283ff951888fda74651a090b09c61c01b324989ead6779ca897a919c77", + "transactionHash": "0xe57229bfb522a0dc6fce95ad0813cb7c0674138797e5b4467a778b5e482f8102", + "transactionIndex": 9, + "blockNumber": 6225041, "to": null, "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "root": null, - "gasUsed": 799273, - "timestamp": 1564599379 + "gasUsed": 799337, + "timestamp": 1566238952 }, "PosterRegistry": { "status": 1, - "contractAddress": "0x339c8245af6a1bb23cb525a8c3b03639760ec006", - "cumulativeGasUsed": 2171555, + "contractAddress": "0xf293d08f3f642dd3aef8f219824cf8f553e347a3", + "cumulativeGasUsed": 588627, "from": "0xaa554d0c5ff879387fc234de5d22ec02983baa27", "logs": [], - "blockHash": "0x36649f38259eab1d1bda8281036f6adab9823411e8819a765b3622fa4d1b6125", - "transactionHash": "0x8af0d22b5773c4e14e8765d0a464d7a502f460e79d995c9286ee42deed5ae321", - "transactionIndex": 6, - "blockNumber": 6099990, + "blockHash": "0x013bb5b07ab3727a1b0fd40c5dcb3e2d29e176c9f6779571ea4f3e0145b8c7a4", + "transactionHash": "0x7c822fb823da4e389c0760bb938fbf0ea97091ed023d3124e02f13d42ebf25cd", + "transactionIndex": 0, + "blockNumber": 6225043, "to": null, "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "root": null, - "gasUsed": 588563, - "timestamp": 1564599464 + "gasUsed": 588627, + "timestamp": 1566238960 }, "ValidatorRegistry": { "status": 1, - "contractAddress": "0x91a737e36a2cfd57f770971c7be9d33d4e790ed3", - "cumulativeGasUsed": 4391117, + "contractAddress": "0x6a1a5cb26e208e37f2a2c53fcc6e635857a348d6", + "cumulativeGasUsed": 5522473, "from": "0xaa554d0c5ff879387fc234de5d22ec02983baa27", - "logs": [], - "blockHash": "0xa9b664de0884f4a0529c68af7790b942db3b8e3f82bddfd21758f31c25eb214f", - "transactionHash": "0x24aed64d99206872f7885c5c72a53fc732920f68d7ee3c860c2e1e9fe295abdd", - "transactionIndex": 0, - "blockNumber": 6099992, + "logs": [ + { + "type": "mined", + "blockHash": "0xfcbbe119621515a1cc688b86e3806182b2e38c05fbee3169a933b9cbd517cc53", + "transactionHash": "0xe6be33bd70f64644471ef119e72944b62ceb243437841821ac2a9a7b381e5e0e", + "transactionIndex": 5, + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000aa554d0c5ff879387fc234de5d22ec02983baa27" + ], + "blockNumber": 6225045, + "address": "0x6a1a5cb26e208e37f2a2c53fcc6e635857a348d6", + "transactionLogIndex": "0x0", + "logIndex": 3, + "removed": false, + "data": "0x" + } + ], + "blockHash": "0xfcbbe119621515a1cc688b86e3806182b2e38c05fbee3169a933b9cbd517cc53", + "transactionHash": "0xe6be33bd70f64644471ef119e72944b62ceb243437841821ac2a9a7b381e5e0e", + "transactionIndex": 5, + "blockNumber": 6225045, "to": null, - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000010000000000000000000000000000000000000008020000000000000000000000000000000000000000800000000000400000000000000", "root": null, - "gasUsed": 4391117, - "timestamp": 1564599469 + "gasUsed": 5038146, + "timestamp": 1566238984 }, "ZeroExV2SubContract": { "status": 1, - "contractAddress": "0xe853c58ad71d10ae85cb65bfce7707f11e358e8b", - "cumulativeGasUsed": 2269843, + "contractAddress": "0xf2f7a7bb8984db3751333c895455f12825f2f9df", + "cumulativeGasUsed": 3558799, "from": "0xaa554d0c5ff879387fc234de5d22ec02983baa27", "logs": [], - "blockHash": "0x6162d1a4b65a44f2216a79c6faec3acaf83f46257a60a24c0e346d3e265c3b55", - "transactionHash": "0x34454866dc4c29b57435a424a5aff105294bd4809a59971904f45bb20532d260", - "transactionIndex": 1, - "blockNumber": 6099994, + "blockHash": "0x357fd32e4d0f931bd4a5b0e82a8130950319416a6524d760c87df7b69605e324", + "transactionHash": "0xe45e82575a8cec7f4e60fd9bc6d1f61493ec9f6df7276392e047cf21dbd6b4de", + "transactionIndex": 5, + "blockNumber": 6225047, "to": null, "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "root": null, - "gasUsed": 1776812, - "timestamp": 1564599481 + "gasUsed": 1776876, + "timestamp": 1566238998 } }, "6174": { From 0726ffba181f8a74d7851d90a729a660293496b5 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Tue, 20 Aug 2019 13:49:15 -0500 Subject: [PATCH 15/20] Moving tests that aren't deterministic now. --- packages/kosu.js/test/event_emitter_test.js | 6 --- .../kosu.js/test/validator_registry_test.js | 37 ------------------- 2 files changed, 43 deletions(-) diff --git a/packages/kosu.js/test/event_emitter_test.js b/packages/kosu.js/test/event_emitter_test.js index ca806f4b..68a0f195 100644 --- a/packages/kosu.js/test/event_emitter_test.js +++ b/packages/kosu.js/test/event_emitter_test.js @@ -7,12 +7,6 @@ describe("EventEmitter", () => { }); describe("getAddress", () => { - it("should return the configured address.", async () => { - await new EventEmitter({ web3Wrapper }) - .getAddress() - .should.eventually.eq(DeployedAddresses["6174"].EventEmitter.contractAddress); - }); - it("throw when using an unknown network", async () => { await new EventEmitter({ web3Wrapper: nullWeb3Wrapper }) .getAddress() diff --git a/packages/kosu.js/test/validator_registry_test.js b/packages/kosu.js/test/validator_registry_test.js index 4cd46f79..3901aa51 100644 --- a/packages/kosu.js/test/validator_registry_test.js +++ b/packages/kosu.js/test/validator_registry_test.js @@ -2,43 +2,6 @@ const DeployedAddresses = require("@kosu/system-contracts").DeployedAddresses[61 const decodeKosuEvents = require("@kosu/system-contracts").decodeKosuEvents; describe("ValidatorRegistry", () => { - it("should be configured properly", async () => { - await kosu.validatorRegistry.kosuToken().should.eventually.eq(DeployedAddresses.KosuToken.contractAddress); - await kosu.validatorRegistry.voting().should.eventually.eq(DeployedAddresses.Voting.contractAddress); - await kosu.validatorRegistry - .applicationPeriod() - .then(x => x.toNumber()) - .should.eventually.eq(10); - await kosu.validatorRegistry - .commitPeriod() - .then(x => x.toNumber()) - .should.eventually.eq(10); - await kosu.validatorRegistry - .challengePeriod() - .then(x => x.toNumber()) - .should.eventually.eq(20); - await kosu.validatorRegistry - .exitPeriod() - .then(x => x.toNumber()) - .should.eventually.eq(5); - await kosu.validatorRegistry - .rewardPeriod() - .then(x => x.toNumber()) - .should.eventually.eq(5); - await kosu.validatorRegistry - .stakeholderCut() - .then(x => x.toNumber()) - .should.eventually.eq(30); - await kosu.validatorRegistry - .maxRewardRate() - .then(x => x.toString()) - .should.eventually.eq(TestValues.oneEther.div(10).toString()); - await kosu.validatorRegistry - .minimumBalance() - .then(x => x.toString()) - .should.eventually.eq(TestValues.fiveHundredEther.toString()); - }); - it("should allow validator interactions", async () => { const pubKey = "0x010203"; From aa1aeeaa59dbcbce412b259a3b1ab1bfa0a8d567 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Tue, 20 Aug 2019 13:49:27 -0500 Subject: [PATCH 16/20] Fixing an issue when deployment is done in tests. --- packages/kosu.js/test/setup_test.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/kosu.js/test/setup_test.js b/packages/kosu.js/test/setup_test.js index 22858c02..f204f558 100644 --- a/packages/kosu.js/test/setup_test.js +++ b/packages/kosu.js/test/setup_test.js @@ -30,7 +30,7 @@ before(async () => { provider.addProvider(rpcSubprovider); } else { const ganacheSubprovider = new GanacheSubprovider({ - network_id: 6174, + network_id: 6175, mnemonic: process.env.npm_package_config_test_mnemonic, }); provider.addProvider(ganacheSubprovider); @@ -55,8 +55,16 @@ before(async () => { from: accounts[0].toLowerCase(), }; + if (!useGeth) { - await migrations(provider, { from: accounts[0].toLowerCase() }); + config.migratedContracts = await migrations(provider, { from: accounts[0].toLowerCase() }); + config.votingAddress = config.migratedContracts.voting.address; + config.treasuryAddress = config.migratedContracts.treasury.address; + config.kosuTokenAddress = config.migratedContracts.kosuToken.address; + config.eventEmitterAddress = config.migratedContracts.eventEmitter.address; + config.orderGatewayAddress = config.migratedContracts.orderGateway.address; + config.posterRegistryAddress = config.migratedContracts.posterRegistry.address; + config.validatorRegistryAddress = config.migratedContracts.validatorRegistry.address; } global.basicTradeSubContract = await kosuSubContractHelper(provider, { from: accounts[0].toLowerCase(), From 49b6186ada0d1a0e8b2b2e9336d9a438fb533eae Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Tue, 20 Aug 2019 13:58:36 -0500 Subject: [PATCH 17/20] Running prettier --- packages/kosu.js/test/setup_test.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/kosu.js/test/setup_test.js b/packages/kosu.js/test/setup_test.js index f204f558..6c28d34d 100644 --- a/packages/kosu.js/test/setup_test.js +++ b/packages/kosu.js/test/setup_test.js @@ -55,7 +55,6 @@ before(async () => { from: accounts[0].toLowerCase(), }; - if (!useGeth) { config.migratedContracts = await migrations(provider, { from: accounts[0].toLowerCase() }); config.votingAddress = config.migratedContracts.voting.address; From 589e12294f66a31019daa77cf2c971531c7c9d5c Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Tue, 20 Aug 2019 14:08:25 -0500 Subject: [PATCH 18/20] Adding 6175 addresses --- .../src/deployedAddresses.json | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) diff --git a/packages/kosu-system-contracts/src/deployedAddresses.json b/packages/kosu-system-contracts/src/deployedAddresses.json index d148c017..183081d2 100644 --- a/packages/kosu-system-contracts/src/deployedAddresses.json +++ b/packages/kosu-system-contracts/src/deployedAddresses.json @@ -349,5 +349,174 @@ "transactionIndex": 0, "timestamp": 1566238550 } + }, + "6175": { + "OrderGateway": { + "blockHash": "0xfa656403db529a4e4ed529818ed689fea066d9438e626056d1e10f6588bcdeba", + "blockNumber": 7, + "contractAddress": "0xb8fda6341f80cbae987ab5cd00dce502097e3152", + "cumulativeGasUsed": 471973, + "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", + "gasUsed": 471973, + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": 1, + "to": null, + "transactionHash": "0x488fa71bfffde09acdd54657496051ececa6458faafc03933038a2922188da74", + "transactionIndex": 0, + "timestamp": 1566328083 + }, + "AuthorizedAddresses": { + "blockHash": "0x90c54f969a1410abaec1875a0cf4b87fa461abdbc9295cb1ad74890bb4cf0372", + "blockNumber": 8, + "contractAddress": "0xe473109cb41c773fd2fe01e83c6e51356f9585d6", + "cumulativeGasUsed": 326984, + "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", + "gasUsed": 326984, + "logs": [ + { + "address": "0xe473109cb41c773fd2fe01e83c6e51356f9585d6", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000c521f483f607eb5ea4d6b2dfdbd540134753a865" + ], + "data": "0x", + "blockNumber": 8, + "transactionHash": "0x31ac1b05aa1e5deb254651e7ac24bbfd720d28dd6d8524a99e3f283d888017bc", + "transactionIndex": 0, + "blockHash": "0x90c54f969a1410abaec1875a0cf4b87fa461abdbc9295cb1ad74890bb4cf0372", + "logIndex": 0, + "removed": false + } + ], + "logsBloom": "0x00040000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000008008000000000000000020000000000000000000800000000800000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000020000000000000004000000000000000000000000000000000000000000000000000", + "status": 1, + "to": null, + "transactionHash": "0x31ac1b05aa1e5deb254651e7ac24bbfd720d28dd6d8524a99e3f283d888017bc", + "transactionIndex": 0, + "timestamp": 1566328083 + }, + "EventEmitter": { + "blockHash": "0x243cc7b24805dbf6762d5d146afa94f1e5ba5610be6371a22e16ab6974725439", + "blockNumber": 9, + "contractAddress": "0x2f3afeff0914f33769cdfbf3fcf870c33b26c311", + "cumulativeGasUsed": 265922, + "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", + "gasUsed": 265922, + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": 1, + "to": null, + "transactionHash": "0x03083b44120902eba5e1d5f10afd793cad2eead508028d9a5a7a7456c8c38a0d", + "transactionIndex": 0, + "timestamp": 1566328083 + }, + "KosuToken": { + "blockHash": "0x6ac24e2f9603a0171520de4b74ac5d1c7e06e4487d6eb4e0d14f396afc86e566", + "blockNumber": 10, + "contractAddress": "0xcc868306d6188b2b12757a7c3926042b4d3c4e29", + "cumulativeGasUsed": 2991564, + "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", + "gasUsed": 2991564, + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": 1, + "to": null, + "transactionHash": "0x9601e3fad1a31293f555da5b86919f367eaa75465057dcb1e3be74466295a012", + "transactionIndex": 0, + "timestamp": 1566328083 + }, + "Treasury": { + "blockHash": "0xc56608ec77235d431f2a1d7b44e9efb7cfa2f64888b7a4fe6e17ce6b8b697338", + "blockNumber": 11, + "contractAddress": "0x46572f9082dd2429c2c138fa9483a67d4f29d423", + "cumulativeGasUsed": 1247144, + "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", + "gasUsed": 1247144, + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": 1, + "to": null, + "transactionHash": "0x0c80c84436a04ad433c702f375d68acc11d801a45eb63423ab7b4c7a85565875", + "transactionIndex": 0, + "timestamp": 1566328083 + }, + "Voting": { + "blockHash": "0xc9993453ab902da19adbfed5d492e44750c2d09b2c9201f3a7d355dc5b5114b6", + "blockNumber": 12, + "contractAddress": "0x5d60c93d8b48682cd387c8be7e9461b67ecfbea1", + "cumulativeGasUsed": 799337, + "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", + "gasUsed": 799337, + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": 1, + "to": null, + "transactionHash": "0xe300eeb4694c187e94ff031cd0f08f880dab05311770e4c66ae9e4ea0022cca5", + "transactionIndex": 0, + "timestamp": 1566328083 + }, + "PosterRegistry": { + "blockHash": "0xd33086ca5f98baa07e63ccfe59c5a92d29d04b0e3c96cad56e771d15e0b27d24", + "blockNumber": 13, + "contractAddress": "0x7e6534b8205713246e91a14b462d2dbcac3ede17", + "cumulativeGasUsed": 588627, + "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", + "gasUsed": 588627, + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": 1, + "to": null, + "transactionHash": "0xb48db614edc164c647a7acf32501f2286ac710e4ae41c679bbdc4eae40cd363b", + "transactionIndex": 0, + "timestamp": 1566328083 + }, + "ValidatorRegistry": { + "blockHash": "0xed4e8a7bddb44d4f029fb20506c1cb2dbbbb4299d7df5555241be5c72f4337b9", + "blockNumber": 14, + "contractAddress": "0x301bb008f2a8a3cae9918743fe43428551392773", + "cumulativeGasUsed": 5037826, + "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", + "gasUsed": 5037826, + "logs": [ + { + "address": "0x301bb008f2a8a3cae9918743fe43428551392773", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000c521f483f607eb5ea4d6b2dfdbd540134753a865" + ], + "data": "0x", + "blockNumber": 14, + "transactionHash": "0xe826fccd76c6d28ed8d4feb99674cf14d681bfe7f0f601188659d2acd9e4fdfe", + "transactionIndex": 0, + "blockHash": "0xed4e8a7bddb44d4f029fb20506c1cb2dbbbb4299d7df5555241be5c72f4337b9", + "logIndex": 0, + "removed": false + } + ], + "logsBloom": "0x01000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000800000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000400000000000020000000000000004000000000000000000000000000000000000000000000000000", + "status": 1, + "to": null, + "transactionHash": "0xe826fccd76c6d28ed8d4feb99674cf14d681bfe7f0f601188659d2acd9e4fdfe", + "transactionIndex": 0, + "timestamp": 1566328083 + }, + "ZeroExV2SubContract": { + "blockHash": "0x1373f1bb0f76eae66d7806d39a08503d293ff62b5a37dc8a42cfa63d9128d8dc", + "blockNumber": 15, + "contractAddress": "0x0265e7d1b094787cb13174e18a1cefc41279a6c9", + "cumulativeGasUsed": 1776876, + "from": "0xc521f483f607eb5ea4d6b2dfdbd540134753a865", + "gasUsed": 1776876, + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": 1, + "to": null, + "transactionHash": "0xaacdb0574ab2fe3eddd87ff4b6234d01adbc6adfe30d92b727d8f5c15f3f7b88", + "transactionIndex": 0, + "timestamp": 1566328083 + } } } From 3c580a5c8807059256ef0062ff96677464b03fcc Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Tue, 20 Aug 2019 14:14:47 -0500 Subject: [PATCH 19/20] Running gen --- packages/go-kosu/abci/types/README.md | 357 ++++++++++++++++---------- packages/go-kosu/witness/bindata.go | 4 +- 2 files changed, 227 insertions(+), 134 deletions(-) diff --git a/packages/go-kosu/abci/types/README.md b/packages/go-kosu/abci/types/README.md index 26d5379e..13680332 100644 --- a/packages/go-kosu/abci/types/README.md +++ b/packages/go-kosu/abci/types/README.md @@ -1,239 +1,332 @@ # Protocol Documentation - ## Table of Contents -- [types.proto](#types.proto) - - - [BigInt](#kosu.BigInt) - - [ConsensusParams](#kosu.ConsensusParams) - - [OrderArgument](#kosu.OrderArgument) - - [OrderArguments](#kosu.OrderArguments) - - [Poster](#kosu.Poster) - - [Proof](#kosu.Proof) - - [RoundInfo](#kosu.RoundInfo) - - [SignedTransaction](#kosu.SignedTransaction) - - [Transaction](#kosu.Transaction) - - [TransactionOrder](#kosu.TransactionOrder) - - [TransactionOrder.MakerValuesEntry](#kosu.TransactionOrder.MakerValuesEntry) - - [TransactionRebalance](#kosu.TransactionRebalance) - - [TransactionWitness](#kosu.TransactionWitness) - - [Validator](#kosu.Validator) +- [types.proto](#types.proto) + - [BigInt](#kosu.BigInt) + - [ConsensusParams](#kosu.ConsensusParams) + - [OrderArgument](#kosu.OrderArgument) + - [OrderArguments](#kosu.OrderArguments) + - [Poster](#kosu.Poster) + - [Proof](#kosu.Proof) + - [RoundInfo](#kosu.RoundInfo) + - [SignedTransaction](#kosu.SignedTransaction) + - [Transaction](#kosu.Transaction) + - [TransactionOrder](#kosu.TransactionOrder) + - [TransactionOrder.MakerValuesEntry](#kosu.TransactionOrder.MakerValuesEntry) + - [TransactionRebalance](#kosu.TransactionRebalance) + - [TransactionWitness](#kosu.TransactionWitness) + - [Validator](#kosu.Validator) + + - [TransactionWitness.Subject](#kosu.TransactionWitness.Subject) + + + + +- [Scalar Value Types](#scalar-value-types) - - [TransactionWitness.Subject](#kosu.TransactionWitness.Subject) -* [Scalar Value Types](#scalar-value-types) -

Top

## types.proto + + ### BigInt - BigInt -| Field | Type | Label | Description | -| ----- | --------------- | ----- | ----------- | -| value | [bytes](#bytes) | | | + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| value | [bytes](#bytes) | | | + + + + + ### ConsensusParams - ConsensusParams -| Field | Type | Label | Description | -| --------------------- | ----------------- | ----- | ----------- | -| FinalityThreshold | [uint32](#uint32) | | | -| PeriodLimit | [uint64](#uint64) | | | -| PeriodLength | [uint32](#uint32) | | | -| MaxOrderBytes | [uint32](#uint32) | | | -| ConfirmationThreshold | [uint64](#uint64) | | | -| BlocksBeforePruning | [uint64](#uint64) | | | + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| FinalityThreshold | [uint32](#uint32) | | | +| PeriodLimit | [uint64](#uint64) | | | +| PeriodLength | [uint32](#uint32) | | | +| MaxOrderBytes | [uint32](#uint32) | | | +| ConfirmationThreshold | [uint64](#uint64) | | | +| BlocksBeforePruning | [uint64](#uint64) | | | + + + + + ### OrderArgument -| Field | Type | Label | Description | -| --------------- | ----------------- | -------- | ----------- | -| name | [string](#string) | | | -| datatype | [string](#string) | | | -| signatureFields | [int64](#int64) | repeated | | + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | +| datatype | [string](#string) | | | +| signatureFields | [int64](#int64) | repeated | | + + + + + ### OrderArguments -| Field | Type | Label | Description | -| ----- | ------------------------------------ | -------- | ----------- | -| maker | [OrderArgument](#kosu.OrderArgument) | repeated | | -| taker | [OrderArgument](#kosu.OrderArgument) | repeated | | + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| maker | [OrderArgument](#kosu.OrderArgument) | repeated | | +| taker | [OrderArgument](#kosu.OrderArgument) | repeated | | + + + + + ### Poster - Poster -| Field | Type | Label | Description | -| ------- | ---------------------- | ----- | ----------- | -| balance | [BigInt](#kosu.BigInt) | | | -| limit | [uint64](#uint64) | | | + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| balance | [BigInt](#kosu.BigInt) | | | +| limit | [uint64](#uint64) | | | + + + + + ### Proof - Proof is used to sign a Transaction and produce a SignedTransaction. -| Field | Type | Label | Description | -| ---------- | --------------- | ----- | ----------- | -| public_key | [bytes](#bytes) | | | -| signature | [bytes](#bytes) | | | + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| public_key | [bytes](#bytes) | | | +| signature | [bytes](#bytes) | | | + + + + + ### RoundInfo - RoundInfo -| Field | Type | Label | Description | -| --------- | ----------------- | ----- | ----------- | -| number | [uint64](#uint64) | | | -| starts_at | [uint64](#uint64) | | | -| ends_at | [uint64](#uint64) | | | -| limit | [uint64](#uint64) | | | + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| number | [uint64](#uint64) | | | +| starts_at | [uint64](#uint64) | | | +| ends_at | [uint64](#uint64) | | | +| limit | [uint64](#uint64) | | | + + + + + ### SignedTransaction - SignedTransaction. This is the only Transaction accepted by the node. It's composed by a Transaction and it's Proof. -| Field | Type | Label | Description | -| ----- | -------------------------------- | ----- | ----------- | -| proof | [Proof](#kosu.Proof) | | | -| tx | [Transaction](#kosu.Transaction) | | | + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| proof | [Proof](#kosu.Proof) | | | +| tx | [Transaction](#kosu.Transaction) | | | + + + + + ### Transaction - Transaction -| Field | Type | Label | Description | -| --------- | -------------------------------------------------- | ----- | ----------- | -| rebalance | [TransactionRebalance](#kosu.TransactionRebalance) | | | -| witness | [TransactionWitness](#kosu.TransactionWitness) | | | -| order | [TransactionOrder](#kosu.TransactionOrder) | | | + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| rebalance | [TransactionRebalance](#kosu.TransactionRebalance) | | | +| witness | [TransactionWitness](#kosu.TransactionWitness) | | | +| order | [TransactionOrder](#kosu.TransactionOrder) | | | + + + + + ### TransactionOrder - TransactionOrder contains a signed order from a poster, and modifies their remaining period limit. This transaction can originate from anywhere, so long as the address recovered from the poster signature has a non-zero balance of Kosu tokens (they are a poster). -| Field | Type | Label | Description | -| --------------- | ---------------------------------------------------------------------------- | -------- | ----------- | -| subContract | [string](#string) | | | -| maker | [string](#string) | | | -| arguments | [OrderArguments](#kosu.OrderArguments) | | | -| makerValues | [TransactionOrder.MakerValuesEntry](#kosu.TransactionOrder.MakerValuesEntry) | repeated | | -| makerSignature | [string](#string) | | | -| posterSignature | [string](#string) | | | + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| subContract | [string](#string) | | | +| maker | [string](#string) | | | +| arguments | [OrderArguments](#kosu.OrderArguments) | | | +| makerValues | [TransactionOrder.MakerValuesEntry](#kosu.TransactionOrder.MakerValuesEntry) | repeated | | +| makerSignature | [string](#string) | | | +| posterSignature | [string](#string) | | | + + + + + ### TransactionOrder.MakerValuesEntry -| Field | Type | Label | Description | -| ----- | ----------------- | ----- | ----------- | -| key | [string](#string) | | | -| value | [string](#string) | | | + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [string](#string) | | | + + + + + ### TransactionRebalance - TransactionRebalance -| Field | Type | Label | Description | -| ---------- | ---------------------------- | ----- | ----------- | -| round_info | [RoundInfo](#kosu.RoundInfo) | | | + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| round_info | [RoundInfo](#kosu.RoundInfo) | | | + + + + + ### TransactionWitness - TransactionWitness performs state modification of Stake Event transactions (modify staker's balance). This transaction should be originated from the validator nodes. -| Field | Type | Label | Description | -| ------------- | -------------------------------------------------------------- | ----- | ------------------------------------------------- | -| subject | [TransactionWitness.Subject](#kosu.TransactionWitness.Subject) | | | -| amount | [BigInt](#kosu.BigInt) | | | -| block | [uint64](#uint64) | | Block number of event | -| address | [string](#string) | | Ethereum address of validator/poster | -| public_key | [bytes](#bytes) | | Tendermint ed25519 key of validator (base64 enc ) | -| id | [bytes](#bytes) | | Hash of event data | -| confirmations | [uint64](#uint64) | | | + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| subject | [TransactionWitness.Subject](#kosu.TransactionWitness.Subject) | | | +| amount | [BigInt](#kosu.BigInt) | | | +| block | [uint64](#uint64) | | Block number of event | +| address | [string](#string) | | Ethereum address of validator/poster | +| public_key | [bytes](#bytes) | | Tendermint ed25519 key of validator (base64 enc ) | +| id | [bytes](#bytes) | | Hash of event data | +| confirmations | [uint64](#uint64) | | | + + + + + ### Validator - Validator -| Field | Type | Label | Description | -| ------------ | ---------------------- | ----- | ------------------------------------------------- | -| balance | [BigInt](#kosu.BigInt) | | balance in registry contract | -| power | [int64](#int64) | | vote power on tendermint chain | -| publicKey | [bytes](#bytes) | | raw 32 byte public key | -| ethAccount | [string](#string) | | | -| firstVote | [int64](#int64) | | | -| lastVoted | [int64](#int64) | | | -| lastProposed | [int64](#int64) | | | -| totalVotes | [int64](#int64) | | | -| active | [bool](#bool) | | true if voted on last block | -| genesis | [bool](#bool) | | true if val was in genesis.json = 5; | -| applied | [bool](#bool) | | true if a) in genesis or b) through endblock = 5; | + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| balance | [BigInt](#kosu.BigInt) | | balance in registry contract | +| power | [int64](#int64) | | vote power on tendermint chain | +| publicKey | [bytes](#bytes) | | raw 32 byte public key | +| ethAccount | [string](#string) | | | +| firstVote | [int64](#int64) | | | +| lastVoted | [int64](#int64) | | | +| lastProposed | [int64](#int64) | | | +| totalVotes | [int64](#int64) | | | +| active | [bool](#bool) | | true if voted on last block | +| genesis | [bool](#bool) | | true if val was in genesis.json = 5; | +| applied | [bool](#bool) | | true if a) in genesis or b) through endblock = 5; | + + + + + + + ### TransactionWitness.Subject -| Name | Number | Description | -| --------- | ------ | ----------- | -| POSTER | 0 | | -| VALIDATOR | 1 | | + +| Name | Number | Description | +| ---- | ------ | ----------- | +| POSTER | 0 | | +| VALIDATOR | 1 | | + + + + + + + + + ## Scalar Value Types -| .proto Type | Notes | C++ Type | Java Type | Python Type | -| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------- | ----------- | -| double | | double | double | float | -| float | | float | float | float | -| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | -| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | -| uint32 | Uses variable-length encoding. | uint32 | int | int/long | -| uint64 | Uses variable-length encoding. | uint64 | long | int/long | -| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | -| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | -| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | -| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | -| sfixed32 | Always four bytes. | int32 | int | int | -| sfixed64 | Always eight bytes. | int64 | long | int/long | -| bool | | bool | boolean | boolean | -| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | -| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | +| .proto Type | Notes | C++ Type | Java Type | Python Type | +| ----------- | ----- | -------- | --------- | ----------- | +| double | | double | double | float | +| float | | float | float | float | +| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | +| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | +| uint32 | Uses variable-length encoding. | uint32 | int | int/long | +| uint64 | Uses variable-length encoding. | uint64 | long | int/long | +| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | +| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | +| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | +| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | +| sfixed32 | Always four bytes. | int32 | int | int | +| sfixed64 | Always eight bytes. | int64 | long | int/long | +| bool | | bool | boolean | boolean | +| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | +| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | + diff --git a/packages/go-kosu/witness/bindata.go b/packages/go-kosu/witness/bindata.go index e5496738..cdd61f2a 100644 --- a/packages/go-kosu/witness/bindata.go +++ b/packages/go-kosu/witness/bindata.go @@ -77,7 +77,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _Node_modulesKosuSystemContractsSrcDeployedaddressesJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x9c\x4d\x8f\x5c\xc9\x71\xae\xf7\xf3\x2b\x08\xae\xef\x22\xe3\x2b\x23\x62\x76\xba\x17\x82\xee\xc5\x35\x6c\xc3\x96\xb5\xb0\xa1\x45\x44\x46\xe4\x88\x10\xc9\x16\xc8\xa6\x3c\xb2\xa0\xff\x6e\xf4\x7c\x70\x86\x55\xa7\x9b\x35\x64\xf7\x0c\x60\xd5\xbb\x61\xb3\x2a\x3b\xe3\x54\x56\xe6\x93\x91\x71\xde\xd3\x7f\xfd\xe2\xd9\xb3\x67\xcf\x9e\xd3\xf3\x2f\x9f\x7d\xfb\xe3\x37\xff\xfd\xa7\x37\xd5\x6f\x7e\x13\xb7\xfd\x9f\xf1\x97\x0f\xde\xf9\xe6\xdd\xb7\xb7\x71\xfb\xee\xed\xf3\x2f\x9f\xc1\xff\xfa\xf0\x8d\x75\xf3\xfa\xf6\x4d\xac\xdb\x5f\x55\xbd\xe9\xb7\x77\x2d\x9e\x8f\xaf\x6d\xd9\x9a\x32\x82\x53\x9d\x27\x12\x0f\x24\xd1\xda\xe6\x32\x51\x6d\x0b\x11\xf5\x18\xf8\xfc\xb4\xb3\x77\xaf\xde\xbd\x8c\xdb\x17\x7f\xee\xdf\xc4\xdb\x7f\x7b\xdb\x75\x17\xd0\x48\x95\xf8\xa4\xe5\x7e\x73\xf3\xea\xdb\x58\x11\x22\x5c\x63\xc9\xde\xa6\x4e\xa6\x7b\x21\x71\xb5\x14\x62\xaf\x81\x6e\x94\x11\xa8\xa7\xb1\x5e\xde\x7c\x75\x77\xb5\xff\xf1\xfb\x93\xd7\xf3\xe5\xcd\xfa\xe3\xff\x8d\xb7\x7f\xf8\xb6\x7b\xb7\xb1\x94\x77\x4d\xaf\xee\x95\x83\x76\x40\x29\x33\xb9\xee\xc9\x1c\x3a\x72\x87\x8f\x8a\xa2\xdd\x11\x43\xb8\x85\xc9\xa4\xb4\x02\x64\x8e\xd3\xb0\xb7\x6f\xe2\xf5\xdb\x58\xb7\x2f\x6e\x5e\xff\x10\x24\x97\xa1\x6d\x47\xe5\x58\x7b\xb0\xcd\x91\xb9\x31\x69\x6c\x2b\x4c\x85\x05\xb5\x33\x03\x2a\x93\x94\x2c\x76\xaf\x72\x12\x48\x03\xc6\xa2\x7c\x20\xc8\xff\x7b\x5d\xfd\xf5\xdd\x30\x8e\xa3\xcf\xf9\x8f\xef\x5e\x65\xbf\x79\xfe\xe5\xb3\x39\xdc\x5d\xe5\xb4\x9f\x9b\xe7\x5f\x3e\x7b\xfd\xee\xe5\xcb\x83\xb1\xfb\xdf\x2f\x6f\xbe\xff\x0a\xc6\x55\x7f\xd7\x3a\x9d\x7e\x6f\x6e\x6e\x6e\x8f\x27\xce\x57\xef\x97\x35\x2b\xb8\xd2\xe9\x7c\x7b\xf1\xaa\xdf\xde\xc6\xab\x3f\xdd\x4d\x58\x99\x2c\xee\xe0\xfe\xbe\xcd\xdf\x7e\x68\xfe\xfc\x57\xef\x6e\xff\x70\xf3\xe6\xc5\x7f\x75\x7d\x47\x9e\x7e\xfb\xb9\xd4\x12\x34\x68\x29\x03\xa4\x16\x37\xd1\x72\x0f\xb5\x95\xab\x7d\xae\x81\x30\x90\x57\xf3\xbc\x84\x5a\x73\x0e\x53\x7f\x32\x68\x7d\xf0\xea\x9d\xfe\x7a\xf6\xca\xb7\x03\xfa\x97\x3f\xf5\x5d\xc4\x57\x2f\x5e\x77\x9d\x74\xf6\xbe\xd1\x09\xf1\xa0\xd1\x6a\x2d\x4b\xc3\x4d\xce\x19\x0c\xbd\x8c\x64\xe1\x84\xc5\x86\x01\x31\x46\x8d\x92\x22\x44\xc5\x02\xd7\x09\x39\x56\xc6\xda\x35\x94\xee\x0b\x73\x4c\x3e\xc2\x21\x5c\xbe\x00\x3d\x4a\x24\x96\xca\x34\x52\x1c\xa5\x3c\x63\x19\x60\xc3\x5c\xbc\xd7\x1c\x23\x00\x2b\xd7\x08\xe4\x8c\x9c\x6d\xb8\x4f\xc9\x77\x14\xec\x7b\x02\xf2\x7d\x4d\x6f\xfe\xf4\x62\x1d\x8f\xea\xfb\x36\xe3\x6b\xcb\x1e\x43\x7d\x09\xc1\x14\x07\x06\x62\x5e\x05\xbb\x46\xf0\x46\x63\x70\x76\xdd\xae\x88\x41\x15\xb1\x9b\x92\xc1\xe6\x9e\x39\x59\xb4\x4f\xd7\xc8\x49\xef\x8f\xbc\x02\x2f\xec\xfd\xe2\x59\x78\xd8\xf9\xef\x1f\x9a\x4e\x27\x1b\x8b\xdd\xd3\x36\x1e\x61\xfd\xbd\xef\xec\x47\xdf\xf9\x3f\xdc\x7c\xf5\xfd\xd7\x7e\xf7\xf9\xef\xfb\x8d\x97\x3f\x34\xa3\x7b\x9a\xbc\xe9\x57\x37\x7f\xfe\x66\x49\xef\x78\xf9\xb6\xef\x69\x55\x71\x1b\xdf\xc6\x3a\x1f\xab\xbf\x7d\xf1\xc0\xa8\x3d\xf1\xe2\xfb\x59\x16\xdd\x05\x8b\xed\x92\x49\xf1\x74\xd9\x86\x1d\xbd\x88\x3f\xbd\x9f\x8b\x05\xdf\xfd\xcb\x0f\xb6\x3a\xba\x82\xc3\x4b\xfd\xb1\x1e\xee\xf2\x31\x04\xf7\xbc\x7e\xff\xa5\xdd\xf7\x1b\xe7\x7a\x8c\x41\xff\x94\x6c\x83\x70\xba\x9d\xce\xc9\x83\x6c\x03\x65\x1e\x66\x1b\xbf\xfe\x73\xbf\xbe\xfd\xf5\xab\x17\xb7\xb7\xdf\xcc\xdf\xcf\x4b\x33\x7a\x44\x0c\xad\xad\xb3\xd8\x07\xe9\x9c\x5d\x1b\x3d\x16\x8a\x6b\x75\xf9\x08\x5f\x15\x97\xa4\x19\xe6\x48\x76\x9a\x45\xfd\x6c\x67\x23\xf6\xa4\x5a\xba\x26\x92\x4c\x61\x9c\x64\xe5\x38\xbd\x7c\x25\x24\xc8\xa0\x39\xf6\xde\xa4\x51\xc5\xc5\xb8\x13\x36\x4e\xd0\x5d\x73\x02\x4e\xb9\x08\x56\x31\x27\x28\xec\xdc\xd2\x6b\xf4\x28\x60\x4c\xc6\x39\x35\x6c\xa1\xad\xb2\xd9\xb9\x1a\x84\x5c\x0a\xc7\x24\x8a\xb9\x7b\xd2\xdc\xc1\x32\x08\xf6\x05\xb0\x3a\x1d\xc0\x03\x58\xd9\xe9\xf1\xe9\x7a\x34\xba\xea\x02\x7d\x0a\xac\x70\x8a\x23\x5e\x00\x2b\xc5\x43\x58\xfd\xff\x9b\xb7\xef\x7e\x7b\xf3\xc7\x7e\xfd\xb9\xa4\xba\xdb\xa4\x07\xd1\x5c\x43\x2d\x25\x3b\xf7\x56\x53\xad\x91\x0e\xe6\xa4\x91\xad\x36\xe9\x2c\xe9\x38\x22\x15\xd1\x1c\xc3\xe6\x2f\x85\xaa\x9a\x85\x77\xf9\xd1\xc4\x1d\x43\x11\x37\x90\xc9\x96\xa5\x13\xf6\x68\xf1\x9d\xba\xba\x99\x6a\x84\x15\x32\x59\x80\x36\x6d\x5a\x60\x35\x41\xfa\x22\x54\x2d\xb1\x68\x14\x83\xc6\xc9\x59\xb2\x90\x84\x63\x88\x5b\x89\x27\x29\x72\x50\x89\xaf\x06\xe7\x60\x45\x08\x2b\x2b\x28\xc0\x44\xeb\x7c\x28\xc8\xf7\xa8\x3a\xad\xd0\x1c\xa1\xea\x6c\x9f\xbb\xa2\xea\xaa\x8f\xeb\x93\x50\xe5\x76\x07\xa2\x8f\xb3\x8a\xc6\x71\x62\xf5\xdb\x37\x1d\x6f\xdf\xbd\xf9\xfc\x8a\x33\xe5\x86\x61\xbc\x18\x37\x36\xc1\x88\x39\x78\xcc\x80\xb2\x1c\x2d\x60\x85\x73\xb3\x9f\xe1\xe3\xb0\xe2\xcc\xc3\x64\xfe\x62\x59\x95\x40\xa1\x10\x50\xad\x70\xe4\x5e\x3e\x94\x97\x63\xe2\xa4\x61\xa5\xb5\xb3\x86\xd1\x64\xd7\xc1\x5b\x08\x66\xb1\x52\x95\xd1\xf4\xbb\x03\xe3\x59\xde\x78\x88\x2a\x61\x9e\x3d\xaa\x5c\x37\xc5\xd0\xc0\x59\xbd\x0a\x6b\xae\x88\xd6\x1e\xcc\x38\xb4\xa5\xb7\xa2\x2d\xf5\x98\x90\x64\x35\x71\xea\x5c\xb2\xf1\xa1\x73\xe6\xfb\x8a\xf3\x05\xa8\x3a\xdd\x0f\xae\xa8\xba\xea\x02\x7d\x0a\xaa\x00\x59\x81\x2f\x38\x03\x12\x1f\xa3\xea\x77\x37\xb7\x2f\x5e\x7f\xf5\xb9\xa0\x2a\x07\x50\x29\xe4\x42\xd9\x8b\x62\x52\xd8\x8e\xf2\x68\xf6\x98\xbd\xc9\xa0\x48\xfb\xa2\x9c\x0a\x58\x10\xe8\xe9\xaa\xcc\x1f\xcb\xa9\xca\x4b\x1b\x6d\x23\xe6\xa8\x0a\x24\x18\xca\xbd\x9b\x42\xa1\x75\x32\xc9\x2e\x93\x09\x8a\x69\x2b\x71\x51\x34\xc6\xf0\xa9\x69\x30\xce\xeb\xe8\x87\xa0\x22\xab\x41\xb1\x3c\x06\xbb\xea\x30\x4f\xa8\x2d\x16\x5c\x3e\xac\x01\x16\x0c\xd9\x7b\xed\x65\x1d\x35\xd7\x80\x79\xd7\x76\xa6\xc0\xc2\x5c\x7c\x49\xad\xea\x92\x9c\xea\x67\xab\x55\x5d\xf5\x3f\x49\x9f\x02\x2a\xbd\x3b\xd9\x5d\x70\x67\x8c\xf4\xf8\xce\xd8\x3f\xdf\xbc\xbd\xed\x37\xff\xd2\x5f\xbd\x78\x7b\xfb\xf9\x89\x15\x91\x2f\x43\x96\xd8\x33\x20\x13\x69\xa5\xa0\x84\x2d\xca\x41\x93\x5c\xe7\xe8\x35\xc6\x45\x37\xc5\x10\x14\x44\x4e\x97\xdb\xcf\xc6\x2b\x9a\x93\x7d\x93\xa1\x78\x47\x42\x41\x56\x18\x1a\x0c\x9a\x7b\x46\x45\xba\x21\x31\x40\x9b\x81\x87\x4e\x49\x9a\x88\x3b\xb8\x20\x27\xe0\x65\xe5\x2a\x8b\x3d\x0a\x31\x45\x95\x16\x37\x70\x9b\x4e\xa9\x11\x3c\xb9\x34\x64\xe0\xe6\x39\x5a\xbd\xdc\x65\x39\xda\xec\x66\xac\xee\x92\x68\x42\xb8\x80\x57\xa7\x49\xd3\x01\xaf\xfc\x5a\xae\xba\xea\x13\xf4\x29\xbc\x12\x3b\x38\x2d\x1d\xf0\x8a\x27\x1f\xe7\x55\xf1\xf2\x45\xc5\xed\xcd\xa3\x21\xcb\x21\xf4\x2e\x85\x9a\x81\x6b\x97\xe8\x56\x1d\xae\xb0\x34\xdb\x8b\xa8\xb8\xd5\x47\xd7\x45\x29\x16\x93\x03\x80\xfe\x52\xc8\x0a\xcf\x39\xb9\x7a\x98\xf1\xe6\x18\x82\xbe\xa6\xc5\x56\xf5\x91\xce\x58\x49\x69\x4d\xdb\x30\xab\x76\x21\xa8\xd8\x26\x58\x28\x9d\x08\xfc\x50\xf1\xfb\x87\x20\xc8\xd1\x35\xb9\xdc\x71\x4c\x53\xdc\x6a\x26\x4b\x96\x62\x08\xed\xa5\x84\x8e\x63\x4f\x2b\xed\xa6\x65\x73\x2c\x6c\x68\xdf\x8d\x2e\x91\x75\xea\x2b\x38\x42\xd6\x05\xe6\xa3\xf3\x2a\xc2\x15\x59\x57\x7d\x5c\x9f\x64\x3e\x3a\x5c\xd5\x87\xcc\x3a\xce\xb1\xfe\xbd\xdf\xdc\xfc\xfa\xeb\xdf\xe1\xbf\xbe\xcb\xff\xf3\x1d\x82\x3e\x97\x5a\x6d\x42\x4b\x2c\x4a\xa1\x60\x44\x9b\xac\x9c\x92\x7b\xb5\xea\xd0\x0d\xd0\x24\xd6\x76\x76\xa0\x39\x4c\xb4\xbe\xb9\xdd\xf9\x8b\x55\xb0\x26\x4c\x2c\x08\xce\x29\xc1\xbc\x11\x61\x86\xfa\x9a\x3b\x7a\x51\xac\xd8\x46\x9b\x27\x8a\xc6\x1c\x81\xbc\x46\x13\xcf\xa2\xc6\x29\x8b\x52\x2e\x4b\xb4\x88\x59\xd8\xe6\xac\xc5\x0b\x3d\x45\x99\x24\x18\x39\x24\xf6\x86\x3b\x52\x72\x16\xdb\xf0\x10\x77\x05\x1f\xbc\x59\x32\x71\x08\x61\xe1\x83\xc6\xcc\x9f\x50\xc1\xf2\x6b\xb1\xfd\xaa\x4f\xd0\x27\x55\xb0\x54\xa7\xc1\x05\xc5\x76\x36\xf8\x81\x5a\xdf\xfc\xf4\x1d\xbb\x9e\x4f\x50\xfe\x29\xb6\xef\xb3\x74\x44\x2c\x70\x23\x75\x32\x62\x25\xe7\xea\x1c\x45\x73\x30\x80\xbb\xd6\x0a\xe4\x91\x4b\x1a\x13\xa6\xa7\xef\xa8\x96\x9e\xad\x8c\xb6\xe4\x2c\xe3\xfa\x70\x41\x9d\xf2\xf8\x10\x93\x69\xbb\x62\x12\xc3\xb6\xb1\x32\xda\x4d\x23\x65\xd5\x18\xb5\x5a\x06\x0e\xd7\x26\x90\x8b\xac\xe5\x87\x1e\xd4\x1f\x28\xb9\x04\x61\xb3\xd1\x9e\x43\x3b\xa5\x83\x6b\x26\xd6\xae\x2c\xe1\x01\xc4\x2a\x14\x76\x6e\x63\xf8\x88\xc9\xf5\x3e\x88\x5e\x09\x71\xd5\x8f\x74\x3a\xab\xee\xcd\x26\xee\xdb\x71\x8e\xad\x7f\x89\x73\xcb\xa2\x85\xde\x89\x1b\x5b\x61\xb5\xda\x56\x59\xea\x8b\x53\xa3\x08\x15\x32\xbd\xdc\x6c\x73\xd6\xb0\xed\x1c\x7b\x97\xdb\x5a\x97\xec\x9a\x67\xa5\x87\x33\x40\xb1\x0e\x3a\x4c\xab\x2e\x32\x75\x9f\x9a\x90\x20\x05\x36\x7b\x1a\x17\x0c\x4a\x75\x44\x94\xa9\x7b\xb8\x91\x3b\x7b\x09\x63\x56\xae\x9d\xb0\x92\xad\x16\x8b\x69\xa0\xc7\x16\x71\x3e\x5b\xbd\x1f\x32\xe9\xb4\xb8\x7e\x9c\xba\xb1\x12\x0c\x5f\xc9\xb0\x54\x69\x17\xee\x1e\xd0\x46\x6b\xb6\x00\xc9\xdc\x2e\x26\x75\x51\x8d\xec\xd0\xa9\xf6\x98\x4c\x3a\x0c\xf0\x53\x7d\xe5\xf1\x08\x1f\xff\x87\x09\xf2\x77\x6b\xc0\xbe\xf8\xdb\x3c\xec\xfc\x3e\x03\xf6\x8f\xcc\xc8\xf7\xb4\x78\x70\x8e\xbf\x6f\x75\x08\x90\x29\x4a\x4a\x80\x1b\x72\xb0\x90\xcc\x14\x36\x9f\x36\x5c\xc7\x60\xc6\x3d\xa4\x7d\x83\xc8\x92\x69\x93\xb2\xa3\xbd\x26\x0d\xfa\xe6\xfe\x8f\x9d\x4e\xcc\xa3\x60\xf7\x80\xe4\xc3\xab\x7f\x32\x00\xbc\x0f\xf3\x23\x73\xf8\x7d\x57\x72\x62\x0e\x3f\x6b\xf4\xb0\xf5\xfb\x7c\xc3\xff\x89\xe6\xde\x8f\x9a\x85\x1f\x5b\xe7\x46\x5f\x3b\xb8\x8a\x07\x7d\xcd\xf7\x5d\xf3\xd3\xfb\x9a\x0f\xf4\x68\x03\x78\xfa\x91\x3f\xe5\xd3\x3c\xcd\x86\xff\xc8\xeb\xf5\x93\x37\x7c\x39\xdc\xf0\x1f\xf6\x55\x9f\x2c\x74\xac\x2d\xd5\xa8\x28\xa3\x65\xf5\xc8\xb9\x6d\x51\x38\x55\x12\xf5\xd8\x32\x2c\xc8\x49\x5c\x2a\x22\x91\xa5\x78\x04\x8c\x40\xc9\x61\x0b\xfc\xe1\x9d\x1e\x2e\xaa\xd2\xe0\xa6\xd8\xbd\xf7\x70\xe0\x4d\xa4\xd3\x57\xed\xdc\xb4\xd7\x36\x1d\x8b\x28\x71\x2e\x82\xb3\xdb\x38\x87\x55\x9a\x23\x9f\xe7\x63\x6e\xf5\x87\x01\xae\xc7\x8f\xab\x2e\xd0\x13\x1d\x3f\x54\xda\x83\x16\x99\x2b\xe4\xb0\xb4\x15\x85\xd8\x1d\x96\xca\xab\x4b\xba\xb7\x1b\xb6\x4d\x23\x44\x6c\x86\xd1\x59\xb0\x14\xc1\x56\x5e\xe2\xe6\xb8\x88\x46\x7a\x48\xa3\x07\x8c\xd3\x27\x28\x4a\x5a\x73\xa8\x07\xe8\x04\x23\xd1\xb5\xcd\x84\xc2\xd7\x08\xdf\x06\xed\x12\x0b\x2d\x2c\x7d\x7b\x00\x99\xaa\x4c\x18\xb8\x97\xd8\xb2\xe9\xeb\x23\x28\x3a\x4d\xcf\x0f\x51\xb4\xd6\xdd\x20\x8d\x59\x13\xcc\x12\x13\x50\x45\x43\x17\x39\xce\xc1\x98\x5c\xb4\xb8\xf1\x0c\x7b\x87\x28\x3a\xf4\x71\x3e\x2a\x8b\x0e\x23\x5c\x61\x74\xd5\x05\x7a\x1a\x18\xd1\x1a\x4e\x43\x55\x68\x69\x53\x99\x13\x5b\x72\x8e\x0d\x4d\x0a\x5b\xe7\x28\x10\xf7\x9d\xd2\xb0\x0d\xbc\xcc\x39\x60\xc5\x92\xc2\x2d\x70\xb6\x88\x3f\x11\x46\x30\x0e\x61\x74\xbf\x33\xfa\xf4\x2f\x54\x68\x39\x01\x52\xd0\x50\xec\x60\x8c\x95\x02\x3c\x51\x56\xc8\x22\x4c\x69\x56\xd6\xd9\x1a\x33\x4d\x05\xe6\x8a\x15\x5b\x29\x5d\x9a\x90\x3f\xc2\xa2\x8b\xaa\xb2\x3c\x45\x71\xfb\x30\xac\x42\x46\x5f\xb8\x80\x6c\x87\xb3\x51\x4c\x2d\xde\xe8\xc5\xe7\xb6\xe1\x43\x57\xe3\xa1\x51\xf3\x31\x59\x74\x1c\xe1\xca\xa2\xab\x2e\xd0\x13\xb1\x28\x15\x31\x75\xcc\xe8\x82\x74\xf3\xad\x29\xbc\x97\xee\x10\x98\x91\x66\xbd\x57\x62\x46\x26\xa8\xfa\x8e\x3d\x04\xda\x7d\xcf\x55\x9d\xfd\x68\x2c\x3a\xae\xcb\xde\x67\x7d\x3e\x21\x51\x17\xf0\x5c\x5b\x57\x8f\x88\x48\x50\x8c\x61\x56\x6b\xc3\x68\x69\xc5\x09\x3b\x7c\x66\x4c\x86\x54\x72\xc3\xdc\x60\xdb\xc9\x91\x5d\x76\x9c\xdd\x6e\x3e\x21\xd1\x45\xb5\x58\xa9\x39\x96\x53\x59\xb2\x4d\xc3\x55\x64\xba\x2c\x5b\xdb\x79\x42\x4e\xed\xb5\xb3\xe3\xa2\x03\xda\xa1\x13\xf3\x31\x41\x74\x18\xe0\xca\xa1\xab\x2e\xd0\xd3\x70\x68\x69\x51\x6f\xa0\x99\x31\x16\xcf\x31\xa9\xcd\x4a\x6a\xde\x9d\x62\xc2\xf6\xdc\x40\x77\xc7\xb5\x58\x3c\x46\x06\xdf\x2d\x32\xe8\xad\x59\x23\x75\xd4\x63\x95\x8b\xe0\xb8\x5c\xf4\x31\x6b\xf3\x09\x8f\x74\xe6\x46\x0f\x71\xf4\x34\xf6\xed\x38\x80\x95\x49\x32\xbd\xba\x11\x40\x89\x46\x17\xec\x90\xd2\x74\x0a\xb5\x3d\x1d\xad\xa3\x7b\xfa\xd9\xfd\x9a\x0f\x79\x84\x17\x15\x8c\xb4\xa7\x10\xa7\xe1\x10\x05\x42\x9e\xed\x10\xc0\xc9\x13\x0b\x2b\x57\x2c\xea\x6a\xb8\xe8\xc1\xb4\x43\xa7\xe5\x63\xf2\xe8\x30\xc0\x95\x47\x57\x5d\xa0\xa7\xe1\x51\x27\xe9\x4e\x48\xc4\xf2\x40\x2a\xd1\x0d\x23\x85\xbd\x85\x13\xc1\x88\x03\xdb\x84\x43\x12\x91\x09\x7a\xa4\xec\x20\xe4\x2d\x3c\xf1\xdc\xc1\xf6\xa9\x3c\x3a\x2e\x18\x5d\x60\x5d\x3e\xb5\xc6\x59\xf7\x1e\x1d\x32\x28\x72\x2c\xdd\xab\x80\xd3\x07\xc0\x76\xa8\x29\x98\xa1\xb3\xe7\x24\xca\x48\x42\x46\x2c\xae\x85\xbb\xc6\x6a\x5f\xe3\xcc\xd0\x7b\x82\xa4\xd3\xb5\x7b\xfc\x48\xc7\x80\xcc\x31\x6c\x63\x58\xd0\x8a\x76\x07\x53\xa6\xdd\x4c\x8c\x26\x02\xe4\xa8\xe7\x7f\x4b\xe8\x1e\x7f\xf4\x98\xf3\xfe\x47\xd0\x1e\xc1\x43\x73\x18\xe1\x0a\xa5\xab\x2e\xd0\xd3\x40\x09\xb7\x8a\xae\xdc\x52\x90\x39\x91\x19\xcd\x73\xec\x06\xf1\x70\x59\xd2\x09\x59\x7b\x6a\x12\x7b\xc9\x0a\xc1\x11\xab\xcb\x97\x09\xc8\x96\x4b\x9e\xf1\xb9\x08\x4a\x9f\xe1\x4d\x3e\xcd\x94\x52\x45\xe6\x5d\x8e\x32\xb7\x65\xca\xde\xc3\x83\x8b\xc7\x06\xf5\x8d\x3a\x6d\x6a\x4a\xb7\xec\x39\x70\x54\x03\x41\x6d\xf3\x65\x39\x28\x17\x9e\x3d\x73\x7e\x82\xa5\xd3\x47\xbe\x0e\xb1\x34\x70\x4a\x6b\x41\x0e\x67\x35\x5d\x09\x04\xca\x0d\x16\xb0\x7a\x2f\x06\x54\x8f\xb9\x2e\xaa\x67\x1f\x5b\x25\x1f\xb5\x86\x74\x18\xe1\x8a\xa5\xab\x2e\xd0\xd3\x60\x49\x61\x17\x0c\x52\x8e\xb1\x6d\x24\x29\x66\x36\x97\x97\x8c\xd8\xdb\x53\x83\x45\x2d\x17\x65\xe7\x1d\xb9\x48\x55\x6d\xc9\xa4\xb1\x48\x08\x1e\xeb\xe6\x1a\x9e\x99\x8f\xbf\xf8\xdb\x17\xff\x1d\x00\x00\xff\xff\x98\xf0\x85\xcb\x74\x5a\x00\x00") +var _Node_modulesKosuSystemContractsSrcDeployedaddressesJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x9c\x4b\x93\x1d\xb9\x71\xef\xf7\xf3\x29\x18\x5c\xdf\x05\x90\xef\x9c\x9d\xee\x0d\x85\xae\xc3\x0e\xdb\x61\xcb\x5a\xd8\xa1\x05\x12\x99\x18\x31\x44\xb2\x15\x64\x53\x1e\x59\xa1\xef\xee\x38\xa4\x86\x8f\x3a\xd5\x64\xf5\x83\xd4\x88\x3c\xb9\x98\x69\x9e\x46\x57\x56\xe1\x00\x3f\x24\x32\xff\xa8\x3f\x7f\xf7\xe8\xd1\xa3\x47\x8f\xf1\xf1\xf7\x8f\xde\xfc\xf8\xfa\x9f\xff\xf2\x22\xeb\xc5\xaf\xc6\x75\xfd\xf7\xf8\xd3\x07\xbf\x79\xfd\xdb\x97\xd7\xe3\xfa\xd5\xcb\xc7\xdf\x3f\xea\xff\xe7\xc3\x5f\xcc\xab\xe7\xd7\x2f\xc6\xbc\xfe\x45\xe6\x8b\x7a\x79\x6a\xf1\xb8\xfd\x28\x0e\xc8\xcd\x66\x01\xce\xc6\x1c\x53\x72\x4c\x96\x99\xb4\xa2\xac\xbb\xf7\x85\x00\x34\x1f\x6f\x2f\xf6\xea\xd9\xab\xa7\xe3\xfa\xc9\x1f\xeb\x57\xe3\xe5\x7f\xbc\xac\x7c\xfc\xfd\x23\x76\xe9\x48\x9b\x86\xeb\xc5\xd5\xb3\x37\xae\xc6\x60\xa6\x6c\x93\xd7\x32\x75\x34\x5d\x13\x90\xb2\x38\x01\x6a\x36\x70\xc3\x18\x03\x74\xeb\xea\xe9\xd5\x0f\xa7\x9b\xfd\xaf\xdf\x6e\x3e\x8f\xa7\x57\xf3\xf7\xff\x7f\xbc\xfc\xdd\x9b\xcb\x2f\xa5\xe5\xbe\x9a\xa7\xf8\x12\x16\x5a\x2d\x6b\xc9\xb2\x20\x22\x48\x07\xca\x5a\xba\xb0\xcf\x26\x93\xcc\x62\x4e\x02\x53\x2d\xeb\x8d\xc3\x68\xeb\xf6\xfa\xc5\x78\xfe\x72\xcc\xeb\x27\x57\xcf\xdf\x39\x99\xd0\x80\x9d\x82\xa3\x4f\x59\x2e\xbe\xa8\x6a\x92\x15\x89\x6b\x37\x07\x9d\x1e\xcd\x78\x65\xef\xbd\xd2\x43\x20\x90\xe6\xe4\x39\x21\x01\xcf\xba\xf1\x3d\x27\xff\xf0\x3c\xeb\xc7\xc7\xdf\x3f\xda\x76\xe0\xeb\xc7\xfc\xe7\x57\xcf\xa2\x5e\x3c\xfe\xfe\x91\x00\x70\xc3\xb6\xbd\xcc\xd5\xe3\xef\x1f\x3d\x7f\xf5\xf4\xe9\x4e\xd7\xfd\xdf\xa7\x57\x3f\x7d\x03\xed\x62\xdf\xb4\x6d\x47\xdf\x8b\xab\xab\xeb\xfd\x81\xf3\xc3\xdb\x49\x4d\xda\x5d\x71\x3b\xde\x9e\x3c\xab\x97\xd7\xe3\xd9\x1f\x4e\x98\x61\x11\x40\x53\xeb\x6f\xdb\xfc\xe5\x5d\xf3\xc7\xbf\x78\x75\xfd\xbb\xab\x17\x4f\xfe\xa7\xf2\xaf\xdc\xa9\x97\xf7\x65\x56\x01\xa9\x8c\xb6\x56\xa2\x02\x2d\x97\x18\x05\x84\x62\x0e\x30\xb8\x83\x13\xbb\xeb\x5c\x47\x98\xd5\x45\x9d\xdb\x76\x3e\x3d\x1c\xb4\x3e\xf8\xf4\x64\x7f\x3e\xfb\xe4\x4d\x8f\xfe\xe9\x0f\x75\xf2\xf8\xec\xc9\xf3\xca\xcd\xc5\xde\x36\xda\x10\x4f\xa2\xcf\xa6\x1a\x0b\xc8\x19\x5b\xad\x89\x04\x42\x91\x9a\x5d\xb5\xe9\x5a\xb5\x32\x9a\x35\x94\x16\x1e\x6a\x05\x64\xd6\x4d\x60\x90\x68\x8b\x9b\xdc\xec\x93\x8f\x67\x97\x86\x68\x3a\x06\x8e\xc1\xad\x54\x99\xda\x64\xc8\x39\x8d\xb2\xb7\x5a\xe4\x3a\xa0\xc4\x68\xc1\x1c\x63\x4e\x01\xec\xe8\x7d\xc5\x9a\x76\xc0\xd9\x4f\x04\xec\xfd\xa6\xb6\x57\x7f\x78\x32\xf7\xbb\xf5\x6d\x9b\xf6\xa3\x45\xb5\xa6\x3e\x19\xbb\xb0\x77\xea\x48\x34\xb3\xaf\x6c\x83\x16\x18\x75\x27\xd7\xe5\x0a\x30\x30\xc7\x58\x85\x41\xdd\x64\x49\x08\xb1\xd6\x76\x96\x6c\xae\xfe\xc0\x73\xf0\xe0\xd5\x0f\x0f\xc3\xdd\x8b\xff\xf6\x63\xe3\x69\xb3\xb4\xe0\x0d\x6d\xc7\x03\xcc\xc0\xb7\x17\x7b\xef\x4b\xff\xa7\xab\x1f\x7e\xfa\xde\x4f\xcf\x7f\xd3\x5f\x3c\x7d\xd7\xac\xeb\x0d\x6d\x5e\xd4\xb3\xab\x3f\xbe\x9e\xd5\x6b\x3c\x7d\x59\x37\xb4\xca\x71\x3d\xde\x38\x3b\xef\xac\xbf\x7c\xf7\x91\x6e\xfb\xcc\xd3\xef\x8b\x4c\xbb\x23\xd3\xed\xc8\xb0\xf8\x7c\x11\x87\xed\x7d\x08\xb7\xbf\xce\x61\xeb\x87\x5a\x41\x6b\xb4\xfd\x6c\xf7\x56\xdf\xb7\xb3\xbf\x38\xfe\xa7\x07\xed\xd8\xcd\xdf\xee\x2f\x60\xf3\xff\xfb\xd8\x5d\x22\x0e\x04\x71\xdb\x46\xc1\x3b\x11\x87\xb5\xb6\x1b\x71\xfc\xf2\x8f\xf5\xfc\xfa\x97\xcf\x9e\x5c\x5f\xbf\x1e\xbf\xf7\x0a\x35\xba\xcc\xe8\x05\x81\x09\x30\xd4\x68\x82\x24\x54\x13\x35\x8b\xc5\xd4\x19\x91\x28\x4b\x8e\x84\x1a\x20\xec\x00\x7f\xab\xed\xd1\xe0\x66\x1d\xdc\x64\x8d\x69\xc3\xb2\x14\x47\x35\x0f\x9e\xd0\xaa\x45\x79\x36\xed\x93\x6d\x79\xac\x28\x0c\xf1\x0c\xf5\x98\x22\x11\xaa\x7c\xf6\x4d\xee\xd2\x2a\x4e\x28\xf2\x0a\x68\xad\x97\xf0\x90\x79\xda\x6e\x51\x5b\x1a\xdd\x18\x15\x7a\x36\xb1\xd1\x58\x06\x8b\x38\x19\x4d\xb2\xd6\x56\x96\x01\x72\xf6\x03\xb4\xda\x86\x6a\x7b\xb0\xe2\xcb\xf6\xe8\x62\xb7\xb7\xbb\xc0\x6a\x77\x52\xef\xc1\x0a\x64\x17\x56\xff\x78\xf5\xf2\xd5\xaf\xaf\x7e\x5f\xcf\xef\x4b\xaa\x20\x5d\xd9\x9c\x4b\xd0\x34\xd5\x46\x0b\x05\x30\xac\x3e\x62\x74\x63\x35\x6e\x12\x7c\x36\xc5\xf6\x48\x85\x82\x4a\xfc\x37\x43\x55\x21\x97\x54\xef\x2b\x4c\x5b\x21\x0d\x30\x4f\x9f\x6b\x89\xab\xc9\xc4\x31\xab\x37\x01\x2a\xd6\xe2\x31\x54\x81\xe4\xe4\x7e\xb4\x69\xbd\xd7\xb1\xc0\xaa\xb5\xde\x67\x24\xf6\xb6\x16\x0a\x6b\x43\xd0\x95\x89\x6b\x58\x06\xb0\x13\xc6\x14\x82\x98\x92\x15\x4a\xcb\x35\x95\x6b\xad\x62\xf0\x9e\x03\x8e\x04\x56\x07\x50\xa5\x17\x54\x5d\xec\xf6\x76\x27\x54\xb9\x77\x96\x23\x81\x15\xea\x2e\xab\x7e\xfd\xa2\xc6\xcb\x57\x2f\xee\x9d\x73\x0e\xa6\x2e\x35\x66\xb9\x2f\x81\xd5\x30\x45\x17\x74\x74\xb5\x46\x5c\xd4\x09\x50\xa3\xc6\xa1\xfc\x8d\x49\x93\xbe\x5d\xf0\xbf\x18\xaa\xb8\x3b\x3b\x2f\x4b\xe7\xce\x23\x42\x0c\xd0\x7c\xc2\x08\x9c\xe4\x85\xd0\x1a\x28\x75\xc7\x56\x60\x44\x8d\x70\x00\x31\x43\xc3\x68\xbd\xf8\x63\x14\x79\x2f\xaa\xea\x9a\xa3\x97\x5a\x1b\x5d\xd2\x52\x13\x70\x64\xcf\x60\x93\x29\xa8\x23\x7a\xf9\x44\x58\xd6\x1c\x1b\x21\x59\x4b\x77\xca\xea\xd5\x9c\xd2\x0f\xa0\x4a\x0e\xa0\xca\x2f\xa8\xba\xd8\xed\xed\x2e\xa8\xea\x40\xda\xe9\x08\xaa\x6c\x3f\xac\xfa\xcd\xd5\xf5\x93\xe7\x3f\xdc\x17\x54\xcd\xc3\xd7\xe8\xc0\x2d\x7c\x0c\x5d\xa5\xde\xac\x82\x04\x7d\xda\x0a\x9d\x84\x85\x31\x0f\x15\xc7\x3a\xb9\x18\x6f\xdd\x7e\x31\x50\x85\x80\x00\x81\xe1\x5a\xce\xdd\xcc\x56\x0e\x25\xe1\x3e\x9a\xb7\x68\x3e\xa5\xcf\xd6\x03\x81\xdc\xbc\x46\x8a\xaa\xcf\x61\xa7\xed\x5c\xf7\xa9\x67\x6e\x77\x41\x55\xac\x00\xa7\xfd\x23\x03\x8c\x96\x53\xd6\x2c\xe7\x91\xcd\x3a\xce\xd0\xd9\x44\xa9\xa3\xa9\x6b\x71\x10\x89\x0e\x55\x0b\x2e\x32\x58\xd6\xdb\x91\x98\x6a\x0b\xa1\x1d\x50\xd1\xb6\x93\x2f\xa0\xba\xd8\x01\xbb\x0b\xa8\xd4\x1d\xcf\x63\xf8\x73\x4e\x39\xc3\x2e\xa7\xfe\xf5\xea\xe5\x75\xbd\xf8\xb7\xfa\xe1\xc9\xcb\xeb\xfb\x07\x56\x0b\x1c\xb3\xd9\xc2\x25\x04\x99\x38\x6a\xd9\x82\xee\x06\x34\x97\x2d\x66\x2c\x24\x1d\x78\xa8\x98\x6f\x26\xb0\x7d\xb2\x2f\x86\xab\xd6\x31\x82\xa3\xe9\x08\x54\xd0\xd1\xa3\xad\xa4\x36\x39\x67\x60\x41\x82\x57\x57\x99\xbe\x4e\x9c\x62\xed\x35\x68\x61\xb5\x4e\x1c\x36\x75\x1c\x2b\xe6\xeb\x34\x80\x15\x06\x98\x83\xea\x14\xb7\x35\x95\x16\xe1\x68\x2b\x56\xab\xe1\xda\xbc\x57\x36\xc0\xc4\x0e\x54\x0d\x56\xc7\x24\xa8\x58\xc0\x73\x5b\xa6\xbb\x63\xb6\x8a\xbe\x58\x6a\xfd\x62\x5f\x93\xdd\x05\x57\xbb\x93\x7a\x0f\x57\xb2\x9f\x5a\xff\xcd\x78\xfa\x24\xc7\xf5\xd5\x83\x11\x4b\x46\x1f\x3c\x03\xa4\xa0\x59\xa1\x2e\x18\x30\x19\xd7\x9c\x52\x82\x6c\xac\x03\xc9\xf2\x50\x7e\x9d\x19\x80\xce\xa4\x0a\x7f\x1f\xa5\xfc\x35\x23\xaa\x77\x17\xe8\xa7\x8d\x64\x9f\x53\xcc\xc2\xa4\xd0\x9a\x74\x83\x80\x42\x9b\x8d\x57\x54\x61\x17\x1f\x8e\x18\x3e\x23\xb9\xeb\x9c\xbc\x25\xfa\xbb\x7b\xd9\x0d\xd3\x24\x0a\x31\x52\xdb\x12\x12\x22\xd2\x5e\xab\x77\x2f\x05\x27\x0a\x81\x59\x01\x84\x84\x6a\xd4\x0d\xfa\x98\x30\x7c\x68\xa0\xf5\xe2\x6a\x75\x8b\x52\x3e\x5f\x2a\xf9\x1b\xfb\x62\x95\x7c\xba\xa9\xef\xc7\x03\x4c\xc0\xb7\x17\xbb\x57\x25\xff\x26\xad\xc1\x17\x2e\xe4\x3f\xf0\xe4\xfb\x22\x93\xee\xc0\x64\x3b\x32\x28\xbe\xc5\x3a\xfe\x99\xdd\xa3\x8e\xff\x50\xf6\x39\xea\xf8\x6f\xcc\x8e\x77\xfa\xfb\xfd\xb0\x79\xe4\x3b\x05\x1b\x0d\xad\xd3\x36\xb3\xb8\x17\x6d\x18\xed\x46\x1b\xff\x59\x2f\xae\x7e\xf9\xe3\x6f\xe0\xdf\x5f\xc5\xff\xfb\x6b\xf0\x70\xff\x1d\xd2\xd2\xa1\x11\x27\x9f\x19\xa8\xdc\x11\x71\x9a\x33\x31\xaf\x0e\x06\xbc\x60\x79\x1e\x92\x0e\x22\xb3\xa9\x6f\x13\x12\x5f\x6c\x8b\x84\xac\x2b\x11\x8a\xb2\x2d\xc7\x1e\x49\x83\xa3\x95\xc1\xb0\x8e\xcd\xb9\x61\x77\xea\x32\x84\x81\x52\xa5\x4d\xd3\x5c\x1a\xe2\xd2\xb8\x10\x8e\x6d\x91\x8a\xb8\x0c\x58\x79\xd8\xac\xa9\x8b\x4a\xda\x4a\x8f\x29\xd9\x97\x74\x72\xac\xd3\x26\x2c\x97\x82\x0a\x3a\x54\x23\x9d\x0b\x7a\x46\x4a\x50\x3e\x14\xb5\x2e\x55\xb2\x8b\xdd\xc1\xee\x94\x7a\x56\x15\xd3\x23\xd4\x72\x7b\x47\xad\xd7\x3f\xfd\x95\x5d\x8f\xa5\x2b\xdd\xe6\xc4\xc6\x36\x1c\xf1\x29\x3e\xd6\x70\x34\x1f\xd1\xd3\x3b\x06\x96\x93\x8a\xa4\x15\xd5\x29\x32\x49\x86\xae\xa6\xd0\xa8\x6a\x16\x04\xb2\x99\x0b\x86\x7a\x3f\x2b\xf7\x6c\x26\xd4\x59\xba\x6a\xbf\x46\x67\x2b\x87\x20\xf5\x65\x6d\xc6\x28\x37\x1d\xc1\x33\x5b\xcb\x59\xdc\xa0\xb9\x16\xf6\xf3\x02\xd6\x1e\x28\x77\x25\xe4\xef\x38\x39\x19\xfa\x22\xc3\x25\x4d\x2b\xb8\x06\xa5\x04\xe4\xca\x48\xa6\xd6\x91\x94\x71\x98\xf0\xd6\xd5\x27\x34\xea\x37\x61\xf4\xc2\x88\x8b\xbd\x67\xdb\x51\x75\x63\x3c\x71\xd3\x9a\xb3\xbb\x6e\x92\xd9\x1a\xda\x63\xad\x95\xd5\x7c\xcc\x4c\x26\x61\xa5\xd3\xea\xdb\x6b\xd6\x1c\x42\x6c\x6b\x8c\x35\x1b\x3a\x62\x43\x1b\xe0\x00\xdd\x2c\x87\x7e\x6c\x71\xbe\x29\xb5\xb8\x83\x28\x06\xdc\x0d\xac\x0e\x9d\xc9\xd8\x50\x89\xd8\x19\xcb\xcd\x6a\x0c\x46\xef\x89\x32\x70\xb6\x55\x59\x36\x78\x54\xea\xaa\x16\xe1\xc1\x51\x8d\xa4\xeb\x8a\x46\x8b\xfa\x58\xd8\x02\xce\x37\x49\x1b\x2a\xd1\xf6\x71\xf6\x4f\x7e\x90\x62\x6f\x3e\x83\xfa\x54\xc5\x95\xb0\xaa\xf5\x32\x9c\x52\xdc\x91\x65\x39\x1b\x1f\x4b\x17\xed\xca\x4c\x1f\x92\x4a\xbb\x0e\x6e\x9b\x4c\x1a\x0f\xf0\xf8\xef\x86\xc8\x37\x9b\x75\x39\xfc\x6d\xde\x2a\xeb\xf2\x5e\x06\xe2\x58\x5e\x66\x3b\xca\xdf\xb6\xdb\x85\x08\xf6\x31\x7b\x34\x1e\xa3\x17\x67\x05\x9c\x10\xd2\x4b\xc7\x04\x8a\x58\xa9\xd0\x12\x2c\x53\xd2\x18\x68\xb8\x17\x2e\x30\x4c\x33\x6b\x5d\x63\x5b\x96\xde\x73\x76\x03\x4c\x3e\xbc\xff\xcf\x06\x81\xb7\x6e\xde\xcb\x09\xdd\x74\x27\x9b\x9c\xd0\x2d\x33\x3e\xe7\x8b\xfe\x2d\xf7\xf4\x0f\x25\xd8\x3f\x6c\xe7\xfb\x7b\xdb\xb9\x8b\x8f\xa6\x33\x6e\xba\xe7\xcf\x9f\xce\xd8\xb1\x07\xeb\xc0\xed\x23\xdf\xe5\x69\x3e\xcf\xa2\xff\xc0\xf3\xf5\xce\x8b\xfe\xbe\x24\xe6\xe3\xc7\x22\xb6\x67\x9b\x96\x86\xf5\xc0\x70\x29\xc0\x15\x6c\xc8\x1c\x1e\x73\x65\xd0\x08\x1f\xf0\x5a\x6e\x0c\xab\x79\xb5\xe9\x84\x54\x4d\xc8\x68\xe8\xb2\x29\x70\xd6\xc1\x5b\x0e\x6e\x83\xf5\xdd\xd5\x1e\x16\x8e\x55\x6b\x35\xef\xb4\x10\x55\x7c\xe6\x8a\x85\x6b\x2e\xd3\x36\x11\x03\x64\x62\x3f\x24\x69\xfe\xc4\xe1\x8b\xfb\xaf\xf6\xbb\x0e\x2e\x7b\x90\x8b\x1d\xb0\xcf\x83\xa3\x86\xcd\x30\x88\x3a\x34\x6f\x50\x31\xb8\x7a\xf2\xea\x6d\xac\x54\xc7\x39\x12\xaa\x46\x72\xb3\x06\x96\x3e\x78\xe8\x50\x62\x99\x36\xd1\x46\xbb\x8b\xbc\x61\x17\x47\xbe\x8b\xa3\x8f\x1c\x7c\xd8\x4a\xd7\x6c\xc5\x6c\x44\x55\x30\xa5\xcb\x18\xa0\xc8\x4b\xe7\x92\x14\x02\x5c\x6b\x2e\x5d\xde\x4c\x22\x01\x78\x02\x26\x16\x5b\x4c\x3a\x3d\xcd\x5c\x67\xc7\x01\xb6\x2c\x3a\x94\x0f\x99\xd3\xc4\xb0\x49\x4a\x37\x0b\x88\x0e\xca\x3a\x74\xa2\x83\x34\x82\xa0\xc4\x49\x05\x67\xc9\x97\x5d\x16\xed\x0a\xb1\x1f\x14\x46\xbb\x1e\x2e\x34\xba\xd8\x01\xfb\x3c\x34\x72\x69\xbd\x70\x8d\xec\x03\x3b\x38\x2e\x66\xce\xc1\x61\xe2\xdd\x17\x8a\xd6\x18\x7a\x0a\x98\x1a\x6b\xce\xe8\x85\x51\x4a\x24\x02\xce\xa3\xf5\x23\xda\xd0\x23\x34\xc2\xfd\x8c\xc8\xcd\x47\x1b\x36\x30\x82\x1e\x7d\xba\x28\x67\x4d\x3d\x45\x7b\x54\xad\xcf\xf9\xfa\xc0\xc2\x12\x95\xe9\x04\xad\x37\xf4\x0e\x99\x5d\x46\x68\x35\xb7\x21\xa3\x2a\xcc\xe5\x2c\x33\xb1\x81\x11\x1f\x4a\x83\x90\xb0\xc2\x09\x79\x90\x09\x04\x3e\x61\x76\xb4\x35\x9c\x0c\x87\x68\xd2\x02\x4f\x82\x43\x3a\xbf\x7d\xa9\xf5\x43\xc2\x68\xdf\xc3\x05\x46\x17\x3b\x60\x9f\x29\x34\x9a\xd6\xa6\x11\xa1\x8c\x46\x23\x09\x71\x6a\x83\x85\xca\x29\x36\xe6\xec\x3d\xad\xf5\x41\x5c\x21\x48\x80\x23\x34\x68\xea\x30\x66\x61\xd3\xb3\xc1\x7e\x57\x18\xdd\xee\xf0\xc2\x36\x19\x73\xb2\xa8\xe4\x62\x6e\xc0\xde\xa6\xd5\x60\xf2\x31\x67\x3b\xed\xce\x5c\x05\x57\x1a\xce\x68\x82\x1c\xe0\x66\x4d\xa4\x52\x72\x58\xd7\x75\x16\xdf\x6d\x51\x74\x68\x8f\xc6\x29\x6d\x3a\xa6\x05\x99\x18\xcc\x44\xd3\x69\x51\x5a\x4e\xd2\x43\xb4\xe6\x8a\x1a\x87\xf6\x68\xbb\x62\xea\x87\x24\xd1\xae\x83\x0b\x88\x2e\x76\xc0\x3e\x0f\x88\x0a\x5b\xab\x0a\x12\xa7\xd9\xed\x34\x69\xd6\x6a\xd8\x67\xb6\xd5\x6c\x99\xb5\x1c\xd1\x18\x7b\x57\x6d\x45\x53\x64\x94\x17\xd5\x68\x0d\x60\xce\xf1\x60\x20\xda\xdf\xa3\x7d\xea\x74\xc2\x06\x48\xbd\xb0\x80\x70\xbd\x7e\x92\xcc\x5e\x00\x2c\xcb\x66\x13\x59\x40\xb2\xa0\x82\xb3\xd2\x30\x20\xda\x5a\xe4\x04\xe0\x9c\x44\x08\x36\x64\x9d\x89\x45\xb6\x40\xda\x16\xe5\x77\x81\xa4\x25\x8c\x14\x06\x8d\xb5\x23\x90\x94\xf7\xd1\x29\x48\x20\x21\x63\x8e\x89\x95\xd5\xcf\x54\x37\x77\x38\x03\x71\x7f\x20\xed\x3a\xb8\x00\xe9\x62\x07\xec\xf3\x00\x29\xc8\x32\xa4\x53\xe5\xec\x42\x53\x48\x87\x8e\xb9\x10\xb8\xf5\x05\x60\x32\xa6\xf6\x56\x34\x8a\xfa\x14\xf5\x88\x9c\x54\xa3\xa8\xcd\x44\xc1\x8f\xbd\x7b\xe1\x36\x40\xa2\xfd\xe3\x52\x07\xce\x1f\x6c\x93\x47\x61\x5d\x41\x51\xd4\x33\xc5\x19\x18\xd1\x55\x5b\xe3\x96\x83\xd3\x17\x4b\xb9\xbb\xa0\x17\x26\x4a\x9d\xe2\x40\xec\x33\x32\x26\x4f\x8f\x4f\x31\x49\x0e\xed\xd7\xb0\xf5\x88\xd6\x6c\xc1\xb0\x81\x73\x94\x7b\x37\x25\x5c\x45\x48\x60\xcc\x1d\x1d\x54\x8f\x9d\xcb\xda\x55\x55\x3e\x28\x94\x76\x3d\xdc\xab\x70\x7d\xc7\x0e\x78\x37\x44\x2e\x85\xeb\xbf\x6d\xe1\x7a\x3b\xce\xdf\xb6\xdb\xdf\x5e\xf9\xe4\xee\x3c\x70\xa9\x2e\x13\x6b\xd6\x56\x79\x87\xd9\x7a\x86\x08\xb7\xce\xe5\x8b\xe6\x70\x19\xc8\x02\x95\x8d\xd4\x8d\x38\x50\x01\xfc\xc8\x6b\x03\x6f\x59\xb8\x7e\x60\x0c\xbc\x75\xf3\xc5\x0b\xd7\xb7\x16\x8a\xdf\xb2\xee\x7a\x7b\x21\xfa\xdd\xae\xf0\x6d\x14\xae\x3f\xb8\xe1\x9f\x6f\xe1\xfa\x81\xe7\xeb\x9d\x17\xfd\xfd\x74\xc8\xa1\x63\x00\x5b\x71\xbc\x23\x73\x2c\xe8\x82\xd3\x25\x73\x14\x59\xa4\x2f\x00\x07\xa5\x31\x27\xe3\xaa\xa6\x1e\x44\x16\x0b\x40\x5e\xa7\xa6\xa9\x61\x42\x59\x9e\xaf\x8e\x5b\x1c\x6e\xb3\x99\xfb\xaf\x8f\x00\xe1\xd2\xec\xd1\x9c\xd4\x74\x46\xc7\xae\x54\xdd\x46\x9f\xb5\x26\x75\x50\x1f\x32\x0f\xd5\x8c\xf6\x65\xc9\x0f\x9a\xa6\xdd\xf5\x70\xd9\x8c\x5c\xec\x80\x7d\x1e\x2e\x8d\x31\x33\x1a\x2b\x8d\x80\x55\x58\x99\x69\xba\x16\x85\x00\x52\xb6\x3e\x32\xa6\x8c\x5c\x85\x2d\x1d\x42\x41\xd3\x16\xcf\xce\x0b\x97\x86\x1d\x79\xf9\xed\x11\x2e\xf1\x7b\x87\xa1\xbf\x7b\xf4\xa1\xd0\x9f\xef\x23\xf4\x1f\xc2\x72\x62\x4e\x30\xf8\xa0\xa2\x4a\x06\xb7\x6e\x95\x62\xbe\x6a\x34\x91\x74\x42\x2b\x01\x69\x2c\xd9\xab\xb7\x25\x6c\x16\x33\x2b\xce\xde\x8f\xf5\x21\xa4\x2e\x32\xff\x0b\xa0\x2e\xf6\x93\x7d\xb5\x32\x7f\x04\x6b\xf6\x70\x32\x7f\x6f\x93\x69\xb9\xf8\xe8\xd4\xdb\x88\x51\xb3\x9b\xf2\x68\x73\x51\x98\xae\x41\xd2\xc7\x69\x5b\xe4\xe0\x3c\xa3\x8f\x54\x32\x6f\x11\x34\x57\x43\x3d\x03\xc5\x87\x4c\xb2\x23\x4c\xba\x88\xfc\x2f\x22\xff\xbf\xe3\x5c\x89\xdd\x26\x53\xf2\xf3\x93\xf8\x3f\x30\x00\xde\xba\xb9\x48\xfc\xcf\xec\x22\xf1\xbf\xc1\x7e\xbe\x99\x92\x9f\x81\xc4\xff\x23\x0b\xfe\xad\x24\xfe\x40\x38\xa7\x06\x90\x35\xce\x58\xa2\x02\xc9\xd9\x49\xc6\x1a\x4e\xab\x17\xc7\x60\xe9\x2d\x4a\x50\xfb\x00\xa8\x2e\x23\xc4\x95\x14\x98\xf0\x13\xc7\x8c\xb7\xaf\x45\xb8\x08\xfc\x2f\xf6\xed\xda\x57\x2b\xf0\xff\x08\x8c\x8e\x0b\xfc\xe5\x44\xcf\x82\xe5\xd2\x70\xb4\xae\x9d\xa1\x65\x51\x28\x8d\xc9\xd9\xa7\x56\x93\x22\x32\x4d\xa9\xa0\x6a\x79\xa2\x85\xcb\x58\xd3\xa4\xf8\x53\x9a\xda\x7e\xa8\x44\x7b\xd1\xf7\x5f\xec\x1b\xb1\xaf\x56\xdf\xff\x11\x18\x1d\xd6\xf7\x4f\x16\x69\x56\x53\x15\x90\x93\xb0\x2f\x18\x3d\x35\x88\xca\x6b\x85\xce\x35\x60\x09\x99\x59\xe8\xa0\x55\x52\x5d\x67\x49\xd8\x29\x32\x42\x3c\x4b\x39\x6f\x58\x74\xe8\x25\x55\x17\x79\xff\xc5\xbe\x11\xfb\x6a\xe5\xfd\x1f\x61\xd1\x41\x79\xff\x74\x77\x24\xc6\x11\xde\x20\x47\xf7\x91\xb1\x2a\x39\xc9\xa1\x88\x94\xdb\x84\x6c\x1e\x30\x1d\x5a\x5f\x38\x34\x91\x39\x27\x07\xf7\x4e\xf1\xa9\xa8\x68\xbb\x93\xb9\xa8\xfb\x2f\xf6\xed\xda\x57\xab\xee\xff\x08\x87\x6e\xa9\xee\x4f\xc4\x66\x32\x07\x2f\xb7\x18\xa3\x69\x09\xce\xb9\x8a\x7d\xf2\x70\x48\xf0\x6c\x14\xad\x70\xba\xcc\x91\x2c\xa5\xda\xb3\x73\xb5\x00\xcd\xf3\xf7\x4d\x6e\x78\x74\xe8\xb4\xd1\x45\xdc\x7f\xb1\x6f\xc2\xbe\x5a\x71\xff\xc7\xe2\xa2\x5b\x8b\xfb\x2b\xa9\x6c\x68\x64\x06\x51\xd2\x6a\xe0\x2b\xa0\x71\x93\xd9\x67\x40\x46\x44\x10\xb8\xa7\xe6\x69\x3b\xca\x40\x3d\x8a\xa7\xc2\x22\x44\x8d\x4f\xa4\xb0\xfb\x21\x91\xdf\x03\x6b\xfb\xd5\xe0\x33\x6b\xfb\x77\x3c\x5c\xb4\xfd\x0f\x3b\x5d\x0f\x5e\xfd\xe7\x51\xaf\xde\x0e\xf3\xb7\xcd\xf6\x43\x1a\x03\x59\x73\xa6\xca\x94\x04\xab\xb4\xa4\x55\xe1\x2e\x4a\x73\x75\x4a\xb1\x1e\xab\x74\xb5\x25\xad\x77\x33\x61\x4f\x18\x33\xbd\x68\xe5\xd9\x19\xbf\x3d\x67\xb7\x2c\x58\x3f\x30\x04\xde\xba\xb9\x48\xfb\xef\x78\x85\x6f\xa3\x60\xfd\x77\x22\xed\x7f\xe0\xf9\xfa\xc0\x4b\xfe\x5d\xa4\xfd\x1d\x15\xd7\x69\xc9\x59\x2a\x35\x4a\x24\xd5\x9a\x24\xfa\x68\xc6\x0d\x13\x1c\xd7\x12\x08\x1e\xa8\x39\x6d\x10\xcc\x35\x04\xd3\x3b\x58\x5a\x9e\x95\xe0\x37\x34\xdc\xbe\x8e\xfe\xa2\xec\xbf\xd8\xb7\x6c\x5f\xad\xb2\x7f\x8b\xa5\xef\xde\xfc\xf7\x2f\xdf\xfd\x6f\x00\x00\x00\xff\xff\xe2\x6c\x23\x92\x75\x91\x00\x00") func Node_modulesKosuSystemContractsSrcDeployedaddressesJsonBytes() ([]byte, error) { return bindataRead( @@ -92,7 +92,7 @@ func Node_modulesKosuSystemContractsSrcDeployedaddressesJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../node_modules/@kosu/system-contracts/src/deployedAddresses.json", size: 1316, mode: os.FileMode(420), modTime: time.Unix(1564558481, 0)} + info := bindataFileInfo{name: "../node_modules/@kosu/system-contracts/src/deployedAddresses.json", size: 37237, mode: os.FileMode(420), modTime: time.Unix(1566328086, 0)} a := &asset{bytes: bytes, info: info} return a, nil } From e4766de91199932f3c69bca399f154479ee40f12 Mon Sep 17 00:00:00 2001 From: Nick Freyaldenhoven Date: Tue, 20 Aug 2019 14:15:54 -0500 Subject: [PATCH 20/20] Running prettier --- packages/go-kosu/abci/types/README.md | 357 ++++++++++---------------- 1 file changed, 132 insertions(+), 225 deletions(-) diff --git a/packages/go-kosu/abci/types/README.md b/packages/go-kosu/abci/types/README.md index 13680332..26d5379e 100644 --- a/packages/go-kosu/abci/types/README.md +++ b/packages/go-kosu/abci/types/README.md @@ -1,332 +1,239 @@ # Protocol Documentation + ## Table of Contents -- [types.proto](#types.proto) - - [BigInt](#kosu.BigInt) - - [ConsensusParams](#kosu.ConsensusParams) - - [OrderArgument](#kosu.OrderArgument) - - [OrderArguments](#kosu.OrderArguments) - - [Poster](#kosu.Poster) - - [Proof](#kosu.Proof) - - [RoundInfo](#kosu.RoundInfo) - - [SignedTransaction](#kosu.SignedTransaction) - - [Transaction](#kosu.Transaction) - - [TransactionOrder](#kosu.TransactionOrder) - - [TransactionOrder.MakerValuesEntry](#kosu.TransactionOrder.MakerValuesEntry) - - [TransactionRebalance](#kosu.TransactionRebalance) - - [TransactionWitness](#kosu.TransactionWitness) - - [Validator](#kosu.Validator) - - - [TransactionWitness.Subject](#kosu.TransactionWitness.Subject) - - - - -- [Scalar Value Types](#scalar-value-types) +- [types.proto](#types.proto) + + - [BigInt](#kosu.BigInt) + - [ConsensusParams](#kosu.ConsensusParams) + - [OrderArgument](#kosu.OrderArgument) + - [OrderArguments](#kosu.OrderArguments) + - [Poster](#kosu.Poster) + - [Proof](#kosu.Proof) + - [RoundInfo](#kosu.RoundInfo) + - [SignedTransaction](#kosu.SignedTransaction) + - [Transaction](#kosu.Transaction) + - [TransactionOrder](#kosu.TransactionOrder) + - [TransactionOrder.MakerValuesEntry](#kosu.TransactionOrder.MakerValuesEntry) + - [TransactionRebalance](#kosu.TransactionRebalance) + - [TransactionWitness](#kosu.TransactionWitness) + - [Validator](#kosu.Validator) + - [TransactionWitness.Subject](#kosu.TransactionWitness.Subject) +* [Scalar Value Types](#scalar-value-types) +

Top

## types.proto - - ### BigInt -BigInt - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| value | [bytes](#bytes) | | | - - - +BigInt +| Field | Type | Label | Description | +| ----- | --------------- | ----- | ----------- | +| value | [bytes](#bytes) | | | ### ConsensusParams -ConsensusParams - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| FinalityThreshold | [uint32](#uint32) | | | -| PeriodLimit | [uint64](#uint64) | | | -| PeriodLength | [uint32](#uint32) | | | -| MaxOrderBytes | [uint32](#uint32) | | | -| ConfirmationThreshold | [uint64](#uint64) | | | -| BlocksBeforePruning | [uint64](#uint64) | | | - - - +ConsensusParams +| Field | Type | Label | Description | +| --------------------- | ----------------- | ----- | ----------- | +| FinalityThreshold | [uint32](#uint32) | | | +| PeriodLimit | [uint64](#uint64) | | | +| PeriodLength | [uint32](#uint32) | | | +| MaxOrderBytes | [uint32](#uint32) | | | +| ConfirmationThreshold | [uint64](#uint64) | | | +| BlocksBeforePruning | [uint64](#uint64) | | | ### OrderArgument - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | | -| datatype | [string](#string) | | | -| signatureFields | [int64](#int64) | repeated | | - - - - - +| Field | Type | Label | Description | +| --------------- | ----------------- | -------- | ----------- | +| name | [string](#string) | | | +| datatype | [string](#string) | | | +| signatureFields | [int64](#int64) | repeated | | ### OrderArguments - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| maker | [OrderArgument](#kosu.OrderArgument) | repeated | | -| taker | [OrderArgument](#kosu.OrderArgument) | repeated | | - - - - - +| Field | Type | Label | Description | +| ----- | ------------------------------------ | -------- | ----------- | +| maker | [OrderArgument](#kosu.OrderArgument) | repeated | | +| taker | [OrderArgument](#kosu.OrderArgument) | repeated | | ### Poster -Poster - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| balance | [BigInt](#kosu.BigInt) | | | -| limit | [uint64](#uint64) | | | - - - +Poster +| Field | Type | Label | Description | +| ------- | ---------------------- | ----- | ----------- | +| balance | [BigInt](#kosu.BigInt) | | | +| limit | [uint64](#uint64) | | | ### Proof -Proof is used to sign a Transaction and produce a SignedTransaction. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| public_key | [bytes](#bytes) | | | -| signature | [bytes](#bytes) | | | - - - +Proof is used to sign a Transaction and produce a SignedTransaction. +| Field | Type | Label | Description | +| ---------- | --------------- | ----- | ----------- | +| public_key | [bytes](#bytes) | | | +| signature | [bytes](#bytes) | | | ### RoundInfo -RoundInfo - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| number | [uint64](#uint64) | | | -| starts_at | [uint64](#uint64) | | | -| ends_at | [uint64](#uint64) | | | -| limit | [uint64](#uint64) | | | - - - +RoundInfo +| Field | Type | Label | Description | +| --------- | ----------------- | ----- | ----------- | +| number | [uint64](#uint64) | | | +| starts_at | [uint64](#uint64) | | | +| ends_at | [uint64](#uint64) | | | +| limit | [uint64](#uint64) | | | ### SignedTransaction + SignedTransaction. This is the only Transaction accepted by the node. It's composed by a Transaction and it's Proof. - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| proof | [Proof](#kosu.Proof) | | | -| tx | [Transaction](#kosu.Transaction) | | | - - - - - +| Field | Type | Label | Description | +| ----- | -------------------------------- | ----- | ----------- | +| proof | [Proof](#kosu.Proof) | | | +| tx | [Transaction](#kosu.Transaction) | | | ### Transaction -Transaction - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| rebalance | [TransactionRebalance](#kosu.TransactionRebalance) | | | -| witness | [TransactionWitness](#kosu.TransactionWitness) | | | -| order | [TransactionOrder](#kosu.TransactionOrder) | | | - - - +Transaction +| Field | Type | Label | Description | +| --------- | -------------------------------------------------- | ----- | ----------- | +| rebalance | [TransactionRebalance](#kosu.TransactionRebalance) | | | +| witness | [TransactionWitness](#kosu.TransactionWitness) | | | +| order | [TransactionOrder](#kosu.TransactionOrder) | | | ### TransactionOrder + TransactionOrder contains a signed order from a poster, and modifies their remaining period limit. This transaction can originate from anywhere, so long as the address recovered from the poster signature has a non-zero balance of Kosu tokens (they are a poster). - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| subContract | [string](#string) | | | -| maker | [string](#string) | | | -| arguments | [OrderArguments](#kosu.OrderArguments) | | | -| makerValues | [TransactionOrder.MakerValuesEntry](#kosu.TransactionOrder.MakerValuesEntry) | repeated | | -| makerSignature | [string](#string) | | | -| posterSignature | [string](#string) | | | - - - - - +| Field | Type | Label | Description | +| --------------- | ---------------------------------------------------------------------------- | -------- | ----------- | +| subContract | [string](#string) | | | +| maker | [string](#string) | | | +| arguments | [OrderArguments](#kosu.OrderArguments) | | | +| makerValues | [TransactionOrder.MakerValuesEntry](#kosu.TransactionOrder.MakerValuesEntry) | repeated | | +| makerSignature | [string](#string) | | | +| posterSignature | [string](#string) | | | ### TransactionOrder.MakerValuesEntry - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| key | [string](#string) | | | -| value | [string](#string) | | | - - - - - +| Field | Type | Label | Description | +| ----- | ----------------- | ----- | ----------- | +| key | [string](#string) | | | +| value | [string](#string) | | | ### TransactionRebalance -TransactionRebalance - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| round_info | [RoundInfo](#kosu.RoundInfo) | | | - - - +TransactionRebalance +| Field | Type | Label | Description | +| ---------- | ---------------------------- | ----- | ----------- | +| round_info | [RoundInfo](#kosu.RoundInfo) | | | ### TransactionWitness + TransactionWitness performs state modification of Stake Event transactions (modify staker's balance). This transaction should be originated from the validator nodes. - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| subject | [TransactionWitness.Subject](#kosu.TransactionWitness.Subject) | | | -| amount | [BigInt](#kosu.BigInt) | | | -| block | [uint64](#uint64) | | Block number of event | -| address | [string](#string) | | Ethereum address of validator/poster | -| public_key | [bytes](#bytes) | | Tendermint ed25519 key of validator (base64 enc ) | -| id | [bytes](#bytes) | | Hash of event data | -| confirmations | [uint64](#uint64) | | | - - - - - +| Field | Type | Label | Description | +| ------------- | -------------------------------------------------------------- | ----- | ------------------------------------------------- | +| subject | [TransactionWitness.Subject](#kosu.TransactionWitness.Subject) | | | +| amount | [BigInt](#kosu.BigInt) | | | +| block | [uint64](#uint64) | | Block number of event | +| address | [string](#string) | | Ethereum address of validator/poster | +| public_key | [bytes](#bytes) | | Tendermint ed25519 key of validator (base64 enc ) | +| id | [bytes](#bytes) | | Hash of event data | +| confirmations | [uint64](#uint64) | | | ### Validator -Validator - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| balance | [BigInt](#kosu.BigInt) | | balance in registry contract | -| power | [int64](#int64) | | vote power on tendermint chain | -| publicKey | [bytes](#bytes) | | raw 32 byte public key | -| ethAccount | [string](#string) | | | -| firstVote | [int64](#int64) | | | -| lastVoted | [int64](#int64) | | | -| lastProposed | [int64](#int64) | | | -| totalVotes | [int64](#int64) | | | -| active | [bool](#bool) | | true if voted on last block | -| genesis | [bool](#bool) | | true if val was in genesis.json = 5; | -| applied | [bool](#bool) | | true if a) in genesis or b) through endblock = 5; | - - - - - - +Validator +| Field | Type | Label | Description | +| ------------ | ---------------------- | ----- | ------------------------------------------------- | +| balance | [BigInt](#kosu.BigInt) | | balance in registry contract | +| power | [int64](#int64) | | vote power on tendermint chain | +| publicKey | [bytes](#bytes) | | raw 32 byte public key | +| ethAccount | [string](#string) | | | +| firstVote | [int64](#int64) | | | +| lastVoted | [int64](#int64) | | | +| lastProposed | [int64](#int64) | | | +| totalVotes | [int64](#int64) | | | +| active | [bool](#bool) | | true if voted on last block | +| genesis | [bool](#bool) | | true if val was in genesis.json = 5; | +| applied | [bool](#bool) | | true if a) in genesis or b) through endblock = 5; | ### TransactionWitness.Subject - -| Name | Number | Description | -| ---- | ------ | ----------- | -| POSTER | 0 | | -| VALIDATOR | 1 | | - - - - - - - - - +| Name | Number | Description | +| --------- | ------ | ----------- | +| POSTER | 0 | | +| VALIDATOR | 1 | | ## Scalar Value Types -| .proto Type | Notes | C++ Type | Java Type | Python Type | -| ----------- | ----- | -------- | --------- | ----------- | -| double | | double | double | float | -| float | | float | float | float | -| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | -| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | -| uint32 | Uses variable-length encoding. | uint32 | int | int/long | -| uint64 | Uses variable-length encoding. | uint64 | long | int/long | -| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | -| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | -| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | -| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | -| sfixed32 | Always four bytes. | int32 | int | int | -| sfixed64 | Always eight bytes. | int64 | long | int/long | -| bool | | bool | boolean | boolean | -| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | -| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | - +| .proto Type | Notes | C++ Type | Java Type | Python Type | +| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------- | ----------- | +| double | | double | double | float | +| float | | float | float | float | +| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | +| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | +| uint32 | Uses variable-length encoding. | uint32 | int | int/long | +| uint64 | Uses variable-length encoding. | uint64 | long | int/long | +| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | +| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | +| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | +| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | +| sfixed32 | Always four bytes. | int32 | int | int | +| sfixed64 | Always eight bytes. | int64 | long | int/long | +| bool | | bool | boolean | boolean | +| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | +| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |