@solana/accounts
Advanced tools
Comparing version 2.0.0-experimental.f2a2e5b to 2.0.0-experimental.f4436f4
@@ -0,1 +1,2 @@ | ||
import { SolanaError, SOLANA_ERROR__ACCOUNTS__FAILED_TO_DECODE_ACCOUNT, SOLANA_ERROR__ACCOUNTS__EXPECTED_DECODED_ACCOUNT, SOLANA_ERROR__ACCOUNTS__EXPECTED_ALL_ACCOUNTS_TO_BE_DECODED, SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND, SOLANA_ERROR__ACCOUNTS__ONE_OR_MORE_ACCOUNTS_NOT_FOUND } from '@solana/errors'; | ||
import { getBase64Encoder, getBase58Encoder } from '@solana/codecs-strings'; | ||
@@ -5,4 +6,2 @@ | ||
var BASE_ACCOUNT_SIZE = 128; | ||
// src/decode-account.ts | ||
function decodeAccount(encodedAccount, decoder) { | ||
@@ -14,6 +13,6 @@ try { | ||
return Object.freeze({ ...encodedAccount, data: decoder.decode(encodedAccount.data) }); | ||
} catch (error) { | ||
const newError = new Error(`Failed to decode account [${encodedAccount.address}].`); | ||
newError.cause = error; | ||
throw newError; | ||
} catch (e) { | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__FAILED_TO_DECODE_ACCOUNT, { | ||
address: encodedAccount.address | ||
}); | ||
} | ||
@@ -26,3 +25,5 @@ } | ||
if (accountExists(account) && account.data instanceof Uint8Array) { | ||
throw new Error(`Expected account [${account.address}] to be decoded.`); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__EXPECTED_DECODED_ACCOUNT, { | ||
address: account.address | ||
}); | ||
} | ||
@@ -33,4 +34,6 @@ } | ||
if (encoded.length > 0) { | ||
const encodedAddresses = encoded.map((a) => a.address).join(", "); | ||
throw new Error(`Expected accounts [${encodedAddresses}] to be decoded.`); | ||
const encodedAddresses = encoded.map((a) => a.address); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__EXPECTED_ALL_ACCOUNTS_TO_BE_DECODED, { | ||
addresses: encodedAddresses | ||
}); | ||
} | ||
@@ -87,7 +90,5 @@ } | ||
} | ||
// src/maybe-account.ts | ||
function assertAccountExists(account) { | ||
if (!account.exists) { | ||
throw new Error(`Expected account [${account.address}] to exist.`); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND, { address: account.address }); | ||
} | ||
@@ -99,3 +100,3 @@ } | ||
const missingAddresses = missingAccounts.map((a) => a.address); | ||
throw new Error(`Expected accounts [${missingAddresses.join(", ")}] to exist.`); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__ONE_OR_MORE_ACCOUNTS_NOT_FOUND, { addresses: missingAddresses }); | ||
} | ||
@@ -102,0 +103,0 @@ } |
@@ -0,1 +1,2 @@ | ||
import { SolanaError, SOLANA_ERROR__ACCOUNTS__FAILED_TO_DECODE_ACCOUNT, SOLANA_ERROR__ACCOUNTS__EXPECTED_DECODED_ACCOUNT, SOLANA_ERROR__ACCOUNTS__EXPECTED_ALL_ACCOUNTS_TO_BE_DECODED, SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND, SOLANA_ERROR__ACCOUNTS__ONE_OR_MORE_ACCOUNTS_NOT_FOUND } from '@solana/errors'; | ||
import { getBase64Encoder, getBase58Encoder } from '@solana/codecs-strings'; | ||
@@ -5,4 +6,2 @@ | ||
var BASE_ACCOUNT_SIZE = 128; | ||
// src/decode-account.ts | ||
function decodeAccount(encodedAccount, decoder) { | ||
@@ -14,6 +13,6 @@ try { | ||
return Object.freeze({ ...encodedAccount, data: decoder.decode(encodedAccount.data) }); | ||
} catch (error) { | ||
const newError = new Error(`Failed to decode account [${encodedAccount.address}].`); | ||
newError.cause = error; | ||
throw newError; | ||
} catch (e) { | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__FAILED_TO_DECODE_ACCOUNT, { | ||
address: encodedAccount.address | ||
}); | ||
} | ||
@@ -26,3 +25,5 @@ } | ||
if (accountExists(account) && account.data instanceof Uint8Array) { | ||
throw new Error(`Expected account [${account.address}] to be decoded.`); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__EXPECTED_DECODED_ACCOUNT, { | ||
address: account.address | ||
}); | ||
} | ||
@@ -33,4 +34,6 @@ } | ||
if (encoded.length > 0) { | ||
const encodedAddresses = encoded.map((a) => a.address).join(", "); | ||
throw new Error(`Expected accounts [${encodedAddresses}] to be decoded.`); | ||
const encodedAddresses = encoded.map((a) => a.address); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__EXPECTED_ALL_ACCOUNTS_TO_BE_DECODED, { | ||
addresses: encodedAddresses | ||
}); | ||
} | ||
@@ -87,7 +90,5 @@ } | ||
} | ||
// src/maybe-account.ts | ||
function assertAccountExists(account) { | ||
if (!account.exists) { | ||
throw new Error(`Expected account [${account.address}] to exist.`); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND, { address: account.address }); | ||
} | ||
@@ -99,3 +100,3 @@ } | ||
const missingAddresses = missingAccounts.map((a) => a.address); | ||
throw new Error(`Expected accounts [${missingAddresses.join(", ")}] to exist.`); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__ONE_OR_MORE_ACCOUNTS_NOT_FOUND, { addresses: missingAddresses }); | ||
} | ||
@@ -102,0 +103,0 @@ } |
@@ -0,1 +1,2 @@ | ||
import { SolanaError, SOLANA_ERROR__ACCOUNTS__FAILED_TO_DECODE_ACCOUNT, SOLANA_ERROR__ACCOUNTS__EXPECTED_DECODED_ACCOUNT, SOLANA_ERROR__ACCOUNTS__EXPECTED_ALL_ACCOUNTS_TO_BE_DECODED, SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND, SOLANA_ERROR__ACCOUNTS__ONE_OR_MORE_ACCOUNTS_NOT_FOUND } from '@solana/errors'; | ||
import { getBase64Encoder, getBase58Encoder } from '@solana/codecs-strings'; | ||
@@ -5,4 +6,2 @@ | ||
var BASE_ACCOUNT_SIZE = 128; | ||
// src/decode-account.ts | ||
function decodeAccount(encodedAccount, decoder) { | ||
@@ -14,6 +13,6 @@ try { | ||
return Object.freeze({ ...encodedAccount, data: decoder.decode(encodedAccount.data) }); | ||
} catch (error) { | ||
const newError = new Error(`Failed to decode account [${encodedAccount.address}].`); | ||
newError.cause = error; | ||
throw newError; | ||
} catch (e) { | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__FAILED_TO_DECODE_ACCOUNT, { | ||
address: encodedAccount.address | ||
}); | ||
} | ||
@@ -26,3 +25,5 @@ } | ||
if (accountExists(account) && account.data instanceof Uint8Array) { | ||
throw new Error(`Expected account [${account.address}] to be decoded.`); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__EXPECTED_DECODED_ACCOUNT, { | ||
address: account.address | ||
}); | ||
} | ||
@@ -33,4 +34,6 @@ } | ||
if (encoded.length > 0) { | ||
const encodedAddresses = encoded.map((a) => a.address).join(", "); | ||
throw new Error(`Expected accounts [${encodedAddresses}] to be decoded.`); | ||
const encodedAddresses = encoded.map((a) => a.address); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__EXPECTED_ALL_ACCOUNTS_TO_BE_DECODED, { | ||
addresses: encodedAddresses | ||
}); | ||
} | ||
@@ -87,7 +90,5 @@ } | ||
} | ||
// src/maybe-account.ts | ||
function assertAccountExists(account) { | ||
if (!account.exists) { | ||
throw new Error(`Expected account [${account.address}] to exist.`); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND, { address: account.address }); | ||
} | ||
@@ -99,3 +100,3 @@ } | ||
const missingAddresses = missingAccounts.map((a) => a.address); | ||
throw new Error(`Expected accounts [${missingAddresses.join(", ")}] to exist.`); | ||
throw new SolanaError(SOLANA_ERROR__ACCOUNTS__ONE_OR_MORE_ACCOUNTS_NOT_FOUND, { addresses: missingAddresses }); | ||
} | ||
@@ -102,0 +103,0 @@ } |
import type { Address } from '@solana/addresses'; | ||
import type { Slot } from '@solana/rpc-core/dist/types/rpc-methods/common'; | ||
import type { GetAccountInfoApi } from '@solana/rpc-core/dist/types/rpc-methods/getAccountInfo'; | ||
import type { GetMultipleAccountsApi } from '@solana/rpc-core/dist/types/rpc-methods/getMultipleAccounts'; | ||
import type { Rpc } from '@solana/rpc-transport/dist/types/json-rpc-types'; | ||
import type { Commitment } from '@solana/rpc-types'; | ||
import type { Rpc } from '@solana/rpc-spec'; | ||
import type { Commitment, Slot } from '@solana/rpc-types'; | ||
import type { MaybeAccount, MaybeEncodedAccount } from './maybe-account.js'; | ||
import type { GetAccountInfoApi, GetMultipleAccountsApi } from './rpc-api/index.js'; | ||
/** Optional configuration for fetching a singular account. */ | ||
@@ -9,0 +7,0 @@ export type FetchAccountConfig = { |
import type { Address } from '@solana/addresses'; | ||
import type { AccountInfoBase, AccountInfoWithBase58Bytes, AccountInfoWithBase58EncodedData, AccountInfoWithBase64EncodedData } from '@solana/rpc-core/dist/types/rpc-methods/common'; | ||
import type { AccountInfoBase, AccountInfoWithBase58Bytes, AccountInfoWithBase58EncodedData, AccountInfoWithBase64EncodedData } from '@solana/rpc-types'; | ||
import type { Account, EncodedAccount } from './account.js'; | ||
import { MaybeAccount, MaybeEncodedAccount } from './maybe-account.js'; | ||
import type { MaybeAccount, MaybeEncodedAccount } from './maybe-account.js'; | ||
import type { JsonParsedDataResponse } from './rpc-api/index.js'; | ||
type Base64EncodedRpcAccount = AccountInfoBase & AccountInfoWithBase64EncodedData; | ||
@@ -14,9 +15,4 @@ /** Parse an account object received from a base64-encoded RPC call into an EncodedAccount or MaybeEncodedAccount type. */ | ||
type JsonParsedRpcAccount = AccountInfoBase & { | ||
readonly data: JsonParsedData<unknown>; | ||
readonly data: JsonParsedDataResponse<unknown>; | ||
}; | ||
type JsonParsedData<TData> = { | ||
readonly parsed: { | ||
readonly info: TData; | ||
}; | ||
}; | ||
/** Parse an account object received from a json-parsed RPC call into an Account or MaybeAccount type. */ | ||
@@ -23,0 +19,0 @@ export declare function parseJsonRpcAccount<TData extends object, TAddress extends string = string>(address: Address<TAddress>, rpcAccount: JsonParsedRpcAccount): Account<TData, TAddress>; |
{ | ||
"name": "@solana/accounts", | ||
"version": "2.0.0-experimental.f2a2e5b", | ||
"version": "2.0.0-experimental.f4436f4", | ||
"description": "Helpers for representing, fetching and decoding Solana accounts", | ||
@@ -49,30 +49,9 @@ "exports": { | ||
"dependencies": { | ||
"@solana/addresses": "2.0.0-experimental.f2a2e5b", | ||
"@solana/codecs-core": "2.0.0-experimental.f2a2e5b", | ||
"@solana/codecs-strings": "2.0.0-experimental.f2a2e5b", | ||
"@solana/rpc-core": "2.0.0-experimental.f2a2e5b", | ||
"@solana/rpc-transport": "2.0.0-experimental.f2a2e5b", | ||
"@solana/rpc-types": "2.0.0-experimental.f2a2e5b" | ||
"@solana/addresses": "2.0.0-experimental.f4436f4", | ||
"@solana/codecs-core": "2.0.0-experimental.f4436f4", | ||
"@solana/codecs-strings": "2.0.0-experimental.f4436f4", | ||
"@solana/errors": "2.0.0-experimental.f4436f4", | ||
"@solana/rpc-spec": "2.0.0-experimental.f4436f4", | ||
"@solana/rpc-types": "2.0.0-experimental.f4436f4" | ||
}, | ||
"devDependencies": { | ||
"@solana/eslint-config-solana": "^1.0.2", | ||
"@swc/jest": "^0.2.29", | ||
"@types/jest": "^29.5.11", | ||
"@typescript-eslint/eslint-plugin": "^6.13.2", | ||
"@typescript-eslint/parser": "^6.3.0", | ||
"agadoo": "^3.0.0", | ||
"eslint": "^8.45.0", | ||
"eslint-plugin-sort-keys-fix": "^1.1.2", | ||
"jest": "^29.7.0", | ||
"jest-runner-eslint": "^2.1.2", | ||
"jest-runner-prettier": "^1.0.0", | ||
"prettier": "^3.1", | ||
"tsup": "^8.0.1", | ||
"typescript": "^5.2.2", | ||
"version-from-git": "^1.1.1", | ||
"build-scripts": "0.0.0", | ||
"test-config": "0.0.0", | ||
"test-matchers": "0.0.0", | ||
"tsconfig": "0.0.0" | ||
}, | ||
"bundlewatch": { | ||
@@ -88,8 +67,9 @@ "defaultCompression": "gzip", | ||
"compile:js": "tsup --config build-scripts/tsup.config.package.ts", | ||
"compile:typedefs": "tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs", | ||
"dev": "jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch", | ||
"publish-packages": "pnpm publish --tag experimental --access public --no-git-checks", | ||
"compile:typedefs": "tsc -p ./tsconfig.declarations.json && node node_modules/@solana/build-scripts/add-js-extension-to-types.mjs", | ||
"dev": "jest -c node_modules/@solana/test-config/jest-dev.config.ts --rootDir . --watch", | ||
"publish-impl": "npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks", | ||
"publish-packages": "pnpm prepublishOnly && pnpm publish-impl", | ||
"style:fix": "pnpm eslint --fix src/* && pnpm prettier -w src/* package.json", | ||
"test:lint": "jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent", | ||
"test:prettier": "jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent", | ||
"test:lint": "jest -c node_modules/@solana/test-config/jest-lint.config.ts --rootDir . --silent", | ||
"test:prettier": "jest -c node_modules/@solana/test-config/jest-prettier.config.ts --rootDir . --silent", | ||
"test:treeshakability:browser": "agadoo dist/index.browser.js", | ||
@@ -99,5 +79,5 @@ "test:treeshakability:native": "agadoo dist/index.native.js", | ||
"test:typecheck": "tsc --noEmit", | ||
"test:unit:browser": "jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent", | ||
"test:unit:node": "jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent" | ||
"test:unit:browser": "jest -c node_modules/@solana/test-config/jest-unit.config.browser.ts --rootDir . --silent", | ||
"test:unit:node": "jest -c node_modules/@solana/test-config/jest-unit.config.node.ts --rootDir . --silent" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
164193
0
34
848
+ Added@solana/addresses@2.0.0-experimental.f4436f4(transitive)
+ Added@solana/assertions@2.0.0-experimental.f4436f4(transitive)
+ Added@solana/codecs-core@2.0.0-experimental.f4436f4(transitive)
+ Added@solana/codecs-numbers@2.0.0-experimental.f4436f4(transitive)
+ Added@solana/codecs-strings@2.0.0-experimental.f4436f4(transitive)
+ Added@solana/errors@2.0.0-experimental.f4436f4(transitive)
+ Added@solana/rpc-spec@2.0.0-experimental.f4436f4(transitive)
+ Added@solana/rpc-spec-types@2.0.0-experimental.f4436f4(transitive)
+ Added@solana/rpc-types@2.0.0-experimental.f4436f4(transitive)
+ Addedchalk@5.3.0(transitive)
+ Addedcommander@12.1.0(transitive)
- Removed@solana/addresses@2.0.0-experimental.f2a2e5b(transitive)
- Removed@solana/assertions@2.0.0-experimental.f2a2e5b(transitive)
- Removed@solana/codecs-core@2.0.0-experimental.f2a2e5b(transitive)
- Removed@solana/codecs-numbers@2.0.0-experimental.f2a2e5b(transitive)
- Removed@solana/codecs-strings@2.0.0-experimental.f2a2e5b(transitive)
- Removed@solana/rpc-core@2.0.0-experimental.f2a2e5b(transitive)
- Removed@solana/rpc-transport@2.0.0-experimental.f2a2e5b(transitive)
- Removed@solana/rpc-types@2.0.0-experimental.f2a2e5b(transitive)
- Removedws@8.18.0(transitive)