Socket
Socket
Sign inDemoInstall

@metaplex-foundation/amman

Package Overview
Dependencies
Maintainers
4
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@metaplex-foundation/amman - npm Package Compare versions

Comparing version 0.2.0 to 0.3.0

dist/cli/commands/logs.d.ts

11

dist/cli/amman.js

@@ -36,2 +36,6 @@ #!/usr/bin/env node

// -----------------
// logs
// -----------------
.command('logs', `Launches 'solana logs' and pipes them through a prettifier`)
// -----------------
// airdrop

@@ -138,2 +142,9 @@ // -----------------

// -----------------
// logs
// -----------------
case 'logs': {
(0, commands_1.handleLogsCommand)();
break;
}
// -----------------
// airdrop

@@ -140,0 +151,0 @@ // -----------------

1

dist/cli/commands/index.d.ts
export * from './account';
export * from './airdrop';
export * from './label';
export * from './logs';
export * from './run';
export * from './start';

@@ -16,4 +16,5 @@ "use strict";

__exportStar(require("./label"), exports);
__exportStar(require("./logs"), exports);
__exportStar(require("./run"), exports);
__exportStar(require("./start"), exports);
//# sourceMappingURL=index.js.map

@@ -12,5 +12,8 @@ "use strict";

const types_1 = require("../../relay/types");
const solana_logs_1 = require("../utils/solana-logs");
const utils_2 = require("../utils");
exports.DEFAULT_START_CONFIG = {
validator: validator_1.DEFAULT_VALIDATOR_CONFIG,
relay: types_1.DEFAULT_RELAY_CONFIG,
streamTransactionLogs: true,
};

@@ -32,2 +35,5 @@ async function handleStartCommand(args) {

await (0, validator_1.initValidator)(config.validator, config.relay, config.storage);
if (config.streamTransactionLogs) {
(0, solana_logs_1.pipeSolanaLogs)((0, utils_2.cliAmmanInstance)());
}
return { needHelp: false };

@@ -42,9 +48,13 @@ }

exports.handleStartCommand = handleStartCommand;
function resolveConfig({ config }) {
async function resolveConfig({ config }) {
if (config == null) {
return tryLoadLocalConfigRc();
const { config: localConfig, configPath } = await tryLoadLocalConfigRc();
return { config: { ...exports.DEFAULT_START_CONFIG, ...localConfig }, configPath };
}
else {
const configPath = path_1.default.resolve(config);
return { config: require(configPath), configPath };
return {
config: { ...exports.DEFAULT_START_CONFIG, ...require(configPath) },
configPath,
};
}

@@ -51,0 +61,0 @@ }

@@ -0,1 +1,2 @@

export * from './address-labels';
export * from './token-balances';

@@ -13,3 +13,4 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./address-labels"), exports);
__exportStar(require("./token-balances"), exports);
//# sourceMappingURL=index.js.map

@@ -0,9 +1,18 @@

/** @private */
export declare const AMMAN_RELAY_PORT = 50474;
/** @private */
export declare const AMMAN_RELAY_URI: string;
/** @private */
export declare const MSG_UPDATE_ADDRESS_LABELS = "update:address-labels";
/** @private */
export declare const ACK_UPDATE_ADDRESS_LABELS = "ack:update:address-labels";
/** @private */
export declare const MSG_CLEAR_ADDRESS_LABELS = "clear:address-labels";
/** @private */
export declare const MSG_CLEAR_TRANSACTIONS = "clear:transactions";
/** @private */
export declare const MSG_GET_KNOWN_ADDRESS_LABELS = "get:known-address-labels";
/** @private */
export declare const MSG_WATCH_ACCOUNT_INFO = "watch:account-info";
/** @private */
export declare const MSG_UPDATE_ACCOUNT_INFO = "update:account-info";
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MSG_UPDATE_ACCOUNT_INFO = exports.MSG_WATCH_ACCOUNT_INFO = exports.MSG_GET_KNOWN_ADDRESS_LABELS = exports.MSG_CLEAR_TRANSACTIONS = exports.MSG_CLEAR_ADDRESS_LABELS = exports.ACK_UPDATE_ADDRESS_LABELS = exports.MSG_UPDATE_ADDRESS_LABELS = exports.AMMAN_RELAY_URI = exports.AMMAN_RELAY_PORT = void 0;
/** @private */
exports.AMMAN_RELAY_PORT = 50474;
/** @private */
exports.AMMAN_RELAY_URI = `http://localhost:${exports.AMMAN_RELAY_PORT}`;
/** @private */
exports.MSG_UPDATE_ADDRESS_LABELS = 'update:address-labels';
/** @private */
exports.ACK_UPDATE_ADDRESS_LABELS = 'ack:update:address-labels';
/** @private */
exports.MSG_CLEAR_ADDRESS_LABELS = 'clear:address-labels';
/** @private */
exports.MSG_CLEAR_TRANSACTIONS = 'clear:transactions';
/** @private */
exports.MSG_GET_KNOWN_ADDRESS_LABELS = 'get:known-address-labels';
/** @private */
exports.MSG_WATCH_ACCOUNT_INFO = 'watch:account-info';
/** @private */
exports.MSG_UPDATE_ACCOUNT_INFO = 'update:account-info';
//# sourceMappingURL=consts.js.map

5

dist/relay/server.d.ts

@@ -6,2 +6,3 @@ /// <reference types="node" />

import { AmmanAccountProvider, AmmanAccountRendererMap } from '../types';
import { Program } from '../validator/types';
/**

@@ -17,3 +18,3 @@ * A simple socket.io server which communicates to the Amman Explorere as well as accepting connections

private readonly allKnownLabels;
constructor(io: Server, accountProvider: AccountProvider);
constructor(io: Server, accountProvider: AccountProvider, allKnownLabels?: Record<string, string>);
hookConnectionEvents(): void;

@@ -28,3 +29,3 @@ hookMessages(socket: Socket): void;

private static createApp;
static startServer(accountProviders: Record<string, AmmanAccountProvider>, accountRenderers: AmmanAccountRendererMap, killRunning?: boolean): Promise<{
static startServer(accountProviders: Record<string, AmmanAccountProvider>, accountRenderers: AmmanAccountRendererMap, programs: Program[], killRunning?: boolean): Promise<{
app: HttpServer;

@@ -31,0 +32,0 @@ io: Server;

@@ -17,6 +17,8 @@ "use strict";

class RelayServer {
constructor(io, accountProvider) {
constructor(io, accountProvider,
// Keyed pubkey:label
allKnownLabels = {}) {
this.io = io;
this.accountProvider = accountProvider;
this.allKnownLabels = {};
this.allKnownLabels = allKnownLabels;
this.hookConnectionEvents();

@@ -76,3 +78,3 @@ }

class Relay {
static createApp(accountProvider) {
static createApp(accountProvider, knownLabels) {
const server = (0, http_1.createServer)();

@@ -84,6 +86,6 @@ const io = new socket_io_1.Server(server, {

});
const relayServer = new RelayServer(io, accountProvider);
const relayServer = new RelayServer(io, accountProvider, knownLabels);
return { app: server, io, relayServer };
}
static async startServer(accountProviders, accountRenderers, killRunning = true) {
static async startServer(accountProviders, accountRenderers, programs, killRunning = true) {
if (killRunning) {

@@ -93,3 +95,9 @@ await (0, http_2.killRunningServer)(consts_1.AMMAN_RELAY_PORT);

const accountProvider = providers_1.AccountProvider.fromRecord(accountProviders, accountRenderers);
const { app, io, relayServer } = this.createApp(accountProvider);
const knownLabels = programs
.filter((x) => x.label != null)
.reduce((acc, x) => {
acc[x.programId] = x.label;
return acc;
}, {});
const { app, io, relayServer } = this.createApp(accountProvider, knownLabels);
return new Promise((resolve, reject) => {

@@ -96,0 +104,0 @@ app.on('error', reject).listen(consts_1.AMMAN_RELAY_PORT, () => {

@@ -10,2 +10,3 @@ /// <reference types="node" />

storage?: StorageConfig;
streamTransactionLogs?: boolean;
};

@@ -15,2 +16,6 @@ export declare type AmmanAccount = {

};
/**
* The type that an account provider needs to implement so that amman can deserialize account data.
* @category diagnostics
*/
export declare type AmmanAccountProvider = {

@@ -17,0 +22,0 @@ byteSize: number | ((args: any) => void);

@@ -76,3 +76,3 @@ "use strict";

if (launchExplorerRelay) {
server_1.Relay.startServer(accountProviders, accountRenderers, killRunningRelay)
server_1.Relay.startServer(accountProviders, accountRenderers, programs, killRunningRelay)
.then(({ app }) => {

@@ -79,0 +79,0 @@ (0, utils_1.logInfo)('Successfully launched Relay at %s', (0, http_1.resolveServerAddress)(app));

@@ -5,2 +5,3 @@ import { Commitment } from '@solana/web3.js';

*
* @property label a human-readable label for the program.
* @property programId the public key under which to deploy the program

@@ -12,2 +13,3 @@ *

export declare type Program = {
label?: string;
programId: string;

@@ -14,0 +16,0 @@ deployPath: string;

{
"name": "@metaplex-foundation/amman",
"version": "0.2.0",
"version": "0.3.0",
"description": "A modern mandatory toolbelt to help test solana SDK libraries and apps on a locally running validator.",

@@ -61,2 +61,3 @@ "main": "dist/amman.js",

"socket.io-client": "^4.4.1",
"split2": "^4.1.0",
"text-table": "^0.2.0",

@@ -71,2 +72,3 @@ "wait-on": "^6.0.0",

"@types/numeral": "^2.0.2",
"@types/split2": "^3.2.1",
"@types/text-table": "^0.2.2",

@@ -73,0 +75,0 @@ "@types/wait-on": "^5.3.1",

@@ -31,4 +31,5 @@ # Amman

mock storage if so configured
amman stop Stops the relay and storage and kills the running solana test
validator
amman stop Stops the relay and storage and kills the running solana
test validator
amman logs Launches 'solana logs' and pipes them through a prettifier
amman airdrop Airdrops provided Sol to the payer

@@ -86,3 +87,7 @@ amman label Adds labels for accounts or transactions to amman

programs: [
{ programId: programIds.metadata, deployPath: localDeployPath('mpl_token_metadata') },
{
label: 'Token Metadata Program',
programId: programIds.metadata,
deployPath: localDeployPath('mpl_token_metadata')
},
],

@@ -89,0 +94,0 @@ jsonRpcUrl: LOCALHOST,

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