Plugin per la gestione delle funzionalità Web3 in ShogunCore

Hierarchy (View Summary)

Implements

Constructors

Properties

_category?: PluginCategory

Categoria del plugin

core: null | ShogunCore = null

Riferimento all'istanza di ShogunCore

description: string = "Provides Ethereum wallet connection and authentication for ShogunCore"

Descrizione opzionale del plugin

name: string = "web3"

Nome univoco del plugin - deve essere implementato dalle sottoclassi

signer: null | Web3Signer = null
version: string = "1.0.0"

Versione del plugin - deve essere implementata dalle sottoclassi

Web3: null | Web3Connector = null

Methods

  • Verifica che il plugin sia stato inizializzato prima di usare il core

    Returns ShogunCore

    L'istanza di ShogunCore non null

    Error se il plugin non è stato inizializzato

  • Private

    Assicura che il signer sia inizializzato

    Returns Web3Signer

  • Creates an authenticator function for Web3 signing

    Parameters

    • address: string

    Returns (data: any) => Promise<string>

  • Creates a derived key pair from Web3 credential

    Parameters

    • address: string
    • Optionalextra: string[]

    Returns Promise<{ epriv: string; epub: string; priv: string; pub: string }>

  • Creates a Gun user from Web3 signing credential This ensures the SAME user is created as with normal approach

    Parameters

    • address: string

    Returns Promise<{ error?: string; success: boolean; userPub?: string }>

  • Creates a new Web3 signing credential CONSISTENT with normal Web3 approach

    Parameters

    • address: string

    Returns Promise<Web3SigningCredential>

  • Distrugge il plugin e libera le risorse

    Returns void

  • Emits an event with arguments

    Parameters

    • event: EventType
    • Optionaldata: unknown

    Returns boolean

  • Genera credenziali utilizzando MetaMask

    Parameters

    • address: string

      Indirizzo Ethereum

    Returns Promise<Web3ConnectorCredentials>

    Promise con le credenziali generate

  • Genera una password basata su una firma

    Parameters

    • signature: string

      Firma

    Returns Promise<string>

    Promise con la password generata

  • Get the Gun user public key for a signing credential

    Parameters

    • address: string

    Returns undefined | string

  • Get the password (for consistency checking)

    Parameters

    • address: string

    Returns undefined | string

  • Returns Promise<BrowserProvider | JsonRpcProvider>

  • Get signing credential by address

    Parameters

    • address: string

    Returns undefined | Web3SigningCredential

  • Verifica se MetaMask è disponibile nel browser

    Returns boolean

    true se MetaMask è disponibile, false altrimenti

  • List all signing credentials

    Returns Web3SigningCredential[]

  • Login con Web3

    Parameters

    • address: string

      Indirizzo Ethereum

    Returns Promise<AuthResult>

    Risultato dell'autenticazione

    Autentica l'utente usando le credenziali del wallet Web3 dopo la verifica della firma

  • Removes an event listener

    Parameters

    • event: EventType
    • listener: (data: unknown) => void

    Returns void

  • Registers an event listener

    Parameters

    • event: EventType
    • listener: (data: unknown) => void

    Returns void

  • Registers a one-time event listener

    Parameters

    • event: EventType
    • listener: (data: unknown) => void

    Returns void

  • Removes all listeners for an event or all events

    Parameters

    • Optionalevent: EventType

    Returns void

  • Remove a signing credential

    Parameters

    • address: string

    Returns boolean

  • Imposta un provider personalizzato

    Parameters

    • rpcUrl: string

      URL del provider RPC

    • privateKey: string

      Chiave privata

    Returns void

  • Complete oneshot workflow that creates the SAME Gun user as normal approach This is the recommended method for oneshot signing with full consistency

    Parameters

    • address: string

    Returns Promise<
        {
            authenticator: (data: any) => Promise<string>;
            credential: Web3SigningCredential;
            gunUser: { error?: string; success: boolean; userPub?: string };
            password: string;
            username: string;
        },
    >

  • Registra un nuovo utente con Web3

    Parameters

    • address: string

      Indirizzo Ethereum

    Returns Promise<AuthResult>

    Risultato della registrazione

    Crea un nuovo account utente usando le credenziali del wallet Web3 dopo la verifica della firma

  • Signs data with derived keys after Web3 verification

    Parameters

    • data: any
    • address: string
    • Optionalextra: string[]

    Returns Promise<string>

  • Verify consistency between oneshot and normal approaches This ensures both approaches create the same Gun user

    Parameters

    • address: string
    • OptionalexpectedUserPub: string

    Returns Promise<
        {
            actualUserPub?: string;
            consistent: boolean;
            expectedUserPub?: string;
        },
    >

  • Verifica una firma

    Parameters

    • message: string

      Messaggio firmato

    • signature: string

      Firma da verificare

    Returns Promise<string>

    Promise con l'indirizzo che ha generato la firma