5
5
makeEchoConnectionHandler ,
6
6
} from '@agoric/swingset-vat/src/vats/network' ;
7
7
import { E } from '@agoric/eventual-send' ;
8
+ import { Far } from '@agoric/marshal' ;
8
9
9
10
// this will return { undefined } until `ag-solo set-gci-ingress`
10
11
// has been run to update gci.js
@@ -24,7 +25,7 @@ const PROVISIONER_INDEX = 1;
24
25
25
26
function makeVattpFrom ( vats ) {
26
27
const { vattp, comms } = vats ;
27
- return harden ( {
28
+ return Far ( 'vattp' , {
28
29
makeNetworkHost ( allegedName , console = undefined ) {
29
30
return E ( vattp ) . makeNetworkHost ( allegedName , comms , console ) ;
30
31
} ,
@@ -205,7 +206,7 @@ export function buildRootObject(vatPowers, vatParameters) {
205
206
} ) ,
206
207
) ;
207
208
208
- return harden ( {
209
+ return Far ( 'chainBundler' , {
209
210
async createUserBundle ( _nickname , powerFlags = [ ] ) {
210
211
// Bind to some fresh ports (unspecified name) on the IBC implementation
211
212
// and provide them for the user to have.
@@ -238,12 +239,12 @@ export function buildRootObject(vatPowers, vatParameters) {
238
239
pursePetname : issuerNameToRecord . get ( issuerName ) . pursePetname ,
239
240
} ) ) ;
240
241
241
- const faucet = {
242
+ const faucet = Far ( 'faucet' , {
242
243
// A method to reap the spoils of our on-chain provisioning.
243
244
async tapFaucet ( ) {
244
245
return paymentInfo ;
245
246
} ,
246
- } ;
247
+ } ) ;
247
248
248
249
const bundle = harden ( {
249
250
...additionalPowers ,
@@ -275,7 +276,7 @@ export function buildRootObject(vatPowers, vatParameters) {
275
276
) ;
276
277
if ( bridgeMgr ) {
277
278
// We have access to the bridge, and therefore IBC.
278
- const callbacks = harden ( {
279
+ const callbacks = Far ( 'callbacks' , {
279
280
downcall ( method , obj ) {
280
281
return bridgeMgr . toBridge ( 'dibc' , {
281
282
...obj ,
@@ -304,7 +305,7 @@ export function buildRootObject(vatPowers, vatParameters) {
304
305
// Add an echo listener on our ibc-port network.
305
306
const port = await E ( vats . network ) . bind ( '/ibc-port/echo' ) ;
306
307
E ( port ) . addListener (
307
- harden ( {
308
+ Far ( 'listener' , {
308
309
async onAccept ( _port , _localAddr , _remoteAddr , _listenHandler ) {
309
310
return harden ( makeEchoConnectionHandler ( ) ) ;
310
311
} ,
@@ -314,7 +315,7 @@ export function buildRootObject(vatPowers, vatParameters) {
314
315
315
316
if ( bridgeMgr ) {
316
317
// Register a provisioning handler over the bridge.
317
- const handler = harden ( {
318
+ const handler = Far ( 'provisioningHandler' , {
318
319
async fromBridge ( _srcID , obj ) {
319
320
switch ( obj . type ) {
320
321
case 'PLEASE_PROVISION' : {
@@ -355,7 +356,7 @@ export function buildRootObject(vatPowers, vatParameters) {
355
356
}
356
357
357
358
// This will allow dApp developers to register in their api/deploy.js
358
- const httpRegCallback = {
359
+ const httpRegCallback = Far ( 'httpRegCallback' , {
359
360
doneLoading ( subsystems ) {
360
361
return E ( vats . http ) . doneLoading ( subsystems ) ;
361
362
} ,
@@ -378,7 +379,7 @@ export function buildRootObject(vatPowers, vatParameters) {
378
379
E ( vats . http ) . setWallet ( wallet ) ,
379
380
] ) ;
380
381
} ,
381
- } ;
382
+ } ) ;
382
383
383
384
return allComparable (
384
385
harden ( {
@@ -395,7 +396,7 @@ export function buildRootObject(vatPowers, vatParameters) {
395
396
) ;
396
397
}
397
398
398
- return harden ( {
399
+ return Far ( 'root' , {
399
400
async bootstrap ( vats , devices ) {
400
401
const bridgeManager =
401
402
devices . bridge && makeBridgeManager ( E , D , devices . bridge ) ;
@@ -494,7 +495,7 @@ export function buildRootObject(vatPowers, vatParameters) {
494
495
// Allow some hardcoded client address connections into the chain.
495
496
// This is necessary for fake-chain, which does not have Cosmos SDK
496
497
// transactions to provision its client.
497
- const demoProvider = harden ( {
498
+ const demoProvider = Far ( 'demoProvider' , {
498
499
// build a chain-side bundle for a client.
499
500
async getDemoBundle ( nickname ) {
500
501
if ( giveMeAllTheAgoricPowers ) {
0 commit comments