diff --git a/packages/registration/Move.lock b/packages/registration/Move.lock index a88ee9e2..9e1d8db2 100644 --- a/packages/registration/Move.lock +++ b/packages/registration/Move.lock @@ -2,6 +2,8 @@ [move] version = 0 +manifest_digest = "75434D5374AE0B76DFC7B2C8B1D93D92E43B7C10C03782CF67925E35F379A78A" +deps_digest = "3C4103934B1E040BB6B23F1D610B4EF9F2F1166A50A104EADCF77467C004C600" dependencies = [ { name = "Sui" }, @@ -27,3 +29,8 @@ source = { local = "../suins" } dependencies = [ { name = "Sui" }, ] + +[move.toolchain-version] +compiler-version = "1.19.0" +edition = "legacy" +flavor = "sui" diff --git a/packages/registration/sources/register.move b/packages/registration/sources/register.move index e57d08cb..ffe15345 100644 --- a/packages/registration/sources/register.move +++ b/packages/registration/sources/register.move @@ -56,4 +56,4 @@ module registration::register { let registry = suins::app_registry_mut(Register {}, suins); registry::add_record(registry, domain, no_years, clock, ctx) } -} +} \ No newline at end of file diff --git a/packages/registration/tests/register_tests.move b/packages/registration/tests/register_tests.move index cd383c5e..a365b9ca 100644 --- a/packages/registration/tests/register_tests.move +++ b/packages/registration/tests/register_tests.move @@ -316,4 +316,4 @@ module registration::register_tests { test_scenario::end(scenario_val); } -} +} \ No newline at end of file diff --git a/scripts/airdrop/airdrop-mint.ts b/scripts/airdrop/airdrop-mint.ts index fae00bdb..7b063311 100644 --- a/scripts/airdrop/airdrop-mint.ts +++ b/scripts/airdrop/airdrop-mint.ts @@ -1,17 +1,18 @@ // TESTNET VERSION HERE. WILL CLEAN UP. -import { SuiObjectData, SuiObjectRef, SuiTransactionBlockResponse, TransactionBlock, getExecutionStatusType } from "@mysten/sui.js"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; +import { SuiClient, SuiObjectData, SuiObjectRef, SuiTransactionBlockResponse } from "@mysten/sui.js/client"; import { MAX_MINTS_PER_TRANSACTION, addressesToBuffer, csvToBatches, executeTx, readAddressesFromFile } from './helper'; import { prepareSigner } from "./helper"; import { addressConfig } from "../config/day_one"; -import { mainPackage } from "../config/constants"; +import { Network, PackageInfo, mainPackage } from "../config/constants"; const SUI_COIN_TYPE = '0x2::coin::Coin<0x2::sui::SUI>'; const network = 'testnet' // change to mainnet when running it. -const signer = prepareSigner(mainPackage[network].provider); +const signer = prepareSigner(); const config = addressConfig; const usedCoinObjects = new Set(); @@ -23,11 +24,11 @@ const millisToMinutesAndSeconds = (millis: number) => { } /* get X amount of chunks of Coins based on amount per tx. */ -const prepareCoinObjects = async (chunks: number) => { +const prepareCoinObjects = async (chunks: number, client: SuiClient) => { const tx = new TransactionBlock(); // get the base gas coin from the provider - const { data } = await signer.provider.getObject({ + const { data } = await client.getObject({ id: config.baseCoinObjectId }); @@ -49,7 +50,7 @@ const prepareCoinObjects = async (chunks: number) => { } tx.transferObjects(coinsSplitted, tx.pure(config.massMintingAddress, 'address')); - const res = await executeTx(signer, tx); + const res = await executeTx(signer, tx, mainPackage[network].client); //@ts-ignore return res?.objectChanges?.filter(x => x.type === 'created' && x.objectType === SUI_COIN_TYPE).map((x: SuiObjectData) => ( @@ -64,7 +65,8 @@ const prepareCoinObjects = async (chunks: number) => { /** * Mints a batch of bullsharks. * */ -const mintDayOne = async ({ +const mintDayOne = async (client: SuiClient, + { id, batch, coinObject, @@ -97,7 +99,7 @@ const mintDayOne = async ({ tx.setGasBudget(2_900_000_000); - let res = await executeTx(signer, tx, { + let res = await executeTx(signer, tx, client, { isAirdropExecution: true, chunkNum: id, failedChunks @@ -106,7 +108,7 @@ const mintDayOne = async ({ return getExecutionStatusType(res as SuiTransactionBlockResponse) === 'success'; } -const executeMintsForBatches = async (batches: string[][], initialBatch = 0) => { +const executeMintsForBatches = async (batches: string[][], initialBatch = 0, network: Network) => { const MAX_BATCH_SIZE = 50; // The current airdrop is doable in 48 hashes. 50 batches will be running concurrently. let start = Date.now(); // time we started the mint process. @@ -115,11 +117,13 @@ const executeMintsForBatches = async (batches: string[][], initialBatch = 0) => let success = 0; let fail = 0; const failedChunks: number[] = []; + let config = mainPackage[network]; while (currentSliceStart < batches.length) { const batchToExecute = batches.slice(currentSliceStart, currentSliceStart + MAX_BATCH_SIZE); const results = await executeConcurrently( + config, batchToExecute, { sliceStart: currentSliceStart, @@ -151,12 +155,12 @@ const executeMintsForBatches = async (batches: string[][], initialBatch = 0) => } -const executeConcurrently = async (slicedBatches: string[][], options: { +const executeConcurrently = async (config: PackageInfo, slicedBatches: string[][], options: { sliceStart: number; failedChunks: number[]; }) => { - const coins = await prepareCoinObjects(slicedBatches.length + 1); // does the splitting of coins with some extra space. + const coins = await prepareCoinObjects(slicedBatches.length + 1, config.client); // does the splitting of coins with some extra space. if (!coins) { console.error("Failed to prepare coins on slice: " + options.sliceStart); @@ -165,7 +169,8 @@ const executeConcurrently = async (slicedBatches: string[][], options: { return await Promise.all( slicedBatches.map((slice, index) => - mintDayOne({ + mintDayOne(config.client, + { id: options.sliceStart + index, batch: slice, coinObject: coins[index], diff --git a/scripts/airdrop/airdrop-setup.ts b/scripts/airdrop/airdrop-setup.ts index 895e2699..754d9e62 100644 --- a/scripts/airdrop/airdrop-setup.ts +++ b/scripts/airdrop/airdrop-setup.ts @@ -1,4 +1,4 @@ -import { TransactionBlock } from "@mysten/sui.js"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; import { batchToHash, executeTx, prepareSigner } from "./helper"; import { addressConfig, mainnetConfig } from "../config/day_one"; import { createDayOneDisplay, createDayOneTransferPolicy } from "../day_one/setup"; @@ -35,13 +35,12 @@ export const setupAirdrop = async (batches: string[][], network: Network): Promi // add the DayOne Display. createDayOneDisplay(tx, network); // attach TransferPolicy to make it tradeable. - await createDayOneTransferPolicy(tx, suinsPackageConfig.provider, network); + await createDayOneTransferPolicy(tx, network); // return if we're on multisig execution. if(airdropConfig.isMainnet) return tx; - const signer = prepareSigner(mainPackage[network].provider); - await executeTx(signer, tx); + await executeTx(prepareSigner(), tx, mainPackage[network].client); } diff --git a/scripts/airdrop/authorize-app.ts b/scripts/airdrop/authorize-app.ts index 231118f6..695c27d7 100644 --- a/scripts/airdrop/authorize-app.ts +++ b/scripts/airdrop/authorize-app.ts @@ -1,4 +1,4 @@ -import { TransactionBlock } from "@mysten/sui.js"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; import { executeTx, prepareSigner } from "./helper"; import { addressConfig, mainnetConfig } from "../config/day_one"; import { Network, mainPackage } from "../config/constants"; @@ -21,8 +21,7 @@ export const authorizeBogoApp = async (network: Network): Promise { +export const cleanUpCoins = async (signer: Ed25519Keypair, config: AirdropConfig, client: SuiClient) => { let hasNextPage = true; let cursor = undefined; let coins = []; while (hasNextPage) { - const data = await signer.provider.getAllCoins({ + const data = await client.getAllCoins({ owner: config.massMintingAddress, cursor, limit: 50 @@ -32,7 +34,7 @@ export const cleanUpCoins = async (signer: RawSigner, config: AirdropConfig) => while (count > 1) { // get the base gas coin from the provider - const { data } = await signer.provider.getObject({ + const { data } = await client.getObject({ id: config.baseCoinObjectId }); @@ -63,7 +65,7 @@ export const cleanUpCoins = async (signer: RawSigner, config: AirdropConfig) => })) ]); - const res = await executeTx(signer, tx); + const res = await executeTx(signer, tx, client); if(res) count = count - mergeAbleCoins.length -1; } } diff --git a/scripts/airdrop/deauthorize-app.ts b/scripts/airdrop/deauthorize-app.ts index 198f5940..1419916c 100644 --- a/scripts/airdrop/deauthorize-app.ts +++ b/scripts/airdrop/deauthorize-app.ts @@ -1,4 +1,4 @@ -import { TransactionBlock } from "@mysten/sui.js"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; import { executeTx, prepareSigner } from "./helper"; import { addressConfig, mainnetConfig } from "../config/day_one"; import { Network, mainPackage } from "../config/constants"; @@ -21,8 +21,7 @@ export const deauthorizeBogoApp = async (network: Network): Promise { - console.dir(e, { depth: null }); - if (!options) { - console.log(e); - return false; - } - options.failedChunks.push(options.chunkNum); + } else { + console.dir(res) + console.log(getExecutionStatus(res)); + console.log(getExecutionStatusGasSummary(res)); + } + }).catch (e => { + console.dir(e, { depth: null }); + if (!options) { console.log(e); - console.log(`Failure of chunk: ${options?.chunkNum}`); return false; - }); + } + options.failedChunks.push(options.chunkNum); + console.log(e); + console.log(`Failure of chunk: ${options?.chunkNum}`); + return false; + }) } @@ -113,32 +111,15 @@ export const serializeBatchToBytes = (batch: string[]) => { export const batchToHash = (batch: string[]) => { const bytes = Buffer.from(serializeBatchToBytes(batch)); + const digest = blake2b(bytes, { dkLen: 32}); - return blake2 - .createHash('blake2b', { digestLength: 32 }) - .update(bytes) - .digest('hex') + return Buffer.from(digest).toString('hex'); } - -export const prepareSigner = (provider: JsonRpcProvider): RawSigner => { +export const prepareSigner = (): Ed25519Keypair => { const phrase = process.env.ADMIN_PHRASE || ''; if (!phrase) throw new Error(`ERROR: Admin mnemonic is not exported! Please run 'export ADMIN_PHRASE=""'`); - const keypair = Ed25519Keypair.deriveKeypair(phrase!); - - return new RawSigner(keypair, provider); -} - -export const prepareSignerFromPrivateKey = (network: Network) => { - const privateKey = process.env.PRIVATE_KEY || ''; - if (!privateKey) throw new Error(`ERROR: Private key not exported or exported wrong! Please run 'export PRIVATE_KEY=""'`); - const keyPair: ExportedKeypair = { - schema: 'ED25519', - privateKey: toB64(fromHEX(privateKey)), - }; - - const config = mainPackage[network]; - return new RawSigner(fromExportedKeypair(keyPair), config.provider); + return Ed25519Keypair.deriveKeypair(phrase!); } // converts an array of addresses to a buffer using the `buffer` module. @@ -178,7 +159,6 @@ export const prepareMultisigTx = async ( tx: TransactionBlock, network: Network ) => { - const config = mainPackage[network]; const gasObjectId = process.env.GAS_OBJECT; @@ -192,15 +172,15 @@ export const prepareMultisigTx = async ( tx.setSenderIfNotSet(config.adminAddress as string); // setting up gas object for the multi-sig transaction - if(gasObjectId) await setupGasPayment(tx, gasObjectId, config.provider); + if(gasObjectId) await setupGasPayment(tx, gasObjectId, config.client); // first do a dryRun, to make sure we are getting a success. - const dryRun = await inspectTransaction(tx, config.provider, network); + const dryRun = await inspectTransaction(tx, config.client, network); if(!dryRun) throw new Error("This transaction failed."); tx.build({ - provider: config.provider + client: config.client }).then((bytes) => { let serializedBase64 = toB64(bytes); @@ -213,8 +193,8 @@ export const prepareMultisigTx = async ( /* Fetch the gas Object and setup the payment for the tx. */ -const setupGasPayment = async (tx: TransactionBlock, gasObjectId: string, provider: JsonRpcProvider) => { - const gasObject = await provider.getObject({ +const setupGasPayment = async (tx: TransactionBlock, gasObjectId: string, client: SuiClient) => { + const gasObject = await client.getObject({ id: gasObjectId }); @@ -231,17 +211,24 @@ const setupGasPayment = async (tx: TransactionBlock, gasObjectId: string, provid /* A helper to dev inspect a transaction. */ -export const inspectTransaction = async (tx: TransactionBlock, provider: JsonRpcProvider, network: Network) => { +export const inspectTransaction = async (tx: TransactionBlock, client: SuiClient, network: Network) => { const config = mainPackage[network]; - - const result = await provider.dryRunTransactionBlock({ - transactionBlock: await tx.build({ - provider - }) - }); + const result = await client.dryRunTransactionBlock( + { + transactionBlock: await tx.build({client: config.client}) + } + ); // log the result. console.dir(result, { depth: null }); - return getExecutionStatusType(result as SuiTransactionBlockResponse) === "success"; + return result.effects.status.status === 'success' +} +function getExecutionStatus(res: SuiTransactionBlockResponse): ExecutionStatus | undefined { + return res.effects?.status; } + +function getExecutionStatusGasSummary(res: SuiTransactionBlockResponse): GasCostSummary | undefined { + return res.effects?.gasUsed; +} + diff --git a/scripts/config/constants.ts b/scripts/config/constants.ts index dc0fe860..bfff4741 100644 --- a/scripts/config/constants.ts +++ b/scripts/config/constants.ts @@ -1,4 +1,5 @@ -import { Connection, JsonRpcProvider, ObjectId, SuiAddress, testnetConnection } from "@mysten/sui.js" +import { SuiClient } from "@mysten/sui.js/client"; +import { normalizeSuiAddress } from "@mysten/sui.js/utils"; export type Network = 'mainnet' | 'testnet' @@ -9,8 +10,8 @@ export type PackageInfo = { registrationPackageId: string; upgradeCap?: string; publisherId: string; - adminAddress: SuiAddress; - provider: JsonRpcProvider; + adminAddress: string; + client: SuiClient; adminCap: string; suins: string; displayObject?: string; @@ -28,13 +29,11 @@ export const mainPackage: Config = { registrationPackageId: '0x9d451fa0139fef8f7c1f0bd5d7e45b7fa9dbb84c2e63c2819c7abd0a7f7d749d', upgradeCap: '0x9cda28244a0d0de294d2b271e772a9c33eb47d316c59913d7369b545b4af098c', publisherId: '0x7339f23f06df3601167d67a31752781d307136fd18304c48c928778e752caae1', - adminAddress: '0xa81a2328b7bbf70ab196d6aca400b5b0721dec7615bf272d95e0b0df04517e72', + adminAddress: normalizeSuiAddress('0xa81a2328b7bbf70ab196d6aca400b5b0721dec7615bf272d95e0b0df04517e72'), adminCap: '0x3f8d702d90c572b60ac692fb5074f7a7ac350b80d9c59eab4f6b7692786cae0a', suins: '0x6e0ddefc0ad98889c04bab9639e512c21766c5e6366f89e696956d9be6952871', displayObject: '0x866fbd8e51b6637c25f0e811ece9a85eb417f3987ecdfefb80f15d1192d72b4c', - provider: new JsonRpcProvider(new Connection({ - fullnode: 'https://suins-rpc.mainnet.sui.io' - })), + client: new SuiClient({ url: 'https://suins-rpc.mainnet.sui.io'}), discountsPackage: { packageId: '0x6a6ea140e095ddd82f7c745905054b3203129dd04a09d0375416c31161932d2d', discountHouseId: '0x7fdd883c0b7427f18cdb498c4c87a4a79d6bec4783cb3f21aa3816bbc64ce8ef', @@ -48,11 +47,9 @@ export const mainPackage: Config = { registrationPackageId: 'TODO: Fill this in', publisherId: '0xd12afb9b5e4a8dc875d22fc927e78952dc9bd84730b33c02e9fd30949c100e38', adminAddress: '0x7bdfc33239bd05af27d6989cee5455da4bc69ed4cfab5d178434a96ff412514a', - adminCap: '0xadc8b4c3fa0cc022e995968e06fca1d4a47f782f7bb0e88c52730eca77cdae03', + adminCap: normalizeSuiAddress('0xadc8b4c3fa0cc022e995968e06fca1d4a47f782f7bb0e88c52730eca77cdae03'), suins: '0xedc672fadedee348108618da7555f771d4fec8d3331779a8411ff8184aded726', - provider: new JsonRpcProvider(new Connection({ - fullnode: 'https://suins-rpc.testnet.sui.io:443' - })), + client: new SuiClient({ url: 'https://suins-rpc.testnet.sui.io:443'}), directSetupPackageId: '0x9af70a4cb6d7144e68fd972eef672a74c7fe41aa5c0bb67ba40d7d1ae87bfb19', discountsPackage: { packageId: '0x319364827e018833f545d8291f0482c5859ead75663543dda153b50df83244eb', diff --git a/scripts/config/day_one.ts b/scripts/config/day_one.ts index daa78ed5..d3357256 100644 --- a/scripts/config/day_one.ts +++ b/scripts/config/day_one.ts @@ -1,18 +1,16 @@ -import { ObjectId, SuiAddress } from "@mysten/sui.js"; - export type AirdropConfig = { isMainnet?: boolean; packageId: string; dropListObj: { - objectId: ObjectId, + objectId: string, initialSharedVersion: string; mutable: boolean; }, - setupCap: ObjectId; - massMintingAddress: SuiAddress; - baseCoinObjectId: ObjectId; - publisher: ObjectId; - bufferPackageId: ObjectId; + setupCap: string; + massMintingAddress: string; + baseCoinObjectId: string; + publisher: string; + bufferPackageId: string; } export const mainnetConfig: AirdropConfig = { diff --git a/scripts/config/discounts.ts b/scripts/config/discounts.ts index ac2b992a..f5789324 100644 --- a/scripts/config/discounts.ts +++ b/scripts/config/discounts.ts @@ -1,4 +1,4 @@ -import { TransactionBlock } from "@mysten/sui.js"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; import { Network, PackageInfo } from "./constants"; export const SUIFREN_BULLSHARK_TYPE: Record = { diff --git a/scripts/day_one/setup.ts b/scripts/day_one/setup.ts index 9e5c0d60..e78b5d56 100644 --- a/scripts/day_one/setup.ts +++ b/scripts/day_one/setup.ts @@ -1,15 +1,14 @@ -import { JsonRpcProvider, TransactionBlock } from "@mysten/sui.js"; +import { TransactionArgument, TransactionBlock } from "@mysten/sui.js/transactions"; import { Network, mainPackage } from "../config/constants"; import { AirdropConfig, addressConfig, mainnetConfig } from "../config/day_one"; -import { createTransferPolicy, queryTransferPolicy } from "@mysten/kiosk"; +import { Network as KioskNetwork, ObjectArgument, TransferPolicyTransaction } from "@mysten/kiosk"; +import { KioskClient } from '@mysten/kiosk'; export const dayOneType = (config: AirdropConfig) => `${config.packageId}::day_one::DayOne`; export const createDayOneDisplay = async (tx: TransactionBlock, network: Network) => { - const config = network === 'mainnet' ? mainnetConfig : addressConfig; - const displayObject = { keys: ["name", "description", "link", "image_url"], values: [ @@ -39,30 +38,36 @@ export const createDayOneDisplay = async (tx: TransactionBlock, network: Network }); tx.transferObjects([display], tx.pure(mainPackageConfig.adminAddress)); - }; export const createDayOneTransferPolicy = async ( tx: TransactionBlock, - provider: JsonRpcProvider, network: Network, ) => { - const config = network === 'mainnet' ? mainnetConfig : addressConfig; - const mainPackageConfig = mainPackage[network]; - const existingPolicy = await queryTransferPolicy(provider, dayOneType(config)); + + const kioskClient = new KioskClient({ + client: mainPackageConfig.client, + network: network === 'mainnet' ? KioskNetwork.MAINNET : KioskNetwork.TESTNET + }) + + const existingPolicy = await kioskClient.getTransferPolicies({ type: dayOneType(config) }); if (existingPolicy.length > 0) { console.warn(`Type ${dayOneType} already had a tranfer policy so the transaction was skipped.`); return false; } + // create transfer policy - let transferPolicyCap = createTransferPolicy(tx, dayOneType(config), config.publisher); - + let tpTx = new TransferPolicyTransaction({ kioskClient, transactionBlock: tx }); + await tpTx.create({ + type: `${dayOneType(config)}`, + publisher: config.publisher + }); + // transfer cap to owner - tx.transferObjects([transferPolicyCap], tx.pure(mainPackageConfig.adminAddress, 'address')); + tpTx.shareAndTransferCap(mainPackageConfig.adminAddress); return true; - - } + } \ No newline at end of file diff --git a/scripts/package.json b/scripts/package.json index 095352fe..5b0eebfe 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -7,7 +7,7 @@ "test": "echo \"Error: no test specified\" && exit 1", "transactions::main_package::upgrade": "ts-node transactions/main_package_upgrade.ts", "transfer::names": "ts-node reserved-names/transfer-names.ts", - "withdraw:auction:profits":"ts-node transactions/withdraw_funds_20290927.ts", + "withdraw:auction:profits": "ts-node transactions/withdraw_funds_20290927.ts", "authorize-utils": "ts-node transactions/authorize_utils.ts", "authorize-discounts": "ts-node transactions/quest_3_setup.ts", "disable-free-claims": "ts-node transactions/quest3/disable_free_claims.ts", @@ -20,13 +20,16 @@ "author": "", "license": "ISC", "dependencies": { - "@mysten/bcs": "^0.7.3", - "@mysten/kiosk": "^0.3.3", - "@mysten/sui.js": "^0.37.1", - "@types/blake2": "^4.0.1", - "blake2": "^5.0.0", + "@mysten/bcs": "0.11.1", + "@mysten/kiosk": "0.8.4", + "@mysten/sui.js": "0.51.0", + "@noble/hashes": "^1.4.0", + "@pythnetwork/pyth-sui-js": "2.0.0", "dotenv": "^16.3.1", - "ts-node": "^10.9.1", "typescript": "^5.1.6" + }, + "devDependencies": { + "ts-node": "^10.9.1", + "@types/node": "^20.11.30" } } diff --git a/scripts/pnpm-lock.yaml b/scripts/pnpm-lock.yaml index 8440a7a6..f2442ffd 100644 --- a/scripts/pnpm-lock.yaml +++ b/scripts/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.1' +lockfileVersion: '6.0' settings: autoInstallPeers: true @@ -6,106 +6,155 @@ settings: dependencies: '@mysten/bcs': - specifier: ^0.7.3 - version: 0.7.3 + specifier: 0.11.1 + version: 0.11.1 '@mysten/kiosk': - specifier: ^0.3.3 - version: 0.3.3 + specifier: 0.8.4 + version: 0.8.4 '@mysten/sui.js': - specifier: ^0.37.1 - version: 0.37.1 - '@types/blake2': - specifier: ^4.0.1 - version: 4.0.1 - blake2: - specifier: ^5.0.0 - version: 5.0.0 + specifier: 0.51.0 + version: 0.51.0 + '@noble/hashes': + specifier: ^1.4.0 + version: 1.4.0 + '@pythnetwork/pyth-sui-js': + specifier: 2.0.0 + version: 2.0.0 dotenv: specifier: ^16.3.1 version: 16.3.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@20.3.3)(typescript@5.1.6) typescript: specifier: ^5.1.6 version: 5.1.6 +devDependencies: + '@types/node': + specifier: ^20.11.30 + version: 20.11.30 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@20.11.30)(typescript@5.1.6) + packages: + /@0no-co/graphql.web@1.0.4(graphql@16.8.1): + resolution: {integrity: sha512-W3ezhHGfO0MS1PtGloaTpg0PbaT8aZSmmaerL7idtU5F7oCI+uu25k+MsMS31BVFlp4aMkHSrNRxiD72IlK8TA==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + graphql: + optional: true + dependencies: + graphql: 16.8.1 + dev: false + + /@babel/runtime@7.24.1: + resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: false + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 + dev: true + + /@gql.tada/cli-utils@0.3.0: + resolution: {integrity: sha512-kDebLVuM5r3/bI1MmlhHr9VKHxXeq8Gxy1wHVTPva4R5ObfbhzxnHsTCvR6MUp8ziy9Pg9MESb8S1YZW8ohM3A==} + dependencies: + '@gql.tada/internal': 0.1.0 + graphql: 16.8.1 + dev: false + + /@gql.tada/internal@0.1.0: + resolution: {integrity: sha512-FTvBVXVvt0xUo8hvRlwFoyeNXpUDqc+e20MzFkF8ozbsa5PoYb/gksmmnHMjUphsIq1H3Hq8o4RGstFN5LKH4w==} + dependencies: + graphql: 16.8.1 + typescript: 5.4.3 + dev: false + + /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + graphql: 16.8.1 dev: false /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} - dev: false + dev: true /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: false + dev: true /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@mysten/bcs@0.10.1: + resolution: {integrity: sha512-cQDb7Rhz2J82ZqgVQiHykuwKUlgiLWS2bjoajPPW0uvXlb75qrgKuaxh1UzsaRhHy3egk/APc0xjiZoqdbzB4w==} + dependencies: + bs58: 5.0.0 dev: false - /@mysten/bcs@0.7.3: - resolution: {integrity: sha512-fbusBfsyc2MpTACi72H5edWJ670T84va+qn9jSPpb5BzZ+pzUM1Q0ApPrF5OT+mB1o5Ng+mxPQpBCZQkfiV2TA==} + /@mysten/bcs@0.11.1: + resolution: {integrity: sha512-xP85isNSYUCHd3O/g+TmZYmg4wK6cU8q/n/MebkIGP4CYVJZz2wU/G24xIZ3wI+0iTop4dfgA5kYrg/DQKCUzA==} dependencies: bs58: 5.0.0 dev: false - /@mysten/kiosk@0.3.3: - resolution: {integrity: sha512-SlZpYNwrI/twx0V+ES6S0R7h4zjujmig9ZILFnnTHFuyJG5So4NSnbNtI7yNfkedrPnJjoNokv5YoF20hm9GMQ==} + /@mysten/kiosk@0.8.4: + resolution: {integrity: sha512-RtiNvjWo/EoYOE9IimseBwC6th/nmFm3kIZmkWGa6pjbO+Ai+YfpSMdUOvtGdkhDXHjugdATAGblgxEZTNk2ew==} engines: {node: '>=16'} dependencies: - '@mysten/sui.js': 0.37.1 - transitivePeerDependencies: - - bufferutil - - encoding - - utf-8-validate + '@mysten/sui.js': 0.51.0 dev: false - /@mysten/sui.js@0.37.1: - resolution: {integrity: sha512-nEOqnjUqb/VJcVk23LgZOX1FmBib/mBCwAWaJhtsCHLwv2jIAfCPY/fpB9lJ62QHrM8UFclpWxsLkqcUkKyPgA==} + /@mysten/sui.js@0.49.1: + resolution: {integrity: sha512-xMndhhlnlVYjMVmBkXnGs9wdw7/bh3R/QggD/DkqGG7Iq7RL2uldtAeIFYsPGfTua/TJW8RFX7q59RagIOwWdw==} engines: {node: '>=16'} dependencies: - '@mysten/bcs': 0.7.3 - '@noble/curves': 1.1.0 - '@noble/hashes': 1.3.1 - '@open-rpc/client-js': 1.8.1 - '@scure/bip32': 1.3.0 + '@mysten/bcs': 0.10.1 + '@noble/curves': 1.4.0 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 '@scure/bip39': 1.2.1 '@suchipi/femver': 1.0.0 - events: 3.3.0 superstruct: 1.0.3 tweetnacl: 1.0.3 - transitivePeerDependencies: - - bufferutil - - encoding - - utf-8-validate dev: false - /@noble/curves@1.0.0: - resolution: {integrity: sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw==} + /@mysten/sui.js@0.51.0: + resolution: {integrity: sha512-/D/JDE+dgL1Nc6/Ju32bIrTr5XYcYdYMHzhgRk+f8nGf3eZRGaWIphN9VEBXjn+4F8M9/t3BKLfITWrQ2o3++w==} + engines: {node: '>=16'} dependencies: - '@noble/hashes': 1.3.0 + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) + '@mysten/bcs': 0.11.1 + '@noble/curves': 1.4.0 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.2.1 + '@suchipi/femver': 1.0.0 + bech32: 2.0.0 + gql.tada: 1.4.0(graphql@16.8.1) + graphql: 16.8.1 + superstruct: 1.0.3 + tweetnacl: 1.0.3 dev: false - /@noble/curves@1.1.0: - resolution: {integrity: sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==} + /@noble/curves@1.4.0: + resolution: {integrity: sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==} dependencies: - '@noble/hashes': 1.3.1 - dev: false - - /@noble/hashes@1.3.0: - resolution: {integrity: sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==} + '@noble/hashes': 1.4.0 dev: false /@noble/hashes@1.3.1: @@ -113,36 +162,60 @@ packages: engines: {node: '>= 16'} dev: false - /@open-rpc/client-js@1.8.1: - resolution: {integrity: sha512-vV+Hetl688nY/oWI9IFY0iKDrWuLdYhf7OIKI6U1DcnJV7r4gAgwRJjEr1QVYszUc0gjkHoQJzqevmXMGLyA0g==} + /@noble/hashes@1.4.0: + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + dev: false + + /@pythnetwork/price-service-client@1.9.0: + resolution: {integrity: sha512-SLm3IFcfmy9iMqHeT4Ih6qMNZhJEefY14T9yTlpsH2D/FE5+BaGGnfcexUifVlfH6M7mwRC4hEFdNvZ6ebZjJg==} dependencies: - isomorphic-fetch: 3.0.0 - isomorphic-ws: 5.0.0(ws@7.5.9) - strict-event-emitter-types: 2.0.0 - ws: 7.5.9 + '@pythnetwork/price-service-sdk': 1.6.0 + '@types/ws': 8.5.10 + axios: 1.6.8 + axios-retry: 3.9.1 + isomorphic-ws: 4.0.1(ws@8.16.0) + ts-log: 2.2.5 + ws: 8.16.0 transitivePeerDependencies: - bufferutil - - encoding + - debug - utf-8-validate dev: false - /@scure/base@1.1.1: - resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==} + /@pythnetwork/price-service-sdk@1.6.0: + resolution: {integrity: sha512-3mtlxvT/V3uCqmAGFTRAoJ4u0AXGHgIZVBs4uyRxysURTgywJk4yxoD3xPhaUjd5sfRTon546ZZ67L7oyUFMUg==} dev: false - /@scure/bip32@1.3.0: - resolution: {integrity: sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==} + /@pythnetwork/pyth-sui-js@2.0.0: + resolution: {integrity: sha512-uCFnEXxHaux4SfAAdzBBuoQ6gbDElmml0lh2Vargn0uahXfbp/JY47bGCSwAZw5jGH9qFYIUHl7+wUS/jwf6oQ==} dependencies: - '@noble/curves': 1.0.0 - '@noble/hashes': 1.3.1 - '@scure/base': 1.1.1 + '@mysten/sui.js': 0.49.1 + '@pythnetwork/price-service-client': 1.9.0 + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + dev: false + + /@scure/base@1.1.6: + resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} + dev: false + + /@scure/bip32@1.4.0: + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + dependencies: + '@noble/curves': 1.4.0 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.6 dev: false /@scure/bip39@1.2.1: resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} dependencies: '@noble/hashes': 1.3.1 - '@scure/base': 1.1.1 + '@scure/base': 1.1.6 dev: false /@suchipi/femver@1.0.0: @@ -151,55 +224,77 @@ packages: /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: false + dev: true /@tsconfig/node12@1.0.11: resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: false + dev: true /@tsconfig/node14@1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: false + dev: true /@tsconfig/node16@1.0.4: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: false + dev: true - /@types/blake2@4.0.1: - resolution: {integrity: sha512-zcBydVD4uEsGo5gFRfm2phVMLqgrGJqcTZaT6lkZMWJzYovUi6wwraUJKdY1eO92q0bhWWVSAH4OnSp2m7rCfQ==} + /@types/node@20.11.30: + resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} dependencies: - '@types/node': 20.3.3 - dev: false + undici-types: 5.26.5 - /@types/node@20.3.3: - resolution: {integrity: sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==} + /@types/ws@8.5.10: + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + dependencies: + '@types/node': 20.11.30 dev: false /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} - dev: false + dev: true /acorn@8.9.0: resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} engines: {node: '>=0.4.0'} hasBin: true - dev: false + dev: true /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + + /axios-retry@3.9.1: + resolution: {integrity: sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==} + dependencies: + '@babel/runtime': 7.24.1 + is-retry-allowed: 2.2.0 + dev: false + + /axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug dev: false /base-x@4.0.0: resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} dev: false - /blake2@5.0.0: - resolution: {integrity: sha512-MLpq1DwBB9rC0IHuRc2gXLEAeNNTTYHEtvYCA5lK4RmoUPRmQLSLQrwgJvou62BvH9KP7whe8n+xxw45++fnYg==} - engines: {node: '>= 12.0.0'} - requiresBuild: true - dependencies: - nan: 2.17.0 + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /bech32@2.0.0: + resolution: {integrity: sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==} dev: false /bs58@5.0.0: @@ -208,64 +303,113 @@ packages: base-x: 4.0.0 dev: false + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} dev: false /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - dev: false + dev: true /dotenv@16.3.1: resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} engines: {node: '>=12'} dev: false - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 dev: false - /isomorphic-fetch@3.0.0: - resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} + /gql.tada@1.4.0(graphql@16.8.1): + resolution: {integrity: sha512-/LZJmInJQESn0QafOrDCJRk9ASeI65caU/HmarPtcSNitNWBrH7UfNOsHtISnTTA/CS80eUYqy3M4ogasFZWPQ==} + hasBin: true dependencies: - node-fetch: 2.6.12 - whatwg-fetch: 3.6.2 + '@0no-co/graphql.web': 1.0.4(graphql@16.8.1) + '@gql.tada/cli-utils': 0.3.0 + '@gql.tada/internal': 0.1.0 transitivePeerDependencies: - - encoding + - graphql + dev: false + + /graphql@16.8.1: + resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + dev: false + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false - /isomorphic-ws@5.0.0(ws@7.5.9): - resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + /is-retry-allowed@2.2.0: + resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} + engines: {node: '>=10'} + dev: false + + /isomorphic-ws@4.0.1(ws@8.16.0): + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} peerDependencies: ws: '*' dependencies: - ws: 7.5.9 + ws: 8.16.0 dev: false /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: false + dev: true - /nan@2.17.0: - resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} dev: false - /node-fetch@2.6.12: - resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} dependencies: - whatwg-url: 5.0.0 + mime-db: 1.52.0 + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false - /strict-event-emitter-types@2.0.0: - resolution: {integrity: sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} dev: false /superstruct@1.0.3: @@ -273,11 +417,11 @@ packages: engines: {node: '>=14.0.0'} dev: false - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + /ts-log@2.2.5: + resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} dev: false - /ts-node@10.9.1(@types/node@20.3.3)(typescript@5.1.6): + /ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.6): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -296,7 +440,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.3.3 + '@types/node': 20.11.30 acorn: 8.9.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -306,7 +450,7 @@ packages: typescript: 5.1.6 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: false + dev: true /tweetnacl@1.0.3: resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} @@ -316,33 +460,26 @@ packages: resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} engines: {node: '>=14.17'} hasBin: true - dev: false - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: false - - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + /typescript@5.4.3: + resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + engines: {node: '>=14.17'} + hasBin: true dev: false - /whatwg-fetch@3.6.2: - resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} - dev: false + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: false + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true - /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} + /ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 + utf-8-validate: '>=5.0.2' peerDependenciesMeta: bufferutil: optional: true @@ -353,4 +490,4 @@ packages: /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} - dev: false + dev: true diff --git a/scripts/reserved-names/objects.ts b/scripts/reserved-names/objects.ts index 32f70818..29cef87f 100644 --- a/scripts/reserved-names/objects.ts +++ b/scripts/reserved-names/objects.ts @@ -11,7 +11,7 @@ const getAllOwnedDomains = async () => { let names = []; while(hasNextPage){ - const res = await config.provider.getOwnedObjects({ + const res = await config.client.getOwnedObjects({ owner: config.adminAddress, filter: { MatchAll: [ diff --git a/scripts/reserved-names/transfer-names.ts b/scripts/reserved-names/transfer-names.ts index 53002ca1..45d4bc86 100644 --- a/scripts/reserved-names/transfer-names.ts +++ b/scripts/reserved-names/transfer-names.ts @@ -1,4 +1,7 @@ -import { SuiObjectResponse, TransactionBlock, isValidSuiAddress } from "@mysten/sui.js"; +import { SuiClient, SuiObjectResponse } from "@mysten/sui.js/client"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; +import { isValidSuiAddress } from "@mysten/sui.js/utils"; + import fs from "fs"; import { prepareMultisigTx } from "../airdrop/helper"; diff --git a/scripts/transactions/authorize_utils.ts b/scripts/transactions/authorize_utils.ts index 339e85fa..720bb604 100644 --- a/scripts/transactions/authorize_utils.ts +++ b/scripts/transactions/authorize_utils.ts @@ -4,7 +4,7 @@ import dotenv from "dotenv"; dotenv.config(); import { executeTx, prepareMultisigTx, prepareSigner } from "../airdrop/helper"; -import { TransactionBlock } from "@mysten/sui.js"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; import { Network, mainPackage } from "../config/constants"; export const authorizeDirectSetupApp = async (network: Network) => { @@ -25,7 +25,7 @@ export const authorizeDirectSetupApp = async (network: Network) => { // for mainnet, we just prepare multisig TX if(network === 'mainnet') return prepareMultisigTx(tx, 'mainnet'); - return executeTx(prepareSigner(config.provider), tx); + return executeTx(prepareSigner(), tx, config.client); // prepare tx data. } diff --git a/scripts/transactions/deauthorize_auction_authorize_registration.ts b/scripts/transactions/deauthorize_auction_authorize_registration.ts index 55a0206a..04f1e50b 100644 --- a/scripts/transactions/deauthorize_auction_authorize_registration.ts +++ b/scripts/transactions/deauthorize_auction_authorize_registration.ts @@ -4,7 +4,7 @@ import dotenv from "dotenv"; dotenv.config(); import { prepareMultisigTx } from "../airdrop/helper"; -import { TransactionBlock } from "@mysten/sui.js"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; import { mainPackage } from "../config/constants"; const migrateToDirectRegistration = async () => { diff --git a/scripts/transactions/deepbook/create_pools.ts b/scripts/transactions/deepbook/create_pools.ts index 507b8368..1ef3ecdf 100644 --- a/scripts/transactions/deepbook/create_pools.ts +++ b/scripts/transactions/deepbook/create_pools.ts @@ -9,7 +9,7 @@ import { prepareSigner, } from "../../airdrop/helper"; import { Network, mainPackage } from "../../config/constants"; -import { TransactionBlock } from "@mysten/sui.js"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; const SUI = "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"; @@ -123,7 +123,7 @@ const setup = async (network: Network) => { if (network === "mainnet") return prepareMultisigTx(txb, "mainnet"); // For testnet, we execute the TX directly. - return executeTx(prepareSigner(setup.provider), txb); + return executeTx(prepareSigner(), txb, setup.client); }; if (process.env.NETWORK === "mainnet") setup("mainnet"); diff --git a/scripts/transactions/display_ipfs_to_google_storage.ts b/scripts/transactions/display_ipfs_to_google_storage.ts index 50cae7b4..8a22c6b0 100644 --- a/scripts/transactions/display_ipfs_to_google_storage.ts +++ b/scripts/transactions/display_ipfs_to_google_storage.ts @@ -4,8 +4,7 @@ import dotenv from "dotenv"; dotenv.config(); import { prepareMultisigTx } from "../airdrop/helper"; -import { authorizeBogoApp } from "../airdrop/authorize-app"; -import { TransactionBlock } from "@mysten/sui.js"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; import { mainPackage } from "../config/constants"; const run = async () => { diff --git a/scripts/transactions/quest3/disable_discounts.ts b/scripts/transactions/quest3/disable_discounts.ts index cc749744..f1dcf0fa 100644 --- a/scripts/transactions/quest3/disable_discounts.ts +++ b/scripts/transactions/quest3/disable_discounts.ts @@ -5,7 +5,7 @@ import dotenv from "dotenv"; dotenv.config(); import { executeTx, prepareMultisigTx, prepareSigner } from "../../airdrop/helper"; import { Network, mainPackage } from "../../config/constants"; -import { TransactionBlock } from "@mysten/sui.js"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; import { DAY_ONE_TYPE, SUIFREN_BULLSHARK_TYPE, SUIFREN_CAPY_TYPE, removeDiscountForType } from "../../config/discounts"; const execute = async (network: Network) => { @@ -21,7 +21,7 @@ const execute = async (network: Network) => { if(network === 'mainnet') return prepareMultisigTx(txb, 'mainnet'); // For testnet, we execute the TX directly. - return executeTx(prepareSigner(setup.provider), txb); + return executeTx(prepareSigner(), txb, setup.client); } if(process.env.NETWORK === 'mainnet') execute('mainnet') diff --git a/scripts/transactions/quest3/disable_free_claims.ts b/scripts/transactions/quest3/disable_free_claims.ts index 66cfb538..1fd8aab7 100644 --- a/scripts/transactions/quest3/disable_free_claims.ts +++ b/scripts/transactions/quest3/disable_free_claims.ts @@ -5,7 +5,7 @@ import dotenv from "dotenv"; dotenv.config(); import { executeTx, prepareMultisigTx, prepareSigner } from "../../airdrop/helper"; import { Network, mainPackage } from "../../config/constants"; -import { TransactionBlock } from "@mysten/sui.js"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; import { DAY_ONE_TYPE, SUIFREN_BULLSHARK_TYPE, SUIFREN_CAPY_TYPE, removeFreeClaimsForType, setupDiscountForType } from "../../config/discounts"; // Setup Quests 3. @@ -22,7 +22,7 @@ const setup = async (network: Network) => { if(network === 'mainnet') return prepareMultisigTx(txb, 'mainnet'); // For testnet, we execute the TX directly. - return executeTx(prepareSigner(setup.provider), txb); + return executeTx(prepareSigner(), txb, setup.client); } if(process.env.NETWORK === 'mainnet') setup('mainnet') diff --git a/scripts/transactions/quest_3_setup.ts b/scripts/transactions/quest_3_setup.ts index c83d8dae..fc8305b0 100644 --- a/scripts/transactions/quest_3_setup.ts +++ b/scripts/transactions/quest_3_setup.ts @@ -5,7 +5,8 @@ import dotenv from "dotenv"; dotenv.config(); import { executeTx, prepareMultisigTx, prepareSigner } from "../airdrop/helper"; import { Network, PackageInfo, mainPackage } from "../config/constants"; -import { MIST_PER_SUI, TransactionBlock } from "@mysten/sui.js"; +import { MIST_PER_SUI } from '@mysten/sui.js/utils'; +import { TransactionBlock } from "@mysten/sui.js/transactions"; import { DAY_ONE_TYPE, Discount, SUIFREN_BULLSHARK_TYPE, SUIFREN_CAPY_TYPE, removeDiscountForType, setupDiscountForType } from "../config/discounts"; // Setup Quests 3. @@ -51,7 +52,7 @@ const setup = async (network: Network) => { if(network === 'mainnet') return prepareMultisigTx(txb, 'mainnet'); // For testnet, we execute the TX directly. - return executeTx(prepareSigner(setup.provider), txb); + return executeTx(prepareSigner(), txb, setup.client); } if(process.env.NETWORK === 'mainnet') setup('mainnet') diff --git a/scripts/transactions/renewals/authorize_renewals.ts b/scripts/transactions/renewals/authorize_renewals.ts index b847d305..f26763b4 100644 --- a/scripts/transactions/renewals/authorize_renewals.ts +++ b/scripts/transactions/renewals/authorize_renewals.ts @@ -4,8 +4,9 @@ import dotenv from "dotenv"; dotenv.config(); import { executeTx, prepareMultisigTx, prepareSigner } from "../../airdrop/helper"; -import { MIST_PER_SUI, TransactionBlock } from "@mysten/sui.js"; +import { MIST_PER_SUI } from "@mysten/sui.js/utils"; import { Network, mainPackage } from "../../config/constants"; +import { TransactionBlock } from "@mysten/sui.js/transactions"; export const authorize = async (network: Network) => { const txb = new TransactionBlock(); @@ -43,7 +44,7 @@ export const authorize = async (network: Network) => { // for mainnet, we just prepare multisig TX if(network === 'mainnet') return prepareMultisigTx(txb, 'mainnet'); - return executeTx(prepareSigner(config.provider), txb); + return executeTx(prepareSigner(), txb, config.client); } authorize("mainnet"); diff --git a/scripts/transactions/reserved_names/extend_reserved_names.ts b/scripts/transactions/reserved_names/extend_reserved_names.ts index 8d177240..0785daf6 100644 --- a/scripts/transactions/reserved_names/extend_reserved_names.ts +++ b/scripts/transactions/reserved_names/extend_reserved_names.ts @@ -1,7 +1,9 @@ -import { MIST_PER_SUI, SUI_CLOCK_OBJECT_ID, SuiObjectRef, TransactionArgument, TransactionBlock } from "@mysten/sui.js"; import { PackageInfo, mainPackage } from "../../config/constants" import reservedObjects from "../../reserved-names/owned-objects.json"; import { prepareMultisigTx } from "../../airdrop/helper"; +import { MIST_PER_SUI, SUI_CLOCK_OBJECT_ID } from "@mysten/sui.js/utils"; +import { TransactionArgument, TransactionBlock } from "@mysten/sui.js/transactions"; +import { SuiObjectRef } from "@mysten/sui.js/client"; const RUN = process.env.RUN_ID || ''; diff --git a/scripts/transactions/withdraw_funds_20290927.ts b/scripts/transactions/withdraw_funds_20290927.ts index 35991618..74e737c7 100644 --- a/scripts/transactions/withdraw_funds_20290927.ts +++ b/scripts/transactions/withdraw_funds_20290927.ts @@ -1,7 +1,7 @@ // Copyright (c) 2023, Mysten Labs, Inc. // SPDX-License-Identifier: Apache-2.0 -import { TransactionBlock } from '@mysten/sui.js'; +import { TransactionBlock } from "@mysten/sui.js/transactions"; import { mainPackage } from '../config/constants'; import { prepareMultisigTx } from '../airdrop/helper';