diff --git a/README.md b/README.md index 3c5521d0..d1fd29b4 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ This is the home of [ar.io] SDK. This SDK provides functionality for interacting - [Typescript](#typescript) - [ArIO Contract](#ario-contract) - [APIs](#apis) - - [init](#init-signer) + - [init](#init-signer-) - [getBalance](#getbalance-address-evaluationoptions-) - [getBalances](#getbalances-evaluationoptions-) - [getGateway](#getgateway-address-evaluationoptions-) @@ -27,6 +27,12 @@ This is the home of [ar.io] SDK. This SDK provides functionality for interacting - [getPrescribedObservers](#getprescribedobservers-evaluationoptions-) - [getAuction](#getauction-domain-evaluationoptions-) - [getAuctions](#getauctions-evauluationoptions-) + - [joinNetwork](#joinnetworkparams) + - [updateGatewaySettings](#updategatewaysettingsgatewaysettings) + - [increaseDelegateStake](#increasedelegatestake-target-qty-) + - [decreaseDelegateStake](#decreasedelegatestake-target-qty-) + - [increaseOperatorStake](#increaseoperatorstake-qty-) + - [decreaseOperatorStake](#decreaseoperatorstake-qty-) - [Custom Contracts](#custom-contracts) - [ANT Contracts](#arweave-name-tokens-ants) - [APIs](#apis-1) @@ -569,9 +575,9 @@ const auctions = await arIO.getAuctions({ evaluationOptions }); // } ``` -#### `joinNetwork(params) ~ Requires signer during init()` +#### `joinNetwork(params)` -Joins a gateway to the ar.io network via its associated wallet. +Joins a gateway to the ar.io network via its associated wallet. Requires `signer` to be provided on `ArIO.init` to sign the transaction. ```typescript const jointNetworkParams = { @@ -602,9 +608,9 @@ const joinNetworkTx = await authenticatedArIO.joinNetwork(joinNetworkParams); // t4Xr0_J4Iurt7caNST02cMotaz2FIbWQ4Kbj616RHl3 ``` -#### `updateGatewaySettings(gatewaySettings) ~ Requires signer during init()` +#### `updateGatewaySettings(gatewaySettings)` -Writes new gateway settings to the callers gateway configuration. +Writes new gateway settings to the callers gateway configuration. Requires `signer` to be provided on `ArIO.init` to sign the transaction. ```typescript const updateGatewaySettingsParams = { @@ -624,9 +630,9 @@ const updateGatewaySettingsTx = await authenticatedArIO.updateGatewaySettings( // t4Xr0_J4Iurt7caNST02cMotaz2FIbWQ4Kbj616RHl3 ``` -#### `increaseDelegateStake({ target, qty }) ~ Requires signer during init()` +#### `increaseDelegateStake({ target, qty })` -Increases the callers stake on the target gateway. +Increases the callers stake on the target gateway. Requires `signer` to be provided on `ArIO.init` to sign the transaction. ```typescript const params = { @@ -646,9 +652,9 @@ const increaseDelegateStakeTx = // fDrr0_J4Iurt7caNST02cMotaz2FIbWQ4Kcj616RHl3 ``` -#### `decreaseDelegateStake({ target, qty }) ~ Requires signer during init()` +#### `decreaseDelegateStake({ target, qty })` -Decreases the callers stake on the target gateway. +Decreases the callers stake on the target gateway. Requires `signer` to be provided on `ArIO.init` to sign the transaction. ```typescript const params = { @@ -668,9 +674,9 @@ const decreaseDelegateStakeTx = // fDrr0_J4Iurt7caNST02cMotaz2FIbWQ4Kcj616RHl3 ``` -#### `increaseOperatorStake({ qty }) ~ Requires signer during init()` +#### `increaseOperatorStake({ qty })` -Increases the callers operator stake. Must be executed with a wallet registered as a gateway operator. +Increases the callers operator stake. Must be executed with a wallet registered as a gateway operator. Requires `signer` to be provided on `ArIO.init` to sign the transaction. ```typescript const params = { @@ -689,9 +695,9 @@ const increaseOperatorStakeTx = // fDrr0_J4Iurt7caNST02cMotaz2FIbWQ4Kcj616RHl3 ``` -#### `decreaseOperatorStake({ qty }) ~ Requires signer during init()` +#### `decreaseOperatorStake({ qty })` -Decreases the callers operator stake. Must be executed with a wallet registered as a gateway operator. +Decreases the callers operator stake. Must be executed with a wallet registered as a gateway operator. Requires `signer` to be provided on `ArIO.init` to sign the transaction. ```typescript const params = { @@ -710,6 +716,27 @@ const decreaseOperatorStakeTx = // fDrr0_J4Iurt7caNST02cMotaz2FIbWQ4Kcj616RHl3 ``` +### `saveObservations({ reportTxId, failedGateways })` + +Saves the observations of the current epoch. Requires `signer` to be provided on `ArIO.init` to sign the transaction. + +```typescript +const params = { + reportTxId: 'fDrr0_J4Iurt7caNST02cMotaz2FIbWQ4Kcj616RHl3', + failedGateways: ['t4Xr0_J4Iurt7caNST02cMotaz2FIbWQ4Kbj616RHl3'], +}; + +const signer = new ArweaveSigner(jwk); +// signer required for write interactions APIs +const authenticatedArIO = ArIO.init({ signer }); +const saveObservationsTx = await authenticatedArIO.saveObservations(params); + +// saveObservationsTx is an Arweave transaction. +// example: +// saveObservationsTx.id +// fDrr0_J4Iurt7caNST02cMotaz2FIbWQ4Kcj616RHl3 +``` + ### Custom Contracts The ArIO contract client class exposes APIs relevant to the ar.io contract. It can be configured to use any contract ID that adheres to the spec of the ar.io contract. In the default case, it will automatically build and utilize a contract data provider interface that is configured to point the the known mainnet contract ID at construction time. You can provide custom contract data provider or, alternatively, a `contractTxId` to the ArIO constructor to use a different, ar.io-spec-compatible contract. diff --git a/jest.integration.config.mjs b/jest.integration.config.mjs index 209401ec..9d379741 100644 --- a/jest.integration.config.mjs +++ b/jest.integration.config.mjs @@ -1,5 +1,6 @@ export default { preset: 'ts-jest', + // TODO: this should be using globalSetup once this is resolved: https://github.com/kulshekhar/ts-jest/issues/4127 setupFiles: ['./tests/integration/jest.setup.ts'], globalTeardown: './tests/integration/jest.teardown.ts', clearMocks: true, diff --git a/package.json b/package.json index a1671ce2..20d32c40 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "format:fix": "prettier --write .", "test": "yarn test:unit && yarn test:integration", "test:unit": "yarn clean && jest --config=jest.config.mjs", - "test:integration": "yarn clean && docker compose up -d && jest --config=jest.integration.config.mjs && docker compose down", + "test:integration": "yarn clean && docker compose up -d && jest --config=jest.integration.config.mjs --runInBand && docker compose down", "prepare": "husky install", "example:mjs": "yarn build:esm && node examples/node/index.mjs", "example:cjs": "yarn build:cjs && node examples/node/index.cjs", diff --git a/src/common.ts b/src/common.ts index 843e97bc..4495cec1 100644 --- a/src/common.ts +++ b/src/common.ts @@ -39,6 +39,7 @@ import { export type BlockHeight = number; export type SortKey = string; export type WalletAddress = string; +export type TransactionId = string; // TODO: append this with other configuration options (e.g. local vs. remote evaluation) export type ContractSigner = ArweaveSigner | ArconnectSigner; @@ -210,6 +211,10 @@ export interface ArIOWriteContract { target: WalletAddress; qty: number; }): Promise; + saveObservations(params: { + reportTxId: TransactionId; + failedGateways: WalletAddress[]; + }): Promise; } export type WriteInteractionResult = diff --git a/src/common/ar-io.ts b/src/common/ar-io.ts index 58df6f85..326f0809 100644 --- a/src/common/ar-io.ts +++ b/src/common/ar-io.ts @@ -31,7 +31,9 @@ import { JoinNetworkParams, Observations, RegistrationType, + TransactionId, UpdateGatewaySettingsParams, + WalletAddress, WeightedObserver, WithSigner, WriteInteractionResult, @@ -374,4 +376,18 @@ export class ArIOWritable extends ArIOReadable implements ArIOWriteContract { }); return res; } + + async saveObservations(params: { + reportTxId: TransactionId; + failedGateways: WalletAddress[]; + }): Promise { + return this.contract.writeInteraction({ + functionName: AR_IO_CONTRACT_FUNCTIONS.SAVE_OBSERVATIONS, + inputs: { + observerReportTxId: params.reportTxId, + failedGateways: params.failedGateways, + }, + signer: this.signer, + }); + } } diff --git a/src/common/contracts/warp-contract.ts b/src/common/contracts/warp-contract.ts index eb833a74..761327d3 100644 --- a/src/common/contracts/warp-contract.ts +++ b/src/common/contracts/warp-contract.ts @@ -59,7 +59,7 @@ export class WarpContract cacheUrl, warp = defaultWarp, logger = new DefaultLogger({ - level: 'debug', + level: 'info', }), }: { contractTxId: string; diff --git a/tests/integration/ar-io-writable.test.ts b/tests/integration/ar-io-writable.test.ts index d2ef6b76..ddf8ad50 100644 --- a/tests/integration/ar-io-writable.test.ts +++ b/tests/integration/ar-io-writable.test.ts @@ -1,5 +1,6 @@ import { ArweaveSigner } from 'arbundles'; +import { WriteInteractionResult } from '../../src/common.js'; import { ArIO } from '../../src/common/ar-io.js'; import { WarpContract } from '../../src/common/index.js'; import { DefaultLogger } from '../../src/common/logger.js'; @@ -7,7 +8,6 @@ import { ArIOState } from '../../src/contract-state.js'; import { localCacheUrl, warp } from '../constants.js'; const gatewayAddress = process.env.PRIMARY_WALLET_ADDRESS!; - const contractTxId = process.env.DEPLOYED_REGISTRY_CONTRACT_TX_ID!; const writeTestCases = [ [ @@ -44,15 +44,22 @@ describe('ArIO Client', () => { }); it.each(writeTestCases)( - 'Should execute writes with parameters: %s', - async ( - functionName: string, - inputs: Record, - ) => { - const tx = await arIO[functionName]({ + 'should execute write interaction with parameters: %s', + async (functionName: string, inputs: Record) => { + const tx: WriteInteractionResult = await arIO[functionName]({ ...inputs, }); expect(tx).toBeDefined(); }, ); + + // it('should successfully submit saveObservations interaction with parameters', async () => { + // // mine blocks so we can submit a observations + // await mineBlocks({ arweave, blocks: 20 }); + // const tx = await arIO.saveObservations({ + // reportTxId: gatewayAddress, + // failedGateways: [gatewayAddress], + // }); + // expect(tx).toBeDefined(); + // }); }); diff --git a/tests/integration/arlocal/ar-io-contract/initial-state.json b/tests/integration/arlocal/ar-io-contract/initial-state.json index 25fa49a1..e2ea8ce8 100644 --- a/tests/integration/arlocal/ar-io-contract/initial-state.json +++ b/tests/integration/arlocal/ar-io-contract/initial-state.json @@ -2,10 +2,10 @@ "auctions": { "bobbyhiscut": { "contractTxId": "0xvsSo5xp_G3p6nVGFS6xrmwS0YwcO-R7G7IaUtbHL4", - "endHeight": 1397648, + "endHeight": 10400, "floorPrice": 1837944441, "initiator": "7waR8v4STuwPnTck1zFVkQqJh5K9q9Zik4Y5-5dV7nk", - "startHeight": 1387568, + "startHeight": 0, "startPrice": 91897222050, "type": "permabuy" } @@ -38,7 +38,7 @@ "decimals": 6, "demandFactoring": { "consecutivePeriodsWithMinDemandFactor": 0, - "currentPeriod": 113, + "currentPeriod": 0, "demandFactor": 0.4901185176532695, "periodZeroBlockHeight": 1307075, "purchasesThisPeriod": 0, @@ -47,11 +47,11 @@ "trailingPeriodRevenues": [0, 0, 0, 0, 0, 0, 0] }, "distributions": { - "epochEndHeight": 1389205, - "epochPeriod": 59, - "epochStartHeight": 1388486, - "epochZeroStartHeight": 1346006, - "nextDistributionHeight": 1389220 + "epochEndHeight": 719, + "epochPeriod": 0, + "epochStartHeight": 0, + "epochZeroStartHeight": 0, + "nextDistributionHeight": 734 }, "evolve": null, "fees": { @@ -333,1057 +333,7 @@ "lastTickedHeight": 0, "name": "Test IO", "observations": { - "1346006": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "ntlCXKqO3RdqoTUybAKIkj9OsOgn812qB57n9YVjytU" - } - }, - "1346206": { - "failureSummaries": { - "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "WIK76_Kno139pUV2iOkuOY7y-7p-xzFFLxRlgmjWjG0" - } - }, - "1346406": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "Giwy8cO1v46a0kXMowCJ-xq1yikek39DpjVtOrT7lEE" - } - }, - "1346606": { - "failureSummaries": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ], - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ], - "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ], - "wlcEhTQY_qjDKTvTDZsb53aX8wivbOJZKnhLswdueZw": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ], - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "kIIbKJRCGL432W_6NnnD2AQxnMfHa-TJNYw-TwVNRPA", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "H3zDmoDkpOg0U95rejBEq6gUnww_CEVscTuQVqfSbxk" - } - }, - "1347206": { - "failureSummaries": { - "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ] - }, - "reports": { - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "yAi0MuN4L34RGKRGzIEALjYZTo1e4EZuqxhro9sreQs" - } - }, - "1347406": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "NZNktbl0HbISJ7qvcXH6RmR6_ghkudVFTOlZIh0T9i8" - } - }, - "1347606": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "odRhN0IWKqE1vXAOIsa7tCPzcpZxkTFIUnBAk1Y3Dz4" - } - }, - "1347806": { - "failureSummaries": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ], - "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "EKbCQfDU25xa9y5viSYujfcSzO_m3saqHUI4I0i2tWw", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "_JLf5Zw2x1magERXCJwzJ9rUrWe-rhR-B_JAuGoTDlc" - } - }, - "1348006": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "yUM_08lwFUojHUVBR04VaUy4rn0YP-_fqC61wPBNgM0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "6hvoxMWXZD9RCaAMzXuT1H6Fhfxp7kYq1jPB6jMRZ9E" - } - }, - "1348206": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "PnXGYMqTBzRn-qSbDxqjCyCAjKqoRafIxC8dUeirWXY" - } - }, - "1348806": { - "failureSummaries": { - "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "mZ6kLYJn88ZkUWLhN8d0Qoago-6g9xsxFvpwLZCc3Mk" - } - }, - "1349006": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": "kzF2IuoMnZFSS508dWwttgV9LQ_9hn4LN97clRiuwXY", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "thc5KYiYNrD4IwwTOZBxdmSY7ucqXTlIvVVHn7rn8U8", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "YB3n0rJVQY07AQnc2e4WyujwprHXUZkw0SvpAhOOuUY" - } - }, - "1349206": { - "failureSummaries": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": [ - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo" - ], - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo" - ], - "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ": [ - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo" - ], - "wlcEhTQY_qjDKTvTDZsb53aX8wivbOJZKnhLswdueZw": [ - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo" - ], - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": [ - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo" - ] - }, - "reports": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": "3VjIqIBCLZRU3iLyagOC7nr4UQENuyAhHkS9QMG3dEA", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "PJOGNN3UGiT_4S5uMpiFCMtIm4fW7DgUs-rYz09Higc" - } - }, - "1349406": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "m8-RAwhdDHKGm8mOMAL9YpG3OHYR8a_1CSgTv5uFgwM" - } - }, - "1349606": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo" - ], - "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": "0hUxew6d6vdvrjxRyB9XM6iP9ILA2WhuwwYt7U50Uas", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "WRWXCJkcJuhjtBR_f-nXguTb7NzlE_jCfSQzbjbQLdY", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "XlJKkOVqnGYNWK6pZcGI4F0vxyO7kyBgyLmbv_TCk1E" - } - }, - "1349806": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "hKo_C-RdCN2SM-NNaPi9ITO0BTWXBWPbIoaWlBPxgl0", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "-C_pdJoWjGMvvyKc2Bii7mPJF0soJJTaEuoKX8-ydV0" - } - }, - "1350006": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "zfT0lmZI5TSg1d7RPbxTyYZ-eBBlH-1L2VFqolLQulA" - } - }, - "1350326": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo" - ] - }, - "reports": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": "-M-fIaDw5OaETWJLtIj5slJD8IrFU3j36nPZzktHSEo", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "uS9R0MyvE0GTBKCeMHU1M6RcXYFFsIpD_Nv8W9lZ4GQ", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "RSHdgUef2jFeLALyB-uuEikXUvHTmOIXDQwUgXeGMXc" - } - }, - "1351046": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo" - ] - }, - "reports": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": "FvS_bzDLiU-Uynu0ksUPTICx66zR38TXpWsityVopBU", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "NMv_6izdSUGibIkgoeo1V5JlpbKJX_5OmTHxJfZVfPc" - } - }, - "1351766": { - "failureSummaries": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": "l4bIWbAFq7rTisAn8QgBE-bXwmyWaHcHxghmNk1bSpM", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "2WOdZozKQMKtQdbu8NVl8oExGiFDsnO6veSnm2QxeSQ", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "lfJ-YbmdkvH3pyWb5bM1q5_VQ_z_fAgdPVIlt3T9UVY" - } - }, - "1352486": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo" - ] - }, - "reports": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": "ppha3jXqAmC4EL7VPEbV-6jD4bUE7WcSdhzp61QeMdI", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "VK_HXw4IiWBW0n-J7CG2m5q8k2DrkXMqK7XRiTYYfGM", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "wuKtvysuklpZO7bSjrrlTpiNrbq3yblXlGsxrNbExYE" - } - }, - "1353206": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo" - ] - }, - "reports": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": "uDaaxpwivLuZR2KFDmcnlOIwyLc8a2DW2Uw6R60AeDY", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "10a3ZlqZTAbEl_t4dtkDFsiielkHSfM32G-0YUyeAr0", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "4BRUUPDC6jhdCLfTtCs8BVr7Eam9uRccktQITVAgeac" - } - }, - "1353926": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "Jo2Iwm4Epjq26eyj9EXct1Xpgsy9mRALF02aqoQ35as", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "tk7Fkv_97kNMe4yBuRBC5-wxsLJqLHA1-gi1CB0m2AA" - } - }, - "1354646": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "PCvSkOXCZ34FnPkLc4uM6VWiAfpqOtmwiC2x4VOnjZw", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "owNiuRCHcxMcGONY3ef4CDAMmbyAPzLzzeQrPvNlMIc" - } - }, - "1355366": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "wlcEhTQY_qjDKTvTDZsb53aX8wivbOJZKnhLswdueZw": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "DbdNIvmmX0eWz7DOIb-nFiGrGnLVq1Wo-6RnsLaaGkQ", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "ebLUmq1WH6UUF657aQ1FxGGnxbzCI2Y0nnZCS6uczQQ" - } - }, - "1356086": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "wlcEhTQY_qjDKTvTDZsb53aX8wivbOJZKnhLswdueZw": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "B2goqozPjqLBUIdYKvrerVG81IP9tkbbDqDp1tdAgjk", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "Xr_PKK_S8c75DkXXkoWFujEE5Cwdy8O4Nu76gmwIbwo" - } - }, - "1356806": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "wlcEhTQY_qjDKTvTDZsb53aX8wivbOJZKnhLswdueZw": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "PFgO5n8BcOyZxiBTaI3r97sRjSPDjBb_tB_6hB4y7xc", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "fzkYZWGTVCjybsb-VR6qyPYngAgLycgyzCEMkrYpXWs" - } - }, - "1357526": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "7m4z5fqpC_iDPpzKWNNEJDwvgzVWPOBTfKyYcp7lAgQ", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "BK6DSeZVctWxHXoWNviUYKqZf0QdD_LvX5zf5CQzOLM" - } - }, - "1358246": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "tcinE9orkgBCqmL0iwusbG7i-4OhnmsmZH0AaWDB1fg", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "j_cpRV95LoFfWDgwwyWwvLTvYwcM1QxI6z1z7II92og" - } - }, - "1358966": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "8nQLgE6aRYyESqjSQTm-akn9Mjo2RbA3bWg2I5z0H5I", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "kvD9SzGOFhvOFHlFS7gB2bZE0mS2DxNca7ph_P2_rmg" - } - }, - "1359686": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "Rd5LWNWBeshdotW5zubEB1xQK6y-JjWa5gjsXVaOECE", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "gatrufKK_sA17SF5pgPeveEH32R-tJYxRdWtTVTwDis" - } - }, - "1360406": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "z9NwXyH7vT8_Z5xMjjunWtOsR8eYbU9E1a-IVPAaBFc", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "mK8aZnqxRs_uzj-yt7w1R0jhPp1Umow1--gIkbaqWwo" - } - }, - "1361126": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "BgSTn1jAZ7Sy63KB08aDRs2DfoWDpWadZjIvFqGC3SQ", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "iImaVIj9tTZ2tTzZS8OIeIO-dXE8jKBDTjE55V44bkE" - } - }, - "1361846": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "ZTyF-nQnytE6WKOxqhv6TCnTyqRRC8Rd48uEvCNy48A", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "Urs3ygADxF3Em1Hvu9eW1qm08E9ndsWnBFLWr4crSGQ" - } - }, - "1362566": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "rwZlwBsQn1EYn8TO6w2RiZHHh_HTdG_-QNsFw1asc8E", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "j10LfyuF12NjY-2hH9HnM-B-pl_3sk83TH6tegDrRao" - } - }, - "1363286": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "Bth2rRgdSHp-x9ouVYsCuQ0PJHFHIOKv13EjnTrWywY", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "6jXHIGshSivr8L1iYwTTZdRDDTIXVu1AHzNPEjh0Jzk" - } - }, - "1364006": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "XzqbTzfSAuTWkmoBEYnztjFmQ5_MlThTNLyVjKRNFls", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "H-3PZ9XV8CWcDEvYOXwqob_6joMClsxgZ2IvpnPzQNs" - } - }, - "1364726": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "7Qe4vz_vi9JrfsRQ-Y5MkfaLJciW_CDmF0jCPYjM5No", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "7QY4phzqKY2N7R5wzObKtgtbh-HsiAnzfWkFGwK7RfI" - } - }, - "1365446": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "ixmp4zZFnNbztovGtJjrVpBkBFXlQwgOiA3OcYUbj_g", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "GZp4H3e1rYjUiFqwE-EtEQKuz0k97SENrM7dasJfeI0" - } - }, - "1366166": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "u4I3DFggUEe7QRFnb6MGxXb9rPDgtuTNB1UhcRcFUHg", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "gzu91jTARnsL2PFI97-4FwXZNQtJE85D4yQesnfg_2w" - } - }, - "1366886": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "jb_AV-NZtqij7Ta6lGXyVMKH2OfZVDG9cNr4g2N2guE", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "BNd9CqyiOSviAwd_pxMyKTZR-3PyowwiwbkCnYQ_36g" - } - }, - "1367606": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "W6BPuzIs5a9ixouYBtwWi16MZhatmXHM9FEye24z3Vo", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "RfjrNQfK8HOFhaDqB2Vbzwu9boKXVLcZrqwlLwIkxJg" - } - }, - "1368326": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "SiVbOJxbdZNtSEfXXhS6CT6N49Vkduvg_yIpb7WHZ1I", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "O-_wpSRRnLJPoP06F3FjflfYYLt9hmrcDtnfmNcQoSA" - } - }, - "1369046": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "8Vx4tuUhVyXS-_RGh_GBanwwCEJ5c9BmFesYwONgLqo", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "qBr1k30xqeTPDGP0bLhvbijkDdRB4T1lpDMRGK8oleE" - } - }, - "1369766": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "ljKYFODNwawmGSh2FaX5X4NIE4kB2bN8SS_7vctmOFw", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "omkW8ItR3PVlSc5KTvdE8iBZEIVRXrYDohE1OchGvtc" - } - }, - "1370486": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "LXR5bOky1pB-bSTVUV-0aRO_qOSYJc7iLQtIXoly-28", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "Dqbua8vz2ss3mhSLYdBco-7XjfkZqIR5jRxewzsD4wM" - } - }, - "1371206": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "RMz9EXb6EcK5PuX5haCaBPIzbEnbQ7swakv-CmswYis", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "v8C3Gu__mx9KQs-wpUwp-KP5ldNtKJHXPsZlhOCLmGU" - } - }, - "1371926": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "8byX_SU8WMpu1g67G-ZKlAIo4xTPPowGVy_QSFzxhtY", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "Zz4_cY0v25Snb1m644IFJy53AnERh656rsdOqtKAXcs" - } - }, - "1372646": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "LQxLLDTRLVh4MSaBPXMC5LJfIYdXl7zCUKEBby7i-wY", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "WoE2Lhx9gq5zIKuW3O9hPsobeV6CYgI7HXhrJWz6hxk", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "2egGLKOkFJhj5mh0Wcss4OORbbkJEqhV0P-dMhXOSek" - } - }, - "1373366": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "Ecs6eS2CMHEad0yHWHV5g1BojlIDFaNFRPq9nNRnh9w", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "b2Q8XA3oj_617Qd9cWsGu98QgoGB3GUNSY80xXYVzDU", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "cmEq8hyo7xwp4yFu7Rho8KuyJn7Ac0rZjMTTcX7BEuY" - } - }, - "1374086": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "DqA2yoLmCfALMU_JH2PyvaOpML3Dc-_df-Nva0y2wGo", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "H0UHYTOq2rM3wGduasKhisVOGhNyriJ7v2dbwU5DXEY", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "zw1V6ly4V9S2ZNzYn4g8J0DvctXg-nzr3DiVPSDEk9w" - } - }, - "1374806": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "vz-aiJeD4lVSVohlyJoEJ_2HV7ELFu-RKlYEJOd2jfQ", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "USvQBIXflKSgKp7mw26k6MDNk37rvMYN4cVr4jaDWj8", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "Et2SBKfaA5ARfZ0XbL-HDkCHNYoqj6LR4BDkKAvwcSI" - } - }, - "1375526": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "3TzYOHphWGApYhVS6FNMPaTCseGlbwtQfefEM2S0WEk", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "-sNbu0GsUdyBHA6kbQiXHv10JX7U4L48G4uII0yK1Eo", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "ZAKe7kSuADx3B6Fi9nccl17gzXY4n92q57xCNUGLv1o" - } - }, - "1376246": { - "failureSummaries": { - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "LdwOqrjLKh1VnDZSJKHScZ3kQZd7xmZuRahE9uyVHwk", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "iHrMcn5aQDr3hXZDVh105X5mXC98p3jz0OKn1JpgTNg", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "uJeO6F-_smHT6PX8q-MPMzGTk5IJUP6X3eJJhP7c3Lg" - } - }, - "1376966": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ], - "NdZ3YRwMB2AMwwFYjKn1g88Y9nRybTo0qhS1ORq_E7g": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "IX_Kkvf_cXGTygneJ69QcPH-9rDVC15VkikJHAS59lQ", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "Yxh8L3cEKEck_VWN8tup3qTGe5Ba189adRNnc2DBjKg", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "_vUz3qjlA3DqH99bZsHk6IUt8bha-Lt_TxgDpdzOv_0" - } - }, - "1377686": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "a-o4YZ7_miGBWudpB4NXheOnVZXqcyM-8Cgiv1UIIs4", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "BgZufFwU5bzUzqiroBHRFTR3eDiNVF8P-9Ftq4ImGzs", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "Esf5T0PU5QK7TqpaI1OTSsJZiBgZK9VY912aPGTBxyU" - } - }, - "1378406": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "7LKUkFYV72Rir2qYlnVqJAoi5Ew09LtxJkWznkc9nDk", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "rneFWEfWTlqFczoo6B0PuIbRI7Y0N2bQalflUtDFaTo", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "NqXW83gRpPg6c4XdmMrOeYWwVMT5pOzqf6nmXmJGUd4" - } - }, - "1379126": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "yzIQyZsV43vGjjZulhj53upAj8HS-e8WUNt-tvN0rEM", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "pMQLmxQ5RR1LjyWdVMzGySBU4VrRV6Yk4uyURyqAQjo", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "iezXNP9Tp196h8h_vLfedzglUrVrRll0cPIp99lzdPk" - } - }, - "1379846": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "5e86bvQLVvni2IYPyiecbonF9i4xNJb60Ci_7NG8F1c", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "yv58zTXW07pg3Q0XMjFS2IZwGCOxTrau8Vo6WpagLzk" - } - }, - "1380566": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "DDJzDVE_TmBZVvj3BkenwBi-FBRsZBftgtDRs4RR6-Y", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "EK9oCo1o_-2WyQVCfIx9uxkQ3uVTrQLf7vuQkcd_IxQ" - } - }, - "1381286": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "oBdOz86qEapj25sJlXDYWJFc2O5hE1Fc9hXcS0Yzd5M", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "jR91EQ_KzNPlEngYH26vE1ovEZOi7tfOzQFfkPMyPEs", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "cKfXjr1MIsRfrWzkpWaw1voNqGsJfqu_7QUhfg1gX3k" - } - }, - "1382006": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "P0PQiV9HRUs3SRLaJbzn6WYzTGt7dUoPCfoqHhUjshI", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "vdWnedX6BI8ITlFJBWVT_UyhfKHPnDHNfBF7cEiMNyo", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "eSaPcP61GoZeHuhTZLqMxym7HvUnbKab7NMR3YC1gjk" - } - }, - "1382726": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "eRkkteWc_vZo1DJGZUFWlIIArEuN2vKSS2P6UDyNYQU", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "VIDz1ZlD3QYWaY3TNmLRmWLwyS2vPPfwyzh3fo33RUA", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "HG75BVMqG-hYAftGiAtKiJLpTHcluf0pl2bzpLE-J50" - } - }, - "1383446": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0" - ] - }, - "reports": { - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "qJ-MFKYuvxdGK92NjQnoFZsVjfKvnj2VBAivF0LgU9I", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "ioSqeZpVwBFpPF5Em8YR5Cflc8GkGEgOlT17g9HlxwY" - } - }, - "1384166": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "Jd2VpXKvBQs9IWw4d03KZXnP7Ur-bAoQgJ4Sq9X1494", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "AsD-W0ESQpGs1ERvi6FMwSxV3khomP9JowuB_zZ-IfI", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "CX1Q5fRDBbY_p6ThoNU6FPgJKkshpFiBeYRtqEq8K8E" - } - }, - "1384886": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "XDm78-ADkB7gBQcZG9DDqaBV3d_nV9vAa_fKqfON0wg", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "-4_SF16df4emqzZFrS-lwHa6pjNmskD_Fcq9Nh-WRbw", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "mMJcLnf6qeobbEeYgsdV8c6NL0JQmGxBGXrZukkMvsE" - } - }, - "1385606": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ], - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "0DzCbrd8SEt3mHF0ypOU50-3wSBGZZOlDQBdCw8Gfb8", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "8JG8f-7FCy7Z7MmSneh0jePrV29LQxSSaJZI6Ymo80Q", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "Q2pULZhn-Qe9xwGNMrsMiHW5OhMp_72TMfMfweG5fQs" - } - }, - "1386326": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "hiKFT5gqWSdmqEGMS7MRmCxpLvNy0hThkeG42sA45CI", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "M4xwH4onIxnYGcVuIESLzPklkTd895ayEXZGqUM4RzE", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "lxXZ0VdnzxC6ytbmfh-OaB0DyvBu26sYGMfuY1gve9Q" - } - }, - "1387046": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "IYn1wTrnF5eUP59FayQfMThdm0KQPlhAuVyp7MvqqNs", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "r1beTgATmn97KWh703jIqOiTZ8biHWLFmZVzR1MN2Xw", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "EzK6SquV4MexwfpQ14G0XCtI0aYyR3_dmH3KcBJ-eDQ" - } - }, - "1387766": { - "failureSummaries": { - "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0", - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" - ] - }, - "reports": { - "M0WP8KSzCvKpzC-HPF1WcddLgGaL9J4DGi76iMnhrN4": "T2_mU24RQUzHO1YyUoJ4leY-UYMP2zEs6xSXsNXwG_E", - "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA": "RXJ3OeFNpu3xh5cfTRzYR63D1i8PYV08IoxAUrFPJuw", - "xN_aVln30LmoCffwmk5_kRkcyQZyZWy1o_TNtM_CTm0": "2p3OF4_O2xUCfhiBjytC8-Xu3LX38A2J4vsRz8x1ym8" - } - }, - "1388486": { + "0": { "failureSummaries": { "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo": [ "iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA" @@ -1398,7 +348,7 @@ }, "owner": "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ", "prescribedObservers": { - "1388486": [ + "0": [ { "compositeWeight": 0.2759041725369501, "gatewayAddress": "1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo", diff --git a/tests/utils.ts b/tests/utils.ts index ee6f4130..94d2b584 100644 --- a/tests/utils.ts +++ b/tests/utils.ts @@ -4,6 +4,8 @@ import * as fs from 'fs'; import path from 'path'; import { ContractDeploy, Warp } from 'warp-contracts'; +import { WeightedObserver } from '../src/contract-state'; + export async function deployANTContract({ jwk, address, @@ -60,6 +62,21 @@ export async function deployArIOContract({ 'utf8', ), ); + + // add the wallet owner as a prescribed observer and as a gateway + const prescribedObservers: WeightedObserver[] = + state.prescribedObservers['0']; + const lastObserver: WeightedObserver = + prescribedObservers.pop() as WeightedObserver; + const newPrescribedObserver: WeightedObserver = { + ...lastObserver, + gatewayAddress: address, + observerAddress: address, + }; + const updatedPrescribedObservers = [ + ...prescribedObservers, + newPrescribedObserver, + ]; return await warp.deploy({ wallet: jwk, src: src, @@ -67,6 +84,9 @@ export async function deployArIOContract({ ...state, owner: address, balances: { [address]: 100_000_000_000_000 }, + prescribedObservers: { + 0: updatedPrescribedObservers, + }, }), }); } @@ -81,12 +101,11 @@ export async function createLocalWallet( // mint some tokens await arweave.api.get(`/mint/${address}/${amount}`); + const walletDir = path.join(__dirname, './wallets'); + const walletPath = path.join(walletDir, `${address}.json`); // save it to local directory - if (!fs.existsSync(path.join(__dirname, `./wallets/${address}.json`))) { - fs.writeFileSync( - path.join(__dirname, `./wallets/${address}.json`), - JSON.stringify(wallet), - ); + if (!fs.existsSync(walletPath)) { + fs.writeFileSync(walletPath, JSON.stringify(wallet)); } return { @@ -97,16 +116,28 @@ export async function createLocalWallet( export function removeDirectories() { ['./wallets', './contracts'].forEach((dir) => { - if (fs.existsSync(path.join(__dirname, dir))) { - fs.rmSync(path.join(__dirname, dir), { recursive: true }); + const dirPath = path.join(__dirname, dir); + if (fs.existsSync(dirPath)) { + fs.rmSync(dirPath, { recursive: true }); } }); } export function createDirectories() { ['./wallets', './contracts'].forEach((dir) => { - if (!fs.existsSync(path.join(__dirname, dir))) { - fs.mkdirSync(path.join(__dirname, dir)); + const dirPath = path.join(__dirname, dir); + if (!fs.existsSync(dirPath)) { + fs.mkdirSync(dirPath); } }); } + +export function mineBlocks({ + arweave, + blocks = 1, +}: { + arweave: Arweave; + blocks?: number; +}) { + return arweave.api.get('/mine/' + blocks); +}