From 37bbd42d5b123ce240522c98993787246e001505 Mon Sep 17 00:00:00 2001 From: JesseTheRobot Date: Tue, 7 Jan 2025 12:19:33 +0000 Subject: [PATCH 1/7] feat: update uploader-irys to the latest packages --- packages/umi-uploader-irys/package.json | 6 +- .../src/createIrysUploader.ts | 132 ++-- packages/umi-uploader-irys/src/errors.ts | 10 +- pnpm-lock.yaml | 725 +++++++++++------- 4 files changed, 541 insertions(+), 332 deletions(-) diff --git a/packages/umi-uploader-irys/package.json b/packages/umi-uploader-irys/package.json index 15c4f6d..c35e6ff 100644 --- a/packages/umi-uploader-irys/package.json +++ b/packages/umi-uploader-irys/package.json @@ -28,8 +28,12 @@ "test": "ava" }, "dependencies": { - "@irys/sdk": "^0.2.10", + "@irys/upload": "^0.0.14", + "@irys/upload-solana": "^0.1.7", + "@irys/web-upload": "^0.0.14", + "@irys/web-upload-solana": "^0.1.7", "@metaplex-foundation/umi-web3js-adapters": "workspace:^", + "@supercharge/promise-pool": "^3.2.0", "bignumber.js": "^9.1.2", "buffer": "^6.0.3" }, diff --git a/packages/umi-uploader-irys/src/createIrysUploader.ts b/packages/umi-uploader-irys/src/createIrysUploader.ts index 6fa7af1..e06ae99 100644 --- a/packages/umi-uploader-irys/src/createIrysUploader.ts +++ b/packages/umi-uploader-irys/src/createIrysUploader.ts @@ -1,5 +1,5 @@ -// eslint-disable-next-line import/no-named-default -import type { default as NodeIrys, WebIrys } from '@irys/sdk'; +import type { BaseWebIrys } from '@irys/web-upload/dist/types/base'; +import type { BaseNodeIrys } from "@irys/upload/dist/types/base"; import { Commitment, Context, @@ -9,6 +9,7 @@ import { Signer, SolAmount, UploaderInterface, + UploaderUploadOptions, base58, createGenericFileFromJson, createSignerFromKeypair, @@ -39,7 +40,10 @@ import { IrysWithdrawError, FailedToConnectToIrysAddressError, FailedToInitializeIrysError, + IrysAbortError, } from './errors'; +// this is a dependency the irys client already requires, so using it here has no extra cost. +import PromisePool from '@supercharge/promise-pool'; /** * This method is necessary to import the Irys package on both ESM and CJS modules. @@ -63,7 +67,7 @@ function _removeDoubleDefault(pkg: T): T { } export type IrysUploader = UploaderInterface & { - irys: () => Promise; + irys: () => Promise; getUploadPriceFromBytes: (bytes: number) => Promise; getBalance: () => Promise; fund: (amount: SolAmount, skipBalanceCheck: boolean) => Promise; @@ -77,6 +81,7 @@ export type IrysUploaderOptions = { providerUrl?: string; priceMultiplier?: number; payer?: Signer; + uploadConcurrency?: number }; export type IrysWalletAdapter = { @@ -101,15 +106,17 @@ const HEADER_SIZE = 2_000; // Minimum file size for cost calculation. const MINIMUM_SIZE = 80_000; +const gatewayUrl = (id: string) => `https://gateway.irys.xyz/${id}` + export function createIrysUploader( context: Pick, - options: IrysUploaderOptions = {} + uploaderOptions: IrysUploaderOptions = {} ): IrysUploader { // eslint-disable-next-line @typescript-eslint/naming-convention - let _irys: WebIrys | NodeIrys | null = null; - options = { + let _irys: BaseNodeIrys | BaseWebIrys | null = null; + uploaderOptions = { providerUrl: context.rpc.getEndpoint(), - ...options, + ...uploaderOptions, }; const getUploadPriceFromBytes = async (bytes: number): Promise => { @@ -117,7 +124,7 @@ export function createIrysUploader( const price = await irys.getPrice(bytes); return bigNumberToAmount( - price.multipliedBy(options.priceMultiplier ?? 1.1) + price.multipliedBy(uploaderOptions.priceMultiplier ?? 1.1) ); }; @@ -131,28 +138,43 @@ export function createIrysUploader( return getUploadPriceFromBytes(bytes); }; - const upload = async (files: GenericFile[]): Promise => { + const upload = async (files: GenericFile[], options?: UploaderUploadOptions): Promise => { const irys = await getIrys(); const amount = await getUploadPrice(files); await fund(amount); + + const manifestMap = (options?.manifest === true) ? new Map() : undefined + + const result = await PromisePool.for(files).withConcurrency(uploaderOptions.uploadConcurrency ?? 10) + .onTaskFinished((_, pool) => options?.onProgress?.(pool.processedPercentage())) + .process(async (file) => { + if(options?.signal?.aborted) throw new IrysAbortError; + + const buffer = Buffer.from(file.buffer); + const irysTx = irys.createTransaction(buffer, { + tags: getGenericFileTagsWithContentType(file), + }); + await irysTx.sign(); + const { status, data: {id} } = await irys.uploader.uploadTransaction(irysTx); + + if (status >= 300) throw new AssetUploadFailedError(status); + + manifestMap?.set(file.fileName, id) + + return id + }) + + if (manifestMap) { + const manifest = await irys.uploader.generateFolder({items: manifestMap}); + const {id} = await irys.upload(JSON.stringify(manifest), {tags: [ + { name: "Type", value: "manifest" }, + { name: "Content-Type", value: "application/x.irys-manifest+json" }, + // ...(options?.manifestTags ?? []), + ],}) + return [gatewayUrl(id)] + } - const promises = files.map(async (file) => { - const buffer = Buffer.from(file.buffer); - const irysTx = irys.createTransaction(buffer, { - tags: getGenericFileTagsWithContentType(file), - }); - await irysTx.sign(); - - const { status, data } = await irys.uploader.uploadTransaction(irysTx); - - if (status >= 300) { - throw new AssetUploadFailedError(status); - } - - return `https://gateway.irys.xyz/${data.id}`; - }); - - return Promise.all(promises); + return result.results.map(gatewayUrl) }; const uploadJson = async (json: T): Promise => { @@ -163,7 +185,7 @@ export function createIrysUploader( const getBalance = async (): Promise => { const irys = await getIrys(); - const balance = await irys.getLoadedBalance(); + const balance = await irys.getBalance(); return bigNumberToAmount(balance); }; @@ -176,7 +198,7 @@ export function createIrysUploader( let toFund = amountToBigNumber(amount); if (!skipBalanceCheck) { - const balance = await irys.getLoadedBalance(); + const balance = await irys.getBalance(); toFund = toFund.isGreaterThan(balance) ? toFund.minus(balance) @@ -191,17 +213,15 @@ export function createIrysUploader( }; const withdrawAll = async (): Promise => { - // TODO(loris): Replace with "withdrawAll" when available on Irys. const irys = await getIrys(); - const balance = await irys.getLoadedBalance(); + const balance = await irys.getBalance(); const minimumBalance = new BigNumber(5000); if (balance.isLessThan(minimumBalance)) { return; } - const balanceToWithdraw = balance.minus(minimumBalance); - await withdraw(bigNumberToAmount(balanceToWithdraw)); + await irys.withdrawAll() }; const withdraw = async (amount: SolAmount): Promise => { @@ -215,9 +235,9 @@ export function createIrysUploader( } }; - const getIrys = async (): Promise => { + const getIrys = async (): Promise => { const oldPayer = _irys?.getSigner().publicKey; - const newPayer = options.payer ?? context.payer; + const newPayer = uploaderOptions.payer ?? context.payer; if ( oldPayer && publicKey(new Uint8Array(oldPayer)) !== newPayer.publicKey @@ -232,19 +252,19 @@ export function createIrysUploader( return _irys; }; - const initIrys = async (): Promise => { + const initIrys = async (): Promise => { const currency = 'solana'; const defaultAddress = context.rpc.getCluster() === 'devnet' ? 'https://devnet.irys.xyz' - : 'https://node1.irys.xyz'; - const address = options?.address ?? defaultAddress; + : 'https://uploader.irys.xyz'; + const address = uploaderOptions?.address ?? defaultAddress; const irysOptions = { - timeout: options.timeout, - providerUrl: options.providerUrl, + timeout: uploaderOptions.timeout, + providerUrl: uploaderOptions.providerUrl, }; - const payer: Signer = options.payer ?? context.payer; + const payer: Signer = uploaderOptions.payer ?? context.payer; // If in node use node irys, else use web irys. const isNode = @@ -253,9 +273,9 @@ export function createIrysUploader( let irys; if (isNode && isKeypairSigner(payer)) - irys = await initNodeIrys(address, currency, payer, irysOptions); + irys = await initNodeIrys(address, payer, irysOptions); else { - irys = await initWebIrys(address, currency, payer, irysOptions); + irys = await initWebIrys(address, payer, irysOptions); } try { @@ -270,26 +290,19 @@ export function createIrysUploader( const initNodeIrys = async ( address: string, - currency: string, keypair: Keypair, options: any - ): Promise => { - const bPackage = _removeDoubleDefault(await import('@irys/sdk')); - // eslint-disable-next-line new-cap - return new bPackage.default({ - url: address, - token: currency, - key: keypair.secretKey, - config: options, - }); + ): Promise => { + const bPackage = _removeDoubleDefault(await import('@irys/upload')); + const cPackage = _removeDoubleDefault(await import('@irys/upload-solana')) + return bPackage.Uploader(cPackage.Solana).bundlerUrl(address).withWallet(keypair).withIrysConfig(options).build() }; const initWebIrys = async ( address: string, - currency: string, payer: Signer, options: any - ): Promise => { + ): Promise => { const wallet: IrysWalletAdapter = { publicKey: toWeb3JsPublicKey(payer.publicKey), signMessage: (message: Uint8Array) => payer.signMessage(message), @@ -335,13 +348,10 @@ export function createIrysUploader( }, }; - const bPackage = _removeDoubleDefault(await import('@irys/sdk')); - const irys = new bPackage.WebIrys({ - url: address, - token: currency, - wallet: { provider: wallet }, - config: options, - }); + const bPackage = _removeDoubleDefault(await import('@irys/web-upload')); + const cPackage = _removeDoubleDefault(await import('@irys/web-upload-solana')); + + const irys = await bPackage.WebUploader(cPackage.WebSolana).withProvider(wallet).bundlerUrl(address).withIrysConfig(options).build() try { // Try to initiate irys. diff --git a/packages/umi-uploader-irys/src/errors.ts b/packages/umi-uploader-irys/src/errors.ts index 713e521..3c7e583 100644 --- a/packages/umi-uploader-irys/src/errors.ts +++ b/packages/umi-uploader-irys/src/errors.ts @@ -26,7 +26,7 @@ export class FailedToConnectToIrysAddressError extends IrysError { const message = `Irys could not connect to the provided address [${address}]. ` + 'Please ensure the provided address is valid. Some valid addresses include: ' + - '"https://node1.irys.xyz" for mainnet and "https://devnet.irys.xyz" for devnet'; + '"https://uploader.irys.xyz" for mainnet and "https://devnet.irys.xyz" for devnet'; super(message, cause); } } @@ -52,3 +52,11 @@ export class IrysWithdrawError extends IrysError { super(message); } } + +export class IrysAbortError extends IrysError { + readonly name: string = 'IrysAbortError'; + + constructor() { + super("The upload was aborted"); + } +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a35baa5..a1e7e00 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -575,12 +575,24 @@ importers: packages/umi-uploader-irys: dependencies: - '@irys/sdk': - specifier: ^0.2.10 - version: 0.2.10(arweave@1.15.1) + '@irys/upload': + specifier: ^0.0.14 + version: 0.0.14(arweave@1.15.1) + '@irys/upload-solana': + specifier: ^0.1.7 + version: 0.1.7(arweave@1.15.1)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@irys/web-upload': + specifier: ^0.0.14 + version: 0.0.14(arweave@1.15.1) + '@irys/web-upload-solana': + specifier: ^0.1.7 + version: 0.1.7(arweave@1.15.1)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@metaplex-foundation/umi-web3js-adapters': specifier: workspace:^ version: link:../umi-web3js-adapters + '@supercharge/promise-pool': + specifier: ^3.2.0 + version: 3.2.0 bignumber.js: specifier: ^9.1.2 version: 9.1.2 @@ -694,40 +706,6 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true - /@aptos-labs/aptos-cli@0.2.0: - resolution: {integrity: sha512-6kljJFRsTLXCvgkNhBoOLhVyo7rmih+8+XAtdeciIXkZYwzwVS3TFPLMqBUO2HcY6gYtQQRmTG52R5ihyi/bXA==} - hasBin: true - dev: false - - /@aptos-labs/aptos-client@0.1.1: - resolution: {integrity: sha512-kJsoy4fAPTOhzVr7Vwq8s/AUg6BQiJDa7WOqRzev4zsuIS3+JCuIZ6vUd7UBsjnxtmguJJulMRs9qWCzVBt2XA==} - engines: {node: '>=15.10.0'} - dependencies: - axios: 1.7.4 - got: 11.8.6 - transitivePeerDependencies: - - debug - dev: false - - /@aptos-labs/ts-sdk@1.27.1: - resolution: {integrity: sha512-QS4BlivXQy/uJgXcNOfXNjv8l+MSd+qQ256mY/Jc6iaWbfn69nRYh6chjSyLot4fHA49QxlZlWh1mJLlfNdtow==} - engines: {node: '>=11.0.0'} - dependencies: - '@aptos-labs/aptos-cli': 0.2.0 - '@aptos-labs/aptos-client': 0.1.1 - '@noble/curves': 1.5.0 - '@noble/hashes': 1.4.0 - '@scure/bip32': 1.4.0 - '@scure/bip39': 1.3.0 - eventemitter3: 5.0.1 - form-data: 4.0.0 - js-base64: 3.7.7 - jwt-decode: 4.0.0 - poseidon-lite: 0.2.1 - transitivePeerDependencies: - - debug - dev: false - /@assemblyscript/loader@0.9.4: resolution: {integrity: sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA==} dev: false @@ -2954,6 +2932,13 @@ packages: dependencies: regenerator-runtime: 0.13.11 + /@babel/runtime@7.26.0: + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: false + /@babel/template@7.18.10: resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} engines: {node: '>=6.9.0'} @@ -3905,8 +3890,37 @@ packages: - debug dev: false - /@irys/query@0.0.8: - resolution: {integrity: sha512-J8zCZDos2vFogSbroCJHZJq5gnPZEal01Iy3duXAotjIMgrI2ElDANiqEbaP1JAImR1jdUo1ChJnZB7MRLN9Hw==} + /@irys/bundles@0.0.1(arweave@1.15.1): + resolution: {integrity: sha512-yeQNzElERksFbfbNxJQsMkhtkI3+tNqIMZ/Wwxh76NVBmCnCP5huefOv7ET0MOO7TEQL+TqvKSqmFklYSvTyHw==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/providers': 5.7.2 + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wallet': 5.7.0 + '@irys/arweave': 0.0.2 + '@noble/ed25519': 1.7.1 + base64url: 3.0.1 + bs58: 4.0.1 + keccak: 3.0.3 + secp256k1: 5.0.0 + optionalDependencies: + '@randlabs/myalgo-connect': 1.4.2 + algosdk: 1.24.1 + arweave-stream-tx: 1.2.2(arweave@1.15.1) + multistream: 4.1.0 + tmp-promise: 3.0.3 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding + - utf-8-validate + dev: false + + /@irys/query@0.0.9: + resolution: {integrity: sha512-uBIy8qeOQupUSBzR+1KU02JJXFp5Ue9l810PIbBF/ylUB8RTreUFkyyABZ7J3FUaOIXFYrT7WVFSJSzXM7P+8w==} engines: {node: '>=16.10.0'} dependencies: async-retry: 1.3.3 @@ -3915,43 +3929,106 @@ packages: - debug dev: false - /@irys/sdk@0.2.10(arweave@1.15.1): - resolution: {integrity: sha512-LbWyU5nIi+CjS5VswOW9hv5szsYgVaCXnvGzcFkm4ZEa+yF918DztNNbc1QU3GeDhU7ttBj64/yfHzrmOFPHrg==} - engines: {node: '>=16.10.0'} - hasBin: true + /@irys/upload-core@0.0.9(arweave@1.15.1): + resolution: {integrity: sha512-Ha4pX8jgYBA3dg5KHDPk+Am0QO+SmvnmgCwKa6uiDXZKuVr0neSx4V1OAHoP+As+j7yYgfChdsdrvsNzZGGehA==} dependencies: - '@aptos-labs/ts-sdk': 1.27.1 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/contracts': 5.7.0 - '@ethersproject/providers': 5.7.2 - '@ethersproject/wallet': 5.7.0 - '@irys/query': 0.0.8 - '@near-js/crypto': 0.0.3 - '@near-js/keystores-browser': 0.0.3 - '@near-js/providers': 0.0.4 - '@near-js/transactions': 0.1.1 - '@solana/web3.js': 1.72.0 - '@supercharge/promise-pool': 3.1.0 - algosdk: 1.24.1 - arbundles: 0.11.1(arweave@1.15.1) + '@irys/bundles': 0.0.1(arweave@1.15.1) + '@irys/query': 0.0.9 + '@supercharge/promise-pool': 3.2.0 async-retry: 1.3.3 axios: 1.7.5 base64url: 3.0.1 bignumber.js: 9.1.2 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding + - utf-8-validate + dev: false + + /@irys/upload-solana@0.1.7(arweave@1.15.1)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): + resolution: {integrity: sha512-gHrEA6fCN2cEpBLM+urHRd0SeHcx6aOpNHPPeDS64tHXORrz4dU8F+OxWyy9wsCQNQd/wzrZldu/qncvcqkv6g==} + dependencies: + '@irys/bundles': 0.0.1(arweave@1.15.1) + '@irys/upload': 0.0.14(arweave@1.15.1) + '@irys/upload-core': 0.0.9(arweave@1.15.1) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0 + async-retry: 1.3.3 + bignumber.js: 9.1.2 bs58: 5.0.0 - commander: 8.3.0 - csv: 5.5.3 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + dev: false + + /@irys/upload@0.0.14(arweave@1.15.1): + resolution: {integrity: sha512-6XdkyS5cVINcPjv1MzA6jDsawfG7Bw6sq5wilNx5B4X7nNotBPC3SuRrZs06G/0BTUj15W+TRO/tZTDWRUfZzA==} + dependencies: + '@irys/bundles': 0.0.1(arweave@1.15.1) + '@irys/upload-core': 0.0.9(arweave@1.15.1) + async-retry: 1.3.3 + axios: 1.7.5 + base64url: 3.0.1 + bignumber.js: 9.1.2 + csv-parse: 5.6.0 + csv-stringify: 6.5.2 inquirer: 8.2.5 - js-sha256: 0.9.0 mime-types: 2.1.35 - near-seed-phrase: 0.2.0 - tslib: 2.7.0 transitivePeerDependencies: - arweave - bufferutil - debug - encoding + - utf-8-validate + dev: false + + /@irys/web-upload-solana@0.1.7(arweave@1.15.1)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): + resolution: {integrity: sha512-LNNhdSdz4u/MXNxkXHS6iPuMB4wqgVBQwK3sKbJPXUMLrb961FNwyJ3S6N2BJmf8jpsQvjd0QoMRp8isxKizSg==} + dependencies: + '@irys/bundles': 0.0.1(arweave@1.15.1) + '@irys/upload-core': 0.0.9(arweave@1.15.1) + '@irys/web-upload': 0.0.14(arweave@1.15.1) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0 + async-retry: 1.3.3 + bignumber.js: 9.1.2 + bs58: 5.0.0 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder - supports-color + - typescript + - utf-8-validate + dev: false + + /@irys/web-upload@0.0.14(arweave@1.15.1): + resolution: {integrity: sha512-vBIslG2KSGyeJjZNTbSvLmGO/bbHS1jcDkD0A1aLgx7xkiTpfdbXOrn4hznPkzQhPtluX4aL44On0GXrEcD8eQ==} + dependencies: + '@irys/bundles': 0.0.1(arweave@1.15.1) + '@irys/upload-core': 0.0.9(arweave@1.15.1) + async-retry: 1.3.3 + axios: 1.7.5 + base64url: 3.0.1 + bignumber.js: 9.1.2 + mime-types: 2.1.35 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding - utf-8-validate dev: false @@ -4131,130 +4208,6 @@ packages: murmurhash3js-revisited: 3.0.0 dev: false - /@near-js/crypto@0.0.3: - resolution: {integrity: sha512-3WC2A1a1cH8Cqrx+0iDjp1ASEEhxN/KHEMENYb0KZH6Hp5bXIY7Akt4quC7JlgJS5ESvEiLa40tS5h0zAhBWGw==} - dependencies: - '@near-js/types': 0.0.3 - bn.js: 5.2.1 - borsh: 0.7.0 - tweetnacl: 1.0.3 - dev: false - - /@near-js/crypto@0.0.4: - resolution: {integrity: sha512-2mSIVv6mZway1rQvmkktrXAFoUvy7POjrHNH3LekKZCMCs7qMM/23Hz2+APgxZPqoV2kjarSNOEYJjxO7zQ/rQ==} - dependencies: - '@near-js/types': 0.0.4 - bn.js: 5.2.1 - borsh: 0.7.0 - tweetnacl: 1.0.3 - dev: false - - /@near-js/keystores-browser@0.0.3: - resolution: {integrity: sha512-Ve/JQ1SBxdNk3B49lElJ8Y54AoBY+yOStLvdnUIpe2FBOczzwDCkcnPcMDV0NMwVlHpEnOWICWHbRbAkI5Vs+A==} - dependencies: - '@near-js/crypto': 0.0.3 - '@near-js/keystores': 0.0.3 - dev: false - - /@near-js/keystores@0.0.3: - resolution: {integrity: sha512-mnwLYUt4Td8u1I4QE1FBx2d9hMt3ofiriE93FfOluJ4XiqRqVFakFYiHg6pExg5iEkej/sXugBUFeQ4QizUnew==} - dependencies: - '@near-js/crypto': 0.0.3 - '@near-js/types': 0.0.3 - dev: false - - /@near-js/keystores@0.0.4: - resolution: {integrity: sha512-+vKafmDpQGrz5py1liot2hYSjPGXwihveeN+BL11aJlLqZnWBgYJUWCXG+uyGjGXZORuy2hzkKK6Hi+lbKOfVA==} - dependencies: - '@near-js/crypto': 0.0.4 - '@near-js/types': 0.0.4 - dev: false - - /@near-js/providers@0.0.4: - resolution: {integrity: sha512-g/2pJTYmsIlTW4mGqeRlqDN9pZeN+1E2/wfoMIf3p++boBVxVlaSebtQgawXAf2lkfhb9RqXz5pHqewXIkTBSw==} - dependencies: - '@near-js/transactions': 0.1.0 - '@near-js/types': 0.0.3 - '@near-js/utils': 0.0.3 - bn.js: 5.2.1 - borsh: 0.7.0 - http-errors: 1.8.1 - optionalDependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - dev: false - - /@near-js/signers@0.0.3: - resolution: {integrity: sha512-u1R+DDIua5PY1PDFnpVYqdMgQ7c4dyeZsfqMjE7CtgzdqupgTYCXzJjBubqMlAyAx843PoXmLt6CSSKcMm0WUA==} - dependencies: - '@near-js/crypto': 0.0.3 - '@near-js/keystores': 0.0.3 - js-sha256: 0.9.0 - dev: false - - /@near-js/signers@0.0.4: - resolution: {integrity: sha512-xCglo3U/WIGsz/izPGFMegS5Q3PxOHYB8a1E7RtVhNm5QdqTlQldLCm/BuMg2G/u1l1ZZ0wdvkqRTG9joauf3Q==} - dependencies: - '@near-js/crypto': 0.0.4 - '@near-js/keystores': 0.0.4 - js-sha256: 0.9.0 - dev: false - - /@near-js/transactions@0.1.0: - resolution: {integrity: sha512-OrrDFqhX0rtH+6MV3U3iS+zmzcPQI+L4GJi9na4Uf8FgpaVPF0mtSmVrpUrS5CC3LwWCzcYF833xGYbXOV4Kfg==} - dependencies: - '@near-js/crypto': 0.0.3 - '@near-js/signers': 0.0.3 - '@near-js/types': 0.0.3 - '@near-js/utils': 0.0.3 - bn.js: 5.2.1 - borsh: 0.7.0 - js-sha256: 0.9.0 - dev: false - - /@near-js/transactions@0.1.1: - resolution: {integrity: sha512-Fk83oLLFK7nz4thawpdv9bGyMVQ2i48iUtZEVYhuuuqevl17tSXMlhle9Me1ZbNyguJG/cWPdNybe1UMKpyGxA==} - dependencies: - '@near-js/crypto': 0.0.4 - '@near-js/signers': 0.0.4 - '@near-js/types': 0.0.4 - '@near-js/utils': 0.0.4 - bn.js: 5.2.1 - borsh: 0.7.0 - js-sha256: 0.9.0 - dev: false - - /@near-js/types@0.0.3: - resolution: {integrity: sha512-gC3iGUT+r2JjVsE31YharT+voat79ToMUMLCGozHjp/R/UW1M2z4hdpqTUoeWUBGBJuVc810gNTneHGx0jvzwQ==} - dependencies: - bn.js: 5.2.1 - dev: false - - /@near-js/types@0.0.4: - resolution: {integrity: sha512-8TTMbLMnmyG06R5YKWuS/qFG1tOA3/9lX4NgBqQPsvaWmDsa+D+QwOkrEHDegped0ZHQwcjAXjKML1S1TyGYKg==} - dependencies: - bn.js: 5.2.1 - dev: false - - /@near-js/utils@0.0.3: - resolution: {integrity: sha512-J72n/EL0VfLRRb4xNUF4rmVrdzMkcmkwJOhBZSTWz3PAZ8LqNeU9ZConPfMvEr6lwdaD33ZuVv70DN6IIjPr1A==} - dependencies: - '@near-js/types': 0.0.3 - bn.js: 5.2.1 - depd: 2.0.0 - mustache: 4.2.0 - dev: false - - /@near-js/utils@0.0.4: - resolution: {integrity: sha512-mPUEPJbTCMicGitjEGvQqOe8AS7O4KkRCxqd0xuE/X6gXF1jz1pYMZn4lNUeUz2C84YnVSGLAM0o9zcN6Y4hiA==} - dependencies: - '@near-js/types': 0.0.4 - bn.js: 5.2.1 - depd: 2.0.0 - mustache: 4.2.0 - dev: false - /@nftstorage/metaplex-auth@1.2.0(node-fetch@2.6.9)(typescript@4.9.5): resolution: {integrity: sha512-ffT/cZv1GWXDVrwzNUGGxApDwQJSxUZJAqnPpTk5VBc55T2RtUm2yZ11p74h2fyam1erJH38zg7S9IoaTxSZ8w==} dependencies: @@ -4291,12 +4244,6 @@ packages: '@noble/hashes': 1.3.0 dev: false - /@noble/curves@1.4.2: - resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - dependencies: - '@noble/hashes': 1.4.0 - dev: false - /@noble/curves@1.5.0: resolution: {integrity: sha512-J5EKamIHnKPyClwVrzmaf5wSdQXgdHcPZIZLu3bwnbeCx8/7NPK5q2ZBWF+5FvYGByjiQQsJYX6jfgB2wDPn3A==} dependencies: @@ -4636,25 +4583,6 @@ packages: picomatch: 2.3.1 dev: true - /@scure/base@1.1.7: - resolution: {integrity: sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g==} - dev: false - - /@scure/bip32@1.4.0: - resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} - dependencies: - '@noble/curves': 1.4.2 - '@noble/hashes': 1.4.0 - '@scure/base': 1.1.7 - dev: false - - /@scure/bip39@1.3.0: - resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} - dependencies: - '@noble/hashes': 1.4.0 - '@scure/base': 1.1.7 - dev: false - /@sideway/address@4.1.4: resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} dependencies: @@ -4672,6 +4600,7 @@ packages: /@sindresorhus/is@4.6.0: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} + dev: true /@sinonjs/commons@1.8.6: resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} @@ -4736,7 +4665,6 @@ packages: - encoding - supports-color - utf-8-validate - dev: true /@solana/buffer-layout@4.0.0: resolution: {integrity: sha512-lR0EMP2HC3+Mxwd4YcnZb0smnaDw7Bl2IQWZiTevRH5ZZBZn6VRWn3/92E3qdU4SSImJkA6IDHawOHAnx/qUvQ==} @@ -4744,6 +4672,123 @@ packages: dependencies: buffer: 6.0.3 + /@solana/buffer-layout@4.0.1: + resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} + engines: {node: '>=5.10'} + dependencies: + buffer: 6.0.3 + dev: false + + /@solana/codecs-core@2.0.0-rc.1(typescript@5.7.2): + resolution: {integrity: sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==} + peerDependencies: + typescript: '>=5' + dependencies: + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + dev: false + + /@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.2): + resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} + peerDependencies: + typescript: '>=5' + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + dev: false + + /@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.2): + resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} + peerDependencies: + typescript: '>=5' + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + dev: false + + /@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): + resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5' + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.7.2 + dev: false + + /@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): + resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} + peerDependencies: + typescript: '>=5' + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + dev: false + + /@solana/errors@2.0.0-rc.1(typescript@5.7.2): + resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} + hasBin: true + peerDependencies: + typescript: '>=5' + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 5.7.2 + dev: false + + /@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): + resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} + peerDependencies: + typescript: '>=5' + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + dev: false + + /@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): + resolution: {integrity: sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + dev: false + + /@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): + resolution: {integrity: sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + dev: false + /@solana/spl-token-registry@0.2.4574: resolution: {integrity: sha512-JzlfZmke8Rxug20VT/VpI2XsXlsqMlcORIUivF+Yucj7tFi7A0dXG7h+2UnD0WaZJw8BrUz2ABNkUnv89vbv1A==} engines: {node: '>=10'} @@ -4766,6 +4811,27 @@ packages: - utf-8-validate dev: true + /@solana/spl-token@0.4.9(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): + resolution: {integrity: sha512-g3wbj4F4gq82YQlwqhPB0gHFXfgsC6UmyGMxtSLf/BozT/oKd59465DbnlUK8L8EcimKMavxsVAMoLcEdeCicg==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + dependencies: + '@solana/buffer-layout': 4.0.0 + '@solana/buffer-layout-utils': 0.2.0 + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0 + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + dev: false + /@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.72.0): resolution: {integrity: sha512-apqMuYwFp1jFi55NxDfvXUX2x1T0Zh07MxhZ/nCCTGys5raSfYUh82zen2BLv8BSDj/JxZ2P/s7jrQZGrX8uAw==} engines: {node: '>=16'} @@ -4813,21 +4879,52 @@ packages: - supports-color - utf-8-validate + /@solana/web3.js@1.98.0: + resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.5.0 + '@noble/hashes': 1.4.0 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.6.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3 + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + dev: false + /@supercharge/promise-pool@2.4.0: resolution: {integrity: sha512-O9CMipBlq5OObdt1uKJGIzm9cdjpPWfj+a+Zw9EgWKxaMNHKC7EU7X9taj3H0EGQNLOSq2jAcOa3EzxlfHsD6w==} engines: {node: '>=8'} dev: false - /@supercharge/promise-pool@3.1.0: - resolution: {integrity: sha512-gB3NukbIcYzRtPoE6dx9svQYPodxvnfQlaaQd8N/z87E6WaMfRE7o5HwB+LZ+KeM0nsNAq1n4TmBtfz1VCUR+Q==} + /@supercharge/promise-pool@3.2.0: + resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} engines: {node: '>=8'} dev: false + /@swc/helpers@0.5.15: + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + dependencies: + tslib: 2.8.1 + dev: false + /@szmarczak/http-timer@4.0.6: resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} dependencies: defer-to-connect: 2.0.1 + dev: true /@tootallnate/once@1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} @@ -4872,6 +4969,7 @@ packages: '@types/keyv': 3.1.4 '@types/node': 18.11.11 '@types/responselike': 1.0.0 + dev: true /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} @@ -4929,6 +5027,7 @@ packages: /@types/http-cache-semantics@4.0.1: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + dev: true /@types/is-ci@3.0.0: resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} @@ -4948,6 +5047,7 @@ packages: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: '@types/node': 18.11.11 + dev: true /@types/long@4.0.2: resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} @@ -5023,6 +5123,7 @@ packages: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: '@types/node': 18.11.11 + dev: true /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -5058,11 +5159,21 @@ packages: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true + /@types/uuid@8.3.4: + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + dev: false + /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: '@types/node': 18.11.11 + /@types/ws@8.5.13: + resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + dependencies: + '@types/node': 18.11.11 + dev: false + /@typescript-eslint/eslint-plugin@5.51.0(@typescript-eslint/parser@5.51.0)(eslint@8.33.0)(typescript@4.9.5): resolution: {integrity: sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5613,6 +5724,13 @@ packages: transitivePeerDependencies: - supports-color + /agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} + dependencies: + humanize-ms: 1.2.1 + dev: false + /aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -5746,35 +5864,6 @@ packages: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: true - /arbundles@0.11.1(arweave@1.15.1): - resolution: {integrity: sha512-H1hyI98VTggH7pyxaa6jKuzB3UYHKSwRQChT2pJp8uGGv20FQEQjug/n+mza4yM8dMcLHwXji0PLpmKQKoJs+g==} - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/providers': 5.7.2 - '@ethersproject/signing-key': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/wallet': 5.7.0 - '@irys/arweave': 0.0.2 - '@noble/ed25519': 1.7.1 - base64url: 3.0.1 - bs58: 4.0.1 - keccak: 3.0.3 - secp256k1: 5.0.0 - optionalDependencies: - '@randlabs/myalgo-connect': 1.4.2 - algosdk: 1.24.1 - arweave-stream-tx: 1.2.2(arweave@1.15.1) - multistream: 4.1.0 - tmp-promise: 3.0.3 - transitivePeerDependencies: - - arweave - - bufferutil - - debug - - encoding - - utf-8-validate - dev: false - /arbundles@0.6.23(@solana/web3.js@1.72.0): resolution: {integrity: sha512-+gr93F3fivN+6dhiImT6BQNaXz4oECPn2GYjCZjS2yEoq7hM78FRvVp6kQyjEdhnuBFQr/q4oS/nkjnQlHdj9Q==} dependencies: @@ -6093,16 +6182,6 @@ packages: transitivePeerDependencies: - debug - /axios@1.7.4: - resolution: {integrity: sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==} - dependencies: - follow-redirects: 1.15.6 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: false - /axios@1.7.5: resolution: {integrity: sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==} dependencies: @@ -6466,6 +6545,7 @@ packages: /cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'} + dev: true /cacheable-request@7.0.2: resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} @@ -6478,6 +6558,7 @@ packages: lowercase-keys: 2.0.0 normalize-url: 6.1.0 responselike: 2.0.1 + dev: true /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} @@ -6561,6 +6642,11 @@ packages: engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true + /chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: false + /character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} dev: true @@ -6697,6 +6783,7 @@ packages: resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} dependencies: mimic-response: 1.0.1 + dev: true /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} @@ -6765,6 +6852,11 @@ packages: typical: 5.2.0 dev: false + /commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + dev: false + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -6974,6 +7066,7 @@ packages: /csv-generate@3.4.3: resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + dev: true /csv-generate@4.3.0: resolution: {integrity: sha512-7KdVId/2RgwPIKfWHaHtjBq7I9mgdi8ICzsUyIhP8is6UwpwVGGSC/aPnrZ8/SkgBcCP20lXrdPuP64Irs1VBg==} @@ -6981,18 +7074,28 @@ packages: /csv-parse@4.16.3: resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + dev: true /csv-parse@5.5.2: resolution: {integrity: sha512-YRVtvdtUNXZCMyK5zd5Wty1W6dNTpGKdqQd4EQ8tl/c6KW1aMBB1Kg1ppky5FONKmEqGJ/8WjLlTNLPne4ioVA==} dev: false + /csv-parse@5.6.0: + resolution: {integrity: sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q==} + dev: false + /csv-stringify@5.6.5: resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + dev: true /csv-stringify@6.4.4: resolution: {integrity: sha512-NDshLupGa7gp4UG4sSNIqwYJqgSwvds0SvENntxoVoVvTzXcrHvd5gG2MWpbRpSNvk59dlmIe1IwNvSxN4IVmg==} dev: false + /csv-stringify@6.5.2: + resolution: {integrity: sha512-RFPahj0sXcmUyjrObAK+DOWtMvMIFV328n4qZJhgX3x2RqkQgOTU2mCUmiFR0CzM6AzChlRSUErjiJeEt8BaQA==} + dev: false + /csv@5.5.3: resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} engines: {node: '>= 0.1.90'} @@ -7001,6 +7104,7 @@ packages: csv-parse: 4.16.3 csv-stringify: 5.6.5 stream-transform: 2.1.3 + dev: true /csv@6.3.5: resolution: {integrity: sha512-Y+KTCAUljtq2JaGP42ZL1bymqlU5BkfnFpZhxRczGFDZox2VXhlRHnG5DRshyUrwQzmCdEiLjSqNldCfm1OVCA==} @@ -7115,6 +7219,7 @@ packages: engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 + dev: true /deep-diff@1.0.2: resolution: {integrity: sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==} @@ -7146,6 +7251,7 @@ packages: /defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} + dev: true /define-properties@1.1.4: resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} @@ -7407,6 +7513,7 @@ packages: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 + dev: true /engine.io-client@6.2.3: resolution: {integrity: sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==} @@ -8339,6 +8446,10 @@ packages: strnum: 1.0.5 dev: true + /fastestsmallesttextencoderdecoder@1.0.22: + resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} + dev: false + /fastq@1.14.0: resolution: {integrity: sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==} dependencies: @@ -8682,6 +8793,7 @@ packages: engines: {node: '>=8'} dependencies: pump: 3.0.0 + dev: true /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} @@ -8833,6 +8945,7 @@ packages: lowercase-keys: 2.0.0 p-cancelable: 2.1.1 responselike: 2.0.1 + dev: true /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} @@ -8969,6 +9082,7 @@ packages: /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: true /http-errors@1.8.1: resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} @@ -9014,6 +9128,7 @@ packages: dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 + dev: true /https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} @@ -9683,6 +9798,14 @@ packages: engines: {node: '>=12'} dev: false + /isomorphic-ws@4.0.1(ws@7.5.10): + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + dependencies: + ws: 7.5.10 + dev: false + /isomorphic-ws@4.0.1(ws@7.5.9): resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} peerDependencies: @@ -9787,6 +9910,28 @@ packages: - bufferutil - utf-8-validate + /jayson@4.1.3: + resolution: {integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@types/connect': 3.4.35 + '@types/node': 12.20.55 + '@types/ws': 7.4.7 + JSONStream: 1.3.5 + commander: 2.20.3 + delay: 5.0.0 + es6-promisify: 5.0.0 + eyes: 0.1.8 + isomorphic-ws: 4.0.1(ws@7.5.10) + json-stringify-safe: 5.0.1 + uuid: 8.3.2 + ws: 7.5.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + /jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: true @@ -9801,10 +9946,6 @@ packages: '@sideway/pinpoint': 2.0.0 dev: true - /js-base64@3.7.7: - resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} - dev: false - /js-sdsl@4.2.0: resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==} dev: true @@ -9868,6 +10009,7 @@ packages: /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -9972,11 +10114,6 @@ packages: resolution: {integrity: sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==} dev: true - /jwt-decode@4.0.0: - resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} - engines: {node: '>=18'} - dev: false - /keccak@3.0.3: resolution: {integrity: sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==} engines: {node: '>=10.0.0'} @@ -9991,6 +10128,7 @@ packages: resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} dependencies: json-buffer: 3.0.1 + dev: true /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} @@ -10137,6 +10275,7 @@ packages: /lowercase-keys@2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} + dev: true /lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} @@ -10755,10 +10894,12 @@ packages: /mimic-response@1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} + dev: true /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} + dev: true /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} @@ -10839,6 +10980,7 @@ packages: /mixme@0.5.4: resolution: {integrity: sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==} engines: {node: '>= 8.0.0'} + dev: true /mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} @@ -11144,7 +11286,6 @@ packages: dependencies: whatwg-url: 5.0.0 dev: false - optional: true /node-gyp-build@4.5.0: resolution: {integrity: sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==} @@ -11193,6 +11334,7 @@ packages: /normalize-url@6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} + dev: true /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} @@ -11345,6 +11487,7 @@ packages: /p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} + dev: true /p-defer@1.0.0: resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} @@ -11708,10 +11851,6 @@ packages: selective-whitespace: 1.0.4 dev: true - /poseidon-lite@0.2.1: - resolution: {integrity: sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog==} - dev: false - /postcss-discard-duplicates@5.1.0(postcss@8.4.19): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} @@ -11950,6 +12089,7 @@ packages: dependencies: end-of-stream: 1.4.4 once: 1.4.0 + dev: true /pumpify@1.5.1: resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} @@ -11988,6 +12128,7 @@ packages: /quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} + dev: true /rabin-wasm@0.1.5: resolution: {integrity: sha512-uWgQTo7pim1Rnj5TuWcCewRDTf0PEFTSlaUjWP4eY9EbLV9em08v89oCz/WO+wRxpYuO36XEHp4wgYQnAgOHzA==} @@ -12135,6 +12276,10 @@ packages: /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: false + /regenerator-transform@0.15.1: resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} dependencies: @@ -12239,6 +12384,7 @@ packages: /resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + dev: true /resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} @@ -12269,6 +12415,7 @@ packages: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} dependencies: lowercase-keys: 2.0.0 + dev: true /restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} @@ -12353,6 +12500,21 @@ packages: bufferutil: 4.0.8 utf-8-validate: 5.0.10 + /rpc-websockets@9.0.4: + resolution: {integrity: sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==} + dependencies: + '@swc/helpers': 0.5.15 + '@types/uuid': 8.3.4 + '@types/ws': 8.5.13 + buffer: 6.0.3 + eventemitter3: 5.0.1 + uuid: 8.3.2 + ws: 8.11.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 + dev: false + /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -12849,6 +13011,7 @@ packages: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} dependencies: mixme: 0.5.4 + dev: true /stream-transform@3.2.10: resolution: {integrity: sha512-Yu+x7zcWbWdyB0Td8dFzHt2JEyD6694CNq2lqh1rbuEBVxPtjb/GZ7xDnZcdYiU5E/RtufM54ClSEOzZDeWguA==} @@ -12976,6 +13139,11 @@ packages: /superstruct@0.14.2: resolution: {integrity: sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==} + /superstruct@2.0.2: + resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} + engines: {node: '>=14.0.0'} + dev: false + /supertap@3.0.1: resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -13262,8 +13430,8 @@ packages: /tslib@2.4.1: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} - /tslib@2.7.0: - resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + /tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} dev: false /tsutils@3.21.0(typescript@4.9.5): @@ -13442,6 +13610,12 @@ packages: engines: {node: '>=4.2.0'} hasBin: true + /typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + dev: false + /typical@4.0.0: resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} engines: {node: '>=8'} @@ -13920,6 +14094,19 @@ packages: optional: true dev: false + /ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + /ws@7.5.9: resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} engines: {node: '>=8.3.0'} From 92e1ad0fd35d12d39e0cc8c789084b2bf7f1b976 Mon Sep 17 00:00:00 2001 From: JesseTheRobot Date: Tue, 7 Jan 2025 12:22:11 +0000 Subject: [PATCH 2/7] chore: lint files --- .../src/createIrysUploader.ts | 93 ++++++++++++------- packages/umi-uploader-irys/src/errors.ts | 4 +- 2 files changed, 61 insertions(+), 36 deletions(-) diff --git a/packages/umi-uploader-irys/src/createIrysUploader.ts b/packages/umi-uploader-irys/src/createIrysUploader.ts index e06ae99..f3bc8da 100644 --- a/packages/umi-uploader-irys/src/createIrysUploader.ts +++ b/packages/umi-uploader-irys/src/createIrysUploader.ts @@ -1,5 +1,5 @@ import type { BaseWebIrys } from '@irys/web-upload/dist/types/base'; -import type { BaseNodeIrys } from "@irys/upload/dist/types/base"; +import type { BaseNodeIrys } from '@irys/upload/dist/types/base'; import { Commitment, Context, @@ -35,6 +35,7 @@ import { } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; import { Buffer } from 'buffer'; +import PromisePool from '@supercharge/promise-pool'; import { AssetUploadFailedError, IrysWithdrawError, @@ -43,7 +44,6 @@ import { IrysAbortError, } from './errors'; // this is a dependency the irys client already requires, so using it here has no extra cost. -import PromisePool from '@supercharge/promise-pool'; /** * This method is necessary to import the Irys package on both ESM and CJS modules. @@ -81,7 +81,7 @@ export type IrysUploaderOptions = { providerUrl?: string; priceMultiplier?: number; payer?: Signer; - uploadConcurrency?: number + uploadConcurrency?: number; }; export type IrysWalletAdapter = { @@ -106,7 +106,7 @@ const HEADER_SIZE = 2_000; // Minimum file size for cost calculation. const MINIMUM_SIZE = 80_000; -const gatewayUrl = (id: string) => `https://gateway.irys.xyz/${id}` +const gatewayUrl = (id: string) => `https://gateway.irys.xyz/${id}`; export function createIrysUploader( context: Pick, @@ -138,43 +138,56 @@ export function createIrysUploader( return getUploadPriceFromBytes(bytes); }; - const upload = async (files: GenericFile[], options?: UploaderUploadOptions): Promise => { + const upload = async ( + files: GenericFile[], + options?: UploaderUploadOptions + ): Promise => { const irys = await getIrys(); const amount = await getUploadPrice(files); await fund(amount); - - const manifestMap = (options?.manifest === true) ? new Map() : undefined - const result = await PromisePool.for(files).withConcurrency(uploaderOptions.uploadConcurrency ?? 10) - .onTaskFinished((_, pool) => options?.onProgress?.(pool.processedPercentage())) + const manifestMap = options?.manifest === true ? new Map() : undefined; + + const result = await PromisePool.for(files) + .withConcurrency(uploaderOptions.uploadConcurrency ?? 10) + .onTaskFinished((_, pool) => + options?.onProgress?.(pool.processedPercentage()) + ) .process(async (file) => { - if(options?.signal?.aborted) throw new IrysAbortError; + if (options?.signal?.aborted) throw new IrysAbortError(); const buffer = Buffer.from(file.buffer); - const irysTx = irys.createTransaction(buffer, { - tags: getGenericFileTagsWithContentType(file), - }); - await irysTx.sign(); - const { status, data: {id} } = await irys.uploader.uploadTransaction(irysTx); + const irysTx = irys.createTransaction(buffer, { + tags: getGenericFileTagsWithContentType(file), + }); + await irysTx.sign(); + const { + status, + data: { id }, + } = await irys.uploader.uploadTransaction(irysTx); + + if (status >= 300) throw new AssetUploadFailedError(status); - if (status >= 300) throw new AssetUploadFailedError(status); - - manifestMap?.set(file.fileName, id) + manifestMap?.set(file.fileName, id); - return id - }) + return id; + }); if (manifestMap) { - const manifest = await irys.uploader.generateFolder({items: manifestMap}); - const {id} = await irys.upload(JSON.stringify(manifest), {tags: [ - { name: "Type", value: "manifest" }, - { name: "Content-Type", value: "application/x.irys-manifest+json" }, - // ...(options?.manifestTags ?? []), - ],}) - return [gatewayUrl(id)] + const manifest = await irys.uploader.generateFolder({ + items: manifestMap, + }); + const { id } = await irys.upload(JSON.stringify(manifest), { + tags: [ + { name: 'Type', value: 'manifest' }, + { name: 'Content-Type', value: 'application/x.irys-manifest+json' }, + // ...(options?.manifestTags ?? []), + ], + }); + return [gatewayUrl(id)]; } - return result.results.map(gatewayUrl) + return result.results.map(gatewayUrl); }; const uploadJson = async (json: T): Promise => { @@ -221,7 +234,7 @@ export function createIrysUploader( return; } - await irys.withdrawAll() + await irys.withdrawAll(); }; const withdraw = async (amount: SolAmount): Promise => { @@ -273,7 +286,7 @@ export function createIrysUploader( let irys; if (isNode && isKeypairSigner(payer)) - irys = await initNodeIrys(address, payer, irysOptions); + irys = await initNodeIrys(address, payer, irysOptions); else { irys = await initWebIrys(address, payer, irysOptions); } @@ -294,8 +307,13 @@ export function createIrysUploader( options: any ): Promise => { const bPackage = _removeDoubleDefault(await import('@irys/upload')); - const cPackage = _removeDoubleDefault(await import('@irys/upload-solana')) - return bPackage.Uploader(cPackage.Solana).bundlerUrl(address).withWallet(keypair).withIrysConfig(options).build() + const cPackage = _removeDoubleDefault(await import('@irys/upload-solana')); + return bPackage + .Uploader(cPackage.Solana) + .bundlerUrl(address) + .withWallet(keypair) + .withIrysConfig(options) + .build(); }; const initWebIrys = async ( @@ -349,9 +367,16 @@ export function createIrysUploader( }; const bPackage = _removeDoubleDefault(await import('@irys/web-upload')); - const cPackage = _removeDoubleDefault(await import('@irys/web-upload-solana')); + const cPackage = _removeDoubleDefault( + await import('@irys/web-upload-solana') + ); - const irys = await bPackage.WebUploader(cPackage.WebSolana).withProvider(wallet).bundlerUrl(address).withIrysConfig(options).build() + const irys = await bPackage + .WebUploader(cPackage.WebSolana) + .withProvider(wallet) + .bundlerUrl(address) + .withIrysConfig(options) + .build(); try { // Try to initiate irys. diff --git a/packages/umi-uploader-irys/src/errors.ts b/packages/umi-uploader-irys/src/errors.ts index 3c7e583..80f14c6 100644 --- a/packages/umi-uploader-irys/src/errors.ts +++ b/packages/umi-uploader-irys/src/errors.ts @@ -57,6 +57,6 @@ export class IrysAbortError extends IrysError { readonly name: string = 'IrysAbortError'; constructor() { - super("The upload was aborted"); + super('The upload was aborted'); } -} \ No newline at end of file +} From c33df615681f56f502c496c59d7ab418dff24c9a Mon Sep 17 00:00:00 2001 From: JesseTheRobot Date: Tue, 7 Jan 2025 12:24:17 +0000 Subject: [PATCH 3/7] chore: add changeset --- .changeset/dry-coats-film.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/dry-coats-film.md diff --git a/.changeset/dry-coats-film.md b/.changeset/dry-coats-film.md new file mode 100644 index 0000000..5162702 --- /dev/null +++ b/.changeset/dry-coats-film.md @@ -0,0 +1,5 @@ +--- +'@metaplex-foundation/umi-uploader-irys': minor +--- + +Update uploader-irys to use the latest packages From 243fc4109f3f3b84df341702fd56f4d9b8036d78 Mon Sep 17 00:00:00 2001 From: JesseTheRobot Date: Tue, 7 Jan 2025 12:31:17 +0000 Subject: [PATCH 4/7] chore: rename currency -> token --- packages/umi-uploader-irys/src/createIrysUploader.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/umi-uploader-irys/src/createIrysUploader.ts b/packages/umi-uploader-irys/src/createIrysUploader.ts index f3bc8da..2a6509e 100644 --- a/packages/umi-uploader-irys/src/createIrysUploader.ts +++ b/packages/umi-uploader-irys/src/createIrysUploader.ts @@ -266,7 +266,7 @@ export function createIrysUploader( }; const initIrys = async (): Promise => { - const currency = 'solana'; + const token = 'solana'; const defaultAddress = context.rpc.getCluster() === 'devnet' ? 'https://devnet.irys.xyz' @@ -293,7 +293,7 @@ export function createIrysUploader( try { // Check for valid irys node. - await irys.utils.getBundlerAddress(currency); + await irys.utils.getBundlerAddress(token); } catch (error) { throw new FailedToConnectToIrysAddressError(address, error as Error); } From 3398d8826e73aabbbdf9f77c1a80cdb764a9bfcc Mon Sep 17 00:00:00 2001 From: JesseTheRobot Date: Tue, 7 Jan 2025 12:35:58 +0000 Subject: [PATCH 5/7] chore: update dependency notice --- packages/umi-uploader-irys/src/createIrysUploader.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/umi-uploader-irys/src/createIrysUploader.ts b/packages/umi-uploader-irys/src/createIrysUploader.ts index 2a6509e..238ea13 100644 --- a/packages/umi-uploader-irys/src/createIrysUploader.ts +++ b/packages/umi-uploader-irys/src/createIrysUploader.ts @@ -43,7 +43,7 @@ import { FailedToInitializeIrysError, IrysAbortError, } from './errors'; -// this is a dependency the irys client already requires, so using it here has no extra cost. +// PromisePool is a dependency the Irys client already requires, so using it here has no extra cost. /** * This method is necessary to import the Irys package on both ESM and CJS modules. From da0d33573fe6ad34b0d5e7b1618302a1958b2fed Mon Sep 17 00:00:00 2001 From: Blockiosaurus Date: Tue, 7 Jan 2025 11:46:06 -0500 Subject: [PATCH 6/7] Clearing bundlr client which is deprecated. --- packages/umi-uploader-bundlr/CHANGELOG.md | 350 ------------- packages/umi-uploader-bundlr/README.md | 9 - .../umi-uploader-bundlr/babel.config.json | 3 - packages/umi-uploader-bundlr/package.json | 72 --- packages/umi-uploader-bundlr/rollup.config.js | 16 - .../src/createBundlrUploader.ts | 381 -------------- packages/umi-uploader-bundlr/src/errors.ts | 54 -- packages/umi-uploader-bundlr/src/index.ts | 3 - packages/umi-uploader-bundlr/src/plugin.ts | 11 - .../test/BundlrUploader.test.ts | 55 -- .../test/modules/cjs.test.cjs | 30 -- .../test/modules/esm.test.mjs | 28 - .../umi-uploader-bundlr/test/tsconfig.json | 11 - packages/umi-uploader-bundlr/tsconfig.json | 8 - pnpm-lock.yaml | 493 ++---------------- 15 files changed, 50 insertions(+), 1474 deletions(-) delete mode 100644 packages/umi-uploader-bundlr/CHANGELOG.md delete mode 100644 packages/umi-uploader-bundlr/README.md delete mode 100644 packages/umi-uploader-bundlr/babel.config.json delete mode 100644 packages/umi-uploader-bundlr/package.json delete mode 100644 packages/umi-uploader-bundlr/rollup.config.js delete mode 100644 packages/umi-uploader-bundlr/src/createBundlrUploader.ts delete mode 100644 packages/umi-uploader-bundlr/src/errors.ts delete mode 100644 packages/umi-uploader-bundlr/src/index.ts delete mode 100644 packages/umi-uploader-bundlr/src/plugin.ts delete mode 100644 packages/umi-uploader-bundlr/test/BundlrUploader.test.ts delete mode 100644 packages/umi-uploader-bundlr/test/modules/cjs.test.cjs delete mode 100644 packages/umi-uploader-bundlr/test/modules/esm.test.mjs delete mode 100644 packages/umi-uploader-bundlr/test/tsconfig.json delete mode 100644 packages/umi-uploader-bundlr/tsconfig.json diff --git a/packages/umi-uploader-bundlr/CHANGELOG.md b/packages/umi-uploader-bundlr/CHANGELOG.md deleted file mode 100644 index b82624c..0000000 --- a/packages/umi-uploader-bundlr/CHANGELOG.md +++ /dev/null @@ -1,350 +0,0 @@ -# @metaplex-foundation/umi-uploader-bundlr - -## 0.9.2 - -### Patch Changes - -- Updated dependencies [[`6276f96`](https://github.com/metaplex-foundation/umi/commit/6276f9651f91b973b474cb63a0457917b09ed292)]: - - @metaplex-foundation/umi@0.9.2 - - @metaplex-foundation/umi-web3js-adapters@0.9.2 - -## 0.9.1 - -### Patch Changes - -- Updated dependencies [[`c450559`](https://github.com/metaplex-foundation/umi/commit/c4505599778ca53695b9762f523fd39f813a0ec9), [`7c03bd1`](https://github.com/metaplex-foundation/umi/commit/7c03bd1841e14f9352d0c166e5d5e305a543c77a)]: - - @metaplex-foundation/umi@0.9.1 - - @metaplex-foundation/umi-web3js-adapters@0.9.1 - -## 0.9.0 - -### Patch Changes - -- Updated dependencies [[`703bace`](https://github.com/metaplex-foundation/umi/commit/703baceb19155a53923eb63b99fdb08e7bf7cce8)]: - - @metaplex-foundation/umi@0.9.0 - - @metaplex-foundation/umi-web3js-adapters@0.9.0 - -## 0.8.10 - -### Patch Changes - -- Updated dependencies [[`4b4061a`](https://github.com/metaplex-foundation/umi/commit/4b4061a10ba615585aff9c2c4256137cc39fa68c)]: - - @metaplex-foundation/umi@0.8.10 - - @metaplex-foundation/umi-web3js-adapters@0.8.10 - -## 0.8.9 - -### Patch Changes - -- [#86](https://github.com/metaplex-foundation/umi/pull/86) [`05e4f9f`](https://github.com/metaplex-foundation/umi/commit/05e4f9ffa4e73d9db8442b26cd32577dc32075c2) Thanks [@lorisleiva](https://github.com/lorisleiva)! - Add types file to package.json exports - -- Updated dependencies [[`05e4f9f`](https://github.com/metaplex-foundation/umi/commit/05e4f9ffa4e73d9db8442b26cd32577dc32075c2)]: - - @metaplex-foundation/umi-web3js-adapters@0.8.9 - - @metaplex-foundation/umi@0.8.9 - -## 0.8.8 - -### Patch Changes - -- Updated dependencies []: - - @metaplex-foundation/umi@0.8.8 - - @metaplex-foundation/umi-web3js-adapters@0.8.8 - -## 0.8.7 - -### Patch Changes - -- Updated dependencies [[`7b675bc`](https://github.com/metaplex-foundation/umi/commit/7b675bc08b9442148282f35219cf8163545f160d)]: - - @metaplex-foundation/umi@0.8.7 - - @metaplex-foundation/umi-web3js-adapters@0.8.7 - -## 0.8.6 - -### Patch Changes - -- Updated dependencies [[`aba3519`](https://github.com/metaplex-foundation/umi/commit/aba35199c9f481b5aaf81f812ce945e07796a6aa)]: - - @metaplex-foundation/umi@0.8.6 - - @metaplex-foundation/umi-web3js-adapters@0.8.6 - -## 0.8.5 - -### Patch Changes - -- Updated dependencies []: - - @metaplex-foundation/umi@0.8.5 - - @metaplex-foundation/umi-web3js-adapters@0.8.5 - -## 0.8.4 - -### Patch Changes - -- Updated dependencies [[`d1e0c09`](https://github.com/metaplex-foundation/umi/commit/d1e0c09550bf07fe8bc0865f9732f025c3d8dafe), [`99bf51d`](https://github.com/metaplex-foundation/umi/commit/99bf51d6f58d7fe5b73d7678478ac8463c87d857)]: - - @metaplex-foundation/umi@0.8.4 - - @metaplex-foundation/umi-web3js-adapters@0.8.4 - -## 0.8.2 - -### Patch Changes - -- Updated dependencies [[`4accd34`](https://github.com/metaplex-foundation/umi/commit/4accd34f0a70d360321c42f395a2ad45cbadca16), [`4342375`](https://github.com/metaplex-foundation/umi/commit/43423750c9b351446b868ede57ecb634cebde42a), [`4342375`](https://github.com/metaplex-foundation/umi/commit/43423750c9b351446b868ede57ecb634cebde42a)]: - - @metaplex-foundation/umi@0.8.2 - - @metaplex-foundation/umi-web3js-adapters@0.8.2 - -## 0.8.1 - -### Patch Changes - -- Updated dependencies [[`bc11e6e`](https://github.com/metaplex-foundation/umi/commit/bc11e6e6f964594c75d04f78ef6c86a87aae6749)]: - - @metaplex-foundation/umi@0.8.1 - - @metaplex-foundation/umi-web3js-adapters@0.8.1 - -## 0.8.0 - -### Minor Changes - -- [#62](https://github.com/metaplex-foundation/umi/pull/62) [`15392cd`](https://github.com/metaplex-foundation/umi/commit/15392cd9a98d55750be09268c8ee93611d159e03) Thanks [@lorisleiva](https://github.com/lorisleiva)! - Use PublicKeys as base58 strings. See `@metaplex-foundation/umi` changelog for more details. - -### Patch Changes - -- Updated dependencies [[`15392cd`](https://github.com/metaplex-foundation/umi/commit/15392cd9a98d55750be09268c8ee93611d159e03), [`15392cd`](https://github.com/metaplex-foundation/umi/commit/15392cd9a98d55750be09268c8ee93611d159e03)]: - - @metaplex-foundation/umi-web3js-adapters@0.8.0 - - @metaplex-foundation/umi@0.8.0 - -## 0.7.14 - -### Patch Changes - -- Updated dependencies [[`f530089`](https://github.com/metaplex-foundation/umi/commit/f5300891d0bad4b13431a11d87bfa35b6881ae56)]: - - @metaplex-foundation/umi@0.7.14 - - @metaplex-foundation/umi-web3js-adapters@0.7.14 - -## 0.7.13 - -### Patch Changes - -- Updated dependencies [[`6a33ea3`](https://github.com/metaplex-foundation/umi/commit/6a33ea32937f37cb34114582f2c365ac21c6d8e5), [`6a33ea3`](https://github.com/metaplex-foundation/umi/commit/6a33ea32937f37cb34114582f2c365ac21c6d8e5)]: - - @metaplex-foundation/umi@0.7.13 - - @metaplex-foundation/umi-web3js-adapters@0.7.13 - -## 0.7.12 - -### Patch Changes - -- Updated dependencies [[`3ce198a`](https://github.com/metaplex-foundation/umi/commit/3ce198a8c1eaf257dbd568053a032a601375eed2)]: - - @metaplex-foundation/umi-web3js-adapters@0.7.12 - -## 0.7.11 - -### Patch Changes - -- Updated dependencies [[`38c98dc`](https://github.com/metaplex-foundation/umi/commit/38c98dcc7c61ce212198381765b80fa695c51fa7)]: - - @metaplex-foundation/umi@0.7.11 - - @metaplex-foundation/umi-web3js-adapters@0.7.11 - -## 0.7.10 - -### Patch Changes - -- Updated dependencies [[`c1c1da6`](https://github.com/metaplex-foundation/umi/commit/c1c1da6bbed341492c3d81a4edc7aebb43471345), [`1139bcf`](https://github.com/metaplex-foundation/umi/commit/1139bcfedc541d6b89df2d61b10c4fdc169c4eee)]: - - @metaplex-foundation/umi@0.7.10 - - @metaplex-foundation/umi-web3js-adapters@0.7.10 - -## 0.7.7 - -### Patch Changes - -- Updated dependencies [[`bf9b550`](https://github.com/metaplex-foundation/umi/commit/bf9b550ae945f3963f2c96361b7d7ab38921c6a7)]: - - @metaplex-foundation/umi@0.7.7 - - @metaplex-foundation/umi-web3js-adapters@0.7.7 - -## 0.7.6 - -### Patch Changes - -- Updated dependencies [[`5b275d5`](https://github.com/metaplex-foundation/umi/commit/5b275d53680d66fcd77b1b09a30bf101036e22b3)]: - - @metaplex-foundation/umi@0.7.6 - - @metaplex-foundation/umi-web3js-adapters@0.7.6 - -## 0.7.5 - -### Patch Changes - -- Updated dependencies [[`670e7d4`](https://github.com/metaplex-foundation/umi/commit/670e7d4ba00e41802226ee7c722a116ef141891f)]: - - @metaplex-foundation/umi@0.7.5 - - @metaplex-foundation/umi-web3js-adapters@0.7.5 - -## 0.7.4 - -### Patch Changes - -- Updated dependencies [[`3718fae`](https://github.com/metaplex-foundation/umi/commit/3718faeafc28400313aa93f8e4db3945218ffb0b), [`00cb767`](https://github.com/metaplex-foundation/umi/commit/00cb7671976a63670bd71b70a06d5452b0761f62), [`f56fc59`](https://github.com/metaplex-foundation/umi/commit/f56fc59eee0deebf347e22a097c19aca1332a52a)]: - - @metaplex-foundation/umi@0.7.4 - - @metaplex-foundation/umi-web3js-adapters@0.7.4 - -## 0.7.2 - -### Patch Changes - -- Updated dependencies [[`2756a69`](https://github.com/metaplex-foundation/umi/commit/2756a693fb1d5d1a90608744ca73165b663cc729)]: - - @metaplex-foundation/umi@0.7.2 - - @metaplex-foundation/umi-web3js-adapters@0.7.2 - -## 0.7.0 - -### Minor Changes - -- [#34](https://github.com/metaplex-foundation/umi/pull/34) [`a963320`](https://github.com/metaplex-foundation/umi/commit/a9633202645a23b19c00ec973e93f5e5fda0776d) Thanks [@lorisleiva](https://github.com/lorisleiva)! - Use functions instead of classes to implement interfaces - -### Patch Changes - -- Updated dependencies [[`a963320`](https://github.com/metaplex-foundation/umi/commit/a9633202645a23b19c00ec973e93f5e5fda0776d)]: - - @metaplex-foundation/umi@0.7.0 - - @metaplex-foundation/umi-web3js-adapters@0.7.0 - -## 0.6.0 - -### Patch Changes - -- Updated dependencies [[`b1e898f`](https://github.com/metaplex-foundation/umi/commit/b1e898fb8f78eb3b7acedd6b77dcdfd161164b00)]: - - @metaplex-foundation/umi@0.6.0 - - @metaplex-foundation/umi-web3js-adapters@0.6.0 - -## 0.5.3 - -### Patch Changes - -- Updated dependencies [[`c20d154`](https://github.com/metaplex-foundation/umi/commit/c20d15448537a93d7fe7a5f4765e0d3880ccc8cf), [`13acda9`](https://github.com/metaplex-foundation/umi/commit/13acda9d8c968716289e47b3e19b888f8ba11857)]: - - @metaplex-foundation/umi@0.5.3 - - @metaplex-foundation/umi-web3js-adapters@0.5.3 - -## 0.5.2 - -### Patch Changes - -- Updated dependencies [[`3db36d1`](https://github.com/metaplex-foundation/umi/commit/3db36d13e281a171f407e9652e2404d54c2971bd)]: - - @metaplex-foundation/umi@0.5.2 - - @metaplex-foundation/umi-web3js-adapters@0.5.2 - -## 0.5.1 - -### Patch Changes - -- [#24](https://github.com/metaplex-foundation/umi/pull/24) [`27276f4`](https://github.com/metaplex-foundation/umi/commit/27276f4ab5865bd55a5682990c5e48aa2d9b10cd) Thanks [@lorisleiva](https://github.com/lorisleiva)! - Rename umi, umi-core and umi-test - -- Updated dependencies [[`27276f4`](https://github.com/metaplex-foundation/umi/commit/27276f4ab5865bd55a5682990c5e48aa2d9b10cd)]: - - @metaplex-foundation/umi@0.5.1 - - @metaplex-foundation/umi-web3js-adapters@0.5.1 - -## 0.4.1 - -### Patch Changes - -- Updated dependencies [[`807b469`](https://github.com/metaplex-foundation/umi/commit/807b4691ed843f6a4247317362d71b6457ad291d)]: - - @metaplex-foundation/umi-core@0.4.1 - - @metaplex-foundation/umi-web3js-adapters@0.4.1 - -## 0.4.0 - -### Patch Changes - -- Updated dependencies [[`d6ae534`](https://github.com/metaplex-foundation/umi/commit/d6ae5345ef4b8b8abca1cef04fd64e95f517e656), [`9f86429`](https://github.com/metaplex-foundation/umi/commit/9f8642945f000d84b07005bebe479be9a562db87), [`8d09519`](https://github.com/metaplex-foundation/umi/commit/8d0951983756a8c147ac3f4f95bb7cfc86294aa4), [`95586fa`](https://github.com/metaplex-foundation/umi/commit/95586fa4f06a356706ca2a8d29dd934cfff2395e)]: - - @metaplex-foundation/umi-core@0.4.0 - - @metaplex-foundation/umi-web3js-adapters@0.4.0 - -## 0.3.4 - -### Patch Changes - -- Updated dependencies [[`c93f1c4`](https://github.com/metaplex-foundation/umi/commit/c93f1c487d347fa27163d29a8caefd1d035e9052)]: - - @metaplex-foundation/umi-core@0.3.4 - - @metaplex-foundation/umi-web3js-adapters@0.3.4 - -## 0.3.3 - -### Patch Changes - -- Updated dependencies [[`422dc73`](https://github.com/metaplex-foundation/umi/commit/422dc73b5a5d84e89665ef69972a90cc947a20e5)]: - - @metaplex-foundation/umi-core@0.3.3 - - @metaplex-foundation/umi-web3js-adapters@0.3.3 - -## 0.3.2 - -### Patch Changes - -- Updated dependencies [[`66a7d91`](https://github.com/metaplex-foundation/umi/commit/66a7d919146ee348739438f7b0e33cc746d5d1ba)]: - - @metaplex-foundation/umi-core@0.3.2 - - @metaplex-foundation/umi-web3js-adapters@0.3.2 - -## 0.3.1 - -### Patch Changes - -- Updated dependencies [[`e566c1b`](https://github.com/metaplex-foundation/umi/commit/e566c1ba7232e1020234a750ec83607d50f60c56), [`acdc77a`](https://github.com/metaplex-foundation/umi/commit/acdc77af0f6c6e231b42b22e116497908043c57c)]: - - @metaplex-foundation/umi-core@0.3.1 - - @metaplex-foundation/umi-web3js-adapters@0.3.1 - -## 0.3.0 - -### Patch Changes - -- Updated dependencies [[`95d56e9`](https://github.com/metaplex-foundation/umi/commit/95d56e969b3da53e7b60758db4c530d206765697)]: - - @metaplex-foundation/umi-core@0.3.0 - - @metaplex-foundation/umi-web3js-adapters@0.3.0 - -## 0.2.3 - -### Patch Changes - -- Updated dependencies [[`697bddd`](https://github.com/metaplex-foundation/umi/commit/697bddd6cdd520bd1f9190eb9827c3f351512145)]: - - @metaplex-foundation/umi-core@0.2.3 - - @metaplex-foundation/umi-web3js-adapters@0.2.3 - -## 0.2.2 - -### Patch Changes - -- [`e1c9595`](https://github.com/metaplex-foundation/umi/commit/e1c9595dd7f0aeb4469e86a496bc25bbb43a1b5d) Thanks [@lorisleiva](https://github.com/lorisleiva)! - Rename MetaplexError to UmiError - -- Updated dependencies [[`e1c9595`](https://github.com/metaplex-foundation/umi/commit/e1c9595dd7f0aeb4469e86a496bc25bbb43a1b5d)]: - - @metaplex-foundation/umi-core@0.2.2 - - @metaplex-foundation/umi-web3js-adapters@0.2.2 - -## 0.2.1 - -### Patch Changes - -- Updated dependencies [[`d28f4dc`](https://github.com/metaplex-foundation/umi/commit/d28f4dc05c45f35a429fa818e060aed648778718)]: - - @metaplex-foundation/umi-core@0.2.1 - - @metaplex-foundation/umi-web3js-adapters@0.2.1 - -## 0.2.0 - -### Minor Changes - -- [`b4d681f`](https://github.com/metaplex-foundation/umi/commit/b4d681fd173fb5cc6fe7907c610a23703695c4f6) Thanks [@lorisleiva](https://github.com/lorisleiva)! - Rename Metaplex to Umi - -### Patch Changes - -- Updated dependencies [[`b4d681f`](https://github.com/metaplex-foundation/umi/commit/b4d681fd173fb5cc6fe7907c610a23703695c4f6)]: - - @metaplex-foundation/umi-core@0.2.0 - - @metaplex-foundation/umi-web3js-adapters@0.2.0 - -## 0.1.2 - -### Patch Changes - -- [`d3ee23a`](https://github.com/metaplex-foundation/umi/commit/d3ee23aa7ee19a4c6db0e3556e58ee4d12b8ab2b) Thanks [@lorisleiva](https://github.com/lorisleiva)! - Ensure all packages are built before trying to publish - -- Updated dependencies [[`d3ee23a`](https://github.com/metaplex-foundation/umi/commit/d3ee23aa7ee19a4c6db0e3556e58ee4d12b8ab2b)]: - - @metaplex-foundation/umi-core@0.1.2 - - @metaplex-foundation/umi-web3js-adapters@0.1.2 - -## 0.1.1 - -### Patch Changes - -- [`f30119d`](https://github.com/metaplex-foundation/umi/commit/f30119daf5c51d893c654a064f5fabeb9246aa41) Thanks [@lorisleiva](https://github.com/lorisleiva)! - Publish a new version with changelog and a release tag - -- Updated dependencies [[`f30119d`](https://github.com/metaplex-foundation/umi/commit/f30119daf5c51d893c654a064f5fabeb9246aa41)]: - - @metaplex-foundation/umi-core@0.1.1 - - @metaplex-foundation/umi-web3js-adapters@0.1.1 diff --git a/packages/umi-uploader-bundlr/README.md b/packages/umi-uploader-bundlr/README.md deleted file mode 100644 index a3c3859..0000000 --- a/packages/umi-uploader-bundlr/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# umi-uploader-bundlr - -An uploader implementation relying on Bundlr. - -## Installation - -```sh -npm install @metaplex-foundation/umi-uploader-bundlr -``` diff --git a/packages/umi-uploader-bundlr/babel.config.json b/packages/umi-uploader-bundlr/babel.config.json deleted file mode 100644 index ac08da0..0000000 --- a/packages/umi-uploader-bundlr/babel.config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../babel.config.json" -} diff --git a/packages/umi-uploader-bundlr/package.json b/packages/umi-uploader-bundlr/package.json deleted file mode 100644 index 9a47062..0000000 --- a/packages/umi-uploader-bundlr/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "@metaplex-foundation/umi-uploader-bundlr", - "version": "0.9.2", - "description": "An uploader implementation relying on Bundlr", - "license": "MIT", - "sideEffects": false, - "module": "dist/esm/index.mjs", - "main": "dist/cjs/index.cjs", - "types": "dist/types/index.d.ts", - "exports": { - ".": { - "types": "./dist/types/index.d.ts", - "import": "./dist/esm/index.mjs", - "require": "./dist/cjs/index.cjs" - } - }, - "files": [ - "/dist/cjs", - "/dist/esm", - "/dist/types", - "/src" - ], - "scripts": { - "lint": "eslint --ext js,ts,tsx src", - "lint:fix": "eslint --fix --ext js,ts,tsx src", - "clean": "rimraf dist", - "build": "pnpm clean && tsc && tsc -p test/tsconfig.json && rollup -c", - "test": "ava" - }, - "dependencies": { - "@bundlr-network/client": "^0.8.8", - "@metaplex-foundation/umi-web3js-adapters": "workspace:^", - "bignumber.js": "^9.0.2", - "buffer": "^6.0.3" - }, - "peerDependencies": { - "@metaplex-foundation/umi": "workspace:^", - "@solana/web3.js": "^1.72.0" - }, - "devDependencies": { - "@ava/typescript": "^3.0.1", - "@metaplex-foundation/umi": "workspace:^", - "@metaplex-foundation/umi-downloader-http": "workspace:^", - "@metaplex-foundation/umi-eddsa-web3js": "workspace:^", - "@metaplex-foundation/umi-http-fetch": "workspace:^", - "@metaplex-foundation/umi-rpc-web3js": "workspace:^", - "@solana/web3.js": "^1.72.0", - "ava": "^5.1.0" - }, - "publishConfig": { - "access": "public" - }, - "author": "Metaplex Maintainers ", - "homepage": "https://metaplex.com", - "repository": { - "url": "https://github.com/metaplex-foundation/umi.git" - }, - "typedoc": { - "entryPoint": "./src/index.ts", - "readmeFile": "./README.md", - "displayName": "umi-uploader-bundlr" - }, - "ava": { - "typescript": { - "compile": false, - "rewritePaths": { - "src/": "dist/test/src/", - "test/": "dist/test/test/" - } - } - } -} diff --git a/packages/umi-uploader-bundlr/rollup.config.js b/packages/umi-uploader-bundlr/rollup.config.js deleted file mode 100644 index ba38fd1..0000000 --- a/packages/umi-uploader-bundlr/rollup.config.js +++ /dev/null @@ -1,16 +0,0 @@ -import { createConfigs } from '../../rollup.config'; -import pkg from './package.json'; - -export default createConfigs({ - pkg, - builds: [ - { - dir: 'dist/esm', - format: 'es', - }, - { - dir: 'dist/cjs', - format: 'cjs', - }, - ], -}); diff --git a/packages/umi-uploader-bundlr/src/createBundlrUploader.ts b/packages/umi-uploader-bundlr/src/createBundlrUploader.ts deleted file mode 100644 index d1d40a4..0000000 --- a/packages/umi-uploader-bundlr/src/createBundlrUploader.ts +++ /dev/null @@ -1,381 +0,0 @@ -// eslint-disable-next-line import/no-named-default -import type { default as NodeBundlr, WebBundlr } from '@bundlr-network/client'; -import { - Commitment, - Context, - GenericFile, - GenericFileTag, - Keypair, - Signer, - SolAmount, - UploaderInterface, - base58, - createGenericFileFromJson, - createSignerFromKeypair, - isKeypairSigner, - lamports, - publicKey, - signTransaction, -} from '@metaplex-foundation/umi'; -import { - fromWeb3JsKeypair, - fromWeb3JsLegacyTransaction, - toWeb3JsLegacyTransaction, - toWeb3JsPublicKey, -} from '@metaplex-foundation/umi-web3js-adapters'; -import { - Connection as Web3JsConnection, - Keypair as Web3JsKeypair, - PublicKey as Web3JsPublicKey, - SendOptions as Web3JsSendOptions, - Signer as Web3JsSigner, - Transaction as Web3JsTransaction, - TransactionSignature as Web3JsTransactionSignature, -} from '@solana/web3.js'; -import BigNumber from 'bignumber.js'; -import { Buffer } from 'buffer'; -import { - AssetUploadFailedError, - BundlrWithdrawError, - FailedToConnectToBundlrAddressError, - FailedToInitializeBundlrError, -} from './errors'; - -/** - * This method is necessary to import the Bundlr package on both ESM and CJS modules. - * Without this, we get a different structure on each module: - * - CJS: { default: [Getter], WebBundlr: [Getter] } - * - ESM: { default: { default: [Getter], WebBundlr: [Getter] } } - * This method fixes this by ensure there is not double default in the imported package. - */ -// eslint-disable-next-line @typescript-eslint/naming-convention -function _removeDoubleDefault(pkg: any) { - if ( - pkg && - typeof pkg === 'object' && - 'default' in pkg && - 'default' in pkg.default - ) { - return pkg.default; - } - - return pkg; -} - -export type BundlrUploader = UploaderInterface & { - bundlr: () => Promise; - getUploadPriceFromBytes: (bytes: number) => Promise; - getBalance: () => Promise; - fund: (amount: SolAmount, skipBalanceCheck: boolean) => Promise; - withdrawAll: (amount: SolAmount) => Promise; - withdraw: (amount: SolAmount) => Promise; -}; - -export type BundlrUploaderOptions = { - address?: string; - timeout?: number; - providerUrl?: string; - priceMultiplier?: number; - payer?: Signer; -}; - -export type BundlrWalletAdapter = { - publicKey: Web3JsPublicKey | null; - signMessage?: (message: Uint8Array) => Promise; - signTransaction?: ( - transaction: Web3JsTransaction - ) => Promise; - signAllTransactions?: ( - transactions: Web3JsTransaction[] - ) => Promise; - sendTransaction: ( - transaction: Web3JsTransaction, - connection: Web3JsConnection, - options?: Web3JsSendOptions & { signers?: Web3JsSigner[] } - ) => Promise; -}; - -// Size of Bundlr transaction header. -const HEADER_SIZE = 2_000; - -// Minimum file size for cost calculation. -const MINIMUM_SIZE = 80_000; - -export function createBundlrUploader( - context: Pick, - options: BundlrUploaderOptions = {} -): BundlrUploader { - // eslint-disable-next-line @typescript-eslint/naming-convention - let _bundlr: WebBundlr | NodeBundlr | null = null; - options = { - providerUrl: context.rpc.getEndpoint(), - ...options, - }; - - const getUploadPriceFromBytes = async (bytes: number): Promise => { - const bundlr = await getBundlr(); - const price = await bundlr.getPrice(bytes); - - return bigNumberToAmount( - price.multipliedBy(options.priceMultiplier ?? 1.1) - ); - }; - - const getUploadPrice = async (files: GenericFile[]): Promise => { - const bytes: number = files.reduce( - (sum, file) => - sum + HEADER_SIZE + Math.max(MINIMUM_SIZE, file.buffer.byteLength), - 0 - ); - - return getUploadPriceFromBytes(bytes); - }; - - const upload = async (files: GenericFile[]): Promise => { - const bundlr = await getBundlr(); - const amount = await getUploadPrice(files); - await fund(amount); - - const promises = files.map(async (file) => { - const buffer = Buffer.from(file.buffer); - const { status, data } = await bundlr.uploader.upload(buffer, { - tags: getGenericFileTagsWithContentType(file), - }); - - if (status >= 300) { - throw new AssetUploadFailedError(status); - } - - return `https://arweave.net/${data.id}`; - }); - - return Promise.all(promises); - }; - - const uploadJson = async (json: T): Promise => { - const file = createGenericFileFromJson(json); - const uris = await upload([file]); - return uris[0]; - }; - - const getBalance = async (): Promise => { - const bundlr = await getBundlr(); - const balance = await bundlr.getLoadedBalance(); - - return bigNumberToAmount(balance); - }; - - const fund = async ( - amount: SolAmount, - skipBalanceCheck = false - ): Promise => { - const bundlr = await getBundlr(); - let toFund = amountToBigNumber(amount); - - if (!skipBalanceCheck) { - const balance = await bundlr.getLoadedBalance(); - - toFund = toFund.isGreaterThan(balance) - ? toFund.minus(balance) - : new BigNumber(0); - } - - if (toFund.isLessThanOrEqualTo(0)) { - return; - } - - await bundlr.fund(toFund); - }; - - const withdrawAll = async (): Promise => { - // TODO(loris): Replace with "withdrawAll" when available on Bundlr. - const bundlr = await getBundlr(); - const balance = await bundlr.getLoadedBalance(); - const minimumBalance = new BigNumber(5000); - - if (balance.isLessThan(minimumBalance)) { - return; - } - - const balanceToWithdraw = balance.minus(minimumBalance); - await withdraw(bigNumberToAmount(balanceToWithdraw)); - }; - - const withdraw = async (amount: SolAmount): Promise => { - const bundlr = await getBundlr(); - - const { status } = await bundlr.withdrawBalance(amountToBigNumber(amount)); - - if (status >= 300) { - throw new BundlrWithdrawError(status); - } - }; - - const getBundlr = async (): Promise => { - const oldPayer = _bundlr?.getSigner().publicKey; - const newPayer = options.payer ?? context.payer; - if ( - oldPayer && - publicKey(new Uint8Array(oldPayer)) !== newPayer.publicKey - ) { - _bundlr = null; - } - - if (!_bundlr) { - _bundlr = await initBundlr(); - } - - return _bundlr; - }; - - const initBundlr = async (): Promise => { - const currency = 'solana'; - const defaultAddress = - context.rpc.getCluster() === 'devnet' - ? 'https://devnet.bundlr.network' - : 'https://node1.bundlr.network'; - const address = options?.address ?? defaultAddress; - const bundlrOptions = { - timeout: options.timeout, - providerUrl: options.providerUrl, - }; - - const payer: Signer = options.payer ?? context.payer; - - // If in node use node bundlr, else use web bundlr. - const isNode = - // eslint-disable-next-line no-prototype-builtins - typeof window === 'undefined' || window.process?.hasOwnProperty('type'); - - let bundlr; - if (isNode && isKeypairSigner(payer)) - bundlr = await initNodeBundlr(address, currency, payer, bundlrOptions); - else { - bundlr = await initWebBundlr(address, currency, payer, bundlrOptions); - } - - try { - // Check for valid bundlr node. - await bundlr.utils.getBundlerAddress(currency); - } catch (error) { - throw new FailedToConnectToBundlrAddressError(address, error as Error); - } - - return bundlr; - }; - - const initNodeBundlr = async ( - address: string, - currency: string, - keypair: Keypair, - options: any - ): Promise => { - const bPackage = _removeDoubleDefault( - await import('@bundlr-network/client') - ); - // eslint-disable-next-line new-cap - return new bPackage.default(address, currency, keypair.secretKey, options); - }; - - const initWebBundlr = async ( - address: string, - currency: string, - payer: Signer, - options: any - ): Promise => { - const wallet: BundlrWalletAdapter = { - publicKey: toWeb3JsPublicKey(payer.publicKey), - signMessage: (message: Uint8Array) => payer.signMessage(message), - signTransaction: async (web3JsTransaction: Web3JsTransaction) => - toWeb3JsLegacyTransaction( - await payer.signTransaction( - fromWeb3JsLegacyTransaction(web3JsTransaction) - ) - ), - signAllTransactions: async (web3JsTransactions: Web3JsTransaction[]) => { - const transactions = web3JsTransactions.map( - fromWeb3JsLegacyTransaction - ); - const signedTransactions = await payer.signAllTransactions( - transactions - ); - return signedTransactions.map(toWeb3JsLegacyTransaction); - }, - sendTransaction: async ( - web3JsTransaction: Web3JsTransaction, - connection: Web3JsConnection, - options: Web3JsSendOptions & { signers?: Web3JsSigner[] } = {} - ): Promise => { - const { signers: web3JsSigners = [], ...sendOptions } = options; - const signers = web3JsSigners.map((web3JsSigner) => - createSignerFromKeypair( - context, - fromWeb3JsKeypair( - Web3JsKeypair.fromSecretKey(web3JsSigner.secretKey) - ) - ) - ); - - let transaction = fromWeb3JsLegacyTransaction(web3JsTransaction); - transaction = await signTransaction(transaction, [payer, ...signers]); - - const signature = await context.rpc.sendTransaction(transaction, { - ...sendOptions, - preflightCommitment: sendOptions.preflightCommitment as Commitment, - }); - - return base58.deserialize(signature)[0]; - }, - }; - - const bPackage = _removeDoubleDefault( - await import('@bundlr-network/client') - ); - const bundlr = new bPackage.WebBundlr(address, currency, wallet, options); - - try { - // Try to initiate bundlr. - await bundlr.ready(); - } catch (error) { - throw new FailedToInitializeBundlrError(error as Error); - } - - return bundlr; - }; - - return { - getUploadPriceFromBytes, - getUploadPrice, - upload, - uploadJson, - getBalance, - fund, - withdrawAll, - withdraw, - bundlr: getBundlr, - }; -} - -export const isBundlrUploader = ( - uploader: UploaderInterface -): uploader is BundlrUploader => - 'bundlr' in uploader && - 'getBalance' in uploader && - 'fund' in uploader && - 'withdrawAll' in uploader; - -const bigNumberToAmount = (bigNumber: BigNumber): SolAmount => - lamports(bigNumber.decimalPlaces(0).toString()); - -const amountToBigNumber = (amount: SolAmount): BigNumber => - new BigNumber(amount.basisPoints.toString()); - -const getGenericFileTagsWithContentType = ( - file: GenericFile -): GenericFileTag[] => { - if (!file.contentType) { - return file.tags; - } - - return [{ name: 'Content-Type', value: file.contentType }, ...file.tags]; -}; diff --git a/packages/umi-uploader-bundlr/src/errors.ts b/packages/umi-uploader-bundlr/src/errors.ts deleted file mode 100644 index 6fa6372..0000000 --- a/packages/umi-uploader-bundlr/src/errors.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { UmiError } from '@metaplex-foundation/umi'; - -export class BundlrError extends UmiError { - readonly name: string = 'BundlrError'; - - constructor(message: string, cause?: Error) { - super(message, 'plugin', 'Bundlr', cause); - } -} - -export class FailedToInitializeBundlrError extends BundlrError { - readonly name: string = 'FailedToInitializeBundlrError'; - - constructor(cause: Error) { - const message = - 'Bundlr could not be initialized. ' + - 'Please check the underlying error below for more details.'; - super(message, cause); - } -} - -export class FailedToConnectToBundlrAddressError extends BundlrError { - readonly name: string = 'FailedToConnectToBundlrAddressError'; - - constructor(address: string, cause: Error) { - const message = - `Bundlr could not connect to the provided address [${address}]. ` + - 'Please ensure the provided address is valid. Some valid addresses include: ' + - '"https://node1.bundlr.network" for mainnet and "https://devnet.bundlr.network" for devnet'; - super(message, cause); - } -} - -export class AssetUploadFailedError extends BundlrError { - readonly name: string = 'AssetUploadFailedError'; - - constructor(status: number) { - const message = - `The asset could not be uploaded to the Bundlr network and ` + - `returned the following status code [${status}].`; - super(message); - } -} - -export class BundlrWithdrawError extends BundlrError { - readonly name: string = 'BundlrWithdrawError'; - - constructor(status: number) { - const message = - `The balance could not be withdrawn from the Bundlr network and ` + - `returned the following status code [${status}].`; - super(message); - } -} diff --git a/packages/umi-uploader-bundlr/src/index.ts b/packages/umi-uploader-bundlr/src/index.ts deleted file mode 100644 index e61cc02..0000000 --- a/packages/umi-uploader-bundlr/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './createBundlrUploader'; -export * from './errors'; -export * from './plugin'; diff --git a/packages/umi-uploader-bundlr/src/plugin.ts b/packages/umi-uploader-bundlr/src/plugin.ts deleted file mode 100644 index 683c239..0000000 --- a/packages/umi-uploader-bundlr/src/plugin.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { UmiPlugin } from '@metaplex-foundation/umi'; -import { - BundlrUploaderOptions, - createBundlrUploader, -} from './createBundlrUploader'; - -export const bundlrUploader = (options?: BundlrUploaderOptions): UmiPlugin => ({ - install(umi) { - umi.uploader = createBundlrUploader(umi, options); - }, -}); diff --git a/packages/umi-uploader-bundlr/test/BundlrUploader.test.ts b/packages/umi-uploader-bundlr/test/BundlrUploader.test.ts deleted file mode 100644 index bf3a3f2..0000000 --- a/packages/umi-uploader-bundlr/test/BundlrUploader.test.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { - Context, - createGenericFile, - createUmi, - generatedSignerIdentity, - sol, - utf8, -} from '@metaplex-foundation/umi'; -import { httpDownloader } from '@metaplex-foundation/umi-downloader-http'; -import { web3JsEddsa } from '@metaplex-foundation/umi-eddsa-web3js'; -import { fetchHttp } from '@metaplex-foundation/umi-http-fetch'; -import { web3JsRpc } from '@metaplex-foundation/umi-rpc-web3js'; -import test from 'ava'; -import { bundlrUploader, BundlrUploaderOptions } from '../src'; - -test('example test', async (t) => { - t.is(typeof bundlrUploader, 'function'); -}); - -// TODO(loris): Unskip these tests when we can mock the Bundlr API. - -const getContext = async ( - options?: BundlrUploaderOptions -): Promise => { - const context = createUmi().use({ - install(umi) { - umi.use(web3JsRpc('https://api.devnet.solana.com')); - umi.use(web3JsEddsa()); - umi.use(fetchHttp()); - umi.use(httpDownloader()); - umi.use(bundlrUploader(options)); - umi.use(generatedSignerIdentity()); - }, - }); - await context.rpc.airdrop(context.payer.publicKey, sol(1)); - return context; -}; - -test.skip('it can upload one file', async (t) => { - // Given a Context using NFT.Storage. - const context = await getContext(); - - // When we upload some asset. - const [uri] = await context.uploader.upload([ - createGenericFile('some-image', 'some-image.jpg'), - ]); - - // Then the URI should be a valid IPFS URI. - t.truthy(uri); - t.true(uri.startsWith('https://nftstorage.link/ipfs/')); - - // and it should point to the uploaded asset. - const [asset] = await context.downloader.download([uri]); - t.is(utf8.deserialize(asset.buffer)[0], 'some-image'); -}); diff --git a/packages/umi-uploader-bundlr/test/modules/cjs.test.cjs b/packages/umi-uploader-bundlr/test/modules/cjs.test.cjs deleted file mode 100644 index fe01515..0000000 --- a/packages/umi-uploader-bundlr/test/modules/cjs.test.cjs +++ /dev/null @@ -1,30 +0,0 @@ -/* eslint-disable import/no-extraneous-dependencies */ -const test = require('ava'); -const { - createUmi, - generatedSignerIdentity, -} = require('@metaplex-foundation/umi'); -const { web3JsRpc } = require('@metaplex-foundation/umi-rpc-web3js'); -const { web3JsEddsa } = require('@metaplex-foundation/umi-eddsa-web3js'); -const exported = require('../../dist/cjs/index.cjs'); - -test.skip('it successfully exports commonjs named exports', (t) => { - const exportedKeys = Object.keys(exported); - - t.true(exportedKeys.includes('createBundlrUploader')); -}); - -test('it can import the Bundlr client', async (t) => { - const { createBundlrUploader } = exported; - const context = createUmi() - .use(web3JsRpc('http://localhost:8899')) - .use(web3JsEddsa()) - .use(generatedSignerIdentity()); - const bundlrUploader = createBundlrUploader(context); - const bundlr = await bundlrUploader.bundlr(); - t.true(typeof bundlr === 'object', 'Bundlr is an object'); - t.true('uploader' in bundlr, 'Bundlr can upload'); - t.true('getLoadedBalance' in bundlr, 'Bundlr can get the loaded balance'); - t.true('fund' in bundlr, 'Bundlr can fund'); - t.true('withdrawBalance' in bundlr, 'Bundlr can withdraw'); -}); diff --git a/packages/umi-uploader-bundlr/test/modules/esm.test.mjs b/packages/umi-uploader-bundlr/test/modules/esm.test.mjs deleted file mode 100644 index 6e59636..0000000 --- a/packages/umi-uploader-bundlr/test/modules/esm.test.mjs +++ /dev/null @@ -1,28 +0,0 @@ -/* eslint-disable import/extensions */ -/* eslint-disable import/no-extraneous-dependencies */ -import test from 'ava'; -import { createUmi, generatedSignerIdentity } from '@metaplex-foundation/umi'; -import { web3JsRpc } from '@metaplex-foundation/umi-rpc-web3js'; -import { web3JsEddsa } from '@metaplex-foundation/umi-eddsa-web3js'; -import * as exported from '../../dist/esm/index.mjs'; - -test('it successfully exports esm named exports', (t) => { - const exportedKeys = Object.keys(exported); - - t.true(exportedKeys.includes('createBundlrUploader')); -}); - -test.skip('it can import the Bundlr client', async (t) => { - const { createBundlrUploader } = exported; - const context = createUmi() - .use(web3JsRpc('http://localhost:8899')) - .use(web3JsEddsa()) - .use(generatedSignerIdentity()); - const bundlrUploader = createBundlrUploader(context); - const bundlr = await bundlrUploader.bundlr(); - t.true(typeof bundlr === 'object', 'Bundlr is an object'); - t.true('uploader' in bundlr, 'Bundlr can upload'); - t.true('getLoadedBalance' in bundlr, 'Bundlr can get the loaded balance'); - t.true('fund' in bundlr, 'Bundlr can fund'); - t.true('withdrawBalance' in bundlr, 'Bundlr can withdraw'); -}); diff --git a/packages/umi-uploader-bundlr/test/tsconfig.json b/packages/umi-uploader-bundlr/test/tsconfig.json deleted file mode 100644 index 2390f59..0000000 --- a/packages/umi-uploader-bundlr/test/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../../tsconfig.json", - "include": ["./**/*"], - "compilerOptions": { - "module": "commonjs", - "outDir": "../dist/test", - "declarationDir": null, - "declaration": false, - "emitDeclarationOnly": false - } -} diff --git a/packages/umi-uploader-bundlr/tsconfig.json b/packages/umi-uploader-bundlr/tsconfig.json deleted file mode 100644 index 89a681d..0000000 --- a/packages/umi-uploader-bundlr/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": ["src"], - "compilerOptions": { - "outDir": "dist/esm", - "declarationDir": "dist/types" - } -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2966d62..ec0d2fe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -573,60 +573,20 @@ importers: specifier: ^13.0.1 version: 13.0.2 - packages/umi-uploader-bundlr: - dependencies: - '@bundlr-network/client': - specifier: ^0.8.8 - version: 0.8.9 - '@metaplex-foundation/umi-web3js-adapters': - specifier: workspace:^ - version: link:../umi-web3js-adapters - bignumber.js: - specifier: ^9.0.2 - version: 9.1.1 - buffer: - specifier: ^6.0.3 - version: 6.0.3 - devDependencies: - '@ava/typescript': - specifier: ^3.0.1 - version: 3.0.1 - '@metaplex-foundation/umi': - specifier: workspace:^ - version: link:../umi - '@metaplex-foundation/umi-downloader-http': - specifier: workspace:^ - version: link:../umi-downloader-http - '@metaplex-foundation/umi-eddsa-web3js': - specifier: workspace:^ - version: link:../umi-eddsa-web3js - '@metaplex-foundation/umi-http-fetch': - specifier: workspace:^ - version: link:../umi-http-fetch - '@metaplex-foundation/umi-rpc-web3js': - specifier: workspace:^ - version: link:../umi-rpc-web3js - '@solana/web3.js': - specifier: ^1.72.0 - version: 1.72.0 - ava: - specifier: ^5.1.0 - version: 5.1.0(@ava/typescript@3.0.1) - packages/umi-uploader-irys: dependencies: '@irys/upload': specifier: ^0.0.14 - version: 0.0.14(arweave@1.12.4) + version: 0.0.14(arweave@1.15.5) '@irys/upload-solana': specifier: ^0.1.7 - version: 0.1.7(arweave@1.12.4)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + version: 0.1.7(arweave@1.15.5)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@irys/web-upload': specifier: ^0.0.14 - version: 0.0.14(arweave@1.12.4) + version: 0.0.14(arweave@1.15.5) '@irys/web-upload-solana': specifier: ^0.1.7 - version: 0.1.7(arweave@1.12.4)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + version: 0.1.7(arweave@1.15.5)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@metaplex-foundation/umi-web3js-adapters': specifier: workspace:^ version: link:../umi-web3js-adapters @@ -3088,38 +3048,6 @@ packages: to-fast-properties: 2.0.0 dev: true - /@bundlr-network/client@0.8.9: - resolution: {integrity: sha512-SJ7BAt/KhONeFQ0+nbqrw2DUWrsev6y6cmlXt+3x7fPCkw7OJwudtxV/h2nBteZd65NXjqw8yzkmLiLfZ7CCRA==} - deprecated: Bundlr is now Irys - please switch to @irys/sdk - this package will remain compatible with Irys for the foreseeable future. - hasBin: true - dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.72.0) - '@solana/web3.js': 1.72.0 - '@supercharge/promise-pool': 2.4.0 - algosdk: 1.24.1 - arbundles: 0.6.23(@solana/web3.js@1.72.0) - arweave: 1.12.4 - async-retry: 1.3.3 - axios: 0.25.0(debug@4.3.4) - base64url: 3.0.1 - bignumber.js: 9.1.2 - bs58: 4.0.1 - commander: 8.3.0 - csv: 6.3.5 - ethers: 5.7.2 - inquirer: 8.2.5 - js-sha256: 0.9.0 - mime-types: 2.1.35 - near-api-js: 0.44.2 - near-seed-phrase: 0.2.0 - transitivePeerDependencies: - - bufferutil - - debug - - encoding - - supports-color - - utf-8-validate - dev: false - /@changesets/apply-release-plan@6.1.3: resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==} dependencies: @@ -3743,20 +3671,6 @@ packages: - supports-color dev: true - /@ethersproject/abi@5.7.0: - resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} - dependencies: - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 - dev: false - /@ethersproject/abstract-provider@5.7.0: resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} dependencies: @@ -3822,21 +3736,6 @@ packages: '@ethersproject/bignumber': 5.7.0 dev: false - /@ethersproject/contracts@5.7.0: - resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} - dependencies: - '@ethersproject/abi': 5.7.0 - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/transactions': 5.7.0 - dev: false - /@ethersproject/hash@5.7.0: resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} dependencies: @@ -3977,17 +3876,6 @@ packages: hash.js: 1.1.7 dev: false - /@ethersproject/solidity@5.7.0: - resolution: {integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==} - dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/sha2': 5.7.0 - '@ethersproject/strings': 5.7.0 - dev: false - /@ethersproject/strings@5.7.0: resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} dependencies: @@ -4010,14 +3898,6 @@ packages: '@ethersproject/signing-key': 5.7.0 dev: false - /@ethersproject/units@5.7.0: - resolution: {integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==} - dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/logger': 5.7.0 - dev: false - /@ethersproject/wallet@5.7.0: resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} dependencies: @@ -4132,7 +4012,7 @@ packages: - debug dev: false - /@irys/bundles@0.0.1(arweave@1.12.4): + /@irys/bundles@0.0.1(arweave@1.15.5): resolution: {integrity: sha512-yeQNzElERksFbfbNxJQsMkhtkI3+tNqIMZ/Wwxh76NVBmCnCP5huefOv7ET0MOO7TEQL+TqvKSqmFklYSvTyHw==} dependencies: '@ethersproject/bytes': 5.7.0 @@ -4150,7 +4030,7 @@ packages: optionalDependencies: '@randlabs/myalgo-connect': 1.4.2 algosdk: 1.24.1 - arweave-stream-tx: 1.2.2(arweave@1.12.4) + arweave-stream-tx: 1.2.2(arweave@1.15.5) multistream: 4.1.0 tmp-promise: 3.0.3 transitivePeerDependencies: @@ -4171,10 +4051,10 @@ packages: - debug dev: false - /@irys/upload-core@0.0.9(arweave@1.12.4): + /@irys/upload-core@0.0.9(arweave@1.15.5): resolution: {integrity: sha512-Ha4pX8jgYBA3dg5KHDPk+Am0QO+SmvnmgCwKa6uiDXZKuVr0neSx4V1OAHoP+As+j7yYgfChdsdrvsNzZGGehA==} dependencies: - '@irys/bundles': 0.0.1(arweave@1.12.4) + '@irys/bundles': 0.0.1(arweave@1.15.5) '@irys/query': 0.0.9 '@supercharge/promise-pool': 3.2.0 async-retry: 1.3.3 @@ -4189,12 +4069,12 @@ packages: - utf-8-validate dev: false - /@irys/upload-solana@0.1.7(arweave@1.12.4)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): + /@irys/upload-solana@0.1.7(arweave@1.15.5)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): resolution: {integrity: sha512-gHrEA6fCN2cEpBLM+urHRd0SeHcx6aOpNHPPeDS64tHXORrz4dU8F+OxWyy9wsCQNQd/wzrZldu/qncvcqkv6g==} dependencies: - '@irys/bundles': 0.0.1(arweave@1.12.4) - '@irys/upload': 0.0.14(arweave@1.12.4) - '@irys/upload-core': 0.0.9(arweave@1.12.4) + '@irys/bundles': 0.0.1(arweave@1.15.5) + '@irys/upload': 0.0.14(arweave@1.15.5) + '@irys/upload-core': 0.0.9(arweave@1.15.5) '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@solana/web3.js': 1.98.0 async-retry: 1.3.3 @@ -4212,11 +4092,11 @@ packages: - utf-8-validate dev: false - /@irys/upload@0.0.14(arweave@1.12.4): + /@irys/upload@0.0.14(arweave@1.15.5): resolution: {integrity: sha512-6XdkyS5cVINcPjv1MzA6jDsawfG7Bw6sq5wilNx5B4X7nNotBPC3SuRrZs06G/0BTUj15W+TRO/tZTDWRUfZzA==} dependencies: - '@irys/bundles': 0.0.1(arweave@1.12.4) - '@irys/upload-core': 0.0.9(arweave@1.12.4) + '@irys/bundles': 0.0.1(arweave@1.15.5) + '@irys/upload-core': 0.0.9(arweave@1.15.5) async-retry: 1.3.3 axios: 1.7.9 base64url: 3.0.1 @@ -4233,12 +4113,12 @@ packages: - utf-8-validate dev: false - /@irys/web-upload-solana@0.1.7(arweave@1.12.4)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): + /@irys/web-upload-solana@0.1.7(arweave@1.15.5)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): resolution: {integrity: sha512-LNNhdSdz4u/MXNxkXHS6iPuMB4wqgVBQwK3sKbJPXUMLrb961FNwyJ3S6N2BJmf8jpsQvjd0QoMRp8isxKizSg==} dependencies: - '@irys/bundles': 0.0.1(arweave@1.12.4) - '@irys/upload-core': 0.0.9(arweave@1.12.4) - '@irys/web-upload': 0.0.14(arweave@1.12.4) + '@irys/bundles': 0.0.1(arweave@1.15.5) + '@irys/upload-core': 0.0.9(arweave@1.15.5) + '@irys/web-upload': 0.0.14(arweave@1.15.5) '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@solana/web3.js': 1.98.0 async-retry: 1.3.3 @@ -4256,11 +4136,11 @@ packages: - utf-8-validate dev: false - /@irys/web-upload@0.0.14(arweave@1.12.4): + /@irys/web-upload@0.0.14(arweave@1.15.5): resolution: {integrity: sha512-vBIslG2KSGyeJjZNTbSvLmGO/bbHS1jcDkD0A1aLgx7xkiTpfdbXOrn4hznPkzQhPtluX4aL44On0GXrEcD8eQ==} dependencies: - '@irys/bundles': 0.0.1(arweave@1.12.4) - '@irys/upload-core': 0.0.9(arweave@1.12.4) + '@irys/bundles': 0.0.1(arweave@1.15.5) + '@irys/upload-core': 0.0.9(arweave@1.15.5) async-retry: 1.3.3 axios: 1.7.9 base64url: 3.0.1 @@ -4737,6 +4617,7 @@ packages: resolution: {integrity: sha512-CzS0U8IFfXNK7QaJFE4pjbxDGfPjbXBEsEaCn9FN15F+ouSAEUQkva3Gl66hrkBZOGexKFEWMwUHIDKpZ2hfVg==} requiresBuild: true dev: false + optional: true /@randlabs/myalgo-connect@1.4.2: resolution: {integrity: sha512-K9hEyUi7G8tqOp7kWIALJLVbGCByhilcy6123WfcorxWwiE1sbQupPyIU5f3YdQK6wMjBsyTWiLW52ZBMp7sXA==} @@ -4744,6 +4625,7 @@ packages: dependencies: '@randlabs/communication-bridge': 1.0.1 dev: false + optional: true /@remix-run/dev@1.12.0: resolution: {integrity: sha512-lBiA2FlDi+DjpOAE/vn93zFTSxudKag/FGpmbV6O+LQItDCpFARfbBMhTck/uKcc95nyhRd1GGhQ4ZDgQnyjaQ==} @@ -5221,27 +5103,6 @@ packages: - utf-8-validate dev: false - /@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.72.0): - resolution: {integrity: sha512-apqMuYwFp1jFi55NxDfvXUX2x1T0Zh07MxhZ/nCCTGys5raSfYUh82zen2BLv8BSDj/JxZ2P/s7jrQZGrX8uAw==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.77.3 - dependencies: - '@solana/wallet-standard-features': 1.1.0 - '@solana/web3.js': 1.72.0 - '@wallet-standard/base': 1.0.1 - '@wallet-standard/features': 1.0.3 - eventemitter3: 4.0.7 - dev: false - - /@solana/wallet-standard-features@1.1.0: - resolution: {integrity: sha512-oVyygxfYkkF5INYL0GuD8GFmNO/wd45zNesIqGCFE6X66BYxmI6HmyzQJCcZTZ0BNsezlVg4t+3MCL5AhfFoGA==} - engines: {node: '>=16'} - dependencies: - '@wallet-standard/base': 1.0.1 - '@wallet-standard/features': 1.0.3 - dev: false - /@solana/web3.js@1.72.0: resolution: {integrity: sha512-xMoCk0y/GpiQhHbRjMcrd5NpmkwhAA0c01id7lrr6nhNdz6Uc/CywPdBeZw3Qz6BVZ/qlUoerpKPWeiXqMUjwA==} engines: {node: '>=12.20.0'} @@ -5296,11 +5157,6 @@ packages: resolution: {integrity: sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==} dev: false - /@supercharge/promise-pool@2.4.0: - resolution: {integrity: sha512-O9CMipBlq5OObdt1uKJGIzm9cdjpPWfj+a+Zw9EgWKxaMNHKC7EU7X9taj3H0EGQNLOSq2jAcOa3EzxlfHsD6w==} - engines: {node: '>=8'} - dev: false - /@supercharge/promise-pool@3.2.0: resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} engines: {node: '>=8'} @@ -5477,10 +5333,6 @@ packages: resolution: {integrity: sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==} dev: false - /@types/node@11.11.6: - resolution: {integrity: sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==} - dev: false - /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} @@ -5956,18 +5808,6 @@ packages: resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} dev: true - /@wallet-standard/base@1.0.1: - resolution: {integrity: sha512-1To3ekMfzhYxe0Yhkpri+Fedq0SYcfrOfJi3vbLjMwF2qiKPjTGLwZkf2C9ftdQmxES+hmxhBzTwF4KgcOwf8w==} - engines: {node: '>=16'} - dev: false - - /@wallet-standard/features@1.0.3: - resolution: {integrity: sha512-m8475I6W5LTatTZuUz5JJNK42wFRgkJTB0I9tkruMwfqBF2UN2eomkYNVf9RbrsROelCRzSFmugqjKZBFaubsA==} - engines: {node: '>=16'} - dependencies: - '@wallet-standard/base': 1.0.1 - dev: false - /@web-std/blob@2.1.3: resolution: {integrity: sha512-K94rkZpa8yDEylkniNmK0aCYpkZe7wWn8GHNpyM+ckBQuRqhRmX0NG9d1b1f4pX3FKdLcfp7vTj6FjfdcjO3rQ==} dependencies: @@ -6201,11 +6041,14 @@ packages: /algo-msgpack-with-bigint@2.1.1: resolution: {integrity: sha512-F1tGh056XczEaEAqu7s+hlZUDWwOBT70Eq0lfMpBP2YguSQVyxRbprLq5rELXKQOyOaixTWYhMeMQMzP0U5FoQ==} engines: {node: '>= 10'} + requiresBuild: true dev: false + optional: true /algosdk@1.24.1: resolution: {integrity: sha512-9moZxdqeJ6GdE4N6fA/GlUP4LrbLZMYcYkt141J4Ss68OfEgH9qW0wBuZ3ZOKEx/xjc5bg7mLP2Gjg7nwrkmww==} engines: {node: '>=14.0.0'} + requiresBuild: true dependencies: algo-msgpack-with-bigint: 2.1.1 buffer: 6.0.3 @@ -6220,6 +6063,7 @@ packages: transitivePeerDependencies: - encoding dev: false + optional: true /ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -6285,33 +6129,6 @@ packages: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: true - /arbundles@0.6.23(@solana/web3.js@1.72.0): - resolution: {integrity: sha512-+gr93F3fivN+6dhiImT6BQNaXz4oECPn2GYjCZjS2yEoq7hM78FRvVp6kQyjEdhnuBFQr/q4oS/nkjnQlHdj9Q==} - dependencies: - '@noble/ed25519': 1.7.1 - '@randlabs/myalgo-connect': 1.4.2 - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.72.0) - algosdk: 1.24.1 - arweave: 1.12.4 - arweave-stream-tx: 1.2.2(arweave@1.12.4) - avsc: github.com/Irys-xyz/avsc/a730cc8018b79e114b6a3381bbb57760a24c6cef - axios: 0.21.4(debug@4.3.4) - base64url: 3.0.1 - bs58: 4.0.1 - ethers: 5.7.2 - keccak: 3.0.3 - multistream: 4.1.0 - process: 0.11.10 - secp256k1: 4.0.3 - tmp-promise: 3.0.3 - transitivePeerDependencies: - - '@solana/web3.js' - - bufferutil - - debug - - encoding - - utf-8-validate - dev: false - /arconnect@0.4.2: resolution: {integrity: sha512-Jkpd4QL3TVqnd3U683gzXmZUVqBUy17DdJDuL/3D9rkysLgX6ymJ2e+sR+xyZF5Rh42CBqDXWNMmCjBXeP7Gbw==} dependencies: @@ -6435,16 +6252,6 @@ packages: engines: {node: '>=12'} dev: true - /arweave-stream-tx@1.2.2(arweave@1.12.4): - resolution: {integrity: sha512-bNt9rj0hbAEzoUZEF2s6WJbIz8nasZlZpxIw03Xm8fzb9gRiiZlZGW3lxQLjfc9Z0VRUWDzwtqoYeEoB/JDToQ==} - requiresBuild: true - peerDependencies: - arweave: ^1.10.0 - dependencies: - arweave: 1.12.4 - exponential-backoff: 3.1.0 - dev: false - /arweave-stream-tx@1.2.2(arweave@1.15.5): resolution: {integrity: sha512-bNt9rj0hbAEzoUZEF2s6WJbIz8nasZlZpxIw03Xm8fzb9gRiiZlZGW3lxQLjfc9Z0VRUWDzwtqoYeEoB/JDToQ==} requiresBuild: true @@ -6456,16 +6263,6 @@ packages: dev: false optional: true - /arweave@1.12.4: - resolution: {integrity: sha512-W5z7hb9/ZP2vy6BiYC+2obfGMhlhz/DaCkEXpkj/4hjaecWYUnvlUX5aCI2i0+lCrzbBUFbz+maDihUpBrdZpg==} - engines: {node: '>=16.15.0'} - dependencies: - arconnect: 0.4.2 - asn1.js: 5.4.1 - base64-js: 1.5.1 - bignumber.js: 9.1.2 - dev: false - /arweave@1.15.5: resolution: {integrity: sha512-Zj3b8juz1ZtDaQDPQlzWyk2I4wZPx3RmcGq8pVJeZXl2Tjw0WRy5ueHPelxZtBLqCirGoZxZEAFRs6SZUSCBjg==} engines: {node: '>=18'} @@ -6605,6 +6402,7 @@ packages: follow-redirects: 1.15.2(debug@4.3.4) transitivePeerDependencies: - debug + dev: true /axios@0.25.0(debug@4.3.4): resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} @@ -6612,6 +6410,7 @@ packages: follow-redirects: 1.15.2(debug@4.3.4) transitivePeerDependencies: - debug + dev: true /axios@0.27.2: resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} @@ -6745,10 +6544,6 @@ packages: dependencies: bindings: 1.5.0 - /bignumber.js@9.1.1: - resolution: {integrity: sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==} - dev: false - /bignumber.js@9.1.2: resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} @@ -6775,22 +6570,6 @@ packages: wif: 2.0.6 dev: false - /bip39-light@1.0.7: - resolution: {integrity: sha512-WDTmLRQUsiioBdTs9BmSEmkJza+8xfJmptsNJjxnoq3EydSa/ZBXT6rm66KoT3PJIRYMnhSKNR7S9YL1l7R40Q==} - dependencies: - create-hash: 1.2.0 - pbkdf2: 3.1.2 - dev: false - - /bip39@3.0.2: - resolution: {integrity: sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==} - dependencies: - '@types/node': 11.11.6 - create-hash: 1.2.0 - pbkdf2: 3.1.2 - randombytes: 2.1.0 - dev: false - /bip39@3.1.0: resolution: {integrity: sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==} dependencies: @@ -6843,10 +6622,6 @@ packages: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} dev: false - /bn.js@5.2.0: - resolution: {integrity: sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==} - dev: false - /bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} @@ -6870,14 +6645,6 @@ packages: - supports-color dev: true - /borsh@0.6.0: - resolution: {integrity: sha512-sl5k89ViqsThXQpYa9XDtz1sBl3l1lI313cFUY1HKr+wvMILnb+58xpkqTNrYbelh99dY7K8usxoCusQmqix9Q==} - dependencies: - bn.js: 5.2.1 - bs58: 4.0.1 - text-encoding-utf-8: 1.0.2 - dev: false - /borsh@0.7.0: resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} dependencies: @@ -7087,10 +6854,6 @@ packages: resolution: {integrity: sha512-AZ+9tFXw1sS0o0jcpJQIXvFTOB/xGiQ4OQ2t98QX3NDn2EZTSRBC801gxrsGgViuq2ak/NLkNgSNEPtCr5lfKg==} dev: true - /capability@0.2.5: - resolution: {integrity: sha512-rsJZYVCgXd08sPqwmaIqjAd5SUTfonV0z/gDJ8D6cN8wQphky1kkAYEqQ+hmDxTw7UihvBfjUVUSY+DBEe44jg==} - dev: false - /carbites@1.0.6: resolution: {integrity: sha512-dS9IQvnrb5VIRvSTNz5Ff+mB9d2MFfi5mojtJi7Rlss79VeF190jr0sZdA7eW0CGHotvHkZaWuM6wgfD9PEFRg==} dependencies: @@ -7378,11 +7141,6 @@ packages: /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - /commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - dev: false - /common-path-prefix@3.0.0: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: true @@ -7548,11 +7306,13 @@ packages: /cross-fetch@3.1.5: resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} + requiresBuild: true dependencies: node-fetch: 2.6.7 transitivePeerDependencies: - encoding dev: false + optional: true /cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} @@ -7590,18 +7350,10 @@ packages: resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} dev: true - /csv-generate@4.3.0: - resolution: {integrity: sha512-7KdVId/2RgwPIKfWHaHtjBq7I9mgdi8ICzsUyIhP8is6UwpwVGGSC/aPnrZ8/SkgBcCP20lXrdPuP64Irs1VBg==} - dev: false - /csv-parse@4.16.3: resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} dev: true - /csv-parse@5.5.2: - resolution: {integrity: sha512-YRVtvdtUNXZCMyK5zd5Wty1W6dNTpGKdqQd4EQ8tl/c6KW1aMBB1Kg1ppky5FONKmEqGJ/8WjLlTNLPne4ioVA==} - dev: false - /csv-parse@5.6.0: resolution: {integrity: sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q==} dev: false @@ -7610,10 +7362,6 @@ packages: resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} dev: true - /csv-stringify@6.4.4: - resolution: {integrity: sha512-NDshLupGa7gp4UG4sSNIqwYJqgSwvds0SvENntxoVoVvTzXcrHvd5gG2MWpbRpSNvk59dlmIe1IwNvSxN4IVmg==} - dev: false - /csv-stringify@6.5.2: resolution: {integrity: sha512-RFPahj0sXcmUyjrObAK+DOWtMvMIFV328n4qZJhgX3x2RqkQgOTU2mCUmiFR0CzM6AzChlRSUErjiJeEt8BaQA==} dev: false @@ -7628,16 +7376,6 @@ packages: stream-transform: 2.1.3 dev: true - /csv@6.3.5: - resolution: {integrity: sha512-Y+KTCAUljtq2JaGP42ZL1bymqlU5BkfnFpZhxRczGFDZox2VXhlRHnG5DRshyUrwQzmCdEiLjSqNldCfm1OVCA==} - engines: {node: '>= 0.1.90'} - dependencies: - csv-generate: 4.3.0 - csv-parse: 5.5.2 - csv-stringify: 6.4.4 - stream-transform: 3.2.10 - dev: false - /currently-unhandled@0.4.1: resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} engines: {node: '>=0.10.0'} @@ -7881,6 +7619,7 @@ packages: /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dev: true /deps-regex@0.1.4: resolution: {integrity: sha512-3tzwGYogSJi8HoG93R5x9NrdefZQOXgHgGih/7eivloOq6yC6O+yoFxZnkgP661twvfILONfoKRdF9GQOGx2RA==} @@ -8119,14 +7858,6 @@ packages: dependencies: is-arrayish: 0.2.1 - /error-polyfill@0.1.3: - resolution: {integrity: sha512-XHJk60ufE+TG/ydwp4lilOog549iiQF2OAPhkk9DdiYWMrltz5yhDz/xnKuenNwP7gy3dsibssO5QpVhkrSzzg==} - dependencies: - capability: 0.2.5 - o3: 1.0.3 - u3: 0.1.1 - dev: false - /errorhandler@1.5.1: resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} engines: {node: '>= 0.8'} @@ -8790,44 +8521,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /ethers@5.7.2: - resolution: {integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==} - dependencies: - '@ethersproject/abi': 5.7.0 - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/base64': 5.7.0 - '@ethersproject/basex': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/contracts': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/hdnode': 5.7.0 - '@ethersproject/json-wallets': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/networks': 5.7.1 - '@ethersproject/pbkdf2': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/providers': 5.7.2 - '@ethersproject/random': 5.7.0 - '@ethersproject/rlp': 5.7.0 - '@ethersproject/sha2': 5.7.0 - '@ethersproject/signing-key': 5.7.0 - '@ethersproject/solidity': 5.7.0 - '@ethersproject/strings': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/units': 5.7.0 - '@ethersproject/wallet': 5.7.0 - '@ethersproject/web': 5.7.1 - '@ethersproject/wordlists': 5.7.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - /ethers@6.13.5: resolution: {integrity: sha512-+knKNieu5EKRThQJWwqaJ10a6HE9sSehGeqWN65//wE7j47ZpFhKAnHB/JJFibwwg61I/koxaPsXbXpD/skNOQ==} engines: {node: '>=14.0.0'} @@ -8899,6 +8592,7 @@ packages: resolution: {integrity: sha512-oBuz5SYz5zzyuHINoe9ooePwSu0xApKWgeNzok4hZ5YKXFh9zrQBEM15CXqoZkJJPuI2ArvqjPQd8UKJA753XA==} requiresBuild: true dev: false + optional: true /express-urlrewrite@1.4.0: resolution: {integrity: sha512-PI5h8JuzoweS26vFizwQl6UTF25CAHSggNv0J25Dn/IKZscJHWZzPrI5z2Y2jgOzIaw2qh8l6+/jUcig23Z2SA==} @@ -9659,7 +9353,9 @@ packages: /hi-base32@0.5.1: resolution: {integrity: sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==} + requiresBuild: true dev: false + optional: true /hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} @@ -9683,17 +9379,6 @@ packages: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} dev: true - /http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 - dev: false - /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -10572,14 +10257,18 @@ packages: /js-sha256@0.9.0: resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} + requiresBuild: true dev: false + optional: true /js-sha3@0.8.0: resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} /js-sha512@0.8.0: resolution: {integrity: sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==} + requiresBuild: true dev: false + optional: true /js-string-escape@1.0.1: resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} @@ -10623,9 +10312,11 @@ packages: /json-bigint@1.0.0: resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} + requiresBuild: true dependencies: bignumber.js: 9.1.2 dev: false + optional: true /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -11742,17 +11433,13 @@ packages: once: 1.4.0 readable-stream: 3.6.0 dev: false + optional: true /murmurhash3js-revisited@3.0.0: resolution: {integrity: sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==} engines: {node: '>=8.0.0'} dev: false - /mustache@4.2.0: - resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} - hasBin: true - dev: false - /mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} @@ -11789,41 +11476,6 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /near-api-js@0.44.2: - resolution: {integrity: sha512-eMnc4V+geggapEUa3nU2p8HSHn/njtloI4P2mceHQWO8vDE1NGpnAw8FuTBrLmXSgIv9m6oocgFc9t3VNf5zwg==} - dependencies: - bn.js: 5.2.0 - borsh: 0.6.0 - bs58: 4.0.1 - depd: 2.0.0 - error-polyfill: 0.1.3 - http-errors: 1.8.1 - js-sha256: 0.9.0 - mustache: 4.2.0 - node-fetch: 2.6.9 - text-encoding-utf-8: 1.0.2 - tweetnacl: 1.0.3 - transitivePeerDependencies: - - encoding - dev: false - - /near-hd-key@1.2.1: - resolution: {integrity: sha512-SIrthcL5Wc0sps+2e1xGj3zceEa68TgNZDLuCx0daxmfTP7sFTB3/mtE2pYhlFsCxWoMn+JfID5E1NlzvvbRJg==} - dependencies: - bip39: 3.0.2 - create-hmac: 1.1.7 - tweetnacl: 1.0.3 - dev: false - - /near-seed-phrase@0.2.0: - resolution: {integrity: sha512-NpmrnejpY1AdlRpDZ0schJQJtfBaoUheRfiYtQpcq9TkwPgqKZCRULV5L3hHmLc0ep7KRtikbPQ9R2ztN/3cyQ==} - dependencies: - bip39-light: 1.0.7 - bs58: 4.0.1 - near-hd-key: 1.2.1 - tweetnacl: 1.0.3 - dev: false - /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -12013,12 +11665,6 @@ packages: resolution: {integrity: sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==} dev: true - /o3@1.0.3: - resolution: {integrity: sha512-f+4n+vC6s4ysy7YO7O2gslWZBUu8Qj2i2OUJOvjRxQva7jVjYjB29jrr9NCjmxZQR0gzrOcv1RnqoYOeMs5VRQ==} - dependencies: - capability: 0.2.5 - dev: false - /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -12404,17 +12050,6 @@ packages: through: 2.3.8 dev: true - /pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} - dependencies: - create-hash: 1.2.0 - create-hmac: 1.1.7 - ripemd160: 2.0.2 - safe-buffer: 5.2.1 - sha.js: 2.4.11 - dev: false - /peek-stream@1.1.3: resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} dependencies: @@ -12672,11 +12307,6 @@ packages: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: false - /promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -12833,6 +12463,7 @@ packages: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 + dev: true /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} @@ -13288,16 +12919,6 @@ packages: lodash: 4.17.21 dev: true - /secp256k1@4.0.3: - resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} - engines: {node: '>=10.0.0'} - requiresBuild: true - dependencies: - elliptic: 6.5.4 - node-addon-api: 2.0.2 - node-gyp-build: 4.5.0 - dev: false - /secp256k1@5.0.0: resolution: {integrity: sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==} engines: {node: '>=14.0.0'} @@ -13398,6 +13019,7 @@ packages: /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true /sha.js@2.4.11: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} @@ -13714,11 +13336,6 @@ packages: - supports-color dev: true - /statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - dev: false - /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} @@ -13752,10 +13369,6 @@ packages: mixme: 0.5.4 dev: true - /stream-transform@3.2.10: - resolution: {integrity: sha512-Yu+x7zcWbWdyB0Td8dFzHt2JEyD6694CNq2lqh1rbuEBVxPtjb/GZ7xDnZcdYiU5E/RtufM54ClSEOzZDeWguA==} - dev: false - /streaming-iterables@6.2.0: resolution: {integrity: sha512-3AYC8oB60WyD1ic7uHmN/vm2oRGzRnQ3XFBl/bFMDi1q1+nc5/vjMmiE4vroIya3jG59t87VpyAj/iXYxyw9AA==} engines: {node: '>=10'} @@ -14054,6 +13667,7 @@ packages: dependencies: tmp: 0.2.1 dev: false + optional: true /tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} @@ -14068,6 +13682,7 @@ packages: dependencies: rimraf: 3.0.2 dev: false + optional: true /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} @@ -14084,6 +13699,7 @@ packages: /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + dev: true /tokenize-whitespace@0.0.1: resolution: {integrity: sha512-OxbdMHTjVs0ccBMfjo1v5OH6bq8yhydewCd9n6xihgtZvI3wSqR00EsM86DjELLl6VtMkY2z99r5q+uNW79E+Q==} @@ -14421,10 +14037,6 @@ packages: engines: {node: '>=8'} dev: false - /u3@0.1.1: - resolution: {integrity: sha512-+J5D5ir763y+Am/QY6hXNRlwljIeRMZMGs0cT6qqZVVzzT3X3nFPXVyPOFRMOR4kupB0T8JnCdpWdp6Q/iXn3w==} - dev: false - /ufo@1.0.1: resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==} dev: true @@ -14704,7 +14316,9 @@ packages: /vlq@2.0.4: resolution: {integrity: sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA==} + requiresBuild: true dev: false + optional: true /vm2@3.9.14: resolution: {integrity: sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==} @@ -15174,10 +14788,3 @@ packages: /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: true - - github.com/Irys-xyz/avsc/a730cc8018b79e114b6a3381bbb57760a24c6cef: - resolution: {tarball: https://codeload.github.com/Irys-xyz/avsc/tar.gz/a730cc8018b79e114b6a3381bbb57760a24c6cef} - name: avsc - version: 5.4.7 - engines: {node: '>=0.11'} - dev: false From 7e37d6d87c16a8b796942b6329e6b59de9db191b Mon Sep 17 00:00:00 2001 From: JesseTheRobot Date: Tue, 7 Jan 2025 20:16:47 +0000 Subject: [PATCH 7/7] fix: Incorrect value being passed in as `wallet` --- packages/umi-uploader-irys/src/createIrysUploader.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/umi-uploader-irys/src/createIrysUploader.ts b/packages/umi-uploader-irys/src/createIrysUploader.ts index 238ea13..29ae145 100644 --- a/packages/umi-uploader-irys/src/createIrysUploader.ts +++ b/packages/umi-uploader-irys/src/createIrysUploader.ts @@ -311,7 +311,7 @@ export function createIrysUploader( return bPackage .Uploader(cPackage.Solana) .bundlerUrl(address) - .withWallet(keypair) + .withWallet(keypair.secretKey) .withIrysConfig(options) .build(); };