Socket
Socket
Sign inDemoInstall

@solana/addresses

Package Overview
Dependencies
Maintainers
14
Versions
1200
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@solana/addresses - npm Package Compare versions

Comparing version 2.0.0-experimental.b074b89 to 2.0.0-experimental.b313ba0

dist/types/address.d.ts

74

dist/index.browser.js

@@ -6,3 +6,18 @@ import { base58, string } from '@metaplex-foundation/umi-serializers';

var __DEV__ = /* @__PURE__ */ (() => process["env"].NODE_ENV === "development")();
function assertIsBase58EncodedAddress(putativeBase58EncodedAddress) {
function isAddress(putativeBase58EncodedAddress) {
if (
// Lowest address (32 bytes of zeroes)
putativeBase58EncodedAddress.length < 32 || // Highest address (32 bytes of 255)
putativeBase58EncodedAddress.length > 44
) {
return false;
}
const bytes = base58.serialize(putativeBase58EncodedAddress);
const numBytes = bytes.byteLength;
if (numBytes !== 32) {
return false;
}
return true;
}
function assertIsAddress(putativeBase58EncodedAddress) {
try {

@@ -27,3 +42,7 @@ if (

}
function getBase58EncodedAddressCodec(config) {
function address(putativeBase58EncodedAddress) {
assertIsAddress(putativeBase58EncodedAddress);
return putativeBase58EncodedAddress;
}
function getAddressCodec(config) {
return string({

@@ -35,3 +54,3 @@ description: config?.description ?? (__DEV__ ? "A 32-byte account address" : ""),

}
function getBase58EncodedAddressComparator() {
function getAddressComparator() {
return new Intl.Collator("en", {

@@ -137,3 +156,18 @@ caseFirst: "lower",

// src/computed-address.ts
// src/program-derived-address.ts
function isProgramDerivedAddress(value) {
return Array.isArray(value) && value.length === 2 && typeof value[0] === "string" && typeof value[1] === "number" && value[1] >= 0 && value[1] <= 255 && isAddress(value[0]);
}
function assertIsProgramDerivedAddress(value) {
const validFormat = Array.isArray(value) && value.length === 2 && typeof value[0] === "string" && typeof value[1] === "number";
if (!validFormat) {
throw new Error(
`Expected given program derived address to have the following format: [Base58EncodedAddress, ProgramDerivedAddressBump].`
);
}
if (value[1] < 0 || value[1] > 255) {
throw new Error(`Expected program derived address bump to be in the range [0, 255], got: ${value[1]}.`);
}
assertIsAddress(value[0]);
}
var MAX_SEED_LENGTH = 32;

@@ -167,3 +201,6 @@ var MAX_SEEDS = 16;

};
async function createProgramDerivedAddress({ programAddress, seeds }) {
async function createProgramDerivedAddress({
programAddress,
seeds
}) {
await assertDigestCapabilityIsAvailable();

@@ -182,3 +219,3 @@ if (seeds.length > MAX_SEEDS) {

}, []);
const base58EncodedAddressCodec = getBase58EncodedAddressCodec();
const base58EncodedAddressCodec = getAddressCodec();
const programAddressBytes = base58EncodedAddressCodec.serialize(programAddress);

@@ -195,13 +232,14 @@ const addressBytesBuffer = await crypto.subtle.digest(

}
async function getProgramDerivedAddress({ programAddress, seeds }) {
async function getProgramDerivedAddress({
programAddress,
seeds
}) {
let bumpSeed = 255;
while (bumpSeed > 0) {
try {
return {
bumpSeed,
pda: await createProgramDerivedAddress({
programAddress,
seeds: [...seeds, new Uint8Array([bumpSeed])]
})
};
const address2 = await createProgramDerivedAddress({
programAddress,
seeds: [...seeds, new Uint8Array([bumpSeed])]
});
return [address2, bumpSeed];
} catch (e) {

@@ -222,3 +260,3 @@ if (e instanceof PointOnCurveError) {

}) {
const { serialize, deserialize } = getBase58EncodedAddressCodec();
const { serialize, deserialize } = getAddressCodec();
const seedBytes = typeof seed === "string" ? new TextEncoder().encode(seed) : seed;

@@ -245,6 +283,8 @@ if (seedBytes.byteLength > MAX_SEED_LENGTH) {

const publicKeyBytes = await crypto.subtle.exportKey("raw", publicKey);
const [base58EncodedAddress] = getBase58EncodedAddressCodec().deserialize(new Uint8Array(publicKeyBytes));
const [base58EncodedAddress] = getAddressCodec().deserialize(new Uint8Array(publicKeyBytes));
return base58EncodedAddress;
}
export { assertIsBase58EncodedAddress, createAddressWithSeed, getAddressFromPublicKey, getBase58EncodedAddressCodec, getBase58EncodedAddressComparator, getProgramDerivedAddress };
export { address, assertIsAddress, assertIsProgramDerivedAddress, createAddressWithSeed, getAddressCodec, getAddressComparator, getAddressFromPublicKey, getProgramDerivedAddress, isAddress, isProgramDerivedAddress };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.browser.js.map

@@ -12,3 +12,3 @@ this.globalThis = this.globalThis || {};

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-core@0.8.2/node_modules/@metaplex-foundation/umi-serializers-core/dist/esm/bytes.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-core@0.8.9/node_modules/@metaplex-foundation/umi-serializers-core/dist/esm/bytes.mjs
var mergeBytes = (bytesArr) => {

@@ -33,3 +33,3 @@ const totalLength = bytesArr.reduce((total, arr) => total + arr.length, 0);

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-core@0.8.2/node_modules/@metaplex-foundation/umi-serializers-core/dist/esm/errors.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-core@0.8.9/node_modules/@metaplex-foundation/umi-serializers-core/dist/esm/errors.mjs
var DeserializingEmptyBufferError = class extends Error {

@@ -48,3 +48,3 @@ constructor(serializer) {

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-core@0.8.2/node_modules/@metaplex-foundation/umi-serializers-core/dist/esm/fixSerializer.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-core@0.8.9/node_modules/@metaplex-foundation/umi-serializers-core/dist/esm/fixSerializer.mjs
function fixSerializer(serializer, fixedBytes, description) {

@@ -70,3 +70,3 @@ return {

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-encodings@0.8.2/node_modules/@metaplex-foundation/umi-serializers-encodings/dist/esm/errors.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-encodings@0.8.9/node_modules/@metaplex-foundation/umi-serializers-encodings/dist/esm/errors.mjs
var InvalidBaseStringError = class extends Error {

@@ -81,3 +81,3 @@ constructor(value, base, cause) {

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-encodings@0.8.2/node_modules/@metaplex-foundation/umi-serializers-encodings/dist/esm/baseX.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-encodings@0.8.9/node_modules/@metaplex-foundation/umi-serializers-encodings/dist/esm/baseX.mjs
var baseX = (alphabet) => {

@@ -136,6 +136,6 @@ const base = alphabet.length;

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-encodings@0.8.2/node_modules/@metaplex-foundation/umi-serializers-encodings/dist/esm/base58.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-encodings@0.8.9/node_modules/@metaplex-foundation/umi-serializers-encodings/dist/esm/base58.mjs
var base58 = baseX("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-encodings@0.8.2/node_modules/@metaplex-foundation/umi-serializers-encodings/dist/esm/nullCharacters.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-encodings@0.8.9/node_modules/@metaplex-foundation/umi-serializers-encodings/dist/esm/nullCharacters.mjs
var removeNullCharacters = (value) => (

@@ -146,3 +146,3 @@ // eslint-disable-next-line no-control-regex

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-encodings@0.8.2/node_modules/@metaplex-foundation/umi-serializers-encodings/dist/esm/utf8.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-encodings@0.8.9/node_modules/@metaplex-foundation/umi-serializers-encodings/dist/esm/utf8.mjs
var utf8 = {

@@ -161,3 +161,3 @@ description: "utf8",

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-numbers@0.8.2/node_modules/@metaplex-foundation/umi-serializers-numbers/dist/esm/common.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-numbers@0.8.9/node_modules/@metaplex-foundation/umi-serializers-numbers/dist/esm/common.mjs
var Endian;

@@ -169,3 +169,3 @@ (function(Endian2) {

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-numbers@0.8.2/node_modules/@metaplex-foundation/umi-serializers-numbers/dist/esm/errors.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-numbers@0.8.9/node_modules/@metaplex-foundation/umi-serializers-numbers/dist/esm/errors.mjs
var NumberOutOfRangeError = class extends RangeError {

@@ -178,3 +178,3 @@ constructor(serializer, min, max, actual) {

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-numbers@0.8.2/node_modules/@metaplex-foundation/umi-serializers-numbers/dist/esm/utils.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-numbers@0.8.9/node_modules/@metaplex-foundation/umi-serializers-numbers/dist/esm/utils.mjs
function numberFactory(input) {

@@ -223,3 +223,3 @@ let littleEndian;

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-numbers@0.8.2/node_modules/@metaplex-foundation/umi-serializers-numbers/dist/esm/u32.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers-numbers@0.8.9/node_modules/@metaplex-foundation/umi-serializers-numbers/dist/esm/u32.mjs
var u32 = (options = {}) => numberFactory({

@@ -234,3 +234,3 @@ name: "u32",

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers@0.8.5/node_modules/@metaplex-foundation/umi-serializers/dist/esm/utils.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers@0.8.9/node_modules/@metaplex-foundation/umi-serializers/dist/esm/utils.mjs
function getSizeDescription(size) {

@@ -240,3 +240,3 @@ return typeof size === "object" ? size.description : `${size}`;

// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers@0.8.5/node_modules/@metaplex-foundation/umi-serializers/dist/esm/string.mjs
// ../../node_modules/.pnpm/@metaplex-foundation+umi-serializers@0.8.9/node_modules/@metaplex-foundation/umi-serializers/dist/esm/string.mjs
function string(options = {}) {

@@ -282,4 +282,19 @@ const size = options.size ?? u32();

// src/base58.ts
function assertIsBase58EncodedAddress(putativeBase58EncodedAddress) {
// src/address.ts
function isAddress(putativeBase58EncodedAddress) {
if (
// Lowest address (32 bytes of zeroes)
putativeBase58EncodedAddress.length < 32 || // Highest address (32 bytes of 255)
putativeBase58EncodedAddress.length > 44
) {
return false;
}
const bytes = base58.serialize(putativeBase58EncodedAddress);
const numBytes = bytes.byteLength;
if (numBytes !== 32) {
return false;
}
return true;
}
function assertIsAddress(putativeBase58EncodedAddress) {
try {

@@ -304,3 +319,7 @@ if (

}
function getBase58EncodedAddressCodec(config) {
function address(putativeBase58EncodedAddress) {
assertIsAddress(putativeBase58EncodedAddress);
return putativeBase58EncodedAddress;
}
function getAddressCodec(config) {
return string({

@@ -312,3 +331,3 @@ description: config?.description ?? ("A 32-byte account address" ),

}
function getBase58EncodedAddressComparator() {
function getAddressComparator() {
return new Intl.Collator("en", {

@@ -435,3 +454,18 @@ caseFirst: "lower",

// src/computed-address.ts
// src/program-derived-address.ts
function isProgramDerivedAddress(value) {
return Array.isArray(value) && value.length === 2 && typeof value[0] === "string" && typeof value[1] === "number" && value[1] >= 0 && value[1] <= 255 && isAddress(value[0]);
}
function assertIsProgramDerivedAddress(value) {
const validFormat = Array.isArray(value) && value.length === 2 && typeof value[0] === "string" && typeof value[1] === "number";
if (!validFormat) {
throw new Error(
`Expected given program derived address to have the following format: [Base58EncodedAddress, ProgramDerivedAddressBump].`
);
}
if (value[1] < 0 || value[1] > 255) {
throw new Error(`Expected program derived address bump to be in the range [0, 255], got: ${value[1]}.`);
}
assertIsAddress(value[0]);
}
var MAX_SEED_LENGTH = 32;

@@ -465,3 +499,6 @@ var MAX_SEEDS = 16;

};
async function createProgramDerivedAddress({ programAddress, seeds }) {
async function createProgramDerivedAddress({
programAddress,
seeds
}) {
await assertDigestCapabilityIsAvailable();

@@ -480,3 +517,3 @@ if (seeds.length > MAX_SEEDS) {

}, []);
const base58EncodedAddressCodec = getBase58EncodedAddressCodec();
const base58EncodedAddressCodec = getAddressCodec();
const programAddressBytes = base58EncodedAddressCodec.serialize(programAddress);

@@ -493,13 +530,14 @@ const addressBytesBuffer = await crypto.subtle.digest(

}
async function getProgramDerivedAddress({ programAddress, seeds }) {
async function getProgramDerivedAddress({
programAddress,
seeds
}) {
let bumpSeed = 255;
while (bumpSeed > 0) {
try {
return {
bumpSeed,
pda: await createProgramDerivedAddress({
programAddress,
seeds: [...seeds, new Uint8Array([bumpSeed])]
})
};
const address2 = await createProgramDerivedAddress({
programAddress,
seeds: [...seeds, new Uint8Array([bumpSeed])]
});
return [address2, bumpSeed];
} catch (e) {

@@ -520,3 +558,3 @@ if (e instanceof PointOnCurveError) {

}) {
const { serialize, deserialize } = getBase58EncodedAddressCodec();
const { serialize, deserialize } = getAddressCodec();
const seedBytes = typeof seed === "string" ? new TextEncoder().encode(seed) : seed;

@@ -545,12 +583,16 @@ if (seedBytes.byteLength > MAX_SEED_LENGTH) {

const publicKeyBytes = await crypto.subtle.exportKey("raw", publicKey);
const [base58EncodedAddress] = getBase58EncodedAddressCodec().deserialize(new Uint8Array(publicKeyBytes));
const [base58EncodedAddress] = getAddressCodec().deserialize(new Uint8Array(publicKeyBytes));
return base58EncodedAddress;
}
exports.assertIsBase58EncodedAddress = assertIsBase58EncodedAddress;
exports.address = address;
exports.assertIsAddress = assertIsAddress;
exports.assertIsProgramDerivedAddress = assertIsProgramDerivedAddress;
exports.createAddressWithSeed = createAddressWithSeed;
exports.getAddressCodec = getAddressCodec;
exports.getAddressComparator = getAddressComparator;
exports.getAddressFromPublicKey = getAddressFromPublicKey;
exports.getBase58EncodedAddressCodec = getBase58EncodedAddressCodec;
exports.getBase58EncodedAddressComparator = getBase58EncodedAddressComparator;
exports.getProgramDerivedAddress = getProgramDerivedAddress;
exports.isAddress = isAddress;
exports.isProgramDerivedAddress = isProgramDerivedAddress;

@@ -557,0 +599,0 @@ return exports;

@@ -6,3 +6,18 @@ import { base58, string } from '@metaplex-foundation/umi-serializers';

var __DEV__ = /* @__PURE__ */ (() => process["env"].NODE_ENV === "development")();
function assertIsBase58EncodedAddress(putativeBase58EncodedAddress) {
function isAddress(putativeBase58EncodedAddress) {
if (
// Lowest address (32 bytes of zeroes)
putativeBase58EncodedAddress.length < 32 || // Highest address (32 bytes of 255)
putativeBase58EncodedAddress.length > 44
) {
return false;
}
const bytes = base58.serialize(putativeBase58EncodedAddress);
const numBytes = bytes.byteLength;
if (numBytes !== 32) {
return false;
}
return true;
}
function assertIsAddress(putativeBase58EncodedAddress) {
try {

@@ -27,3 +42,7 @@ if (

}
function getBase58EncodedAddressCodec(config) {
function address(putativeBase58EncodedAddress) {
assertIsAddress(putativeBase58EncodedAddress);
return putativeBase58EncodedAddress;
}
function getAddressCodec(config) {
return string({

@@ -35,3 +54,3 @@ description: config?.description ?? (__DEV__ ? "A 32-byte account address" : ""),

}
function getBase58EncodedAddressComparator() {
function getAddressComparator() {
return new Intl.Collator("en", {

@@ -137,3 +156,18 @@ caseFirst: "lower",

// src/computed-address.ts
// src/program-derived-address.ts
function isProgramDerivedAddress(value) {
return Array.isArray(value) && value.length === 2 && typeof value[0] === "string" && typeof value[1] === "number" && value[1] >= 0 && value[1] <= 255 && isAddress(value[0]);
}
function assertIsProgramDerivedAddress(value) {
const validFormat = Array.isArray(value) && value.length === 2 && typeof value[0] === "string" && typeof value[1] === "number";
if (!validFormat) {
throw new Error(
`Expected given program derived address to have the following format: [Base58EncodedAddress, ProgramDerivedAddressBump].`
);
}
if (value[1] < 0 || value[1] > 255) {
throw new Error(`Expected program derived address bump to be in the range [0, 255], got: ${value[1]}.`);
}
assertIsAddress(value[0]);
}
var MAX_SEED_LENGTH = 32;

@@ -167,3 +201,6 @@ var MAX_SEEDS = 16;

};
async function createProgramDerivedAddress({ programAddress, seeds }) {
async function createProgramDerivedAddress({
programAddress,
seeds
}) {
await assertDigestCapabilityIsAvailable();

@@ -182,3 +219,3 @@ if (seeds.length > MAX_SEEDS) {

}, []);
const base58EncodedAddressCodec = getBase58EncodedAddressCodec();
const base58EncodedAddressCodec = getAddressCodec();
const programAddressBytes = base58EncodedAddressCodec.serialize(programAddress);

@@ -195,13 +232,14 @@ const addressBytesBuffer = await crypto.subtle.digest(

}
async function getProgramDerivedAddress({ programAddress, seeds }) {
async function getProgramDerivedAddress({
programAddress,
seeds
}) {
let bumpSeed = 255;
while (bumpSeed > 0) {
try {
return {
bumpSeed,
pda: await createProgramDerivedAddress({
programAddress,
seeds: [...seeds, new Uint8Array([bumpSeed])]
})
};
const address2 = await createProgramDerivedAddress({
programAddress,
seeds: [...seeds, new Uint8Array([bumpSeed])]
});
return [address2, bumpSeed];
} catch (e) {

@@ -222,3 +260,3 @@ if (e instanceof PointOnCurveError) {

}) {
const { serialize, deserialize } = getBase58EncodedAddressCodec();
const { serialize, deserialize } = getAddressCodec();
const seedBytes = typeof seed === "string" ? new TextEncoder().encode(seed) : seed;

@@ -245,8 +283,8 @@ if (seedBytes.byteLength > MAX_SEED_LENGTH) {

const publicKeyBytes = await crypto.subtle.exportKey("raw", publicKey);
const [base58EncodedAddress] = getBase58EncodedAddressCodec().deserialize(new Uint8Array(publicKeyBytes));
const [base58EncodedAddress] = getAddressCodec().deserialize(new Uint8Array(publicKeyBytes));
return base58EncodedAddress;
}
export { assertIsBase58EncodedAddress, createAddressWithSeed, getAddressFromPublicKey, getBase58EncodedAddressCodec, getBase58EncodedAddressComparator, getProgramDerivedAddress };
export { address, assertIsAddress, assertIsProgramDerivedAddress, createAddressWithSeed, getAddressCodec, getAddressComparator, getAddressFromPublicKey, getProgramDerivedAddress, isAddress, isProgramDerivedAddress };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.native.js.map

@@ -6,3 +6,18 @@ import { base58, string } from '@metaplex-foundation/umi-serializers';

var __DEV__ = /* @__PURE__ */ (() => process["env"].NODE_ENV === "development")();
function assertIsBase58EncodedAddress(putativeBase58EncodedAddress) {
function isAddress(putativeBase58EncodedAddress) {
if (
// Lowest address (32 bytes of zeroes)
putativeBase58EncodedAddress.length < 32 || // Highest address (32 bytes of 255)
putativeBase58EncodedAddress.length > 44
) {
return false;
}
const bytes = base58.serialize(putativeBase58EncodedAddress);
const numBytes = bytes.byteLength;
if (numBytes !== 32) {
return false;
}
return true;
}
function assertIsAddress(putativeBase58EncodedAddress) {
try {

@@ -27,3 +42,7 @@ if (

}
function getBase58EncodedAddressCodec(config) {
function address(putativeBase58EncodedAddress) {
assertIsAddress(putativeBase58EncodedAddress);
return putativeBase58EncodedAddress;
}
function getAddressCodec(config) {
return string({

@@ -35,3 +54,3 @@ description: config?.description ?? (__DEV__ ? "A 32-byte account address" : ""),

}
function getBase58EncodedAddressComparator() {
function getAddressComparator() {
return new Intl.Collator("en", {

@@ -137,3 +156,18 @@ caseFirst: "lower",

// src/computed-address.ts
// src/program-derived-address.ts
function isProgramDerivedAddress(value) {
return Array.isArray(value) && value.length === 2 && typeof value[0] === "string" && typeof value[1] === "number" && value[1] >= 0 && value[1] <= 255 && isAddress(value[0]);
}
function assertIsProgramDerivedAddress(value) {
const validFormat = Array.isArray(value) && value.length === 2 && typeof value[0] === "string" && typeof value[1] === "number";
if (!validFormat) {
throw new Error(
`Expected given program derived address to have the following format: [Base58EncodedAddress, ProgramDerivedAddressBump].`
);
}
if (value[1] < 0 || value[1] > 255) {
throw new Error(`Expected program derived address bump to be in the range [0, 255], got: ${value[1]}.`);
}
assertIsAddress(value[0]);
}
var MAX_SEED_LENGTH = 32;

@@ -167,3 +201,6 @@ var MAX_SEEDS = 16;

};
async function createProgramDerivedAddress({ programAddress, seeds }) {
async function createProgramDerivedAddress({
programAddress,
seeds
}) {
await assertDigestCapabilityIsAvailable();

@@ -182,3 +219,3 @@ if (seeds.length > MAX_SEEDS) {

}, []);
const base58EncodedAddressCodec = getBase58EncodedAddressCodec();
const base58EncodedAddressCodec = getAddressCodec();
const programAddressBytes = base58EncodedAddressCodec.serialize(programAddress);

@@ -195,13 +232,14 @@ const addressBytesBuffer = await crypto.subtle.digest(

}
async function getProgramDerivedAddress({ programAddress, seeds }) {
async function getProgramDerivedAddress({
programAddress,
seeds
}) {
let bumpSeed = 255;
while (bumpSeed > 0) {
try {
return {
bumpSeed,
pda: await createProgramDerivedAddress({
programAddress,
seeds: [...seeds, new Uint8Array([bumpSeed])]
})
};
const address2 = await createProgramDerivedAddress({
programAddress,
seeds: [...seeds, new Uint8Array([bumpSeed])]
});
return [address2, bumpSeed];
} catch (e) {

@@ -222,3 +260,3 @@ if (e instanceof PointOnCurveError) {

}) {
const { serialize, deserialize } = getBase58EncodedAddressCodec();
const { serialize, deserialize } = getAddressCodec();
const seedBytes = typeof seed === "string" ? new TextEncoder().encode(seed) : seed;

@@ -245,8 +283,8 @@ if (seedBytes.byteLength > MAX_SEED_LENGTH) {

const publicKeyBytes = await crypto.subtle.exportKey("raw", publicKey);
const [base58EncodedAddress] = getBase58EncodedAddressCodec().deserialize(new Uint8Array(publicKeyBytes));
const [base58EncodedAddress] = getAddressCodec().deserialize(new Uint8Array(publicKeyBytes));
return base58EncodedAddress;
}
export { assertIsBase58EncodedAddress, createAddressWithSeed, getAddressFromPublicKey, getBase58EncodedAddressCodec, getBase58EncodedAddressComparator, getProgramDerivedAddress };
export { address, assertIsAddress, assertIsProgramDerivedAddress, createAddressWithSeed, getAddressCodec, getAddressComparator, getAddressFromPublicKey, getProgramDerivedAddress, isAddress, isProgramDerivedAddress };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.node.js.map

@@ -5,10 +5,14 @@ this.globalThis = this.globalThis || {};

var j=Object.defineProperty;var H=(e,r,t)=>r in e?j(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var x=(e,r,t)=>(H(e,typeof r!="symbol"?r+"":r,t),t);var I=e=>{let r=e.reduce((i,o)=>i+o.length,0),t=new Uint8Array(r),n=0;return e.forEach(i=>{t.set(i,n),n+=i.length;}),t},_=(e,r)=>{if(e.length>=r)return e;let t=new Uint8Array(r).fill(0);return t.set(e),t},E=(e,r)=>_(e.slice(0,r),r);var h=class extends Error{constructor(t){super(`Serializer [${t}] cannot deserialize empty buffers.`);x(this,"name","DeserializingEmptyBufferError");}},y=class extends Error{constructor(t,n,i){super(`Serializer [${t}] expected ${n} bytes, got ${i}.`);x(this,"name","NotEnoughBytesError");}};function C(e,r,t){return {description:t??`fixed(${r}, ${e.description})`,fixedSize:r,maxSize:r,serialize:n=>E(e.serialize(n),r),deserialize:(n,i=0)=>{if(n=n.slice(i,i+r),n.length<r)throw new y("fixSerializer",r,n.length);e.fixedSize!==null&&(n=E(n,e.fixedSize));let[o]=e.deserialize(n,0);return [o,i+r]}}}var w=class extends Error{constructor(t,n,i){let o=`Expected a string of base ${n}, got [${t}].`;super(o);x(this,"name","InvalidBaseStringError");this.cause=i;}};var $=e=>{let r=e.length,t=BigInt(r);return {description:`base${r}`,fixedSize:null,maxSize:null,serialize(n){if(!n.match(new RegExp(`^[${e}]*$`)))throw new w(n,r);if(n==="")return new Uint8Array;let i=[...n],o=i.findIndex(p=>p!==e[0]);o=o===-1?i.length:o;let s=Array(o).fill(0);if(o===i.length)return Uint8Array.from(s);let l=i.slice(o),c=0n,d=1n;for(let p=l.length-1;p>=0;p-=1)c+=d*BigInt(e.indexOf(l[p])),d*=t;let f=[];for(;c>0n;)f.unshift(Number(c%256n)),c/=256n;return Uint8Array.from(s.concat(f))},deserialize(n,i=0){if(n.length===0)return ["",0];let o=n.slice(i),s=o.findIndex(f=>f!==0);s=s===-1?o.length:s;let l=e[0].repeat(s);if(s===o.length)return [l,n.length];let c=o.slice(s).reduce((f,p)=>f*256n+BigInt(p),0n),d=[];for(;c>0n;)d.unshift(e[Number(c%t)]),c/=t;return [l+d.join(""),n.length]}}};var z=$("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var U=e=>e.replace(/\u0000/g,"");var D={description:"utf8",fixedSize:null,maxSize:null,serialize(e){return new TextEncoder().encode(e)},deserialize(e,r=0){let t=new TextDecoder().decode(e.slice(r));return [U(t),e.length]}};var S;(function(e){e.Little="le",e.Big="be";})(S||(S={}));var A=class extends RangeError{constructor(t,n,i,o){super(`Serializer [${t}] expected number to be between ${n} and ${i}, got ${o}.`);x(this,"name","NumberOutOfRangeError");}};function R(e){let r,t=e.name;return e.size>1&&(r=!("endian"in e.options)||e.options.endian===S.Little,t+=r?"(le)":"(be)"),{description:e.options.description??t,fixedSize:e.size,maxSize:e.size,serialize(n){e.range&&Z(e.name,e.range[0],e.range[1],n);let i=new ArrayBuffer(e.size);return e.set(new DataView(i),n,r),new Uint8Array(i)},deserialize(n,i=0){let o=n.slice(i,i+e.size);q("i8",o,e.size);let s=W(o);return [e.get(s,r),i+e.size]}}}var G=e=>e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset),W=e=>new DataView(G(e)),Z=(e,r,t,n)=>{if(n<r||n>t)throw new A(e,r,t,n)},q=(e,r,t)=>{if(r.length===0)throw new h(e);if(r.length<t)throw new y(e,t,r.length)};var N=(e={})=>R({name:"u32",size:4,range:[0,+"0xffffffff"],set:(r,t,n)=>r.setUint32(0,Number(t),n),get:(r,t)=>r.getUint32(0,t),options:e});function P(e){return typeof e=="object"?e.description:`${e}`}function T(e={}){let r=e.size??N(),t=e.encoding??D,n=e.description??`string(${t.description}; ${P(r)})`;return r==="variable"?{...t,description:n}:typeof r=="number"?C(t,r,n):{description:n,fixedSize:null,maxSize:null,serialize:i=>{let o=t.serialize(i),s=r.serialize(o.length);return I([s,o])},deserialize:(i,o=0)=>{if(i.slice(o).length===0)throw new h("string");let[s,l]=r.deserialize(i,o),c=Number(s);o=l;let d=i.slice(o,o+c);if(d.length<c)throw new y("string",c,d.length);let[f,p]=t.deserialize(d);return o+=p,[f,o]}}}function xr(e){try{if(e.length<32||e.length>44)throw new Error("Expected input string to decode to a byte array of length 32.");let t=z.serialize(e).byteLength;if(t!==32)throw new Error(`Expected input string to decode to a byte array of length 32. Actual length: ${t}`)}catch(r){throw new Error(`\`${e}\` is not a base-58 encoded address`,{cause:r})}}function b(e){return T({description:e?.description??"",encoding:z,size:32})}function hr(){return new Intl.Collator("en",{caseFirst:"lower",ignorePunctuation:!1,localeMatcher:"best fit",numeric:!1,sensitivity:"variant",usage:"sort"}).compare}function O(){if(!globalThis.isSecureContext)throw new Error("Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts")}async function L(){if(O(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.digest!="function")throw new Error("No digest implementation could be found")}async function k(){if(O(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.exportKey!="function")throw new Error("No key export implementation could be found")}var Y=37095705934669439343138083508754565189542113879843219016388785533085940283555n,u=57896044618658097711785492504343953926634992332820282019728792003956564819949n,K=19681161376707505956807079304988542015446066515923890162744021073123829784752n;function m(e){let r=e%u;return r>=0n?r:u+r}function g(e,r){let t=e;for(;r-- >0n;)t*=t,t%=u;return t}function J(e){let t=e*e%u*e%u,n=g(t,2n)*t%u,i=g(n,1n)*e%u,o=g(i,5n)*i%u,s=g(o,10n)*o%u,l=g(s,20n)*s%u,c=g(l,40n)*l%u,d=g(c,80n)*c%u,f=g(d,80n)*c%u,p=g(f,10n)*o%u;return g(p,2n)*e%u}function Q(e,r){let t=m(r*r*r),n=m(t*t*r),i=J(e*n),o=m(e*t*i),s=m(r*o*o),l=o,c=m(o*K),d=s===e,f=s===m(-e),p=s===m(-e*K);return d&&(o=l),(f||p)&&(o=c),(m(o)&1n)===1n&&(o=m(-o)),!d&&!f?null:o}function V(e,r){let t=m(e*e),n=m(t-1n),i=m(Y*t+1n),o=Q(n,i);if(o===null)return !1;let s=(r&128)!==0;return !(o===0n&&s)}function ee(e){let r=e.toString(16);return r.length===1?`0${r}`:r}function re(e){let t=`0x${e.reduce((n,i,o)=>`${ee(o===31?i&-129:i)}${n}`,"")}`;return BigInt(t)}async function F(e){if(e.byteLength!==32)return !1;let r=re(e);return V(r,e[31])}var M=32,X=16,B=[80,114,111,103,114,97,109,68,101,114,105,118,101,100,65,100,100,114,101,115,115],v=class extends Error{};async function te({programAddress:e,seeds:r}){if(await L(),r.length>X)throw new Error(`A maximum of ${X} seeds may be supplied when creating an address`);let t,n=r.reduce((c,d,f)=>{let p=typeof d=="string"?(t||(t=new TextEncoder)).encode(d):d;if(p.byteLength>M)throw new Error(`The seed at index ${f} exceeds the maximum length of 32 bytes`);return c.push(...p),c},[]),i=b(),o=i.serialize(e),s=await crypto.subtle.digest("SHA-256",new Uint8Array([...n,...o,...B])),l=new Uint8Array(s);if(await F(l))throw new v("Invalid seeds; point must fall off the Ed25519 curve");return i.deserialize(l)[0]}async function _r({programAddress:e,seeds:r}){let t=255;for(;t>0;)try{return {bumpSeed:t,pda:await te({programAddress:e,seeds:[...r,new Uint8Array([t])]})}}catch(n){if(n instanceof v)t--;else throw n}throw new Error("Unable to find a viable program address bump seed")}async function $r({baseAddress:e,programAddress:r,seed:t}){let{serialize:n,deserialize:i}=b(),o=typeof t=="string"?new TextEncoder().encode(t):t;if(o.byteLength>M)throw new Error("The seed exceeds the maximum length of 32 bytes");let s=n(r);if(s.length>=B.length&&s.slice(-B.length).every((d,f)=>d===B[f]))throw new Error("programAddress cannot end with the PDA marker");let l=await crypto.subtle.digest("SHA-256",new Uint8Array([...n(e),...o,...s])),c=new Uint8Array(l);return i(c)[0]}async function kr(e){if(await k(),e.type!=="public"||e.algorithm.name!=="Ed25519")throw new Error("The `CryptoKey` must be an `Ed25519` public key");let r=await crypto.subtle.exportKey("raw",e),[t]=b().deserialize(new Uint8Array(r));return t}
var G=Object.defineProperty;var W=(e,r,t)=>r in e?G(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var x=(e,r,t)=>(W(e,typeof r!="symbol"?r+"":r,t),t);var I=e=>{let r=e.reduce((s,o)=>s+o.length,0),t=new Uint8Array(r),n=0;return e.forEach(s=>{t.set(s,n),n+=s.length;}),t},_=(e,r)=>{if(e.length>=r)return e;let t=new Uint8Array(r).fill(0);return t.set(e),t},E=(e,r)=>_(e.slice(0,r),r);var h=class extends Error{constructor(t){super(`Serializer [${t}] cannot deserialize empty buffers.`);x(this,"name","DeserializingEmptyBufferError");}},y=class extends Error{constructor(t,n,s){super(`Serializer [${t}] expected ${n} bytes, got ${s}.`);x(this,"name","NotEnoughBytesError");}};function D(e,r,t){return {description:t??`fixed(${r}, ${e.description})`,fixedSize:r,maxSize:r,serialize:n=>E(e.serialize(n),r),deserialize:(n,s=0)=>{if(n=n.slice(s,s+r),n.length<r)throw new y("fixSerializer",r,n.length);e.fixedSize!==null&&(n=E(n,e.fixedSize));let[o]=e.deserialize(n,0);return [o,s+r]}}}var A=class extends Error{constructor(t,n,s){let o=`Expected a string of base ${n}, got [${t}].`;super(o);x(this,"name","InvalidBaseStringError");this.cause=s;}};var $=e=>{let r=e.length,t=BigInt(r);return {description:`base${r}`,fixedSize:null,maxSize:null,serialize(n){if(!n.match(new RegExp(`^[${e}]*$`)))throw new A(n,r);if(n==="")return new Uint8Array;let s=[...n],o=s.findIndex(p=>p!==e[0]);o=o===-1?s.length:o;let i=Array(o).fill(0);if(o===s.length)return Uint8Array.from(i);let l=s.slice(o),d=0n,c=1n;for(let p=l.length-1;p>=0;p-=1)d+=c*BigInt(e.indexOf(l[p])),c*=t;let f=[];for(;d>0n;)f.unshift(Number(d%256n)),d/=256n;return Uint8Array.from(i.concat(f))},deserialize(n,s=0){if(n.length===0)return ["",0];let o=n.slice(s),i=o.findIndex(f=>f!==0);i=i===-1?o.length:i;let l=e[0].repeat(i);if(i===o.length)return [l,n.length];let d=o.slice(i).reduce((f,p)=>f*256n+BigInt(p),0n),c=[];for(;d>0n;)c.unshift(e[Number(d%t)]),d/=t;return [l+c.join(""),n.length]}}};var b=$("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var U=e=>e.replace(/\u0000/g,"");var T={description:"utf8",fixedSize:null,maxSize:null,serialize(e){return new TextEncoder().encode(e)},deserialize(e,r=0){let t=new TextDecoder().decode(e.slice(r));return [U(t),e.length]}};var z;(function(e){e.Little="le",e.Big="be";})(z||(z={}));var S=class extends RangeError{constructor(t,n,s,o){super(`Serializer [${t}] expected number to be between ${n} and ${s}, got ${o}.`);x(this,"name","NumberOutOfRangeError");}};function R(e){let r,t=e.name;return e.size>1&&(r=!("endian"in e.options)||e.options.endian===z.Little,t+=r?"(le)":"(be)"),{description:e.options.description??t,fixedSize:e.size,maxSize:e.size,serialize(n){e.range&&Y(e.name,e.range[0],e.range[1],n);let s=new ArrayBuffer(e.size);return e.set(new DataView(s),n,r),new Uint8Array(s)},deserialize(n,s=0){let o=n.slice(s,s+e.size);J("i8",o,e.size);let i=Z(o);return [e.get(i,r),s+e.size]}}}var q=e=>e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset),Z=e=>new DataView(q(e)),Y=(e,r,t,n)=>{if(n<r||n>t)throw new S(e,r,t,n)},J=(e,r,t)=>{if(r.length===0)throw new h(e);if(r.length<t)throw new y(e,t,r.length)};var P=(e={})=>R({name:"u32",size:4,range:[0,+"0xffffffff"],set:(r,t,n)=>r.setUint32(0,Number(t),n),get:(r,t)=>r.getUint32(0,t),options:e});function L(e){return typeof e=="object"?e.description:`${e}`}function C(e={}){let r=e.size??P(),t=e.encoding??T,n=e.description??`string(${t.description}; ${L(r)})`;return r==="variable"?{...t,description:n}:typeof r=="number"?D(t,r,n):{description:n,fixedSize:null,maxSize:null,serialize:s=>{let o=t.serialize(s),i=r.serialize(o.length);return I([i,o])},deserialize:(s,o=0)=>{if(s.slice(o).length===0)throw new h("string");let[i,l]=r.deserialize(s,o),d=Number(i);o=l;let c=s.slice(o,o+d);if(c.length<d)throw new y("string",d,c.length);let[f,p]=t.deserialize(c);return o+=p,[f,o]}}}function O(e){return !(e.length<32||e.length>44||b.serialize(e).byteLength!==32)}function N(e){try{if(e.length<32||e.length>44)throw new Error("Expected input string to decode to a byte array of length 32.");let t=b.serialize(e).byteLength;if(t!==32)throw new Error(`Expected input string to decode to a byte array of length 32. Actual length: ${t}`)}catch(r){throw new Error(`\`${e}\` is not a base-58 encoded address`,{cause:r})}}function br(e){return N(e),e}function w(e){return C({description:e?.description??"",encoding:b,size:32})}function wr(){return new Intl.Collator("en",{caseFirst:"lower",ignorePunctuation:!1,localeMatcher:"best fit",numeric:!1,sensitivity:"variant",usage:"sort"}).compare}function k(){if(!globalThis.isSecureContext)throw new Error("Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts")}async function K(){if(k(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.digest!="function")throw new Error("No digest implementation could be found")}async function F(){if(k(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.exportKey!="function")throw new Error("No key export implementation could be found")}var Q=37095705934669439343138083508754565189542113879843219016388785533085940283555n,m=57896044618658097711785492504343953926634992332820282019728792003956564819949n,V=19681161376707505956807079304988542015446066515923890162744021073123829784752n;function u(e){let r=e%m;return r>=0n?r:m+r}function g(e,r){let t=e;for(;r-- >0n;)t*=t,t%=m;return t}function ee(e){let t=e*e%m*e%m,n=g(t,2n)*t%m,s=g(n,1n)*e%m,o=g(s,5n)*s%m,i=g(o,10n)*o%m,l=g(i,20n)*i%m,d=g(l,40n)*l%m,c=g(d,80n)*d%m,f=g(c,80n)*d%m,p=g(f,10n)*o%m;return g(p,2n)*e%m}function re(e,r){let t=u(r*r*r),n=u(t*t*r),s=ee(e*n),o=u(e*t*s),i=u(r*o*o),l=o,d=u(o*V),c=i===e,f=i===u(-e),p=i===u(-e*V);return c&&(o=l),(f||p)&&(o=d),(u(o)&1n)===1n&&(o=u(-o)),!c&&!f?null:o}function X(e,r){let t=u(e*e),n=u(t-1n),s=u(Q*t+1n),o=re(n,s);if(o===null)return !1;let i=(r&128)!==0;return !(o===0n&&i)}function te(e){let r=e.toString(16);return r.length===1?`0${r}`:r}function ne(e){let t=`0x${e.reduce((n,s,o)=>`${te(o===31?s&-129:s)}${n}`,"")}`;return BigInt(t)}async function M(e){if(e.byteLength!==32)return !1;let r=ne(e);return X(r,e[31])}function $r(e){return Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&typeof e[1]=="number"&&e[1]>=0&&e[1]<=255&&O(e[0])}function Ur(e){if(!(Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&typeof e[1]=="number"))throw new Error("Expected given program derived address to have the following format: [Base58EncodedAddress, ProgramDerivedAddressBump].");if(e[1]<0||e[1]>255)throw new Error(`Expected program derived address bump to be in the range [0, 255], got: ${e[1]}.`);N(e[0]);}var H=32,j=16,B=[80,114,111,103,114,97,109,68,101,114,105,118,101,100,65,100,100,114,101,115,115],v=class extends Error{};async function oe({programAddress:e,seeds:r}){if(await K(),r.length>j)throw new Error(`A maximum of ${j} seeds may be supplied when creating an address`);let t,n=r.reduce((d,c,f)=>{let p=typeof c=="string"?(t||(t=new TextEncoder)).encode(c):c;if(p.byteLength>H)throw new Error(`The seed at index ${f} exceeds the maximum length of 32 bytes`);return d.push(...p),d},[]),s=w(),o=s.serialize(e),i=await crypto.subtle.digest("SHA-256",new Uint8Array([...n,...o,...B])),l=new Uint8Array(i);if(await M(l))throw new v("Invalid seeds; point must fall off the Ed25519 curve");return s.deserialize(l)[0]}async function Rr({programAddress:e,seeds:r}){let t=255;for(;t>0;)try{return [await oe({programAddress:e,seeds:[...r,new Uint8Array([t])]}),t]}catch(n){if(n instanceof v)t--;else throw n}throw new Error("Unable to find a viable program address bump seed")}async function Lr({baseAddress:e,programAddress:r,seed:t}){let{serialize:n,deserialize:s}=w(),o=typeof t=="string"?new TextEncoder().encode(t):t;if(o.byteLength>H)throw new Error("The seed exceeds the maximum length of 32 bytes");let i=n(r);if(i.length>=B.length&&i.slice(-B.length).every((c,f)=>c===B[f]))throw new Error("programAddress cannot end with the PDA marker");let l=await crypto.subtle.digest("SHA-256",new Uint8Array([...n(e),...o,...i])),d=new Uint8Array(l);return s(d)[0]}async function Xr(e){if(await F(),e.type!=="public"||e.algorithm.name!=="Ed25519")throw new Error("The `CryptoKey` must be an `Ed25519` public key");let r=await crypto.subtle.exportKey("raw",e),[t]=w().deserialize(new Uint8Array(r));return t}
exports.assertIsBase58EncodedAddress = xr;
exports.createAddressWithSeed = $r;
exports.getAddressFromPublicKey = kr;
exports.getBase58EncodedAddressCodec = b;
exports.getBase58EncodedAddressComparator = hr;
exports.getProgramDerivedAddress = _r;
exports.address = br;
exports.assertIsAddress = N;
exports.assertIsProgramDerivedAddress = Ur;
exports.createAddressWithSeed = Lr;
exports.getAddressCodec = w;
exports.getAddressComparator = wr;
exports.getAddressFromPublicKey = Xr;
exports.getProgramDerivedAddress = Rr;
exports.isAddress = O;
exports.isProgramDerivedAddress = $r;

@@ -15,0 +19,0 @@ return exports;

@@ -1,4 +0,4 @@

export * from './base58';
export * from './computed-address';
export * from './address';
export * from './program-derived-address';
export * from './public-key';
//# sourceMappingURL=index.d.ts.map

@@ -1,3 +0,3 @@

import { Base58EncodedAddress } from './base58';
import { Base58EncodedAddress } from './address';
export declare function getAddressFromPublicKey(publicKey: CryptoKey): Promise<Base58EncodedAddress>;
//# sourceMappingURL=public-key.d.ts.map
{
"name": "@solana/addresses",
"version": "2.0.0-experimental.b074b89",
"version": "2.0.0-experimental.b313ba0",
"description": "Helpers for generating account addresses",

@@ -52,4 +52,4 @@ "exports": {

"dependencies": {
"@metaplex-foundation/umi-serializers": "^0.8.5",
"@solana/assertions": "2.0.0-experimental.b074b89"
"@metaplex-foundation/umi-serializers": "^0.8.9",
"@solana/assertions": "2.0.0-experimental.b313ba0"
},

@@ -59,4 +59,4 @@ "devDependencies": {

"@swc/jest": "^0.2.28",
"@types/jest": "^29.5.3",
"@typescript-eslint/eslint-plugin": "^6.3.0",
"@types/jest": "^29.5.5",
"@typescript-eslint/eslint-plugin": "^6.7.0",
"@typescript-eslint/parser": "^6.3.0",

@@ -67,3 +67,3 @@ "agadoo": "^3.0.0",

"eslint-plugin-sort-keys-fix": "^1.1.2",
"jest": "^29.6.1",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.6.4",

@@ -74,3 +74,3 @@ "jest-runner-eslint": "^2.1.0",

"tsup": "7.2.0",
"typescript": "^5.1.6",
"typescript": "^5.2.2",
"version-from-git": "^1.1.1",

@@ -98,4 +98,4 @@ "build-scripts": "0.0.0",

"test:treeshakability:browser": "agadoo dist/index.browser.js",
"test:treeshakability:native": "agadoo dist/index.node.js",
"test:treeshakability:node": "agadoo dist/index.native.js",
"test:treeshakability:native": "agadoo dist/index.native.js",
"test:treeshakability:node": "agadoo dist/index.node.js",
"test:typecheck": "tsc --noEmit",

@@ -102,0 +102,0 @@ "test:unit:browser": "jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent",

@@ -25,14 +25,14 @@ [![npm][npm-image]][npm-url]

Whenever you need to validate an arbitrary string as a base58-encoded address, use the `assertIsBase58EncodedAddress()` function in this package.
Whenever you need to validate an arbitrary string as a base58-encoded address, use the `assertIsAddress()` function in this package.
## Functions
### `assertIsBase58EncodedAddress()`
### `assertIsAddress()`
Client applications primarily deal with addresses and public keys in the form of base58-encoded strings. Addresses returned from the RPC API conform to the type `Base58EncodedAddress`. You can use a value of that type wherever a base58-encoded address is expected.
From time to time you might acquire a string, that you expect to validate as an address, from an untrusted network API or user input. To assert that such an arbitrary string is a base58-encoded address, use the `assertIsBase58EncodedAddress` function.
From time to time you might acquire a string, that you expect to validate as an address, from an untrusted network API or user input. To assert that such an arbitrary string is a base58-encoded address, use the `assertIsAddress` function.
```ts
import { assertIsBase58EncodedAddress } from '@solana/addresses';
import { assertIsAddress } from '@solana/addresses';

@@ -46,3 +46,3 @@ // Imagine a function that fetches an account's balance when a user submits a form.

// Typescript will upcast `address` to `Base58EncodedAddress`.
assertIsBase58EncodedAddress(address);
assertIsAddress(address);
// At this point, `address` is a `Base58EncodedAddress` that can be used with the RPC.

@@ -71,5 +71,5 @@ const balanceInLamports = await rpc.getBalance(address).send();

```ts
import { getBase58EncodedAddressCodec, getProgramDerivedAddress } from '@solana/addresses';
import { getAddressCodec, getProgramDerivedAddress } from '@solana/addresses';
const { serialize } = getBase58EncodedAddressCodec();
const { serialize } = getAddressCodec();
const { bumpSeed, pda } = await getProgramDerivedAddress({

@@ -76,0 +76,0 @@ programAddress: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL' as Base58EncodedAddress,

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc