diff --git a/build-undername-leasing.js b/build-undername-leasing.js new file mode 100644 index 0000000..b5c9c65 --- /dev/null +++ b/build-undername-leasing.js @@ -0,0 +1,106 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +const fs = require('fs'); +const path = require('path'); +const { build } = require('esbuild'); +const replace = require('replace-in-file'); +const Ajv = require('ajv'); +const standaloneCode = require('ajv/dist/standalone').default; +const contracts = ['contract-undername-leasing.ts']; +const { + balanceSchema, + removeControllerSchema, + setControllerSchema, + setNameSchema, + setTickerSchema, + setRecordSchema, + removeRecordSchema, + transferSchema, + evolveSchema, + mintSchema, + setMintingPairSchema, + buyRecordSchema, + setReservedRecordsSchema, + removeReservedRecordsSchema, +} = require('./schemas'); + +// build our validation source code +const ajv = new Ajv({ + schemas: [ + balanceSchema, + removeControllerSchema, + setControllerSchema, + setNameSchema, + setTickerSchema, + setRecordSchema, + removeRecordSchema, + transferSchema, + evolveSchema, + mintSchema, + setMintingPairSchema, + buyRecordSchema, + setReservedRecordsSchema, + removeReservedRecordsSchema, + ], + code: { source: true, esm: true }, +}); + +const moduleCode = standaloneCode(ajv, { + validateSetRecord: '#/definitions/setRecord', + validateRemoveRecord: '#/definitions/removeRecord', + validateSetController: '#/definitions/setController', + validateRemoveController: '#/definitions/removeController', + validateSetName: '#/definitions/setName', + validateSetTicker: '#/definitions/setTicker', + validateBalance: '#/definitions/balance', + validateTransferTokens: '#/definitions/transfer', + validateEvolve: '#/definitions/evolve', + validateMint: '#/definitions/mint', + validateSetMintingPair: '#/definitions/setMintingPair', + validateBuyRecord: '#/definitions/buyRecord', + validateSetReservedRecords: '#/definitions/setReservedRecords', + validateRemoveReservedRecords: '#/definitions/removeReservedRecords', +}); + +// Now you can write the module code to file +fs.writeFileSync(path.join(__dirname, '/src/validations-undername-leasing.js'), moduleCode); + +build({ + entryPoints: contracts.map((source) => { + return `./src/${source}`; + }), + outdir: './dist', + minify: false, + bundle: true, + format: 'iife', + packages: 'external', + tsconfig: './tsconfig.json', +}) + .catch(() => process.exit(1)) + // note: SmartWeave SDK currently does not support files in IIFE bundle format, so we need to remove the "iife" part ;-) + // update: it does since 0.4.31, but because viewblock.io is still incompatibile with this version, leaving as is for now. + .finally(() => { + const files = contracts.map((source) => { + return `./dist${source}`.replace('.ts', '.js'); + }); + replace.sync({ + files: files, + from: [/\(\(\) => {/g, /}\)\(\);/g], + to: '', + countMatches: true, + }); + }); diff --git a/globals.d.ts b/globals.d.ts index cfdfa20..41ec9e9 100644 --- a/globals.d.ts +++ b/globals.d.ts @@ -14,5 +14,56 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -declare let SmartWeave: any; +type TransactionOrigin = 'L1' | 'L2'; + +interface SWTransaction { + readonly id: string; + readonly owner: string; + readonly target: string; + readonly tags: {name: string, value: string}[]; + readonly sortKey: string; + readonly dryRun: boolean; + readonly quantity: number; + readonly reward: number; + readonly origin: TransactionOrigin; +} + +interface SWBlock { + readonly height: number; + readonly indep_hash: string; + readonly timestamp: number; +} + +type SmartWeaveGlobal = { + gasUsed: number; + gasLimit: number; + transaction: SWTransaction; + block: SWBlock; + vrf: any; // SWVrf replaced with any + evaluationOptions: any; // EvaluationOptions replaced with any + arweave: Pick; // Arweave replaced with any + contract: { + id: string; + owner: string; + }; + unsafeClient: any; // Arweave replaced with any + baseArweaveUrl: string; + safeArweaveGet: (input: RequestInfo | URL, init?: RequestInit) => Promise; + contracts: { + readContractState: (contractId: string, returnValidity?: boolean) => Promise; + viewContractState: (contractId: string, input: any) => Promise; + write: (contractId: string, input: any) => Promise; + refreshState: () => Promise; + }; + extensions: any; + _activeTx?: any; // GQLNodeInterface replaced with any + caller?: string; + kv: any; // KV replaced with any + useGas(gas: number): void; + getBalance(address: string, height?: number): Promise; +} + + + +declare let SmartWeave: SmartWeaveGlobal; declare let ContractError: any; diff --git a/initial-state-undername-leasing.json b/initial-state-undername-leasing.json new file mode 100644 index 0000000..5e00b34 --- /dev/null +++ b/initial-state-undername-leasing.json @@ -0,0 +1,89 @@ +{ + "ticker": "ANT-OWNABLE-UNDERNAMES", + "name": "Arweave Name Token v0.0.0", + "owner": "", + "controllers": [], + "fees": { + "1": 5000000, + "2": 500000, + "3": 100000, + "4": 25000, + "5": 10000, + "6": 5000, + "7": 2500, + "8": 1500, + "9": 1250, + "10": 1250, + "11": 1250, + "12": 1250, + "13": 1000, + "14": 1000, + "15": 1000, + "16": 1000, + "17": 1000, + "18": 1000, + "19": 1000, + "20": 1000, + "21": 1000, + "22": 1000, + "23": 1000, + "24": 1000, + "25": 1000, + "26": 1000, + "27": 1000, + "28": 1000, + "29": 1000, + "30": 1000, + "31": 1000, + "32": 1000, + "33": 1000, + "34": 1000, + "35": 1000, + "36": 1000, + "37": 1000, + "38": 1000, + "39": 1000, + "40": 1000, + "41": 1000, + "42": 1000, + "43": 1000, + "44": 1000, + "45": 1000, + "46": 1000, + "47": 1000, + "48": 1000, + "49": 1000, + "50": 1000, + "51": 1000, + "52": 1000, + "53": 1000, + "54": 1000, + "55": 1000, + "56": 1000, + "57": 1000, + "58": 1000, + "59": 1000, + "60": 1000, + "61": 1000 + }, + "reserved": { + "subDomains": [], + "pattern": "" + }, + "records": { + "@": { + "transactionId": "", + "ttlSeconds": 900 + } + }, + "balances": { + "": 0 + }, + "totalSupply": 0, + "supportedTokens": { + "AR": { + "conversionRate": 1 + } + }, + "evolve": null +} diff --git a/package.json b/package.json index b12204e..db66be0 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.2.0", "private": true, "scripts": { - "build": "yarn clean && node build.js && tsc --noEmit", + "build": "yarn clean && node build.js && node build-undername-leasing.js && tsc --noEmit", "format:check": "prettier . --check --cache", "format:fix": "prettier . --write", "lint:check": "eslint .", diff --git a/schemas/buyRecord.js b/schemas/buyRecord.js new file mode 100644 index 0000000..5a78389 --- /dev/null +++ b/schemas/buyRecord.js @@ -0,0 +1,40 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +const buyRecordSchema = { + $id: '#/definitions/buyRecord', + type: 'object', + properties: { + function: { + type: 'string', + const: 'buyRecord', + }, + subDomain: { + type: 'string', + pattern: '^([a-zA-Z0-9][a-zA-Z0-9-_]{0,59}[a-zA-Z0-9]|[a-zA-Z0-9]{1}|@)$', + }, + contractTxId: { + type: 'string', + pattern: '^(atomic|[a-zA-Z0-9-_]{43})$' + } + }, + required: ['subDomain', 'contractTxId'], + additionalProperties: false, +}; + +module.exports = { + buyRecordSchema, +}; diff --git a/schemas/index.js b/schemas/index.js index 636fe3f..48bcb25 100644 --- a/schemas/index.js +++ b/schemas/index.js @@ -24,4 +24,9 @@ module.exports = { removeControllerSchema: require('./removeController').removeControllerSchema, balanceSchema: require('./balance').balanceSchema, transferSchema: require('./transfer').transferSchema, + mintSchema: require('./mint').mintSchema, + setMintingPairSchema: require('./setMintingPair').setMintingPairSchema, + buyRecordSchema: require('./buyRecord').buyRecordSchema, + setReservedRecordsSchema: require('./setReservedRecords').setReservedRecordsSchema, + removeReservedRecordsSchema: require('./removeReservedRecords').removeReservedRecordsSchema, }; diff --git a/schemas/mint.js b/schemas/mint.js new file mode 100644 index 0000000..ac43df0 --- /dev/null +++ b/schemas/mint.js @@ -0,0 +1,39 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +const mintSchema = { + $id: '#/definitions/mint', + type: 'object', + properties: { + function: { + type: 'string', + const: 'mint', + }, + type: { + type: 'string', + }, + tokenId: { + type: 'string', + pattern:'^[a-zA-Z0-9_-]{43}$' + } + }, + required: ['type', 'tokenId'], + additionalProperties: false, +}; + +module.exports = { + mintSchema, +}; diff --git a/schemas/removeReservedRecords.js b/schemas/removeReservedRecords.js new file mode 100644 index 0000000..ad0f2b3 --- /dev/null +++ b/schemas/removeReservedRecords.js @@ -0,0 +1,39 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +const removeReservedRecordsSchema = { + $id: '#/definitions/removeReservedRecords', + type: 'object', + properties: { + function: { + type: 'string', + const: 'removeReservedRecords', + }, + subDomains: { + type: 'array', + items: { + type: 'string', + pattern: '^([a-zA-Z0-9][a-zA-Z0-9-_]{0,59}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$' + }, + }, + }, + required: ['subDomains'], + additionalProperties: false, +}; + +module.exports = { + removeReservedRecordsSchema, +}; diff --git a/schemas/setMintingPair.js b/schemas/setMintingPair.js new file mode 100644 index 0000000..f909f00 --- /dev/null +++ b/schemas/setMintingPair.js @@ -0,0 +1,48 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +const setMintingPairSchema = { + $id: '#/definitions/setMintingPair', + type: 'object', + properties: { + function: { + type: 'string', + const: 'setMintingPair', + }, + conversionRate: { + type: 'number', + }, + tokenId: { + type: 'string', + pattern:'^[a-zA-Z0-9_-]{43}$' + }, + transferFunction: { + type: 'string', + }, + recipientArg: { + type: 'string' + }, + quantityArg: { + type: 'string' + } + }, + required: ['tokenId', 'transferFunction', 'recipientArg', 'quantityArg'], + additionalProperties: false, +}; + +module.exports = { + setMintingPairSchema, +}; diff --git a/schemas/setRecord.js b/schemas/setRecord.js index 434e0b1..9bc80b9 100644 --- a/schemas/setRecord.js +++ b/schemas/setRecord.js @@ -24,7 +24,7 @@ const setRecordSchema = { }, subDomain: { type: 'string', - pattern: '^([a-zA-Z0-9][a-zA-Z0-9-_]{0,59}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$', + pattern: '^([a-zA-Z0-9][a-zA-Z0-9-_]{0,59}[a-zA-Z0-9]|[a-zA-Z0-9]{1}|@)$', }, transactionId: { type: 'string', diff --git a/schemas/setReservedRecords.js b/schemas/setReservedRecords.js new file mode 100644 index 0000000..fb15d1c --- /dev/null +++ b/schemas/setReservedRecords.js @@ -0,0 +1,42 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +const setReservedRecordsSchema = { + $id: '#/definitions/setReservedRecords', + type: 'object', + properties: { + function: { + type: 'string', + const: 'setReservedRecords', + }, + subDomains: { + type: 'array', + items: { + type: 'string', + pattern: '^([a-zA-Z0-9][a-zA-Z0-9-_]{0,59}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$' + }, + }, + pattern: { + type: 'string', + } + }, + required: ['subDomains'], + additionalProperties: false, +}; + +module.exports = { + setReservedRecordsSchema, +}; diff --git a/src/actions/write/buyRecord.ts b/src/actions/write/buyRecord.ts new file mode 100644 index 0000000..a4d89d4 --- /dev/null +++ b/src/actions/write/buyRecord.ts @@ -0,0 +1,60 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +import { INVALID_INPUT_MESSAGE, MIN_TTL_LENGTH } from "../../constants" +import { validateBuyRecord } from '../../validations-undername-leasing' + +export async function buyRecord(state, { input, caller }) { + + try { + const { subDomain, contractTxId } = input + + const fee = state.fees[subDomain.length] + const reservedRegex = new RegExp(state.reserved.pattern) + + if (!validateBuyRecord(input)) { + throw new Error(INVALID_INPUT_MESSAGE) + } + + if (reservedRegex.test(subDomain)) { + throw new Error(`Subdomain ${subDomain} is reserved and cannot be purchased: ${state.reserved.pattern}`) + } + + if (state.records[subDomain]) { + throw new Error(`Subdomain ${subDomain} is permanently owned and will never EVER be available for purchase again`) + } + + if (fee > state.balances[caller]) { + throw new Error(`Caller does not have enough balance to purchase ${subDomain}`) + } + + state.balances[caller] -= fee + state.records[subDomain] = { + contractTxId: contractTxId === 'atomic' ? SmartWeave.transaction.id : contractTxId, + price: fee, + buyer: caller, + transactionId: '', + ttlSeconds: MIN_TTL_LENGTH, + } + state.totalSupply -= fee + + } catch (error) { + throw new ContractError(`Error executing buyRecord: ${error.message}`) + } + + return { state } +} \ No newline at end of file diff --git a/src/actions/write/mint.ts b/src/actions/write/mint.ts new file mode 100644 index 0000000..53f2196 --- /dev/null +++ b/src/actions/write/mint.ts @@ -0,0 +1,60 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +import { validateExternalTokenTransfer } from "../../utils"; +import { INVALID_INPUT_MESSAGE, PAYMENT_TYPES } from "../../constants"; +import { validateMint } from '../../validations-undername-leasing' + +export const mint = async (state, { input, caller }) => { + const { type, tokenId } = input + const { supportedTokens, owner } = state + const token = supportedTokens[type === PAYMENT_TYPES.ARWEAVE ? 'AR' : tokenId] + let qty = 0 + + if (!validateMint(input)) { + throw new ContractError(INVALID_INPUT_MESSAGE) + } + + if (type === PAYMENT_TYPES.ARWEAVE) { + qty = +SmartWeave.transaction.quantity + } else if (type === PAYMENT_TYPES.TOKEN && tokenId) { + + if (!Object.keys(supportedTokens).includes(tokenId)) { + throw new ContractError('Unsupported token for minting') + } + + const tags = SmartWeave.transaction.tags + const price = await validateExternalTokenTransfer({ + tags, + tokenId, + config: token, + owner + }) + qty = +price + + } + + if (qty <= 0 || !Number.isInteger(qty)) { + throw new ContractError(`Invalid payment amount: qty is less than or equal to 0, recieved ${qty} on type ${type}`) + } + state.balances[caller] = +qty * token.conversionRate + state.supportedTokens[type === PAYMENT_TYPES.ARWEAVE ? 'AR' : tokenId].revenue += qty + state.totalSupply = Object.values(state.balances).reduce((acc:number, balance:number) => acc + balance, 0) + + +return { state } +} \ No newline at end of file diff --git a/src/actions/write/removeReservedRecords.ts b/src/actions/write/removeReservedRecords.ts new file mode 100644 index 0000000..9d12796 --- /dev/null +++ b/src/actions/write/removeReservedRecords.ts @@ -0,0 +1,41 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +import { INVALID_INPUT_MESSAGE } from '../../constants' +import { validateRemoveReservedRecords } from '../../validations-undername-leasing' +export const removeReservedRecords = async (state, { input, caller }) => { + + const { subDomains } = input + + if (!validateRemoveReservedRecords(input)) { + throw new ContractError(INVALID_INPUT_MESSAGE) + } + + if (caller !== state.owner) { + throw new ContractError('Caller must be contract owner to remove reserved records') + } + + const reservedRecords = new Set([...state.reserved.subDomains].filter(subDomain => !subDomains.includes(subDomain))) + const regexString = reservedRecords.size > 0 ? `(${[...reservedRecords].join('|')}|[${state.reserved.pattern}])` : '' + + state.reserved = { + pattern: regexString, + subDomains: reservedRecords, + } + + return { state } +} \ No newline at end of file diff --git a/src/actions/write/resolveRecords.ts b/src/actions/write/resolveRecords.ts new file mode 100644 index 0000000..c42999e --- /dev/null +++ b/src/actions/write/resolveRecords.ts @@ -0,0 +1,39 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +import { MIN_TTL_LENGTH } from "../../constants"; +export const resolveRecords = async (state) => { + const { records } = state + + for (const [subDomain, record] of Object.entries(records) as any) { + if (record.contractTxId) { + let error: string | undefined; + const ANTState = await SmartWeave.contracts.readContractState(record.contractTxId).catch((e) => { + error = e.message + }) + + const { transactionId, ttlSeconds } = ANTState.records['@'] + state.records[subDomain] = { + ...record, + transactionId: transactionId ?? "", + ttlSeconds: ttlSeconds ?? MIN_TTL_LENGTH, + error // to alert of resolution issues - can possibly be used for notifications + } + } + } + + return {state} +} \ No newline at end of file diff --git a/src/actions/write/setMintingPair.ts b/src/actions/write/setMintingPair.ts new file mode 100644 index 0000000..b5f7f2a --- /dev/null +++ b/src/actions/write/setMintingPair.ts @@ -0,0 +1,48 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +import { ARWEAVE_ID_REGEX, INVALID_INPUT_MESSAGE } from "../../constants" +import { validateSetMintingPair } from '../../validations-undername-leasing' + +export const setMintingPair = async (state, {input, caller}) => { + + const { tokenId, conversionRate, transferFunction, recipientArg, quantityArg } = input + const { owner } = state + + if (!validateSetMintingPair(input)) { + throw new ContractError(INVALID_INPUT_MESSAGE) + } + + // NOTE: Smartweaver validation tools should be used to validate the contract client side to check the required fields are present + + if (caller !== owner) { + throw new ContractError('Caller must be contract owner to add token pair') + } + + if (!ARWEAVE_ID_REGEX.test(tokenId)) { + throw new ContractError('Token ID must be an arweave transaction ID') + } + + state.supportedTokens[tokenId] = { + conversionRate: conversionRate ?? 1, + revenue: 0, + transferFunction, + recipientArg, + quantityArg + } + + return { state } +} \ No newline at end of file diff --git a/src/actions/write/setReservedRecords.ts b/src/actions/write/setReservedRecords.ts new file mode 100644 index 0000000..f878c8b --- /dev/null +++ b/src/actions/write/setReservedRecords.ts @@ -0,0 +1,42 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + + import { INVALID_INPUT_MESSAGE } from '../../constants' +import { validateSetReservedRecords } from '../../validations-undername-leasing' +export const setReservedRecords = async (state, { input, caller }) => { + const {pattern, subDomains} = input + + if (!validateSetReservedRecords(input)) { + throw new ContractError(INVALID_INPUT_MESSAGE) + } + + if (caller !== state.owner) { + throw new ContractError('Caller must be contract owner to set reserved records') + } + + const reservedRecords = new Set([...subDomains, ...state.reserved.subDomains]) + const regexString = reservedRecords.size > 0 ? `(${[...reservedRecords].join('|')}|[${pattern ?? state.reserved.pattern}])` : '' + + state.reserved = { + pattern: regexString, + subDomains: [...reservedRecords], + } + + + +return { state } +} \ No newline at end of file diff --git a/src/constants.ts b/src/constants.ts index cfdb013..9859c2c 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -23,3 +23,13 @@ export const UNDERNAME_REGEX = new RegExp('^[a-zA-Z0-9_-]+$'); export const INVALID_INPUT_MESSAGE = 'Invalid input for interaction'; export const NON_CONTRACT_OWNER_MESSAGE = `Caller is not the owner of the ANT!`; export const NON_CONTRACT_OWNER_CONTROLLER_MESSAGE = `Caller is not the owner or controller of the ANT!`; +export const SECONDS_IN_A_YEAR = 31_536_000; +export enum PAYMENT_TYPES { + ARWEAVE = 'ARWEAVE', + TOKEN = 'TOKEN', +} + +export enum PURCHASE_TYPES { + LEASE = 'LEASE', + BUY = 'BUY' +} diff --git a/src/contract-undername-leasing.ts b/src/contract-undername-leasing.ts new file mode 100644 index 0000000..f9a4fe4 --- /dev/null +++ b/src/contract-undername-leasing.ts @@ -0,0 +1,92 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +import { balance } from './actions/read/balance'; +import { buyRecord } from './actions/write/buyRecord'; +import { evolve } from './actions/write/evolve'; +import { mint } from './actions/write/mint'; +import { removeController } from './actions/write/removeController'; +import { removeRecord } from './actions/write/removeRecord'; +import { removeReservedRecords } from './actions/write/removeReservedRecords'; +import { resolveRecords } from './actions/write/resolveRecords'; +import { setController } from './actions/write/setController'; +import { setMintingPair } from './actions/write/setMintingPair'; +import { setName } from './actions/write/setName'; +import { setRecord } from './actions/write/setRecord'; +import { setReservedRecords } from './actions/write/setReservedRecords'; +import { setTicker } from './actions/write/setTicker'; +import { transferTokens } from './actions/write/transferTokens'; +import { ANTState, AntAction, ContractResult } from './types'; +import { validateDirectRecordManagement } from './utils'; + +declare const ContractError; + +export async function handle( + state: ANTState, + action: AntAction, +): Promise { + const input = action.input; + + if (SmartWeave.transaction.origin !== 'L1') { + // NOTE: this is a programmatic control that can be evolved to support L2 transactions, contracts should be deployed with SourceType "both" + throw new ContractError('ANT can only be called from L1'); + } + + switch (input.function) { + case 'transfer': + return await transferTokens(state, action); + case 'setRecord':{ + /** + * NOTE: due to buyRecord, we need to protect record owners from direct control. To compose the setRecord without modifying it, + * this access-control method is placed here, so as to avoid having to modify the setRecord action. + */ + validateDirectRecordManagement(state, action.caller, input.subDomain) + return await setRecord(state, action); + } + case 'removeRecord':{ + validateDirectRecordManagement(state, action.caller, input.subDomain) + return await removeRecord(state, action); + } + case 'setName': + return await setName(state, action); + case 'setTicker': + return await setTicker(state, action); + case 'setController': + return await setController(state, action); + case 'removeController': + return await removeController(state, action); + case 'balance': + return await balance(state, action); + case 'setReservedRecords': + return await setReservedRecords(state, action); + case 'removeReservedRecords': + return await removeReservedRecords(state, action); + case 'setMintingPair': + return await setMintingPair(state, action); + case 'mint': + return await mint(state, action); + case 'buyRecord': + return await buyRecord(state, action); + case 'resolveRecords': + return await resolveRecords(state); + case 'evolve': + return await evolve(state, action); + default: + throw new ContractError( + `No function supplied or function not recognised: "${input.function}"`, + ); + } +} diff --git a/src/types.ts b/src/types.ts index 635123b..dfca70d 100644 --- a/src/types.ts +++ b/src/types.ts @@ -20,13 +20,32 @@ export type ANTRecord = { ttlSeconds: number; }; +export type ANTOwnableRecord = { + contractTxId?: string; + price?: number; + buyer?: string; + error?: string; +} & ANTRecord; + +export type TokenConfig = { + conversionRate: number; + transferFunction: string; + recipientArg: string; + quantityArg: string; +} + export type ANTState = { ticker: string; // A short token symbol, shown in block explorers and marketplaces name: string; // The friendly name of the token, shown in block explorers and marketplaces owner: string; // The owner of this contract who can execute specific methods controllers: string[]; // The controller of the records, who can add/change subdomains and their settings - records: Record; + records: Record; balances: Record; + reserved?: { + pattern: string; + subDomains: string[]; + }; + supportedTokens?: Record; evolve: string; // The new Smartweave Source Code transaction to evolve this contract to }; diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 0000000..3062934 --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,75 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +import { TokenConfig } from "./types" + +export async function validateExternalTokenTransfer({tags, tokenId, config, owner}:{tags: any[], tokenId: string, config:TokenConfig, owner: string}): Promise { + let qty = 0 + const { transferFunction, recipientArg, quantityArg } = config + try { + const input = tags.reduce((acc, tag, index) => { + if (tag.name === 'Contract' && tag.value === tokenId) { + acc = JSON.parse(tags[index + 1].value) + } + return acc + }, {}) + + if (!input[quantityArg]|| input[quantityArg] <= 0) { + throw new Error(`"${quantityArg}" is required and must be greater than 0`) + } + + if (!input[recipientArg] || input[recipientArg] !== owner) { + throw new Error(`"${recipientArg}" must be contract owner`) + } + if (input.function !== transferFunction) { // TODO: add support for other transfer function eg transferFrom + throw new Error(`function must be "${transferFunction}"`) + } + const { state, validity, errorMessages } = await SmartWeave.contracts.readContractState(tokenId, true) + + if (!validity[SmartWeave.transaction.id]) { + throw new Error(`Token transfer is not valid [Error: ${errorMessages[SmartWeave.transaction.id]}]`) + } + if (!state.balances) { + throw new Error('Token state must have balances - the contract is not a valid token contract') + } + if (!state.balances[owner]) { + throw new Error('Transfer was valid but owner does not have a balance for this token') + } + + qty = input.qty + + } catch (error) { + throw new ContractError('Invalid token transfer: ' + error.message) + } + return qty + +} + +export const validateDirectRecordManagement = (state, caller, subDomain) => { + const reservedRegex = new RegExp(state.reserved.pattern) + if (!reservedRegex.test(subDomain)) { + throw new ContractError('Subdomains must be reserved before they are directly managed') + } + + if (state.records[subDomain] && state.records[subDomain].contractTxId) { + throw new ContractError('Subdomains that are owned by a contract cannot be directly managed') + } + + if (!state.controllers.includes(caller) && state.owner !== caller) { + throw new ContractError('Caller must be owner or controller for direct record management') + } +} \ No newline at end of file diff --git a/tests/undername-leasing.test.ts b/tests/undername-leasing.test.ts new file mode 100644 index 0000000..d7c5bc3 --- /dev/null +++ b/tests/undername-leasing.test.ts @@ -0,0 +1,264 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +import { Contract, SourceType, Tag } from 'warp-contracts'; + +import { ANTState } from '../src/types'; +import { + arweave, + createLocalWallet, + deployANTUndernameLeasingContract, + deployARNSContract, + warp, +} from './utils/helper'; +import { MIN_TTL_LENGTH } from '../src/constants'; + +describe('Undername Leasing', () => { + let ownerAddress: string; + let ownerWallet; + let buyerAddress: string; + let buyerWallet; + let antContractTxId: string; + let antContract: Contract; + let arnsContractTxId: string; + let arnsContract: Contract; + const mintAmount = 1000000000; + + beforeAll(async () => { + const { wallet: _ownerWallet, address: _ownerAddress } = + await createLocalWallet(arweave); + const { wallet: _buyerWallet, address: _buyer } = + await createLocalWallet(arweave); + const { contractTxId } = await deployANTUndernameLeasingContract({ + warp, + owner: _ownerAddress, + wallet: _ownerWallet, + }); + + antContractTxId = contractTxId; + antContract = warp + .contract(antContractTxId) + .setEvaluationOptions({ + sourceType: 'arweave' as SourceType, + unsafeClient: 'skip', + }); + + const { contractTxId: arnsId } = await deployARNSContract({ + warp, + owner: _ownerAddress, + wallet: _ownerWallet, + balances: { + [_ownerAddress]: 0, + [_buyer]: mintAmount * 10, + } + }); + arnsContractTxId = arnsId; + arnsContract = warp + .contract(arnsContractTxId) + .setEvaluationOptions({ + sourceType: 'arweave' as SourceType, + unsafeClient: 'skip', + }); + + + ownerAddress = _ownerAddress; + ownerWallet = _ownerWallet; + + buyerAddress = _buyer; + buyerWallet = _buyerWallet; + }); + + it('should mint tokens with IO and buy a record on the ANT', async () => { + const undername = 'my-super-duper-awesome-undername' + const targetId = ''.padEnd(43, 'a') + const {contractTxId: antToRegister} = await deployANTUndernameLeasingContract({ + warp, + owner: buyerAddress, + wallet: buyerWallet, + }) + const antToRegisterContract = warp.contract(antToRegister).setEvaluationOptions({ + sourceType: 'arweave' as SourceType, + unsafeClient: 'skip', + }).connect(buyerWallet) + + const setReservedRecordsTxRegisterAnt = await antToRegisterContract.writeInteraction({ + function: 'setReservedRecords', + pattern: '', + subDomains: ['@', '1'] + }) + + const setRecordRegisterAnt = await antToRegisterContract.writeInteraction({ + function: 'setRecord', + subDomain: '@', + transactionId: targetId, + ttlSeconds: MIN_TTL_LENGTH + }) + + const {cachedValue: registerAntRecordValue} = await antToRegisterContract.readState() + console.log(JSON.stringify(registerAntRecordValue, null, 2)) + + expect(registerAntRecordValue.state.records['@']?.transactionId).toEqual(targetId) + + expect(setReservedRecordsTxRegisterAnt?.originalTxId).toBeDefined() + expect(setRecordRegisterAnt?.originalTxId).toBeDefined() + + const previousOwnerIOBalance = await arnsContract.readState().then(res => res.cachedValue.state.balances[ownerAddress]) + + const addMintingPairTx = await antContract.connect(ownerWallet).writeInteraction({ + function: 'setMintingPair', + tokenId: arnsContractTxId, + conversionRate: 1, + transferFunction: 'transfer', + recipientArg: 'target', + quantityArg: 'qty' + }) + const {cachedValue: addMintingPairValue} = await antContract.readState() + + expect(addMintingPairTx?.originalTxId).toBeDefined() + expect(addMintingPairValue.state.supportedTokens?.[arnsContractTxId].conversionRate).toEqual(1) + + + const { cachedValue: prevCachedValue } = await antContract.readState() + + const contractOwner = prevCachedValue.state.owner + const mintTx = await antContract.connect(buyerWallet).writeInteraction({ + function: 'mint', + type: 'TOKEN', + tokenId: arnsContractTxId, + }, { + tags: [ + { name: 'Contract', value: arnsContractTxId }, + { name: 'Input', value: JSON.stringify({ function: 'transfer', target: contractOwner, qty: mintAmount }) } + ].map(({ name, value }) => (new Tag(name, value))) + }) + + const {cachedValue: newCachedValue} = await antContract.readState() + console.log(JSON.stringify(newCachedValue, null, 2)) + const newOwnerIOBalance = await arnsContract.readState().then(res => res.cachedValue.state.balances[contractOwner]) + + expect(mintTx?.originalTxId).toBeDefined() + expect(newCachedValue.state.balances[buyerAddress]).toEqual(mintAmount) + expect(newOwnerIOBalance).toEqual(previousOwnerIOBalance + mintAmount) + + const setReservedRecordsTx = await antContract.connect(ownerWallet).writeInteraction({ + function: 'setReservedRecords', + pattern: '', + subDomains: ['reserved'] + }) + + const {cachedValue: setReservedRecordsValue} = await antContract.readState() + + expect(setReservedRecordsTx?.originalTxId).toBeDefined() + expect(setReservedRecordsValue?.state?.reserved?.subDomains).toContain('reserved') + + const buyRecordTx = await antContract.connect(buyerWallet).writeInteraction({ + function: 'buyRecord', + subDomain: undername, + contractTxId: antToRegister + }) + + const {cachedValue: buyRecordValue} = await antContract.readState() + + expect(buyRecordTx?.originalTxId).toBeDefined() + expect(buyRecordValue.state.records[undername].contractTxId).toEqual(antToRegister) + expect(buyRecordValue.state.balances[buyerAddress]).toBeLessThan(newCachedValue.state.balances[buyerAddress]) + + const setRecordTx = await antContract.connect(ownerWallet).writeInteraction({ + function: 'setRecord', + subDomain: 'reserved', + transactionId: targetId, + ttlSeconds: MIN_TTL_LENGTH + }) + const {cachedValue: setRecordValue} = await antContract.readState() + console.log(JSON.stringify(setRecordValue, null, 2)) + + expect(setRecordTx?.originalTxId).toBeDefined() + expect(setRecordValue.state.records['reserved'].transactionId).toEqual(targetId) + + const resolveRecordTx = await antContract.connect(ownerWallet).writeInteraction({ + function: 'resolveRecords', + }) + + const {cachedValue: resolveRecordValue} = await antContract.readState() + console.log(JSON.stringify(resolveRecordValue, null, 2)) + + expect(resolveRecordTx?.originalTxId).toBeDefined() + expect(resolveRecordValue.state.records[undername].transactionId).toEqual(targetId) +}); + + +// it('should mint tokens with AR and buy a record on the ANT', async () => { + +// const previousOwnerArBalance = await arweave.wallets.getBalance(ownerAddress) + +// const { cachedValue: prevCachedValue } = await antContract.readState() + +// const contractOwner = prevCachedValue.state.owner +// const mintTx = await antContract.connect(buyerWallet).writeInteraction({ +// function: 'mint', +// type: 'ARWEAVE' +// }, { +// transfer: { +// target: contractOwner, +// winstonQty: mintAmount.toString() +// } +// }) + +// const {cachedValue: newCachedValue} = await antContract.readState() +// console.log(JSON.stringify(newCachedValue, null, 2)) +// const newOwnerArBalance = await arweave.wallets.getBalance(ownerAddress) + +// expect(mintTx?.originalTxId).toBeDefined() +// expect(newCachedValue.state.balances[buyerAddress]).toEqual(mintAmount) +// expect(+newOwnerArBalance).toEqual(+previousOwnerArBalance + mintAmount) + +// const setReservedRecordsTx = await antContract.connect(ownerWallet).writeInteraction({ +// function: 'setReservedRecords', +// pattern: '', +// subDomains: ['reserved'] +// }) + +// const {cachedValue: setReservedRecordsValue} = await antContract.readState() + +// expect(setReservedRecordsTx?.originalTxId).toBeDefined() +// expect(setReservedRecordsValue?.state?.reserved?.subDomains).toContain('reserved') + +// const buyRecordTx = await antContract.connect(buyerWallet).writeInteraction({ +// function: 'buyRecord', +// subDomain: 'test', +// contractTxId: ''.padEnd(43, 'a') +// }) + +// const {cachedValue: buyRecordValue} = await antContract.readState() + +// expect(buyRecordTx?.originalTxId).toBeDefined() +// expect(buyRecordValue.state.records['test'].contractTxId).toEqual(''.padEnd(43, 'a')) +// expect(buyRecordValue.state.balances[buyerAddress]).toBeLessThan(newCachedValue.state.balances[buyerAddress]) + +// const setRecordTx = await antContract.connect(ownerWallet).writeInteraction({ +// function: 'setRecord', +// subDomain: 'reserved', +// transactionId: ''.padEnd(43, 'b'), +// ttlSeconds: MIN_TTL_LENGTH +// }) +// const {cachedValue: setRecordValue} = await antContract.readState() +// console.log(JSON.stringify(setRecordValue, null, 2)) + +// expect(setRecordTx?.originalTxId).toBeDefined() +// expect(setRecordValue.state.records['reserved'].transactionId).toEqual(''.padEnd(43, 'b')) +// }); + +}); \ No newline at end of file diff --git a/tests/utils/arns/source.js b/tests/utils/arns/source.js new file mode 100644 index 0000000..20e9999 --- /dev/null +++ b/tests/utils/arns/source.js @@ -0,0 +1,3309 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +// src/constants.ts +var SECONDS_IN_A_YEAR = 31536e3; + var MAX_YEARS = 5; + var MAX_ALLOWED_DECIMALS = 6; + var MAX_NOTE_LENGTH = 256; + var MAX_GATEWAY_LABEL_LENGTH = 64; + var MAX_PORT_NUMBER = 65535; + var SECONDS_IN_GRACE_PERIOD = 1814400; + var RESERVED_ATOMIC_TX_ID = "atomic"; + var NETWORK_JOIN_STATUS = "joined"; + var NETWORK_LEAVING_STATUS = "leaving"; + var NETWORK_HIDDEN_STATUS = "hidden"; + var SHORT_NAME_RESERVATION_UNLOCK_TIMESTAMP = 17040924e5; + var BLOCKS_PER_DAY = 720; + var MAX_ALLOWED_EVOLUTION_DELAY = BLOCKS_PER_DAY * 30; + var MINIMUM_ALLOWED_NAME_LENGTH = 5; + var TENURE_WEIGHT_DAYS = 180; + var PERMABUY_LEASE_FEE_LENGTH = 10; + var ANNUAL_PERCENTAGE_FEE = 0.2; + var DEFAULT_UNDERNAME_COUNT = 10; + var UNDERNAME_LEASE_FEE_PERCENTAGE = 1e-3; + var UNDERNAME_PERMABUY_FEE_PERCENTAGE = 5e-3; + var MAX_ALLOWED_UNDERNAMES = 1e4; + var NON_CONTRACT_OWNER_MESSAGE = `Caller is not the owner of the ArNS!`; + var ARNS_NAME_MUST_BE_AUCTIONED_MESSAGE = "Name must be auctioned."; + var ARNS_NAME_RESERVED_MESSAGE = "Name is reserved."; + var ARNS_NAME_IN_AUCTION_MESSAGE = "Name is currently in auction."; + var ARNS_NAME_AUCTION_EXPIRED_MESSAGE = "Auction has expired."; + var INVALID_INPUT_MESSAGE = "Invalid input for interaction"; + var CALLER_NOT_VALID_OBSERVER_MESSAGE = "Cannot submit observation report because caller is not eligible to observe"; + var DEFAULT_NUM_SAMPLED_BLOCKS = 3; + var DEFAULT_SAMPLED_BLOCKS_OFFSET = 50; + var NUM_OBSERVERS_PER_EPOCH = 4; + var NON_EXPIRED_ARNS_NAME_MESSAGE = "This name already exists in an active lease"; + var ARNS_NAME_DOES_NOT_EXIST_MESSAGE = "Name does not exist in the ArNS Contract!"; + var INSUFFICIENT_FUNDS_MESSAGE = "Insufficient funds for this transaction."; + var INVALID_TARGET_MESSAGE = "Invalid target specified"; + var INVALID_YEARS_MESSAGE = `Invalid number of years. Must be an integer and less than or equal to ${MAX_YEARS}`; + var INVALID_NAME_EXTENSION_TYPE_MESSAGE = `This name has been permanently registered and its lease cannot be extended.`; + var INVALID_SHORT_NAME = `Name is less than ${MINIMUM_ALLOWED_NAME_LENGTH} characters. It will be available for auction after ${SHORT_NAME_RESERVATION_UNLOCK_TIMESTAMP}.`; + var MAX_UNDERNAME_MESSAGE = `Name has reached undername limit of ${MAX_ALLOWED_UNDERNAMES}`; + var AUCTION_SETTINGS = { + floorPriceMultiplier: 1, + startPriceMultiplier: 50, + decayInterval: 30, + // decrement every 30 blocks - approx every 1 hour + decayRate: 0.0225, + // 2.25% decay per interval + auctionDuration: 10080 + // approx 14 days long + }; + var DEFAULT_EPOCH_BLOCK_LENGTH = 50; + var DEFAULT_START_HEIGHT = 0; + var MAX_TENURE_WEIGHT = 2; + var DEMAND_FACTORING_SETTINGS = { + movingAvgPeriodCount: 7, + periodBlockCount: 720, + demandFactorBaseValue: 1, + demandFactorMin: 0.5, + demandFactorUpAdjustment: 0.05, + demandFactorDownAdjustment: 0.025, + stepDownThreshold: 3, + // number of times at minimum allowed before resetting genesis fees (ultimately leads to 4 periods at the new fee, including the reset period) + criteria: "revenue" + }; + var MIO_PER_IO = 1e6; + var ONE_MIO = 1 / MIO_PER_IO; + + // src/types.ts + var PositiveFiniteInteger = class { + constructor(positiveFiniteInteger) { + this.positiveFiniteInteger = positiveFiniteInteger; + if (!Number.isFinite(this.positiveFiniteInteger) || !Number.isInteger(this.positiveFiniteInteger) || this.positiveFiniteInteger < 0) { + throw new ContractError( + `Number must be a non-negative integer value! ${positiveFiniteInteger}` + ); + } + } + [Symbol.toPrimitive](hint) { + if (hint === "string") { + this.toString(); + } + return this.positiveFiniteInteger; + } + plus(positiveFiniteInteger) { + return new PositiveFiniteInteger( + this.positiveFiniteInteger + positiveFiniteInteger.positiveFiniteInteger + ); + } + minus(positiveFiniteInteger) { + return new PositiveFiniteInteger( + this.positiveFiniteInteger - positiveFiniteInteger.positiveFiniteInteger + ); + } + isGreaterThan(positiveFiniteInteger) { + return this.positiveFiniteInteger > positiveFiniteInteger.positiveFiniteInteger; + } + isGreaterThanOrEqualTo(positiveFiniteInteger) { + return this.positiveFiniteInteger >= positiveFiniteInteger.positiveFiniteInteger; + } + toString() { + return `${this.positiveFiniteInteger}`; + } + valueOf() { + return this.positiveFiniteInteger; + } + toJSON() { + return this.positiveFiniteInteger; + } + equals(other) { + return this.positiveFiniteInteger === other.positiveFiniteInteger; + } + }; + var BlockHeight = class extends PositiveFiniteInteger { + // TODO: Improve upon this technique for sub-type discrimination + type = "BlockHeight"; + constructor(blockHeight) { + super(blockHeight); + } + }; + var BlockTimestamp = class extends PositiveFiniteInteger { + // TODO: Improve upon this technique for sub-type discrimination + type = "BlockTimestamp"; + constructor(blockTimestamp) { + super(blockTimestamp); + } + }; + var IOToken = class { + value; + constructor(value) { + this.value = +value.toFixed(MAX_ALLOWED_DECIMALS); + } + valueOf() { + return this.value; + } + }; + + // src/pricing.ts + function tallyNamePurchase(dfData, revenue) { + const newDfData = cloneDemandFactoringData(dfData); + newDfData.purchasesThisPeriod++; + newDfData.revenueThisPeriod += revenue; + return newDfData; + } + function updateDemandFactor(currentHeight, dfData, fees) { + if (!shouldUpdateDemandFactor(currentHeight, dfData)) { + return { + demandFactoring: dfData, + fees + }; + } + const newDemandFactoringData = cloneDemandFactoringData(dfData); + let updatedFees; + const numNamesPurchasedInLastPeriod = dfData.purchasesThisPeriod; + const mvgAvgOfTrailingNamePurchases = mvgAvgTrailingPurchaseCounts(dfData); + const revenueInLastPeriod = dfData.revenueThisPeriod; + const mvgAvgOfTrailingRevenue = mvgAvgTrailingRevenues(dfData); + if (demandIsIncreasing({ + numNamesPurchasedInLastPeriod, + mvgAvgOfTrailingNamePurchases, + revenueInLastPeriod, + mvgAvgOfTrailingRevenue, + demandFactoringCriteria: DEMAND_FACTORING_SETTINGS.criteria + })) { + newDemandFactoringData.demandFactor *= 1 + DEMAND_FACTORING_SETTINGS.demandFactorUpAdjustment; + } else if (dfData.demandFactor > DEMAND_FACTORING_SETTINGS.demandFactorMin) { + newDemandFactoringData.demandFactor *= 1 - DEMAND_FACTORING_SETTINGS.demandFactorDownAdjustment; + } + if (newDemandFactoringData.demandFactor === DEMAND_FACTORING_SETTINGS.demandFactorMin) { + if (++newDemandFactoringData.consecutivePeriodsWithMinDemandFactor >= DEMAND_FACTORING_SETTINGS.stepDownThreshold) { + newDemandFactoringData.consecutivePeriodsWithMinDemandFactor = 0; + newDemandFactoringData.demandFactor = DEMAND_FACTORING_SETTINGS.demandFactorBaseValue; + updatedFees = Object.keys(fees).reduce( + (acc, nameLength) => { + acc[nameLength] = Math.max( + fees[nameLength] * DEMAND_FACTORING_SETTINGS.demandFactorMin, + ONE_MIO + ); + return acc; + }, + {} + ); + } + } else { + newDemandFactoringData.consecutivePeriodsWithMinDemandFactor = 0; + } + const trailingPeriodIndex = demandFactorPeriodIndex( + newDemandFactoringData.currentPeriod + ); + newDemandFactoringData.trailingPeriodPurchases[trailingPeriodIndex] = numNamesPurchasedInLastPeriod; + newDemandFactoringData.trailingPeriodRevenues[trailingPeriodIndex] = revenueInLastPeriod; + newDemandFactoringData.currentPeriod++; + newDemandFactoringData.purchasesThisPeriod = 0; + newDemandFactoringData.revenueThisPeriod = 0; + return { + demandFactoring: newDemandFactoringData, + fees: updatedFees || fees + }; + } + function shouldUpdateDemandFactor(currentHeight, dfData) { + if (currentHeight.valueOf() === dfData.periodZeroBlockHeight) { + return false; + } + const currentPeriod = periodAtHeight( + currentHeight, + new BlockHeight(dfData.periodZeroBlockHeight) + ); + return currentPeriod > dfData.currentPeriod; + } + function demandIsIncreasing({ + numNamesPurchasedInLastPeriod, + mvgAvgOfTrailingNamePurchases: mvgAvgOfTailingNamePurchases, + revenueInLastPeriod, + mvgAvgOfTrailingRevenue, + demandFactoringCriteria + }) { + switch (demandFactoringCriteria) { + case "purchases": + return numNamesPurchasedInLastPeriod >= mvgAvgOfTailingNamePurchases && numNamesPurchasedInLastPeriod !== 0; + case "revenue": + return revenueInLastPeriod >= mvgAvgOfTrailingRevenue && revenueInLastPeriod !== 0; + } + } + function periodAtHeight(height, periodZeroHeight) { + return Math.floor( + (height.valueOf() - periodZeroHeight.valueOf()) / DEMAND_FACTORING_SETTINGS.periodBlockCount + ); + } + function demandFactorPeriodIndex(period) { + return period % DEMAND_FACTORING_SETTINGS.movingAvgPeriodCount; + } + function mvgAvgTrailingPurchaseCounts(dfData) { + return dfData.trailingPeriodPurchases.reduce( + (acc, periodPurchaseCount) => acc + periodPurchaseCount, + 0 + ) / DEMAND_FACTORING_SETTINGS.movingAvgPeriodCount; + } + function mvgAvgTrailingRevenues(dfData) { + return dfData.trailingPeriodRevenues.reduce( + (acc, periodRevenue) => acc + periodRevenue, + 0 + ) / DEMAND_FACTORING_SETTINGS.movingAvgPeriodCount; + } + function cloneDemandFactoringData(dfData) { + return { + ...dfData, + trailingPeriodPurchases: dfData.trailingPeriodPurchases.slice(), + trailingPeriodRevenues: dfData.trailingPeriodRevenues.slice() + }; + } + function calculateLeaseFee({ + name, + fees, + years, + demandFactoring + }) { + const initialNamePurchaseFee = fees[name.length.toString()]; + return demandFactoring.demandFactor * (initialNamePurchaseFee + calculateAnnualRenewalFee({ + name, + fees, + years + })); + } + function calculateAnnualRenewalFee({ + name, + fees, + years + }) { + const initialNamePurchaseFee = fees[name.length.toString()]; + const nameAnnualRegistrationFee = initialNamePurchaseFee * ANNUAL_PERCENTAGE_FEE; + const totalAnnualRenewalCost = nameAnnualRegistrationFee * years; + return totalAnnualRenewalCost; + } + function calculatePermabuyFee({ + name, + fees, + demandFactoring + }) { + const permabuyLeasePrice = calculateAnnualRenewalFee({ + name, + fees, + years: PERMABUY_LEASE_FEE_LENGTH + }); + return demandFactoring.demandFactor * permabuyLeasePrice; + } + function calculateRegistrationFee({ + type, + name, + fees, + years, + currentBlockTimestamp, + demandFactoring + }) { + switch (type) { + case "lease": + return calculateLeaseFee({ + name, + fees, + years, + currentBlockTimestamp, + demandFactoring + }); + case "permabuy": + return calculatePermabuyFee({ + name, + fees, + currentBlockTimestamp, + demandFactoring + }); + } + } + function calculateUndernameCost({ + name, + fees, + increaseQty, + type, + demandFactoring, + years + }) { + const initialNameFee = fees[name.length.toString()]; + const getUndernameFeePercentage = () => { + switch (type) { + case "lease": + return UNDERNAME_LEASE_FEE_PERCENTAGE; + case "permabuy": + return UNDERNAME_PERMABUY_FEE_PERCENTAGE; + } + }; + const undernamePercentageFee = getUndernameFeePercentage(); + const totalFeeForQtyAndYears = initialNameFee * undernamePercentageFee * increaseQty * years; + return demandFactoring.demandFactor * totalFeeForQtyAndYears; + } + + // src/auctions.ts + function calculateMinimumAuctionBid({ + startHeight, + startPrice, + floorPrice, + currentBlockHeight, + decayInterval, + decayRate + }) { + const blockIntervalsPassed = Math.max( + 0, + Math.floor( + (currentBlockHeight.valueOf() - startHeight.valueOf()) / decayInterval + ) + ); + const dutchAuctionBid = startPrice * Math.pow(1 - decayRate, blockIntervalsPassed); + return new IOToken(Math.max(floorPrice, dutchAuctionBid)); + } + function getAuctionPrices({ + auctionSettings, + startHeight, + startPrice, + floorPrice + }) { + const { auctionDuration, decayRate, decayInterval } = auctionSettings; + const intervalCount = auctionDuration / decayInterval; + const prices = {}; + for (let i = 0; i <= intervalCount; i++) { + const intervalHeight = new BlockHeight( + startHeight.valueOf() + i * decayInterval + ); + const price = calculateMinimumAuctionBid({ + startHeight, + startPrice, + floorPrice, + currentBlockHeight: intervalHeight, + decayInterval, + decayRate + }); + prices[intervalHeight.valueOf()] = price.valueOf(); + } + return prices; + } + function createAuctionObject({ + auctionSettings, + fees, + contractTxId, + currentBlockHeight, + currentBlockTimestamp, + type, + initiator, + demandFactoring, + name + }) { + const initialRegistrationFee = calculateRegistrationFee({ + name, + fees, + type, + years: 1, + currentBlockTimestamp, + demandFactoring + }); + const calculatedFloorPrice = initialRegistrationFee * auctionSettings.floorPriceMultiplier; + const startPrice = calculatedFloorPrice * auctionSettings.startPriceMultiplier; + const endHeight = currentBlockHeight.valueOf() + auctionSettings.auctionDuration; + return { + initiator, + // the balance that the floor price is decremented from + contractTxId, + startPrice, + floorPrice: calculatedFloorPrice, + // this is decremented from the initiators wallet, and could be higher than the precalculated floor + startHeight: currentBlockHeight.valueOf(), + // auction starts right away + endHeight, + // auction ends after the set duration + type, + ...type === "lease" ? { years: 1 } : {}, + settings: auctionSettings + }; + } + function getEndTimestampForAuction({ + auction, + currentBlockTimestamp + }) { + switch (auction.type) { + case "permabuy": + return void 0; + case "lease": + return new BlockTimestamp( + currentBlockTimestamp.valueOf() + SECONDS_IN_A_YEAR * auction.years + ); + default: + throw new ContractError("Invalid auction type"); + } + } + + // src/utilities.ts + function isValidFQDN(fqdn) { + const fqdnRegex = /^((?!-)[A-Za-z0-9-]{1,63}(?= qty; + } + function isNameInGracePeriod({ + currentBlockTimestamp, + record + }) { + if (!record.endTimestamp) + return false; + const recordIsExpired = currentBlockTimestamp.valueOf() > record.endTimestamp; + return recordIsExpired && record.endTimestamp + SECONDS_IN_GRACE_PERIOD > currentBlockTimestamp.valueOf(); + } + function getMaxAllowedYearsExtensionForRecord({ + currentBlockTimestamp, + record + }) { + if (!record.endTimestamp) { + return 0; + } + if (currentBlockTimestamp.valueOf() > record.endTimestamp + SECONDS_IN_GRACE_PERIOD) { + return 0; + } + if (isNameInGracePeriod({ currentBlockTimestamp, record })) { + return MAX_YEARS; + } + const yearsRemainingOnLease = Math.ceil( + (record.endTimestamp.valueOf() - currentBlockTimestamp.valueOf()) / SECONDS_IN_A_YEAR + ); + return MAX_YEARS - yearsRemainingOnLease; + } + function getInvalidAjvMessage(validator, input, functionName) { + return `${INVALID_INPUT_MESSAGE} for ${functionName}: ${validator.errors.map((e) => { + const key = e.instancePath.replace("/", ""); + const value = input[key]; + return `${key} ('${value}') ${e.message}`; + }).join(", ")}`; + } + function getEpochStart({ + startHeight, + epochBlockLength, + height + }) { + return getEpochEnd({ startHeight, epochBlockLength, height }) + 1 - epochBlockLength; + } + function getEpochEnd({ + startHeight, + epochBlockLength, + height + }) { + return startHeight + epochBlockLength * (Math.floor((height - startHeight) / epochBlockLength) + 1) - 1; + } + async function getEntropy(height) { + let entropyBuffer = Buffer.alloc(0); + for (let i = 0; i < DEFAULT_NUM_SAMPLED_BLOCKS; i++) { + const offsetHeight = height - DEFAULT_SAMPLED_BLOCKS_OFFSET - i < 0 ? 0 : height - DEFAULT_SAMPLED_BLOCKS_OFFSET - i; + const path = `/block/height/${offsetHeight}`; + const data = await SmartWeave.safeArweaveGet(path); + const indep_hash = data.indep_hash; + if (!indep_hash || typeof indep_hash !== "string") { + throw new ContractError(`Block ${height - i} has no indep_hash`); + } + entropyBuffer = Buffer.concat([ + entropyBuffer, + Buffer.from(indep_hash, "base64url") + ]); + } + const hash = await SmartWeave.arweave.crypto.hash(entropyBuffer, "SHA-256"); + return hash; + } + async function getPrescribedObservers(gateways, minNetworkJoinStakeAmount, gatewayLeaveLength, height) { + const prescribedObservers2 = []; + const weightedObservers = []; + let totalCompositeWeight = 0; + for (const address in gateways) { + const gateway = gateways[address]; + const isWithinStartRange = gateway.start <= height; + const isWithinEndRange = gateway.end === 0 || gateway.end - gatewayLeaveLength < height; + if (isWithinStartRange && isWithinEndRange) { + const stake = gateways[address].operatorStake; + const stakeWeight = stake / minNetworkJoinStakeAmount; + let tenureWeight = (+SmartWeave.block.height - gateways[address].start) / (TENURE_WEIGHT_DAYS * BLOCKS_PER_DAY); + if (tenureWeight > MAX_TENURE_WEIGHT) { + tenureWeight = MAX_TENURE_WEIGHT; + } + const gatewayRewardRatioWeight = 1; + const observerRewardRatioWeight = 1; + const compositeWeight = stakeWeight * tenureWeight * gatewayRewardRatioWeight * observerRewardRatioWeight; + weightedObservers.push({ + gatewayAddress: address, + observerAddress: gateway.observerWallet, + stake, + start: gateway.start, + stakeWeight, + tenureWeight, + gatewayRewardRatioWeight, + observerRewardRatioWeight, + compositeWeight, + normalizedCompositeWeight: compositeWeight + }); + totalCompositeWeight += compositeWeight; + } + } + for (const weightedObserver of weightedObservers) { + weightedObserver.normalizedCompositeWeight = weightedObserver.compositeWeight / totalCompositeWeight; + } + if (NUM_OBSERVERS_PER_EPOCH >= Object.keys(weightedObservers).length) { + return weightedObservers; + } + const entropy = await getEntropy(height); + const usedIndexes = /* @__PURE__ */ new Set(); + let hash = await SmartWeave.arweave.crypto.hash(entropy, "SHA-256"); + for (let i = 0; i < NUM_OBSERVERS_PER_EPOCH; i++) { + const random = hash.readUInt32BE(0) / 4294967295; + let cumulativeNormalizedCompositeWeight = 0; + for (let index = 0; index < weightedObservers.length; index++) { + { + cumulativeNormalizedCompositeWeight += weightedObservers[index].normalizedCompositeWeight; + if (random <= cumulativeNormalizedCompositeWeight) { + if (!usedIndexes.has(index)) { + prescribedObservers2.push(weightedObservers[index]); + usedIndexes.add(index); + break; + } + } + } + hash = await SmartWeave.arweave.crypto.hash(hash, "SHA-256"); + } + } + return prescribedObservers2; + } + function isExistingActiveRecord({ + record, + currentBlockTimestamp + }) { + if (!record) + return false; + if (record.type === "permabuy") { + return true; + } + if (record.type === "lease") { + return record.endTimestamp && (record.endTimestamp > currentBlockTimestamp.valueOf() || isNameInGracePeriod({ currentBlockTimestamp, record })); + } + return false; + } + function isShortNameRestricted({ + name, + currentBlockTimestamp + }) { + return name.length < MINIMUM_ALLOWED_NAME_LENGTH && currentBlockTimestamp.valueOf() < SHORT_NAME_RESERVATION_UNLOCK_TIMESTAMP; + } + function isActiveReservedName({ + caller, + reservedName, + currentBlockTimestamp + }) { + if (!reservedName) + return false; + const target = reservedName.target; + const endTimestamp = reservedName.endTimestamp; + const permanentlyReserved = !target && !endTimestamp; + if (permanentlyReserved) { + return true; + } + const callerNotTarget = !caller || target !== caller; + const notExpired = endTimestamp && endTimestamp > currentBlockTimestamp.valueOf(); + if (callerNotTarget && notExpired) { + return true; + } + return false; + } + function isNameAvailableForAuction({ + name, + record, + reservedName, + caller, + currentBlockTimestamp + }) { + return !isExistingActiveRecord({ record, currentBlockTimestamp }) && !isActiveReservedName({ reservedName, caller, currentBlockTimestamp }) && !isShortNameRestricted({ name, currentBlockTimestamp }); + } + function isNameRequiredToBeAuction({ + name, + type + }) { + return type === "permabuy" && name.length < 12; + } + function assertAvailableRecord({ + caller, + name, + records, + reserved, + currentBlockTimestamp + }) { + if (isExistingActiveRecord({ + record: records[name], + currentBlockTimestamp + })) { + throw new ContractError(NON_EXPIRED_ARNS_NAME_MESSAGE); + } + if (isActiveReservedName({ + caller, + reservedName: reserved[name], + currentBlockTimestamp + })) { + throw new ContractError(ARNS_NAME_RESERVED_MESSAGE); + } + if (isShortNameRestricted({ name, currentBlockTimestamp })) { + throw new ContractError(INVALID_SHORT_NAME); + } + } + function calculateExistingAuctionBidForCaller({ + caller, + auction, + submittedBid, + requiredMinimumBid + }) { + let finalBid = submittedBid ? Math.min(submittedBid, requiredMinimumBid.valueOf()) : requiredMinimumBid.valueOf(); + if (caller === auction.initiator) { + finalBid -= auction.floorPrice; + } + return new IOToken(finalBid); + } + function isGatewayJoined({ + gateway, + currentBlockHeight + }) { + if (!gateway) + return false; + return gateway.status === "joined" && gateway.end > currentBlockHeight.valueOf(); + } + function isGatewayHidden({ + gateway + }) { + if (!gateway) + return false; + return gateway.status === "hidden"; + } + function isGatewayEligibleToBeRemoved({ + gateway, + currentBlockHeight + }) { + return gateway.status === "leaving" && gateway.end <= currentBlockHeight.valueOf(); + } + function isGatewayEligibleToLeave({ + gateway, + currentBlockHeight, + registrySettings + }) { + if (!gateway) + return false; + const joinedForMinimum = currentBlockHeight.valueOf() >= gateway.start + registrySettings.minGatewayJoinLength; + const isActiveOrHidden = isGatewayJoined({ gateway, currentBlockHeight }) || isGatewayHidden({ gateway }); + return joinedForMinimum && isActiveOrHidden; + } + function calculateYearsBetweenTimestamps({ + startTimestamp, + endTimestamp + }) { + const yearsRemainingFloat = (endTimestamp.valueOf() - startTimestamp.valueOf()) / SECONDS_IN_A_YEAR; + return +yearsRemainingFloat.toFixed(2); + } + function unsafeDecrementBalance(balances, address, amount, removeIfZero = true) { + balances[address] -= amount; + if (removeIfZero && balances[address] === 0) { + delete balances[address]; + } + } + function incrementBalance(balances, address, amount) { + if (address in balances) { + balances[address] += amount; + } else { + balances[address] = amount; + } + } + function safeTransfer({ + balances, + fromAddr, + toAddr, + qty + }) { + if (fromAddr === toAddr) { + throw new ContractError(INVALID_TARGET_MESSAGE); + } + if (balances[fromAddr] === null || isNaN(balances[fromAddr])) { + throw new ContractError(`Caller balance is not defined!`); + } + if (!walletHasSufficientBalance(balances, fromAddr, qty)) { + throw new ContractError(INSUFFICIENT_FUNDS_MESSAGE); + } + incrementBalance(balances, toAddr, qty); + unsafeDecrementBalance(balances, fromAddr, qty); + } + + // src/actions/read/auction.ts + var getAuction = (state, { caller, input: { name, type = "lease" } }) => { + const { records, auctions, settings, fees, reserved } = state; + const formattedName = name.toLowerCase().trim(); + const auction = auctions[formattedName]; + if (!auction) { + const auctionSettings = settings.auctions; + const currentBlockTimestamp = new BlockTimestamp( + +SmartWeave.block.timestamp + ); + const currentBlockHeight = new BlockHeight(+SmartWeave.block.height); + const auctionObject = createAuctionObject({ + auctionSettings, + type, + name, + fees, + currentBlockTimestamp, + demandFactoring: state.demandFactoring, + currentBlockHeight, + contractTxId: void 0, + initiator: void 0 + }); + const prices2 = getAuctionPrices({ + auctionSettings, + startHeight: currentBlockHeight, + // set it to the current block height + startPrice: auctionObject.startPrice, + floorPrice: auctionObject.floorPrice + }); + const record = records[formattedName]; + const reservedName = reserved[formattedName]; + const isAvailableForAuction = isNameAvailableForAuction({ + caller, + name: formattedName, + record, + reservedName, + currentBlockTimestamp + }); + const isRequiredToBeAuctioned2 = isNameRequiredToBeAuction({ + name: formattedName, + type + }); + return { + result: { + name: formattedName, + isActive: false, + isAvailableForAuction, + isRequiredToBeAuctioned: isRequiredToBeAuctioned2, + minimumBid: auctionObject.floorPrice, + // since its not active yet, the minimum bid is the floor price + ...auctionObject, + prices: prices2 + } + }; + } + const { + startHeight, + floorPrice, + startPrice, + settings: existingAuctionSettings + } = auction; + const expirationHeight = startHeight + existingAuctionSettings.auctionDuration; + const isRequiredToBeAuctioned = isNameRequiredToBeAuction({ + name: formattedName, + type: auction.type + }); + const prices = getAuctionPrices({ + auctionSettings: existingAuctionSettings, + startHeight: new BlockHeight(startHeight), + startPrice, + // TODO: use IO class class + floorPrice + }); + const minimumBid = calculateMinimumAuctionBid({ + startHeight: new BlockHeight(startHeight), + startPrice, + floorPrice, + currentBlockHeight: new BlockHeight(+SmartWeave.block.height), + decayInterval: existingAuctionSettings.decayInterval, + decayRate: existingAuctionSettings.decayRate + }); + return { + result: { + name: formattedName, + isActive: expirationHeight >= +SmartWeave.block.height, + isAvailableForAuction: false, + isRequiredToBeAuctioned, + minimumBid: minimumBid.valueOf(), + ...auction, + prices + } + }; + }; + + // src/actions/read/balance.ts + var balance = async (state, { input: { target } }) => { + const balances = state.balances; + if (typeof target !== "string") { + throw new ContractError("Must specify target to get balance for"); + } + if (typeof balances[target] !== "number") { + throw new ContractError("Cannot get balance, target does not exist"); + } + return { + result: { + target, + balance: balances[target] + } + }; + }; + + // src/actions/read/gateways.ts + var getGateway = async (state, { input: { target } }) => { + const { gateways = {} } = state; + if (!(target in gateways)) { + throw new ContractError("This target does not have a registered gateway."); + } + const gatewayObj = gateways[target]; + return { + result: gatewayObj + }; + }; + var getGatewayTotalStake = async (state, { input: { target } }) => { + const { gateways = {} } = state; + if (!(target in gateways)) { + throw new ContractError("This target does not have a registered gateway."); + } + const gatewayTotalStake = gateways[target].operatorStake; + return { + result: gatewayTotalStake + }; + }; + var getGatewayRegistry = async (state) => { + const { gateways = {} } = state; + return { + result: gateways + }; + }; + var getRankedGatewayRegistry = async (state) => { + const { gateways = {} } = state; + const filteredGateways = {}; + Object.keys(gateways).forEach((address) => { + if (gateways[address].status === NETWORK_JOIN_STATUS) { + filteredGateways[address] = gateways[address]; + } + }); + const rankedGateways = {}; + Object.keys(filteredGateways).sort((addressA, addressB) => { + const gatewayA = filteredGateways[addressA]; + const gatewayB = filteredGateways[addressB]; + const totalStakeA = gatewayA.operatorStake; + const totalStakeB = gatewayB.operatorStake; + return totalStakeB - totalStakeA; + }).forEach((address) => { + rankedGateways[address] = filteredGateways[address]; + }); + return { + result: rankedGateways + }; + }; + + // src/actions/read/observation.ts + var prescribedObserver = async (state, { input: { target, height } }) => { + const { settings, gateways } = state; + if (!height) { + height = +SmartWeave.block.height; + } + const currentEpochStartHeight = getEpochStart({ + startHeight: DEFAULT_START_HEIGHT, + epochBlockLength: DEFAULT_EPOCH_BLOCK_LENGTH, + height + }); + const prescribedObservers2 = await getPrescribedObservers( + gateways, + settings.registry.minNetworkJoinStakeAmount, + settings.registry.gatewayLeaveLength, + currentEpochStartHeight + ); + if (prescribedObservers2.some( + (observer) => observer.gatewayAddress === target || observer.observerAddress === target + )) { + return { result: true }; + } else { + return { result: false }; + } + }; + var prescribedObservers = async (state, { input: { height } }) => { + const { settings, gateways } = state; + if (!height) { + height = +SmartWeave.block.height; + } + const currentEpochStartHeight = getEpochStart({ + startHeight: DEFAULT_START_HEIGHT, + epochBlockLength: DEFAULT_EPOCH_BLOCK_LENGTH, + height + }); + const prescribedObservers2 = await getPrescribedObservers( + gateways, + settings.registry.minNetworkJoinStakeAmount, + settings.registry.gatewayLeaveLength, + currentEpochStartHeight + ); + return { result: prescribedObservers2 }; + }; + + // src/validations.js + var validateAuctionBid = validate10; + var pattern0 = new RegExp("^(submitAuctionBid|buyRecord)$", "u"); + var pattern1 = new RegExp("^([a-zA-Z0-9][a-zA-Z0-9-]{0,49}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$", "u"); + var pattern2 = new RegExp("^(lease|permabuy)$", "u"); + var pattern3 = new RegExp("^(atomic|[a-zA-Z0-9-_]{43})$", "u"); + function validate10(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { + ; + let vErrors = null; + let errors = 0; + if (data && typeof data == "object" && !Array.isArray(data)) { + if (data.name === void 0) { + const err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" }; + if (vErrors === null) { + vErrors = [err0]; + } else { + vErrors.push(err0); + } + errors++; + } + if (data.function !== void 0) { + let data0 = data.function; + if (typeof data0 === "string") { + if (!pattern0.test(data0)) { + const err1 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/pattern", keyword: "pattern", params: { pattern: "^(submitAuctionBid|buyRecord)$" }, message: 'must match pattern "^(submitAuctionBid|buyRecord)$"' }; + if (vErrors === null) { + vErrors = [err1]; + } else { + vErrors.push(err1); + } + errors++; + } + } else { + const err2 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err2]; + } else { + vErrors.push(err2); + } + errors++; + } + } + if (data.name !== void 0) { + let data1 = data.name; + if (typeof data1 === "string") { + if (!pattern1.test(data1)) { + const err3 = { instancePath: instancePath + "/name", schemaPath: "#/properties/name/pattern", keyword: "pattern", params: { pattern: "^([a-zA-Z0-9][a-zA-Z0-9-]{0,49}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$" }, message: 'must match pattern "^([a-zA-Z0-9][a-zA-Z0-9-]{0,49}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$"' }; + if (vErrors === null) { + vErrors = [err3]; + } else { + vErrors.push(err3); + } + errors++; + } + } else { + const err4 = { instancePath: instancePath + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err4]; + } else { + vErrors.push(err4); + } + errors++; + } + } + if (data.qty !== void 0) { + let data2 = data.qty; + if (typeof data2 == "number" && isFinite(data2)) { + if (data2 < 0 || isNaN(data2)) { + const err5 = { instancePath: instancePath + "/qty", schemaPath: "#/properties/qty/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }; + if (vErrors === null) { + vErrors = [err5]; + } else { + vErrors.push(err5); + } + errors++; + } + } else { + const err6 = { instancePath: instancePath + "/qty", schemaPath: "#/properties/qty/type", keyword: "type", params: { type: "number" }, message: "must be number" }; + if (vErrors === null) { + vErrors = [err6]; + } else { + vErrors.push(err6); + } + errors++; + } + } + if (data.type !== void 0) { + let data3 = data.type; + if (typeof data3 === "string") { + if (!pattern2.test(data3)) { + const err7 = { instancePath: instancePath + "/type", schemaPath: "#/properties/type/pattern", keyword: "pattern", params: { pattern: "^(lease|permabuy)$" }, message: 'must match pattern "^(lease|permabuy)$"' }; + if (vErrors === null) { + vErrors = [err7]; + } else { + vErrors.push(err7); + } + errors++; + } + } else { + const err8 = { instancePath: instancePath + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err8]; + } else { + vErrors.push(err8); + } + errors++; + } + } + if (data.contractTxId !== void 0) { + let data4 = data.contractTxId; + if (typeof data4 === "string") { + if (!pattern3.test(data4)) { + const err9 = { instancePath: instancePath + "/contractTxId", schemaPath: "#/properties/contractTxId/pattern", keyword: "pattern", params: { pattern: "^(atomic|[a-zA-Z0-9-_]{43})$" }, message: 'must match pattern "^(atomic|[a-zA-Z0-9-_]{43})$"' }; + if (vErrors === null) { + vErrors = [err9]; + } else { + vErrors.push(err9); + } + errors++; + } + } else { + const err10 = { instancePath: instancePath + "/contractTxId", schemaPath: "#/properties/contractTxId/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err10]; + } else { + vErrors.push(err10); + } + errors++; + } + } + } else { + const err11 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; + if (vErrors === null) { + vErrors = [err11]; + } else { + vErrors.push(err11); + } + errors++; + } + validate10.errors = vErrors; + return errors === 0; + } + var validateBuyRecord = validate11; + function validate11(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { + ; + let vErrors = null; + let errors = 0; + if (data && typeof data == "object" && !Array.isArray(data)) { + if (data.name === void 0) { + const err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" }; + if (vErrors === null) { + vErrors = [err0]; + } else { + vErrors.push(err0); + } + errors++; + } + if (data.function === void 0) { + const err1 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "function" }, message: "must have required property 'function'" }; + if (vErrors === null) { + vErrors = [err1]; + } else { + vErrors.push(err1); + } + errors++; + } + if (data.function !== void 0) { + let data0 = data.function; + if (typeof data0 !== "string") { + const err2 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err2]; + } else { + vErrors.push(err2); + } + errors++; + } + if ("buyRecord" !== data0) { + const err3 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/const", keyword: "const", params: { allowedValue: "buyRecord" }, message: "must be equal to constant" }; + if (vErrors === null) { + vErrors = [err3]; + } else { + vErrors.push(err3); + } + errors++; + } + } + if (data.name !== void 0) { + let data1 = data.name; + if (typeof data1 === "string") { + if (!pattern1.test(data1)) { + const err4 = { instancePath: instancePath + "/name", schemaPath: "#/properties/name/pattern", keyword: "pattern", params: { pattern: "^([a-zA-Z0-9][a-zA-Z0-9-]{0,49}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$" }, message: 'must match pattern "^([a-zA-Z0-9][a-zA-Z0-9-]{0,49}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$"' }; + if (vErrors === null) { + vErrors = [err4]; + } else { + vErrors.push(err4); + } + errors++; + } + } else { + const err5 = { instancePath: instancePath + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err5]; + } else { + vErrors.push(err5); + } + errors++; + } + } + if (data.contractTxId !== void 0) { + let data2 = data.contractTxId; + if (typeof data2 === "string") { + if (!pattern3.test(data2)) { + const err6 = { instancePath: instancePath + "/contractTxId", schemaPath: "#/properties/contractTxId/pattern", keyword: "pattern", params: { pattern: "^(atomic|[a-zA-Z0-9-_]{43})$" }, message: 'must match pattern "^(atomic|[a-zA-Z0-9-_]{43})$"' }; + if (vErrors === null) { + vErrors = [err6]; + } else { + vErrors.push(err6); + } + errors++; + } + } else { + const err7 = { instancePath: instancePath + "/contractTxId", schemaPath: "#/properties/contractTxId/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err7]; + } else { + vErrors.push(err7); + } + errors++; + } + } + if (data.years !== void 0) { + let data3 = data.years; + if (!(typeof data3 == "number" && (!(data3 % 1) && !isNaN(data3)) && isFinite(data3))) { + const err8 = { instancePath: instancePath + "/years", schemaPath: "#/properties/years/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; + if (vErrors === null) { + vErrors = [err8]; + } else { + vErrors.push(err8); + } + errors++; + } + if (typeof data3 == "number" && isFinite(data3)) { + if (data3 > 5 || isNaN(data3)) { + const err9 = { instancePath: instancePath + "/years", schemaPath: "#/properties/years/maximum", keyword: "maximum", params: { comparison: "<=", limit: 5 }, message: "must be <= 5" }; + if (vErrors === null) { + vErrors = [err9]; + } else { + vErrors.push(err9); + } + errors++; + } + if (data3 < 1 || isNaN(data3)) { + const err10 = { instancePath: instancePath + "/years", schemaPath: "#/properties/years/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; + if (vErrors === null) { + vErrors = [err10]; + } else { + vErrors.push(err10); + } + errors++; + } + } + } + if (data.type !== void 0) { + let data4 = data.type; + if (typeof data4 === "string") { + if (!pattern2.test(data4)) { + const err11 = { instancePath: instancePath + "/type", schemaPath: "#/properties/type/pattern", keyword: "pattern", params: { pattern: "^(lease|permabuy)$" }, message: 'must match pattern "^(lease|permabuy)$"' }; + if (vErrors === null) { + vErrors = [err11]; + } else { + vErrors.push(err11); + } + errors++; + } + } else { + const err12 = { instancePath: instancePath + "/type", schemaPath: "#/properties/type/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err12]; + } else { + vErrors.push(err12); + } + errors++; + } + } + if (data.auction !== void 0) { + if (typeof data.auction !== "boolean") { + const err13 = { instancePath: instancePath + "/auction", schemaPath: "#/properties/auction/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }; + if (vErrors === null) { + vErrors = [err13]; + } else { + vErrors.push(err13); + } + errors++; + } + } + } else { + const err14 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; + if (vErrors === null) { + vErrors = [err14]; + } else { + vErrors.push(err14); + } + errors++; + } + validate11.errors = vErrors; + return errors === 0; + } + var validateExtendRecord = validate12; + function validate12(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { + ; + let vErrors = null; + let errors = 0; + if (data && typeof data == "object" && !Array.isArray(data)) { + if (data.name === void 0) { + const err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" }; + if (vErrors === null) { + vErrors = [err0]; + } else { + vErrors.push(err0); + } + errors++; + } + if (data.years === void 0) { + const err1 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "years" }, message: "must have required property 'years'" }; + if (vErrors === null) { + vErrors = [err1]; + } else { + vErrors.push(err1); + } + errors++; + } + for (const key0 in data) { + if (!(key0 === "function" || key0 === "name" || key0 === "years")) { + const err2 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; + if (vErrors === null) { + vErrors = [err2]; + } else { + vErrors.push(err2); + } + errors++; + } + } + if (data.function !== void 0) { + let data0 = data.function; + if (typeof data0 !== "string") { + const err3 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err3]; + } else { + vErrors.push(err3); + } + errors++; + } + if ("extendRecord" !== data0) { + const err4 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/const", keyword: "const", params: { allowedValue: "extendRecord" }, message: "must be equal to constant" }; + if (vErrors === null) { + vErrors = [err4]; + } else { + vErrors.push(err4); + } + errors++; + } + } + if (data.name !== void 0) { + let data1 = data.name; + if (typeof data1 === "string") { + if (!pattern1.test(data1)) { + const err5 = { instancePath: instancePath + "/name", schemaPath: "#/properties/name/pattern", keyword: "pattern", params: { pattern: "^([a-zA-Z0-9][a-zA-Z0-9-]{0,49}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$" }, message: 'must match pattern "^([a-zA-Z0-9][a-zA-Z0-9-]{0,49}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$"' }; + if (vErrors === null) { + vErrors = [err5]; + } else { + vErrors.push(err5); + } + errors++; + } + } else { + const err6 = { instancePath: instancePath + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err6]; + } else { + vErrors.push(err6); + } + errors++; + } + } + if (data.years !== void 0) { + let data2 = data.years; + if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) { + const err7 = { instancePath: instancePath + "/years", schemaPath: "#/properties/years/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; + if (vErrors === null) { + vErrors = [err7]; + } else { + vErrors.push(err7); + } + errors++; + } + if (typeof data2 == "number" && isFinite(data2)) { + if (data2 > 5 || isNaN(data2)) { + const err8 = { instancePath: instancePath + "/years", schemaPath: "#/properties/years/maximum", keyword: "maximum", params: { comparison: "<=", limit: 5 }, message: "must be <= 5" }; + if (vErrors === null) { + vErrors = [err8]; + } else { + vErrors.push(err8); + } + errors++; + } + if (data2 < 1 || isNaN(data2)) { + const err9 = { instancePath: instancePath + "/years", schemaPath: "#/properties/years/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; + if (vErrors === null) { + vErrors = [err9]; + } else { + vErrors.push(err9); + } + errors++; + } + } + } + } else { + const err10 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; + if (vErrors === null) { + vErrors = [err10]; + } else { + vErrors.push(err10); + } + errors++; + } + validate12.errors = vErrors; + return errors === 0; + } + var validateIncreaseUndernameCount = validate13; + function validate13(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { + ; + let vErrors = null; + let errors = 0; + if (data && typeof data == "object" && !Array.isArray(data)) { + if (data.name === void 0) { + const err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "name" }, message: "must have required property 'name'" }; + if (vErrors === null) { + vErrors = [err0]; + } else { + vErrors.push(err0); + } + errors++; + } + if (data.qty === void 0) { + const err1 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "qty" }, message: "must have required property 'qty'" }; + if (vErrors === null) { + vErrors = [err1]; + } else { + vErrors.push(err1); + } + errors++; + } + for (const key0 in data) { + if (!(key0 === "function" || key0 === "name" || key0 === "qty")) { + const err2 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; + if (vErrors === null) { + vErrors = [err2]; + } else { + vErrors.push(err2); + } + errors++; + } + } + if (data.function !== void 0) { + let data0 = data.function; + if (typeof data0 !== "string") { + const err3 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err3]; + } else { + vErrors.push(err3); + } + errors++; + } + if ("increaseUndernameCount" !== data0) { + const err4 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/const", keyword: "const", params: { allowedValue: "increaseUndernameCount" }, message: "must be equal to constant" }; + if (vErrors === null) { + vErrors = [err4]; + } else { + vErrors.push(err4); + } + errors++; + } + } + if (data.name !== void 0) { + let data1 = data.name; + if (typeof data1 === "string") { + if (!pattern1.test(data1)) { + const err5 = { instancePath: instancePath + "/name", schemaPath: "#/properties/name/pattern", keyword: "pattern", params: { pattern: "^([a-zA-Z0-9][a-zA-Z0-9-]{0,49}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$" }, message: 'must match pattern "^([a-zA-Z0-9][a-zA-Z0-9-]{0,49}[a-zA-Z0-9]|[a-zA-Z0-9]{1})$"' }; + if (vErrors === null) { + vErrors = [err5]; + } else { + vErrors.push(err5); + } + errors++; + } + } else { + const err6 = { instancePath: instancePath + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err6]; + } else { + vErrors.push(err6); + } + errors++; + } + } + if (data.qty !== void 0) { + let data2 = data.qty; + if (typeof data2 == "number" && isFinite(data2)) { + if (data2 > 9990 || isNaN(data2)) { + const err7 = { instancePath: instancePath + "/qty", schemaPath: "#/properties/qty/maximum", keyword: "maximum", params: { comparison: "<=", limit: 9990 }, message: "must be <= 9990" }; + if (vErrors === null) { + vErrors = [err7]; + } else { + vErrors.push(err7); + } + errors++; + } + if (data2 < 1 || isNaN(data2)) { + const err8 = { instancePath: instancePath + "/qty", schemaPath: "#/properties/qty/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; + if (vErrors === null) { + vErrors = [err8]; + } else { + vErrors.push(err8); + } + errors++; + } + } else { + const err9 = { instancePath: instancePath + "/qty", schemaPath: "#/properties/qty/type", keyword: "type", params: { type: "number" }, message: "must be number" }; + if (vErrors === null) { + vErrors = [err9]; + } else { + vErrors.push(err9); + } + errors++; + } + } + } else { + const err10 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; + if (vErrors === null) { + vErrors = [err10]; + } else { + vErrors.push(err10); + } + errors++; + } + validate13.errors = vErrors; + return errors === 0; + } + var validateJoinNetwork = validate14; + var schema15 = { "$id": "#/definitions/joinNetwork", "type": "object", "properties": { "function": { "type": "string", "const": "joinNetwork" }, "qty": { "type": "number", "minimum": 1 }, "fqdn": { "type": "string", "pattern": "^(?:(?!-)[A-Za-z0-9-]{1,63}(?=", limit: 1 }, message: "must be >= 1" }; + if (vErrors === null) { + vErrors = [err11]; + } else { + vErrors.push(err11); + } + errors++; + } + } else { + const err12 = { instancePath: instancePath + "/qty", schemaPath: "#/properties/qty/type", keyword: "type", params: { type: "number" }, message: "must be number" }; + if (vErrors === null) { + vErrors = [err12]; + } else { + vErrors.push(err12); + } + errors++; + } + } + if (data.fqdn !== void 0) { + let data2 = data.fqdn; + if (typeof data2 === "string") { + if (!pattern9.test(data2)) { + const err13 = { instancePath: instancePath + "/fqdn", schemaPath: "#/properties/fqdn/pattern", keyword: "pattern", params: { pattern: "^(?:(?!-)[A-Za-z0-9-]{1,63}(? 65535 || isNaN(data3)) { + const err15 = { instancePath: instancePath + "/port", schemaPath: "#/properties/port/maximum", keyword: "maximum", params: { comparison: "<=", limit: 65535 }, message: "must be <= 65535" }; + if (vErrors === null) { + vErrors = [err15]; + } else { + vErrors.push(err15); + } + errors++; + } + if (data3 < 0 || isNaN(data3)) { + const err16 = { instancePath: instancePath + "/port", schemaPath: "#/properties/port/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }; + if (vErrors === null) { + vErrors = [err16]; + } else { + vErrors.push(err16); + } + errors++; + } + } else { + const err17 = { instancePath: instancePath + "/port", schemaPath: "#/properties/port/type", keyword: "type", params: { type: "number" }, message: "must be number" }; + if (vErrors === null) { + vErrors = [err17]; + } else { + vErrors.push(err17); + } + errors++; + } + } + if (data.protocol !== void 0) { + let data4 = data.protocol; + if (typeof data4 === "string") { + if (!pattern10.test(data4)) { + const err18 = { instancePath: instancePath + "/protocol", schemaPath: "#/properties/protocol/pattern", keyword: "pattern", params: { pattern: "^(http|https)$" }, message: 'must match pattern "^(http|https)$"' }; + if (vErrors === null) { + vErrors = [err18]; + } else { + vErrors.push(err18); + } + errors++; + } + } else { + const err19 = { instancePath: instancePath + "/protocol", schemaPath: "#/properties/protocol/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err19]; + } else { + vErrors.push(err19); + } + errors++; + } + } + if (data.properties !== void 0) { + let data5 = data.properties; + if (typeof data5 === "string") { + if (!pattern11.test(data5)) { + const err20 = { instancePath: instancePath + "/properties", schemaPath: "#/properties/properties/pattern", keyword: "pattern", params: { pattern: "^[a-zA-Z0-9_-]{43}$" }, message: 'must match pattern "^[a-zA-Z0-9_-]{43}$"' }; + if (vErrors === null) { + vErrors = [err20]; + } else { + vErrors.push(err20); + } + errors++; + } + } else { + const err21 = { instancePath: instancePath + "/properties", schemaPath: "#/properties/properties/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err21]; + } else { + vErrors.push(err21); + } + errors++; + } + } + if (data.note !== void 0) { + let data6 = data.note; + if (typeof data6 === "string") { + if (!pattern12.test(data6)) { + const err22 = { instancePath: instancePath + "/note", schemaPath: "#/properties/note/pattern", keyword: "pattern", params: { pattern: "^.{1,256}$" }, message: 'must match pattern "^.{1,256}$"' }; + if (vErrors === null) { + vErrors = [err22]; + } else { + vErrors.push(err22); + } + errors++; + } + } else { + const err23 = { instancePath: instancePath + "/note", schemaPath: "#/properties/note/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err23]; + } else { + vErrors.push(err23); + } + errors++; + } + } + if (data.label !== void 0) { + let data7 = data.label; + if (typeof data7 === "string") { + if (!pattern13.test(data7)) { + const err24 = { instancePath: instancePath + "/label", schemaPath: "#/properties/label/pattern", keyword: "pattern", params: { pattern: "^.{1,64}$" }, message: 'must match pattern "^.{1,64}$"' }; + if (vErrors === null) { + vErrors = [err24]; + } else { + vErrors.push(err24); + } + errors++; + } + } else { + const err25 = { instancePath: instancePath + "/label", schemaPath: "#/properties/label/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err25]; + } else { + vErrors.push(err25); + } + errors++; + } + } + if (data.observerWallet !== void 0) { + let data8 = data.observerWallet; + if (typeof data8 === "string") { + if (!pattern14.test(data8)) { + const err26 = { instancePath: instancePath + "/observerWallet", schemaPath: "#/properties/observerWallet/pattern", keyword: "pattern", params: { pattern: "^(|[a-zA-Z0-9_-]{43})$" }, message: 'must match pattern "^(|[a-zA-Z0-9_-]{43})$"' }; + if (vErrors === null) { + vErrors = [err26]; + } else { + vErrors.push(err26); + } + errors++; + } + } else { + const err27 = { instancePath: instancePath + "/observerWallet", schemaPath: "#/properties/observerWallet/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err27]; + } else { + vErrors.push(err27); + } + errors++; + } + } + } else { + const err28 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; + if (vErrors === null) { + vErrors = [err28]; + } else { + vErrors.push(err28); + } + errors++; + } + validate14.errors = vErrors; + return errors === 0; + } + var validateTransferToken = validate15; + var pattern15 = new RegExp("^[a-zA-Z0-9-_]{43}$", "u"); + function validate15(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { + ; + let vErrors = null; + let errors = 0; + if (data && typeof data == "object" && !Array.isArray(data)) { + if (data.target === void 0) { + const err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "target" }, message: "must have required property 'target'" }; + if (vErrors === null) { + vErrors = [err0]; + } else { + vErrors.push(err0); + } + errors++; + } + if (data.qty === void 0) { + const err1 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "qty" }, message: "must have required property 'qty'" }; + if (vErrors === null) { + vErrors = [err1]; + } else { + vErrors.push(err1); + } + errors++; + } + for (const key0 in data) { + if (!(key0 === "function" || key0 === "target" || key0 === "qty")) { + const err2 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; + if (vErrors === null) { + vErrors = [err2]; + } else { + vErrors.push(err2); + } + errors++; + } + } + if (data.function !== void 0) { + let data0 = data.function; + if (typeof data0 !== "string") { + const err3 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err3]; + } else { + vErrors.push(err3); + } + errors++; + } + if ("transfer" !== data0) { + const err4 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/const", keyword: "const", params: { allowedValue: "transfer" }, message: "must be equal to constant" }; + if (vErrors === null) { + vErrors = [err4]; + } else { + vErrors.push(err4); + } + errors++; + } + } + if (data.target !== void 0) { + let data1 = data.target; + if (typeof data1 === "string") { + if (!pattern15.test(data1)) { + const err5 = { instancePath: instancePath + "/target", schemaPath: "#/properties/target/pattern", keyword: "pattern", params: { pattern: "^[a-zA-Z0-9-_]{43}$" }, message: 'must match pattern "^[a-zA-Z0-9-_]{43}$"' }; + if (vErrors === null) { + vErrors = [err5]; + } else { + vErrors.push(err5); + } + errors++; + } + } else { + const err6 = { instancePath: instancePath + "/target", schemaPath: "#/properties/target/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err6]; + } else { + vErrors.push(err6); + } + errors++; + } + } + if (data.qty !== void 0) { + let data2 = data.qty; + if (typeof data2 == "number" && isFinite(data2)) { + if (data2 < 1 || isNaN(data2)) { + const err7 = { instancePath: instancePath + "/qty", schemaPath: "#/properties/qty/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; + if (vErrors === null) { + vErrors = [err7]; + } else { + vErrors.push(err7); + } + errors++; + } + } else { + const err8 = { instancePath: instancePath + "/qty", schemaPath: "#/properties/qty/type", keyword: "type", params: { type: "number" }, message: "must be number" }; + if (vErrors === null) { + vErrors = [err8]; + } else { + vErrors.push(err8); + } + errors++; + } + } + } else { + const err9 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; + if (vErrors === null) { + vErrors = [err9]; + } else { + vErrors.push(err9); + } + errors++; + } + validate15.errors = vErrors; + return errors === 0; + } + var validateSaveObservations = validate16; + function validate16(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { + ; + let vErrors = null; + let errors = 0; + if (data && typeof data == "object" && !Array.isArray(data)) { + if (data.failedGateways === void 0) { + const err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "failedGateways" }, message: "must have required property 'failedGateways'" }; + if (vErrors === null) { + vErrors = [err0]; + } else { + vErrors.push(err0); + } + errors++; + } + if (data.observerReportTxId === void 0) { + const err1 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "observerReportTxId" }, message: "must have required property 'observerReportTxId'" }; + if (vErrors === null) { + vErrors = [err1]; + } else { + vErrors.push(err1); + } + errors++; + } + for (const key0 in data) { + if (!(key0 === "function" || key0 === "observerReportTxId" || key0 === "failedGateways")) { + const err2 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; + if (vErrors === null) { + vErrors = [err2]; + } else { + vErrors.push(err2); + } + errors++; + } + } + if (data.function !== void 0) { + let data0 = data.function; + if (typeof data0 !== "string") { + const err3 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err3]; + } else { + vErrors.push(err3); + } + errors++; + } + if ("saveObservations" !== data0) { + const err4 = { instancePath: instancePath + "/function", schemaPath: "#/properties/function/const", keyword: "const", params: { allowedValue: "saveObservations" }, message: "must be equal to constant" }; + if (vErrors === null) { + vErrors = [err4]; + } else { + vErrors.push(err4); + } + errors++; + } + } + if (data.observerReportTxId !== void 0) { + let data1 = data.observerReportTxId; + if (typeof data1 === "string") { + if (!pattern15.test(data1)) { + const err5 = { instancePath: instancePath + "/observerReportTxId", schemaPath: "#/properties/observerReportTxId/pattern", keyword: "pattern", params: { pattern: "^[a-zA-Z0-9-_]{43}$" }, message: 'must match pattern "^[a-zA-Z0-9-_]{43}$"' }; + if (vErrors === null) { + vErrors = [err5]; + } else { + vErrors.push(err5); + } + errors++; + } + } else { + const err6 = { instancePath: instancePath + "/observerReportTxId", schemaPath: "#/properties/observerReportTxId/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err6]; + } else { + vErrors.push(err6); + } + errors++; + } + } + if (data.failedGateways !== void 0) { + let data2 = data.failedGateways; + if (Array.isArray(data2)) { + if (data2.length < 0) { + const err7 = { instancePath: instancePath + "/failedGateways", schemaPath: "#/properties/failedGateways/minItems", keyword: "minItems", params: { limit: 0 }, message: "must NOT have fewer than 0 items" }; + if (vErrors === null) { + vErrors = [err7]; + } else { + vErrors.push(err7); + } + errors++; + } + const len0 = data2.length; + for (let i0 = 0; i0 < len0; i0++) { + let data3 = data2[i0]; + if (typeof data3 === "string") { + if (!pattern15.test(data3)) { + const err8 = { instancePath: instancePath + "/failedGateways/" + i0, schemaPath: "#/properties/failedGateways/items/pattern", keyword: "pattern", params: { pattern: "^[a-zA-Z0-9-_]{43}$" }, message: 'must match pattern "^[a-zA-Z0-9-_]{43}$"' }; + if (vErrors === null) { + vErrors = [err8]; + } else { + vErrors.push(err8); + } + errors++; + } + } else { + const err9 = { instancePath: instancePath + "/failedGateways/" + i0, schemaPath: "#/properties/failedGateways/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }; + if (vErrors === null) { + vErrors = [err9]; + } else { + vErrors.push(err9); + } + errors++; + } + } + let i1 = data2.length; + let j0; + if (i1 > 1) { + const indices0 = {}; + for (; i1--; ) { + let item0 = data2[i1]; + if (typeof item0 !== "string") { + continue; + } + if (typeof indices0[item0] == "number") { + j0 = indices0[item0]; + const err10 = { instancePath: instancePath + "/failedGateways", schemaPath: "#/properties/failedGateways/uniqueItems", keyword: "uniqueItems", params: { i: i1, j: j0 }, message: "must NOT have duplicate items (items ## " + j0 + " and " + i1 + " are identical)" }; + if (vErrors === null) { + vErrors = [err10]; + } else { + vErrors.push(err10); + } + errors++; + break; + } + indices0[item0] = i1; + } + } + } else { + const err11 = { instancePath: instancePath + "/failedGateways", schemaPath: "#/properties/failedGateways/type", keyword: "type", params: { type: "array" }, message: "must be array" }; + if (vErrors === null) { + vErrors = [err11]; + } else { + vErrors.push(err11); + } + errors++; + } + } + } else { + const err12 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; + if (vErrors === null) { + vErrors = [err12]; + } else { + vErrors.push(err12); + } + errors++; + } + validate16.errors = vErrors; + return errors === 0; + } + + // src/actions/write/submitAuctionBid.ts + var AuctionBid = class { + name; + qty; + type; + contractTxId; + years; + constructor(input) { + if (!validateAuctionBid(input)) { + throw new ContractError( + getInvalidAjvMessage(validateAuctionBid, input, "auctionBid") + ); + } + const { + name, + qty, + type = "lease", + contractTxId = RESERVED_ATOMIC_TX_ID + } = input; + this.name = name.trim().toLowerCase(); + this.qty = qty; + this.type = type; + this.contractTxId = contractTxId === RESERVED_ATOMIC_TX_ID ? SmartWeave.transaction.id : contractTxId; + if (this.type === "lease") { + this.years = 1; + } + } + }; + var submitAuctionBid = (state, { caller, input }) => { + const updatedBalances = { + [SmartWeave.contract.id]: state.balances[SmartWeave.contract.id] || 0, + [caller]: state.balances[caller] || 0 + }; + const updatedRecords = {}; + const { name, qty: submittedBid, type, contractTxId } = new AuctionBid(input); + const currentBlockTimestamp = new BlockTimestamp(+SmartWeave.block.timestamp); + const currentBlockHeight = new BlockHeight(+SmartWeave.block.height); + assertAvailableRecord({ + caller, + name, + records: state.records, + reserved: state.reserved, + currentBlockTimestamp + }); + if (state.auctions[name]) { + const existingAuction = state.auctions[name]; + updatedBalances[existingAuction.initiator] = state.balances[existingAuction.initiator] || 0; + if (currentBlockHeight.valueOf() > existingAuction.endHeight) { + throw new ContractError(ARNS_NAME_AUCTION_EXPIRED_MESSAGE); + } + const currentRequiredMinimumBid = calculateMinimumAuctionBid({ + startHeight: new BlockHeight(existingAuction.startHeight), + startPrice: existingAuction.startPrice, + floorPrice: existingAuction.floorPrice, + currentBlockHeight, + decayRate: existingAuction.settings.decayRate, + decayInterval: existingAuction.settings.decayInterval + }); + if (submittedBid && submittedBid < currentRequiredMinimumBid.valueOf()) { + throw new ContractError( + `The bid (${submittedBid} IO) is less than the current required minimum bid of ${currentRequiredMinimumBid.valueOf()} IO.` + ); + } + const finalBidForCaller = calculateExistingAuctionBidForCaller({ + auction: existingAuction, + submittedBid, + caller, + requiredMinimumBid: currentRequiredMinimumBid + }); + if (!walletHasSufficientBalance( + state.balances, + caller, + finalBidForCaller.valueOf() + )) { + throw new ContractError(INSUFFICIENT_FUNDS_MESSAGE); + } + const endTimestamp = getEndTimestampForAuction({ + auction: existingAuction, + currentBlockTimestamp + }); + updatedRecords[name] = { + contractTxId, + // only update the new contract tx id + type: existingAuction.type, + startTimestamp: +SmartWeave.block.timestamp, + // overwrite initial start timestamp + undernames: DEFAULT_UNDERNAME_COUNT, + // only include timestamp on lease, endTimestamp is easy in this situation since it was a second interaction that won it + ...endTimestamp && { + endTimestamp: endTimestamp.valueOf() + }, + purchasePrice: currentRequiredMinimumBid.valueOf() + // the total amount paid for the name + }; + incrementBalance( + updatedBalances, + SmartWeave.contract.id, + currentRequiredMinimumBid.valueOf() + ); + unsafeDecrementBalance( + updatedBalances, + caller, + finalBidForCaller.valueOf(), + false + ); + if (caller !== existingAuction.initiator) { + incrementBalance( + updatedBalances, + existingAuction.initiator, + existingAuction.floorPrice + ); + } + const balances2 = { + ...state.balances, + ...updatedBalances + }; + Object.keys(updatedBalances).filter((address) => updatedBalances[address] === 0).forEach((address) => delete balances2[address]); + const records = { + ...state.records, + ...updatedRecords + }; + const { [name]: _2, ...auctions2 } = state.auctions; + Object.assign(state, { + auctions: auctions2, + balances: balances2, + records, + demandFactoring: tallyNamePurchase( + state.demandFactoring, + currentRequiredMinimumBid.valueOf() + ) + }); + return { state }; + } + const currentAuctionSettings = state.settings.auctions; + const initialAuctionBid = createAuctionObject({ + name, + type, + fees: state.fees, + auctionSettings: currentAuctionSettings, + currentBlockTimestamp, + demandFactoring: state.demandFactoring, + currentBlockHeight, + initiator: caller, + contractTxId + }); + if (!walletHasSufficientBalance( + state.balances, + caller, + initialAuctionBid.floorPrice + )) { + throw new ContractError(INSUFFICIENT_FUNDS_MESSAGE); + } + unsafeDecrementBalance( + updatedBalances, + caller, + initialAuctionBid.floorPrice, + false + ); + const { [name]: _, ...reserved } = state.reserved; + const auctions = { + ...state.auctions, + [name]: initialAuctionBid + }; + const balances = { + ...state.balances, + ...updatedBalances + }; + Object.keys(updatedBalances).filter((address) => updatedBalances[address] === 0).forEach((address) => delete balances[address]); + Object.assign(state, { + auctions, + balances, + reserved + }); + return { state }; + }; + + // src/actions/write/buyRecord.ts + var BuyRecord = class { + name; + contractTxId; + years; + type; + auction; + qty; + constructor(input) { + if (!validateBuyRecord(input)) { + throw new ContractError( + getInvalidAjvMessage(validateBuyRecord, input, "buyRecord") + ); + } + const { + name, + contractTxId = RESERVED_ATOMIC_TX_ID, + years = 1, + type = "lease", + auction = false + } = input; + this.name = name.trim().toLowerCase(); + this.contractTxId = contractTxId === RESERVED_ATOMIC_TX_ID ? SmartWeave.transaction.id : contractTxId; + this.years = years; + this.type = type; + this.auction = auction; + } + }; + var buyRecord = (state, { caller, input }) => { + const { balances, records, reserved, fees, auctions } = state; + const { name, contractTxId, years, type, auction } = new BuyRecord(input); + const currentBlockTimestamp = new BlockTimestamp(+SmartWeave.block.timestamp); + if (auction) { + return submitAuctionBid(state, { + caller, + input + }); + } + if (auctions[name]) { + throw new ContractError(ARNS_NAME_IN_AUCTION_MESSAGE); + } + assertAvailableRecord({ + caller, + name, + records, + reserved, + currentBlockTimestamp + }); + if (isNameRequiredToBeAuction({ name, type })) { + throw new ContractError(ARNS_NAME_MUST_BE_AUCTIONED_MESSAGE); + } + const endTimestamp = type === "lease" ? currentBlockTimestamp.valueOf() + SECONDS_IN_A_YEAR * years : void 0; + const totalRegistrationFee = calculateRegistrationFee({ + name, + fees, + years, + type, + currentBlockTimestamp, + demandFactoring: state.demandFactoring + }); + if (!walletHasSufficientBalance(balances, caller, totalRegistrationFee)) { + throw new ContractError( + `Caller balance not high enough to purchase this name for ${totalRegistrationFee} token(s)!` + ); + } + safeTransfer({ + balances, + fromAddr: caller, + toAddr: SmartWeave.contract.id, + qty: totalRegistrationFee + }); + records[name] = { + contractTxId, + type, + startTimestamp: +SmartWeave.block.timestamp, + undernames: DEFAULT_UNDERNAME_COUNT, + purchasePrice: totalRegistrationFee, + // only include timestamp on lease + ...endTimestamp && { endTimestamp } + }; + if (reserved[name]) { + delete state.reserved[name]; + } + state.demandFactoring = tallyNamePurchase( + state.demandFactoring, + totalRegistrationFee + ); + return { state }; + }; + + // src/actions/write/extendRecord.ts + var ExtendRecord = class { + function = "extendRecord"; + name; + years; + constructor(input) { + if (!validateExtendRecord(input)) { + throw new ContractError( + getInvalidAjvMessage(validateExtendRecord, input, "extendRecord") + ); + } + const { name, years } = input; + this.name = name.trim().toLowerCase(); + this.years = years; + } + }; + var extendRecord = async (state, { caller, input }) => { + const { balances, records, fees } = state; + const currentBlockTimestamp = new BlockTimestamp(+SmartWeave.block.timestamp); + const { name, years } = new ExtendRecord(input); + const record = records[name]; + if (!balances[caller] || balances[caller] == void 0 || balances[caller] == null || isNaN(balances[caller])) { + throw new ContractError(INSUFFICIENT_FUNDS_MESSAGE); + } + assertRecordCanBeExtended({ + record, + currentBlockTimestamp, + years + }); + const demandFactor = state.demandFactoring.demandFactor; + const totalExtensionAnnualFee = demandFactor * calculateAnnualRenewalFee({ + name, + fees, + years + }); + if (!walletHasSufficientBalance(balances, caller, totalExtensionAnnualFee)) { + throw new ContractError(INSUFFICIENT_FUNDS_MESSAGE); + } + safeTransfer({ + balances: state.balances, + fromAddr: caller, + toAddr: SmartWeave.contract.id, + qty: totalExtensionAnnualFee + }); + state.records[name].endTimestamp += SECONDS_IN_A_YEAR * years; + state.demandFactoring = tallyNamePurchase( + state.demandFactoring, + totalExtensionAnnualFee + ); + return { state }; + }; + function assertRecordCanBeExtended({ + record, + currentBlockTimestamp, + years + }) { + if (!isExistingActiveRecord({ + record, + currentBlockTimestamp + })) { + if (!record) { + throw new ContractError(ARNS_NAME_DOES_NOT_EXIST_MESSAGE); + } + throw new ContractError( + `This name has expired and must renewed before its undername support can be extended.` + ); + } + if (record.type === "permabuy") { + throw new ContractError(INVALID_NAME_EXTENSION_TYPE_MESSAGE); + } + if (years > getMaxAllowedYearsExtensionForRecord({ currentBlockTimestamp, record })) { + throw new ContractError(INVALID_YEARS_MESSAGE); + } + } + + // src/actions/write/increaseUndernameCount.ts + var IncreaseUndernameCount = class { + function = "increaseUndernameCount"; + name; + qty; + constructor(input) { + if (!validateIncreaseUndernameCount(input)) { + throw new ContractError( + getInvalidAjvMessage( + validateIncreaseUndernameCount, + input, + "increaseUndernameCount" + ) + ); + } + const { name, qty } = input; + this.name = name.trim().toLowerCase(); + this.qty = qty; + } + }; + var increaseUndernameCount = async (state, { caller, input }) => { + const { name, qty } = new IncreaseUndernameCount(input); + const { balances, records } = state; + const record = records[name]; + const currentBlockTimestamp = new BlockTimestamp(+SmartWeave.block.timestamp); + assertRecordCanIncreaseUndernameCount({ + record, + qty, + currentBlockTimestamp + }); + const { endTimestamp, type, undernames: existingUndernames } = record; + const yearsRemaining = endTimestamp ? calculateYearsBetweenTimestamps({ + startTimestamp: currentBlockTimestamp, + endTimestamp: new BlockTimestamp(endTimestamp) + }) : PERMABUY_LEASE_FEE_LENGTH; + const incrementedUndernames = existingUndernames + qty; + const additionalUndernameCost = calculateUndernameCost({ + name, + fees: state.fees, + increaseQty: qty, + type, + demandFactoring: state.demandFactoring, + years: yearsRemaining + }); + if (!walletHasSufficientBalance(balances, caller, additionalUndernameCost)) { + throw new ContractError( + `${INSUFFICIENT_FUNDS_MESSAGE}: caller has ${balances[caller].toLocaleString()} but needs to have ${additionalUndernameCost.toLocaleString()} to pay for this undername increase of ${qty} for ${name}.` + ); + } + state.records[name].undernames = incrementedUndernames; + safeTransfer({ + balances: state.balances, + fromAddr: caller, + toAddr: SmartWeave.contract.id, + qty: additionalUndernameCost + }); + return { state }; + }; + function assertRecordCanIncreaseUndernameCount({ + record, + qty, + currentBlockTimestamp + }) { + if (!isExistingActiveRecord({ + record, + currentBlockTimestamp + })) { + if (!record) { + throw new ContractError(ARNS_NAME_DOES_NOT_EXIST_MESSAGE); + } + throw new ContractError( + `This name has expired and must renewed before its undername support can be extended.` + ); + } + if (record.undernames + qty > MAX_ALLOWED_UNDERNAMES) { + throw new ContractError(MAX_UNDERNAME_MESSAGE); + } + } + + // src/actions/read/price.ts + function getPriceForInteraction(state, { + caller, + input + }) { + let fee; + const { interactionName: _, ...parsedInput } = { + ...input, + function: input.interactionName + }; + switch (input.interactionName) { + case "buyRecord": { + const { name, years, type, auction } = new BuyRecord(parsedInput); + if (auction) { + return getPriceForInteraction(state, { + caller, + input: { + ...input, + function: "submitAuctionBid" + } + }); + } + assertAvailableRecord({ + caller, + name, + records: state.records, + reserved: state.reserved, + currentBlockTimestamp: new BlockTimestamp(+SmartWeave.block.timestamp) + }); + fee = calculateRegistrationFee({ + name, + fees: state.fees, + type, + years, + currentBlockTimestamp: new BlockTimestamp(+SmartWeave.block.timestamp), + demandFactoring: state.demandFactoring + }); + break; + } + case "submitAuctionBid": { + const { name } = new AuctionBid(parsedInput); + const auction = state.auctions[name]; + assertAvailableRecord({ + caller, + name, + records: state.records, + reserved: state.reserved, + currentBlockTimestamp: new BlockTimestamp(+SmartWeave.block.timestamp) + }); + if (!auction) { + const newAuction = createAuctionObject({ + name, + currentBlockTimestamp: new BlockTimestamp( + +SmartWeave.block.timestamp + ), + currentBlockHeight: new BlockHeight(+SmartWeave.block.height), + fees: state.fees, + auctionSettings: state.settings.auctions, + demandFactoring: state.demandFactoring, + type: "lease", + initiator: caller, + contractTxId: SmartWeave.transaction.id + }); + fee = newAuction.floorPrice; + break; + } + const minimumAuctionBid = calculateMinimumAuctionBid({ + startHeight: new BlockHeight(auction.startHeight), + currentBlockHeight: new BlockHeight(+SmartWeave.block.height), + startPrice: auction.startPrice, + floorPrice: auction.floorPrice, + decayInterval: auction.settings.decayInterval, + decayRate: auction.settings.decayRate + }); + fee = minimumAuctionBid.valueOf(); + break; + } + case "extendRecord": { + const { name, years } = new ExtendRecord(parsedInput); + const record = state.records[name]; + assertRecordCanBeExtended({ + record, + currentBlockTimestamp: new BlockTimestamp(+SmartWeave.block.timestamp), + years + }); + fee = calculateAnnualRenewalFee({ name, years, fees: state.fees }); + break; + } + case "increaseUndernameCount": { + const { name, qty } = new IncreaseUndernameCount(parsedInput); + const record = state.records[name]; + assertRecordCanIncreaseUndernameCount({ + record, + qty, + currentBlockTimestamp: new BlockTimestamp(+SmartWeave.block.timestamp) + }); + const { endTimestamp, type } = record; + const yearsRemaining = endTimestamp ? calculateYearsBetweenTimestamps({ + startTimestamp: new BlockTimestamp(+SmartWeave.block.timestamp), + endTimestamp: new BlockTimestamp(endTimestamp) + }) : PERMABUY_LEASE_FEE_LENGTH; + fee = calculateUndernameCost({ + name, + fees: state.fees, + type, + years: yearsRemaining, + increaseQty: qty, + demandFactoring: state.demandFactoring + }); + break; + } + default: + throw new ContractError( + `Invalid function provided. Available options are 'buyRecord', 'extendRecord', and 'increaseUndernameCount'.` + ); + } + return { + result: { + input, + // TODO: make this mIO + price: fee + } + }; + } + + // src/actions/read/record.ts + var getRecord = async (state, { input: { name } }) => { + const records = state.records; + if (typeof name !== "string") { + throw new ContractError("Must specify the ArNS Name"); + } + if (!(name in records)) { + throw new ContractError("This name does not exist"); + } + const arnsName = records[name]; + return { + result: { + name, + ...arnsName + } + }; + }; + + // src/actions/write/decreaseOperatorStake.ts + var decreaseOperatorStake = async (state, { caller, input }) => { + const { settings, gateways = {} } = state; + const { registry: registrySettings } = settings; + const { qty } = input; + if (!(caller in gateways)) { + throw new ContractError("This Gateway's wallet is not registered"); + } + if (gateways[caller].status === NETWORK_LEAVING_STATUS) { + throw new ContractError( + "This Gateway is in the process of leaving the network and cannot have its stake adjusted" + ); + } + if (gateways[caller].operatorStake - qty < registrySettings.minNetworkJoinStakeAmount) { + throw new ContractError( + `${qty} is not enough operator stake to maintain the minimum of ${registrySettings.minNetworkJoinStakeAmount}` + ); + } + gateways[caller].operatorStake -= qty; + gateways[caller].vaults.push({ + balance: qty, + start: +SmartWeave.block.height, + end: +SmartWeave.block.height + registrySettings.operatorStakeWithdrawLength + }); + state.gateways = gateways; + return { state }; + }; + + // src/actions/write/evolve.ts + var evolve = async (state, { caller, input: { value } }) => { + const owner = state.owner; + if (caller !== owner) { + throw new ContractError(NON_CONTRACT_OWNER_MESSAGE); + } + state.evolve = value.toString(); + return { state }; + }; + + // src/actions/write/evolveState.ts + var evolveState = async (state, { caller }) => { + const owner = state.owner; + if (caller !== owner) { + throw new ContractError(NON_CONTRACT_OWNER_MESSAGE); + } + state.settings.auctions = AUCTION_SETTINGS; + state.demandFactoring = { + periodZeroBlockHeight: +SmartWeave.block.height, + currentPeriod: 0, + trailingPeriodPurchases: [0, 0, 0, 0, 0, 0, 0], + trailingPeriodRevenues: [0, 0, 0, 0, 0, 0, 0], + purchasesThisPeriod: 0, + revenueThisPeriod: 0, + demandFactor: DEMAND_FACTORING_SETTINGS.demandFactorBaseValue, + consecutivePeriodsWithMinDemandFactor: 0 + }; + state.lastTickedHeight = +SmartWeave.block.height; + return { state }; + }; + + // src/actions/write/increaseOperatorStake.ts + var increaseOperatorStake = async (state, { caller, input }) => { + const { gateways = {}, balances } = state; + const { qty } = input; + if (!(caller in gateways)) { + throw new ContractError("This Gateway's wallet is not registered"); + } + if (gateways[caller].status === NETWORK_LEAVING_STATUS) { + throw new ContractError( + "This Gateway is in the process of leaving the network and cannot have its stake adjusted" + ); + } + if (!balances[caller] || balances[caller] == void 0 || balances[caller] == null || isNaN(balances[caller])) { + throw new ContractError(`Caller balance is not defined!`); + } + if (balances[caller] < qty) { + throw new ContractError( + `Caller balance not high enough to stake ${qty} token(s)!` + ); + } + unsafeDecrementBalance(state.balances, caller, qty); + state.gateways[caller].operatorStake += qty; + return { state }; + }; + + // src/actions/write/joinNetwork.ts + var JoinNetwork = class { + qty; + fqdn; + label; + note; + properties; + protocol; + port; + observerWallet; + constructor(input) { + if (!validateJoinNetwork(input)) { + throw new ContractError( + getInvalidAjvMessage(validateJoinNetwork, input, "joinNetwork") + ); + } + const { + qty, + label, + port, + fqdn, + note, + protocol, + properties, + observerWallet + } = input; + this.qty = qty; + this.label = label; + this.port = port; + this.protocol = protocol; + this.properties = properties; + this.fqdn = fqdn; + this.note = note; + this.observerWallet = observerWallet; + } + }; + var joinNetwork = async (state, { caller, input }) => { + const { balances, gateways = {}, settings } = state; + const { registry: registrySettings } = settings; + const { qty, observerWallet, ...gatewaySettings } = new JoinNetwork(input); + if (!balances[caller] || balances[caller] == void 0 || balances[caller] == null || isNaN(balances[caller])) { + throw new ContractError(`Caller balance is not defined!`); + } + if (balances[caller] < qty) { + throw new ContractError(INSUFFICIENT_FUNDS_MESSAGE); + } + if (qty < registrySettings.minNetworkJoinStakeAmount) { + throw new ContractError( + `Quantity must be greater than or equal to the minimum network join stake amount ${registrySettings.minNetworkJoinStakeAmount}.` + ); + } + if (caller in gateways) { + throw new ContractError("This Gateway's wallet is already registered"); + } + unsafeDecrementBalance(state.balances, caller, qty); + state.gateways[caller] = { + operatorStake: qty, + observerWallet: observerWallet || caller, + // if no observer wallet is provided, we add the caller by default + vaults: [], + settings: { + ...gatewaySettings + }, + status: NETWORK_JOIN_STATUS, + start: +SmartWeave.block.height, + // TODO: timestamp vs. height + end: 0 + }; + return { state }; + }; + + // src/actions/write/leaveNetwork.ts + var leaveNetwork = async (state, { caller }) => { + const settings = state.settings.registry; + const gateways = state.gateways; + const currentBlockHeight = new BlockHeight(+SmartWeave.block.height); + if (!gateways[caller]) { + throw new ContractError("This target is not a registered gateway."); + } + if (!isGatewayEligibleToLeave({ + gateway: gateways[caller], + currentBlockHeight, + registrySettings: settings + })) { + throw new ContractError( + `The gateway is not eligible to leave the network. It must be joined for a minimum of ${settings.minGatewayJoinLength} blocks and can not already be leaving the network. Current status: ${gateways[caller].status}` + ); + } + const endHeight = +SmartWeave.block.height + settings.gatewayLeaveLength; + gateways[caller].vaults.push({ + balance: gateways[caller].operatorStake, + start: +SmartWeave.block.height, + end: endHeight + }); + for (const vault of gateways[caller].vaults) { + vault.end = endHeight; + } + gateways[caller].operatorStake = 0; + gateways[caller].end = +SmartWeave.block.height + settings.gatewayLeaveLength; + gateways[caller].status = NETWORK_LEAVING_STATUS; + state.gateways = gateways; + return { state }; + }; + + // src/actions/write/saveObservations.ts + var SaveObservations = class { + observerReportTxId; + failedGateways; + constructor(input) { + if (!validateSaveObservations(input)) { + throw new ContractError( + getInvalidAjvMessage( + validateSaveObservations, + input, + "saveObservations" + ) + ); + } + const { observerReportTxId, failedGateways } = input; + this.observerReportTxId = observerReportTxId; + this.failedGateways = failedGateways; + } + }; + var saveObservations = async (state, { caller, input }) => { + const { observations, gateways, settings } = state; + const { observerReportTxId, failedGateways } = new SaveObservations(input); + const currentEpochStartHeight = getEpochStart({ + startHeight: DEFAULT_START_HEIGHT, + epochBlockLength: DEFAULT_EPOCH_BLOCK_LENGTH, + height: +SmartWeave.block.height + }); + const observingGatewayArray = Object.entries(gateways).find( + ([gatewayAddress, gateway]) => gatewayAddress === caller || gateway.observerWallet === caller + ); + if (!observingGatewayArray) { + throw new ContractError(CALLER_NOT_VALID_OBSERVER_MESSAGE); + } + const [observingGatewayAddress, observingGateway] = observingGatewayArray; + if (observingGateway.start > currentEpochStartHeight) { + throw new ContractError(CALLER_NOT_VALID_OBSERVER_MESSAGE); + } + const prescribedObservers2 = await getPrescribedObservers( + gateways, + settings.registry.minNetworkJoinStakeAmount, + settings.registry.gatewayLeaveLength, + currentEpochStartHeight + ); + if (!prescribedObservers2.find( + (prescribedObserver2) => prescribedObserver2.gatewayAddress === observingGatewayAddress || prescribedObserver2.gatewayAddress === observingGateway.observerWallet + )) { + throw new ContractError(CALLER_NOT_VALID_OBSERVER_MESSAGE); + } + if (!observations[currentEpochStartHeight]) { + observations[currentEpochStartHeight] = { + failureSummaries: {}, + reports: {} + }; + } + for (const observedFailedGatewayAddress of failedGateways) { + const failedGateway = gateways[observedFailedGatewayAddress]; + if (!failedGateway || failedGateway.start > currentEpochStartHeight || failedGateway.status !== NETWORK_JOIN_STATUS) { + continue; + } + const existingObservationInEpochForGateway = observations[currentEpochStartHeight].failureSummaries[observedFailedGatewayAddress]; + if (existingObservationInEpochForGateway) { + if (existingObservationInEpochForGateway.includes(observingGatewayAddress)) { + continue; + } + existingObservationInEpochForGateway.push(observingGatewayAddress); + continue; + } + observations[currentEpochStartHeight].failureSummaries[observedFailedGatewayAddress] = [observingGatewayAddress]; + } + state.observations[currentEpochStartHeight].reports[observingGatewayAddress] = observerReportTxId; + return { state }; + }; + + // src/actions/write/tick.ts + function tickInternal({ + currentBlockHeight, + currentBlockTimestamp, + state + }) { + const updatedState = state; + const { demandFactoring: prevDemandFactoring, fees: prevFees } = state; + Object.assign( + updatedState, + updateDemandFactor(currentBlockHeight, prevDemandFactoring, prevFees) + ); + Object.assign( + updatedState, + tickAuctions({ + currentBlockHeight, + currentBlockTimestamp, + records: updatedState.records, + auctions: updatedState.auctions, + demandFactoring: updatedState.demandFactoring + }) + ); + Object.assign( + updatedState, + tickGatewayRegistry({ + currentBlockHeight, + gateways: updatedState.gateways, + balances: updatedState.balances + }) + ); + Object.assign( + updatedState, + tickRecords({ + currentBlockTimestamp, + records: updatedState.records + }) + ); + Object.assign( + updatedState, + tickReservedNames({ + currentBlockTimestamp, + reservedNames: updatedState.reserved + }) + ); + Object.assign(updatedState, { + lastTickedHeight: currentBlockHeight.valueOf() + }); + return updatedState; + } + function tickRecords({ + currentBlockTimestamp, + records + }) { + const updatedRecords = Object.keys(records).reduce( + (acc, key) => { + const record = records[key]; + if (isExistingActiveRecord({ record, currentBlockTimestamp })) { + acc[key] = record; + } + return acc; + }, + {} + ); + return { + records: updatedRecords + }; + } + function tickReservedNames({ + currentBlockTimestamp, + reservedNames + }) { + const activeReservedNames = Object.keys(reservedNames).reduce( + (acc, key) => { + const reservedName = reservedNames[key]; + if (isActiveReservedName({ + caller: void 0, + reservedName, + currentBlockTimestamp + })) { + acc[key] = reservedName; + } + return acc; + }, + {} + ); + return { + reserved: activeReservedNames + }; + } + function tickGatewayRegistry({ + currentBlockHeight, + gateways, + balances + }) { + const updatedBalances = {}; + const updatedRegistry = Object.keys(gateways).reduce( + (acc, key) => { + const gateway = gateways[key]; + if (isGatewayEligibleToBeRemoved({ + gateway, + currentBlockHeight + })) { + if (!updatedBalances[key]) { + updatedBalances[key] = balances[key] ?? 0; + } + for (const vault of gateway.vaults) { + incrementBalance(updatedBalances, key, vault.balance); + } + incrementBalance(updatedBalances, key, gateway.operatorStake); + return acc; + } + const updatedVaults = []; + for (const vault of gateway.vaults) { + if (vault.end <= currentBlockHeight.valueOf()) { + if (!updatedBalances[key]) { + updatedBalances[key] = balances[key] ?? 0; + } + incrementBalance(updatedBalances, key, vault.balance); + } else { + updatedVaults.push(vault); + } + } + acc[key] = { + ...gateway, + vaults: updatedVaults + }; + return acc; + }, + {} + ); + const newBalances = Object.keys(updatedBalances).length ? { ...balances, ...updatedBalances } : balances; + return { + gateways: updatedRegistry, + balances: newBalances + }; + } + function tickAuctions({ + currentBlockHeight, + currentBlockTimestamp, + records, + auctions, + demandFactoring + }) { + const updatedRecords = {}; + let updatedDemandFactoring = cloneDemandFactoringData(demandFactoring); + const updatedAuctions = Object.keys(auctions).reduce((acc, key) => { + const auction = auctions[key]; + if (auction.endHeight >= currentBlockHeight.valueOf()) { + acc[key] = auction; + return acc; + } + const getEndTimestamp = () => { + switch (auction.type) { + case "permabuy": + return {}; + case "lease": + return { + endTimestamp: +auction.years * SECONDS_IN_A_YEAR + currentBlockTimestamp.valueOf() + }; + } + }; + const endTimestamp = getEndTimestamp(); + updatedRecords[key] = { + type: auction.type, + contractTxId: auction.contractTxId, + startTimestamp: currentBlockTimestamp.valueOf(), + undernames: DEFAULT_UNDERNAME_COUNT, + ...endTimestamp, + purchasePrice: auction.floorPrice + }; + updatedDemandFactoring = tallyNamePurchase( + updatedDemandFactoring, + auction.floorPrice + ); + return acc; + }, {}); + const newRecords = Object.keys(updatedRecords).length ? { + ...records, + ...updatedRecords + } : records; + return { + auctions: updatedAuctions, + records: newRecords, + demandFactoring: updatedDemandFactoring + }; + } + var tick = async (state) => { + const interactionHeight = new BlockHeight(+SmartWeave.block.height); + if (interactionHeight.valueOf() === state.lastTickedHeight) { + return { state }; + } + if (interactionHeight.valueOf() < state.lastTickedHeight) { + throw new ContractError( + `Interaction height ${interactionHeight} is less than last ticked height ${state.lastTickedHeight}` + ); + } + let updatedState = { + ...state + }; + for (let tickHeight = state.lastTickedHeight + 1; tickHeight <= interactionHeight.valueOf(); tickHeight++) { + const currentBlockHeight = new BlockHeight(tickHeight); + const safeBlock = await SmartWeave.safeArweaveGet( + `/block/height/${tickHeight}` + ); + const currentBlockTimestamp = new BlockTimestamp(safeBlock.timestamp); + updatedState = tickInternal({ + currentBlockHeight, + currentBlockTimestamp, + state: updatedState + }); + } + return { state: updatedState }; + }; + + // src/actions/write/transferTokens.ts + var TransferToken = class { + target; + qty; + constructor(input) { + if (!validateTransferToken(input)) { + throw new ContractError( + getInvalidAjvMessage(validateTransferToken, input, "transferToken") + ); + } + const { target, qty } = input; + this.target = target; + this.qty = qty; + } + }; + var transferTokens = async (state, { caller, input }) => { + const { balances } = state; + const { target, qty } = new TransferToken(input); + safeTransfer({ + balances, + fromAddr: caller, + toAddr: target, + qty + }); + return { state }; + }; + + // src/actions/write/updateGatewaySettings.ts + var updateGatewaySettings = async (state, { caller, input }) => { + const { gateways = {} } = state; + const { + label, + fqdn, + port, + protocol, + properties, + note, + status, + observerWallet + } = input; + if (!(caller in gateways)) { + throw new ContractError("This caller does not have a registered gateway."); + } + if (label) { + if (typeof label !== "string" || label.length > MAX_GATEWAY_LABEL_LENGTH) { + throw new ContractError("Label format not recognized."); + } else { + gateways[caller].settings.label = label; + } + } + if (port) { + if (!Number.isInteger(port) || port > MAX_PORT_NUMBER) { + throw new ContractError("Invalid port number."); + } else { + gateways[caller].settings.port = port; + } + } + if (protocol) { + if (!(protocol === "http" || protocol === "https")) { + throw new ContractError("Invalid protocol, must be http or https."); + } else { + gateways[caller].settings.protocol = protocol; + } + } + if (fqdn) { + const isFQDN = isValidFQDN(fqdn); + if (typeof fqdn !== "string" || !isFQDN) { + throw new ContractError( + "Please provide a fully qualified domain name to access this gateway" + ); + } else { + gateways[caller].settings.fqdn = fqdn; + } + } + if (properties) { + if (!isValidArweaveBase64URL(properties)) { + throw new ContractError( + "Invalid property. Must be a valid Arweave transaction ID." + ); + } else { + gateways[caller].settings.properties = properties; + } + } else if (properties === "") { + gateways[caller].settings.properties = properties; + } + if (note || note === "") { + if (typeof note !== "string") { + throw new ContractError("Note format not recognized."); + } + if (note.length > MAX_NOTE_LENGTH) { + throw new ContractError("Note is too long."); + } else { + gateways[caller].settings.note = note; + } + } + if (status) { + if (!(status === NETWORK_HIDDEN_STATUS || status === NETWORK_JOIN_STATUS)) { + throw new ContractError( + `Invalid gateway status, must be set to ${NETWORK_HIDDEN_STATUS} or ${NETWORK_JOIN_STATUS}` + ); + } else { + gateways[caller].status = status; + } + } + if (observerWallet) { + if (!isValidArweaveBase64URL(observerWallet)) { + throw new ContractError( + "Invalid observer wallet address. Must be a valid Arweave Wallet Address." + ); + } else { + gateways[caller].observerWallet = observerWallet; + } + } + state.gateways[caller] = gateways[caller]; + return { state }; + }; + + // src/contract.ts + async function handle(state, action) { + const input = action.input; + if (input.function === "evolve") { + return evolve(state, action); + } + if (input.function === "evolveState") { + return evolveState(state, action); + } + if (input.function === "tick") { + return tick(state); + } + const { state: tickedState } = await tick(state); + switch (input.function) { + case "transfer": + return transferTokens(tickedState, action); + case "buyRecord": + return buyRecord(tickedState, action); + case "extendRecord": + return extendRecord(tickedState, action); + case "increaseUndernameCount": + return increaseUndernameCount(tickedState, action); + case "balance": + return balance(tickedState, action); + case "record": + return getRecord(tickedState, action); + case "gateway": + return getGateway(tickedState, action); + case "prescribedObserver": + return prescribedObserver(tickedState, action); + case "prescribedObservers": + return prescribedObservers(tickedState, action); + case "gatewayTotalStake": + return getGatewayTotalStake(tickedState, action); + case "gatewayRegistry": + return getGatewayRegistry(tickedState); + case "rankedGatewayRegistry": + return getRankedGatewayRegistry(tickedState); + case "joinNetwork": + return joinNetwork(tickedState, action); + case "leaveNetwork": + return leaveNetwork(tickedState, action); + case "increaseOperatorStake": + return increaseOperatorStake(tickedState, action); + case "decreaseOperatorStake": + return decreaseOperatorStake(tickedState, action); + case "updateGatewaySettings": + return updateGatewaySettings(tickedState, action); + case "submitAuctionBid": + return submitAuctionBid(tickedState, action); + case "auction": + return getAuction(tickedState, action); + case "saveObservations": + return saveObservations(tickedState, action); + case "priceForInteraction": + return getPriceForInteraction(tickedState, action); + default: + throw new ContractError( + `No function supplied or function not recognized: "${input.function}"` + ); + } + } + diff --git a/tests/utils/arns/state.json b/tests/utils/arns/state.json new file mode 100644 index 0000000..c389bd1 --- /dev/null +++ b/tests/utils/arns/state.json @@ -0,0 +1 @@ +{"contractTxId":"fbU8Y4NMKKzP4rmAYeYj6tDrVDo9XNbdyq5IZPA31WQ","state":{"auctions":{"perma-gi":{"contractTxId":"xa8B7Gf4Mg2GGYg5EDs-KENI4oB7TzVoORdZgj8fmMo","endHeight":1331131,"floorPrice":2494.294255296702,"initiator":"rweM0QUKbLVHADi2jyAvtOYgQv7lhp61NtX2ftXpANY","settings":{"auctionDuration":10080,"exponentialDecayRate":0.000002,"floorPriceMultiplier":1,"scalingExponent":190,"startPriceMultiplier":50},"startHeight":1321051,"startPrice":124714.7127648351,"type":"permabuy"}},"balances":{"1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo":5125,"6Z-ifqgVi1jOwMvSNwKWs6ewUEQ0gU9eo4aHYC3rN1M":5000,"7waR8v4STuwPnTck1zFVkQqJh5K9q9Zik4Y5-5dV7nk":24744330.564006545,"GtDQcrr2QRdoZ-lKto_S_SpzEwiZiHVaj3x4jAgRh4o":9987724.565252,"JcC4ZLUY76vmWha5y6RwKsFqYTrMZhbockl8iM9p5lQ":48624.00909836378,"Kaajvkd2G--bS4qzKKECP1b2meEotzLwTPSoprSaQ_E":300,"KsUYFIGvpX9MCbhHvsHbPAnxLIMYpzifqNFtFSuuIHA":2798299.4042561185,"PGVJoj-eNKUncwSHgDzcqdBSLKcSFpJH7RrfOR8ZFGE":75,"QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ":924972152.8509287,"ZjmB2vEUlHlJ7-rgJkYP09N5IzLPhJyStVrK5u9dDEo":59207.496381000135,"cF0H0SKdnaDTqWKY9iJKBktTpdEWgb3GnlndE7ABv0Q":4997795,"fbU8Y4NMKKzP4rmAYeYj6tDrVDo9XNbdyq5IZPA31WQ":9969915.160172915,"iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA":1258.125,"mlZMPE6VhJXuwvLelbnDdgTphn3jyO1KNnc68mWjMtc":483200,"nszYSUJvtlFXssccPaQWZaVpkXgJHcVM7XhcP5NEt7w":9377901.659226,"q6zIf3KQRMCW9fytR0YlKG4oqw6Cox4r_bk7mq6JZBM":2520411.1917550815,"rweM0QUKbLVHADi2jyAvtOYgQv7lhp61NtX2ftXpANY":9714680.67966789,"wlcEhTQY_qjDKTvTDZsb53aX8wivbOJZKnhLswdueZw":6500},"canEvolve":true,"demandFactoring":{"consecutivePeriodsWithMinDemandFactor":0,"currentPeriod":28,"demandFactor":0.6620152182970527,"periodZeroBlockHeight":1307075,"purchasesThisPeriod":0,"revenueThisPeriod":0,"trailingPeriodPurchases":[0,1,0,0,0,0,0],"trailingPeriodRevenues":[0,192.65500121086595,0,0,0,0,0]},"distributions":{"epochEndHeight":1323322,"epochStartHeight":1323273,"epochZeroStartHeight":1323273,"gateways":{},"nextDistributionHeight":1323347,"observers":{}},"evolve":"Bbkm-J44HaGX-MU2-GGOwaG6GOxYurb0-SnRLigu1Tw","fees":{"1":5000000,"2":500000,"3":100000,"4":25000,"5":10000,"6":5000,"7":2500,"8":1500,"9":1250,"10":1250,"11":1250,"12":1250,"13":1000,"14":1000,"15":1000,"16":1000,"17":1000,"18":1000,"19":1000,"20":1000,"21":1000,"22":1000,"23":1000,"24":1000,"25":1000,"26":1000,"27":1000,"28":1000,"29":1000,"30":1000,"31":1000,"32":1000,"33":1000,"34":1000,"35":1000,"36":1000,"37":1000,"38":1000,"39":1000,"40":1000,"41":1000,"42":1000,"43":1000,"44":1000,"45":1000,"46":1000,"47":1000,"48":1000,"49":1000,"50":1000,"51":1000},"gateways":{"1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo":{"end":0,"observerWallet":"1H7WZIWhzwTH9FIcnuMqYkTsoyv1OTfGa_amvuYwrgo","operatorStake":20000,"settings":{"fqdn":"permagate.io","label":"Permagate","note":"Owned and managed by @dtfiedler - if it breaks, find him.","port":443,"properties":"FH1aVetOoulPGqgYukj0VE0wIhDy90WiQoV3U2PeY44","protocol":"https"},"start":1252209,"status":"joined","vaults":{}},"QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ":{"end":0,"observerWallet":"QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ","operatorStake":250000,"settings":{"fqdn":"ar-io.dev","label":"AR.IO Test","note":"Test Gateway operated by PDS for the AR.IO ecosystem.","port":443,"properties":"raJgvbFU-YAnku-WsupIdbTsqqGLQiYpGzoqk9SCVgY","protocol":"https"},"start":1252182,"status":"joined","vaults":{}},"iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA":{"end":0,"observerWallet":"iKryOeZQMONi2965nKz528htMMN_sBcjlhc-VncoRjA","operatorStake":10005,"settings":{"fqdn":"gatewaypie.com","label":"Gatewaypie","note":"Test gateway part of the AR.IO Gateway Ops Video Series. Check it on Youtube!","port":443,"properties":"FH1aVetOoulPGqgYukj0VE0wIhDy90WiQoV3U2PeY44","protocol":"https"},"start":1252170,"status":"joined","vaults":{}},"wlcEhTQY_qjDKTvTDZsb53aX8wivbOJZKnhLswdueZw":{"end":0,"observerWallet":"wlcEhTQY_qjDKTvTDZsb53aX8wivbOJZKnhLswdueZw","operatorStake":25000,"settings":{"fqdn":"vilenarios.com","label":"Vilenarios","note":"A test gateway for ArDrive L2 data","port":443,"properties":"FH1aVetOoulPGqgYukj0VE0wIhDy90WiQoV3U2PeY44","protocol":"https"},"start":1252161,"status":"joined","vaults":{}}},"lastTickedHeight":1327722,"name":"Test IO","observations":{},"owner":"QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ","records":{"1984":{"contractTxId":"I-cxQhfh0Zb9UqQNizC9PiLC41KpUeA9hjiVV02rQRw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"6529":{"contractTxId":"DGWp8_6c1YywKgCgBFhncMglciQyCdfX1swil4qjNSc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"111111":{"contractTxId":"fLDRJlVn3IwGD4R7d10k_sIz5k53KJCdCcX4Pq9u2NE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"123456":{"contractTxId":"woxNKZXPNKap4rZWFQtThQsrFWZpr_vSn5mXBpMOq74","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"222222":{"contractTxId":"e6UGZX2dyzQP6sWsgyYQCjIloIpk-xMKqDbYO9rw584","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"333333":{"contractTxId":"YjCgzESG9zh2nqrBUESjKlq9JPG2CuG46_7SOwVlK8U","endTimestamp":1719509012,"startTimestamp":1695161366,"type":"lease","undernames":10},"555556":{"contractTxId":"Z-nJrZq_kZ9cKfUye0fxo4KniX_gO082LkgCmZ9tDk4","endTimestamp":1719501398,"startTimestamp":1695161366,"type":"lease","undernames":10},"666666":{"contractTxId":"hXcFS0uGusoX99xVSTVfLmAHpoouCraS4nVROf-sBmQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"686868":{"contractTxId":"Ck9Z6YJU8QpxKjlpGTMUxEM2EygE8jXIWouDzfkr8RI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"777777":{"contractTxId":"YpEbRpvzN_2NSdJDq05dW35flg-OYsIWVuecvo30DlA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"888888":{"contractTxId":"ze8q19yks5rWB2sCR21Ayt1ggxu2B3b02IkO98p1Ilk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"999999":{"contractTxId":"rSbvUYpO6x11dE3QQ60euuREpTNXHvWAOTmWlX0BpUo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"12332122":{"contractTxId":"ZgQ3cFjf6vzM4i5U-WqDt4v8hfc0vIKorpaOPfEz8sc","endTimestamp":1729641652,"startTimestamp":1698105652,"type":"lease","undernames":10},"66668888":{"contractTxId":"60qaOiQ48WHUbz7x6x7ECQqsGkAEpF9p5Qv_wZPNkbo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"88888888":{"contractTxId":"uhtKtTNG5-hxI7VI7JjLIcBMQ9B_UOLET_pJ1mrhIQw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"99665588":{"contractTxId":"9fx9l2pC-DqrxwqHRGNZAaCKyEx6t3y8RSAHYwUJ0z8","endTimestamp":1729648668,"startTimestamp":1698112668,"type":"lease","undernames":10},"111111112":{"contractTxId":"8--1-pCpTp0hJV8_9p1tYMzuSmQWb1IbDW9EJsM1yjg","endTimestamp":1728535299,"startTimestamp":1696999299,"type":"lease","undernames":11},"123123321":{"contractTxId":"DxfMHGtI6NB4bOAu_jGRJQwDdcuRI5WC_5zDrPlsdoc","endTimestamp":1729722382,"startTimestamp":1698186382,"type":"lease","undernames":10},"123456789":{"contractTxId":"y6ML7vH4AejHKyrsefRv9veIYvzSHEgZEeNrhkdFlmA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"999999999":{"contractTxId":"QuDH1O85-eBwcVJIt2ipwarJ3WU2YkvUIZ-fYFvOQkk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"------":{"contractTxId":"BNX2Idk-6rpKUzbynaQknKiA7tVIGjvhaSQ5WLQynDU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"000001":{"contractTxId":"AuNlrubqGPXrJ4GROG9FT3g7SAuN73lDw5El97T53Uo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"0x123456":{"contractTxId":"K54QYb_m9CejVsncybYjDApiXtt1EXtxGc-v_VoUSgc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"0x646464":{"contractTxId":"kSru6zb9yYRFNu6ZiWmrQhY1vMKtyk_4BlN8laAJ2RM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"0xb17z":{"contractTxId":"g6bVBUgx5eav3j8-Zr7zweWubO4DVWCZtiNFh1XsoF8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"0xb1vcelsius":{"contractTxId":"2A6fMr-ZY4MghBGxSd5fb0-Oc5u88UDWj5ZGiE-sYpg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"0xb1vscelsius":{"contractTxId":"RhU5sc6G4H8mv-4ZOR-e4VQkjULnSaOd5uyVuG_wpNI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"0xdurvesh":{"contractTxId":"Yfvhim8oWdAZ3V_mWMOQquqTWtMy9K5tnpspfomj96k","endTimestamp":1712932474,"startTimestamp":1695161366,"type":"lease","undernames":10},"0xjenson":{"contractTxId":"TtwWBmLVz1CmdbCuzT0ZUrkn7ZVBFx2O_Zzz0E4SDoU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"0xpacy":{"contractTxId":"sAUs40PZ91xOunAL54srfq_ESProOtKKRZ4znXQfIEE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"11111111111":{"contractTxId":"NtI8esmf1QgKZoC8RFNZnItDMvNApjaIstW-uPuBkEQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"11pmgroup":{"contractTxId":"-bxTpgKf64THGyZu2yo3eZIkyYwYHe9WQchJUB6Z3EQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"123abc":{"contractTxId":"clh-RQNy6HQCG4SzvgPiOViZ5dWcL9ipYab27x8C66Y","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"2-6-spec":{"contractTxId":"Ot_7iz5aHJBt0tPJQlLqrNZ6UVMg6jB5lRS1niwfkgU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"22222222221":{"contractTxId":"IHYkQBqDAMjHjwXu4QFfPBk_6QAI0aJ3QtX63ddtzjM","endTimestamp":1723746132,"startTimestamp":1695161366,"type":"lease","undernames":10},"22222222225":{"contractTxId":"8PI0QwQOEwq7_70aqA3VMhzuwTfK7zZ7_b882RSPu2A","endTimestamp":1723308577,"startTimestamp":1695161366,"type":"lease","undernames":10},"23e23e":{"contractTxId":"1dRMQebo-_-ObGLJRSRkaxWXem0b_Dz9si2X3BZpG78","endTimestamp":1715663929,"startTimestamp":1695161366,"type":"lease","undernames":10},"23e23e23e23e":{"contractTxId":"3TmSF3cGyL0X61WwzKUzfHoWbr3dHFBw8d7IYKICqVY","purchasePrice":2625,"startTimestamp":1699456037,"type":"permabuy","undernames":10},"23e23e23e23e2323e":{"contractTxId":"I5jlv45ncKFFb46YRRcyz6dKu9GQl09GnKppG29737k","purchasePrice":2000,"startTimestamp":1700037051,"type":"permabuy","undernames":10},"23e23e23e23e23e23e23":{"contractTxId":"w4ly3wXbDILDwdYMh94IqnOdIhUWHXSmgrYHmAd1QG4","endTimestamp":1715665687,"startTimestamp":1695161366,"type":"lease","undernames":10},"23e23e23e23e23e23e23e23e23e23e23e23e23e23e":{"contractTxId":"85vp8KO2u9PisusQ0A9f1N_UR0O1VfRjOA1Ib-Gex98","purchasePrice":1988.9578839490357,"startTimestamp":1701464323,"type":"permabuy","undernames":10},"23e23edassdsadasdf":{"contractTxId":"sRks-YyTa3medlQG_JNgaKsUd4c6nBU50msFsRt3nFg","endTimestamp":1734039913,"purchasePrice":972.7747595657137,"startTimestamp":1702503913,"type":"lease","undernames":10},"23e32e2e222":{"contractTxId":"Hd4-zZoK3f-49whsEsdm0YnztbM8PADneDJDqo1F0FY","startTimestamp":1698248667,"type":"permabuy","undernames":10},"247network":{"contractTxId":"ek098dVg6H6CphtMTwRT-5FuU2yWmDg_1vz_QUOIGhE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"2e3e23e23e23eqwdqw":{"contractTxId":"-zcryqx1-iaV1dKoJznQBYYHviX7TntJrk8iN4MOFqk","endTimestamp":1733608287,"purchasePrice":1104.0512022670225,"startTimestamp":1702072287,"type":"lease","undernames":10},"3e23e2d23232e23e23":{"contractTxId":"14qtdkA9QL79srumzYgXBOzD5bkHCZ1M10ySWKE9ZNA","endTimestamp":1728487434,"startTimestamp":1696951434,"type":"lease","undernames":10},"_ustas":{"contractTxId":"adCiZIOawEzsmAl9YR2Dyam5XqQAkrznge8CJUW_3-E","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"a666gs":{"contractTxId":"t47im5X4KhmgIxlFpKHg0BkzzXocPI2JilKCwxGmUus","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"a6zzzs":{"contractTxId":"ToztC1hEsPsKfVbfDXmhNOC0u4LMqAdDXHC5I6vANN0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"aaronsim":{"contractTxId":"pLNHo70kbiMOcUU6mAeCFRQNHsBLQszFead8_qUOviA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"abcdef1":{"contractTxId":"BBBfpoFPsz7W9KmwXN8gqOtqzHdZaHizOCigR-bf54k","purchasePrice":262500,"startTimestamp":1698966797,"type":"permabuy","undernames":10},"abcdef2":{"contractTxId":"hk1RpW97CeTiu1-heJuAq0o4mEo7CESuyHZGiYehcUM","purchasePrice":5250,"startTimestamp":1699648759,"type":"permabuy","undernames":10},"abhav":{"contractTxId":"vpuEFj5a9gpfx0rMeL_zCUax8wlVmmELH3Z-T-6g_cw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"abracadabra":{"contractTxId":"7k9ZmGXBoU1qH-Fhl-x6XHZDjXl1UR_XjJrMzJ61nqY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"abracadabra11":{"contractTxId":"rUnV3PofJiqIIQNLc77-GzLjWgtb5kyN_ponRgPbd2Y","purchasePrice":2043.724921875,"startTimestamp":1700525701,"type":"permabuy","undernames":10},"abracadabra12":{"contractTxId":"c-zTiMC5KmZDybD-rr6gjbCPPUc7nJovgKZLKJmd8fs","purchasePrice":2043.724921875,"startTimestamp":1700525701,"type":"permabuy","undernames":10},"ac3iso":{"contractTxId":"ndsp9fwNw_1aQfSN_9N-7wM1p9E2H89UFUUA0VZCOGc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"account":{"contractTxId":"yhhxcDQbdoUoniG-0qaiEfTjNHhRExz7O8zouEK_QzI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"adam":{"contractTxId":"-h3GfvhncBn5cjGKmWT3Zwppf90z3goUHqDgUxaiGkw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"adao":{"contractTxId":"y0IH__5ELbS-YgG5g6IWl6HqSdzwA9w_jOdGYPFPdnM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"addingbio":{"contractTxId":"lZy6vN49BZu_eJW3zh53VQTbdY0jn0t-jol397PGCzE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"aderall-tasty":{"contractTxId":"wX1lRj41uj_LsNrPQLc1bBxqTDbVnAauRxROuq0tfDk","purchasePrice":2100,"startTimestamp":1700198298,"type":"permabuy","undernames":17},"adi_junior":{"contractTxId":"mSvgwpJtQEdKUkkLqSmviMv-usECt5UXWuToU7UxOYQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"aditya":{"contractTxId":"EHNt51lKDNkjTXJDkQOc9GoEt35vqG7JkHV6E5urd7k","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"admin":{"contractTxId":"pMg5sLu6aH7NvXvz1mUCcKWqK8LKIwmGcnbc6-p3ngE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"again-it-worksies":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1713633344,"startTimestamp":1695161366,"type":"lease","undernames":10},"aiweave":{"contractTxId":"8MuFg8MIhzp1sQYIBFO0BjlTp4Lkj32ZpsYOf1mSG2c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"alex":{"contractTxId":"CMutDqqhrpDLV8p2Ac13kkmwKtm9OLuQ86uadEg0wDI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"alex-beta-v1":{"contractTxId":"d2AzFcA8NkfWifUL9iuQpKcGKKD5XvDX29Hjy9nmNzE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"alex-operator-guide":{"contractTxId":"VGOESh04guJmEKGHmW4lOciACCSFARFPuYS4KgcXjJo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"alex-renderers":{"contractTxId":"TPvRqEeSctYC50c5mfP51nsbpGaCARtYO1fHyBZNLGE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"alex-v2":{"contractTxId":"446SouAbg73XJ5umR9Lk041eZDgdUj_Wh55GnID69CI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"alexandria":{"contractTxId":"LlOyzzg-N8dWM4io4rZXmsWl8neIOeqzSRg0VmVFj7E","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"alexatallah":{"contractTxId":"gWk79eFKegEktCnpbkeledEOS0JVSmN1O8s-cPfoxDw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"alextest222222222222":{"contractTxId":"eYnoHDfYQkyK-rma1tFZfMuX1Qs-mTeC7SuTBVCgIF8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"alibaba":{"contractTxId":"E2PaqGYQkwpGmgcP4UJzvTJHD5Zu7LyX6jpz3m1xMnQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"all-fixed":{"contractTxId":"y3OksydyG_sTSKTYtBYXV_7dbgZ1SHB3aTkXm5qUO0I","endTimestamp":1731624898,"purchasePrice":1500,"startTimestamp":1700088898,"type":"lease","undernames":12},"all-fixed1":{"contractTxId":"_Tx4xeebg-2SAkSY5u975fPTccjCSfajccnuG2QLxjo","endTimestamp":1731624898,"purchasePrice":1500,"startTimestamp":1700088898,"type":"lease","undernames":13},"all-fixed2":{"contractTxId":"lyuwAgqfRXgUrF1piWNQe8_dMcc24Yo-2lrYAcKokho","purchasePrice":2500,"startTimestamp":1701464323,"type":"permabuy","undernames":10},"all-mine-allllmiiine":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1713633344,"startTimestamp":1695161366,"type":"lease","undernames":10},"almostgreat":{"contractTxId":"uFA2OlsLGJe-4BjbT8OtvH0KT6EZJQMccOVx332lMSI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"altavista":{"contractTxId":"pFxgSlxr7lkkPl3CHnYvzx-DHFlmSOB4fbQcUe7iuQ4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"amazon":{"contractTxId":"Glh1pZq-JUy9Hdn6vC7OqRWlSEZCyIKYTlx98ihUtWw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"america":{"contractTxId":"ZymYQ5Qn5grYZw80RdPnPg25j_wY0ZChVsZWhQZ7E6Y","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"anamenotpurchasedyet":{"contractTxId":"U5zvpsJKQnKvRcpQT9oMXQ6E38RlzJs5VOs-9HdtXFM","endTimestamp":1730399516,"purchasePrice":1260,"startTimestamp":1698863516,"type":"lease","undernames":10},"anastasiaditte":{"contractTxId":"w4VjoLl9lpZYmLPhhv7FEHls2L2k3kuWleVPXVLSs2o","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"andresmontoya":{"contractTxId":"dLGptZIU9rwQf4hATSh_2mdzF5aGPRt0MlrFcKnGGCw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"andrew":{"contractTxId":"GZZ4BHH4_pbHLDWUwwJpktHk70Bwq1tHUEj2gF2VNgs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"angel-moguls":{"contractTxId":"xWWqz2-Dg0kdytG79c1GseRLSPfILJ5HHGniwD5nPGQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"angela":{"contractTxId":"nbg24BMHkl6yRXpRIT28UJJbjGj24O50MeKUkauRjCA","startTimestamp":1697311313,"type":"permabuy","undernames":10},"angry":{"contractTxId":"AqI4ramezJjelI13plf_oyqckCQ7NqMGO8rQzjTJlpM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"angrymouse":{"contractTxId":"oZRZ9zAPJKP2PCGLCa8YmT0AK5p5UUVtmb3SjD3CVf4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"another-new-name-for":{"contractTxId":"PqQYhOAfLbWosd3j5CP1tBXCLEzOUz1XT2079Nic-aI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"anotherexpensivename":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"anotherone":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ans-contract-view":{"contractTxId":"WDp0WkAq9xxcuZkL9UbwMNIYVeatb5Qbhto_S4lOJqE","endTimestamp":1994946739,"startTimestamp":1695161366,"type":"lease","undernames":55},"ant-atomic-cached":{"contractTxId":"mO1YJfHQE0SnjLj7MabioH5BKOXvN-NpQy3StgRf7io","endTimestamp":1718394360,"startTimestamp":1695161366,"type":"lease","undernames":10},"ant-cache-atomic-22":{"contractTxId":"bVKfhJJsfbOuZde2qC0gRvJLsdLhBle9GhBQqbq3ekw","endTimestamp":1718405344,"startTimestamp":1695161366,"type":"lease","undernames":10},"ant-cached-ach":{"contractTxId":"CMbm7LvQdu7oqKbaFuXt24RfG8er6OQtuJWxaus2f0M","endTimestamp":1729809807,"startTimestamp":1698273807,"type":"lease","undernames":10},"ant-cachedy-cache":{"contractTxId":"yku0gu-zjaop3KCVSERrxeuOhjfMebop5xxMM9UFAIw","endTimestamp":1729809469,"startTimestamp":1698273469,"type":"lease","undernames":10},"ant-cachety":{"contractTxId":"vvnWdjU4pnRweDV-9q9nnb-qmmeWNggfS7021VG4s6U","endTimestamp":1729810038,"startTimestamp":1698274038,"type":"lease","undernames":10},"anthro":{"contractTxId":"LJL-kCjQQR6pobudCMg_dF9ZuEBK6qAG5v_iO0HSEkQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"antman":{"contractTxId":"NvR27GZwjC3yzPYWpGT6oumxiN1CqWcIqmcCztX-8Y8","endTimestamp":1711468765,"startTimestamp":1695161366,"type":"lease","undernames":10},"antonv":{"contractTxId":"AWqxSF6u2xIyzvXweHU2HVmEp0ajcgGXhVi3l8CTaJk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"anuness":{"contractTxId":"vBu6ZMYn3ON9HdgzxIMXZhgOpch_tIx5ZafYrtQPiYY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"apetapes":{"contractTxId":"QCV1YAtoz3EC0Mq-ZnK4FfxZWRIKwqBta0L8U1TRgYc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"apoloniusz":{"contractTxId":"OX3PDzTWOabBZeLabPZNMSx-eB4AMf8yDxwJiV8dj2U","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"appleappleappleapple":{"contractTxId":"5cAGRcC5VegweMPHSbSs_ihj17Zsg5C_pJL4qE2cE4k","endTimestamp":1712312195,"startTimestamp":1695161366,"type":"lease","undernames":10},"apps":{"contractTxId":"6nyqaD8f0VXiVz1Kq_Ncb2OvHYYnXFsbP7gw-7AdrLo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"appstore":{"contractTxId":"wdrNIj2t8v-otRrIpYIwCLPG_lVjaNuoFIlav87xA_c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ar":{"contractTxId":"bqQMtWUH980UtnR9n2eyzYUNXXGS9J7Iynf8vIt-zgQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ar-converter":{"contractTxId":"KpugQngiFR_QrDS6DrlLzaOIKuKUAXFZVnVEJZByebQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ar-fees":{"contractTxId":"dyUKc2Rk5iVplmzbfPuqD5xt_HrqEMk1lzkg_p08Y34","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ar-io-test":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1712691566,"startTimestamp":1695161366,"type":"lease","undernames":10},"arcademy":{"contractTxId":"Ooid-54_iYjoOoowS5ZdqVC3P8JRSv8vp17V6Noeo10","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"archivetheweb":{"contractTxId":"ZSbSUSKSAfLNW-LCpOFyE8BpAZlfK5q3_iEQmcSTVTs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"archivor":{"contractTxId":"olvebAfwMomiKfH2fD7mMioU6eHB-GBYs_PMUvkFj-U","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arcode":{"contractTxId":"ELI5xlVQ_sc_gJHiFQ0O3Mr4pvH-mwgGp9-Zmz6W6Ss","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arconnect":{"contractTxId":"IuCgqkd6kjQoV0HxviB_aZOcRtwFSNKeotz-9so-LOo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ardirved":{"contractTxId":"YcUbL7_j2DLxvMX0dqOu8N73mrcCRzovsE5Mw22uLmc","endTimestamp":1712251460,"startTimestamp":1695161366,"type":"lease","undernames":10},"ardit":{"contractTxId":"oBQIPkjg5PnOhFzCT-JU76KbnhcH62UT-dneYAYi2yc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arditt":{"contractTxId":"AwW1QW9bq8xDyo97kiKH3_I07QicSpMFykPhyTK39B0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ardrive":{"contractTxId":"bh9l1cy0aksiL_x9M359faGzM_yjralacHIUo8_nQXM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ardrive-calc":{"contractTxId":"iu-DROR9TUhEwzkrk8EBfV5zphU6nvEfKuOU57RnSqY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ardrive-og-logo":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ardrive-really-rocks":{"contractTxId":"EcC62j_Di_ud-9MjIb_JjIuwJ1ewZaNUXxDgpOnoh94","endTimestamp":1730956962,"purchasePrice":1260,"startTimestamp":1699420962,"type":"lease","undernames":10},"ardrive-rocks":{"contractTxId":"Ibf-isTWg7D5rk2m2tt9ce3kMwfDcbZPJZT8EdCYlb0","endTimestamp":1730956238,"purchasePrice":1260,"startTimestamp":1699420238,"type":"lease","undernames":10},"ardrive3333333":{"contractTxId":"pF2gwkhi1_60Wq8vcXQ-3qBc-g30Dg5lDmKCGesKhXc","endTimestamp":1763228384,"purchasePrice":1260,"startTimestamp":1700156384,"type":"lease","undernames":20},"ardrive46465":{"contractTxId":"PDw5xBMrrOkXM3xsYBDYbzBizvhewpb2bYnyktv2Qt8","startTimestamp":1698112366,"type":"permabuy","undernames":10},"ardrive_widget":{"contractTxId":"DuKKZ45mGoozRGYBq3vgGlUdz7FG6B60HX9KfTLCvBU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ardriveapk":{"contractTxId":"vB46_Y8KA9ah6xgH7NvTPgchSw6_IYma1QIa8YhBB_I","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ardrivedddd":{"contractTxId":"0x7GZjANfm7LK7TLFMgN4nKkx4AeNtXeK9QgCZ_uyfE","endTimestamp":1722012548,"startTimestamp":1695161366,"type":"lease","undernames":10},"ardriveergerg":{"contractTxId":"87iMzItt0JWmAgRJFFnM9V8UW_hbNa-XzvDOFVJ-A48","endTimestamp":1725681597,"startTimestamp":1695161366,"type":"lease","undernames":10},"ardrivery":{"contractTxId":"7GiX0K2gbEim038a48i9iMlGj6r2JkxpfK4XopeeVXI","endTimestamp":1732052158,"purchasePrice":1459.8035156249998,"startTimestamp":1700516158,"type":"lease","undernames":10},"ardrives":{"contractTxId":"Z7eLa9LvZzXNUI2CKz8hnMZbooszcWTSvpDanvFZhFg","endTimestamp":1718220631,"startTimestamp":1695161366,"type":"lease","undernames":10},"ardrop":{"contractTxId":"iG-WhPk3SQ29RV3fhKqKMxiLR2BZ1Tuv4lMBI4g9Fbg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arfans":{"contractTxId":"Si_ay9lg-N1jH3Pp381n8z-KowYJhYFrdpl6YoywpxE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"argentina":{"contractTxId":"A_tdFFKkGjmRzQmPIctMAyE-QXY2nG0dw2D2sjflh0E","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ariel":{"contractTxId":"nXS6b9KKWs9ZzYeWw0BUYqXQd4eWk_LhbGerE-NLl54","endTimestamp":1713651122,"startTimestamp":1695161366,"type":"lease","undernames":10},"ario":{"contractTxId":"xu8iShWHPgT1CM82n7Vs4rr_03q7Bf7PLqNIUYBLgVY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ariyan":{"contractTxId":"hpVeCkK0rzqdYdOT0UPK2NSzcbiNsZrriyOd8g2wQlU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arnotify":{"contractTxId":"T5XtfW7BIHCU_mc905oPWd6qYf8iiZqcQGtSvKIg7E8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arns":{"contractTxId":"a7PyzCoEf6MxV05styCX8rpsZoMDigZVe2DR0Cmy3vs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arns-id":{"contractTxId":"qT0BTC-p9uTk9OGnsfqmE9DEwnVfBBBWVQbgv2Xocmc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arns-portal":{"contractTxId":"4FftM3u83NKE4taZcIO2Kd8O4IMrOcLmhuOzq9Kv1fk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arpending":{"contractTxId":"BS6mNrVuVsEw4v1C4LfTPHpjftqZmHl4gikCHSEC_dw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arplay":{"contractTxId":"2pAUTdtFgjKi1OjhcP3Ob7xH9Akhs2AOXKjcohVrZoQ","endTimestamp":1718289967,"startTimestamp":1695161366,"type":"lease","undernames":10},"arprofile":{"contractTxId":"e4S-MXKm_VipqYGPPw6Wdgf-CY-z2UlDmcdLijbhvww","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arsnap":{"contractTxId":"10qQXPvrnqNzkYCF_VUBTUhS7qi2tyguXVLV_971bXc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arwallet":{"contractTxId":"F2UlheO_YafLA9nPnRqVc-oQ0num1hzM8_P-FW42nFY","endTimestamp":1711372893,"startTimestamp":1695161366,"type":"lease","undernames":10},"arweave":{"contractTxId":"7PMjTMZ5aiIyv5Dbt-vyT0vI9YlQH4gSAbbSrY1qOSw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arweave-nextjs":{"contractTxId":"djUL_SBwcOb8-1_VuIhPbBwdq2JsecSy86rsq0T6QUo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arweavechain":{"contractTxId":"b7Jau0VXQ4_4JWoMLNr7D5ysKPQDNknptFJwLwoXFo4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arweavechess":{"contractTxId":"_6b6wkNZimbrF8ZarWkQh2vXKg7fmfeIadVlzO8Ih9A","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arweavefarsi":{"contractTxId":"jGtG7zsZcM-5TPTuiJ8RwhKnQsmQEtR-09lgp7KFCWg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"arweavewallet":{"contractTxId":"TMxUOac0webecY7QqtUUSISSZsNBoNjEW2A7d0G1stU","endTimestamp":1711372893,"startTimestamp":1695161366,"type":"lease","undernames":10},"arweavewallets":{"contractTxId":"kgAZXKpYbfppdKpdgbLqmLFzhqz6XB9S2E-W3PON9Js","endTimestamp":1711372893,"startTimestamp":1695161366,"type":"lease","undernames":10},"arwiki":{"contractTxId":"8HOtNu7dsfAvCngkoNE6kuh0q2jsLztSa0iuj-05wMY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"asia":{"contractTxId":"qAmiZO07Aao-tOD8uubLv15zWmJpnpKwOSPh1ms-2-c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"asseenontv":{"contractTxId":"wzV8sBPobhnmJyqdH944aCz5EfcbsCLhz8ZegRfuBJI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"async_dime":{"contractTxId":"9UnN-TCFIBrCH2VAC555Utaw3w8ayNnj5Snf9aXJpA0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-0":{"contractTxId":"yAs4KaAPnEUPf_Ami-3M0mt9VYmGSAybOWISwIGuoxw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-1":{"contractTxId":"7Qf98X5sh0x4t_ECfn1zJB8kqodvvw3Ohj87Q67rlUs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-10":{"contractTxId":"ZkmOGGzoynEgCDwcuAzyqolB2sJdVEDXp1X4od3zvzM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-11":{"contractTxId":"0U5_pBbon4fMBTRhqGgWrsKSWO_GOj95gZShoRqvkdk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-3":{"contractTxId":"t2UR0yp52HloZajqTDKxm0he8LCZ5bTgTQ7bN8Qqg_I","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-4":{"contractTxId":"Jqsn4XC9Un7if06XyI1ZVXlNKCjn3iWAAnrwsmgL2Wg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-5":{"contractTxId":"m8WukC7o0xdFWFMpLQYthT3USjSXNdm9QjDaRnEJRCM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-6":{"contractTxId":"KIzu_TaeWm-0H3XuuIN3SXp1lUt9rdPOCaSV_RagOys","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-7":{"contractTxId":"z2sMKZ-i8nXWNNR85TkTlxdvY5Kz9Iw2o3lyDs2UX7A","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-8":{"contractTxId":"rR00f2FjY0twun8DCo50WAB6mOg-udx4vzSlbQdow4k","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-cache":{"contractTxId":"Qpaz0v_u9C9CzST2f_GFocta_SY75yrfWsm00FSMP2Q","endTimestamp":1718391552,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-ant-can":{"contractTxId":"cs2huk7R9rgpdKkcbjBNY-IjrKIZjEjQknvDCdSJS1E","endTimestamp":1718462719,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-assets":{"contractTxId":"yA7jPF6C-GQb1t7jwTKqKl6Cj8eeLDlEKyoqqaAqzAs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-at-record":{"contractTxId":"nNoGvnKllbpM2NRl6OHccNLXAg3PyQ9uRTyYR5GrjZE","endTimestamp":1718458462,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-at-record-2":{"contractTxId":"-n_VIcXbL9gWSqjSXL_FDzStPs0ROTME2G4iC4YUvQc","endTimestamp":1718458709,"startTimestamp":1695161366,"type":"lease","undernames":10},"atomic-validation-test":{"contractTxId":"upfGHah4dA2b6h-o3RjZYznrFvO0tbG_jt3AeyxrAJw","endTimestamp":1718980825,"startTimestamp":1695161366,"type":"lease","undernames":10},"ator-dashboard":{"contractTxId":"PspdulWYOoBov3dJyA9TdXuqDqaV7snSiwPjtesLvNU","endTimestamp":1714592981,"startTimestamp":1695161366,"type":"lease","undernames":10},"atticusofsparta":{"contractTxId":"t3E2BnNj6tfZ35zfn5uGstigRje01j8oQFb85RfKkCA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"atticusofsparta2":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1714680096,"startTimestamp":1695161366,"type":"lease","undernames":10},"auction":{"contractTxId":"3W7DQtO0eNOr9GtYZUmAYmUjwpbMhc8xmO6Wqu8VYbc","purchasePrice":54720.769273,"startTimestamp":1700525701,"type":"permabuy","undernames":10},"auction0":{"contractTxId":"f_oNFAjJjDPlNVY19YuPiWkYCdg_ZxUof9tY6Tx37QA","purchasePrice":3150,"startTimestamp":1700334913,"type":"permabuy","undernames":10},"auction10":{"contractTxId":"eDQnWXBHLY5TmWYz6D_mIB47PRapkaDf6oaOiZzn_Mw","purchasePrice":131250,"startTimestamp":1698864298,"type":"permabuy","undernames":10},"auction12":{"contractTxId":"YoJqIHnExxcsQGoTPvJJ4WZlCWkIe-ZczWlRfFl348o","purchasePrice":125410.195313,"startTimestamp":1698874285,"type":"permabuy","undernames":10},"auction13":{"contractTxId":"8SpES6WatTzafSW3Bu9uH_tkMVqXWOvsRI_d6K8sKV4","endTimestamp":1730402015,"purchasePrice":1575,"startTimestamp":1698866015,"type":"lease","undernames":10},"auction14":{"contractTxId":"YOGpI_bpgpWQPdq2z8v2i54wSn-tv794yJn2sXHCwsI","purchasePrice":79555.125571,"startTimestamp":1698949641,"type":"permabuy","undernames":10},"auction2":{"contractTxId":"GlD5-vQiGwAP2plzu6QTjZTjnMJOb-X7DeLHnvEUrgw","purchasePrice":136948.829068,"startTimestamp":1698786781,"type":"permabuy","undernames":10},"auction20":{"contractTxId":"5g71Jw2A7vbOobDKCT5NobRyErdnAPMNsBy2C5MUyBU","purchasePrice":131250,"startTimestamp":1698873164,"type":"permabuy","undernames":10},"auction3":{"contractTxId":"X-Btt0Mp1HWTGjaIxpO_k3LXCZCej6itDUmWkO5-aeo","endTimestamp":1730305825,"purchasePrice":1800,"startTimestamp":1698769825,"type":"lease","undernames":10},"auction4":{"contractTxId":"V_C8W_7Y9ZrmdR62w4cTRyNqtIoE0_FaWUCpv7_m1uU","purchasePrice":95153.897224,"startTimestamp":1698864964,"type":"permabuy","undernames":10},"auction5":{"contractTxId":"lrKFAjX3KpYS5gkY9-QLiln8ibwYJjAUxgpOmUlVUTw","purchasePrice":150000,"startTimestamp":1698770641,"type":"permabuy","undernames":10},"auction6":{"contractTxId":"IJ4wajlM5wGdTaJvcCiwEXNeoH8I5rZLx_PQXaUrziM","purchasePrice":97344.140383,"startTimestamp":1698863080,"type":"permabuy","undernames":10},"auction7":{"contractTxId":"P0NlLAc0zW9BKUEulICH3WfMgsPPZiX2uHBwP7ejgjg","purchasePrice":97344.140383,"startTimestamp":1698864072,"type":"permabuy","undernames":10},"austin":{"contractTxId":"4Td3VmN7JNTwfgZ9YST-Nlix4VOCQ3mX8S3ffsh0nlU","endTimestamp":1712165331,"startTimestamp":1695161366,"type":"lease","undernames":10},"australia":{"contractTxId":"rU5ZFYu1n0nclQFiFzk96Gbe2YYUi9tzX2MxqPLEmnA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"automation":{"contractTxId":"GrwDn9fcAwxBwT9s-W3YHUkkLXWtwpN2jbdJosykxpM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"awbvious":{"contractTxId":"pVjq-wlXT3iayN0YHn-eLAZQd-2VQ0tHLzqh1-bznRw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"awbviousbop":{"contractTxId":"fwl_IZmn1pckEg21KOBp4bw8ejyyBof-2F-DyFJRk60","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"awbviouscrypto":{"contractTxId":"fX5C5lfxcKqYlurlODe77pK9z7LZfdc4CZxcl1P7_XM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"awesomear":{"contractTxId":"eRxsJrfuLEXLR55rfx0ESv05YvTNDA8eXaUwSNmNMG0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"axhpxokaerixmrhangga":{"contractTxId":"Jb9Gpe3TtJteT8lyJQ8N-iuXD70lx-w0azEACRxSf9M","endTimestamp":1718485686,"startTimestamp":1695161366,"type":"lease","undernames":10},"az":{"contractTxId":"oZEOr-5NO8kXQ_pjRGr-UiDDTPp89NlzMSs38aJADcw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bababindo":{"contractTxId":"q0mVMx_pjSLjvcHGJkixfKyFfi0tdPgH7WEPefI92ow","endTimestamp":1729630942,"startTimestamp":1698094942,"type":"lease","undernames":10},"bababooey":{"contractTxId":"c0OBlwfeqRzhDJXO2WNOr6xDROjpEQvaMop00E8phiI","endTimestamp":1724280780,"startTimestamp":1695161366,"type":"lease","undernames":10},"bababooeys":{"contractTxId":"q6KNNaQ4U-amb4HwaXC69yN2CoUNJkgiU62A2HDMAJA","endTimestamp":1726264888,"startTimestamp":1695161366,"type":"lease","undernames":10},"babbiohfeiporhfeiohfreirhfeirhfi":{"contractTxId":"voN5LGzmJvjF5w1R7WQmjY5pksVCdQcsmQcnCilpN0E","endTimestamp":1724477974,"startTimestamp":1695161366,"type":"lease","undernames":10},"babel":{"contractTxId":"2ClMAJLWg-pRZTS3nEItPLN78xS9VZQPentkcwxnJfQ","endTimestamp":1718292945,"startTimestamp":1695161366,"type":"lease","undernames":10},"baboonflingingsoccer":{"contractTxId":"wCwe3Y8TCy5AEIlUrf1gHFB64wyM3hwij4S4-BSMHco","endTimestamp":1724468796,"startTimestamp":1695161366,"type":"lease","undernames":10},"baby-boy-is-strong":{"contractTxId":"8PI0QwQOEwq7_70aqA3VMhzuwTfK7zZ7_b882RSPu2A","endTimestamp":1723681456,"startTimestamp":1695161366,"type":"lease","undernames":10},"baby-dj-fancy-pants":{"contractTxId":"jo0a8QNR0N5RmDS-X6K2w_72X8ssphLv_uEAdHzwR6I","endTimestamp":1727109056,"startTimestamp":1695573056,"type":"lease","undernames":10},"baby-fancy-pants":{"contractTxId":"GPDghqDtRKLBWGnS_66vyZH67xzXQh2xGr_yHhWExOc","endTimestamp":1727104627,"startTimestamp":1695568627,"type":"lease","undernames":10},"babyshark-dododododo":{"contractTxId":"6-Gb7ZbJEemVP7auSgXaVlVfCtWMVJ3JsDnht_ooaRY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"baggy-hat1":{"contractTxId":"ahfHPuwvbn-PMBmFq3xd-ztZrhkQj67mFszRRVRbVT8","endTimestamp":1731618630,"purchasePrice":1500,"startTimestamp":1700082630,"type":"lease","undernames":10},"baggy-hat2":{"contractTxId":"EUFJyvFf1OaOGNDgqcEnQ3DhKRhwoQdLnddpQ2q_gew","endTimestamp":1731618764,"purchasePrice":1500,"startTimestamp":1700082764,"type":"lease","undernames":10},"baggy-hat3":{"contractTxId":"aeKK38lpur1T4LbyrHotQe6IgXZBo5dLRKdnDtRRixk","endTimestamp":1731618876,"purchasePrice":1500,"startTimestamp":1700082876,"type":"lease","undernames":10},"baggy-hat5":{"contractTxId":"OGwZptunLk5TKiiciodFgQSLimNJL1xCYGx8fwmj8R4","endTimestamp":1731619070,"purchasePrice":1500,"startTimestamp":1700083070,"type":"lease","undernames":10},"bagholdervc":{"contractTxId":"gBQfx4xby5zO08PkcuiYbI6DWs4JspG3f31gjCfj2vI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"balcao":{"contractTxId":"YvPawSfzuFCsiZ7aeyYAzEHLGXRMO9VI-VXExd9FPVg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bamboobee":{"contractTxId":"VJIinZSNgaXRQBX0o1XhPvxh083bPFdIedBMxPK8XKU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bar":{"contractTxId":"PJVlqwjEy4A7bFe6q02JpihOgNFrbm1NGe0Qg716R6Y","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"batman":{"contractTxId":"QMGQ45pgFxXvlwIheOoaD0bGcLDuhpSTqOVA3SKax_w","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bedirhan":{"contractTxId":"pyM5amizQRN2VlcVBVaC7QzlguUB0p3O3xx9JmbNW48","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bendumoulin":{"contractTxId":"m_v6SLSO8lve5Fie1yejO2MUsFUbotWEV02vqJmsI4k","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"benjamin":{"contractTxId":"vgijybvvBgRqteaLk-8McCCdm5Zjynd6ogyyYCZCaa8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"berenbaum":{"contractTxId":"jFQNjoYLe2UTPI0TpboOl5GH3pmFoJWvImFdI_UwuJg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bianca":{"contractTxId":"CTlLnklV1hHfIZ2QClXyucqLaBwFyC-aLZXmHst-9Ts","purchasePrice":9732.0234375,"startTimestamp":1701895230,"type":"permabuy","undernames":10},"bianca2":{"contractTxId":"O_65J00foVRAZNmZP8_yLfk3fndUW44iHoPlAPXC1rc","purchasePrice":243023.380475,"startTimestamp":1700505386,"type":"permabuy","undernames":10},"bible":{"contractTxId":"at-qrmxlLtQ5pc4voGUC8laqbbwZqb2flMFmaKu0FwM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bidhan":{"contractTxId":"HjvyL-bgj9LOvSB9X_ZcxEnq_w0GZ4U6tAzYIwPVXgM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"big-kahuna-test":{"contractTxId":"wR3ZAIrhu0RvOLpiQEiH7oEB7mQX0Q2cM_GEqEd8myc","endTimestamp":1727448979,"startTimestamp":1695912979,"type":"lease","undernames":10},"bigbadfuyou":{"contractTxId":"QlueNg-PYkIA5KvvCh5ruCCg0UmNSAQ2wybtWjAgNTE","endTimestamp":1729647174,"startTimestamp":1698111174,"type":"lease","undernames":10},"bigbangboom":{"contractTxId":"o9m7FPh9d4mNoR2I7F59kYRz9sxHGJ19M7uOL2iMkAk","endTimestamp":1728974900,"startTimestamp":1697438900,"type":"lease","undernames":10},"bigbpm":{"contractTxId":"UtII3rxpnjX024SQ57b_uyIe2pLWaOQTEvCg7xYkWU8","startTimestamp":1698700620,"type":"permabuy","undernames":10},"bigfancyarnsname":{"contractTxId":"aOYf_Qv6dp-UePLwv6QqohUnYb-SDEekbJYrCMtyIYw","endTimestamp":1728807039,"startTimestamp":1697271039,"type":"lease","undernames":10},"bigfatname":{"contractTxId":"QWzhELQYJF0omG3di-kd3vmWQLkfpVzZXwyu5uhlbPg","endTimestamp":1729699338,"startTimestamp":1698163338,"type":"lease","undernames":10},"bighonking1":{"contractTxId":"yYD1J_UyFlWp2xZqBkoJKwUul-D13gGeTW1LggxDS_0","purchasePrice":117134.045363,"startTimestamp":1698961676,"type":"permabuy","undernames":10},"bighonking2":{"contractTxId":"TMr9kpXIWKJG8YLEoQIluUVs9l4tKTYPrESFvugQ9-w","purchasePrice":119830.225435,"startTimestamp":1698961358,"type":"permabuy","undernames":10},"bigtone":{"contractTxId":"UhajJ3sPgUVWw0Cz3hBQWhxz2F6SNx_eaefn7JiWksc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"binance":{"contractTxId":"M8KzZ_SawGQVBk1-5r_9u9XRqUKg4REkfWLE9rcBkho","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bingbangmishmash":{"contractTxId":"IlP81SWFLTUQqvjEQTNq2k43rwyaxsRgp7NWcb6AOyw","endTimestamp":1729641928,"startTimestamp":1698105928,"type":"lease","undernames":10},"bingbangso":{"contractTxId":"ufk2Ff5LQ9PZg38qM5AI-hDFhxXo9pN18VGqg_ri8xU","endTimestamp":1729631372,"startTimestamp":1698095372,"type":"lease","undernames":10},"bingbangzoom":{"contractTxId":"azONUyppGP-SXXzqBMwKShzNQOps0AmJNFGl8KxYU8M","endTimestamp":1729803808,"startTimestamp":1698267808,"type":"lease","undernames":10},"bingbanhome":{"contractTxId":"E2ueASLwlMX0l5JITvnC4sc5SRhe7epLeH2hwm7yx_g","endTimestamp":1729805052,"startTimestamp":1698269052,"type":"lease","undernames":10},"bingdandy":{"contractTxId":"LdUkXsJ9AsJAc2PhRB9KQDCbTEqnnFpajxTSWHronN4","endTimestamp":1729631834,"startTimestamp":1698095834,"type":"lease","undernames":10},"bit4096":{"contractTxId":"84NhdeDAJhK51zVXdKEuvJbr9vWp929CbiONBUdBYQ0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bitcoin":{"contractTxId":"wJqdc5WklDhxYQYbPIMAfCZfAMSY8pLni3i1lRAkmBo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bitrabbit":{"contractTxId":"1c55ZIMC1umlR2ssAmvOofMpNI9HEm77PMwae8ie6kc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bitwo":{"contractTxId":"Ts-n9SnX87OOUT1dLqegnvD2Y_wilMksYp_UYwAvg00","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"blaaaaaaaaaaaaaaaaah":{"contractTxId":"_X5KY2j6DM_GmH95T7QJPV58DH-vx5BAsU-2pOZU8sY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"black-fox":{"contractTxId":"4FftM3u83NKE4taZcIO2Kd8O4IMrOcLmhuOzq9Kv1fk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"blockchain":{"contractTxId":"pIPMZrEJNikt3b3zEYSMehg8uF-u1S8qyL2NoKPng5Y","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"blockchainaholic":{"contractTxId":"O5nNwQCh5aXiIZLeq2TxC8_jbZsQzvvDaokO75kMToU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"blockstacker":{"contractTxId":"hS_ExCyxKhRY_dQAf_cJrVlGr3_bYJtDIKMH_yU33Qk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"blockweave":{"contractTxId":"nulaKy1kZPBeVGtWDGgb3_0TTBDImu9F5WdNVCXQDZ4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"blog":{"contractTxId":"kId4xC3h60HGc7Ra8xAQWU22dDo1y_0Nuax9MycJIt8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bloggerdabber":{"contractTxId":"P3AEw6P-l0gnX2getjykA6TP4I0Fp4ZcdpZfvXZI3ks","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bobby":{"contractTxId":"6CmyBFMjtU_cpx1JTYJsUbQUeSLZ1ljLNXep3sQ0wg4","endTimestamp":1728845480,"startTimestamp":1697309480,"type":"lease","undernames":10},"bobbybiscuitsauce":{"contractTxId":"HU9nndNEEHKDGKxwaWGpHkIfRlQ0R7e2WVaXuE5pkls","endTimestamp":1724857582,"startTimestamp":1695161366,"type":"lease","undernames":10},"bobbymivc":{"contractTxId":"5_ntgabyX8DOC5A6VIg2eGKstj3o27gdOTdaIyY06cs","endTimestamp":1728565084,"startTimestamp":1697029084,"type":"lease","undernames":10},"bobinstein":{"contractTxId":"pxPkQqefkxRtcvYI1gEMifV2apDtb3q_mPscaVhehhw","purchasePrice":11021.726873,"startTimestamp":1700003331,"type":"permabuy","undernames":10},"bobsagetrules":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"boomarang":{"contractTxId":"vSq5KaZoEJRsfZmKHkoY77YDr-4yzk5pP_XgMuLF3QQ","endTimestamp":1724282612,"startTimestamp":1695161366,"type":"lease","undernames":10},"brandnewauc":{"contractTxId":"u1bk7LrV5dKExh03eogzBV3Z2aEQFsNIVvrT4aexCuA","purchasePrice":12032.607468,"startTimestamp":1699377934,"type":"permabuy","undernames":10},"brandspankingnewcachedname":{"contractTxId":"XsVHG9vIIVSbxBsPg5JaLYeObgfGF79FIamrxxhDDj0","endTimestamp":1724469132,"startTimestamp":1695161366,"type":"lease","undernames":10},"brian":{"contractTxId":"eb9XVsl5qXK4N-abEJT5w1OsyXcgoCC66nEajeoXjaw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bridgeman":{"contractTxId":"kjw8Jf12vtKIi9POHjTIU5_eoy7Vbz3A6ao15urPIhY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"brrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr":{"contractTxId":"agHxYoEDVTD_lajRofEgZujJPtpTy77_XB4GpyT08nc","endTimestamp":1718849618,"startTimestamp":1695161366,"type":"lease","undernames":10},"bubauction":{"contractTxId":"2Ax4tOm5I6WF9RTHOtHuHPMWI22D6vPSprYABZEwtUE","purchasePrice":250000,"startTimestamp":1698767679,"type":"permabuy","undernames":10},"buggy-hat":{"contractTxId":"2_XAow5xopUT3et2ZQYlE55Ob4n3R-25dp4beJ0ZquY","endTimestamp":1731617648,"purchasePrice":1500,"startTimestamp":1700081648,"type":"lease","undernames":10},"buggy-hat1":{"contractTxId":"_fMlOekTjeHjZj0KiMiNWmI5l68n--ZQFIXs0q7d_gM","endTimestamp":1731617648,"purchasePrice":1500,"startTimestamp":1700081648,"type":"lease","undernames":10},"buggy-hat2":{"contractTxId":"95zx1tI-OA6P_m40VDcbNfTGnUKWycg1NY1nqhKxv1s","purchasePrice":2500,"startTimestamp":1701390291,"type":"permabuy","undernames":10},"buggy-hat3":{"contractTxId":"78bFGmxakGnzXWEHjIMwGanXQnGjbRZtyhb-0x-pqJI","endTimestamp":1731617854,"purchasePrice":1500,"startTimestamp":1700081854,"type":"lease","undernames":10},"buggy-hat4":{"contractTxId":"AEzfTfIta-uVoEK3fGlHc7RR8T7GwQVPQwYQt6OgYK0","endTimestamp":1731617854,"purchasePrice":1500,"startTimestamp":1700081854,"type":"lease","undernames":10},"buggy-hat5":{"contractTxId":"IyXN4IDs0GCAOG2C2jjZHnCOVCa59IME3Aeixlf5WNU","purchasePrice":2500,"startTimestamp":1701390291,"type":"permabuy","undernames":10},"build":{"contractTxId":"hmYzxBpR0g58sjGRr21t-45jIdcMWwfyMRMwP7-u9CA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"bundlr":{"contractTxId":"zMVtpS-ca8WEtla4vMzE6Th0jj4uskl3f5ZWQe1m-O4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"buyauction":{"contractTxId":"uea-eSaCI5lBu-Ct9TDE-5yZTdUCm5sW0FDqUS4v268","purchasePrice":250000,"startTimestamp":1698767679,"type":"permabuy","undernames":10},"bysleda":{"contractTxId":"U85k2utevVz3_LUjI9N8eT7VNxfqT-0Jc-bB5PlukAg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cache-buyyyyyyyyyy":{"contractTxId":"MgihJ6iULPYc9qg67UBkXsh2iKhEdhUD8TMk9WOwo3I","purchasePrice":2000,"startTimestamp":1700073886,"type":"permabuy","undernames":10},"cache-dissapear":{"contractTxId":"gOog8CcgMvSuzIRG4hycJyNR9Q51svhnoI7fY8m50lE","purchasePrice":2000,"startTimestamp":1700066406,"type":"permabuy","undernames":10},"cache-dissappear2":{"contractTxId":"uCtL4DTrPTcnXNTJIbUU1a7zfzMqRE_NkO9nJb-IRJY","purchasePrice":2000,"startTimestamp":1700066858,"type":"permabuy","undernames":10},"cache-dissappear3":{"contractTxId":"kuHJuPWwfsZWYoikIwDrdR4tkTokIRSQPdF_LWz1HEY","purchasePrice":2000,"startTimestamp":1700067100,"type":"permabuy","undernames":10},"cache-lease":{"contractTxId":"C1Ca5YJH_zXvXYZ_7fijBxaKzFziNjgwQQ_uyH4wmTc","endTimestamp":1731609886,"purchasePrice":1500,"startTimestamp":1700073886,"type":"lease","undernames":10},"cached-ant-1":{"contractTxId":"ibJLwwyw8lVc_zqyjM2qwocGTmI84BT4OID4PTrG6LY","endTimestamp":1718392097,"startTimestamp":1695161366,"type":"lease","undernames":10},"cached-atomic-ant":{"contractTxId":"lsBym5ONdu9kibk7p4U6qdw717KyfSRfnble5QzIuQU","endTimestamp":1718393594,"startTimestamp":1695161366,"type":"lease","undernames":10},"cached-name1":{"contractTxId":"UNOdkAu7Zud0Mxah9nzd3e--zSvDtBpgDJj8gYRMXJI","endTimestamp":1731604629,"purchasePrice":1500,"startTimestamp":1700068629,"type":"lease","undernames":10},"cachedbuyrecord":{"contractTxId":"n8lQGESctWwNP5NRTCvHTcp82ZT5wYog7HLps2uVYcs","endTimestamp":1730304401,"purchasePrice":1200,"startTimestamp":1698768401,"type":"lease","undernames":10},"cachedbuyrecord2":{"contractTxId":"8dxWTsMEWOZNaDuhIEb_BkgB9505DTstHc8y528_OA4","endTimestamp":1730304649,"purchasePrice":1200,"startTimestamp":1698768649,"type":"lease","undernames":10},"cachedbuyrecord3":{"contractTxId":"0efPzufNkf-oSZjI-BwGh3qtcxF1QIoWsb1vl_jq6nw","endTimestamp":1730304883,"purchasePrice":1200,"startTimestamp":1698768883,"type":"lease","undernames":10},"cachedbuyrecord4":{"contractTxId":"43KPbfj7hlCiEf77-UKiA3KqUmTynv9cfyPgdoXl4gI","endTimestamp":1730305057,"purchasePrice":1200,"startTimestamp":1698769057,"type":"lease","undernames":10},"calculator-nft":{"contractTxId":"duJlJMgoO0fvq5T4EwcqZjVSuIA3LwxTaa0JbwzAXu4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"calculators":{"contractTxId":"Tffa7FMTLxCFq4f5EWRikvJpK0r73M3i_hxkehAV19U","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"california":{"contractTxId":"cQGSDOi2FwNr1lWQvIedRIk40Ad7RWLLxKj4Tq9paVs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cardano":{"contractTxId":"6kRo2rLxsxJTfvMH04Ls4wi4gCVRL_UrIFhLb5rxITA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"carmania":{"contractTxId":"7GwmcxAo9ruMrQy90JLyTJXkj4MNEkBXIbXWzXBZQ4A","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cats-dogs-fish-turtl":{"contractTxId":"hTkTI94YZ_y26rDn_OaTRhC9rSkW8VsSerSXlYjsa6I","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cccccccccccccccccccc":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"celestia":{"contractTxId":"P8LfitxCoGgA7sEk77GdwrVkh_S4D_AF4BB0kSUucl0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"chachedychacehache":{"contractTxId":"iGRE6_a5XjbyhocEpvQIhUwcvKPKVHwkC5csflyRjZE","endTimestamp":1729963757,"startTimestamp":1698427757,"type":"lease","undernames":10},"charity":{"contractTxId":"K9kw8KbUJwL6vaJsHCgZDpxCKNgKjMUe6mA5Ka_jJ2w","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"chaturbate":{"contractTxId":"thAH4OU50havYmX9R-QPFwS51yxg3yGAaCBcBqI5HLQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"chawyehsu":{"contractTxId":"mOe4Kf_B6F97_dxRu082GWKhTQQ2ZTh3lbJzXAiVBks","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"chenvii":{"contractTxId":"ooZSeyVVQlM-6W3eTpRfpZ_sgrHuLrwI9kJreMzI39E","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"chenyi119":{"contractTxId":"w5hqAQUdUfkCtCDy_pFFjGIua_pgljllhHKl_hHigZo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"chickadeepoppingalot":{"contractTxId":"VZksSM7ryPGZR1fcqaDxdxi9p3EXDrfrEbTic-8nl9E","endTimestamp":1724469070,"startTimestamp":1695161366,"type":"lease","undernames":10},"chittychittybangbang":{"contractTxId":"dJXRi_KZmWS-bKLOLYDUEJb6GR5LYozEc2CS4P955is","endTimestamp":1729720964,"startTimestamp":1698184964,"type":"lease","undernames":10},"chloet":{"contractTxId":"mHaaimW7rejdKiMh3RAYIWWNNLjK4CXOQJEtYT2bBhA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"christmas":{"contractTxId":"gnrpBl9kR2YvuU3lms1drhrcyXT2GZ2SCZZlea4NmNI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"christopheradams":{"contractTxId":"CgMcdj4g9uo9OXdgFsAEfBaFZGvvYIz11doPtUtP-rc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cl":{"contractTxId":"rGvZGYDK1ccPf_nxCbYCUz3aURMtEJgtkosII5MF-18","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"clabs":{"contractTxId":"jAV9DPXVBEN225vInrwzI900hds6ap0tC0gx6qnmZGw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"classifieds":{"contractTxId":"E-kH2kL5u-zfjAvxfppflGtx9FAVAsKsQqP5PT4kanQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"coinbase":{"contractTxId":"LOOyEEoQRSUHUQaTZEVf7pzgMR2PTzN02aAiz3OLySY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"coindesk":{"contractTxId":"87dUF5ujLDKbebAr-ZB_sadhfWcXIG53VyTvInMavtI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cold":{"contractTxId":"kJ-mrDwqBAqsqVikKoIDV8uOw-kEdvIcHEGyXm3kKa4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"community":{"contractTxId":"39lHRvtS8TDbODiIoKCHM9AXmrCgTBuYn116tGfCCEI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"communitylabs":{"contractTxId":"tmWIAcR-GAxebQaag0M0f-amzgjm9RUSniVbz1ONPNw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"computers":{"contractTxId":"N9HpRt6mkJWljOCAS8aNQ4GDZMhd2AMqXmvjAHi_uLo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"congaree":{"contractTxId":"qhg9UfZw6JdLIPEMazDMCgfRW0-QoCqdFrpqr4Ws7JI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"connect":{"contractTxId":"J3QnO54NAnGWyOSLTI9uIzQV8lwbI6cMMuKqDkPMuN8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"contacts":{"contractTxId":"F7dYq75Ysw7MqCKLhmwqgPsBZtGgl6x4UN3fCpeGQEo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"contract-explorer":{"contractTxId":"_cGcx0i7Zv7w8rySsLc9Bwe44OWj85Kh8aygCV-dgWw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"contractexplorer":{"contractTxId":"rRsSY2XwRonMicawc_uOf_Nir6y5ceMohSjAxKet19g","endTimestamp":1711689869,"startTimestamp":1695161366,"type":"lease","undernames":10},"contrast":{"contractTxId":"zEcvUBo2NjWBUfrV56M8MlmMGIT9MGXZdKXp9mXEC_M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cook------------book":{"contractTxId":"qf3mfP734pveEGlabcBH66R79HKXSo60ehySesnGcJE","endTimestamp":1712515826,"startTimestamp":1695161366,"type":"lease","undernames":10},"cook-book":{"contractTxId":"X7-SbHv4ugco-mtP9_4yQVVPl57sNaAacHCp9_XfndI","endTimestamp":1712132503,"startTimestamp":1695161366,"type":"lease","undernames":10},"cookbook":{"contractTxId":"YcUbL7_j2DLxvMX0dqOu8N73mrcCRzovsE5Mw22uLmc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cookery------------s":{"contractTxId":"XehoxS3iqah15n-jgXbpP1XqMOQ2gwclUylUPSPSzv8","endTimestamp":1713301863,"startTimestamp":1695161366,"type":"lease","undernames":10},"cooking---------book":{"contractTxId":"lZZ3SW5Jcmh_-aQxhSc50FoceNCBfYr1wRV-kIrvrMI","endTimestamp":1713034899,"startTimestamp":1695161366,"type":"lease","undernames":10},"cookkkkkkkkkkkkkkkkk":{"contractTxId":"KkV0a6MqN4rsd2zya56TQLsgrLOeV7k1Dg5YxJ5GLLw","endTimestamp":1713298196,"startTimestamp":1695161366,"type":"lease","undernames":10},"coooooooooooooooolll":{"contractTxId":"-5ZVIyIgI8OljhprMFsyaUlwk7krpSb3ZVsEaUUUoF0","endTimestamp":1713295243,"startTimestamp":1695161366,"type":"lease","undernames":10},"cooooooooooooooooool":{"contractTxId":"UudRGEFvy8Kzsfmn8xUw2KPF7F35kYc6teBJADgFX_4","endTimestamp":1712947324,"startTimestamp":1695161366,"type":"lease","undernames":10},"coovxrp":{"contractTxId":"SuyeRkGQ4r0-I4xlPpDALRu8o9mb_483PG4YpQTpfJk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cosmos":{"contractTxId":"1xIzuxdy88nX4Z_yFcfoVw7qDcGECg0Z5vaO_BY77W0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cromatikap":{"contractTxId":"2n4xgVTiOt6IDa8H1Atg44IfoE2HeTZh_Cs80U5XZxQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"crunchy-things-hurt":{"contractTxId":"BT1Y743mk0E2UTzVEyzJaHrpGgE_Qi8m_uJYQX0Gvdg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"crypto":{"contractTxId":"V4uTi2uwoMKapTiKVxUUbkcegE7sItQeN63VOPGSAiQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"crypto_money":{"contractTxId":"HsWJwFbBxm5qdWe1egcw1drURyUpuiOANTWOfVaI9rU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cryptocurrency":{"contractTxId":"LqWpCmaXGDcGlAQ1f-1lxeLEFhhqDlgqBR648haLJEY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cryptodegen":{"contractTxId":"9M88Ox-okwcWMSWc4TG_2MEiKMmQYvxO4UvZ2s6io00","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cryptoethics":{"contractTxId":"oqmygaqqy35XaBydeb7nVcgi67DzhUhNrSn5m-K6uZ8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cryptogirls":{"contractTxId":"0m32IrOHfTAf7nZ5rHI4Dse9slrQl4ZMAZFFbJ8yI2o","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"cypherpunk":{"contractTxId":"4IfUEsVp-PavJGJHNaALyxT9cOS0jkFwkvbmWiVO41A","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dabit3":{"contractTxId":"AHocntC1mKSaipTNvSdmy1f4ePXeozCmJc_w1z219bw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"daikai":{"contractTxId":"7Ao3RWc8UF2PY_xuWurvOlvzLLwjGQQ_Yj0MW_GxQoA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dameon":{"contractTxId":"F60Dh-VeEFkZd_KNL3kE1m_7PA8KfJxoUjO8g6DCRxQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dani":{"contractTxId":"MAz_VxJt-RzKsif6NuEIPwYgCsK1o8zzaZKkrsxv2tI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"daniel":{"contractTxId":"arbeHczp1o4B1OF6gjwizcuuRhIi834rR8oxCbn2ATM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"danzhou":{"contractTxId":"JodorGabJHPesz8PYqXGXtnNV-PMv8W-73csn97mrsA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"darchive":{"contractTxId":"qsQLw5VADDq8j44HCYgEMMQ1_0v3eDYx_F32mnI6PvE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"darkblock":{"contractTxId":"alXANyKvBGtBav1V5yhUXN9VKRUmfZl4m3UQnGmkxpc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"darkghost":{"contractTxId":"daktQODv0QRqZGv6iEcfZSVVnqOdAuQZueh4wllcTaM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"darkstar":{"contractTxId":"VE5blQTiu-O1BdH_pJUvj4flmOEaF_dsyN-NbjRqgRU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"darthvad3r":{"contractTxId":"ov_Lmb4pNXYF3HOHNzLsLfZJJxeyVfh8GiVpxrFKHIE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"darwin":{"contractTxId":"_ZOWAkK7ocA9nBneH_9PzbfwBtuSwneOmC1pc5Ss43w","endTimestamp":1719337254,"startTimestamp":1695161366,"type":"lease","undernames":10},"datadanne":{"contractTxId":"ZQupjVNOlQqUOR61YQmD4jRFosXKJsxRf_nc3L60xKM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"datafi_widget":{"contractTxId":"B-ITM1LIWid0q-OAvF6zh6qEfQqIC9izdqSL2mH7ZiY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"davenportroots":{"contractTxId":"Scdq7IMCVO4pgYaP2zy0PlhUUkQpgb5lCGCO6-2c9KA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"david":{"contractTxId":"rgvZ-iXgItapTbq3GrLQnqx64YMsFrTzF5-fmU79LVQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"davidbridgeman":{"contractTxId":"MmcoSb3zm9dyZAOv1UWx_GU0UyKWdSZyCObMKNVmsKM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"davidkong":{"contractTxId":"gE0iftuVrIcT02IwRaOV-7fnF-6UILrw24Otk_U0Hcs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dddddddddddddddddddd":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dddddddddddddddddddddd":{"contractTxId":"ueEsHkZDCr1UFCOVPhtuGT6zc1NBhpZDh5O0ENAxw5k","endTimestamp":1724376969,"startTimestamp":1695161366,"type":"lease","undernames":10},"ddddddddddddddddddddddd":{"contractTxId":"eLKhIYLwP9gV3wfGwKWipCs8vvzAv6on9lv7A6q0w2k","endTimestamp":1724377371,"startTimestamp":1695161366,"type":"lease","undernames":10},"dddddddddddddddddddddddddddddddd":{"contractTxId":"VTq8_1eZ0xDb-SbGMfs7co-4fWa_gtrljinl6yOqCAY","endTimestamp":1718485686,"startTimestamp":1695161366,"type":"lease","undernames":10},"ddddddddddddddddddddddddddddddddddddddddddddddddddd":{"contractTxId":"l6Rx5n6Mr2PS8ceeU34EwuqF3Cyf1BD4cH5hUz_D58A","endTimestamp":1727116258,"startTimestamp":1695580258,"type":"lease","undernames":10},"ddddddddddddddeeeeee":{"contractTxId":"aBg9wY5bevv8S_aTURz_MJOcwHfCc9MspOpgcm7CzJU","endTimestamp":1724377371,"startTimestamp":1695161366,"type":"lease","undernames":10},"ddschoolofcode":{"contractTxId":"4NIV2tjOWUbbcLgMuqCNDqVk_W3fW9omiKnIyox-Y60","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"deadkingsociety":{"contractTxId":"jnTwfQcjOOVPNHqryGPnunMqipP6oNKI-QFr_Sm5-Dk","endTimestamp":1716046346,"startTimestamp":1695161366,"type":"lease","undernames":10},"decenter":{"contractTxId":"wX0Xnvt-r36kpaFGKJvdveGenxqb0rmtTGwKzHqR69M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"decentraland":{"contractTxId":"fyd06RFe_JWDqm6NIdc5ZL_35CBUoGEwKPJddAUMaMU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"decentralize-ai":{"contractTxId":"yycthpCPr1g_Vswo1KZL2eg1s0oqXAEi53rueNj58MY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dedeniz":{"contractTxId":"VSHxZ7KfjT7y5L-bnNZwyzOdCvQWXYNmu7eWEX691cM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"deeexxxxxxxxxxxxxxxx":{"contractTxId":"UIUUNrvS2eVPNjIk9fTXHsEC5ikXl3fLmy6c0lOXlgk","endTimestamp":1713295296,"startTimestamp":1695161366,"type":"lease","undernames":10},"deeplearning":{"contractTxId":"A8nuJkxKjQUIS0QCuA7k5Bf1kc7MooVX6JM5sMN08Vg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"defiplunt":{"contractTxId":"QHpm9DUiOTBHv57O0pYt-kTzCFzBUtYp46WeaiA8Pc4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"defnewauction1":{"contractTxId":"wGKUmvuaC8oFkHQtjvU7iPwshOsuRI7X2JRqCium7bU","purchasePrice":2100,"startTimestamp":1698937638,"type":"permabuy","undernames":10},"delfi":{"contractTxId":"tw2ZBLTdzsp0-_Stkg5SMJrPP3zQrQVrCYBUhGQ7HxI","purchasePrice":970985.956749,"startTimestamp":1700503787,"type":"permabuy","undernames":10},"demitttttttttttttttt":{"contractTxId":"JiCEyrKKvjFI3cHFsaQrPkrW4kpk6oSZyTMZ805hU1k","endTimestamp":1713262338,"startTimestamp":1695161366,"type":"lease","undernames":10},"demo--boy--is--heree":{"contractTxId":"bCufO03Z9doj7wJpwtzKHRTpDLlgwf1lrSUmHP9sspA","endTimestamp":1713338224,"startTimestamp":1695161366,"type":"lease","undernames":10},"demo-test-4321111111":{"contractTxId":"x1unbPYJt3XhZ69Cvt7tlx5ZNATJdQjeD2KTnFeRIqI","endTimestamp":1715387340,"startTimestamp":1695161366,"type":"lease","undernames":10},"demo-test-page-12345":{"contractTxId":"A1Gkn5f-AKDaLDD1NiDq8XQ7KE-cUWuIOwVYDNPz1uw","endTimestamp":1714999820,"startTimestamp":1695161366,"type":"lease","undernames":10},"demodayawe":{"contractTxId":"Z7eLa9LvZzXNUI2CKz8hnMZbooszcWTSvpDanvFZhFg","endTimestamp":1718219524,"startTimestamp":1695161366,"type":"lease","undernames":10},"demoman----------boy":{"contractTxId":"0kDvxPuUqkf6Cq4SEgqxFBaMnktgINUdfmz-sDNf6XQ","endTimestamp":1713303046,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos--------------1":{"contractTxId":"ylNFzY666KpZqh658l46Yytb9yqqaLyJudm6PbOHRCM","endTimestamp":1712822506,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos--------------2":{"contractTxId":"XE2s3IUYeg0Avfd3D8KcdZyJrQsqsKy0gLWe1e9mEfU","endTimestamp":1712820926,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos------------111":{"contractTxId":"dCmPdKB0gBqnBPzQoKWXYyjKI0jznkiu7i1ywP211W0","endTimestamp":1713003902,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos------------139":{"contractTxId":"gAYuA9tXux4_MuP9yUyDs1j-nuakP2GSRly-BvZmw5M","endTimestamp":1712866247,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos------------140":{"contractTxId":"WI4l3hmL59-1gz2mfR8no_Y1Lpv0OoI4Zso3zF0vLKo","endTimestamp":1712831459,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos------------141":{"contractTxId":"KMDcKGceRlKdicHzjt1gbIfk5lxbVDssc24oBnFVBZE","endTimestamp":1712823349,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos------------142":{"contractTxId":"uZSlz7YS-S1fWV9vbRD21ekmqy0CXRSHJz3zfZs7NIg","endTimestamp":1712857910,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos------------333":{"contractTxId":"en8GLMaL3lCmYTPryvUJNokyzjeR70HE12zoRX46_mQ","endTimestamp":1712939005,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos-------33333333":{"contractTxId":"RGx7Cw9z2BxlKuvbHSGqkpUy1_BhEtSIubTkM5bPUHg","endTimestamp":1714547038,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos--on--permawebb":{"contractTxId":"SEFuOtV40V8I3m0fun8b-Br_RPQP5Yrk1UDWdT3jRK8","endTimestamp":1715145931,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos-are-getting-st":{"contractTxId":"mSCorFOqHPeQvw2Yso17Z8IhvpkWlhMm4uKdTwxCl0o","endTimestamp":1713338224,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos-are-here-on-ar":{"contractTxId":"kOEBs6EEske_ULrGAT4xpYwkYrkrPQDsrZQ6XhKYYuc","endTimestamp":1714532655,"startTimestamp":1695161366,"type":"lease","undernames":10},"demos-on-thepermaweb":{"contractTxId":"M4U2hR8CH5wNWY4yK9lfhJaKnae2t2uNXmYBK9Yc7hc","endTimestamp":1715097760,"startTimestamp":1695161366,"type":"lease","undernames":10},"dennis":{"contractTxId":"L8d43M4Z8KrbCphm0FrkdluDPVwXn3GEjUw01z00Deg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"denver":{"contractTxId":"CArVIslTVWmZiyYCeIhb8u6ZBwwdDlCPvdCraXJ5DEg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"deploy":{"contractTxId":"FnTIDZXohfTFsZO03qbBTCfKRcEkHmjUZBqkFBXHS6Q","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"deployed-ant":{"contractTxId":"A8GAHEZM6UROzEu8Ur8DuZmrvBBmWdJqIopQh2iZ6S4","endTimestamp":1729808601,"startTimestamp":1698272601,"type":"lease","undernames":10},"detoo-eth":{"contractTxId":"Y5um1eKyKuOUTeb0XLona9dx5KJSD8OZL4YIX0A-hcw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"devdaowomen":{"contractTxId":"kstxs4gLp4A6Gceo16SEI0A8dqLQH-c1tuMK9MsCg_0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"developerdao":{"contractTxId":"uobTukDVxqEir90smJH_9lWH8_xxKyrmij0BBkoWk1g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dewedwedwedwedwe":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1714192761,"startTimestamp":1695161366,"type":"lease","undernames":10},"dha":{"contractTxId":"r7KDKWYVA3Tj6U5FAtI30byPfbmS0GRacR01yRqgwFI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dhai":{"contractTxId":"qVI-L4e8RATnRXQeeS0EsTb1bL87cAtc-YTQwxpCxxQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dhai-workshop":{"contractTxId":"Cu_dwPYjtx7xtEyWD89Om9b9Hx3ssTLIZon_E57HleE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dhalgren":{"contractTxId":"59vt9aGElD6_m0yOVHOeOavLO3_HLUZjr7gX1psRsOA","endTimestamp":1712342827,"startTimestamp":1695161366,"type":"lease","undernames":10},"dia-de-los-muertos":{"contractTxId":"iQDr9N2VhKISjVnCe_ZwLIE7GUQJ26fG4zEFl0xyKHQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"diagrams":{"contractTxId":"_xxC5ionplGMgmjOS5NWadGt_62eTKzBsZtemJGBIbE","endTimestamp":1712670095,"startTimestamp":1695161366,"type":"lease","undernames":10},"diamond":{"contractTxId":"ZeXckwlfPlRekHghucL0ehW1yCUHz0RV4x1QUhc8D2M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"digitalhistory":{"contractTxId":"ippZVgH9bxCno2kRsUHLdBuXi9NfrLwQclw9XydKsj0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dingwallopboosh":{"contractTxId":"FgSwcpYS3ElDrj_lQjCvCziskXYB876jiVya-Rvew_o","endTimestamp":1729722382,"startTimestamp":1698186382,"type":"lease","undernames":10},"dingxaingyuan":{"contractTxId":"yVEn_JL8pTM0iUzrN4Dwoi7vfiOse3xtIGbsmLHFPos","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dizercapital":{"contractTxId":"t0HXPJg8Cy0m2hqwnCTne0GrAz5TpYRRIAHHileTNd8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dj-fancy-pants":{"contractTxId":"EZjWFhiKIxEVuuWaU1uF7NwenYE5SVvhjr340CjZ3OM","endTimestamp":1727071293,"startTimestamp":1695535293,"type":"lease","undernames":10},"dj-fantastico":{"contractTxId":"h7ahhbLU22sqbHz4y-0taepS6Tl-9HXZZMYVylOXxEY","endTimestamp":1727067080,"startTimestamp":1695531080,"type":"lease","undernames":10},"dmac":{"contractTxId":"-uk0A7EH8Xl2j1cKzNdJfayrSSGWprA3ErvkkjWKDc4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"docs":{"contractTxId":"cZL9RgYobvyrc5UaAzehZG_u9e2XgYiCAXJpmfYdGQY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dodecahedronsarecool":{"contractTxId":"bzA9fE6aL_kDw_V4QPFDFyFOmQ6GgGmvcrSJ543CF6M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"domain-example-alex":{"contractTxId":"C5aY46tew_ClGqypB-QuEkaMg3l5rPudBQKlUgLTJ88","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"domains-are-nice":{"contractTxId":"DIuMDCAxBriW-Pf9q051nWQQIqAbgmwvsnVS3CieOEc","endTimestamp":1731605851,"purchasePrice":1200,"startTimestamp":1700069851,"type":"lease","undernames":10},"dominospizza":{"contractTxId":"GaTgEkxIJq7oBRBl2IwzkhibYGeQ7zjRb75lKnYlnOM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"donald":{"contractTxId":"nxbMXhsYr5i_WCZJ0-qwwnVb8S-Zmp_3pp05qXxM_Vg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dontchyawishyourant":{"contractTxId":"iWKgJ7ijXA4lrNn_sRo3Ji-t70HPgoqcaOPEDqKqhgA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"doodles":{"contractTxId":"rncZGG8_4CuNlPvpPKr3FfUr4mr4SwwK86hosJwKg14","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"doohicky-vick10":{"contractTxId":"fafEXPAqUM49269L6KL5PAkESsreX5cuvh8EnJrS8qk","endTimestamp":1731612895,"purchasePrice":1200,"startTimestamp":1700076895,"type":"lease","undernames":10},"doohicky-vick3":{"contractTxId":"NP-LKmX9TXAL784Pbvv7fS4on0JiRjYPqAd_-r8F65Q","endTimestamp":1731610674,"purchasePrice":1200,"startTimestamp":1700074674,"type":"lease","undernames":10},"doohicky-vick4":{"contractTxId":"xG-N-AAhONqi4tTFTwS-aX7BJECocg478A8vZpfZfxw","endTimestamp":1731610674,"purchasePrice":1200,"startTimestamp":1700074674,"type":"lease","undernames":10},"doohicky-vick5":{"contractTxId":"r5v3YFJY_IvX3AGXMbgjkSIdoMIx71wVt-oPP2OYWeM","endTimestamp":1731610842,"purchasePrice":1200,"startTimestamp":1700074842,"type":"lease","undernames":10},"doohicky-vick6":{"contractTxId":"1-ztxl3hAKd3VistnQvx-5aBiD3yRywKXrMPkX9R2eY","endTimestamp":1731611340,"purchasePrice":1200,"startTimestamp":1700075340,"type":"lease","undernames":10},"doohicky-vick7":{"contractTxId":"--9W9mr4aYJRXhmiUeJXh-Rz_QOXAW05BCbMUvgUw2Q","endTimestamp":1731611340,"purchasePrice":1200,"startTimestamp":1700075340,"type":"lease","undernames":10},"doohicky-vick8":{"contractTxId":"_aDUNhdOce0YGz_tlpX95OCsyd5HTY9floj-emjxjrU","endTimestamp":1731611340,"purchasePrice":1200,"startTimestamp":1700075340,"type":"lease","undernames":10},"doohicky-vick9":{"contractTxId":"XbBbHEPF_vJDBVja-wBWoL7UiSPyacYbMN1nVZEzcbg","endTimestamp":1731611574,"purchasePrice":1200,"startTimestamp":1700075574,"type":"lease","undernames":10},"doohicky-vicky":{"contractTxId":"eEELYP0K8MtqJWnFeqALpnl-xy6DXQlnWJobqk30MhY","endTimestamp":1731610193,"purchasePrice":1200,"startTimestamp":1700074193,"type":"lease","undernames":10},"doohicky-vicky2":{"contractTxId":"qZJe9KGBk9_nrUeExQqPHuJcvzxUVsunuupumpQWraU","endTimestamp":1731610193,"purchasePrice":1200,"startTimestamp":1700074193,"type":"lease","undernames":10},"douganderson444":{"contractTxId":"xbDYSB0x1JXCVAWq_9TS1m6vcLCS0KVljp8Yk38_iXA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dqwdqwdqw":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1716313501,"startTimestamp":1695161366,"type":"lease","undernames":10},"dragondeploy":{"contractTxId":"g2tGsM7Qf-jiwmpX69BqrEl5YIOHURFaeYqdZkwkYGY","endTimestamp":1714513217,"startTimestamp":1695161366,"type":"lease","undernames":10},"dragondeploy-isgreat":{"contractTxId":"SKRJWLZk88uKva5HDm92O7aIVKNEBt_1rcInf40iITw","endTimestamp":1714672936,"startTimestamp":1695161366,"type":"lease","undernames":10},"dragons":{"contractTxId":"pDC-Jt_aWwJTziyJWRhiOvYGSP5I_8D7WK1oDgphhzw","purchasePrice":4866.01171875,"startTimestamp":1701895230,"type":"permabuy","undernames":10},"drop":{"contractTxId":"V45S5qIzqNq7MMkRqn-enU7fhh1b0NwgNzjMl9zajnE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"druid":{"contractTxId":"MGY4ZoN3LrlXTrtMUGdF_KJlsWYzQ0Nt3KR6vNn_oIg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"druidsgrove":{"contractTxId":"5O7NIvIr7ax5wAtpSF6-3BkBhi623wUg_x6tgLeXlN8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"druuuuuuuuuuuuuuuugs":{"contractTxId":"PqQYhOAfLbWosd3j5CP1tBXCLEzOUz1XT2079Nic-aI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dtfiedler":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dubaicrypto":{"contractTxId":"1Ck_dhbVFcwoMaFs4AIGNiqfB3LnQN5QdxlOZnHRG18","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dummy-domain":{"contractTxId":"uK6pW-x9g2-jhKPRVxlgdECFe6HCOU_4DTOytdJvWRc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dutch":{"contractTxId":"h1HaYxxzFXlb5tXpY2C8yZr72g5kxeONvBz3lu03mfg","purchasePrice":852741.428051,"startTimestamp":1700035869,"type":"permabuy","undernames":10},"dutch3":{"contractTxId":"aLRfZQ-9L7IO-6YmcCIIAuk3c4rC0fIs8yLW9SDgUk0","purchasePrice":10000,"startTimestamp":1701384186,"type":"permabuy","undernames":10},"dutch4":{"contractTxId":"gkZTRr6bgs4JlpaxGhjrX0W1fyac7BGldApW3AWoBpQ","purchasePrice":450374.451134,"startTimestamp":1700071617,"type":"permabuy","undernames":10},"dutch5":{"contractTxId":"_mSqF1iwqyHyQMC4XCXUXv6bZuZ9n4U4yAzDtdLgZhA","purchasePrice":10000,"startTimestamp":1701384186,"type":"permabuy","undernames":10},"dutch6":{"contractTxId":"pVs4vnW6jf1oQsKjfFFcqYc0Et2ZovV0qH8Zt8Kp8wE","purchasePrice":451059.915384,"startTimestamp":1700071617,"type":"permabuy","undernames":10},"dwedwed":{"contractTxId":"D89XTdN345U_zszGrDFsi623AQZ54l5lWsep9WLbHVE","endTimestamp":1718384701,"startTimestamp":1695161366,"type":"lease","undernames":10},"dwedwedwdwedwedwedwe":{"contractTxId":"NoSgW3c4KiSAJxujvJySTJcKQoqaBO7upgb4XHLt5I4","endTimestamp":1713916721,"startTimestamp":1695161366,"type":"lease","undernames":10},"dwedwedwed":{"contractTxId":"515BMBwu3k2eEa-KBjiS1T1-Ko95U6E-_W3QaS9GzJE","purchasePrice":7879.628268,"startTimestamp":1698785023,"type":"permabuy","undernames":10},"dwedwedwedeeeeeeeeeeeeeeeeeeeee":{"contractTxId":"_QR3ZHxT7kW38eN4N2h8Vl0s8WLphJuucHLf5CG44LE","endTimestamp":1718486479,"startTimestamp":1695161366,"type":"lease","undernames":10},"dwedwedwedwd":{"contractTxId":"Fzo2ivDE2uqYlJelfUAOJKrx8gTh4WLCZWdgg6a7RCA","endTimestamp":1726266410,"startTimestamp":1695161366,"type":"lease","undernames":10},"dwedwedwedwe":{"contractTxId":"1FoFFxDQmhtg755BHn_9tz2TshyAGAw_VE9xclQLkyY","endTimestamp":1726265754,"startTimestamp":1695161366,"type":"lease","undernames":10},"dwedwedwedwedwedw":{"contractTxId":"kTU3909PPrx2gnCPAyNsNehP6hn94-GdjcXQ6FG-kDo","startTimestamp":1695161366,"type":"permabuy","undernames":15},"dwedwedwedwedwedwedw":{"contractTxId":"NoSgW3c4KiSAJxujvJySTJcKQoqaBO7upgb4XHLt5I4","endTimestamp":1714188036,"startTimestamp":1695161366,"type":"lease","undernames":10},"dwedwedwedwedwedwedwedwedwedwedw":{"contractTxId":"z6TvYT8khQdwT5fr0ladJmvYNV5wZY3kX1rXxuXj28Q","endTimestamp":1718487807,"startTimestamp":1695161366,"type":"lease","undernames":10},"dwedwedwedwsdsd":{"contractTxId":"IfNZEjJFfru4OwU_RNB-RW9Od_5m-F9jtfGU_73K69w","endTimestamp":1716274961,"startTimestamp":1695161366,"type":"lease","undernames":10},"dwewedwed":{"contractTxId":"mI7UIIzXtSJwrddyq1gpnx-SncM0FCRqBKKAyNLOaa4","endTimestamp":1718384701,"startTimestamp":1695161366,"type":"lease","undernames":10},"dworldwideweb":{"contractTxId":"fQ9NDl_EsrLHT-OLwje1J4cm0KQyr1K1C0XqSkZPe4c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dwqedqwedqwedqwewqed":{"contractTxId":"U6niD1XbWAQ-4iWEkzkvsixTf-xAqH2MTsDwtTf15c0","endTimestamp":1725996467,"startTimestamp":1695161366,"type":"lease","undernames":10},"dwwedwed":{"contractTxId":"TCGQPuwK7x0AgVU94F1_p2vWbhG91Ahx-xohRR9DIOw","endTimestamp":1718384701,"startTimestamp":1695161366,"type":"lease","undernames":10},"dylaaaaaaaaaaaaaaaan":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1713633344,"startTimestamp":1695161366,"type":"lease","undernames":10},"dylan":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dylan-made-me-do-it":{"contractTxId":"2yHmORN-N12hM1B2f9-JPMpOfa59qhpsExFCzImrD30","endTimestamp":1713633948,"startTimestamp":1695161366,"type":"lease","undernames":10},"dylan2":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711228890,"startTimestamp":1695161366,"type":"lease","undernames":10},"dylanmendonca":{"contractTxId":"RRDK8VhXPJK9DLnRxFc2K50S_MeQj0r8em1ysjQyqwU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"dzcodes":{"contractTxId":"ZAKXxdRkDoqjnzjQ0f3KV0myWbWkuFIEo-H-ygMA1_w","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"earnables":{"contractTxId":"Mxdv25Pi5EP_pCGwNRqaevrlGSTaGwd2vIzQOPeszx0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"echo":{"contractTxId":"kgaXTturxMe1UdSbj63QvySjaCbEgLWVaRlW7s3XnBI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"edwedwedw":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1716562785,"startTimestamp":1695161366,"type":"lease","undernames":10},"edwedwedwdewdeeedd":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1713982638,"startTimestamp":1695161366,"type":"lease","undernames":10},"eewdwqdwedwedwedwedwewedwedwed":{"contractTxId":"NYss-gIsmUT2euPgAhcPQxWZrf8055xZZM7QZQHJHMU","endTimestamp":1733255119,"purchasePrice":1106.0905567309953,"startTimestamp":1701719119,"type":"lease","undernames":10},"efdsdsfesfesfes":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1713634402,"startTimestamp":1695161366,"type":"lease","undernames":10},"el-capitan":{"contractTxId":"fhT_uzxcybAw0CXpsHzky4MF3TPOn8dk0B4u9-t9oLs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"electronic":{"contractTxId":"nCTfOTXOhwu-cv8atbpm3pABTgSt1ZXLI1x4-RH9fQ8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"elliot":{"contractTxId":"f1l1MZ8aeVBUlm-vRoAQZ1zEQoR3TtxLxy22RScd3xE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"elliott":{"contractTxId":"NKHnc4BmAw3Z23TppbKRqhROrZSCK7TOn_hGdLpwhAM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"emersonmacro":{"contractTxId":"bo9QDkZLd4xhRTvJ8QEqKvAy653EY5PFHq-DZvM9d4Q","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"england":{"contractTxId":"xSji48rsz0Pvp098XMJqAPdO4idKe4mMjHk27q0Kvps","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ens-sucks-onion-skin":{"contractTxId":"yrPwWojI3VDPzAMYVc1jdo-NLWvluifIQmDp1ojnsOE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"enter---the---dragon":{"contractTxId":"A9vwkXT396tSEUtkWGrnLofGsozPUcJuyUjNvxy-bqw","endTimestamp":1714812921,"startTimestamp":1695161366,"type":"lease","undernames":10},"entrepreneurs":{"contractTxId":"eiSKMi-S0V7SjehTzw1-Kvw2pjCDbWewOov5JvH_TF4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ercolino":{"contractTxId":"NUibxtOIvQ1lu-f1NEPLV4Nhzfhh6e8JHy1XVxFskf4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"erferf":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"erferferferfffffffffffffffffffff":{"contractTxId":"g1MHJdSDfUv4-ctMjnHefIeFa5KVgRvYEKwE2hYkbio","endTimestamp":1718486896,"startTimestamp":1695161366,"type":"lease","undernames":10},"erffffffffffffffffff":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1714231459,"startTimestamp":1695161366,"type":"lease","undernames":10},"erlfijhlejn":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ethereum":{"contractTxId":"E_Mt2lspkdGHZhgxBH5mXodKLDAjCVmFYWHJZhOunYQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"evolutionary":{"contractTxId":"1TaHksS4L-4bpNk3-YrZg6cj_lz24e5McxKaz1pvVyA","endTimestamp":1716311608,"startTimestamp":1695161366,"type":"lease","undernames":10},"ewfwefwe":{"contractTxId":"94y7CtBWXV4TEkdzeNCJt5UowtjXz_UHNrFGACSO5kw","endTimestamp":1711246019,"startTimestamp":1695161366,"type":"lease","undernames":10},"example":{"contractTxId":"mNEhWp4XKdRXYXzX6pNSQtJvWJOLzfq1beiI4QK8-h4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"excarlidraw":{"contractTxId":"DhfYBgxSelhFrtgcneqPm8JyQZ_-5sG2AwLELb_rz7c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"exchange":{"contractTxId":"ZcOVODqI-tL2YAoaQV-EMrd3dlOLvNMvPNv8jr6TAGY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"exm":{"contractTxId":"plXWT9GdEdAjaoFvkQwrGA4EDA6HxJ7WEpIc28y0k90","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"exploreeeeeeeeeeeeee":{"contractTxId":"1-yi2SscbYshy4ZKwDdspfdIREKWARI4JpRYyXae78w","endTimestamp":1713534726,"startTimestamp":1695161366,"type":"lease","undernames":10},"extrafixyfix":{"contractTxId":"lWxfCSTlk_er96jkyDbAd6KT2-A9M608-q0xDOUp1cg","endTimestamp":1729639960,"startTimestamp":1698103960,"type":"lease","undernames":10},"fabrazio":{"contractTxId":"1z25aQ0b1u4UKidIZoVkHIXmSL5w9Lw7oYHGAi8rAyk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fact-market-explorer":{"contractTxId":"a2GF8JMOWb3u6556lQKYn8LKrewiwPyljYiG01pfH5o","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"faction":{"contractTxId":"LpfV4ALEbjvR5codYtMO8yOOnac-kd3Fz6smwbJ3eQ4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"factotum":{"contractTxId":"8bfBd99Yk4Fw9s8jbcMpO-vUIlvNzv-heXDVFuDV4t4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"facts":{"contractTxId":"ll-JU8Cd3w79TV4EuhS7H2XrQlFvmxS1FUbuh_2TLLo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"facts-card-renderer":{"contractTxId":"ah79ci0RhDJRSgXAR1GSxXyhwydIyrn2mE8Ia1MZN4k","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"facts-protocol":{"contractTxId":"3JenSBPkjVqLli8wuc7OJUnNP4K-tAJFMux0peRBZEE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"facts-renderer":{"contractTxId":"z1b4SoZlbouhjS7zQIFjqp7OIppHphLboxjMJA-0wWw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"facts-sdk-js":{"contractTxId":"-KZd_8YVv82qphAAqlvFgNkeQyr_DV1EorlZ8zVdP_I","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fair":{"contractTxId":"oI-6VPflmSVqlITr90St-9q4PjJLSsl5T-JK9D_TEXg","endTimestamp":1715695818,"startTimestamp":1695161366,"type":"lease","undernames":10},"fairpermapagetest":{"contractTxId":"4GCqS9-kRcMz3g9EdovRkS2bXy9jfsL7xWVAKHiBFRg","endTimestamp":1714039878,"startTimestamp":1695161366,"type":"lease","undernames":10},"fairpermapagetest123":{"contractTxId":"Gwtg2EdFy7TnqWb5uWUjS05sFCuBYaITOTr2Vf8MmEg","endTimestamp":1714049826,"startTimestamp":1695161366,"type":"lease","undernames":10},"fairprotocol":{"contractTxId":"C_sF_WIzeuglqIHMlT8BMFfpArb0obcfl4u37mRKJm8","endTimestamp":1714145976,"startTimestamp":1695161366,"type":"lease","undernames":10},"fairtest":{"contractTxId":"Axej9orFnM4PsXt3CEdAwI0Jm90BWwJ41wAN3ZHD5AU","endTimestamp":1714038069,"startTimestamp":1695161366,"type":"lease","undernames":10},"fairwhitepaper":{"contractTxId":"ZEtOCpf8RdCzcPpkzxXK-1qkVBsPJa_t-hFThON7HdQ","endTimestamp":1715183721,"startTimestamp":1695161366,"type":"lease","undernames":10},"fakename":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1713582704,"startTimestamp":1695161366,"type":"lease","undernames":10},"fakename2":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1713629283,"startTimestamp":1695161366,"type":"lease","undernames":10},"fakename3":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1713631108,"startTimestamp":1695161366,"type":"lease","undernames":10},"fakename4":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1713633725,"startTimestamp":1695161366,"type":"lease","undernames":10},"fakename5":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1713648937,"startTimestamp":1695161366,"type":"lease","undernames":10},"fakhoury":{"contractTxId":"3n3pjhEHtsSA6Y5YlgXbi0FtIx58Ba3CgT4PoYMx2f8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"faktotum":{"contractTxId":"rGsMCfETcGjWjR9ZWLqc9BrMdeMEbWim2XpCjK0ZQkQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"falco":{"contractTxId":"8bx0DMo0yXCtATMT8eAyz9S0ZOS38ayDBcGM8ffBPhc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fancyshmancy":{"contractTxId":"K3CqGSRvhr7seg9Bd-Ye6Bkh5ulU5PREJrRS1b8BO1Y","endTimestamp":1883362163,"startTimestamp":1695161366,"type":"lease","undernames":10},"fantastic-arns-name":{"contractTxId":"EsjrkuxdlQlDa36mDRkXcSiJOF43LZRjgHoM8RakZRQ","endTimestamp":1731379823,"purchasePrice":1253.7078749999998,"startTimestamp":1699843823,"type":"lease","undernames":10},"farellon":{"contractTxId":"x6SU9mfUWHhMQjSa13WQIe1SS4tGTNxqUQ2kw1xKq1Q","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fascinating":{"contractTxId":"02lSA4ynaO4Vp3HeUBrNVSYbSkz0kfYV55EjIcveGc8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"favorite":{"contractTxId":"j0paOWuvM8VkSmmjzMlocZY9rGhFhFbKyRtZijn_TU8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fearfromcnesia":{"contractTxId":"3VYaCnnWjGd86IchMw_dsyOSWqk1fatasFsB6DnbQpg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"feb-15-2023-test":{"contractTxId":"3JD3eIpA5pn-RkmvP0rfhi_8Ag8RPOd7aQ3RC2qigIc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"feelingrelaxed":{"contractTxId":"afJQtCHzZRGNC75QHANuGSBg0JBIN_EnDAJjXNkzysE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"feels-good":{"contractTxId":"-K3qlsj0CzRLnKQP6RDsAH6dpiUCG-yEl9osqjZv4B4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"feferferewrgergerwgwerg":{"contractTxId":"AMEuX1d732XAZIhdaRMakLufNFADXzyfLfzfsdjlTgg","endTimestamp":1732466982,"purchasePrice":1112.2312499999998,"startTimestamp":1700930982,"type":"lease","undernames":10},"ferferfer":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1716314058,"startTimestamp":1695161366,"type":"lease","undernames":10},"ffffffewefwefwefwfwe":{"contractTxId":"1dRMQebo-_-ObGLJRSRkaxWXem0b_Dz9si2X3BZpG78","endTimestamp":1712765624,"startTimestamp":1695161366,"type":"lease","undernames":10},"fiedler":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fiedler2":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fiedler3":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"filecoin":{"contractTxId":"bwcNr7VRYbYO--6uW632d1sLMR7Okn8OuBlbQHcRDAo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"finalserenity":{"contractTxId":"cWXpDcIEXVbuMguqzWeRXFU8WROLUV3f5DNY7V3EY2Q","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"findle":{"contractTxId":"cXO0KdghVbuHJGKK0_JCNdmrCDciFs9jFdg_aFnks9U","endTimestamp":1711923916,"startTimestamp":1695161366,"type":"lease","undernames":10},"fireworks ":{"contractTxId":"A22I3cqlEWw3zCqOwNAHI2LYzFHpIznJNHUSVEeDC1Q","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fixyfix5":{"contractTxId":"Mh-uOcU-BFjn9EbXGO4TrHLhSMTO_yqWvuUAYEk3Og4","purchasePrice":137398.23521,"startTimestamp":1698965139,"type":"permabuy","undernames":10},"fixyfixfix1":{"contractTxId":"TW8WOjAiG28oGp2fUHKrDTUxKUSGAjW7xO4eQFYmUPo","purchasePrice":131250,"startTimestamp":1698937670,"type":"permabuy","undernames":10},"fixyfixfix2":{"contractTxId":"YALquSgMqwkNVp6oNZ1gvrdv7F-joTEbuZcqZG87ByM","purchasePrice":131250,"startTimestamp":1698937980,"type":"permabuy","undernames":10},"fixyfixfix3":{"contractTxId":"rPep5_OudT2FMAk5PxxjxxWoKyIPvO113OZDFfkLHvs","purchasePrice":15810.97152,"startTimestamp":1699305730,"type":"permabuy","undernames":10},"fixyfixfix4":{"contractTxId":"Iaa1pRbaq5stUODdte7g_wIxlZNbKJnxfWSCotnADdc","endTimestamp":1730498088,"purchasePrice":70280.427218,"startTimestamp":1698962088,"type":"lease","undernames":10},"fixyfixfix5":{"contractTxId":"ICT-FmL2Qx5wfzu-JveVtVIAr2knJXtmPpPn6wiO5FA","purchasePrice":131250,"startTimestamp":1698940255,"type":"permabuy","undernames":10},"fixyfixyitis":{"contractTxId":"UjWUSPpKHCBB3OvClxl8gMgxQwTj0MnOtvWaRy8fVZo","startTimestamp":1698103005,"type":"permabuy","undernames":10},"flighta":{"contractTxId":"52gHw88xz0pPUAMD9AOucsT0CSOs8iswY0oxDtVOcaE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"flightacting":{"contractTxId":"QQRylU6jNEFqcD1RNc9FJL3SfAH_d7KTstlduJdPR4Y","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fllstck":{"contractTxId":"rNL7JHpdikvpSCRyHSyKcGMrWShPj0hzPkp_OJ9twMQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fonts":{"contractTxId":"PVvyHc4Ahoz8Nu-uIf6XRA05sLPggyy00vTa8hXPNB4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"foobarbazbeep1234":{"contractTxId":"_fDgfYKUR0cCFtn1IU_TyehaunTASeQfOU5Lzn05UKI","endTimestamp":1715458549,"startTimestamp":1695161366,"type":"lease","undernames":10},"forage":{"contractTxId":"cCV2C_AMt_u_v1ZIVwBgIKWzB4tOzUuXCHo-YffUWK8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"forcetickstate":{"contractTxId":"HU90PdTNl1bXcdc56DvA289nS0mYGabz3JsXOLMsGwI","endTimestamp":1730911260,"purchasePrice":1200,"startTimestamp":1699375260,"type":"lease","undernames":10},"forcetickstate2":{"contractTxId":"JF3KfJDo9hdt9LXBzCDnad_00IrsUW3IQzBBemzDyyA","endTimestamp":1730913632,"purchasePrice":1200,"startTimestamp":1699377632,"type":"lease","undernames":10},"forcetickstate3":{"contractTxId":"plNUQrzA0JdqIB2AuzxilWTU-4ggP1d98juIslElrZ4","endTimestamp":1730913934,"purchasePrice":1200,"startTimestamp":1699377934,"type":"lease","undernames":10},"forever":{"contractTxId":"CfFW_qRzGT4KFB89XNmcla2REjjRqMw1aLeU4ReNs98","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"forward":{"contractTxId":"HQmZ-OokWLNx19EWpLAXAyEmAtzTcbF0Wf6-IVc411M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"forwardresearch":{"contractTxId":"le68wt46cLPxDo6gkWab7yJZ31WpNxnMDyx9uub9hPc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"foundation":{"contractTxId":"G0zlXipFdaZpOLiXmenabZtClk49CJqkfXH3TBmgAp0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"framework":{"contractTxId":"bBfKBKneP8Y_nn0s40qQwxA2PqXy1Aj4pzNtXa-tPBA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"franzkafka":{"contractTxId":"EJxXti5urDwNMk3GWxLaowvG-SW8-wvhDFrRj_xJHrg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"future":{"contractTxId":"HfQaZbV7v0RGUo91uCBC2Jne_GIc0_n72k_gMugQssU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fwd":{"contractTxId":"rLyni34aYMmliemI8OjqtkE_JHHbFMb24YTQHGe9geo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fwd-test-site":{"contractTxId":"UkH_MolTWOAHDEWk3USMSJ76FTIYW_lejFJ5LMr5vqk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"fwefeeeefwefwwddfsfwefwe":{"contractTxId":"PyIXEp8ljC3TlPE71AfoctoPUYj58l9VETnLCd4IYVs","purchasePrice":1840.0853371117043,"startTimestamp":1702025547,"type":"permabuy","undernames":10},"fwefergergdfgdfgdsfg":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1713593177,"startTimestamp":1695161366,"type":"lease","undernames":10},"fwgwregwegwewegweg":{"contractTxId":"EdDYokA2LWduK1tHJWJ-R2T4G57IlCZ-WzOp1rCuS28","endTimestamp":1718486624,"startTimestamp":1695161366,"type":"lease","undernames":10},"gaetan":{"contractTxId":"YuIgWSorYMjEdd4279ry7Y86B4Jt_0ZHRJVyE8rqtbY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"galliano":{"contractTxId":"bwD85tpRAqaZFQkLH0oVps9kz1th8IOrmpfLXPolExY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gameplay":{"contractTxId":"RI6hu5Jhos2yxTPKF8mog7T_yQ2f2Vb81RHbP0jFxFE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gamesdeveloper":{"contractTxId":"EoV30zCgDtT2JK_orXbfsZW6LTn133LgrLpMpYRN1GA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gathering":{"contractTxId":"PRcVkNPp0eTpIVttQKTDUR24wEaDV-snEIHvxAavRQU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gdip00":{"contractTxId":"haFgVdfPQB1wn4QP5qWZESbDUCcasbolYl679UikLB8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"genesis":{"contractTxId":"xEL3QuBjrJtlJm4DSHn7BKB5S-riLc1qCkmn3r-xkiE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gergergerg":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"get-your-bar-docs":{"contractTxId":"7rYU6KBgKqVA9uM6MFwE9V6WCK_DkzWisPV9cRkxSYE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"get-your-bar-here":{"contractTxId":"A3wVwrrWUHsPerwir76BBGK3IHkx1xHSzs5f3qfXEGk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"getcachednametokens":{"contractTxId":"FHhUxFgP-NqAmrS5-ANPSFW2LF91NT5-dZJnQGgCsPA","endTimestamp":1731607155,"purchasePrice":1200,"startTimestamp":1700071155,"type":"lease","undernames":10},"getu":{"contractTxId":"JEAuAyEWYlAf8r1U5VYCfjBT9sPLxJpgfUTz3mcvdY8","endTimestamp":1717119243,"startTimestamp":1695161366,"type":"lease","undernames":10},"ghost":{"contractTxId":"e_IA2jM7umk5m1oESy8DEpJ8WqYJSWWZ48IxY7H1Ad4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gibberflibbitytittlety":{"contractTxId":"-Z8-045y3WTb_Z7wqZABqpotS84o7aSlZbx84Y6ajiw","endTimestamp":1724475187,"startTimestamp":1695161366,"type":"lease","undernames":10},"giftcard":{"contractTxId":"RXwqiAhOvUaOaTiHH2Ycq5f1YGR2WBPDfJ9nZjRfbh8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"giggitygoo":{"contractTxId":"Isipw5SQBLCkq9pquIV2tDOz9LHFXfDmB6Ku-Mlh9c4","purchasePrice":2559.375,"startTimestamp":1701563199,"type":"permabuy","undernames":10},"gimmegimmedd":{"contractTxId":"14-H22OA8kE92P3KCoN4umD1imhfFAFpdFMok5taTkk","startTimestamp":1695161366,"type":"permabuy","undernames":10},"gimmegimmee23e23e23e":{"contractTxId":"H39z7Fpzbn-xi3Kk1lZjSLnbJ0mAKzLrx3ns1AKeqNE","endTimestamp":1727307879,"startTimestamp":1695771879,"type":"lease","undernames":10},"gimmegumgum":{"contractTxId":"B0U0a2WTkKpHIITkR1MATIIcI8XMQilQfrSlUPuOsws","endTimestamp":1725574889,"startTimestamp":1695161366,"type":"lease","undernames":10},"gisebsas":{"contractTxId":"IgkvrFtS1y9VxDHH2OMXBlriZuRvD6GbkZqE2rfSxno","purchasePrice":145426.673345,"startTimestamp":1700492445,"type":"permabuy","undernames":12},"gisela":{"contractTxId":"BTfAL2RfCbb0qOy6IejlltQ_JV-0k1Va1vOK_hXx6Pw","endTimestamp":1731687271,"purchasePrice":6000,"startTimestamp":1700151271,"type":"lease","undernames":10},"gitarhero":{"contractTxId":"k6F30SSkulmXU_FJkXFvcJc6YxXEzi7AMojkpDEfBHg","endTimestamp":1712373393,"startTimestamp":1695161366,"type":"lease","undernames":10},"gitguru":{"contractTxId":"HM_fUBk6p5dlpVc716LKBLMQ2AwF2Sc0buY3Vcf2Dtw","endTimestamp":1712300980,"startTimestamp":1695161366,"type":"lease","undernames":10},"gm-vietnaaaaaaaaaaam":{"contractTxId":"kBmfSZ8A50Wxmqdew_rDZzsGXRgdhDFtuRKObPUabbU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"go":{"contractTxId":"cMWFooArRV_EQb2eWunu2-2EltRc1k6qdzLNOTro--g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gobbledyrobbledy":{"contractTxId":"fzHwpc1ijyORZ2o8JtC-ZAyIySapeCX9Ky0tD2syVVE","endTimestamp":1731795959,"purchasePrice":1228.5,"startTimestamp":1700259959,"type":"lease","undernames":10},"goggotygoggotygii":{"contractTxId":"A8SIsItBQlCcLuh3pKZkWw7uxwfzpxhxh66WzFX7zfM","endTimestamp":1731793274,"purchasePrice":1228.5,"startTimestamp":1700257274,"type":"lease","undernames":10},"goingtoauction":{"contractTxId":"3cxrc1jI1_SYcttqwk2i1D0tK0aHrCXgFAw9SlTqpLc","endTimestamp":1724997676,"startTimestamp":1695161366,"type":"lease","undernames":10},"goingtoauction2":{"contractTxId":"G0ZaFZB_un16ywV3sGAqQm_jORtgg5uK-OQ1os_j8oQ","endTimestamp":1724997796,"startTimestamp":1695161366,"type":"lease","undernames":10},"goliath":{"contractTxId":"9D_4OcRYaqwA2kB0yWRsMyIxWDPp3gXfF2iWUB3HM5w","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"good-auc1":{"contractTxId":"cj8NtBX8sTVsdcso-ajPlie1gxTwbOzHdseuw5b-7tI","endTimestamp":1731865767,"purchasePrice":1575,"startTimestamp":1700329767,"type":"lease","undernames":10},"good-auc2":{"contractTxId":"cj8NtBX8sTVsdcso-ajPlie1gxTwbOzHdseuw5b-7tI","endTimestamp":1731867420,"purchasePrice":1575,"startTimestamp":1700331420,"type":"lease","undernames":10},"good-auc3":{"contractTxId":"cj8NtBX8sTVsdcso-ajPlie1gxTwbOzHdseuw5b-7tI","purchasePrice":2625,"startTimestamp":1700331454,"type":"permabuy","undernames":10},"good-auc4":{"contractTxId":"ufYArivfXCoNOsgqYq97DlII1L1BBaVkW4TkjXo2mV8","endTimestamp":1730564820,"purchasePrice":76978.125,"startTimestamp":1699028820,"type":"lease","undernames":10},"good-auc5":{"contractTxId":"cj8NtBX8sTVsdcso-ajPlie1gxTwbOzHdseuw5b-7tI","purchasePrice":2625,"startTimestamp":1700331542,"type":"permabuy","undernames":10},"google":{"contractTxId":"rXU0lo2X7iC9gDWKK8YvLYF-qRTYB3sruC9C6rszYq8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"googoogigty":{"contractTxId":"9KgZiPAhlKb5d257l2elrYvzvERUPtRBv8GGIEwu8YI","endTimestamp":1729810606,"startTimestamp":1698274606,"type":"lease","undernames":10},"gotojedi":{"contractTxId":"kLMVrE1g-qXbaNtGW8CagPr2VYsaLh29QUHv4DIMCfE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gpersoon":{"contractTxId":"PXKD5OaX0_uJzYxWujWl44Sl5mUXj0a1ACb1DL-WNi0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gql-guide":{"contractTxId":"jGCbXsW8xYewUy3hydpEPsYSd7JOWjCbDOvIttmrf-c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"graph-indexer":{"contractTxId":"8Mwcq56h86kTS0x6NODOJyLYIpcLJrFrcHzzJl59Czk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"graphtronauts":{"contractTxId":"vBeFjb6saW5tRyCR7x4adng-EMAsL6dOI8Js7AWSfwI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"graphtronautsindexer":{"contractTxId":"_6NGaH30DNXd4LDNvZMQ4O_FYUoqUGFYUnuKUBrco6M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"greenunicorn":{"contractTxId":"0AwgWOMLAYqKnzvX39W8rhQwW9oo4Hx2X7J8XsWWRjE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gregogun":{"contractTxId":"cdw5KSzluo08ACyjAfQauRnk_KCz9420HoFvu7r8NSg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"grow-crew":{"contractTxId":"sZUjTnada6F0vhqMx914cxYsbEd80j01TV_8ZaDjrjk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"growcrew":{"contractTxId":"qpHfYgSY6wXiWCkZn-C-JF36DgXjaIioWwgwml497cw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gsteam999":{"contractTxId":"GCvmSEuy0q_jiCcNT0WrYB10oYny-1GhkXdekGRjWVk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"gucci-hotdog":{"contractTxId":"78llERSeb_8B8IwlgKWfdwG15bYMwgM4hV2vVEJtTuQ","endTimestamp":1731616266,"purchasePrice":1500,"startTimestamp":1700080266,"type":"lease","undernames":10},"gucci-hotdog1":{"contractTxId":"LocDH9nYV2yvhXqs6Bb3PA-CRoQHcbN0BATuejyrH48","endTimestamp":1731616266,"purchasePrice":1200,"startTimestamp":1700080266,"type":"lease","undernames":10},"gunicorn":{"contractTxId":"1bIWoj1rYndY3cxWES7OAqiY0wbXXPpsO1P5hPXXJyg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"h4ndyd4ndy":{"contractTxId":"uZIm-y6hCGnQzyvXXrIbUi5hNvFw2bSj452yuxJ8orc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"habbadasheryiscool":{"contractTxId":"VtBka5-jMSwogQtsjkIW6VnZwXQJw15kWBr2Q9p4a1M","endTimestamp":1913729018,"startTimestamp":1695161366,"type":"lease","undernames":10},"hahaha":{"contractTxId":"QBAYlLxQJFNYDRGHMV7T_zNJFIOsGKO1c30VsxwbDmc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"handshakenft":{"contractTxId":"NZLSBGB1nLAJamwxX9xmzRIE1lb1oaQnFmGkx_RPcWU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hanggaa1234567891011":{"contractTxId":"csgLrbC0NNJvgttTXvod-NOIyBiyK6z3vIGmqXwrM9k","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hanjiangxue":{"contractTxId":"Ti1WvWgUyFudpxwAoN1HApH2akTyCJks3_Ohic2-g2c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hashmeta":{"contractTxId":"y4oS8wf0rM2x1we82d-4PzuK_BszYbMy8gt4isUNsvE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hauxi89":{"contractTxId":"EnNYSYMpcD-txr3Rkvsu5cDfdBv3QNSlkFeBLcus0vw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hbauer":{"contractTxId":"qAYA12Yu9ms1zpybRSpa6GzdNKh0kkLJYLJWQDpD4Ro","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"headsink":{"contractTxId":"IwZL_2LdrLySH-KMvO6x0vYxsLY9HMYtFjkk4VBoURY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"healthinsurance":{"contractTxId":"Rl5Dm9bleObfKjQAei7NCy1tktzR8S1TVu4QtwzCWXY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"heather":{"contractTxId":"hgSosJzwt4vUT86g-rXNS8tq8Rjbfy3gBG3Kf_3teGg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"heeemint":{"contractTxId":"0-riU1qKaR1MsG_NgOFKcVBiZh7-xRXZ2Tjz1gnSox4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hello":{"contractTxId":"LaqPjpULlxFpXjSRbwj0XwtFAA93vmzEgel194Y2leo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hello-from-herock":{"contractTxId":"YOF0-MPe8UjlnlAI0-c6S-sLoK-V8g8fSyh2oVT_wN0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hello-widget":{"contractTxId":"dwhXTip_tW7nT7Gn3osaKC-F3xS2gOYLUQSg2HaMxHY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hello2":{"contractTxId":"zp02N5cfsn9HcEZdUWzCz4NVI8hr6HYbsCm35yShRTo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hello3":{"contractTxId":"B42g4IcF4yiQsZFMJB4wXVWBoznHGPhpyNtIBfuQvPY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"helloworld":{"contractTxId":"mYis-93jvzDrhBiLgYNUeaNrbKEfrSMNIcsRVJEUi3g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"helloworlddddddddddd":{"contractTxId":"8aWv7JXtfhgMdAhGWeqLDseNq-87AUfa2GszR8lyVmE","endTimestamp":1714590134,"startTimestamp":1695161366,"type":"lease","undernames":10},"hemming":{"contractTxId":"YxKgAWFIQ8YtoPcVbhdN1jFxGAEo1FHxy3oCXuX2VPQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hemmingart":{"contractTxId":"SDyEwyNQfCJCfchdW04h2NpM1t9zkPZiPbSRIazp1R0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"here--is-the--demos":{"contractTxId":"XUXLmtnQW3-yJ_ZJ0ZbmYEzcglfzSGFNgA8CD6VD1Nc","endTimestamp":1714646793,"startTimestamp":1695161366,"type":"lease","undernames":10},"heygonft":{"contractTxId":"Mr6NzSOPasq3so0F5axOBlD1pG03oUlMiMeSTluufow","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"heygonfttest":{"contractTxId":"JPZcjkc0nwbDc9DI42PhCAZXM7xwroZrf9XxpUg-S14","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hibiscus":{"contractTxId":"wySiB2EnUzNQ6SUfXXFhMH8zPJqgnoToAq664Nr60h0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hidayath":{"contractTxId":"otV2LcpNvhlq7AZOpmcAVEJxYWJfklG0lIZbLdUplCY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hlolli":{"contractTxId":"cKck4LvtM1yrPDT7jc9sjFsCVyLHKs_DgGm8mQlOrVE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hnt-distribution":{"contractTxId":"t2AFkODeAprF1MsNtIc8LBdzdGU0eHt756OqX-H1qM8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hobbledyrobbledy":{"contractTxId":"_yi8nI5evbhps4T7W3Rt6cAGl78tzqgX4QfdzeyhGMQ","endTimestamp":1731796113,"purchasePrice":1228.5,"startTimestamp":1700260113,"type":"lease","undernames":10},"hockey":{"contractTxId":"iYz3QFBu2j_5vVZHHOwKTXDaySB1zsmdEak-Ze0dw-o","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hold":{"contractTxId":"FJatZIeKLVsSKcMumFb_tpVoX91xTh93nQTjZnbG3CI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hoodrats":{"contractTxId":"D_DuK-USSrqNFZEu35vcux6AX2Ao5PJoQ3lnf55vurk","endTimestamp":1712387879,"startTimestamp":1695161366,"type":"lease","undernames":10},"hoodratsmint":{"contractTxId":"muIkfGCmXiDxjCoajTGMbwipL6PBuyoVmehcTZf-a8A","endTimestamp":1712715366,"startTimestamp":1695161366,"type":"lease","undernames":10},"hoogerypokery":{"contractTxId":"n7JLpXIga9QUwmHk_l_ub1ahEbXFsPv0wMduWVR2quo","startTimestamp":1698427757,"type":"permabuy","undernames":10},"hotdog":{"contractTxId":"UTvtAVBEJhIHbq38Tcag7vzPy3FOICYHvm_8B-3jg9g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hotsaucecowboy":{"contractTxId":"OzPcvYfJ2a-Ww4fjoK5EI32dM0fmxyQ08Kl5sx4KDGk","startTimestamp":1695161366,"type":"permabuy","undernames":10},"humphreybogart":{"contractTxId":"-Cmrck_p-jtBmMqTtI_A_hLuk87_BUMKbZ4uu1eb0IQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hunt":{"contractTxId":"d-OlByrHoJ3RzGQ0nku0E1lz-isx35TiwQ-zqBBD-7E","endTimestamp":1713555424,"startTimestamp":1695161366,"type":"lease","undernames":10},"hunter":{"contractTxId":"ov2X3nliI-p4gqEbSvmLzXKAmO6fxuwYzHl1mT7XHpE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hyper":{"contractTxId":"Fq_ZhSjn-45trikxGelJYL9YKTU_IGg1pV_aOFRifp4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hyperapps":{"contractTxId":"-eKkBoIMy0L3JZihXLzUVlJ_RPUEyniqZrrQsfgS09U","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"hypercubesarecool":{"contractTxId":"HCOmf_iC0htl_2vvU9qmKcUgyQo9ymxfgPN0FSQcpaI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"i-made-a-bot":{"contractTxId":"ltAOSfBCsHTXc9bl634mzw4S_9s65xuawEzfQx7r_JY","endTimestamp":1857326011,"purchasePrice":2618.4375,"startTimestamp":1699646011,"type":"lease","undernames":10},"iamhodling":{"contractTxId":"wh8DpklguOyqEAXI0yvZKHc3ICUnR1Xendk3J01f9lQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"iamvivek":{"contractTxId":"mv9HBg6hnu-CQTwbuUKEhlRYvHyt5HZfTJ766tzFawE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"iceths":{"contractTxId":"wKnQ3APTmL_ul33VPVegTa44xdA_jAyBzquj302PUDE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"id":{"contractTxId":"JeO7HaZjE1kP0jZfWTVdxj46X4aXLe8LTYV2A6TAG8c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ignavaldi":{"contractTxId":"DfB4c6pIfI53f5JMeCDNUHMDl9-4iTHlnIvc_Poodgk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"img":{"contractTxId":"AZ2TTY7cZv5HoxQagpDpfzkklOj2tteKbmcthMbUWPs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"injured":{"contractTxId":"zcyNuLBPE9FqDOo60b6ynzhEaN6ka1CUTQaHaeQtsm0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"innerinetco":{"contractTxId":"6TI-HsLUO346cew1BSnPwZkVMMgmc6PaEMVNY3dNJZE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"innerinetwork":{"contractTxId":"_xqUxp8Wsv59cig-0-6hoNuBB8251bMMZ3509GBhB5g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"interact":{"contractTxId":"v5DoCyFC_PtXldnDbFLqDPRtJPfT5kqU5yqLE4234mo","endTimestamp":1711689869,"startTimestamp":1695161366,"type":"lease","undernames":10},"internet":{"contractTxId":"RXl6htqYbVnH3YVk-Y4TipmbAzSghSRoT1ORn03zZHs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"intro-flex":{"contractTxId":"alfi6Gbq_wTtTG8YvJgMNdyYp9f2gN_Q3JCZlNb_2sI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"iphone":{"contractTxId":"S4vxT1Tqg-PLHdK1jRdnB82OpjjOTHcLnfSYPaDsHYs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"isiah":{"contractTxId":"dCEijhsmi8CooMNa47Ci3_DKenGa4Y4D6RplTCzFdY4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"isiahhill":{"contractTxId":"dJuM_474eKUpTT16PWDzAWOsjjK00hb3BFdnzTbs29A","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"islander":{"contractTxId":"N0p6O6isIgRuJhVjmboI5i3J5MKVX3iyxi3o3ZB40e0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"its-funny-cause-its":{"contractTxId":"XFma05uRc4LKQttYYXAG2tZC_mim_hx2ZvGPrhW8eE0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"itsanuness":{"contractTxId":"2INaM53J7ItlTrkTRDR8BZWpG9VppX6JuYwaZxS9Lu8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jackson":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jaggywho":{"contractTxId":"HXbe2ybpRonbML-ikn0vsHeyjhokVZ3a3Cmm7UAFIDU","endTimestamp":1729696136,"startTimestamp":1698160136,"type":"lease","undernames":10},"jaknft":{"contractTxId":"mI_dlFkpt68PkB11qQH14MgqwIqC7QIA67osXqqKGqQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jameswheeler":{"contractTxId":"UAsW-TFYPZKR8gp0z2MYX_g4ZBbKg7TCFrT16HftS5E","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"javed":{"contractTxId":"5QVPOzeH47twoYFUcQJVEEF9_4w-qYvEemva6QffveI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jeff":{"contractTxId":"Bkoj6lnzbfNpg5Qw2FP6YQWSi_642RwNRO3COpKvtuc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jenny":{"contractTxId":"l5DmwDnM2u_697Q7quptLUyHDZsa3Pi337UCHpXxqb0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jenson":{"contractTxId":"3z6O-CBmXwkFYg7I2lwWFLQ7XFameL_pHS6QkGes_4M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jeremykarl":{"contractTxId":"1EFagHqvDmgJTltWAiAlbtfPeaF6VGCdaKbsd-U3-rU","endTimestamp":1716398346,"startTimestamp":1695161366,"type":"lease","undernames":10},"jest":{"contractTxId":"aWlqCsjr1hy3CNZnGd4tZB0t2EDFKdjkVc8xZxH3ldk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jewelry4kids":{"contractTxId":"nPGNmnQG_2bMqGYA-qmUJ9C9q18_vgIJtVtdgSv77KE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jf":{"contractTxId":"swTmtfL-elLvgmt4Zyu4fJuCpVpAWbLGVftssAvG_No","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jgjkhg":{"contractTxId":"PqQYhOAfLbWosd3j5CP1tBXCLEzOUz1XT2079Nic-aI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jhj567":{"contractTxId":"a6Ov0xEQSQiOM1ul0PZLh6j-NTdkmPXc_-8kunZVgag","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jiggyhunt":{"contractTxId":"kVF9_3psjoPfi6XobMpt_x7ipt72dRUPrg8c03QUstw","endTimestamp":1729695325,"startTimestamp":1698159325,"type":"lease","undernames":10},"jktyytjtyjtyjyjtyjtyjtyjtyjtyj":{"contractTxId":"Y2g7Q354vGVtzKDu_hqVQg19ENsbT66l3PxUn15etJc","endTimestamp":1718486823,"startTimestamp":1695161366,"type":"lease","undernames":10},"johnnie":{"contractTxId":"IWMIAjEZ6lt1p2e88N3IT223AC7pf1mNiAK-TujnUUM","startTimestamp":1697310643,"type":"permabuy","undernames":10},"johnson":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"joie_degarlic":{"contractTxId":"yFVwh8YYXy25xpl67NyO3xS3_H14CmKSRRdQbKArggQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jonathan":{"contractTxId":"DFiWgtPW0fHRvzRp0DtDL4JnfNOwTu7hNtRe4Qphi90","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jones":{"contractTxId":"g0W2NGlUBaTDPdeMTRSbmI2iw5FDdmCBqdQMembxIik","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jonnie":{"contractTxId":"NOWzJJqjRYozptYS7wOtL_n-8GBJjIj3TBozgAN_1O8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jonniepee":{"contractTxId":"AMjQC08WsXumNot9PvjP9CSf8v8kkqqzfZQDZdJftiM","endTimestamp":1718736758,"startTimestamp":1695161366,"type":"lease","undernames":10},"jonniesparkles":{"contractTxId":"F0ngysjS3w5-jY79g_z-V_s8CCEQs6X_SZoI_zj1f_4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"josephlassen":{"contractTxId":"5zH08JSb-cRta8OpXxI98TzO9jXZHGVVeCeojV6fDps","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"josh":{"contractTxId":"pE3AA_qvym4zsCFSITIPJ_jAR0N1YUxhlrCw-2BxMzs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"joshcs":{"contractTxId":"mtXznj83gQb8VKwsouajJJ0YlMpWsrxBQL1Opi_OOKY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"joshcstein":{"contractTxId":"LuYWGMCLNyL6q4RldhleT-jTQr4wvhPxYPWBCUMUi5M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jrtkarina":{"contractTxId":"Dzcj3brK1zAhg-ajO9QPsMCmlRq-wYNzUKNIvOx3Z74","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jrtkasya":{"contractTxId":"25enNMSBwn0JscQlkunI1xiIh1DSvdo67q6ZTLWa88k","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"js-------------uhost":{"contractTxId":"np6Qw6OokcEsNy-9-J-QBKrZFLLWmMeu5o3y0epMwuE","endTimestamp":1712516631,"startTimestamp":1695161366,"type":"lease","undernames":10},"jshaw":{"contractTxId":"W_3c4qnt5QUggONZDBnXObtjAuxhDMp4LW8ct3n7Vgo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"juggernautbtc":{"contractTxId":"ojW7e83xUc-d38pZ5Utuk5WFSuwVOmbdQsr-jWfBKvI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"jwst":{"contractTxId":"YEY-wByOXizjFtvuU-H4PlRxjZ3nt-kCp2Qw7CliR_4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"karl":{"contractTxId":"FOrefXGg1TkmP9FV5jKMN7l7pTg54FbOeI6elOUnieA","endTimestamp":1712467913,"startTimestamp":1695161366,"type":"lease","undernames":10},"kempsterrrr":{"contractTxId":"ovMTiHqVQFpdamjqyeEq_P5t8YSjli_BryRI6MPjoUs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"kencodes":{"contractTxId":"bcgpIDh49uzxpecBktJZJ-8kbRBgJAoH4KN99zbl-xA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"kenny":{"contractTxId":"DDz53Q6QUGu_UHUWwJyFvHH9Lu7CIOYUqiXnrKzYAUM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"kennykenny":{"contractTxId":"Zb9R5UtKM0AAXi_Tbt7eOT-OEDtd7jNU1kkDDegWX54","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"kentuckyfriedfucks":{"contractTxId":"c-QwmR7_a6aCc12CBrxOts5kiDCcNKsTZRSoY_gDFXc","endTimestamp":1724468117,"startTimestamp":1695161366,"type":"lease","undernames":10},"kentuckyfuckedfries":{"contractTxId":"QF6djldySK0eSgNKBkfKmfuNPwBAKWGFOato-T8uGy8","endTimestamp":1724468363,"startTimestamp":1695161366,"type":"lease","undernames":10},"kermit":{"contractTxId":"JKq-qkuIiztqovQmyyc6_jVMfqiBSfhwFX8QWKIC_eE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"kevin":{"contractTxId":"V7mE58fxXeeQujibY6ox1rIY3fGm0GG1YV_ZyNZnPXA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"keyboards-nft":{"contractTxId":"-D7lVp1RKfQVo_2l4RCoiRkqjz25mfOczZd8_NgLdYU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"kingkonpingpong":{"contractTxId":"TERP-wg3J3yg_Y8b9jZaO14QEVHt9UAhGATn-EdJwMo","endTimestamp":1732061701,"purchasePrice":1226.234953125,"startTimestamp":1700525701,"type":"lease","undernames":10},"kit":{"contractTxId":"4f4sBW9p7Wso7nVLr36whk1GhNLhwk1545_HUK8FDWQ","endTimestamp":1717660936,"startTimestamp":1695161366,"type":"lease","undernames":10},"kjkdhclashdclksdjclk":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"koklomapedia":{"contractTxId":"G3AM5P-VVRbn9zKBZoN0idlz8WnZuLte_co9h3T1ufc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"kooooooooooooooooool":{"contractTxId":"TxOUUa5YCVDDDdVLvsZixZxRVz_aij7a1s6DN_NAFmo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"korolevskiy":{"contractTxId":"dIhwGW5cbA9xSaOvVVBX9_hbho7qSm2mOZg_MtyFw_o","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"kraken":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1712956452,"startTimestamp":1695161366,"type":"lease","undernames":10},"krishna":{"contractTxId":"lo8ztgbKtcIvoS4seJzyeV961fGhAI9LQ446cUkNPVo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"kurious":{"contractTxId":"Ph0PfoT5-bS42BU8cQqKdAFQjP1kgm0ZeIlug9xxWSQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"labs":{"contractTxId":"6GaFSLW-kr81REYTeiLhOth4i54RqUpbrD4y66K_uoU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lancelot":{"contractTxId":"OWodOMmL2qArVlFy8is4_DEk8FmU-7AxX5WQzSV2eYA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"landano":{"contractTxId":"3ItzM0ExJvF4jM5YbRzsP3xd-dLq__K92tvq99Ckfpw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"laserilla":{"contractTxId":"vmSTnLo58jMISCUDWtk-b2AhRXe-hPnP0RzAXdQaHtA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lasthope":{"contractTxId":"lBd3WSKWsje45muDK1FgmtdIQsLp7mZeQcv_rg9mu7o","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lasvegas":{"contractTxId":"Eth-KNNG4YXvO8cgS5qHtPSRj3FqktGNJcs0nTnubdk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"latest-arprofile":{"contractTxId":"q69wDy_SCnzunbPM-4XztWBjdRVSRHvBd3svTRNN_x8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lazzarenne":{"contractTxId":"BxRNnq20tNFfw7ZU812fUdP_DiSrUng48-TWcq4CHwE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lbryvssec":{"contractTxId":"T0QXQAZ0ZsGXuNwsjSmPhh_NfhSxnHf_Ld9jImuKqRk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"learn":{"contractTxId":"jvBOKT8RWnma731HGoxuF-30KGhg3PWrJSE1wl1H3Aw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lease1":{"contractTxId":"tSjxhHvpaZBx3q8zo_BcI0a-Cm8MT1wXOJbXi8p33TE","endTimestamp":1730306641,"purchasePrice":6000,"startTimestamp":1698770641,"type":"lease","undernames":10},"lease2":{"contractTxId":"ZnSGQIcoM_NgOzU5yMQadtgVdNCx8p_c8Vbbgcrw5Tg","endTimestamp":1730306641,"purchasePrice":6000,"startTimestamp":1698770641,"type":"lease","undernames":10},"ledger":{"contractTxId":"JDAxILuUVjBHfxPMJF8xqvhhGTL05ulB8jf_LmZrZDo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lenster":{"contractTxId":"2iyc9RJboesSpwZPJjtcAnopmgREwtKVm6th5i9qjsE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"life":{"contractTxId":"SYLtWxXWjDnEOpzmGXfunn5LUh_UvFeZ-oAosds8ASw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"linux":{"contractTxId":"Q4um50H6TyN_uDEok-ikvTBvuj89EV4qjD23HJxIYys","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"linuxadmintest":{"contractTxId":"j8YaLxpQ43WvgCBTjth37X3goR0uxrHhvA9bWBm8Fuk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"liquidlabs":{"contractTxId":"4k7qyKeuBEZcsIEZ6oYDFv0Mk80DzQlWo_nV63t3M8M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"list":{"contractTxId":"KvpvxgNX7qu43zZnwDBXtRIOLCQBkfJNkmOwmyXqyWI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lkhjdwiehfoieurhfgoieurfghoieurh":{"contractTxId":"KIV8_fllrtnxNo9Jb50xuqyTxk0SHIT_9Zy3vVB_lyI","endTimestamp":1718487450,"startTimestamp":1695161366,"type":"lease","undernames":10},"lkjhgfsadfgg":{"contractTxId":"JCPy4aHNUaF7S6eTAdMcJwvglP7DE3xgc-iV_hmY-oE","endTimestamp":1729647604,"startTimestamp":1698111604,"type":"lease","undernames":10},"localhost":{"contractTxId":"lGse6fzZt5J5Zjd9caESrUnwgS2RComk84nmB3JDPzA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"logoswiki":{"contractTxId":"lZjHaOGsKYS9jibvxt1kSkaIDihy7PbOiEgWSATOGYI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lolcchekc":{"contractTxId":"JpPTbZS-WXXNvzJ4pWcDpZQD9JkjjCb5LBr-CQEqXow","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"longify-------tiktok":{"contractTxId":"BHX371TDWtGtY6kS672xPWA8nJe7MVK4eCPKYLdQZko","endTimestamp":1712516201,"startTimestamp":1695161366,"type":"lease","undernames":10},"look-at-my-potato":{"contractTxId":"5T599B6HW5EHDq5eV_LOslp7l2ULwEdI8qworinNGKU","purchasePrice":2205,"startTimestamp":1699569239,"type":"permabuy","undernames":10},"loooooongnaaaaaaaaame":{"contractTxId":"DxfMHGtI6NB4bOAu_jGRJQwDdcuRI5WC_5zDrPlsdoc","endTimestamp":1729788390,"startTimestamp":1698252390,"type":"lease","undernames":10},"lorimer":{"contractTxId":"z-wk7nxX7KLN_6IGNXs54i0SCGnJPpp7UQDGhuiRaEY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lpb":{"contractTxId":"I8GJNhRZKl-H8WiJlncHEqYJKqTdkN1I02EVSRyMbQo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":12},"lucas.arweave.dev":{"contractTxId":"tRJcDV-6Cvr42vU9IRuTIpVqEOTaOS-9qK1Za-V1uqY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lucasb":{"contractTxId":"wr536J2RsH4Zg56OWb62NEwAdtt_XZpHsFHPaadyof4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"luckygay":{"contractTxId":"tJdzdDG7ugKA1bMKZ11MoLDcz-sXxRIBaumROyYCMcY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"luckyr13":{"contractTxId":"knB-uo1NicwpD0nq5Uzv-ft1LU48uciqkTNvD--0CJk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"luxorcode":{"contractTxId":"Vgpt3JthVXvAZnrBFTxY_arYCjgsOr6RcCsQ-RVbstI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"lyrics":{"contractTxId":"JIfoIhJNzbNT-hzNQHjoQqqfmYOFtJcg1dycf-s-eI8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"madyespinoza":{"contractTxId":"Cevrt930i4E_i4GGj8--XTeyVT0J6Ku3TRABLxxqZgU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"magic-wand":{"contractTxId":"FhfUc_b5vf801_6o81pp5VrLVullS6PKkAY9RBtsrNs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"magicmikesauce":{"contractTxId":"ELW_MfM_8Swy3r7O1Ok-d5pJKQTc2qUjFi4jR3NTo0s","endTimestamp":1724278926,"startTimestamp":1695161366,"type":"lease","undernames":10},"mail":{"contractTxId":"oOKKj7BlndKUSz1JvIZJ4Xy8P7PhHu5JAJ88lxT4eJE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"marcin":{"contractTxId":"ZSl7jUDbXakAgmCi3EfFy06nB0HOqeM4ej_yZ4uGSew","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"marcus":{"contractTxId":"c1BG4XnQiNXGnknhxC5DA5yk1bhaWJA3NFdUPkopRTA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"marcuszhao11":{"contractTxId":"3dPPWhqpjkBvgsjkrmMEnOv07nN9bcdjBfRT8Fl6bTw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"mardeni":{"contractTxId":"ThaSXthTZOsrBy6t2qgby8A2Jl-0r7aMMIRxFpLySUU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"marketing":{"contractTxId":"OVPYRIVsyzyvaKBpVVK39YPBii-UA2Gpb4j0IpJeTz8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"marslab":{"contractTxId":"pksTRFzOg_MF4N8lwjNFP82IMkUQllUjlErIYHkI98g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"marton":{"contractTxId":"duaXllyZz1A0lqPoe4L1eIYui4uA-QJoYApDygUHtQg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"matteformfunktion":{"contractTxId":"mzKdMNu-mypzCp9PtBtH4ifKeq6512JYBoQPkBEi6j0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"mcevol":{"contractTxId":"byyYDC6N8xmdojGoYlk0YI69QXXHo074DOr89i7Y4pk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"mclars":{"contractTxId":"hnj2WjmcZBWAmfft6gcl3eIUu0USd6wVQDjQv7h6dKM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"medicare":{"contractTxId":"H4JzUN25kKu2l-Yw4thCuTQgii33I3WidWFfWV2doz8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"megabyte0x":{"contractTxId":"iWQ2IHHfTKL95JXvRbCCJUTC7291xRvWP6elUHVqG50","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"melbourne":{"contractTxId":"i1T0Ya0OlkRkRJqyFvkGq-gBAvnNu3Zmot4mS2DP7m0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"melville":{"contractTxId":"45Mt8zaZi3XNsnQMP_neoFOE1rLVLCLk8f6s0ITGbFc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"memeathon":{"contractTxId":"U4UEfB6-tHg0O6S00QZ_Hu9csRxxeHcMY1tRHEWI0RE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"meowy":{"contractTxId":"stCnWZI3teTJmYzkceHAUvTd3sLVe7Utc_cJRQQsDSY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"meson":{"contractTxId":"F5uZUMN8z7KjlCzaL4bCyRhvg_j7lMDf-TXKe3lT0oU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"mesonnetwork":{"contractTxId":"Lnd5tUF47Cr8AOKatAMgiqet8ygC8HgOGrDtA0zJOcQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"metaverse":{"contractTxId":"Gm5Le2XSrQlDXsra-AI4P71E_SQfCUKKcP1CZWYG-e8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"metaverso":{"contractTxId":"jzEkNnnakBUL-WpLPbK04L7o4R69kDDTnpiiY1VQzSA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"metaweave":{"contractTxId":"vONpV-eLhCgNZrU5tjHTYg6XtUbhvYOi9J4tzVX3Ti0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"metaweave_widget":{"contractTxId":"H090-XmkewX7jNgm0H9Iw0STpk6KFq7o5ZYMoe6tPKQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"mhjhjmhjm":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"michael":{"contractTxId":"sSsm1IGBp3bbbn--XCS9Ts3L8EH5_2HbricEkbI35xM","startTimestamp":1697308504,"type":"permabuy","undernames":10},"michiel":{"contractTxId":"LQ-sZLTgMtGpU0qlz1vCC6JwNgPqld7Qmu2ymAN_skI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"microscope":{"contractTxId":"5HlFW41wo2WMhf4mSEuGI7Owm5veuYY_zBL1akz4V60","endTimestamp":1714572205,"startTimestamp":1695161366,"type":"lease","undernames":10},"microsoft":{"contractTxId":"uEkKaZcruws2Ew8tz_HH-8xIAC4vQV0VbDjydemNO5g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"mixedbymatte":{"contractTxId":"lQRGFtXMufsfGTARE_BrojNsp8cxLh9zHiUh-M7gElI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"mixtape":{"contractTxId":"gN7bbV-D860OAU2wfO0V_1rd6_XHeWTF0xF1-vwKn9I","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"mobile-test-atticus":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"moguls":{"contractTxId":"oCSWWCzMyt4RWdJHdTH7c_agILmxREzgSWUZ7Ck0Flw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"mogulsuri":{"contractTxId":"LqQAqOnIIO4h7wSGaqytx0Qft5hSFvDE_IRNsGuTzF0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"moon":{"contractTxId":"2FsksW-J7OAQQq6P01ev7fNyvWcIjyuisoNax7gfY0g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"moonbirds":{"contractTxId":"ozaC3NuGi8NBUPjNmxfq9Vvg0FmTZr4QbXO2N_Ulm7s","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"motherfuckingwebsite":{"contractTxId":"kUAAjCdNpSOh9Jv3GZPYgx17IC2SjnXs78IhNnf_aP8","endTimestamp":1719332356,"startTimestamp":1695161366,"type":"lease","undernames":10},"mouse":{"contractTxId":"JkcdPox6T2q3U1851t5uTG8GvNBaCyLb4XvuzjUckFA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"mrtyhrgefdsazxcdfgth":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"msfew":{"contractTxId":"abIzJa7bWrjJmDP-fHCPz5E2EoSEVbkUNM_SZvXXj_g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"mullaha":{"contractTxId":"ACydIGSGJdoaA-BXyl7wQr9z8hDaL5y_VhhLic6Z6_4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"multiverso":{"contractTxId":"oBOQgV5sKd2piu1nfV4etV_ALzOr_kcX6Y72PknP1jE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"my-subdomains-r-lost":{"contractTxId":"zUAmvfL2S2rxGv3kh-qPXRABaRzkR5arNEwyql0LgAc","endTimestamp":1714899572,"startTimestamp":1695161366,"type":"lease","undernames":10},"mydemosaremydemossss":{"contractTxId":"JhlEvBm7JjIWd150Eu_MheqqQH-hbKiaSB5ceiMuhi0","endTimestamp":1714886608,"startTimestamp":1695161366,"type":"lease","undernames":10},"mymail":{"contractTxId":"eKWlOenaPuaRowBmQpOM27gh-eDxUNoqL_4aF833jfU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"myname":{"contractTxId":"o-3q3Xno1F6rOn4fLjOg3kp_wJKjMDPWZBeZliHnL4g","purchasePrice":10000,"startTimestamp":1701384186,"type":"permabuy","undernames":10},"mynameisblokchainlov":{"contractTxId":"8RCCZwW0RmIPNQT8PORwXFYj__4PGZGA0PSuMDzBKbA","endTimestamp":1712329939,"startTimestamp":1695161366,"type":"lease","undernames":10},"mynewname":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"myportfolio":{"contractTxId":"Rp3B7b-2MgBGxEMURR1Dc9slSaQP7uecAXsn3qB6mvw","endTimestamp":1712302605,"startTimestamp":1695161366,"type":"lease","undernames":10},"mystery_men":{"contractTxId":"5FsR0B6pWRDrSNWzBxzSQUy67gcJJkX3x1eT0m8axBw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nader":{"contractTxId":"yd2yN6jWIQfGqWQtWtlTZOBLBh5f2M4icqiOpnMj3zc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nameserver":{"contractTxId":"_DXtKXn19hNE_7NXXIHfscFAMBn6FuXbMYUTufEk22M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nameserver-test":{"contractTxId":"J6zDw8MP_Q5LGZRwUXQvRQR5j3Fuwt9ROW8hRo0vzt4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nanocorp":{"contractTxId":"NwsWlSfw05DtIb-F2_nsILHoKSKP5IyyclossJkWBIw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nanocorporation2":{"contractTxId":"OmiS8b2xnrdmbX7CNcLSTe_7L02j5o6nikwVvv6tBr4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"narrative":{"contractTxId":"g-wPNOvDEkqEOCXKjaCpZt1-n-eVFwv_hpAR_Tc8ZTE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"netherlands":{"contractTxId":"t4fsq6n3xG9pPyNCoBsdD7mUwYuHS6ZEB2ZFkRT6cS4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"new-ant-for-demo-tod":{"contractTxId":"PqQYhOAfLbWosd3j5CP1tBXCLEzOUz1XT2079Nic-aI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"new-auction-10":{"contractTxId":"f53dyEsxmxm7H3Y269JicMXvwhH6dnFpZmHybH2kmgw","purchasePrice":2000,"startTimestamp":1699988607,"type":"permabuy","undernames":10},"new-aucy1":{"contractTxId":"gZR8O7VDDurtKvXKdGKctlB0vRtcxRk9PzNC4JkxTGw","endTimestamp":1730575283,"purchasePrice":1575,"startTimestamp":1699039283,"type":"lease","undernames":10},"new-aucy2":{"contractTxId":"INfPzrhjDM8V4JlfekD4mh20m9ytoTY3jzXxppAbIUM","purchasePrice":131250,"startTimestamp":1699039515,"type":"permabuy","undernames":10},"new-name-10":{"contractTxId":"ZatUD4Nf96gjCZFYv-ObQktD5p6RxIsOPeVF8ND_tuA","endTimestamp":1731599282,"purchasePrice":1500,"startTimestamp":1700063282,"type":"lease","undernames":10},"new-name-demo-ant":{"contractTxId":"uqRESpvlFO8xx_hNovaLvfr4LYflv5DCOIe36R-A7Kw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"newauc21":{"contractTxId":"TB3uoDxu4inQ5WRjpBpjQ9sNehkwlSnWhVoLSta5kbQ","purchasePrice":3000,"startTimestamp":1701384186,"type":"permabuy","undernames":10},"newauction":{"contractTxId":"7t5de43sFarQQSizRk0Tk_eOvnamA7XosPy7xz7OYuM","purchasePrice":194636.566783,"startTimestamp":1698766560,"type":"permabuy","undernames":10},"newauction1":{"contractTxId":"XGhyBToM7O_Sy_8RC6R7GIVJ9nw82kHfyRyItv0I_fA","purchasePrice":114498.529342,"startTimestamp":1698962262,"type":"permabuy","undernames":10},"newauction2":{"contractTxId":"bULHu_yt1BFPYJ1yVV6ppFz3MzUp_zUIFWYO-r-AkJc","purchasePrice":125000,"startTimestamp":1698785023,"type":"permabuy","undernames":10},"newauction3":{"contractTxId":"ok3SkedrfIMDejdhoHqBUhrDa8OKcSmz2k8bqczcssM","purchasePrice":7879.628268,"startTimestamp":1698783478,"type":"permabuy","undernames":10},"newauctionsauce":{"contractTxId":"0xIeNBuyunFi4gnMLJ-lpXysI0Zc3jpHk0li1LcxOjU","endTimestamp":1725672589,"startTimestamp":1695161366,"type":"lease","undernames":10},"newcontract":{"contractTxId":"k2P5H11UmySh142hZvmphNetzVB9JrmQn-F3hGExOAc","endTimestamp":1727562619,"startTimestamp":1696026619,"type":"lease","undernames":10},"newname":{"contractTxId":"wVOt9TvidjoM4iE2zd84bqbJggJMPle1Os342gFERrw","endTimestamp":1730259048,"purchasePrice":3000,"startTimestamp":1698723048,"type":"lease","undernames":10},"newname1":{"contractTxId":"WUQ8NyJw5xoRzZVy4_ZdfToZNdM4NfkTr_4lJBnsY9o","purchasePrice":3000,"startTimestamp":1701384186,"type":"permabuy","undernames":10},"newname10":{"contractTxId":"2ZJWLT1PCCshKNaB2UwpiDC9oi5TRkd3s5munIH_Hbo","endTimestamp":1731181321,"purchasePrice":1571.0625,"startTimestamp":1699645321,"type":"lease","undernames":10},"newname12":{"contractTxId":"j7DHQLi7zzLrG9TYU9dAPyFsjnRwkYuJlXe6N0g6E7s","endTimestamp":1730564820,"purchasePrice":1575,"startTimestamp":1699028820,"type":"lease","undernames":10},"newname2":{"contractTxId":"VNMb4LpY0DPR0wxwQ4o2UKW5Gqjj1Z5ZcFzndTAZ6gY","endTimestamp":1730259048,"purchasePrice":1800,"startTimestamp":1698723048,"type":"lease","undernames":10},"newnamenobodyhasfasdfasf":{"contractTxId":"gYM6k-ymF0FJMmBYXddQoWBQk8sq9A0j5WCg3fqHSM4","endTimestamp":1723751991,"startTimestamp":1695161366,"type":"lease","undernames":10},"newnamer":{"contractTxId":"wM2Wv8Jt4AjeyZk7ETFpCgY6L2slB7eC4xQdomSC_K8","endTimestamp":1731571869,"purchasePrice":1800,"startTimestamp":1700035869,"type":"lease","undernames":10},"newnewynew":{"contractTxId":"7wlJM8QPMlmwqavi2yKrrsBNSUjeEEHE04tTHjrqWb8","endTimestamp":1729648142,"startTimestamp":1698112142,"type":"lease","undernames":10},"newtestauc":{"contractTxId":"1fIH1Yh1AaY-Yl0jPCgBXfk2OmH2j_9KFhm-U0KVn4I","purchasePrice":131250,"startTimestamp":1698968161,"type":"permabuy","undernames":10},"newtestauc2":{"contractTxId":"4Uli02V-miCpWIYJP-wbSJXfEatRODqoFvIn2-9fbkc","purchasePrice":2625,"startTimestamp":1699645819,"type":"permabuy","undernames":10},"newtestauc3":{"contractTxId":"Iow5PffJH9yaALaZwwLI9YVGTUVL9MMFKyMx2qD2pS0","purchasePrice":12882.775866,"startTimestamp":1699374089,"type":"permabuy","undernames":10},"newtestauc4":{"contractTxId":"_rasnE2jydr6GUwQI7kSs3LkwbUL19yX2DoSMrcuWR0","purchasePrice":131250,"startTimestamp":1698969088,"type":"permabuy","undernames":10},"newtestauc5":{"contractTxId":"IpJ0aeja83raKb6CJBBdwE0vSLsxsldMG84B8l_pldo","purchasePrice":131250,"startTimestamp":1698969088,"type":"permabuy","undernames":10},"newtestauc6":{"contractTxId":"csYXNIl7gzEdBca_eynv8DwcyGVMGexscEUVrtKNK1Q","purchasePrice":5258.887057,"startTimestamp":1700062475,"type":"permabuy","undernames":10},"newtestauc7":{"contractTxId":"O85wSs6kyqGrExfoOoVBjXkl1vQVKHLpGXHQzUFyayM","endTimestamp":1730914460,"purchasePrice":7555.748045,"startTimestamp":1699378460,"type":"lease","undernames":10},"newtesturl":{"contractTxId":"GsxUEeX5OwIfyUkpCWb_aWqM2XwPXrlU3X6IASfPlMU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"newton":{"contractTxId":"RiI4nnRRNkr8sMhbIOu9_gCd7i-tD8AQnSb3q7A6OZs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"next----------appolo":{"contractTxId":"ETeDVOeXhmSwCLgXBt66ymyOaxhbEvefJ-hll2SVfck","endTimestamp":1712865252,"startTimestamp":1695161366,"type":"lease","undernames":10},"next--super--example":{"contractTxId":"ckt2MyIz14BvI7rU9bUej6GV8gI_LTKjkXk2opDRE0k","endTimestamp":1714666302,"startTimestamp":1695161366,"type":"lease","undernames":10},"next-blog":{"contractTxId":"c9enxXCZ0zVBh3ku7YBlMrZ4GK3Eq-4LIZ87ZLOYUos","endTimestamp":1712137006,"startTimestamp":1695161366,"type":"lease","undernames":10},"next-blog-next-blogg":{"contractTxId":"ZLhAug8jlzW-SXZ31RgR174-WnVFOgmlotLQx7x0EFs","endTimestamp":1712512962,"startTimestamp":1695161366,"type":"lease","undernames":10},"next-js-test-example":{"contractTxId":"LkS42v-Wa2rmn4c60WIeKhkgtTsmWZEbwtHYs4XSDoI","endTimestamp":1713633344,"startTimestamp":1695161366,"type":"lease","undernames":10},"nextjs-------example":{"contractTxId":"fnKDy2HSQdWKwlupSAE5KyqiHiJ4Z3u27EyIUbiyMIg","endTimestamp":1713979935,"startTimestamp":1695161366,"type":"lease","undernames":10},"nextjs-example--proj":{"contractTxId":"Om99WXAECD-kHh-8FzQbkQqTs30SOLSp1mwoZtGn2EY","endTimestamp":1714641395,"startTimestamp":1695161366,"type":"lease","undernames":10},"nextjs-super-example":{"contractTxId":"0aaIYwr8sDCQ0gMoL7LZn_CIUQIbPY8Wu8bjSGGlu_E","endTimestamp":1714657631,"startTimestamp":1695161366,"type":"lease","undernames":10},"nextjss------example":{"contractTxId":"BXPPwJKbQyEBq0FJGy3fcMRMFnqXT4lkdXqVhngJILE","endTimestamp":1713982865,"startTimestamp":1695161366,"type":"lease","undernames":10},"nft":{"contractTxId":"2C2foKNwjBRfw4LcRAuXOv1dzD7TpKrI5vknBwMdsYg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nhl":{"contractTxId":"iUDTk3Dld8ZQ7F17FgGQFeWh83HjQpMFOskX-_5qMFQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nicolas":{"contractTxId":"DNyfxJMAUwgS79si9C2gLfKsL6uxWOmsCIMyj0cH12A","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nijatoes":{"contractTxId":"HbHePQPck4xQOBrkQ9ffW9-nqDZ5Yctz1gZBRefXOg0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nik":{"contractTxId":"ePrQSEOHb1FFbWN_55GvwdOAbco1Dq69d_D7aKMGyP0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"niknax":{"contractTxId":"40NJ9eeuJ8iuMwnkuAaldsyImA0BVcZ4dcJgLNIkk2M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nimnath":{"contractTxId":"LQusrolFt-k2OA2JsQBRw3rB5QMZIW5gRIskjOZ3ITA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nintendo":{"contractTxId":"ytr6keNs4MLriLO48HNKThPyn7WSfH5N3wQ41HU79zE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nnewauc1":{"contractTxId":"ut1p5V4dbSOLxQShnsqVwpduFtTiuu77AcC8ZsoAZTc","purchasePrice":14439.128961,"startTimestamp":1699380215,"type":"permabuy","undernames":10},"nnewauc2":{"contractTxId":"OeftY87QTfw_wZ3cxKKuTmpV5pII5lgZO-auGhot5no","purchasePrice":14114.248559,"startTimestamp":1699383422,"type":"permabuy","undernames":10},"nnewauc3":{"contractTxId":"j52_pFFveGQhIFBGBCHGhpd45LTn-5X1cJ6ll423P1g","purchasePrice":11241.529953,"startTimestamp":1699420412,"type":"permabuy","undernames":10},"nnewauc4":{"contractTxId":"8FN0P9fbQeWYs-XxFQS9r2PLSOVILk6ct-Oj7un1MgE","purchasePrice":7295.313799,"startTimestamp":1699496805,"type":"permabuy","undernames":10},"nnewauc5":{"contractTxId":"gNfuOoY2DtA7zQM6_cN4vw82LOTRXKyROW8ZE-tlR2M","purchasePrice":6216.252916,"startTimestamp":1700062429,"type":"permabuy","undernames":10},"nonononononoyes":{"contractTxId":"EBC3hxbLGB5vUmllmS8DFjT_iW1sSncutulP_dUBSJc","endTimestamp":1727113601,"startTimestamp":1695577601,"type":"lease","undernames":10},"noom":{"contractTxId":"4C3g7apy3JvBiBpfy9j20uQjov0NGbDvA-xbmq-aEDQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nosferatu":{"contractTxId":"da51nhDwLZaLBA3lzpE7xl36Rms2NwUNZ7SKOTEWkbI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"notes":{"contractTxId":"OofLO5E3LLI1OBsvhrda8BPd8RG-CyNlrExGMpUHxBc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nothing":{"contractTxId":"m_zx99qKdsLV7qY6WuvIBpWAGeAlDIK6exiCnO2m2ZA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"notify":{"contractTxId":"mzt0qMI4nRuy2CZFotg6gbaeRUwNbNEpb7SJXnUfvYY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"now":{"contractTxId":"tsHGCpmFMcvvc-aH7nbsP007PHkY00GmFHpKxDdcplA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"noxeliagriffin":{"contractTxId":"yRT0rWpjnHJ1PDPqhIPG7usMNWPSdGNdB0dqu48uSas","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"nuxt------------blog":{"contractTxId":"yKjJ5MU4jwg1paXwHSO0h7vKD-vV9rH8v0vVYzN5Rrw","endTimestamp":1712515896,"startTimestamp":1695161366,"type":"lease","undernames":10},"nuxt-------portfolio":{"contractTxId":"AnQk3QWbSmd-f0KuEaliTpBlcoQdR1IqIlzMyPbc7Zk","endTimestamp":1713027264,"startTimestamp":1695161366,"type":"lease","undernames":10},"oeiheifhoieuhfoqiuhfiqw":{"contractTxId":"3L6IsIFXVHTs4VuTeBP8fkAvALRsCw9OgtXyk6V7OYM","endTimestamp":1726706388,"startTimestamp":1695170388,"type":"lease","undernames":10},"ogphunks":{"contractTxId":"Y6vcUCUTPEbCD6Hn1wyct6KYrJTeCX45YPhilPvrBk0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ogres-have-layers-ar":{"contractTxId":"zkbFXUL0x5zV6QcXlgqKnGPGkSFyoeQlXD9lZd7jY10","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"oiherfihueroifuheroifuhoeirufh":{"contractTxId":"F1RzNmkz43WkiJrN9quWw11n1A2-wvCxuGKFQri-yPA","endTimestamp":1730502797,"purchasePrice":1260,"startTimestamp":1698966797,"type":"lease","undernames":10},"oiherfihueroifuheroifuhoeirufh3":{"contractTxId":"HKmflvH424aSFCQQycJGG077Pbwp1YeWk7NcdbGi9qY","purchasePrice":2100,"startTimestamp":1698966797,"type":"permabuy","undernames":10},"oihfpioewhfeeeeeewdwedwed":{"contractTxId":"juiBsGxDcyCNXxULXi7plA9Cy5VM2TAqaSbUfZcHJm8","endTimestamp":1727295604,"startTimestamp":1695759604,"type":"lease","undernames":10},"oiwejoweijwpe":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"okanisis":{"contractTxId":"RkYgjz-x0COPGhEyFFk76_XqLe1Gs5HUnlyBZXYtmqs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"om":{"contractTxId":"vuitzgw0pf1b1uCeKNkyAmLr-_h1gFukkPHR9C9d9r0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"one-clicky-wiki":{"contractTxId":"EdRDpo67884Cd53scYyNTc1wlwtY-SqotfOlD9-GXJU","endTimestamp":1714845618,"startTimestamp":1695161366,"type":"lease","undernames":10},"oneclickywiki":{"contractTxId":"H-y6Hi3EqOFpSN1JhOCHEZtJLy2dCcoCcUb3kYTlLxs","endTimestamp":1714846778,"startTimestamp":1695161366,"type":"lease","undernames":10},"oneclickywiki-wiki":{"contractTxId":"vsUdczIlquIByxlVTDMdpe8940k39Zw0TTRL_ckBu3Y","endTimestamp":1715450548,"startTimestamp":1695161366,"type":"lease","undernames":10},"only":{"contractTxId":"WMH5CMiaoxAbZXq4lPTCyPYUPN4PqxgXUlFQE5XOU4U","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"onlyarweave":{"contractTxId":"NNjK7GUzAyFD5QRP0KApMMLOr87v_OYinRwN3HVLNnM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"oopsie-daisiesssssss":{"contractTxId":"GS00UCBgq8oBh_RDvJDqnDoa_BLEKwOjYkpCW2IbJ9g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"opendidactic":{"contractTxId":"aQp4Ktll4n4GWS95Ed-8IF5kIDUoCZjvCdjJVGCaCNw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"opensea":{"contractTxId":"Vp0DEvziBLQw8GVmTmhEhE7m3ehDoy_ZzpWka41VMYg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"oppaoppaoppaoppaoppa":{"contractTxId":"szw-1srijTRxw8AcKeJarXKT3LtVQHrX0KuztVbLj9A","endTimestamp":1713436908,"startTimestamp":1695161366,"type":"lease","undernames":10},"orangutan":{"contractTxId":"ZQV4guvQXmQ96CHMfDzw6MNbATYh5_9rMG4Rc4-wdjo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"orwell":{"contractTxId":"dZCwZcIM99yT6z5-zal7NqEM-0nsdj18oa_LjO7Isaw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"oshfihfweiuhfasdfsf":{"contractTxId":"9x0QVDi9r1mcCAdSXVjS9Jf3GyoYPGflznrPFL04myk","endTimestamp":1733434643,"purchasePrice":1132.3602074533565,"startTimestamp":1701898643,"type":"lease","undernames":12},"osmosis":{"contractTxId":"2psJtcfBXWNIMTaGYRWaXGgA_kwE6hIgBZkNKv5LCDk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"osprey":{"contractTxId":"asAeV_A0_ZtTOqBy-UP8fYJMaX9AhZptrQiRFc48TDA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"othent":{"contractTxId":"wJXHs0sUrWdfQZMH7UBKnorVwC0TsS1QajqqKIzzS-0","endTimestamp":1717664945,"startTimestamp":1695161366,"type":"lease","undernames":10},"oui-oui-senor-googly":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1714230877,"startTimestamp":1695161366,"type":"lease","undernames":10},"paarugsethi":{"contractTxId":"5nKMoZYW4y7Q53Wkdfpb8u0iep1p7xa_xMM2qadiZ7c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pages":{"contractTxId":"NwACX6kr7gFD-GcuhphWBITiHumvsl_MeSFYLZ6eVKA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"paolodiomede":{"contractTxId":"PvFq1UAuNar6_vmrqSSJcoUEjU3Kj6fntx6leY8UAgw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"paradigm":{"contractTxId":"l9N3vMegS4G4nBOr-Pyj688MLkcy9gIKEA_WdOjedh8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"parking-lot":{"contractTxId":"THX7vy1LIjN6Zna1Rs1ZzQqm_xH2V0UGUA2Lckyl8gA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pascal":{"contractTxId":"OLIW-VBd5hLUyKEHkhWFgc25n0f-IIgpbGr6zIqfAcw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"patrickbateman":{"contractTxId":"dWvU_1xOGS9AjLhNLGifAqgTRrE_Zk0Qe3la7gHskNw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"paulsan":{"contractTxId":"gkHPJnr0FMvxigN40-lq2ZqmfPBSQqT4be_bKJkz158","startTimestamp":1697320519,"type":"permabuy","undernames":10},"paulson":{"contractTxId":"hVx3WZ_BoH_e6YTnIx3Xei4HnG3MpVw2i7xlwpUYFI4","startTimestamp":1697312447,"type":"permabuy","undernames":10},"payments":{"contractTxId":"8aeg_JEx0N34ZsaLeyVzsTWfghRBAvT7g6R_yHVUwlE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pbillingsby":{"contractTxId":"PHSgR0ENDL2YbDeRQ0u7xPFKvZZkEeSYje5xYgpxz1o","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pdiomede":{"contractTxId":"tvdq7xPCyuNhUhNA_EKv6CYK9ET7PlQ_skWtOUy7EJ4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pdn-cached-name":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1713897545,"startTimestamp":1695161366,"type":"lease","undernames":10},"pearsonlucas":{"contractTxId":"LNAnQRRBmcKwVKVw0zWX74X4xEMKyL8b9LS0c3X45yo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pending":{"contractTxId":"sHqUBKFeS42-CMCvNqPR31yEP63qSJG3ImshfwzJJF8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"perma-man":{"contractTxId":"DW57pIH9ax9wPcyuleFhk2lKLnHK3R85gBPIiq-nFtc","endTimestamp":1723913705,"startTimestamp":1695161366,"type":"lease","undernames":10},"permabee":{"contractTxId":"LaejmltlGutjfo4Z5R3rouVmkGVjzvLjPRp49QuHevg","endTimestamp":1722532014,"startTimestamp":1695161366,"type":"lease","undernames":10},"permabeerrrr":{"contractTxId":"5eeWaBc337bQnbOZWqI4HaFQH4gMiLrsb43POppx1I0","endTimestamp":1723681456,"startTimestamp":1695161366,"type":"lease","undernames":10},"permabot":{"contractTxId":"Y28f7r-J3yoch6Bl2z_VM-YDxzRXxds4t3uI7XV05IQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permabttdddddddddddddddddddddddd":{"contractTxId":"oZ0_wgs7g1laDhOGa6zRlK8VuBFlWne3GmfKE9F8fwg","endTimestamp":1787548671,"startTimestamp":1695161366,"type":"lease","undernames":10},"permabut":{"contractTxId":"GToCLdUMpIQHZXKVMF_L9NctUt2-SmFu6fv0EJzFzcI","endTimestamp":1816969802,"startTimestamp":1695161366,"type":"lease","undernames":10},"permabuu":{"contractTxId":"utpIsZRiEqEcbOcDuwHavoTPlunVJnrm_9u93Yph4kg","endTimestamp":1722355529,"startTimestamp":1695161366,"type":"lease","undernames":10},"permabuy":{"contractTxId":"Ke4ZrGrFGFqnUBuJ401eLnddwkQau2KCVsnvqM3fvtI","endTimestamp":1730407398,"purchasePrice":1890,"startTimestamp":1698871398,"type":"lease","undernames":10},"permabuyddewdw":{"contractTxId":"VnQNENs1mcNnQBPuYEQJ-rBqE3Y4yI5L3VSgbK2c4Io","startTimestamp":1698106326,"type":"permabuy","undernames":10},"permabuydwdwed":{"contractTxId":"0SrGL4SI1KyUdvdfnsJ2iZHtzybXpDWavN3HSpDVgUE","startTimestamp":1695161366,"type":"permabuy","undernames":10},"permabytes":{"contractTxId":"M-Y9qGWgP5ZlJeWqwM8il5mxfAuXtq6BlKYKsxr6SDQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permacat":{"contractTxId":"3Bcy8p8wVrz4aSgkKvsvjgtwWfXOBjDyiszvmPl8Ul4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permacoin":{"contractTxId":"NO9JPhcIjf9pEP1ufGrGbyYzaWNMOM6MC7tkJ4E7XjY","endTimestamp":1711198532,"startTimestamp":1695161366,"type":"lease","undernames":10},"permafacts":{"contractTxId":"PqrNcqBv6-9qrU0OqIi8SArZ2QsVs32J6lqL46ZIvjo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permafacts-alpha-one":{"contractTxId":"NaiJuyPwiA9a0OFdW56O72agnKyF_TEG0p5vR3Nma30","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permafacts-renderers":{"contractTxId":"gbK8zj5NFMCz27_R5fLh5i4_t4ksSBCs3KLtBCTSczU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permagate":{"contractTxId":"0hs_wdyVXzc8Vx9fzDInTcW1etYQFZjnycVs70lVlWQ","endTimestamp":1726196620,"startTimestamp":1695161366,"type":"lease","undernames":10},"permagate-io":{"contractTxId":"Njft_iOAp-flk0P0HLKEgPshFntuvwQqe_lRiu6pGF8","endTimestamp":1729704424,"startTimestamp":1698168424,"type":"lease","undernames":10},"permagate-io-2":{"contractTxId":"cem9chMgXjcAX4WdLiDDqNryhgKK5bJeNUesyL-kK_M","endTimestamp":1729704662,"startTimestamp":1698168662,"type":"lease","undernames":10},"permagate-io-3":{"contractTxId":"iXMGr0Y_21LWJAOGXhJ9k6KCOkJN3CCv8fxdE5HsVrc","endTimestamp":1729704930,"startTimestamp":1698168930,"type":"lease","undernames":10},"permagate-io-4":{"contractTxId":"CvkPOPr2ujHpeHL9jE-LExSn_CrwW2nelJNRpXozKxg","endTimestamp":1729713850,"startTimestamp":1698177850,"type":"lease","undernames":10},"permalinktree":{"contractTxId":"dMT47KxROTR135s7U51HzSSLeqxkfJoo0M_CudSWEks","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permamail":{"contractTxId":"LjD08pUuwa6enbgnXOVlqXvPOj2s3BHfhBpG6y5FIf8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permamailtest":{"contractTxId":"X7cR9raXAmCdRQuaRL3I3YZwZs2Ini25RAtXdiTL-kU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permanet":{"contractTxId":"v90RU4euoCzAZ5ceg6YvnVGgwGK3yF1qr0gm9TEQjOc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permanotes":{"contractTxId":"SyFmFDXKQBSgSOjW28oWVUiQm4JaoGAnPirUQd6ju_I","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permapages":{"contractTxId":"npQ8E_DEYqYK2HYHGyvE-Wfe6HRtbN4XVugZhaU87Q0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permapalooza":{"contractTxId":"vndmF0QVHa-vuJzHuf6l7MLyCSQgKa5dUzN_iuOQCsY","endTimestamp":1714680620,"startTimestamp":1695161366,"type":"lease","undernames":10},"permapals":{"contractTxId":"Nqc7zbCskoqv5mysDoUtez8OlDyWULq2jxvoApYi17w","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permapaste":{"contractTxId":"ykssYuyJwFpuvfyL5hIUQiJSJS9AmGCSD-LwgVAREVE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permatree":{"contractTxId":"dP3br7f_AQvaOVD4R8Mbg0wEoZ971xGuuquIczUn7H4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permatweet":{"contractTxId":"PAsWdSkxq2lmyugWl5wyfIhxaBjK9BvbdCTXd3Ml_pc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permaweb":{"contractTxId":"-eXxFOVDG6njolnd3V1VcIdqG55cuni8-L0M7rN1OzI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permawebjs":{"contractTxId":"F0a6QUTIBPPopoPVvjE8bV2u6xwVtOxA6KUKe2WjxXo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permaweblink":{"contractTxId":"HHGg21NayUzv0CFOry6jP1q7MFPj15ew8tOymCCqvMg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"permawidget":{"contractTxId":"L8KIAtSoVBLqFY7LAQSE1PVyx2d5hgNUliFT1KbBC5g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"peterpan":{"contractTxId":"uHL8grnEEtBLPVkGtqcvWhLDiV4c5Ktiz-Dv8Fnuy9s","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pewypewpew":{"contractTxId":"Io-B8aw5s8qoGKTbrgbO064xnfRtwGM10y6KOcYikiI","endTimestamp":1729648478,"startTimestamp":1698112478,"type":"lease","undernames":10},"phgarbage":{"contractTxId":"5IfIxicH7j22ctoStlzVccCydgHoI-uZlml6FK79vOw","endTimestamp":1731797791,"purchasePrice":1535.625,"startTimestamp":1700261791,"type":"lease","undernames":10},"philippines":{"contractTxId":"DhJq2_NDq0Z_xAh8z3rsSonFARmJLbGhpyrbrCAJJkE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"phosouplove":{"contractTxId":"xK_debc8uLaA1A7q3BTMAXKDATV2U7zIy3eANaE5BQk","endTimestamp":1731797791,"purchasePrice":1535.625,"startTimestamp":1700261791,"type":"lease","undernames":10},"photographer":{"contractTxId":"0-bQX6Ecg-ePwrCssZuwF4qamHAojOGtao8_cSOxuPY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"photographerdao":{"contractTxId":"FN4nPWZXGXn8MkAXU--i7NO8gohLh7I3q8Y8BCRzp3g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"phunks":{"contractTxId":"zOjunihfFTtr3KQpb1Ci3rlXxrPOWl9EQRayUR8s0Gs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pierre":{"contractTxId":"jMWBRT6r6qjai0AAVGO5x8o7DXQrrXZwczxdgPFVbjs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pineapple":{"contractTxId":"h982FNAPv1SBmFQiWG3jKp4RjaLC4NMybbJtMzMmIxE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pingpongdonkeykong":{"contractTxId":"mDeSzpVHAzimdPBfrK7fOSMvwcwlszDFzZJaayJwwPs","endTimestamp":1731182011,"purchasePrice":1256.85,"startTimestamp":1699646011,"type":"lease","undernames":10},"pingpongdynamite":{"contractTxId":"mfyU22y-LTGKO9q5njXqH7xKLskaflqkzwxLDxkSGus","endTimestamp":1730575673,"purchasePrice":1260,"startTimestamp":1699039673,"type":"lease","undernames":10},"pingpongpanadasauce":{"contractTxId":"UGs48y8w_tj0aWjngvLl0BU9wlgKLnHH35Tx6b8d6hQ","endTimestamp":1826296287,"purchasePrice":1200,"startTimestamp":1700152287,"type":"lease","undernames":12},"pingpung":{"contractTxId":"XW_PauBjZ2sfoimDphbskSln2IQ3ps2736VJ4GSLg8M","purchasePrice":157500,"startTimestamp":1699039887,"type":"permabuy","undernames":10},"pinky-swear":{"contractTxId":"hR_RUZnD20OB1hBXRTDPoWCu4VWhL-3dbbAfl2Qc1w4","endTimestamp":1731612895,"purchasePrice":1500,"startTimestamp":1700076895,"type":"lease","undernames":10},"pinky-swear1":{"contractTxId":"ezaCsloIZtBEE5Op5dGK2AwgBs0zSa6EzTXohoHM33U","endTimestamp":1731612895,"purchasePrice":1500,"startTimestamp":1700076895,"type":"lease","undernames":10},"pinky-swear2":{"contractTxId":"fZMhswoOY2Ri4EfTxdKDhYHZuMq3OaXJp8qNRveCnTc","endTimestamp":1763149051,"purchasePrice":1500,"startTimestamp":1700077051,"type":"lease","undernames":10},"pinky-swear3":{"contractTxId":"fEaaLH6RE2qZeSTyeiy2oGgPG6GPrWI5SDZwXxKeo-g","endTimestamp":1731613051,"purchasePrice":1500,"startTimestamp":1700077051,"type":"lease","undernames":10},"pinky-swear4":{"contractTxId":"R62HXDBn3Hei9ootjFrSKXnQzgVROO0nHPhE7NWxoLI","endTimestamp":1731613051,"purchasePrice":1500,"startTimestamp":1700077051,"type":"lease","undernames":10},"pinky-swee":{"contractTxId":"_pv3rNA-VHhVoaad6WTEEqOTq3JhudPN2C4-Dmdi7fM","purchasePrice":2500,"startTimestamp":1701390291,"type":"permabuy","undernames":10},"pinpang-pongpun":{"contractTxId":"W28pY1Fq5s9i--gGIn2MyFy5QMJvrhLb8Aa3zcDNQQs","endTimestamp":1731688359,"purchasePrice":1200,"startTimestamp":1700152359,"type":"lease","undernames":10},"pioneers":{"contractTxId":"uHocjRNLG4O0f8-iM0KIEJbYJpXYWOUWN3ycJ4b9J_M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pistachio":{"contractTxId":"I8GJNhRZKl-H8WiJlncHEqYJKqTdkN1I02EVSRyMbQo","endTimestamp":1727032385,"startTimestamp":1695496385,"type":"lease","undernames":10},"pixel4te":{"contractTxId":"ND3PCW-vCM_FWYOAqtHpwtS1Ad13aT1-XiCrUTmd9tM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"plumapoetica":{"contractTxId":"31Sbi3A8gLeYVvdIoH-msrZ0NeCEWgFWLOSyqXgBPmU","endTimestamp":1713132213,"startTimestamp":1695161366,"type":"lease","undernames":10},"poe":{"contractTxId":"y94xkxa_Gs2MCD4wDtXKzkTCsCYI99VX8NLdabtvEmE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"polygon":{"contractTxId":"KXBa9990CHTyqritCjvY1QGgczqMB_E1xXsDqnr_SEk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pornhub":{"contractTxId":"ROv0Ihc7ld5eCiVUDMYKolINZIlTH6Fklwyp--2IGug","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"poseidon":{"contractTxId":"BJQsznTANMaTIm1BN5F6KsvOQgi7kt-mRWrBuJNixnE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"press_metaweave":{"contractTxId":"h2-SypMpu3p_bwVa89BtlQvS95N_9dgAFrhIUXsd7wE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"probablynothing":{"contractTxId":"TXGJUvMoZVNmww29wqJZA8vlVLsdK7GsSGm5wJMb-08","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"profile":{"contractTxId":"2a17-RiM-OcX6Amrx0q4NQ4aJAbRgA7r7npe_RLJgG4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"profile-image":{"contractTxId":"LIpw1FVOhHaMsgj_jS6Yq3X_rW_4WSr7mLcVDUBl0ro","endTimestamp":1714185976,"startTimestamp":1695161366,"type":"lease","undernames":10},"profile-pic":{"contractTxId":"7OAteazudp3zJ3H762c33uTu2aFpiMmyNMri95pd1Qk","endTimestamp":1714180764,"startTimestamp":1695161366,"type":"lease","undernames":10},"profile-widget":{"contractTxId":"pG6jTMtNWqCHAcPLTdOs7jGzppAV2U-ToIsCbcLcdyU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pst":{"contractTxId":"5H0wvyJzmNrzASrS9FtPlhfteS7_rCN9nxSeQPvXWVM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"public--------square":{"contractTxId":"_XV-aBG3pheMEJYrNHcgWA28esctPyaR2MxzE1nQz-E","endTimestamp":1712940521,"startTimestamp":1695161366,"type":"lease","undernames":10},"public-square":{"contractTxId":"4AAZGnTP_KiQvbTEkMvM7CdTUK6GQShjGJADGwLorlM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"publicfashionarchive":{"contractTxId":"f7D3eHEDzmJ3yZHLtPnHz8jFCvg_qqjaBssGRMteQM8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"publicsquare":{"contractTxId":"fPo_vN7plznV2QYVbOWmvAwcOCANeec9oS1USMK-tic","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"punjani":{"contractTxId":"QJDwGbFSJsXauOeAvwldcXZCJpeQ7fjoLSFCueCvCpo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"puremattness":{"contractTxId":"aBlHjnKYI0_sXBp_qpKp1GOYfq4TUuacO_KB4-RrEpc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"puzzlewear":{"contractTxId":"cdb9iMvB8dkN5eKL-znjGp9uwJ91XC5CC5JTAnYH3z8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"pwoseidon":{"contractTxId":"fUbJZdu93SQhJGih_4NT3ndyTdl0EvG0N5OYeSS_pq8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"qwsqws":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"qwsqwsqwsqwsqsqwsq":{"contractTxId":"IEf5XHeJW53yQANut4y9G6ftNjXa_9quajPHMBvpZ78","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"r34r34r34r34r34r":{"contractTxId":"mFlGexRNNnIh6JKGQR0lIm3tLwy_rmbJlCfHxuWGJmc","endTimestamp":1728517633,"startTimestamp":1696981633,"type":"lease","undernames":10},"radioevrazia":{"contractTxId":"Dou4WEYjhs_-EwlAMA_7b3GRIk3gjCTD9dPqg9EaGss","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"rainbowfartfactory":{"contractTxId":"0d8_S1dab1KmPnXMHPwHl0yeK3v1WQVRSmxBGwnt3fg","endTimestamp":1724467947,"startTimestamp":1695161366,"type":"lease","undernames":10},"rainbowtoothpastecommerce":{"contractTxId":"hm39juWOqFWJUTyAAqQLA7BAs35ljlETjF7S613js2s","endTimestamp":1724467605,"startTimestamp":1695161366,"type":"lease","undernames":10},"rakis":{"contractTxId":"pL4CGP6tNJZRcs-h7vyoU6UlC48AGiwqt8wnUgOliSE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"rakis-me":{"contractTxId":"E0Aat6fRC6pEPsCVZy1RhvmOgzc3xV0_fdu5BkSIrjo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"rare-orb":{"contractTxId":"m3brLHm7_S8XrBdJVGwGvc7z5AIOgbGDQsB9tCA2Tew","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"rareweave":{"contractTxId":"_ufnZYtxC9tH5SgCcCDG6qku3dq5wpksTJ4ZGi1d_0E","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"raven911":{"contractTxId":"gAW1iRRXFKmjEl7gJiDh2E1tTiZi7LAxUEOr81JWrd8","endTimestamp":1718835002,"startTimestamp":1695161366,"type":"lease","undernames":10},"rawer-im-scary":{"contractTxId":"1SpLOAgRrRMkVVdyRyKWUducxvQiDNWRLUc1Fdxyczk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"react-------snapshot":{"contractTxId":"relXMji--tuH9qJPLfQPnGzqjmxyi3FqANAcI1UU8HE","endTimestamp":1712516447,"startTimestamp":1695161366,"type":"lease","undernames":10},"react-public-squaree":{"contractTxId":"yVuKRGv88-PMcfLL4FNJP5o17HuGgdwzdwhQs-ot5WI","endTimestamp":1713425535,"startTimestamp":1695161366,"type":"lease","undernames":10},"real---world---demos":{"contractTxId":"TU1JuKCBLSSn0W70VfO_h3t643Be5hlGqWse5JBZKuw","endTimestamp":1713093263,"startTimestamp":1695161366,"type":"lease","undernames":10},"reallyexpensivename":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"realworld":{"contractTxId":"d3EYbp3Y3gnhFLIumu1OlOaRwmROKLIkzccZ0v93Bv4","endTimestamp":1712160693,"startTimestamp":1695161366,"type":"lease","undernames":10},"realworld---------v1":{"contractTxId":"kgXdOCaXza8wlEu4Cb-2bLcMGjintGwFt9zWnu1XNkA","endTimestamp":1713031383,"startTimestamp":1695161366,"type":"lease","undernames":10},"rebar":{"contractTxId":"tudrGap6uMQ80zdFZsjAUkSp4Ea8YYsaKgskewqNWSU","endTimestamp":1713354091,"startTimestamp":1695161366,"type":"lease","undernames":10},"recaptcha-vouch":{"contractTxId":"YKAAtd3Qnh-MoR8JWH_Pwv1AcNlgugbire2p9EtFe6o","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"recover":{"contractTxId":"5W48X0BvG5pgwtJ656cz7akZC71B5JkXBKKvMmCBAM8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"redstone":{"contractTxId":"3mYCJ3U5TyDYr1LTtt5Q2ksR94l5rBH8pExc_34sw0E","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"reefer-madness":{"contractTxId":"w92MJD4Z0X5Yhrnyn3JoGQgzrv54o0EpAGE1x2cNMJE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"reefermadness":{"contractTxId":"0cbu5B0iUuNcd4SwnOIxRjjWxszqeIFgEKR8kARDNto","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"register-a-big-sexy-name":{"contractTxId":"Ay6oSDtsW_zgRoaL_7r4ezdefTOEPvhn-D5ZiqmMQvM","endTimestamp":1723655630,"startTimestamp":1695161366,"type":"lease","undernames":10},"register-my-ant-goddamit":{"contractTxId":"xdNiz9c3l-qfABgmT9MCNGHUUAiLnZAgMuAxaRRY224","endTimestamp":1731823324,"purchasePrice":1228.5,"startTimestamp":1700287324,"type":"lease","undernames":20},"register-new-alex-pl":{"contractTxId":"vPgl7aQ9gAurLa8wFLrH3atAZb7xr09LlmyQxQYXIYs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"register-with-warp":{"contractTxId":"FTaz52oBFijO6nyfp-4KJ5aUGXNu4HJECPXhyXI-D00","endTimestamp":1731822193,"purchasePrice":1228.5,"startTimestamp":1700286193,"type":"lease","undernames":10},"registeraname":{"contractTxId":"v6E_574FAzEYUe6hW6ERRJ4dJyyz34iRX4HSEyTLp9E","endTimestamp":1724376889,"startTimestamp":1695161366,"type":"lease","undernames":10},"registerpage":{"contractTxId":"dARJke68m78tDlLDinXwRtfWPZxoY1Ue4-0cQ4-28sE","endTimestamp":1724343703,"startTimestamp":1695161366,"type":"lease","undernames":10},"relves":{"contractTxId":"_moCDnC19Mp-pmzluv1tdppUHYeEUTJ7mk-ubP5R0bg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"render-attached-tx":{"contractTxId":"NbIVNRjw0WvqXAeMjzEjFQNRSF6YfDsufdSWFXC6vdM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"render-data-source":{"contractTxId":"YdsK4sWp9G8vJavJA5AtsJDk4Qv-F2GWhhw9xDs2cuE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"renderer":{"contractTxId":"Zcn8I0gPHnN6oZiSUnG5__nUgsVjTm2DKemQkKCyMVM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"repeat":{"contractTxId":"DJRZsxRUX2sEagImDiOpsgKM3tI4Nv1aBj7_Bob17Vg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"repeat_r":{"contractTxId":"yHzaq3_aZza75bOOQjljnEagxwP4A2et2IdC2jWlZz4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"rfoiherifhireufhre":{"contractTxId":"5zWoI2_Pd0EN6aQ0YxfN6vHOIh6EsnaURgyd18Kiilg","endTimestamp":1729964130,"startTimestamp":1698428130,"type":"lease","undernames":10},"rgergergerggegeg":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1713258619,"startTimestamp":1695161366,"type":"lease","undernames":10},"rickydata":{"contractTxId":"O8yL-6NMFXr0-2oS_zpEQhR8im4tY1FYJDQfMTYpzrI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"rodger":{"contractTxId":"j_236iAWJPGbuhhSh3e4Ws8q8vEwhnGntjcNHR0UQt4","endTimestamp":1728848491,"startTimestamp":1697312491,"type":"lease","undernames":10},"romantic":{"contractTxId":"EbGLHBUhWbwuRelesdOvuo_1Y9N9uGumX-4WkneoRwU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ropats16":{"contractTxId":"MNt76GT3hBB_zQb2AeEk1LNulZuG5i6WNtJcf-LJJB4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ros":{"contractTxId":"JmO9y2H2FVZ3oZcmGWxiGEWlRho4ieoo8iDUY3YmxJA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"rowdy------------man":{"contractTxId":"UNsj2ZFGvQpYtkjB4PikJUtgATil9_69HJ9eYprghX4","endTimestamp":1712692069,"startTimestamp":1695161366,"type":"lease","undernames":10},"rpss":{"contractTxId":"g_NyuXpP3eb8OU8JDXcXVz_MZhNjOl_6PQfMs4HsquQ","endTimestamp":1712678915,"startTimestamp":1695161366,"type":"lease","undernames":10},"ruh-roh-raggy":{"contractTxId":"j1jpdVNvfBUu2XKkBgVgILSgRFZbc5RFf768lzepx90","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ryszard":{"contractTxId":"dIfekZTTD-Ds2q_WeH8vNek_ICWP9PMwmQpNHDft1F0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"saif":{"contractTxId":"LbL86Fmd-094zyJuQkoR9m5CKMqQ0k2DYQkV8ZMIN-A","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"saintjerome":{"contractTxId":"6pc1dzYWnnKRSpcMHg7TuknhjH92CKZLgHjqI3r0nUI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"saintjerome-permaweb":{"contractTxId":"IXNlPvqokXJ_w4EZObCElDkhLdqVyHCpYTT4Kggud1U","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"sam":{"contractTxId":"JRlbzWbl9J3MDdobdIxkvfX4IC_VFCrNw5kuz_a8I6I","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"samster":{"contractTxId":"974rTnNhBfitZ3RePLleWRK5UL11Xp_HjpncNq-P8Uc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"samuel":{"contractTxId":"kIEXTCoPsxTEEvq0OQ27N26AK1z1egpJLwdx0umg3_Q","endTimestamp":1728848687,"startTimestamp":1697312687,"type":"lease","undernames":10},"sarah":{"contractTxId":"hnCxd1UbA4gFSpfKLXchVdyB9w3bOrCEnvHNspqhnmI","startTimestamp":1697733519,"type":"permabuy","undernames":10},"sarkar":{"contractTxId":"wRMAVA3PspYcxxt-CFIuE9X9PUm_Ycfi1vL7SPXaCOs","endTimestamp":1712299839,"startTimestamp":1695161366,"type":"lease","undernames":10},"sart":{"contractTxId":"d21_wPBk_BjdpEkV9gU_iGlBS8M6ymst4K47t3cYGJ4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"satoshi":{"contractTxId":"OIblYmy_YNMLXulEjCs89RpuNfDX_szQYQNleQ8emdE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"satoshi_nakamoto":{"contractTxId":"DKPsZn5ihxw_Em0B509Wt0uTws9VUCpneDWDxbjnoAU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"satyvm":{"contractTxId":"UIKKhVAF1Vb4lp-rxsvyjfFpSrnB0JJkOX-AbAZTTpI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"sbigroup":{"contractTxId":"4fvG9XTnkDT3QT8qsVuhozkyKc1gJ9pJNaWRCdreB8o","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"scar":{"contractTxId":"EHji31uvgYhUpXr50V5qcZ5UfMEAn7ixJKyLsoSpzY0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"scott":{"contractTxId":"OPNUvYidL3Bc-0df4mdLPRB9R7_eA0OLbFJIDA09N_8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"search":{"contractTxId":"n7vFWfO6QfoaFpoacRkpJkrCkppjfmpK-0l-jeolLCo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"seastin8":{"contractTxId":"SwLCDNjLzaibnmwbqalxOtXraz10V8Ya-5r-UEEuk18","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"sentry-sees-me":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1713633344,"startTimestamp":1695161366,"type":"lease","undernames":10},"september":{"contractTxId":"6BiHU5COkJtcBBL5XXdtYITcnAsqpL5R-PQRjWNO9ZA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"shapeadventure":{"contractTxId":"Pz0lVeVIXnaKmFmbHoYwimR9eqtKE3QFBw_kPeJnwFs","endTimestamp":1716384924,"startTimestamp":1695161366,"type":"lease","undernames":10},"shark-bait-is-candy":{"contractTxId":"PqQYhOAfLbWosd3j5CP1tBXCLEzOUz1XT2079Nic-aI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"shibbityboops":{"contractTxId":"6Ejd4QN5d8t--x_nkP_zlaTGUPkTcU6zLsXNevP34Ng","endTimestamp":1724511138,"startTimestamp":1695161366,"type":"lease","undernames":10},"shipit":{"contractTxId":"iZMAy1sug8EBW-9wE8uCNQU8YF4Pj_lZku-p3p412iI","endTimestamp":1718917852,"startTimestamp":1695161366,"type":"lease","undernames":10},"shitebucketsofcrabs":{"contractTxId":"F8YOjav_EbvPP3nSJWqQnN_0b73EZm_zwjuaYTmvcWc","endTimestamp":1724465207,"startTimestamp":1695161366,"type":"lease","undernames":10},"shoopedwedw":{"contractTxId":"YwfN1VAPdRU8WAaPbPfRm5JG1Qhi5KDbyLqjS2H7fMI","endTimestamp":1726598260,"startTimestamp":1695161366,"type":"lease","undernames":10},"shoopedybop":{"contractTxId":"Y51FVUkNCcXsRQ7qeEomLTYvEtk9BZHgv1LZ_y1ZYyQ","endTimestamp":1725478605,"startTimestamp":1695161366,"type":"lease","undernames":10},"shoopedydoop":{"contractTxId":"GrHR4hK2u1ZvWxl3jghzhyup9WPGjHXcc2h2dJs73FQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"shortauc1":{"contractTxId":"AZj7JVBTGDZ__IfA_LSsHeoQ0smt2bESVI7E7mZaUqs","purchasePrice":12592.913409,"startTimestamp":1699374544,"type":"permabuy","undernames":10},"shortauc3":{"contractTxId":"XulkQ-QSp48t877JIOl4ljZBh70I2iiBcpbpQPjMlK8","purchasePrice":131250,"startTimestamp":1698967507,"type":"permabuy","undernames":10},"shortauc4":{"contractTxId":"brbpzA1-oAR4X-MRJlgIfglLd1XmBnyHD5V6gO_CDcs","purchasePrice":131250,"startTimestamp":1698967507,"type":"permabuy","undernames":10},"shortauc5":{"contractTxId":"VwN1ITaWlKbzYvisOLhRTSvBQieou1rNJDHqvf4HhvA","purchasePrice":131250,"startTimestamp":1698967777,"type":"permabuy","undernames":10},"shortauc6":{"contractTxId":"mL8kDaiXl4ocl0TNo2Out0GKAD68djw2TF1hKWuQBBY","purchasePrice":9583.571998,"startTimestamp":1699420580,"type":"permabuy","undernames":10},"shortauction":{"contractTxId":"C-aIqlsLbYoNaZ4nHrpWCD5633C_iKXMaEFFKnC7PYI","purchasePrice":2625,"startTimestamp":1698967161,"type":"permabuy","undernames":10},"shorty":{"contractTxId":"DxfMHGtI6NB4bOAu_jGRJQwDdcuRI5WC_5zDrPlsdoc","endTimestamp":1729788390,"startTimestamp":1698252390,"type":"lease","undernames":10},"shotbyisiah":{"contractTxId":"qghC4QySpVPCi3WIzJJPurckq1wkCp2iIJjplRCXCBY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"shroomkingdom":{"contractTxId":"fUVEP9Ng30meLH3rUi4HkKQGMKniwAjvsCccHHtuYsE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"shrtnme1":{"contractTxId":"zaPWjdq2CZm9r2UsuN1a0Bol1htHexwv9w8oEFVGI0A","purchasePrice":157500,"startTimestamp":1698969250,"type":"permabuy","undernames":10},"shrtnme2":{"contractTxId":"tBqg41-XxCWaOAtUtsVm3lQCailY59b02itg3_hAxik","purchasePrice":14771.487428,"startTimestamp":1699382675,"type":"permabuy","undernames":10},"shrtnme3":{"contractTxId":"PLzYqnHvUZo7E4hydm1Ky-gyjQ_afSYC6AV7md0dDq8","endTimestamp":1731813905,"purchasePrice":1890,"startTimestamp":1700277905,"type":"lease","undernames":10},"shrtnme4":{"contractTxId":"UhTRs2TXH-tG8wlktOGHbDCctjspVMD1S5KVniUXFOk","purchasePrice":3150,"startTimestamp":1700277905,"type":"permabuy","undernames":10},"shrtnme6":{"contractTxId":"LXhmDj_vQcsK-nm4pBgEDAzhyGG6IADjK_JJNJVG8Wk","endTimestamp":1730521312,"purchasePrice":88263.695461,"startTimestamp":1698985312,"type":"lease","undernames":10},"shrtnme7":{"contractTxId":"DxMCcC0O8cAAeX9iWpfokqryzyUJ9gDkQa8WWnsiB58","endTimestamp":1731608195,"purchasePrice":3683.902454,"startTimestamp":1700072195,"type":"lease","undernames":10},"sicktastic":{"contractTxId":"6JGE0fpYbHKZUh1Mgr33koEPK7YBZUUgezQg9CUxXcc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"sidekick":{"contractTxId":"sk7ZLa6mBGdg-jCUhXZ9E8b2sTxTry12ZWeTnX_s3K8","endTimestamp":1711539618,"startTimestamp":1695161366,"type":"lease","undernames":10},"siegfried":{"contractTxId":"Y0SvLMV2RBjRDgr3JREICEPjWa0vZPRhWwbJInQRuQ0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"sigil":{"contractTxId":"JWy1pumOYIuEwyEJGdCqec2BQOwbVnPTyf_D8One7DU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"silanael":{"contractTxId":"Xqi_ZPR6o_N_L_JQVArbs8eynZywH1_-5iTXQnL_8JU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"sinejkee":{"contractTxId":"r-H4fKP4gggJzRIGLVIpvlkVwd8rBP987UjkeGKvRrY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"singapore":{"contractTxId":"XILwNOsCxvOrc1uInwvycG_z9l-SxPGTcelZuV70n00","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"sketchandcode":{"contractTxId":"hdlXb9GIMARooy1MOk0RU8n88CUaAUoWJscOdztAVmo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"slipperyfish":{"contractTxId":"y9ixuAu1T83zhUFHgq9WAbZdMVyPFmDfbY1mRUVqW6Y","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"snake-nft":{"contractTxId":"5AJV2Gl8ZsCd_HLnhgthyeKPdIyesjf6H6gqsm_rzhk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"snapshot":{"contractTxId":"lDkhQnALrlxzrq4egGAQqRZJ2fa1agNjDF6zmTk3Zl4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"social":{"contractTxId":"h-Pbr1T7JUUzL7gWAEsCeb_a7wH259oOdCe_FHACyTg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"social-icons":{"contractTxId":"KNiw63lS9Kb3wV_cuVzSQb92f65VctMaxoVliJJ7HPU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"socialnetwork":{"contractTxId":"VmwF1NDAKnyJjxm_Hw4vZZrkyvCygJLY_2mQ3GVHQ-M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"software":{"contractTxId":"sUpg-FQmU6X6mss0VANeRGO4m5SrlSEbZmF3HpcncGM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"solana":{"contractTxId":"hhFx7fMoe63dW_PTyUnE5w_Q_EHodPgdfunRr3NBbg8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"solanamobile":{"contractTxId":"ZEBwZGxQmC_rpfnWEF6CQ5dxNcTE7qPOHkESJeWtT80","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"some-new-name-for-te":{"contractTxId":"PqQYhOAfLbWosd3j5CP1tBXCLEzOUz1XT2079Nic-aI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"somedomain":{"contractTxId":"kueElHKeRZ5m6dc-X6gym6s7KkS3nGnfPss_Dc1xfH0","endTimestamp":1719513008,"startTimestamp":1695161366,"type":"lease","undernames":10},"somedomainname":{"contractTxId":"R-aikUrjOiHsQocTeIhG3HrYeTAu1Ur6YoNfDFFHPTU","endTimestamp":1719513008,"startTimestamp":1695161366,"type":"lease","undernames":10},"someintstandbuynamc":{"contractTxId":"gDKL24Lg-f4Kg6p10CvAjtQ6mb3p5L5WJewrfZigVYI","endTimestamp":1730505696,"purchasePrice":1260,"startTimestamp":1698969696,"type":"lease","undernames":10},"someintstandbuynamd":{"contractTxId":"L6iNYVczc77lhx4S8zQ-UDH27f53I8FlqeR3JEusT50","endTimestamp":1762041696,"purchasePrice":1260,"startTimestamp":1698969696,"type":"lease","undernames":11},"someintstandbuyname":{"contractTxId":"gDKL24Lg-f4Kg6p10CvAjtQ6mb3p5L5WJewrfZigVYI","endTimestamp":1730505696,"purchasePrice":1260,"startTimestamp":1698969696,"type":"lease","undernames":10},"someintstandbuynamf":{"contractTxId":"7AxG6p0F7mCm87Ruwjs7MzMD8GJWD_wA-1KfmGbmVVo","purchasePrice":2100,"startTimestamp":1698969754,"type":"permabuy","undernames":10},"somenewdomain":{"contractTxId":"kueElHKeRZ5m6dc-X6gym6s7KkS3nGnfPss_Dc1xfH0","endTimestamp":1719513008,"startTimestamp":1695161366,"type":"lease","undernames":10},"somereallylongleasedname":{"contractTxId":"HVfldGfIh6opuVmsv6BjXUTlm9G-Y6xCJ9gXC476Vd4","endTimestamp":1730477593,"purchasePrice":1260,"startTimestamp":1698941593,"type":"lease","undernames":10},"sonarsmash":{"contractTxId":"cwDtGmLtFdC1P2ofZrGhVkmcQRPHYJ5nophS4Zv-qnY","endTimestamp":1716565535,"startTimestamp":1695161366,"type":"lease","undernames":10},"sophie":{"contractTxId":"xOj_DZfHYnaazQa6l1XURw6jTzbs5XudCk82I6as-LQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"souvenirpixels":{"contractTxId":"FobpXNDdll-ExNhmzmUTIEMURuH2vjtG-GXanMy-Rv8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"sparkle":{"contractTxId":"Rw5PMFyf1Okg8Nj4wYt4DuxjjHow-u6oSBVlsH0VYGw","purchasePrice":249810.071802,"startTimestamp":1700071882,"type":"permabuy","undernames":10},"special1":{"contractTxId":"IewDToAy1QUW8vsrJlMe7ve7Q4SGNC1BMlt2Q3E-oaY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"specs":{"contractTxId":"mnSOQ7Vqj4SCBDs9LDpsSoBjGG_Az8oCQ3T_rCVJMEQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"sqwsqwsqw":{"contractTxId":"60idufRzXTVqZK5PLjCa_ZiIWPWvb4dnw8G_6IOXqig","endTimestamp":1711206524,"startTimestamp":1695161366,"type":"lease","undernames":10},"stamp":{"contractTxId":"zoMuqIBzl4c5ZD5Spy6i9sVQ7Wy9bAuJEBeMPJwe8pc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"stamp-frame":{"contractTxId":"H3NDQ-m6F3EzISdxw60p2MnMg8ELXGBkrH99PQtsoYw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"stamp-log":{"contractTxId":"6oqBza_Qv4WNAc8AUPWUBUWuzGUHVTbb4yHJuYD719c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"stamp-widget":{"contractTxId":"sGI-dHAcsZWoUmsp5lxj9kQb5vWIosK_1gykaa9jjeQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"stamps":{"contractTxId":"GEZJbx5OPiDLfZlwdrxvO7vmj_0BtSEg6JJsoSEh3p0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"stanleycup":{"contractTxId":"CDqVivXdzjBwvwJvdafNK4elYXVRm28BtV19uz49TS8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"star-hotdog1":{"contractTxId":"w8byR4NxYcfgpM2Gzkid1jfvrul3DjfNqN9ShxbRxME","endTimestamp":1731620815,"purchasePrice":1500,"startTimestamp":1700084815,"type":"lease","undernames":10},"star-hotdog10":{"contractTxId":"DdT13QL3BOCvSLpLCzBu5ZY6ddHZFLmQ_lfZXpjVlCA","endTimestamp":1731622313,"purchasePrice":1200,"startTimestamp":1700086313,"type":"lease","undernames":10},"star-hotdog11":{"contractTxId":"HmTYW73lO0BXcTndYRp3-q0g0uCjVws72Lr4li73Pwc","endTimestamp":1731622565,"purchasePrice":1200,"startTimestamp":1700086565,"type":"lease","undernames":11},"star-hotdog12":{"contractTxId":"KhofdDMuLIUpQzzzbrVqXDVq6AO73HZkrbSze0kOxvs","purchasePrice":2000,"startTimestamp":1700086565,"type":"permabuy","undernames":10},"star-hotdog2":{"contractTxId":"hU3ewGFJ4W4PsDw5Ia4JrsPP4VwQzwJg7Iv1JWws3sg","endTimestamp":1731620815,"purchasePrice":1500,"startTimestamp":1700084815,"type":"lease","undernames":10},"star-hotdog3":{"contractTxId":"bbIYoF7gUOxbI_hC9U3m-yzTe_It6LUmpOH5WnI6tIY","endTimestamp":1731620815,"purchasePrice":1500,"startTimestamp":1700084815,"type":"lease","undernames":10},"star-hotdog4":{"contractTxId":"NUjT2GRiFv0cCEOEg5tH9M6BR9V3l3WY2DAK_lYv6dE","endTimestamp":1731621175,"purchasePrice":1500,"startTimestamp":1700085175,"type":"lease","undernames":10},"star-hotdog6":{"contractTxId":"q3fA4JNx_qy_U6nWZnfi50x7hnUrzgB6ewU2YMVT0aU","endTimestamp":1731621687,"purchasePrice":1500,"startTimestamp":1700085687,"type":"lease","undernames":10},"star-hotdog7":{"contractTxId":"_Moy_SwMMh-uasTNeV417vXlyIVugc9oeG7wKDtaoDY","endTimestamp":1731621687,"purchasePrice":1500,"startTimestamp":1700085687,"type":"lease","undernames":10},"star-hotdog8":{"contractTxId":"Zy5CehElfpoyCV_Lgtro8T3RdNwwfAh1WMx9RAvKmiA","endTimestamp":1731621951,"purchasePrice":1500,"startTimestamp":1700085951,"type":"lease","undernames":10},"star-hotdog9":{"contractTxId":"9tm29Y-LA0yXHWiJLaPF6AAEU28pSLZw98LXd_ioIFM","endTimestamp":1731621951,"purchasePrice":1500,"startTimestamp":1700085951,"type":"lease","undernames":10},"stars":{"contractTxId":"SLx_DqDQzcUYZxtNZwmWgaza4B0xJiJcUIotj8tYWmw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"steven":{"contractTxId":"jf_xnDSssdKybCXlzIzRz81qX-DRIElSRVjXQXvt-cY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"storage":{"contractTxId":"JQv8TxfaukYaQ8TMioAjcyMBpAvd1-MmrKSn_OnTzTQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"storage-dataset":{"contractTxId":"du10_OJvKEw531w5FB0Je5IKnQXgIS2NBU3zoRyUWpA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"stories":{"contractTxId":"X34fGlxIB-lV7NVW7DPDoyFmqyXSAHgMk_r-Qd9awD4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"stray-cat":{"contractTxId":"EM5t7Ah18dFMApqf3vWJS-cu46SYOurCyH9J_W7_X1k","purchasePrice":2500,"startTimestamp":1701464323,"type":"permabuy","undernames":10},"stray-cat1":{"contractTxId":"8_7dAp2odEAK-eTO5qVRVVY5CiVm5-MTkJVT9UuYL00","purchasePrice":2500,"startTimestamp":1701464323,"type":"permabuy","undernames":10},"subdomain--are--late":{"contractTxId":"OH6QHt-_IrHr-PTAa6Sq_SHRd9mQJ8pMJf4TwJaLveY","endTimestamp":1714812645,"startTimestamp":1695161366,"type":"lease","undernames":10},"subdomain-test-arnss":{"contractTxId":"uuURNx_jRyRtPNmi6r5UXZOYl-fd-QS_3JnmcTObbDw","endTimestamp":1715150888,"startTimestamp":1695161366,"type":"lease","undernames":10},"subdomain-test-bundl":{"contractTxId":"1f5KIWRdbnUdDDYTw2dHO6Z9epQKoms-H7R9rZA8mC0","endTimestamp":1715147076,"startTimestamp":1695161366,"type":"lease","undernames":10},"subdomain-testarweav":{"contractTxId":"ck_OgexzQD3cBui9ZXmXyPngmWY38HxvcO0A-0S3KYw","endTimestamp":1715154127,"startTimestamp":1695161366,"type":"lease","undernames":10},"summerglasses":{"contractTxId":"AnPuPYdTmsi0rE_7jFmzjr0lTM8RPr-qL9LZPueqBgg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"sunday":{"contractTxId":"xK0HBRsH1AQYI3arYBxFzPDhJPwqtLUP8NHlzRRInFI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"super---real---world":{"contractTxId":"y9RGxT1jfHb1PxggXkOa165C3kz16Et_7Tv7G7yLGKA","endTimestamp":1713039569,"startTimestamp":1695161366,"type":"lease","undernames":10},"superdemo--the--best":{"contractTxId":"4UF4XJfUxMPZdC4EKkygcuvT-WhFMTYAr2C-t6AtYQw","endTimestamp":1715169727,"startTimestamp":1695161366,"type":"lease","undernames":10},"supersecretevilmega":{"contractTxId":"SuP9O26LRGIzax4GduqMlTXzESA1CC-bbEb4SCPLmeA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"superseuperduperlupe":{"contractTxId":"ODCT3_s7pvAEKrg7CkUkDCiXG8BHpjzeX-yiwi2qDy0","endTimestamp":1713303046,"startTimestamp":1695161366,"type":"lease","undernames":10},"supply":{"contractTxId":"ianZSFWDhQpw8N7KgwKr4qnyC2kLEssELWWNjWXWP24","endTimestamp":1718101436,"startTimestamp":1695161366,"type":"lease","undernames":10},"support":{"contractTxId":"xeFaFzCQwJQU4mOlkNRa30cj9MjH3xhO3rVDkEaYP9I","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"suzyonyirenda":{"contractTxId":"a4kPr6OgGL5077rRdgNgC40L9cWl8_LGagB9EH-wV28","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"swag":{"contractTxId":"XXgOvDo8O2v0adZnkKkSmMcpdEgZy4JfU4GiYndAi_c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"sweeeeeeeeeeeeeeeeet":{"contractTxId":"RiQ60Xwhhfui7n6OUGXZpYOB7N3vOeZxmmDyEQRGsy4","endTimestamp":1713308036,"startTimestamp":1695161366,"type":"lease","undernames":10},"switzerland":{"contractTxId":"sk8f5jg62bKKQq-YfiSj4kj1j84MdQfydWhJeMR57eI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"t8":{"contractTxId":"Vuta7ecfZTg7OC_mUMwYmzdPMQ17RVvraDsHHU1yjVU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"tabassom":{"contractTxId":"qQ6A_LEms1unxBrHspJcUVmWRp6vLmk-kUzVhl-elcQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"tabassomargi":{"contractTxId":"GChhDamPQ6Mq3jt08Z_EymSgQIEcDdXnbdVra6jO2jM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"tate":{"contractTxId":"DwIyT89ZNn5tkrBRMchDAoOQT-xHxcpxUms2I30VPjU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"technology":{"contractTxId":"YXz1Z05tHYaJPub5mbt_CgU5ws0ZSpzqMP1lJTbPrAk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"tesname28":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715355051,"startTimestamp":1695161366,"type":"lease","undernames":10},"test":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"test-arns-bug-v001":{"contractTxId":"bDzLUNOCMOEcaXRyuGtg10-yPXnY-YS2cTpDIMQV3Og","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"test-name":{"contractTxId":"v3Du8GV0KTtwCCNyc0URY4wNWYQ0c4wB0X5eYPK-TMk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"test-pr242":{"contractTxId":"D9XEA1btmje5Oj0QpACrsrWpilgQbyhn8AxMlxNAKnc","endTimestamp":1718736154,"startTimestamp":1695161366,"type":"lease","undernames":10},"test-pr242-part2":{"contractTxId":"n7K_CzrMKSL0b_IP5KdFLo6QvHkhcV1NomQWW2Ue7iY","endTimestamp":1718807054,"startTimestamp":1695161366,"type":"lease","undernames":10},"test-test-test-test":{"contractTxId":"V4BdV1L_apqex3WCP8zz_g5gWx9Qahy4ktv4TUY1W44","endTimestamp":1728573098,"startTimestamp":1697037098,"type":"lease","undernames":10},"test-the-things":{"contractTxId":"WQlE-NXFKZHbr3yTrI03AHu06FsZEjLFUPAbjfyXelA","endTimestamp":1732920186,"purchasePrice":1136.5473622565917,"startTimestamp":1701384186,"type":"lease","undernames":10},"testantoneeeeeeeeeee":{"contractTxId":"yM16Nxk4hAOwf37mThDnW0JDyeBMBxT40uw4K1t4TD0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"testantthreeeeeeeeee":{"contractTxId":"uoFhvhRdcM4k0VvjaI7PwH7ZZl6s6J3G67CWIb_DvlE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"testanttwooooooooooo":{"contractTxId":"1I21m7bk_mLFMr3R_tgdxs9IAYplCNHSdgGKhn9gfSY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"testarweaveapp1":{"contractTxId":"igLBuDtJ_T1EQaudSZ70HOsrwmsw-AIHf61EVcrjuQU","purchasePrice":1840.0853371117043,"startTimestamp":1702063266,"type":"permabuy","undernames":10},"testarweaveapp2":{"contractTxId":"Z8MhoC7VWT4OPt1suC8ANv7YQxJbJZktnk6WilHDVkM","purchasePrice":1840.0853371117043,"startTimestamp":1702063266,"type":"permabuy","undernames":10},"testauc":{"contractTxId":"r6T7HmhBT0O0FO4VaUbTHJmNJkS9K3ZGK4dG05i7AK0","purchasePrice":5250,"startTimestamp":1700276759,"type":"permabuy","undernames":10},"testfirstblogsubxxxx":{"contractTxId":"lAbZZt4ssug2yTcp_0Xv0zNQe5-1E-mDmINnnVy2fWU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"testinarios":{"contractTxId":"W8QErHU5JAz6R_y8uWqDzzRFgmm_txxyv9ewaL0706Q","endTimestamp":1857324879,"purchasePrice":2618.4375,"startTimestamp":1699644879,"type":"lease","undernames":10},"testing-controllers":{"contractTxId":"upNkBMsCusulD5HcUHa1hwG2zdy43ba739OLYRadvWc","endTimestamp":1727385904,"startTimestamp":1695849904,"type":"lease","undernames":10},"testing-for-pe4768":{"contractTxId":"r4jFEQMIW3qOka0qKnsaWxypt9QPPFSMwNadyJFKwm4","endTimestamp":1728508371,"startTimestamp":1696972371,"type":"lease","undernames":10},"testinglongname":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"testingpermapages123":{"contractTxId":"YWtTb3-PeBiH9LvgUlzI8mBVOBy0Xgnp6YmVny2VEtk","endTimestamp":1714671548,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname10":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1714580365,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname100":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715353700,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname11":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1714581732,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname12":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715131650,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname13":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715132808,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname14":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715132218,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname15":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715132808,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname16":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715134065,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname17":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715212137,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname2":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1714144368,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname20":{"contractTxId":"FTBCy7FIakfSYtKZ2yfgTecDKpxiH_CI-SBgtiwQHEs","endTimestamp":1715271494,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname21":{"contractTxId":"-NOdnNjkViGgsF7A98naG_UB7eVneX54kWkSV13ILfQ","endTimestamp":1715271761,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname22":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715276922,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname23":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715351760,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname24":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715351760,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname25":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715352220,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname26":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715353960,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname27":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715353960,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname28":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715354557,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname3":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1714145976,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname30":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715700599,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname31":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715702833,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname32":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715702833,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname35":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1716048090,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname5":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1714163301,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname6":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1714175841,"startTimestamp":1695161366,"type":"lease","undernames":10},"testname7":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1714180488,"startTimestamp":1695161366,"type":"lease","undernames":10},"testnet":{"contractTxId":"mLUvTgR_ApiPFJanLi1N6Y9urecqN4d1ykyiDBk2VaY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"testnmae20":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1715352672,"startTimestamp":1695161366,"type":"lease","undernames":10},"testtickauction":{"contractTxId":"N3bEo_6qic9cntW5at12CKacqkjD5x69L0kOjqk1Rfg","purchasePrice":2000,"startTimestamp":1698784348,"type":"permabuy","undernames":10},"testtttt":{"contractTxId":"InsNrCOv3gPL80R1Dwilrcp3Qlni7Ymy6Ssf_5qNdB8","endTimestamp":1711546501,"startTimestamp":1695161366,"type":"lease","undernames":10},"testwalletconnection":{"contractTxId":"k0xpCPPPvhkpI_I6SJQmQ72NuNzRY9BNY0KkKnXj2Do","purchasePrice":1797.3971546878672,"startTimestamp":1701895230,"type":"permabuy","undernames":10},"testytestertest":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1713592260,"startTimestamp":1695161366,"type":"lease","undernames":10},"textcryptochi1986111":{"contractTxId":"0scGT5F9sPT5n3Ciu299QRQKXyhtxRMbUawUAUODncY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"the-mtbl-informer":{"contractTxId":"kBmKsOQ4BoxS5dFwarSog52FbxLDJTwynbr0Kgaq9yQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"thebestguy":{"contractTxId":"JSIOL6M5zt8Q1bocWwj0IzSfQzqsp0D80JuDGKF9GZg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"theblacklodge":{"contractTxId":"N8FHG7p5ef0GoGtvKlSuQvx6RaDOxSA_wg23Hu2VkNw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"thedemitwor76test1":{"contractTxId":"DVkZ2o9qmiT70jnGewJlfz44P5kKumUFWU67imPr4SE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"thegraph":{"contractTxId":"sHzJIBJwVF4at-mpoz8UKtiPIwSr4XnH92IV2BiZ8yM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"theleaks":{"contractTxId":"5keVnIEnNZeO8DyIUjWGaow9wYZidYyW0MOgSP9Ne2k","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"thematteverse":{"contractTxId":"lnYya7sBVo-tAz73njWxnwxffmg4e9o7WgCdpQHsJ9Q","endTimestamp":1712342688,"startTimestamp":1695161366,"type":"lease","undernames":10},"themattrix":{"contractTxId":"vKf7M_jq50gAL5p5E0Q-9jeHxIW0NOFCB7ROOdWh-10","endTimestamp":1712342688,"startTimestamp":1695161366,"type":"lease","undernames":10},"thememes":{"contractTxId":"jO2thYk8cFERutqswh33i_d0R6X7aHwqQMFmJ5GXLYw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"thepermaweb":{"contractTxId":"XGb241u-fMfKMO0wW7wfu9AH_hRepFSO_nzMWSBe30c","endTimestamp":1717660005,"startTimestamp":1695161366,"type":"lease","undernames":10},"therootzone":{"contractTxId":"ZVWuCRJO7Rxn_rBsjlBsPQuPaaDpd7MDhGEjmfx3de4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"this-is-nextjs-examp":{"contractTxId":"7ftTdxaEH4B19hu_M_eOVf52ofVEMeA3nMd_-H4V-4k","endTimestamp":1714651544,"startTimestamp":1695161366,"type":"lease","undernames":10},"tickets":{"contractTxId":"EZSNExWD1yD3iEj0KYFvg8uStlbTgYgabaFAI8p0BGg","endTimestamp":1714674918,"startTimestamp":1695161366,"type":"lease","undernames":10},"timkot":{"contractTxId":"v5jDJMojma7HL6uvRHFNhCSaM3zC2jlBbScXKDPsdBo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"today--------------d":{"contractTxId":"HOw36izJV2-Ye-1p5q1wAf8_8aQbVSypixCsDoNw2Hw","endTimestamp":1712830420,"startTimestamp":1695161366,"type":"lease","undernames":10},"tokens":{"contractTxId":"ZM2dgyVtcXqSLmO-NpVJ4njbnbg5ELYIcXj76UE45dw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"tom":{"contractTxId":"ZhyevzIjGrJoC3YRvVCEUl_CYXZ2e_lIEtmVj-GCn8w","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"toolformerzero":{"contractTxId":"cvikAhog2g00cJiJsxfk3UpyeTyVNpITpk0bknSp97Y","endTimestamp":1712202042,"startTimestamp":1695161366,"type":"lease","undernames":10},"toolipse":{"contractTxId":"fpKy706K9LQ1tHUbAxqx0o_PWLWzfGtdCQVdXCnXNmw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"totally-not-here-rn":{"contractTxId":"_kI_NY7K-9xG6Y4_Tq6nAfuxbE3k1AuAaWVTefsO2o0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"tradingscience":{"contractTxId":"aghbXQwGNZixtTirkFP3ZU6WM-L9m_fFaK7M9-G15O8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"transaction":{"contractTxId":"Qz64uCki-8tMfeAuHF3iXdzCfKsERZ5zQm3JAyQmQPc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"transfers":{"contractTxId":"yZKkrgmsp_m7x2q1F6Ywly4wNONQgZL5K_25tg0Ki5U","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"treeofwealth":{"contractTxId":"D3snwPPNCg4y6Beout4JYoyjq8h9Si1w4RoRbbsU7BU","endTimestamp":1713281370,"startTimestamp":1695161366,"type":"lease","undernames":10},"trezor":{"contractTxId":"7Y6ApPgQpqOu8jiIMmcM125yi-WC5i9IT4OdFq70Qjw","endTimestamp":1715827344,"startTimestamp":1695161366,"type":"lease","undernames":10},"tribuscollab":{"contractTxId":"86zBh6fiKhDzDhjg0vwrXHTYfM75TgItQcq24cvCWX4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"trying----subdomains":{"contractTxId":"mQ1NVcn7A3td85qFEDplzx_reZ3SsZq5dkISEHSaHR0","endTimestamp":1714898346,"startTimestamp":1695161366,"type":"lease","undernames":10},"turkiye":{"contractTxId":"WoKmoCReo0UrOtfb8QDnelnPC6wKausWmUf5gavB2jA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"turtles":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"tusker":{"contractTxId":"oLG8gSVLpbDZcUANhfLjt8wDzoEsAgy1s5s1bcrtRDY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"twilson63":{"contractTxId":"4UfiwhzhFpPmr3jMOEZ2j9t9RLXxUFlwXZnugjUOnLQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"twilson63_test10":{"contractTxId":"JhCSJ4QSThhjYHdcBe0DirjB2XwI-po2GkYVxDP7iKo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"twilson63_test2":{"contractTxId":"tyVwFVzm0FeUHdfVDgBt8QLZGSMP2UwpQ4_AWhmzpns","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"twilson63_test4":{"contractTxId":"GJ6RQTCcmF6AKywFcfJ_y9id4-D8egc2zyrA0WCrwLg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"twilson63_test5":{"contractTxId":"8YeaqdugQMh1gPaHTNZiW1IFf4xsVRiIZPeKieXMGlc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"twilson63_test6":{"contractTxId":"EiADbgHZ00PgQM3r_nJ_Zh_PVvYX6pb40QHm1nBOpRQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"twilson63_test7":{"contractTxId":"UujqOSc-xm9LXGZzH81Qrd_NY_xlpDqQ8TEqSlZA3-Q","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"twilson63_test8":{"contractTxId":"gQh3NvMwYtz9G2WvFSBoA9ev9iunhJgNhZfvGx6-j8E","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"twilson63_test9":{"contractTxId":"6-IxneistIlJlvA2GtnoaKM-w6tEJnFSGq3tIcHlxwM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"twitter":{"contractTxId":"rXDoXJeCILRdTY-AhFSc794GaJwX8pB-qVrQiFGUHTw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"twitter-woxly":{"contractTxId":"F-ctzTXCy4Zy7kYu-AyebAfPRGQljspBL1PrP-8ehkI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"ty":{"contractTxId":"sn9YwjL_y3ti_g-ztEzwdpp78q6oFMJNy1yScMK-G44","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"tylerchilds":{"contractTxId":"Sr_jVTnCfPBWKSPMj2Xip6Mz4Jc1tbgvw8wynHG8GOU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"type-tantrumw------f":{"contractTxId":"NoSgW3c4KiSAJxujvJySTJcKQoqaBO7upgb4XHLt5I4","endTimestamp":1714179483,"startTimestamp":1695161366,"type":"lease","undernames":10},"u":{"contractTxId":"gsrcqcDAMq0-2mYg_QcvWerjValIIHnjDIDhuqjyIWk","endTimestamp":1717108702,"startTimestamp":1695161366,"type":"lease","undernames":10},"u-wiki":{"contractTxId":"pkuqT6i_PrrSitaoAZQU-DVpUWMgJgh2oLqjwoVEit0","endTimestamp":1717272860,"startTimestamp":1695161366,"type":"lease","undernames":10},"uhfewewahfkjdsdfsaf":{"contractTxId":"34m0yjke4uk8P5bx88agfrGm8G3uo5z6kRKO_UdRQvw","endTimestamp":1731606721,"purchasePrice":1200,"startTimestamp":1700070721,"type":"lease","undernames":22},"uhost------subdomain":{"contractTxId":"f5bjEzjScYqwxKyrvAoMMd9haMMSUfc7lYxa7A9TvMQ","endTimestamp":1713425535,"startTimestamp":1695161366,"type":"lease","undernames":10},"uhost--the-best--web":{"contractTxId":"iBGEGB3PzizvEm9d7JyUQ4a1IZiw1vO30e3zw1eouAE","endTimestamp":1714653415,"startTimestamp":1695161366,"type":"lease","undernames":10},"uhost-clone-is-heree":{"contractTxId":"HcFLoVwH4MfB3WWEvTP-RW2DCMcHQS1OGHflgLdfojI","endTimestamp":1714763634,"startTimestamp":1695161366,"type":"lease","undernames":10},"uhost-on-arns-arweav":{"contractTxId":"25TUngaVS2VDHhKaXVI2jz0LmJ_OCpFY9ZkUMdI3E30","endTimestamp":1714914422,"startTimestamp":1695161366,"type":"lease","undernames":10},"uhostermainadminiske":{"contractTxId":"qYNeMZt6OH6kyXBsc3-uctFXcsKUr8oSn9wcS6_IPcc","endTimestamp":1713470303,"startTimestamp":1695161366,"type":"lease","undernames":10},"uhostuhostuhostuhost":{"contractTxId":"tflRvbCNZAOpKwKn2X3FolaaS4TLthQNAOArsfNaidE","endTimestamp":1712305756,"startTimestamp":1695161366,"type":"lease","undernames":10},"uniquestock":{"contractTxId":"ZJVGxA6lhoSvrxg3C3ymcuUAuAvsFoGzjnT0rZb87xA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"unistatapp":{"contractTxId":"QcaXl9Q2UyOH0h3sudG8puwdBi0xl3z2CNhM6otN6H4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"uniswap":{"contractTxId":"TK3-dpEe4_o8IBKDxTYbYGneJi1K3BKnCgxUuPxb44w","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"uniswap_lab":{"contractTxId":"a-MpmWSgKX7QunzsWJnCeTcB5Md1uT1kaQxYpWTjpx4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"universe":{"contractTxId":"RLDEzpe19-Qs1cx_tatowY0OtYryV_unRdpdAnuSgrw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"unrollthread":{"contractTxId":"VC2HPIalEgVyicOEB97AT9HzXcz_kQog5ivvbWCUz1s","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"unskilledfather":{"contractTxId":"LM5-PvNni2AoYs_hIMBvl28vHKPuquiAZHUWYv9BaUk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"use-exist1":{"contractTxId":"cj8NtBX8sTVsdcso-ajPlie1gxTwbOzHdseuw5b-7tI","endTimestamp":1731864223,"purchasePrice":1575,"startTimestamp":1700328223,"type":"lease","undernames":10},"uyekt23":{"contractTxId":"ClV_DUwb3cQGcRS-ywpdqm6ulLsp_sMyCDHytQEb_rI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"valdi-eth":{"contractTxId":"izIKXI-db7nIJv72Jyf5ws3ATjsLn2qwC8NT2X6sN4o","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vanguard":{"contractTxId":"YszwYKN25aPoxwuiF2hyG_ahy80KRHzKTbBIGiM-IpU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"varmfamilytest":{"contractTxId":"8qDkt-KQONcoV-0tqVk_Wh-U19lIsypja4zFpdx821Q","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vellit":{"contractTxId":"tpf1Z5m6Rv1Qle78She3vceGJmpWGLGhHQPFEWqBNo4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"verto":{"contractTxId":"G-9kDVgfOn0dRykAPlfIet6k829C3DZAVJmqscMsWp0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"very-long-cheap-test":{"contractTxId":"pVqGAYKZ2Rzl0BIXbu2Drc9o-GBYmzDoeigTYA4JcNk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"verymuchtest":{"contractTxId":"BkwBiCWdXgiYqL-TrccHkJU6kLiWVXioQ25KfRMxdNs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"verynaughtythingsher":{"contractTxId":"kfGIHwA9fcUuDvsVmoXEGCJQ8QVN0VocLLuUBfajpj0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vietnam":{"contractTxId":"F1AFbkjSR7lmx5WtueXdjX-NvwGghjugYkR89cK3j7Y","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vilenari":{"contractTxId":"ceEEQp-QwEnds1-8PxVjdJ3b2IrTg9Mn5u4GS_tEypE","endTimestamp":1853095500,"startTimestamp":1695415500,"type":"lease","undernames":10},"vilenario":{"contractTxId":"8EpLUMK8hMZMd6hX8fVljvSoquPX4JHvekc5nKshlvw","startTimestamp":1696027277,"type":"permabuy","undernames":10},"vilenarios":{"contractTxId":"_l2gbTIYDmdEt8R6DsPndInjwTpfcRPcKhyzNpDqV-0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vilenarioso":{"contractTxId":"rhlQdi_6yNe94AJavzQ5_CDHhn0qUMZ9O4ACMy1Klis","endTimestamp":1726953290,"startTimestamp":1695417290,"type":"lease","undernames":10},"vitalikbuterin":{"contractTxId":"BjNnfweVuSCuU_FYVe_5W0soJo0FVrW-EIjDH8kWN2I","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vite-----------react":{"contractTxId":"D8hicIMz8_AryaaUdQ2vQxWvBWvaJPPFnSeAJSN_eXs","endTimestamp":1712515826,"startTimestamp":1695161366,"type":"lease","undernames":10},"vite-react--the-best":{"contractTxId":"Y7Io5RqZpmUQtTe_aiOKlPPyNVdq8rJW6uoXg6cV6Ks","endTimestamp":1713373501,"startTimestamp":1695161366,"type":"lease","undernames":10},"vite-svelte-vite-sve":{"contractTxId":"9RII1TLq5ZSEruObWnGHPIkwXHzjsqQpCGbieU7lhyo","endTimestamp":1712506531,"startTimestamp":1695161366,"type":"lease","undernames":10},"vote-for-rick":{"contractTxId":"5GKKFDGmkmhMNneThx7Lbj8sqawrv4hmE16tdERLY9E","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vouch-dao":{"contractTxId":"RsDTEgklWGQ0fdtP6dADQ8We8or8PhOqFqbCdqT5uUs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vouch-dao-v2-draft":{"contractTxId":"BqLfMYLxI10Artu_GiP2sVT6cxsYA4pWJ4876DlACDM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vouch-guide":{"contractTxId":"W0BSsXdTVD1KMpAF__fLkQESxyc_7STezDKdq2Da6Bs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vouch-introduction":{"contractTxId":"tTV7rN7qvIO2UaDp0DwixSGfRHgt-oGTcCh5KMhXqiM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vouch-twitter":{"contractTxId":"hUJF3P7RGY9al5WEiWS4qENNfGGbhu4Xp_zCFmFtzyk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"vouchdao":{"contractTxId":"P80DOdjG_EjWjsQkcFoJCRur5mcsO-Gigaa7Yt2DLP0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"w3layouts":{"contractTxId":"_ZHbA1Jkleam__vJiD9jFSHKkLO7H__nNZGYzGaUk8I","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"waka-waka-waka-waka":{"contractTxId":"oP485ERXuHnWEujMNx2fb3CSCWbB-qfVUHAlEUsENgU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wallet":{"contractTxId":"Bmd3dbeMD5oxLxgMJuoxd5Ihi1qnNI6Ici8-24gN-Vw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wallets":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"warcin":{"contractTxId":"ol60IoHnVlE-TRt4ljRp2lFtivMcsYlA-dMDQWGLBG0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"warp":{"contractTxId":"-Xetid3pwRC1ioBXG8uORVeLP_uCm6iTp9wcZnPmFQ4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"warp-speeeed-is-here":{"contractTxId":"J7wtPxXIn3innxn9pTQOSZyZXohysDVhdn7BgPuR0D4","endTimestamp":1714907757,"startTimestamp":1695161366,"type":"lease","undernames":10},"watermelon":{"contractTxId":"LeQwdYvBWwsPIcqojaDLaswE43nYCLWKK2JX2ScGJS4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wavelength":{"contractTxId":"2drG0kM9eHBA4KTEvJb1b_ngu1VcBxde-cKLpf0PVN4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wayne":{"contractTxId":"_IYcvGU0-1_GhMXb9jVvywgquv6fwPBEfxBbCEKoYWc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wchen6596":{"contractTxId":"7dJPNb5m0epp1nTeIFbltguN345VMSEL2Zel98L2dfg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wdwedwedwe213123123":{"contractTxId":"gC0n3ej5piVgk1G5k04v-HeTRVRVqsL_mowejhsFArU","endTimestamp":1734040385,"purchasePrice":972.7747595657137,"startTimestamp":1702504385,"type":"lease","undernames":10},"weave-me-alone":{"contractTxId":"YHF9ZHb7otj1fIH1nAl2EOO9kmcJXdIgjJaR43qbajw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"weavemail":{"contractTxId":"w-OodfUCQXh_DHHCtoSRaGZ8CnMC5XVVuQ4N8tzfqWk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"weavetracks":{"contractTxId":"R-w8Wv3GTWtc9nnZyoS8DlImXhWqkKpXY7WemSDqCPc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"web3":{"contractTxId":"idOnxicXFaEjpV8IpgiwfUq1zZcQ0x4a817Lik_XGk8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"web3frontends":{"contractTxId":"TVJ3BHnSEKwMMr7iFSUm-0QxpiZgfdk4wgrxVkdEhLs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"web3world":{"contractTxId":"y2HhkAI1OUzXsTQyQbOEHjcxlUY-S5h7MUph6O3TGjU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"webbdeepfield":{"contractTxId":"d41vOe6Z8FAWsQlxVbpeAUpi-0LgXSoeoVLl5qz6boI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"webdeveloper":{"contractTxId":"WpRh3F9uGFOq5FgziR4jB58_A9YOLTFgA6MbYeWxPcc","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"webocracy":{"contractTxId":"fkI2aYjPHi6REnz3KOXGUIjaLbXPRbMVIPdqXBiPsSE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"webofvalue":{"contractTxId":"3mJ3N4HKP2p1jkNK53-in0fcMKqbArUPik3KFZOeHRQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wednesday":{"contractTxId":"MpyWa0BMMew68v0P6mY8NecMa_tU_UxAFsFxxQffl04","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwdwedwedwed":{"contractTxId":"shU0_a19jxJQV_BlqFDbYA8exmHTZnmpYt1m9pzF3Fs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwe":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwed":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwedddddddd":{"contractTxId":"FIaROkE02fXVZw3AW1VJ8-j8rfBfyK8DSTCrY3qIyBY","endTimestamp":1718393343,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwedw":{"contractTxId":"yQmB6AC-r-R-sJByeTme2o_kaZqXc_lf_geTCMTfh8I","endTimestamp":1718485035,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwedwdewedwedwedwedwedewdw":{"contractTxId":"lxNZkV--6EmWe0Ix_m6MnIRpICguuY-JWinKbWmw3Xw","endTimestamp":1718486479,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwedwed":{"contractTxId":"gh673M0Koh941OIITVXl9hKabRaYWABQUedZxW-swIA","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwedwedd":{"contractTxId":"1RcUGxluYZ21TEDebG0C0K6smBj4eqvC2akiZJ6y1kQ","endTimestamp":1719458613,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwedweddddddddddd":{"contractTxId":"kUAAjCdNpSOh9Jv3GZPYgx17IC2SjnXs78IhNnf_aP8","endTimestamp":1719355697,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwedwedwed":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwedwedwedwe":{"contractTxId":"mB0ckTo36ALlDWYV0iqi9x_704xU-ZVoihMF0pP0-4w","endTimestamp":1732466612,"purchasePrice":1112.2312499999998,"startTimestamp":1700930612,"type":"lease","undernames":10},"wedwedwqedwedwedwqed":{"contractTxId":"9eyFXj7tqaDP32QuJzebAUXQNEppzuvHU-mksvv01bg","endTimestamp":1725994339,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwewd":{"contractTxId":"PsrA7IPJJHdK0kQ-4PJYJ0HzAgx8qsWVyeQvTSumr4w","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwewedwe":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1714145976,"startTimestamp":1695161366,"type":"lease","undernames":10},"wedwewedwede":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wefwefgergewrgewrgew":{"contractTxId":"qYsUOsCHhjFMrkTu2AU_qIpVggCTmJ9dfJyXKS74-h8","endTimestamp":1712766361,"startTimestamp":1695161366,"type":"lease","undernames":10},"wefwefwefwefwefewfwe":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1713592260,"startTimestamp":1695161366,"type":"lease","undernames":10},"wefwefwefwefwefwefwefwefwefwefwe":{"contractTxId":"A99XKbHFwohTiPNKfV-hJHe06-nNiC4quneKwwYrGeE","endTimestamp":1718486479,"startTimestamp":1695161366,"type":"lease","undernames":10},"wefwefwfwqefqwefwqef":{"contractTxId":"NoSgW3c4KiSAJxujvJySTJcKQoqaBO7upgb4XHLt5I4","endTimestamp":1714161906,"startTimestamp":1695161366,"type":"lease","undernames":10},"welcome":{"contractTxId":"JZ_ta4kui5Aq6jJYG1u9gq7hqADMGh8i6MTFGi8Q8zs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"welcome-to-fwd-hq":{"contractTxId":"EYjHsa4sE1d9tNAIgDAdfNma-_BnEyUut1X2dzS09iw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wevemail":{"contractTxId":"R_U3dM0iURHTX1y42K0VIfVanJ5UI3pCIBXQ7ZprgV4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wewedwed":{"contractTxId":"6dUiTQKJCVD7c9icQhbbzfI-Le_hC4sXRDx1OQQ6jMI","endTimestamp":1716562132,"startTimestamp":1695161366,"type":"lease","undernames":10},"wewefwefw":{"contractTxId":"J5uMbfo0cXQ_MOuukLelQwXwncEP1F4fGafil3JG3Zg","endTimestamp":1711124724,"startTimestamp":1695161366,"type":"lease","undernames":10},"what-is-bar":{"contractTxId":"fA2kGFhQbCm7p4jgiG6HikCs0i21egDNWmQREJxo-_4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"whats-the-iguana-say":{"contractTxId":"adSTei2ekXXM2-7F5fNaqg-1UY0CYehPc9XcSEcsY0c","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wheeler":{"contractTxId":"Z1doo8oyAMxbC-BGApDPAFCBZdx5kTivgJMWSmdOpec","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wibbledywobbelytimeywimey":{"contractTxId":"dew21Ar9eZklxUoakB_4ocIq1Kd2LG3GaOJUVvvqMv0","endTimestamp":1724464244,"startTimestamp":1695161366,"type":"lease","undernames":10},"wiggthree":{"contractTxId":"2wb085OJUrzuOASUGJcoiuOz52WWyiDseB0oKYpZkos","startTimestamp":1698273131,"type":"permabuy","undernames":10},"wiggyfour":{"contractTxId":"hgMm27Z-RjLC_Iq7h2abUxMhiEscwOEv98qsjLAfVzs","endTimestamp":1729696980,"startTimestamp":1698160980,"type":"lease","undernames":10},"wiggytwo":{"contractTxId":"igZpuXrs1KQu9AIu84ynFlpdlV-r5vi1ybXCNWfEvTU","endTimestamp":1729696558,"startTimestamp":1698160558,"type":"lease","undernames":10},"wiki":{"contractTxId":"pN-2TQCQG5P_lQfX2waSYJxzJpwgLsuPpcoerXSKO9g","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"wikipedia":{"contractTxId":"-UJEOYhMYHoyf_aTWJjF8_Q_lOlRQFgBuVntWVnVsIw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"winchawa":{"contractTxId":"TTnEqtJvYJzlx2_K6drHYLNOxJjawio-MHl4YTd3ol4","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"winnie":{"contractTxId":"0wUkD5mvrK6UlF1BuyxqHqJ8j4uwIWTIwgsehMkUBIU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"winston":{"contractTxId":"bwvJ_1LGovXwnkhK_XPKm5YviXA2Ke2KqGI9lRu_SWs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"woe-buy":{"contractTxId":"fN1hgIpeMkaGMUeR6DNBZjAsWDJjZ2gkrkjUd3tqxrg","purchasePrice":5000,"startTimestamp":1701384186,"type":"permabuy","undernames":10},"woe-for-the-people":{"contractTxId":"IYSqGf1Qapqn9hqRv76Ta7wjKMFINw0wgAaSGY40K4I","endTimestamp":1731609059,"purchasePrice":1200,"startTimestamp":1700073059,"type":"lease","undernames":10},"woe-for-the-people2":{"contractTxId":"XiFFCCM_Ssus5xe0gGRuWsG5_RXNF7l7nmRhrqWNNfU","purchasePrice":2000,"startTimestamp":1700073612,"type":"permabuy","undernames":10},"woe-lease":{"contractTxId":"5HTPaYZC7jPyH0gmNngmn7YCicbIaRubRgAFdpPAMQk","endTimestamp":1731609612,"purchasePrice":1500,"startTimestamp":1700073612,"type":"lease","undernames":10},"woe-woooooooo-buy":{"contractTxId":"6Pdk0tQ4Q_vZg4xO-z-MTJ-Z47_FyFerc26DTHSVjuI","purchasePrice":2000,"startTimestamp":1700073612,"type":"permabuy","undernames":10},"woeofthem":{"contractTxId":"lOlncxLqk5E9_pgrv1pH47Jw7HeGNK_Wj76ZpL1-kDI","purchasePrice":2500,"startTimestamp":1701384186,"type":"permabuy","undernames":10},"woohoooooooooooooooo":{"contractTxId":"1Abhad7MZY5ZKK8DltOPFPm2HmUqV0iKMTPbG4wvlfo","endTimestamp":1714682090,"startTimestamp":1695161366,"type":"lease","undernames":10},"worldnews":{"contractTxId":"Vdzh0syzwpd9C7dGFmEX9d46oBAHTdiJlTrq5IQWZIE","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"worldwariii":{"contractTxId":"VSNNlkjlK6trKHikPdbxoBHp8K7YT_xYjvhZAIghL2A","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"xfirstpagessynthwave":{"contractTxId":"Ux7jBtCXK_NsMmGuJm7oGMmz60FEN6qQaJ6JoOhUKN8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"xn--ardriveddddd-nz9fv6998cbtqa":{"contractTxId":"F60kQY3c8_CGFVhDa6fG78WzroC0qYiEJVXO5_cgyS4","endTimestamp":1724282806,"startTimestamp":1695161366,"type":"lease","undernames":10},"xn--go8h6v":{"contractTxId":"ntxSujcL-HzfN1XdgHomP1iyApAA6ffsXAKFro69gPs","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"xn--o28h":{"contractTxId":"4rFQGs8P9eR2W54ujOqekvwTIyzLy8TmAd_kUo9t1xs","endTimestamp":1712697922,"startTimestamp":1695161366,"type":"lease","undernames":10},"xurannn":{"contractTxId":"5FcQlXJVdZoT9slbtWGupdRYrAQjPu6yBcMDjeWjjMg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"xwcrypto":{"contractTxId":"2LyA-bTlguakTaQlgu8ptL9HNf5OKgcYpDCAOOeQiPM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"xxfirstmultimediamus":{"contractTxId":"w7k5mPAbjJBZoAN5FFBP7WhdEzaDCjOCpHPbWIf70zo","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"xxfirstmultimediavid":{"contractTxId":"0jOnsg__zmcVt0MJPAsObBnOPp9Rh-HghOhiMN70CSU","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"xxxxxxxtestfirstblog":{"contractTxId":"ABg7OyQlw-QAv7pbd5-MYSKisGD3ZI9JAG2phs0X-vM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"xxxxxxxxxxxxxxx1test":{"contractTxId":"TL7j_OQLrk_E4PEqpxpn_Zoggtx1cS1CZJxMIn8Urrg","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"xxxxxxxxxxxxxxxxxx11":{"contractTxId":"oOxigQxfXYGgHZEygE3FQl2BYqlPSYNbYKTP84ksdK0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"xylophone":{"contractTxId":"FLPUjh_K4Rh89pEoE-PDcTi62iQlO1olFwx_jg1QJbw","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"yaramereyarihaaaaaaa":{"contractTxId":"NRrD-JvVVxLvHYLIRqprFlVzBaXIX-i8s1KDE_sqvUk","endTimestamp":1713437945,"startTimestamp":1695161366,"type":"lease","undernames":10},"yellow-paper":{"contractTxId":"igsGA3UlZJu7YSUo-TxGhN-stpH5HIyiazQd-OIH0Yk","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"yesssssssssssssssss1":{"contractTxId":"jEex_zszQXE_Qm0vqzTze_LIlww4wXzcEHZaRZwQbZw","endTimestamp":1713375783,"startTimestamp":1695161366,"type":"lease","undernames":10},"yessssssssssssssssss":{"contractTxId":"TzuoJHLSGAuCL6Sf8JbxSz9DLIh9v-d7_wuEj9-fHQY","endTimestamp":1713043802,"startTimestamp":1695161366,"type":"lease","undernames":10},"yologuy":{"contractTxId":"ENwHuS3ewWuT8_B-HDJIgeRhKQfZr50W503J3Blf17M","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"youareamazing":{"contractTxId":"QrLt9hz1FRk0EY9xHJOcdFhLobVzBhtySBZmvZutH18","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"yournian":{"contractTxId":"qD0uiCD7cEvoSNb3Y-cOemiPSXnDRJp7LyDWx17Cki8","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"youtube":{"contractTxId":"vyZqyFiGUijPM2UDHbpGs1V1sAPevRFrgVdCM9aMycQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"yuckfou":{"contractTxId":"FvVrJYW_yL9l_HD9sopMpZo4aL9NYnhfudenJMiMPF8","endTimestamp":1730505778,"purchasePrice":157500,"startTimestamp":1698969778,"type":"lease","undernames":10},"yuckfou2":{"contractTxId":"xvTqZixs4dkXGSBi724KAQhTx3lXvQdxdvx-8YmM2Rw","purchasePrice":3150,"startTimestamp":1700278367,"type":"permabuy","undernames":10},"zakharovxch":{"contractTxId":"s2p3AzsveSv72ZpnFWlephA1RKIyrk1Ht4Jakh8Ijw0","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"zero-to-arweave":{"contractTxId":"8gu4dDD_oZKmHbmuxegRw0wgXkhWDI9kWPuRGIetTtM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"zilog_z80":{"contractTxId":"btA3mJkXANXRYXxLGmarQv7a76C2HEgs0L8FpXVYVSQ","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"zkdoof":{"contractTxId":"If4tlUWX44qIMrkZ3vzgAGJNUA8mp_O_kMylJdCQIVM","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10},"zzzzzz":{"contractTxId":"qBztslLVqTa1rTS2EhBreVVOl51H3Aia-b-bHv0e4kY","endTimestamp":1711122739,"startTimestamp":1695161366,"type":"lease","undernames":10}},"reserved":{"ar-io":{"endTimestamp":1725080400000,"target":"QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ"},"gateway":{"endTimestamp":1725080400000,"target":"QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ"},"help":{"endTimestamp":1725080400000,"target":"QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ"},"io":{"endTimestamp":1725080400000,"target":"QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ"},"nodes":{"endTimestamp":1725080400000,"target":"QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ"},"www":{}},"settings":{"auctions":{"auctionDuration":10080,"exponentialDecayRate":0.000002,"floorPriceMultiplier":1,"scalingExponent":190,"startPriceMultiplier":50},"registry":{"gatewayLeaveLength":3600,"maxLockLength":788400,"minGatewayJoinLength":3600,"minLockLength":720,"minNetworkJoinStakeAmount":10000,"operatorStakeWithdrawLength":3600}},"ticker":"tIO","vaults":{}},"sortKey":"000001327722,0000000000000,9a151ccdaf8e004ddb4b21d73865ffe2c202c2d21ea38b34c4dda89870fc6d69","evaluationOptions":{"internalWrites":true,"useKVStorage":true,"updateCacheForEachInteraction":true,"sourceType":"arweave"}} \ No newline at end of file diff --git a/tests/utils/helper.ts b/tests/utils/helper.ts index ffa5a64..bd1768c 100644 --- a/tests/utils/helper.ts +++ b/tests/utils/helper.ts @@ -1,9 +1,25 @@ +/** + * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ import ArLocal from 'arlocal'; import Arweave from 'arweave'; import { JWKInterface } from 'arweave/node/lib/wallet'; import * as fs from 'fs'; import path from 'path'; -import { LoggerFactory, Warp, WarpFactory } from 'warp-contracts'; +import { LoggerFactory, SourceType, Warp, WarpFactory } from 'warp-contracts'; import { DeployPlugin } from 'warp-contracts-plugin-deploy'; import { ANTState } from '../../src/types'; @@ -43,7 +59,9 @@ export async function mineBlocks( arweave: Arweave, blocks: number, ): Promise { - for (let i = 0; i < blocks; i++) {} + for (let i = 0; i < blocks; i++) { + await mineBlock(arweave); + } } export async function createLocalWallet( @@ -144,6 +162,108 @@ export async function deployANTContract({ ); return { contractTxId, - srcTxId, + srcTxId: srcTxId as string, }; } + +export async function deployANTUndernameLeasingContract({ + warp, + owner, + wallet, +}: { + owner: string; + warp: Warp; + wallet: JWKInterface; +}): Promise<{ + contractTxId: string; + srcTxId: string; +}> { + const sourceCode = fs.readFileSync( + path.join(__dirname, '../../dist/contract-undername-leasing.js'), + 'utf8', + ); + const initState = fs.readFileSync( + path.join(__dirname, '../../initial-state-undername-leasing.json'), + 'utf8', + ); + const ownerState = { + ...JSON.parse(initState), + owner: owner, + records: { + remove: { + transactionId: '', + ttlSeconds: 900, + }, + }, + controllers: [owner], + balances: { + [owner]: 1, + }, + }; + const { contractTxId, srcTxId } = await warp.deploy( + { + src: sourceCode, + initState: JSON.stringify(ownerState), + wallet, + evaluationManifest: { + evaluationOptions: { + sourceType: 'both' as SourceType, + unsafeClient: 'skip', + }, + }, + }, + true, + ); + return { + contractTxId, + srcTxId: srcTxId as string, + }; +} + + +export async function deployARNSContract({ + warp, + owner, + wallet, + balances +}: { + owner: string; + warp: Warp; + wallet: JWKInterface; + balances: Record; +}): Promise<{ + contractTxId: string; + srcTxId: string; +}> { + const sourceCode = fs.readFileSync( + path.join(__dirname, './arns/source.js'), + 'utf8', + ); + const initState = fs.readFileSync( + path.join(__dirname, './arns/state.json'), + 'utf8', + ); + const ownerState = { + ...JSON.parse(initState), + owner, + balances + }; + const { contractTxId, srcTxId } = await warp.deploy( + { + src: sourceCode, + initState: JSON.stringify(ownerState), + wallet, + evaluationManifest: { + evaluationOptions: { + sourceType: 'arweave' as SourceType, + }, + }, + }, + true, + ); + return { + contractTxId, + srcTxId: srcTxId as string, + }; +} +