
Security News
Vite+ Joins the Push to Consolidate JavaScript Tooling
Evan You announces Vite+, a commercial, Rust-powered toolchain built on the Vite ecosystem to unify JavaScript development and fund open source.
@agoric/casting
Advanced tools
This Agoric Casting package follows ocap broadcasts in a flexible, future-proof way.
TL;DR: You can run yarn demo
, or to follow a mailbox castingSpec do:
npx agoric follow -Bhttp://devnet.agoric.net/network-config :mailbox.agoric1foobarbaz -otext
An example of following an on-chain mailbox in code (using this package) is:
// First, obtain a Hardened JS environment via Endo.
import '@endo/init/pre-remoting.js'; // needed only for the next line
import '@endo/init';
import {
iterateLatest,
makeFollower,
makeLeader,
makeCastingSpec,
} from '@agoric/casting';
// Iterate over a mailbox follower on the devnet.
const leader = makeLeader('https://devnet.agoric.net/network-config');
const castingSpec = makeCastingSpec(':mailbox.agoric1foobarbaz');
const follower = makeFollower(castingSpec, leader);
for await (const { value } of iterateLatest(follower)) {
console.log(`here's a mailbox value`, value);
}
The followerOpts
argument in makeFollower(leader, key, followerOpts)
provides an optional bag of options:
proof
option, which has three possibilities:
'strict'
- release data only after proving it was validated (may incur waits for one block's data to be validated in the next block),'optimistic'
(default) - release data immediately, but may crash the follower in the future if an already-released value could not be proven,'none'
- release data immediately without validationdecode
option is a function to translate buf: Uint8Array
into data: string
JSON.parse
itunserializer
option can be
makeMarshal()
null
- don't additionally unserialize data before releasing itE(unserializer).fromCapData(data)
crasher
option can be
null
(default) follower failures only propagate an exception/rejectionE(crasher).crash(reason)
makeLeaderFromRpcAddresses
directly
if you want to avoid fetching a network-config.state_change
eventmarshaller
for your application.iterateRecent
adapter transforms a follower into a local async iterator
that produces only the last queried value (with no history reconstruction)This package currently depends on:
iterateLatest
Short-term goals:
makePublisherKit
PRiterateEach
with the lossless forward iteration algorithm via the Agoric/agoric-sdk#5466 x/vstream
PRFAQs
Agoric's OCap broadcasting system
The npm package @agoric/casting receives a total of 3,345 weekly downloads. As such, @agoric/casting popularity was classified as popular.
We found that @agoric/casting demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 10 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.
Security News
Evan You announces Vite+, a commercial, Rust-powered toolchain built on the Vite ecosystem to unify JavaScript development and fund open source.
Security News
Ruby Central’s incident report on the RubyGems.org access dispute sparks backlash from former maintainers and renewed debate over project governance.
Research
/Security News
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.