From ae587c40d4acb052324c0816b60ca5deb1d5eb29 Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Tue, 30 Aug 2022 13:41:08 +0200 Subject: [PATCH] Make test addresses deterministic --- packages/cli/examples/contract_addresses.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/cli/examples/contract_addresses.ts b/packages/cli/examples/contract_addresses.ts index 27cb0f5ab6..5179adc111 100644 --- a/packages/cli/examples/contract_addresses.ts +++ b/packages/cli/examples/contract_addresses.ts @@ -1,5 +1,5 @@ import { fromBech32, fromUtf8, toAscii, toBech32, toHex, toUtf8 } from "@cosmjs/encoding"; -import { Random, Sha256, sha256 } from "@cosmjs/crypto"; +import { Sha256, sha256 } from "@cosmjs/crypto"; import { Uint53, Uint64 } from "@cosmjs/math"; /** @@ -40,14 +40,22 @@ function deterministicContractAddress(codeId: number, creator: string, label: st return toBech32(prefix, addressData); } -function makeRandomAddress(length: number): string { - return toBech32("purple", Random.getBytes(length)); +function makeTestingAddress(length: number): string { + let data = new Uint8Array(length); + data.fill(0x99, 0); + data.fill(0xAA, 5); + data.fill(0xBB, 10); + data.fill(0xCC, 15); + data.fill(0xDD, 20); + data.fill(0xEE, 25); + data.fill(0xFF, 30); + return toBech32("purple", data); } let out: Array = []; for (let codeId of [1, Number.MAX_SAFE_INTEGER]) { - for (let creator of [makeRandomAddress(20), makeRandomAddress(32)]) { + for (let creator of [makeTestingAddress(20), makeTestingAddress(32)]) { for (let label of ["instance 1", "instance 2"]) { const contractAddress = deterministicContractAddress(codeId, creator, label, "purple");