
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@waves/repl
Advanced tools
This repository contains javascript console for waves blockchain. It is built on top of jsconsole and have predefined functions to work with waves
Console uses waves-transactions library. Top level library functions are bound to console global scope. The difference is that in console, seed argument is equal to env.SEED by default. You need to pass null explicitly if you only want to create transaction and not to sign it E.x.:
const signedTx = transfer({amount: 100, recipient: '3MyAGEBuZGDKZDzYn6sbh2noqk9uYHy4kjw', senderPublicKey: '8ViwGfvyyN1teUKV4Uvk2orK6XiYB4S4VuM2DqJ9Mj5b'}, null)
//returns tx with no proofs
{
"type": 4,
"version": 2,
"fee": 100000,
"senderPublicKey": "8ViwGfvyyN1teUKV4Uvk2orK6XiYB4S4VuM2DqJ9Mj5b",
"timestamp": 1542640481876,
"proofs": [],
"id": "CveeKH16XQcshV5GZP2RXppg3snxcKqRsM4wE5gxcuzc",
"chainId": "T",
"amount": 100,
"recipient": "3MyAGEBuZGDKZDzYn6sbh2noqk9uYHy4kjw"
}
Broadcast signed tx using node from global variable
const resp = await broadcast(signedTx)
Deploy current open contract using node from global variable
const resp = deploy()
Sign arbitrary transaction
const tx = transfer({amount: 100, recipient: '3MyAGEBuZGDKZDzYn6sbh2noqk9uYHy4kjw', senderPublicKey: '8ViwGfvyyN1teUKV4Uvk2orK6XiYB4S4VuM2DqJ9Mj5b'}, null)
const signedTx = signTx(tx)
Compile contract. Returns base64
const compiled = compile(contractText)
Get contract text by tab name. Used inside web-ide or vscode plugin
const contractText = file(tabName)
Get contract text from currently open tab. Used inside web-ide or vscode plugin
const contractText = contract()
Keys
address(seed = env.SEED) // Address from seed.
keyPair(seed = env.SEED) // Keypair from seed
publicKey(seed = env.SEED) // Public key from seed
privateKey(seed = env.SEED) // Private key from seed
env.SEED // Default seed
env.CHAIN_ID // Default network byte
env.API_BASE // Node url
env.editors // Open editor tabs info
npm start
Starts dev server
import * as React from 'react';
import {render} from 'react-dom';
import {Repl} from 'waves-repl';
class App extends React.Component {
public consoleRef = React.createRef<Repl>();
componentDidMount(){
// Get console instance
const console = this.consoleRef.current!;
// Access to console api
(global as any)['updateEnv'] = console.updateEnv;
(global as any)['API'] = console.API;
(global as any)['methods'] = console.methods;
(global as any)['updateEnv']({
SEED: 'abracadabra',
API_BASE: 'https://testnodes.wavesnodes.com',
CHAIN_ID: 'T',
file: () => 'Placeholder file content'
});
}
render(){
return <Repl theme="dark" ref={this.consoleRef}/>
}
}
render(<App/>, document.getElementById('root'));
FAQs
Javascript console to interact with waves blockchain. React component
The npm package @waves/repl receives a total of 1 weekly downloads. As such, @waves/repl popularity was classified as not popular.
We found that @waves/repl demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 15 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.