Skip to content

Final Slogulator output for the exchangeBenchmark analysis

Chip Morningstar edited this page Nov 14, 2020 · 1 revision
// names prefixed with '*' are objects generated during setup but used in the benchmark round, names prefixed with '#' are generated during setup but not directly used during an exchange

// crank 0
create-vat: v1 alice static static name=alice (from source bundle)
create-vat: v2 bob static static name=bob (from source bundle)
create-vat: v4 bootstrap static static name=bootstrap (from source bundle)
create-vat: v6 comms static static name=comms (from source bundle)
create-vat: v8 timer static static name=timer (from source bundle)
create-vat: v5 vatAdmin static static name=vatAdmin (from source bundle)
create-vat: v7 vattp static static name=vattp (from source bundle)
create-vat: v3 zoe static static name=zoe (from source bundle)

// crank 1: v4 bootstrap
import: v4:@o-50 :: <#aliceRoot>
import: v4:@o-51 :: <#bobRoot>
import: v4:@o-52 :: <#commsRoot>
import: v4:@o-53 :: <#timerRoot>
import: v4:@o-54 :: <#vatAdminRoot>
import: v4:@o-55 :: <#vattpRoot>
import: v4:@o-56 :: <#zoeRoot>
import: v4:@d-70 :: <#vatAdminDevice>
import: v4:@p-60 :: <bootstrap/rp>
deliver: <*bootstrapRoot> <- bootstrap({alice: <#aliceRoot>, bob: <#bobRoot>, bootstrap: <*bootstrapRoot>, comms: <#commsRoot>, timer: <#timerRoot>, vatAdmin: <#vatAdminRoot>, vattp: <#vattpRoot>, zoe: <#zoeRoot>}, {vatAdmin: <#vatAdminDevice>}): <bootstrap/rp>
export: v4:@p+5 :: <createVatAdminService/rp>
send: <#vatAdminRoot> <- createVatAdminService(<#vatAdminDevice>): <createVatAdminService/rp>
subscribe: <createVatAdminService/rp>

// crank 2: v5 vatAdmin
import: v5:@d-70 :: <#vatAdminDevice>
import: v5:@p-60 :: <createVatAdminService/rp>
deliver: <#vatAdminRoot> <- createVatAdminService(<#vatAdminDevice>): <createVatAdminService/rp>
export: v5:@o+1 :: <#vatAdminSvc>
drop: v5:@p-60 :: <createVatAdminService/rp>
fulfillToPresence: <createVatAdminService/rp> = <#vatAdminSvc>

// crank 3: v4 bootstrap
import: v4:@o-57 :: <#vatAdminSvc>
drop: v4:@p+5 :: <createVatAdminService/rp>
fulfilledToPresence: <createVatAdminService/rp> := <#vatAdminSvc>
export: v4:@p+6 :: <buildZoe/rp>
send: <#zoeRoot> <- buildZoe(<#vatAdminSvc>): <buildZoe/rp>
subscribe: <buildZoe/rp>

// crank 4: v3 zoe
import: v3:@o-50 :: <#vatAdminSvc>
import: v3:@p-60 :: <buildZoe/rp>
deliver: <#zoeRoot> <- buildZoe(<#vatAdminSvc>): <buildZoe/rp>
export: v3:@o+1 :: <*zoe>
drop: v3:@p-60 :: <buildZoe/rp>
fulfillToPresence: <buildZoe/rp> = <*zoe>

// crank 5: v4 bootstrap
import: v4:@o-58 :: <*zoe>
drop: v4:@p+6 :: <buildZoe/rp>
fulfilledToPresence: <buildZoe/rp> := <*zoe>
export: v4:@p+7 :: <install/rp>
send: <*zoe> <- install({source: <BIG>, sourceMap: "//# sourceURL=/bundled-source-preamble.js\n", moduleFormat: "nestedEvaluate"}): <install/rp>
subscribe: <install/rp>

// crank 6: v3 zoe
import: v3:@p-61 :: <install/rp>
deliver: <*zoe> <- install({source: <BIG>, sourceMap: "//# sourceURL=/bundled-source-preamble.js\n", moduleFormat: "nestedEvaluate"}): <install/rp>
export: v3:@o+2 :: <#exchangeContract>
drop: v3:@p-61 :: <install/rp>
fulfillToPresence: <install/rp> = <#exchangeContract>

// crank 7: v4 bootstrap
import: v4:@o-59 :: <#exchangeContract>
drop: v4:@p+7 :: <install/rp>
fulfilledToPresence: <install/rp> := <#exchangeContract>
export: v4:@o+1 :: <#simoleanIssuer>
export: v4:@o+2 :: <#moolaIssuer>
export: v4:@p+8 :: <startInstance/rp>
send: <*zoe> <- startInstance(<#exchangeContract>, {Price: <#simoleanIssuer>, Asset: <#moolaIssuer>}): <startInstance/rp>
subscribe: <startInstance/rp>

// crank 8: v3 zoe
import: v3:@o-51 :: <#simoleanIssuer>
import: v3:@o-52 :: <#moolaIssuer>
import: v3:@p-62 :: <startInstance/rp>
deliver: <*zoe> <- startInstance(<#exchangeContract>, {Price: <#simoleanIssuer>, Asset: <#moolaIssuer>}): <startInstance/rp>
export: v3:@p+5 :: <simoleanIssuer.getBrand/rp>
send: <#simoleanIssuer> <- getBrand(): <simoleanIssuer.getBrand/rp>
subscribe: <simoleanIssuer.getBrand/rp>
export: v3:@p+6 :: <simoleanIssuer.isMyIssuer/rp>
send: <simoleanIssuer.getBrand/rp> <- isMyIssuer(<#simoleanIssuer>): <simoleanIssuer.isMyIssuer/rp>
subscribe: <simoleanIssuer.isMyIssuer/rp>
export: v3:@p+7 :: <simoleanIssuer.getAmountMathKind/rp>
send: <#simoleanIssuer> <- getAmountMathKind(): <simoleanIssuer.getAmountMathKind/rp>
subscribe: <simoleanIssuer.getAmountMathKind/rp>
export: v3:@p+8 :: <moolaIssuer.getBrand/rp>
send: <#moolaIssuer> <- getBrand(): <moolaIssuer.getBrand/rp>
subscribe: <moolaIssuer.getBrand/rp>
export: v3:@p+9 :: <moolaIssuer.isMyIssuer/rp>
send: <moolaIssuer.getBrand/rp> <- isMyIssuer(<#moolaIssuer>): <moolaIssuer.isMyIssuer/rp>
subscribe: <moolaIssuer.isMyIssuer/rp>
export: v3:@p+10 :: <moolaIssuer.getAmountMathKind/rp>
send: <#moolaIssuer> <- getAmountMathKind(): <moolaIssuer.getAmountMathKind/rp>
subscribe: <moolaIssuer.getAmountMathKind/rp>

// crank 9: v4 bootstrap
import: v4:@p-61 :: <simoleanIssuer.getBrand/rp>
deliver: <#simoleanIssuer> <- getBrand(): <simoleanIssuer.getBrand/rp>
export: v4:@o+3 :: <*simoleanBrand>
drop: v4:@p-61 :: <simoleanIssuer.getBrand/rp>
fulfillToPresence: <simoleanIssuer.getBrand/rp> = <*simoleanBrand>

// crank 10: v4 bootstrap
import: v4:@p-62 :: <simoleanIssuer.isMyIssuer/rp>
deliver: <*simoleanBrand> <- isMyIssuer(<#simoleanIssuer>): <simoleanIssuer.isMyIssuer/rp>
drop: v4:@p-62 :: <simoleanIssuer.isMyIssuer/rp>
fulfillToData: <simoleanIssuer.isMyIssuer/rp> = true

// crank 11: v4 bootstrap
import: v4:@p-63 :: <simoleanIssuer.getAmountMathKind/rp>
deliver: <#simoleanIssuer> <- getAmountMathKind(): <simoleanIssuer.getAmountMathKind/rp>
drop: v4:@p-63 :: <simoleanIssuer.getAmountMathKind/rp>
fulfillToData: <simoleanIssuer.getAmountMathKind/rp> = "nat"

// crank 12: v4 bootstrap
import: v4:@p-64 :: <moolaIssuer.getBrand/rp>
deliver: <#moolaIssuer> <- getBrand(): <moolaIssuer.getBrand/rp>
export: v4:@o+4 :: <*moolaBrand>
drop: v4:@p-64 :: <moolaIssuer.getBrand/rp>
fulfillToPresence: <moolaIssuer.getBrand/rp> = <*moolaBrand>

// crank 13: v4 bootstrap
import: v4:@p-65 :: <moolaIssuer.isMyIssuer/rp>
deliver: <*moolaBrand> <- isMyIssuer(<#moolaIssuer>): <moolaIssuer.isMyIssuer/rp>
drop: v4:@p-65 :: <moolaIssuer.isMyIssuer/rp>
fulfillToData: <moolaIssuer.isMyIssuer/rp> = true

// crank 14: v4 bootstrap
import: v4:@p-66 :: <moolaIssuer.getAmountMathKind/rp>
deliver: <#moolaIssuer> <- getAmountMathKind(): <moolaIssuer.getAmountMathKind/rp>
drop: v4:@p-66 :: <moolaIssuer.getAmountMathKind/rp>
fulfillToData: <moolaIssuer.getAmountMathKind/rp> = "nat"

// crank 15: v3 zoe
import: v3:@o-53 :: <*simoleanBrand>
drop: v3:@p+5 :: <simoleanIssuer.getBrand/rp>
fulfilledToPresence: <simoleanIssuer.getBrand/rp> := <*simoleanBrand>

// crank 16: v3 zoe
drop: v3:@p+6 :: <simoleanIssuer.isMyIssuer/rp>
fulfilledToData: <simoleanIssuer.isMyIssuer/rp> := true

// crank 17: v3 zoe
drop: v3:@p+7 :: <simoleanIssuer.getAmountMathKind/rp>
fulfilledToData: <simoleanIssuer.getAmountMathKind/rp> := "nat"

// crank 18: v3 zoe
import: v3:@o-54 :: <*moolaBrand>
drop: v3:@p+8 :: <moolaIssuer.getBrand/rp>
fulfilledToPresence: <moolaIssuer.getBrand/rp> := <*moolaBrand>

// crank 19: v3 zoe
drop: v3:@p+9 :: <moolaIssuer.isMyIssuer/rp>
fulfilledToData: <moolaIssuer.isMyIssuer/rp> := true

// crank 20: v3 zoe
drop: v3:@p+10 :: <moolaIssuer.getAmountMathKind/rp>
fulfilledToData: <moolaIssuer.getAmountMathKind/rp> := "nat"
export: v3:@p+11 :: <simoleanIssuer.makeEmptyPurse-1/rp>
send: <#simoleanIssuer> <- makeEmptyPurse(): <simoleanIssuer.makeEmptyPurse-1/rp>
subscribe: <simoleanIssuer.makeEmptyPurse-1/rp>
export: v3:@p+12 :: <moolaIssuer.makeEmptyPurse-1/rp>
send: <#moolaIssuer> <- makeEmptyPurse(): <moolaIssuer.makeEmptyPurse-1/rp>
subscribe: <moolaIssuer.makeEmptyPurse-1/rp>
export: v3:@p+13 :: <createVatByName/rp>
send: <#vatAdminSvc> <- createVatByName("zcf"): <createVatByName/rp>
subscribe: <createVatByName/rp>

// crank 21: v4 bootstrap
import: v4:@p-67 :: <simoleanIssuer.makeEmptyPurse-1/rp>
deliver: <#simoleanIssuer> <- makeEmptyPurse(): <simoleanIssuer.makeEmptyPurse-1/rp>
export: v4:@o+5 :: <*zoeSimoleanPurse>
drop: v4:@p-67 :: <simoleanIssuer.makeEmptyPurse-1/rp>
fulfillToPresence: <simoleanIssuer.makeEmptyPurse-1/rp> = <*zoeSimoleanPurse>

// crank 22: v4 bootstrap
import: v4:@p-68 :: <moolaIssuer.makeEmptyPurse-1/rp>
deliver: <#moolaIssuer> <- makeEmptyPurse(): <moolaIssuer.makeEmptyPurse-1/rp>
export: v4:@o+6 :: <*zoeMoolaPurse>
drop: v4:@p-68 :: <moolaIssuer.makeEmptyPurse-1/rp>
fulfillToPresence: <moolaIssuer.makeEmptyPurse-1/rp> = <*zoeMoolaPurse>

// crank 23: v5 vatAdmin
import: v5:@p-61 :: <createVatByName/rp>
deliver: <#vatAdminSvc> <- createVatByName("zcf"): <createVatByName/rp>
invoke: <#vatAdminDevice>.createByName("zcf", undefined)
result: "v9"
create-vat: v9 zcf dynamic (from bundleName: zcf)
export: v9:@o+0 :: <#zcfRoot>

// crank 24: v3 zoe
import: v3:@o-55 :: <*zoeSimoleanPurse>
drop: v3:@p+11 :: <simoleanIssuer.makeEmptyPurse-1/rp>
fulfilledToPresence: <simoleanIssuer.makeEmptyPurse-1/rp> := <*zoeSimoleanPurse>

// crank 25: v3 zoe
import: v3:@o-56 :: <*zoeMoolaPurse>
drop: v3:@p+12 :: <moolaIssuer.makeEmptyPurse-1/rp>
fulfilledToPresence: <moolaIssuer.makeEmptyPurse-1/rp> := <*zoeMoolaPurse>

// crank 26: v5 vatAdmin
import: v5:@o-50 :: <#zcfRoot>
import: v5:@p-62 :: <newVatCallback/rp>
deliver: <#vatAdminRoot> <- newVatCallback("v9", {rootObject: <#zcfRoot>}): <newVatCallback/rp>
drop: v5:@p-62 :: <newVatCallback/rp>
fulfillToData: <newVatCallback/rp> = undefined
export: v5:@o+2 :: <#zcfAdmin>
drop: v5:@p-61 :: <createVatByName/rp>
fulfillToData: <createVatByName/rp> = {adminNode: <#zcfAdmin>, root: <#zcfRoot>}

// crank 27: v3 zoe
import: v3:@o-57 :: <#zcfAdmin>
import: v3:@o-58 :: <#zcfRoot>
drop: v3:@p+13 :: <createVatByName/rp>
fulfilledToData: <createVatByName/rp> := {adminNode: <#zcfAdmin>, root: <#zcfRoot>}
export: v3:@p+14 :: <zcfAdmin.done/rp>
send: <#zcfAdmin> <- done(): <zcfAdmin.done/rp>
subscribe: <zcfAdmin.done/rp>
export: v3:@o+3 :: <*invitationIssuer>
export: v3:@o+4 :: <*zcfInstanceAdmin>
export: v3:@o+5 :: <#simoleanMath>
export: v3:@o+6 :: <#moolaMath>
export: v3:@p+15 :: <executeContract/rp>
send: <#zcfRoot> <- executeContract({source: <BIG>, sourceMap: "//# sourceURL=/bundled-source-preamble.js\n", moduleFormat: "nestedEvaluate"}, <*zoe>, <*invitationIssuer>, <*zcfInstanceAdmin>, {installation: <#exchangeContract>, terms: {issuers: {Price: <#simoleanIssuer>, Asset: <#moolaIssuer>}, brands: {Price: <*simoleanBrand>, Asset: <*moolaBrand>}, maths: {Price: <#simoleanMath>, Asset: <#moolaMath>}}}): <executeContract/rp>
subscribe: <executeContract/rp>

// crank 28: v5 vatAdmin
import: v5:@p-63 :: <zcfAdmin.done/rp>
deliver: <#zcfAdmin> <- done(): <zcfAdmin.done/rp>

// crank 29: v9 zcf
import: v9:@o-50 :: <*zoe>
import: v9:@o-51 :: <*invitationIssuer>
import: v9:@o-52 :: <*zcfInstanceAdmin>
import: v9:@o-53 :: <#exchangeContract>
import: v9:@o-54 :: <#simoleanIssuer>
import: v9:@o-55 :: <#moolaIssuer>
import: v9:@o-56 :: <*simoleanBrand>
import: v9:@o-57 :: <*moolaBrand>
import: v9:@o-58 :: <#simoleanMath>
import: v9:@o-59 :: <#moolaMath>
import: v9:@p-60 :: <executeContract/rp>
deliver: <#zcfRoot> <- executeContract({source: <BIG>, sourceMap: "//# sourceURL=/bundled-source-preamble.js\n", moduleFormat: "nestedEvaluate"}, <*zoe>, <*invitationIssuer>, <*zcfInstanceAdmin>, {installation: <#exchangeContract>, terms: {issuers: {Price: <#simoleanIssuer>, Asset: <#moolaIssuer>}, brands: {Price: <*simoleanBrand>, Asset: <*moolaBrand>}, maths: {Price: <#simoleanMath>, Asset: <#moolaMath>}}}): <executeContract/rp>
export: v9:@p+5 :: <simoleanIssuer.getBrand-2/rp>
send: <#simoleanIssuer> <- getBrand(): <simoleanIssuer.getBrand-2/rp>
subscribe: <simoleanIssuer.getBrand-2/rp>
export: v9:@p+6 :: <simoleanIssuer.isMyIssuer-2/rp>
send: <simoleanIssuer.getBrand-2/rp> <- isMyIssuer(<#simoleanIssuer>): <simoleanIssuer.isMyIssuer-2/rp>
subscribe: <simoleanIssuer.isMyIssuer-2/rp>
export: v9:@p+7 :: <simoleanIssuer.getAmountMathKind-2/rp>
send: <#simoleanIssuer> <- getAmountMathKind(): <simoleanIssuer.getAmountMathKind-2/rp>
subscribe: <simoleanIssuer.getAmountMathKind-2/rp>
export: v9:@p+8 :: <moolaIssuer.getBrand-2/rp>
send: <#moolaIssuer> <- getBrand(): <moolaIssuer.getBrand-2/rp>
subscribe: <moolaIssuer.getBrand-2/rp>
export: v9:@p+9 :: <moolaIssuer.isMyIssuer-2/rp>
send: <moolaIssuer.getBrand-2/rp> <- isMyIssuer(<#moolaIssuer>): <moolaIssuer.isMyIssuer-2/rp>
subscribe: <moolaIssuer.isMyIssuer-2/rp>
export: v9:@p+10 :: <moolaIssuer.getAmountMathKind-2/rp>
send: <#moolaIssuer> <- getAmountMathKind(): <moolaIssuer.getAmountMathKind-2/rp>
subscribe: <moolaIssuer.getAmountMathKind-2/rp>

// crank 30: v4 bootstrap
import: v4:@p-69 :: <simoleanIssuer.getBrand-2/rp>
deliver: <#simoleanIssuer> <- getBrand(): <simoleanIssuer.getBrand-2/rp>
drop: v4:@p-69 :: <simoleanIssuer.getBrand-2/rp>
fulfillToPresence: <simoleanIssuer.getBrand-2/rp> = <*simoleanBrand>

// crank 31: v4 bootstrap
import: v4:@p-70 :: <simoleanIssuer.isMyIssuer-2/rp>
deliver: <*simoleanBrand> <- isMyIssuer(<#simoleanIssuer>): <simoleanIssuer.isMyIssuer-2/rp>
drop: v4:@p-70 :: <simoleanIssuer.isMyIssuer-2/rp>
fulfillToData: <simoleanIssuer.isMyIssuer-2/rp> = true

// crank 32: v4 bootstrap
import: v4:@p-71 :: <simoleanIssuer.getAmountMathKind-2/rp>
deliver: <#simoleanIssuer> <- getAmountMathKind(): <simoleanIssuer.getAmountMathKind-2/rp>
drop: v4:@p-71 :: <simoleanIssuer.getAmountMathKind-2/rp>
fulfillToData: <simoleanIssuer.getAmountMathKind-2/rp> = "nat"

// crank 33: v4 bootstrap
import: v4:@p-72 :: <moolaIssuer.getBrand-2/rp>
deliver: <#moolaIssuer> <- getBrand(): <moolaIssuer.getBrand-2/rp>
drop: v4:@p-72 :: <moolaIssuer.getBrand-2/rp>
fulfillToPresence: <moolaIssuer.getBrand-2/rp> = <*moolaBrand>

// crank 34: v4 bootstrap
import: v4:@p-73 :: <moolaIssuer.isMyIssuer-2/rp>
deliver: <*moolaBrand> <- isMyIssuer(<#moolaIssuer>): <moolaIssuer.isMyIssuer-2/rp>
drop: v4:@p-73 :: <moolaIssuer.isMyIssuer-2/rp>
fulfillToData: <moolaIssuer.isMyIssuer-2/rp> = true

// crank 35: v4 bootstrap
import: v4:@p-74 :: <moolaIssuer.getAmountMathKind-2/rp>
deliver: <#moolaIssuer> <- getAmountMathKind(): <moolaIssuer.getAmountMathKind-2/rp>
drop: v4:@p-74 :: <moolaIssuer.getAmountMathKind-2/rp>
fulfillToData: <moolaIssuer.getAmountMathKind-2/rp> = "nat"

// crank 36: v9 zcf
drop: v9:@p+5 :: <simoleanIssuer.getBrand-2/rp>
fulfilledToPresence: <simoleanIssuer.getBrand-2/rp> := <*simoleanBrand>

// crank 37: v9 zcf
drop: v9:@p+6 :: <simoleanIssuer.isMyIssuer-2/rp>
fulfilledToData: <simoleanIssuer.isMyIssuer-2/rp> := true

// crank 38: v9 zcf
drop: v9:@p+7 :: <simoleanIssuer.getAmountMathKind-2/rp>
fulfilledToData: <simoleanIssuer.getAmountMathKind-2/rp> := "nat"

// crank 39: v9 zcf
drop: v9:@p+8 :: <moolaIssuer.getBrand-2/rp>
fulfilledToPresence: <moolaIssuer.getBrand-2/rp> := <*moolaBrand>

// crank 40: v9 zcf
drop: v9:@p+9 :: <moolaIssuer.isMyIssuer-2/rp>
fulfilledToData: <moolaIssuer.isMyIssuer-2/rp> := true

// crank 41: v9 zcf
drop: v9:@p+10 :: <moolaIssuer.getAmountMathKind-2/rp>
fulfilledToData: <moolaIssuer.getAmountMathKind-2/rp> := "nat"
export: v9:@o+1 :: <*exchangePublicFacet>
export: v9:@o+2 :: <*zcfAddSeatObj>
drop: v9:@p-60 :: <executeContract/rp>
fulfillToData: <executeContract/rp> = {creatorFacet: undefined, publicFacet: <*exchangePublicFacet>, creatorInvitation: undefined, addSeatObj: <*zcfAddSeatObj>}

// crank 42: v3 zoe
import: v3:@o-59 :: <*exchangePublicFacet>
import: v3:@o-60 :: <*zcfAddSeatObj>
drop: v3:@p+15 :: <executeContract/rp>
fulfilledToData: <executeContract/rp> := {creatorFacet: undefined, publicFacet: <*exchangePublicFacet>, creatorInvitation: undefined, addSeatObj: <*zcfAddSeatObj>}
export: v3:@o+7 :: <#zcfCreatorFacet>
export: v3:@o+8 :: <#contractInstanceHandle>
export: v3:@o+9 :: <#zoeAdminFacet>
drop: v3:@p-62 :: <startInstance/rp>
fulfillToData: <startInstance/rp> = {creatorFacet: <#zcfCreatorFacet>, creatorInvitation: undefined, instance: <#contractInstanceHandle>, publicFacet: <*exchangePublicFacet>, adminFacet: <#zoeAdminFacet>}

// crank 43: v4 bootstrap
import: v4:@o-60 :: <#zcfCreatorFacet>
import: v4:@o-61 :: <#contractInstanceHandle>
import: v4:@o-62 :: <*exchangePublicFacet>
import: v4:@o-63 :: <#zoeAdminFacet>
drop: v4:@p+8 :: <startInstance/rp>
fulfilledToData: <startInstance/rp> := {creatorFacet: <#zcfCreatorFacet>, creatorInvitation: undefined, instance: <#contractInstanceHandle>, publicFacet: <*exchangePublicFacet>, adminFacet: <#zoeAdminFacet>}
export: v4:@o+7 :: <#aliceMoolaGrubstakePayment>
export: v4:@o+8 :: <#aliceSimoleanGrubstakePayment>
export: v4:@p+9 :: <alice.build/rp>
send: <#aliceRoot> <- build(<*zoe>, [<#moolaIssuer>, <#simoleanIssuer>], [<#aliceMoolaGrubstakePayment>, <#aliceSimoleanGrubstakePayment>], <*exchangePublicFacet>): <alice.build/rp>
subscribe: <alice.build/rp>
export: v4:@o+9 :: <#bobMoolaGrubstakePayment>
export: v4:@o+10 :: <#bobSimoleanGrubstakePayment>
export: v4:@p+10 :: <bob.build/rp>
send: <#bobRoot> <- build(<*zoe>, [<#moolaIssuer>, <#simoleanIssuer>], [<#bobMoolaGrubstakePayment>, <#bobSimoleanGrubstakePayment>], <*exchangePublicFacet>): <bob.build/rp>
subscribe: <bob.build/rp>
export: v4:@p+11 :: <alice.initiateTrade-itp1/rp>
send: <alice.build/rp> <- initiateTrade(<bob.build/rp>, false): <alice.initiateTrade-itp1/rp>
subscribe: <alice.initiateTrade-itp1/rp>

// crank 44: v1 alice
import: v1:@o-50 :: <*zoe>
import: v1:@o-51 :: <#moolaIssuer>
import: v1:@o-52 :: <#simoleanIssuer>
import: v1:@o-53 :: <#aliceMoolaGrubstakePayment>
import: v1:@o-54 :: <#aliceSimoleanGrubstakePayment>
import: v1:@o-55 :: <*exchangePublicFacet>
import: v1:@p-60 :: <alice.build/rp>
deliver: <#aliceRoot> <- build(<*zoe>, [<#moolaIssuer>, <#simoleanIssuer>], [<#aliceMoolaGrubstakePayment>, <#aliceSimoleanGrubstakePayment>], <*exchangePublicFacet>): <alice.build/rp>
export: v1:@p+5 :: <aliceMoola.makePurse/rp>
send: <#moolaIssuer> <- makeEmptyPurse(): <aliceMoola.makePurse/rp>
subscribe: <aliceMoola.makePurse/rp>
export: v1:@p+6 :: <aliceSimolean.makePurse/rp>
send: <#simoleanIssuer> <- makeEmptyPurse(): <aliceSimolean.makePurse/rp>
subscribe: <aliceSimolean.makePurse/rp>
export: v1:@p+7 :: <aliceMoolaPurse.deposit-grubstake/rp>
send: <aliceMoola.makePurse/rp> <- deposit(<#aliceMoolaGrubstakePayment>): <aliceMoolaPurse.deposit-grubstake/rp>
subscribe: <aliceMoolaPurse.deposit-grubstake/rp>

// crank 45: v2 bob
import: v2:@o-50 :: <*zoe>
import: v2:@o-51 :: <#moolaIssuer>
import: v2:@o-52 :: <#simoleanIssuer>
import: v2:@o-53 :: <#bobMoolaGrubstakePayment>
import: v2:@o-54 :: <#bobSimoleanGrubstakePayment>
import: v2:@o-55 :: <*exchangePublicFacet>
import: v2:@p-60 :: <bob.build/rp>
deliver: <#bobRoot> <- build(<*zoe>, [<#moolaIssuer>, <#simoleanIssuer>], [<#bobMoolaGrubstakePayment>, <#bobSimoleanGrubstakePayment>], <*exchangePublicFacet>): <bob.build/rp>
export: v2:@p+5 :: <bobMoola.makePurse/rp>
send: <#moolaIssuer> <- makeEmptyPurse(): <bobMoola.makePurse/rp>
subscribe: <bobMoola.makePurse/rp>
export: v2:@p+6 :: <bobSimolean.makePurse/rp>
send: <#simoleanIssuer> <- makeEmptyPurse(): <bobSimolean.makePurse/rp>
subscribe: <bobSimolean.makePurse/rp>
export: v2:@p+7 :: <bobMoolaPurse.deposit-grubstake/rp>
send: <bobMoola.makePurse/rp> <- deposit(<#bobMoolaGrubstakePayment>): <bobMoolaPurse.deposit-grubstake/rp>
subscribe: <bobMoolaPurse.deposit-grubstake/rp>

// crank 47: v4 bootstrap
import: v4:@p-75 :: <aliceMoola.makePurse/rp>
deliver: <#moolaIssuer> <- makeEmptyPurse(): <aliceMoola.makePurse/rp>
export: v4:@o+11 :: <*aliceMoolaPurse>
drop: v4:@p-75 :: <aliceMoola.makePurse/rp>
fulfillToPresence: <aliceMoola.makePurse/rp> = <*aliceMoolaPurse>

// crank 48: v4 bootstrap
import: v4:@p-76 :: <aliceSimolean.makePurse/rp>
deliver: <#simoleanIssuer> <- makeEmptyPurse(): <aliceSimolean.makePurse/rp>
export: v4:@o+12 :: <*aliceSimoleanPurse>
drop: v4:@p-76 :: <aliceSimolean.makePurse/rp>
fulfillToPresence: <aliceSimolean.makePurse/rp> = <*aliceSimoleanPurse>

// crank 49: v4 bootstrap
import: v4:@p-77 :: <aliceMoolaPurse.deposit-grubstake/rp>
deliver: <*aliceMoolaPurse> <- deposit(<#aliceMoolaGrubstakePayment>): <aliceMoolaPurse.deposit-grubstake/rp>
drop: v4:@p-77 :: <aliceMoolaPurse.deposit-grubstake/rp>
fulfillToData: <aliceMoolaPurse.deposit-grubstake/rp> = {brand: <*moolaBrand>, value: 3}

// crank 50: v4 bootstrap
import: v4:@p-78 :: <bobMoola.makePurse/rp>
deliver: <#moolaIssuer> <- makeEmptyPurse(): <bobMoola.makePurse/rp>
export: v4:@o+13 :: <*bobMoolaPurse>
drop: v4:@p-78 :: <bobMoola.makePurse/rp>
fulfillToPresence: <bobMoola.makePurse/rp> = <*bobMoolaPurse>

// crank 51: v4 bootstrap
import: v4:@p-79 :: <bobSimolean.makePurse/rp>
deliver: <#simoleanIssuer> <- makeEmptyPurse(): <bobSimolean.makePurse/rp>
export: v4:@o+14 :: <*bobSimoleanPurse>
drop: v4:@p-79 :: <bobSimolean.makePurse/rp>
fulfillToPresence: <bobSimolean.makePurse/rp> = <*bobSimoleanPurse>

// crank 52: v4 bootstrap
import: v4:@p-80 :: <bobMoolaPurse.deposit-grubstake/rp>
deliver: <*bobMoolaPurse> <- deposit(<#bobMoolaGrubstakePayment>): <bobMoolaPurse.deposit-grubstake/rp>
drop: v4:@p-80 :: <bobMoolaPurse.deposit-grubstake/rp>
fulfillToData: <bobMoolaPurse.deposit-grubstake/rp> = {brand: <*moolaBrand>, value: 0}

// crank 53: v1 alice
import: v1:@o-56 :: <*aliceMoolaPurse>
drop: v1:@p+5 :: <aliceMoola.makePurse/rp>
fulfilledToPresence: <aliceMoola.makePurse/rp> := <*aliceMoolaPurse>

// crank 54: v1 alice
import: v1:@o-57 :: <*aliceSimoleanPurse>
drop: v1:@p+6 :: <aliceSimolean.makePurse/rp>
fulfilledToPresence: <aliceSimolean.makePurse/rp> := <*aliceSimoleanPurse>

// crank 55: v1 alice
import: v1:@o-58 :: <*moolaBrand>
drop: v1:@p+7 :: <aliceMoolaPurse.deposit-grubstake/rp>
fulfilledToData: <aliceMoolaPurse.deposit-grubstake/rp> := {brand: <*moolaBrand>, value: 3}
export: v1:@p+8 :: <aliceSimoleanPurse.deposit-grubstake/rp>
send: <*aliceSimoleanPurse> <- deposit(<#aliceSimoleanGrubstakePayment>): <aliceSimoleanPurse.deposit-grubstake/rp>
subscribe: <aliceSimoleanPurse.deposit-grubstake/rp>

// crank 56: v2 bob
import: v2:@o-56 :: <*bobMoolaPurse>
drop: v2:@p+5 :: <bobMoola.makePurse/rp>
fulfilledToPresence: <bobMoola.makePurse/rp> := <*bobMoolaPurse>

// crank 57: v2 bob
import: v2:@o-57 :: <*bobSimoleanPurse>
drop: v2:@p+6 :: <bobSimolean.makePurse/rp>
fulfilledToPresence: <bobSimolean.makePurse/rp> := <*bobSimoleanPurse>

// crank 58: v2 bob
import: v2:@o-58 :: <*moolaBrand>
drop: v2:@p+7 :: <bobMoolaPurse.deposit-grubstake/rp>
fulfilledToData: <bobMoolaPurse.deposit-grubstake/rp> := {brand: <*moolaBrand>, value: 0}
export: v2:@p+8 :: <bobSimoloeanPurse.deposit-grubstake/rp>
send: <*bobSimoleanPurse> <- deposit(<#bobSimoleanGrubstakePayment>): <bobSimoloeanPurse.deposit-grubstake/rp>
subscribe: <bobSimoloeanPurse.deposit-grubstake/rp>

// crank 59: v4 bootstrap
import: v4:@p-81 :: <aliceSimoleanPurse.deposit-grubstake/rp>
deliver: <*aliceSimoleanPurse> <- deposit(<#aliceSimoleanGrubstakePayment>): <aliceSimoleanPurse.deposit-grubstake/rp>
drop: v4:@p-81 :: <aliceSimoleanPurse.deposit-grubstake/rp>
fulfillToData: <aliceSimoleanPurse.deposit-grubstake/rp> = {brand: <*simoleanBrand>, value: 0}

// crank 60: v4 bootstrap
import: v4:@p-82 :: <bobSimoloeanPurse.deposit-grubstake/rp>
deliver: <*bobSimoleanPurse> <- deposit(<#bobSimoleanGrubstakePayment>): <bobSimoloeanPurse.deposit-grubstake/rp>
drop: v4:@p-82 :: <bobSimoloeanPurse.deposit-grubstake/rp>
fulfillToData: <bobSimoloeanPurse.deposit-grubstake/rp> = {brand: <*simoleanBrand>, value: 3}

// crank 61: v1 alice
import: v1:@o-59 :: <*simoleanBrand>
drop: v1:@p+8 :: <aliceSimoleanPurse.deposit-grubstake/rp>
fulfilledToData: <aliceSimoleanPurse.deposit-grubstake/rp> := {brand: <*simoleanBrand>, value: 0}
export: v1:@p+9 :: <moolaIssuer.getBrand-alice/rp>
send: <#moolaIssuer> <- getBrand(): <moolaIssuer.getBrand-alice/rp>
subscribe: <moolaIssuer.getBrand-alice/rp>
export: v1:@p+10 :: <moolaIssuer.getAmountMathKind-alice/rp>
send: <#moolaIssuer> <- getAmountMathKind(): <moolaIssuer.getAmountMathKind-alice/rp>
subscribe: <moolaIssuer.getAmountMathKind-alice/rp>

// crank 62: v2 bob
import: v2:@o-59 :: <*simoleanBrand>
drop: v2:@p+8 :: <bobSimoloeanPurse.deposit-grubstake/rp>
fulfilledToData: <bobSimoloeanPurse.deposit-grubstake/rp> := {brand: <*simoleanBrand>, value: 3}
export: v2:@p+9 :: <moolaIssuer.getBrand-bob/rp>
send: <#moolaIssuer> <- getBrand(): <moolaIssuer.getBrand-bob/rp>
subscribe: <moolaIssuer.getBrand-bob/rp>
export: v2:@p+10 :: <moolaIssuer.getAmountMathKind-bob/rp>
send: <#moolaIssuer> <- getAmountMathKind(): <moolaIssuer.getAmountMathKind-bob/rp>
subscribe: <moolaIssuer.getAmountMathKind-bob/rp>

// crank 63: v4 bootstrap
import: v4:@p-83 :: <moolaIssuer.getBrand-alice/rp>
deliver: <#moolaIssuer> <- getBrand(): <moolaIssuer.getBrand-alice/rp>
drop: v4:@p-83 :: <moolaIssuer.getBrand-alice/rp>
fulfillToPresence: <moolaIssuer.getBrand-alice/rp> = <*moolaBrand>

// crank 64: v4 bootstrap
import: v4:@p-84 :: <moolaIssuer.getAmountMathKind-alice/rp>
deliver: <#moolaIssuer> <- getAmountMathKind(): <moolaIssuer.getAmountMathKind-alice/rp>
drop: v4:@p-84 :: <moolaIssuer.getAmountMathKind-alice/rp>
fulfillToData: <moolaIssuer.getAmountMathKind-alice/rp> = "nat"

// crank 65: v4 bootstrap
import: v4:@p-85 :: <moolaIssuer.getBrand-bob/rp>
deliver: <#moolaIssuer> <- getBrand(): <moolaIssuer.getBrand-bob/rp>
drop: v4:@p-85 :: <moolaIssuer.getBrand-bob/rp>
fulfillToPresence: <moolaIssuer.getBrand-bob/rp> = <*moolaBrand>

// crank 66: v4 bootstrap
import: v4:@p-86 :: <moolaIssuer.getAmountMathKind-bob/rp>
deliver: <#moolaIssuer> <- getAmountMathKind(): <moolaIssuer.getAmountMathKind-bob/rp>
drop: v4:@p-86 :: <moolaIssuer.getAmountMathKind-bob/rp>
fulfillToData: <moolaIssuer.getAmountMathKind-bob/rp> = "nat"

// crank 67: v1 alice
drop: v1:@p+9 :: <moolaIssuer.getBrand-alice/rp>
fulfilledToPresence: <moolaIssuer.getBrand-alice/rp> := <*moolaBrand>

// crank 68: v1 alice
drop: v1:@p+10 :: <moolaIssuer.getAmountMathKind-alice/rp>
fulfilledToData: <moolaIssuer.getAmountMathKind-alice/rp> := "nat"
export: v1:@p+11 :: <simoleanIssuer.getBrand-alice/rp>
send: <#simoleanIssuer> <- getBrand(): <simoleanIssuer.getBrand-alice/rp>
subscribe: <simoleanIssuer.getBrand-alice/rp>
export: v1:@p+12 :: <simoleanIssuer.getAmountMathKind-alice/rp>
send: <#simoleanIssuer> <- getAmountMathKind(): <simoleanIssuer.getAmountMathKind-alice/rp>
subscribe: <simoleanIssuer.getAmountMathKind-alice/rp>

// crank 69: v2 bob
drop: v2:@p+9 :: <moolaIssuer.getBrand-bob/rp>
fulfilledToPresence: <moolaIssuer.getBrand-bob/rp> := <*moolaBrand>

// crank 70: v2 bob
drop: v2:@p+10 :: <moolaIssuer.getAmountMathKind-bob/rp>
fulfilledToData: <moolaIssuer.getAmountMathKind-bob/rp> := "nat"
export: v2:@p+11 :: <simoleanIssuer.getBrand-bob/rp>
send: <#simoleanIssuer> <- getBrand(): <simoleanIssuer.getBrand-bob/rp>
subscribe: <simoleanIssuer.getBrand-bob/rp>
export: v2:@p+12 :: <simoleanIssuer.getAmountMathKind-bob/rp>
send: <#simoleanIssuer> <- getAmountMathKind(): <simoleanIssuer.getAmountMathKind-bob/rp>
subscribe: <simoleanIssuer.getAmountMathKind-bob/rp>

// crank 71: v4 bootstrap
import: v4:@p-87 :: <simoleanIssuer.getBrand-alice/rp>
deliver: <#simoleanIssuer> <- getBrand(): <simoleanIssuer.getBrand-alice/rp>
drop: v4:@p-87 :: <simoleanIssuer.getBrand-alice/rp>
fulfillToPresence: <simoleanIssuer.getBrand-alice/rp> = <*simoleanBrand>

// crank 72: v4 bootstrap
import: v4:@p-88 :: <simoleanIssuer.getAmountMathKind-alice/rp>
deliver: <#simoleanIssuer> <- getAmountMathKind(): <simoleanIssuer.getAmountMathKind-alice/rp>
drop: v4:@p-88 :: <simoleanIssuer.getAmountMathKind-alice/rp>
fulfillToData: <simoleanIssuer.getAmountMathKind-alice/rp> = "nat"

// crank 73: v4 bootstrap
import: v4:@p-89 :: <simoleanIssuer.getBrand-bob/rp>
deliver: <#simoleanIssuer> <- getBrand(): <simoleanIssuer.getBrand-bob/rp>
drop: v4:@p-89 :: <simoleanIssuer.getBrand-bob/rp>
fulfillToPresence: <simoleanIssuer.getBrand-bob/rp> = <*simoleanBrand>

// crank 74: v4 bootstrap
import: v4:@p-90 :: <simoleanIssuer.getAmountMathKind-bob/rp>
deliver: <#simoleanIssuer> <- getAmountMathKind(): <simoleanIssuer.getAmountMathKind-bob/rp>
drop: v4:@p-90 :: <simoleanIssuer.getAmountMathKind-bob/rp>
fulfillToData: <simoleanIssuer.getAmountMathKind-bob/rp> = "nat"

// crank 75: v1 alice
drop: v1:@p+11 :: <simoleanIssuer.getBrand-alice/rp>
fulfilledToPresence: <simoleanIssuer.getBrand-alice/rp> := <*simoleanBrand>

// crank 76: v1 alice
drop: v1:@p+12 :: <simoleanIssuer.getAmountMathKind-alice/rp>
fulfilledToData: <simoleanIssuer.getAmountMathKind-alice/rp> := "nat"
export: v1:@p+13 :: <zoe.getInvitationIssuer-alice/rp>
send: <*zoe> <- getInvitationIssuer(): <zoe.getInvitationIssuer-alice/rp>
subscribe: <zoe.getInvitationIssuer-alice/rp>

// crank 77: v2 bob
drop: v2:@p+11 :: <simoleanIssuer.getBrand-bob/rp>
fulfilledToPresence: <simoleanIssuer.getBrand-bob/rp> := <*simoleanBrand>

// crank 78: v2 bob
drop: v2:@p+12 :: <simoleanIssuer.getAmountMathKind-bob/rp>
fulfilledToData: <simoleanIssuer.getAmountMathKind-bob/rp> := "nat"
export: v2:@p+13 :: <zoe.getInvitationIssuer-bob/rp>
send: <*zoe> <- getInvitationIssuer(): <zoe.getInvitationIssuer-bob/rp>
subscribe: <zoe.getInvitationIssuer-bob/rp>

// crank 79: v3 zoe
import: v3:@p-63 :: <zoe.getInvitationIssuer-alice/rp>
deliver: <*zoe> <- getInvitationIssuer(): <zoe.getInvitationIssuer-alice/rp>
drop: v3:@p-63 :: <zoe.getInvitationIssuer-alice/rp>
fulfillToPresence: <zoe.getInvitationIssuer-alice/rp> = <*invitationIssuer>

// crank 80: v3 zoe
import: v3:@p-64 :: <zoe.getInvitationIssuer-bob/rp>
deliver: <*zoe> <- getInvitationIssuer(): <zoe.getInvitationIssuer-bob/rp>
drop: v3:@p-64 :: <zoe.getInvitationIssuer-bob/rp>
fulfillToPresence: <zoe.getInvitationIssuer-bob/rp> = <*invitationIssuer>

// crank 81: v1 alice
import: v1:@o-60 :: <*invitationIssuer>
drop: v1:@p+13 :: <zoe.getInvitationIssuer-alice/rp>
fulfilledToPresence: <zoe.getInvitationIssuer-alice/rp> := <*invitationIssuer>
export: v1:@o+1 :: <*alice>
drop: v1:@p-60 :: <alice.build/rp>
fulfillToPresence: <alice.build/rp> = <*alice>

// crank 82: v2 bob
import: v2:@o-60 :: <*invitationIssuer>
drop: v2:@p+13 :: <zoe.getInvitationIssuer-bob/rp>
fulfilledToPresence: <zoe.getInvitationIssuer-bob/rp> := <*invitationIssuer>
export: v2:@o+1 :: <*bob>
drop: v2:@p-60 :: <bob.build/rp>
fulfillToPresence: <bob.build/rp> = <*bob>

// crank 83: v4 bootstrap
import: v4:@o-64 :: <*alice>
drop: v4:@p+9 :: <alice.build/rp>
fulfilledToPresence: <alice.build/rp> := <*alice>

// crank 84: v1 alice --- start alice->bob priming trade
import: v1:@p-61 :: <bob.build/rp>
import: v1:@p-62 :: <alice.initiateTrade-itp1/rp>
deliver: <*alice> <- initiateTrade(<bob.build/rp>, false): <alice.initiateTrade-itp1/rp>
subscribe: <bob.build/rp>
export: v1:@p+14 :: <aliceMoolaPurse.getCurrentAmount-itp1/rp>
send: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-itp1/rp>
subscribe: <aliceMoolaPurse.getCurrentAmount-itp1/rp>

// crank 85: v4 bootstrap
import: v4:@o-65 :: <*bob>
drop: v4:@p+10 :: <bob.build/rp>
fulfilledToPresence: <bob.build/rp> := <*bob>

// crank 86: v1 alice
import: v1:@o-61 :: <*bob>
drop: v1:@p-61 :: <bob.build/rp>
fulfilledToPresence: <bob.build/rp> := <*bob>

// crank 87: v4 bootstrap
import: v4:@p-91 :: <aliceMoolaPurse.getCurrentAmount-itp1/rp>
deliver: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-itp1/rp>
drop: v4:@p-91 :: <aliceMoolaPurse.getCurrentAmount-itp1/rp>
fulfillToData: <aliceMoolaPurse.getCurrentAmount-itp1/rp> = {brand: <*moolaBrand>, value: 3}

// crank 88: v1 alice
drop: v1:@p+14 :: <aliceMoolaPurse.getCurrentAmount-itp1/rp>
fulfilledToData: <aliceMoolaPurse.getCurrentAmount-itp1/rp> := {brand: <*moolaBrand>, value: 3}
log: alice moola before: balance {"brand":{},"value":3}
export: v1:@p+15 :: <aliceSimoleanPurse.getCurrentAmount-itp1/rp>
send: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-itp1/rp>
subscribe: <aliceSimoleanPurse.getCurrentAmount-itp1/rp>

// crank 89: v4 bootstrap
import: v4:@p-92 :: <aliceSimoleanPurse.getCurrentAmount-itp1/rp>
deliver: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-itp1/rp>
drop: v4:@p-92 :: <aliceSimoleanPurse.getCurrentAmount-itp1/rp>
fulfillToData: <aliceSimoleanPurse.getCurrentAmount-itp1/rp> = {brand: <*simoleanBrand>, value: 0}

// crank 90: v1 alice
drop: v1:@p+15 :: <aliceSimoleanPurse.getCurrentAmount-itp1/rp>
fulfilledToData: <aliceSimoleanPurse.getCurrentAmount-itp1/rp> := {brand: <*simoleanBrand>, value: 0}
log: alice simoleans before: balance {"brand":{},"value":0}
export: v1:@p+16 :: <contract.makeInvitation-aliceBuyOrder-itp1/rp>
send: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-aliceBuyOrder-itp1/rp>
subscribe: <contract.makeInvitation-aliceBuyOrder-itp1/rp>

// crank 91: v9 zcf
import: v9:@p-61 :: <contract.makeInvitation-aliceBuyOrder-itp1/rp>
deliver: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-aliceBuyOrder-itp1/rp>
export: v9:@o+3 :: <exchangeOfferHandler-aliceAddOffer-itp1>
export: v9:@o+4 :: <emptyCustomProperties#1>
export: v9:@p+11 :: <zcf.makeInvitation-aliceBuyOrder-itp1/rp>
send: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-aliceAddOffer-itp1>, "exchange", <emptyCustomProperties#1>): <zcf.makeInvitation-aliceBuyOrder-itp1/rp>
subscribe: <zcf.makeInvitation-aliceBuyOrder-itp1/rp>

// crank 92: v3 zoe
import: v3:@o-61 :: <exchangeOfferHandler-aliceAddOffer-itp1>
import: v3:@o-62 :: <emptyCustomProperties#1>
import: v3:@p-65 :: <zcf.makeInvitation-aliceBuyOrder-itp1/rp>
deliver: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-aliceAddOffer-itp1>, "exchange", <emptyCustomProperties#1>): <zcf.makeInvitation-aliceBuyOrder-itp1/rp>
export: v3:@o+10 :: <aliceBuyOrderInvitation-itp1>
drop: v3:@p-65 :: <zcf.makeInvitation-aliceBuyOrder-itp1/rp>
fulfillToPresence: <zcf.makeInvitation-aliceBuyOrder-itp1/rp> = <aliceBuyOrderInvitation-itp1>

// crank 93: v9 zcf
import: v9:@o-60 :: <aliceBuyOrderInvitation-itp1>
drop: v9:@p+11 :: <zcf.makeInvitation-aliceBuyOrder-itp1/rp>
fulfilledToPresence: <zcf.makeInvitation-aliceBuyOrder-itp1/rp> := <aliceBuyOrderInvitation-itp1>
drop: v9:@p-61 :: <contract.makeInvitation-aliceBuyOrder-itp1/rp>
fulfillToPresence: <contract.makeInvitation-aliceBuyOrder-itp1/rp> = <aliceBuyOrderInvitation-itp1>

// crank 94: v1 alice
import: v1:@o-62 :: <aliceBuyOrderInvitation-itp1>
drop: v1:@p+16 :: <contract.makeInvitation-aliceBuyOrder-itp1/rp>
fulfilledToPresence: <contract.makeInvitation-aliceBuyOrder-itp1/rp> := <aliceBuyOrderInvitation-itp1>
export: v1:@p+17 :: <aliceMoolaPurse.withdraw-itp1/rp>
send: <*aliceMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <aliceMoolaPurse.withdraw-itp1/rp>
subscribe: <aliceMoolaPurse.withdraw-itp1/rp>

// crank 95: v4 bootstrap
import: v4:@p-93 :: <aliceMoolaPurse.withdraw-itp1/rp>
deliver: <*aliceMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <aliceMoolaPurse.withdraw-itp1/rp>
export: v4:@o+15 :: <aliceMoolaPayment-itp1>
drop: v4:@p-93 :: <aliceMoolaPurse.withdraw-itp1/rp>
fulfillToPresence: <aliceMoolaPurse.withdraw-itp1/rp> = <aliceMoolaPayment-itp1>

// crank 96: v1 alice
import: v1:@o-63 :: <aliceMoolaPayment-itp1>
drop: v1:@p+17 :: <aliceMoolaPurse.withdraw-itp1/rp>
fulfilledToPresence: <aliceMoolaPurse.withdraw-itp1/rp> := <aliceMoolaPayment-itp1>
export: v1:@p+18 :: <zoe.offer-aliceSeat-itp1/rp>
send: <*zoe> <- offer(<aliceBuyOrderInvitation-itp1>, {give: {Asset: {brand: <*moolaBrand>, value: 1}}, want: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Asset: <aliceMoolaPayment-itp1>}): <zoe.offer-aliceSeat-itp1/rp>
subscribe: <zoe.offer-aliceSeat-itp1/rp>

// crank 97: v3 zoe
import: v3:@o-63 :: <aliceMoolaPayment-itp1>
import: v3:@p-66 :: <zoe.offer-aliceSeat-itp1/rp>
deliver: <*zoe> <- offer(<aliceBuyOrderInvitation-itp1>, {give: {Asset: {brand: <*moolaBrand>, value: 1}}, want: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Asset: <aliceMoolaPayment-itp1>}): <zoe.offer-aliceSeat-itp1/rp>
export: v3:@p+16 :: <zoeMoolaPurse.deposit-itp1/rp>
send: <*zoeMoolaPurse> <- deposit(<aliceMoolaPayment-itp1>, {brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.deposit-itp1/rp>
subscribe: <zoeMoolaPurse.deposit-itp1/rp>

// crank 98: v4 bootstrap
import: v4:@p-94 :: <zoeMoolaPurse.deposit-itp1/rp>
deliver: <*zoeMoolaPurse> <- deposit(<aliceMoolaPayment-itp1>, {brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.deposit-itp1/rp>
drop: v4:@p-94 :: <zoeMoolaPurse.deposit-itp1/rp>
fulfillToData: <zoeMoolaPurse.deposit-itp1/rp> = {brand: <*moolaBrand>, value: 1}

// crank 99: v3 zoe
drop: v3:@p+16 :: <zoeMoolaPurse.deposit-itp1/rp>
fulfilledToData: <zoeMoolaPurse.deposit-itp1/rp> := {brand: <*moolaBrand>, value: 1}
export: v3:@o+11 :: <aliceBuyOrderSeatAdmin-itp1>
export: v3:@o+12 :: <aliceBuyOrderSeatNotifier-itp1>
export: v3:@o+13 :: <aliceBuyOrderSeatHandle-itp1>
export: v3:@p+17 :: <zcfAddSeatObj.addSeat-aliceBuyOrder-itp1/rp>
send: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-aliceAddOffer-itp1>, <aliceBuyOrderSeatAdmin-itp1>, {proposal: {want: {Price: {brand: <*simoleanBrand>, value: 1}}, give: {Asset: {brand: <*moolaBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Asset: {brand: ibid(10), value: 1}, Price: {brand: ibid(7), value: 0}}, notifier: <aliceBuyOrderSeatNotifier-itp1>}, <aliceBuyOrderSeatHandle-itp1>): <zcfAddSeatObj.addSeat-aliceBuyOrder-itp1/rp>
subscribe: <zcfAddSeatObj.addSeat-aliceBuyOrder-itp1/rp>
export: v3:@o+14 :: <aliceBuyOrderSeat-itp1>
drop: v3:@p-66 :: <zoe.offer-aliceSeat-itp1/rp>
fulfillToPresence: <zoe.offer-aliceSeat-itp1/rp> = <aliceBuyOrderSeat-itp1>

// crank 100: v9 zcf
import: v9:@o-61 :: <aliceBuyOrderSeatAdmin-itp1>
import: v9:@o-62 :: <aliceBuyOrderSeatNotifier-itp1>
import: v9:@o-63 :: <aliceBuyOrderSeatHandle-itp1>
import: v9:@p-62 :: <zcfAddSeatObj.addSeat-aliceBuyOrder-itp1/rp>
deliver: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-aliceAddOffer-itp1>, <aliceBuyOrderSeatAdmin-itp1>, {proposal: {want: {Price: {brand: <*simoleanBrand>, value: 1}}, give: {Asset: {brand: <*moolaBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Asset: {brand: ibid(10), value: 1}, Price: {brand: ibid(7), value: 0}}, notifier: <aliceBuyOrderSeatNotifier-itp1>}, <aliceBuyOrderSeatHandle-itp1>): <zcfAddSeatObj.addSeat-aliceBuyOrder-itp1/rp>
export: v9:@p+12 :: <aliceBuyOrderOfferResult-itp1/p>
export: v9:@o+5 :: <aliceBuyOrderSeatExitObj-itp1>
fulfillToData: <zcfAddSeatObj.addSeat-aliceBuyOrder-itp1/rp> = {offerResultP: <aliceBuyOrderOfferResult-itp1/p>, exitObj: <aliceBuyOrderSeatExitObj-itp1>}
drop: v9:@p+12 :: <aliceBuyOrderOfferResult-itp1/p>
fulfillToData: <aliceBuyOrderOfferResult-itp1/p> = "Order Added"

// crank 101: v1 alice
import: v1:@o-64 :: <aliceBuyOrderSeat-itp1>
drop: v1:@p+18 :: <zoe.offer-aliceSeat-itp1/rp>
fulfilledToPresence: <zoe.offer-aliceSeat-itp1/rp> := <aliceBuyOrderSeat-itp1>
export: v1:@p+19 :: <aliceSeat.getPayouts-itp1/rp>
send: <aliceBuyOrderSeat-itp1> <- getPayouts(): <aliceSeat.getPayouts-itp1/rp>
subscribe: <aliceSeat.getPayouts-itp1/rp>
export: v1:@p+20 :: <contract.makeInvitation-aliceToBob-itp1/rp>
send: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-aliceToBob-itp1/rp>
subscribe: <contract.makeInvitation-aliceToBob-itp1/rp>
export: v1:@p+21 :: <bob.respondToTrade-itp1/rp>
send: <*bob> <- respondToTrade(<contract.makeInvitation-aliceToBob-itp1/rp>, false): <bob.respondToTrade-itp1/rp>
subscribe: <bob.respondToTrade-itp1/rp>

// crank 102: v3 zoe
import: v3:@p-67 :: <aliceBuyOrderOfferResult-itp1/p>
import: v3:@o-64 :: <aliceBuyOrderSeatExitObj-itp1>
fulfilledToData: <zcfAddSeatObj.addSeat-aliceBuyOrder-itp1/rp> := {offerResultP: <aliceBuyOrderOfferResult-itp1/p>, exitObj: <aliceBuyOrderSeatExitObj-itp1>}
subscribe: <aliceBuyOrderOfferResult-itp1/p>

// crank 103: v3 zoe
import: v3:@p-68 :: <aliceSeat.getPayouts-itp1/rp>
deliver: <aliceBuyOrderSeat-itp1> <- getPayouts(): <aliceSeat.getPayouts-itp1/rp>

// crank 104: v9 zcf
import: v9:@p-63 :: <contract.makeInvitation-aliceToBob-itp1/rp>
deliver: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-aliceToBob-itp1/rp>
export: v9:@o+6 :: <exchangeOfferHandler-aliceToBob-itp1>
export: v9:@o+7 :: <emptyCustomProperties#2>
export: v9:@p+13 :: <contract.makeInvitation-aliceToBob-itp1/rp>
send: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-aliceToBob-itp1>, "exchange", <emptyCustomProperties#2>): <contract.makeInvitation-aliceToBob-itp1/rp>
subscribe: <contract.makeInvitation-aliceToBob-itp1/rp>

// crank 105: v2 bob
import: v2:@p-61 :: <contract.makeInvitation-aliceToBob-itp1/rp>
import: v2:@p-62 :: <bob.respondToTrade-itp1/rp>
deliver: <*bob> <- respondToTrade(<contract.makeInvitation-aliceToBob-itp1/rp>, false): <bob.respondToTrade-itp1/rp>
subscribe: <contract.makeInvitation-aliceToBob-itp1/rp>
export: v2:@p+14 :: <bobMoolaPurse.getCurrentAmount-itp1/rp>
send: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-itp1/rp>
subscribe: <bobMoolaPurse.getCurrentAmount-itp1/rp>

// crank 106: v3 zoe
drop: v3:@p-67 :: <aliceBuyOrderOfferResult-itp1/p>
fulfilledToData: <aliceBuyOrderOfferResult-itp1/p> := "Order Added"

// crank 107: v3 zoe
import: v3:@o-65 :: <exchangeOfferHandler-aliceToBob-itp1>
import: v3:@o-66 :: <emptyCustomProperties#2>
import: v3:@p-69 :: <contract.makeInvitation-aliceToBob-itp1/rp>
deliver: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-aliceToBob-itp1>, "exchange", <emptyCustomProperties#2>): <contract.makeInvitation-aliceToBob-itp1/rp>
export: v3:@o+15 :: <aliceToBobInvitation-itp1>
drop: v3:@p-69 :: <contract.makeInvitation-aliceToBob-itp1/rp>
fulfillToPresence: <contract.makeInvitation-aliceToBob-itp1/rp> = <aliceToBobInvitation-itp1>

// crank 108: v4 bootstrap
import: v4:@p-95 :: <bobMoolaPurse.getCurrentAmount-itp1/rp>
deliver: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-itp1/rp>
drop: v4:@p-95 :: <bobMoolaPurse.getCurrentAmount-itp1/rp>
fulfillToData: <bobMoolaPurse.getCurrentAmount-itp1/rp> = {brand: <*moolaBrand>, value: 0}

// crank 109: v9 zcf
import: v9:@o-64 :: <aliceToBobInvitation-itp1>
drop: v9:@p+13 :: <contract.makeInvitation-aliceToBob-itp1/rp>
fulfilledToPresence: <contract.makeInvitation-aliceToBob-itp1/rp> := <aliceToBobInvitation-itp1>
drop: v9:@p-63 :: <contract.makeInvitation-aliceToBob-itp1/rp>
fulfillToPresence: <contract.makeInvitation-aliceToBob-itp1/rp> = <aliceToBobInvitation-itp1>

// crank 110: v2 bob
drop: v2:@p+14 :: <bobMoolaPurse.getCurrentAmount-itp1/rp>
fulfilledToData: <bobMoolaPurse.getCurrentAmount-itp1/rp> := {brand: <*moolaBrand>, value: 0}
log: bob moola before: balance {"brand":{},"value":0}
export: v2:@p+15 :: <bobSimoleanPurse.getCurrentAmount-itp1/rp>
send: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-itp1/rp>
subscribe: <bobSimoleanPurse.getCurrentAmount-itp1/rp>

// crank 111: v1 alice
import: v1:@o-65 :: <aliceToBobInvitation-itp1>
drop: v1:@p+20 :: <contract.makeInvitation-aliceToBob-itp1/rp>
fulfilledToPresence: <contract.makeInvitation-aliceToBob-itp1/rp> := <aliceToBobInvitation-itp1>

// crank 112: v2 bob
import: v2:@o-61 :: <aliceToBobInvitation-itp1>
drop: v2:@p-61 :: <contract.makeInvitation-aliceToBob-itp1/rp>
fulfilledToPresence: <contract.makeInvitation-aliceToBob-itp1/rp> := <aliceToBobInvitation-itp1>

// crank 113: v4 bootstrap
import: v4:@p-96 :: <bobSimoleanPurse.getCurrentAmount-itp1/rp>
deliver: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-itp1/rp>
drop: v4:@p-96 :: <bobSimoleanPurse.getCurrentAmount-itp1/rp>
fulfillToData: <bobSimoleanPurse.getCurrentAmount-itp1/rp> = {brand: <*simoleanBrand>, value: 3}

// crank 114: v2 bob
drop: v2:@p+15 :: <bobSimoleanPurse.getCurrentAmount-itp1/rp>
fulfilledToData: <bobSimoleanPurse.getCurrentAmount-itp1/rp> := {brand: <*simoleanBrand>, value: 3}
log: bob simoleans before: balance {"brand":{},"value":3}
export: v2:@p+16 :: <aliceToBobInvitation.claim-itp1/rp>
send: <*invitationIssuer> <- claim(<aliceToBobInvitation-itp1>): <aliceToBobInvitation.claim-itp1/rp>
subscribe: <aliceToBobInvitation.claim-itp1/rp>

// crank 115: v3 zoe
import: v3:@p-70 :: <aliceToBobInvitation.claim-itp1/rp>
deliver: <*invitationIssuer> <- claim(<aliceToBobInvitation-itp1>): <aliceToBobInvitation.claim-itp1/rp>
export: v3:@o+16 :: <aliceToBobInvitationPayment-itp1>
drop: v3:@p-70 :: <aliceToBobInvitation.claim-itp1/rp>
fulfillToPresence: <aliceToBobInvitation.claim-itp1/rp> = <aliceToBobInvitationPayment-itp1>

// crank 116: v2 bob
import: v2:@o-62 :: <aliceToBobInvitationPayment-itp1>
drop: v2:@p+16 :: <aliceToBobInvitation.claim-itp1/rp>
fulfilledToPresence: <aliceToBobInvitation.claim-itp1/rp> := <aliceToBobInvitationPayment-itp1>
export: v2:@p+17 :: <bobSimoleanPurse.withdraw-itp1/rp>
send: <*bobSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <bobSimoleanPurse.withdraw-itp1/rp>
subscribe: <bobSimoleanPurse.withdraw-itp1/rp>

// crank 117: v4 bootstrap
import: v4:@p-97 :: <bobSimoleanPurse.withdraw-itp1/rp>
deliver: <*bobSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <bobSimoleanPurse.withdraw-itp1/rp>
export: v4:@o+16 :: <bobSimoleanPayment-itp1>
drop: v4:@p-97 :: <bobSimoleanPurse.withdraw-itp1/rp>
fulfillToPresence: <bobSimoleanPurse.withdraw-itp1/rp> = <bobSimoleanPayment-itp1>

// crank 118: v2 bob
import: v2:@o-63 :: <bobSimoleanPayment-itp1>
drop: v2:@p+17 :: <bobSimoleanPurse.withdraw-itp1/rp>
fulfilledToPresence: <bobSimoleanPurse.withdraw-itp1/rp> := <bobSimoleanPayment-itp1>
export: v2:@p+18 :: <zoe.offer-bobSeat-itp1/rp>
send: <*zoe> <- offer(<aliceToBobInvitationPayment-itp1>, {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Price: <bobSimoleanPayment-itp1>}): <zoe.offer-bobSeat-itp1/rp>
subscribe: <zoe.offer-bobSeat-itp1/rp>

// crank 119: v3 zoe
import: v3:@o-67 :: <bobSimoleanPayment-itp1>
import: v3:@p-71 :: <zoe.offer-bobSeat-itp1/rp>
deliver: <*zoe> <- offer(<aliceToBobInvitationPayment-itp1>, {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Price: <bobSimoleanPayment-itp1>}): <zoe.offer-bobSeat-itp1/rp>
export: v3:@p+18 :: <zoeSimoleanPurse.deposit-itp1/rp>
send: <*zoeSimoleanPurse> <- deposit(<bobSimoleanPayment-itp1>, {brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.deposit-itp1/rp>
subscribe: <zoeSimoleanPurse.deposit-itp1/rp>

// crank 120: v4 bootstrap
import: v4:@p-98 :: <zoeSimoleanPurse.deposit-itp1/rp>
deliver: <*zoeSimoleanPurse> <- deposit(<bobSimoleanPayment-itp1>, {brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.deposit-itp1/rp>
drop: v4:@p-98 :: <zoeSimoleanPurse.deposit-itp1/rp>
fulfillToData: <zoeSimoleanPurse.deposit-itp1/rp> = {brand: <*simoleanBrand>, value: 1}

// crank 121: v3 zoe
drop: v3:@p+18 :: <zoeSimoleanPurse.deposit-itp1/rp>
fulfilledToData: <zoeSimoleanPurse.deposit-itp1/rp> := {brand: <*simoleanBrand>, value: 1}
export: v3:@o+17 :: <bobSellOrderSeatAdmin-itp1>
export: v3:@o+18 :: <bobSellOrderSeatNotifier-itp1>
export: v3:@o+19 :: <bobSellOrderSeatHandle-itp1>
export: v3:@p+19 :: <zcfAddSeatObj.addSeat-bobSellOrder-itp1/rp>
send: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-aliceToBob-itp1>, <bobSellOrderSeatAdmin-itp1>, {proposal: {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Price: {brand: ibid(10), value: 1}, Asset: {brand: ibid(7), value: 0}}, notifier: <bobSellOrderSeatNotifier-itp1>}, <bobSellOrderSeatHandle-itp1>): <zcfAddSeatObj.addSeat-bobSellOrder-itp1/rp>
subscribe: <zcfAddSeatObj.addSeat-bobSellOrder-itp1/rp>
export: v3:@o+20 :: <bobSellOrderSeat-itp1>
drop: v3:@p-71 :: <zoe.offer-bobSeat-itp1/rp>
fulfillToPresence: <zoe.offer-bobSeat-itp1/rp> = <bobSellOrderSeat-itp1>

// crank 122: v9 zcf
import: v9:@o-65 :: <bobSellOrderSeatAdmin-itp1>
import: v9:@o-66 :: <bobSellOrderSeatNotifier-itp1>
import: v9:@o-67 :: <bobSellOrderSeatHandle-itp1>
import: v9:@p-64 :: <zcfAddSeatObj.addSeat-bobSellOrder-itp1/rp>
deliver: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-aliceToBob-itp1>, <bobSellOrderSeatAdmin-itp1>, {proposal: {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Price: {brand: ibid(10), value: 1}, Asset: {brand: ibid(7), value: 0}}, notifier: <bobSellOrderSeatNotifier-itp1>}, <bobSellOrderSeatHandle-itp1>): <zcfAddSeatObj.addSeat-bobSellOrder-itp1/rp>
export: v9:@p+14 :: <bobSellOrderOfferResult-itp1/p>
export: v9:@o+8 :: <bobSellOrderSeatExitObj-itp1>
fulfillToData: <zcfAddSeatObj.addSeat-bobSellOrder-itp1/rp> = {offerResultP: <bobSellOrderOfferResult-itp1/p>, exitObj: <bobSellOrderSeatExitObj-itp1>}
export: v9:@p+15 :: <zcfInstanceAdmin.replaceAllocations-itp1/rp>
send: <*zcfInstanceAdmin> <- replaceAllocations([{seatHandle: <bobSellOrderSeatHandle-itp1>, allocation: {Price: {brand: <*simoleanBrand>, value: 0}, Asset: {brand: <*moolaBrand>, value: 1}}}, {seatHandle: <aliceBuyOrderSeatHandle-itp1>, allocation: {Asset: {brand: ibid(8), value: 0}, Price: {brand: ibid(6), value: 1}}}]): <zcfInstanceAdmin.replaceAllocations-itp1/rp>
subscribe: <zcfInstanceAdmin.replaceAllocations-itp1/rp>
export: v9:@p+16 :: <bobSellOrderSeatAdmin.exit-itp1/rp>
send: <bobSellOrderSeatAdmin-itp1> <- exit(undefined): <bobSellOrderSeatAdmin.exit-itp1/rp>
subscribe: <bobSellOrderSeatAdmin.exit-itp1/rp>
export: v9:@p+17 :: <aliceBuyOrderSeatAdmin.exit-itp1/rp>
send: <aliceBuyOrderSeatAdmin-itp1> <- exit(undefined): <aliceBuyOrderSeatAdmin.exit-itp1/rp>
subscribe: <aliceBuyOrderSeatAdmin.exit-itp1/rp>
drop: v9:@p+14 :: <bobSellOrderOfferResult-itp1/p>
fulfillToData: <bobSellOrderOfferResult-itp1/p> = "Order Added"

// crank 123: v2 bob
import: v2:@o-64 :: <bobSellOrderSeat-itp1>
drop: v2:@p+18 :: <zoe.offer-bobSeat-itp1/rp>
fulfilledToPresence: <zoe.offer-bobSeat-itp1/rp> := <bobSellOrderSeat-itp1>
export: v2:@p+19 :: <bobSellOrderSeat.getPayouts-itp1/rp>
send: <bobSellOrderSeat-itp1> <- getPayouts(): <bobSellOrderSeat.getPayouts-itp1/rp>
subscribe: <bobSellOrderSeat.getPayouts-itp1/rp>

// crank 124: v3 zoe
import: v3:@p-72 :: <bobSellOrderOfferResult-itp1/p>
import: v3:@o-68 :: <bobSellOrderSeatExitObj-itp1>
fulfilledToData: <zcfAddSeatObj.addSeat-bobSellOrder-itp1/rp> := {offerResultP: <bobSellOrderOfferResult-itp1/p>, exitObj: <bobSellOrderSeatExitObj-itp1>}
subscribe: <bobSellOrderOfferResult-itp1/p>

// crank 125: v3 zoe
import: v3:@p-73 :: <zcfInstanceAdmin.replaceAllocations-itp1/rp>
deliver: <*zcfInstanceAdmin> <- replaceAllocations([{seatHandle: <bobSellOrderSeatHandle-itp1>, allocation: {Price: {brand: <*simoleanBrand>, value: 0}, Asset: {brand: <*moolaBrand>, value: 1}}}, {seatHandle: <aliceBuyOrderSeatHandle-itp1>, allocation: {Asset: {brand: ibid(8), value: 0}, Price: {brand: ibid(6), value: 1}}}]): <zcfInstanceAdmin.replaceAllocations-itp1/rp>
drop: v3:@p-73 :: <zcfInstanceAdmin.replaceAllocations-itp1/rp>
fulfillToData: <zcfInstanceAdmin.replaceAllocations-itp1/rp> = undefined

// crank 126: v3 zoe
import: v3:@p-74 :: <bobSellOrderSeatAdmin.exit-itp1/rp>
deliver: <bobSellOrderSeatAdmin-itp1> <- exit(undefined): <bobSellOrderSeatAdmin.exit-itp1/rp>
export: v3:@p+20 :: <zoeSimoleanPurse.withdraw-bob-itp1/rp>
send: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 0}): <zoeSimoleanPurse.withdraw-bob-itp1/rp>
subscribe: <zoeSimoleanPurse.withdraw-bob-itp1/rp>
export: v3:@p+21 :: <zoeMoolaPurse.withdraw-bob-itp1/rp>
send: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.withdraw-bob-itp1/rp>
subscribe: <zoeMoolaPurse.withdraw-bob-itp1/rp>
drop: v3:@p-74 :: <bobSellOrderSeatAdmin.exit-itp1/rp>
fulfillToData: <bobSellOrderSeatAdmin.exit-itp1/rp> = undefined

// crank 127: v3 zoe
import: v3:@p-75 :: <aliceBuyOrderSeatAdmin.exit-itp1/rp>
deliver: <aliceBuyOrderSeatAdmin-itp1> <- exit(undefined): <aliceBuyOrderSeatAdmin.exit-itp1/rp>
export: v3:@p+22 :: <zoeMoolaPurse.withdraw-alice-itp1/rp>
send: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 0}): <zoeMoolaPurse.withdraw-alice-itp1/rp>
subscribe: <zoeMoolaPurse.withdraw-alice-itp1/rp>
export: v3:@p+23 :: <zoeSimoleanPurse.withdraw-alice-itp1/rp>
send: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.withdraw-alice-itp1/rp>
subscribe: <zoeSimoleanPurse.withdraw-alice-itp1/rp>
drop: v3:@p-75 :: <aliceBuyOrderSeatAdmin.exit-itp1/rp>
fulfillToData: <aliceBuyOrderSeatAdmin.exit-itp1/rp> = undefined
fulfillToData: <aliceSeat.getPayouts-itp1/rp> = {Asset: <zoeMoolaPurse.withdraw-alice-itp1/rp>, Price: <zoeSimoleanPurse.withdraw-alice-itp1/rp>}

// crank 128: v3 zoe
import: v3:@p-76 :: <bobSellOrderSeat.getPayouts-itp1/rp>
deliver: <bobSellOrderSeat-itp1> <- getPayouts(): <bobSellOrderSeat.getPayouts-itp1/rp>
fulfillToData: <bobSellOrderSeat.getPayouts-itp1/rp> = {Price: <zoeSimoleanPurse.withdraw-bob-itp1/rp>, Asset: <zoeMoolaPurse.withdraw-bob-itp1/rp>}

// crank 129: v3 zoe
drop: v3:@p-72 :: <bobSellOrderOfferResult-itp1/p>
fulfilledToData: <bobSellOrderOfferResult-itp1/p> := "Order Added"

// crank 130: v9 zcf
drop: v9:@p+15 :: <zcfInstanceAdmin.replaceAllocations-itp1/rp>
fulfilledToData: <zcfInstanceAdmin.replaceAllocations-itp1/rp> := undefined

// crank 131: v4 bootstrap
import: v4:@p-99 :: <zoeSimoleanPurse.withdraw-bob-itp1/rp>
deliver: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 0}): <zoeSimoleanPurse.withdraw-bob-itp1/rp>
export: v4:@o+17 :: <zoeSimoleanPayment-bob-itp1>
drop: v4:@p-99 :: <zoeSimoleanPurse.withdraw-bob-itp1/rp>
fulfillToPresence: <zoeSimoleanPurse.withdraw-bob-itp1/rp> = <zoeSimoleanPayment-bob-itp1>

// crank 132: v4 bootstrap
import: v4:@p-100 :: <zoeMoolaPurse.withdraw-bob-itp1/rp>
deliver: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.withdraw-bob-itp1/rp>
export: v4:@o+18 :: <zoeMoolaPayment-bob-itp1>
drop: v4:@p-100 :: <zoeMoolaPurse.withdraw-bob-itp1/rp>
fulfillToPresence: <zoeMoolaPurse.withdraw-bob-itp1/rp> = <zoeMoolaPayment-bob-itp1>

// crank 133: v9 zcf
drop: v9:@p+16 :: <bobSellOrderSeatAdmin.exit-itp1/rp>
fulfilledToData: <bobSellOrderSeatAdmin.exit-itp1/rp> := undefined

// crank 134: v4 bootstrap
import: v4:@p-101 :: <zoeMoolaPurse.withdraw-alice-itp1/rp>
deliver: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 0}): <zoeMoolaPurse.withdraw-alice-itp1/rp>
export: v4:@o+19 :: <zoeMoolaPayment-alice-itp1>
drop: v4:@p-101 :: <zoeMoolaPurse.withdraw-alice-itp1/rp>
fulfillToPresence: <zoeMoolaPurse.withdraw-alice-itp1/rp> = <zoeMoolaPayment-alice-itp1>

// crank 135: v4 bootstrap
import: v4:@p-102 :: <zoeSimoleanPurse.withdraw-alice-itp1/rp>
deliver: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.withdraw-alice-itp1/rp>
export: v4:@o+20 :: <zoeSimoleanPayment-alice-itp1>
drop: v4:@p-102 :: <zoeSimoleanPurse.withdraw-alice-itp1/rp>
fulfillToPresence: <zoeSimoleanPurse.withdraw-alice-itp1/rp> = <zoeSimoleanPayment-alice-itp1>

// crank 136: v9 zcf
drop: v9:@p+17 :: <aliceBuyOrderSeatAdmin.exit-itp1/rp>
fulfilledToData: <aliceBuyOrderSeatAdmin.exit-itp1/rp> := undefined

// crank 137: v1 alice
import: v1:@p-63 :: <zoeMoolaPurse.withdraw-alice-itp1/rp>
import: v1:@p-64 :: <zoeSimoleanPurse.withdraw-alice-itp1/rp>
fulfilledToData: <aliceSeat.getPayouts-itp1/rp> := {Asset: <zoeMoolaPurse.withdraw-alice-itp1/rp>, Price: <zoeSimoleanPurse.withdraw-alice-itp1/rp>}
subscribe: <zoeMoolaPurse.withdraw-alice-itp1/rp>
subscribe: <zoeSimoleanPurse.withdraw-alice-itp1/rp>

// crank 138: v2 bob
import: v2:@p-63 :: <zoeSimoleanPurse.withdraw-bob-itp1/rp>
import: v2:@p-64 :: <zoeMoolaPurse.withdraw-bob-itp1/rp>
fulfilledToData: <bobSellOrderSeat.getPayouts-itp1/rp> := {Price: <zoeSimoleanPurse.withdraw-bob-itp1/rp>, Asset: <zoeMoolaPurse.withdraw-bob-itp1/rp>}
subscribe: <zoeSimoleanPurse.withdraw-bob-itp1/rp>
subscribe: <zoeMoolaPurse.withdraw-bob-itp1/rp>

// crank 139: v3 zoe
import: v3:@o-69 :: <zoeSimoleanPayment-bob-itp1>
drop: v3:@p+20 :: <zoeSimoleanPurse.withdraw-bob-itp1/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-bob-itp1/rp> := <zoeSimoleanPayment-bob-itp1>

// crank 140: v3 zoe
import: v3:@o-70 :: <zoeMoolaPayment-bob-itp1>
drop: v3:@p+21 :: <zoeMoolaPurse.withdraw-bob-itp1/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-bob-itp1/rp> := <zoeMoolaPayment-bob-itp1>

// crank 141: v3 zoe
import: v3:@o-71 :: <zoeMoolaPayment-alice-itp1>
drop: v3:@p+22 :: <zoeMoolaPurse.withdraw-alice-itp1/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-alice-itp1/rp> := <zoeMoolaPayment-alice-itp1>

// crank 142: v3 zoe
import: v3:@o-72 :: <zoeSimoleanPayment-alice-itp1>
drop: v3:@p+23 :: <zoeSimoleanPurse.withdraw-alice-itp1/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-alice-itp1/rp> := <zoeSimoleanPayment-alice-itp1>

// crank 143: v1 alice
import: v1:@o-66 :: <zoeMoolaPayment-alice-itp1>
drop: v1:@p-63 :: <zoeMoolaPurse.withdraw-alice-itp1/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-alice-itp1/rp> := <zoeMoolaPayment-alice-itp1>

// crank 144: v1 alice
import: v1:@o-67 :: <zoeSimoleanPayment-alice-itp1>
drop: v1:@p-64 :: <zoeSimoleanPurse.withdraw-alice-itp1/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-alice-itp1/rp> := <zoeSimoleanPayment-alice-itp1>

// crank 145: v2 bob
import: v2:@o-65 :: <zoeSimoleanPayment-bob-itp1>
drop: v2:@p-63 :: <zoeSimoleanPurse.withdraw-bob-itp1/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-bob-itp1/rp> := <zoeSimoleanPayment-bob-itp1>

// crank 146: v2 bob
import: v2:@o-66 :: <zoeMoolaPayment-bob-itp1>
drop: v2:@p-64 :: <zoeMoolaPurse.withdraw-bob-itp1/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-bob-itp1/rp> := <zoeMoolaPayment-bob-itp1>
export: v2:@p+20 :: <bobMoolaPurse.deposit-zoe-itp1/rp>
send: <*bobMoolaPurse> <- deposit(<zoeMoolaPayment-bob-itp1>): <bobMoolaPurse.deposit-zoe-itp1/rp>
subscribe: <bobMoolaPurse.deposit-zoe-itp1/rp>

// crank 147: v4 bootstrap
import: v4:@p-103 :: <bobMoolaPurse.deposit-zoe-itp1/rp>
deliver: <*bobMoolaPurse> <- deposit(<zoeMoolaPayment-bob-itp1>): <bobMoolaPurse.deposit-zoe-itp1/rp>
drop: v4:@p-103 :: <bobMoolaPurse.deposit-zoe-itp1/rp>
fulfillToData: <bobMoolaPurse.deposit-zoe-itp1/rp> = {brand: <*moolaBrand>, value: 1}

// crank 148: v2 bob
drop: v2:@p+20 :: <bobMoolaPurse.deposit-zoe-itp1/rp>
fulfilledToData: <bobMoolaPurse.deposit-zoe-itp1/rp> := {brand: <*moolaBrand>, value: 1}
export: v2:@p+21 :: <bobSimoleanPurse.deposit-zoe-itp1/rp>
send: <*bobSimoleanPurse> <- deposit(<zoeSimoleanPayment-bob-itp1>): <bobSimoleanPurse.deposit-zoe-itp1/rp>
subscribe: <bobSimoleanPurse.deposit-zoe-itp1/rp>

// crank 149: v4 bootstrap
import: v4:@p-104 :: <bobSimoleanPurse.deposit-zoe-itp1/rp>
deliver: <*bobSimoleanPurse> <- deposit(<zoeSimoleanPayment-bob-itp1>): <bobSimoleanPurse.deposit-zoe-itp1/rp>
drop: v4:@p-104 :: <bobSimoleanPurse.deposit-zoe-itp1/rp>
fulfillToData: <bobSimoleanPurse.deposit-zoe-itp1/rp> = {brand: <*simoleanBrand>, value: 0}

// crank 150: v2 bob
drop: v2:@p+21 :: <bobSimoleanPurse.deposit-zoe-itp1/rp>
fulfilledToData: <bobSimoleanPurse.deposit-zoe-itp1/rp> := {brand: <*simoleanBrand>, value: 0}
export: v2:@p+22 :: <bobMoolaPurse.getCurrentAmount-after-itp1/rp>
send: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-after-itp1/rp>
subscribe: <bobMoolaPurse.getCurrentAmount-after-itp1/rp>

// crank 151: v4 bootstrap
import: v4:@p-105 :: <bobMoolaPurse.getCurrentAmount-after-itp1/rp>
deliver: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-after-itp1/rp>
drop: v4:@p-105 :: <bobMoolaPurse.getCurrentAmount-after-itp1/rp>
fulfillToData: <bobMoolaPurse.getCurrentAmount-after-itp1/rp> = {brand: <*moolaBrand>, value: 1}

// crank 152: v2 bob
drop: v2:@p+22 :: <bobMoolaPurse.getCurrentAmount-after-itp1/rp>
fulfilledToData: <bobMoolaPurse.getCurrentAmount-after-itp1/rp> := {brand: <*moolaBrand>, value: 1}
log: bob moola after: balance {"brand":{},"value":1}
export: v2:@p+23 :: <bobSimoleanPurse.getCurrentAmount-after-itp1/rp>
send: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-after-itp1/rp>
subscribe: <bobSimoleanPurse.getCurrentAmount-after-itp1/rp>

// crank 153: v4 bootstrap
import: v4:@p-106 :: <bobSimoleanPurse.getCurrentAmount-after-itp1/rp>
deliver: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-after-itp1/rp>
drop: v4:@p-106 :: <bobSimoleanPurse.getCurrentAmount-after-itp1/rp>
fulfillToData: <bobSimoleanPurse.getCurrentAmount-after-itp1/rp> = {brand: <*simoleanBrand>, value: 2}

// crank 154: v2 bob
drop: v2:@p+23 :: <bobSimoleanPurse.getCurrentAmount-after-itp1/rp>
fulfilledToData: <bobSimoleanPurse.getCurrentAmount-after-itp1/rp> := {brand: <*simoleanBrand>, value: 2}
log: bob simoleans after: balance {"brand":{},"value":2}
drop: v2:@p-62 :: <bob.respondToTrade-itp1/rp>
fulfillToData: <bob.respondToTrade-itp1/rp> = undefined

// crank 155: v1 alice
drop: v1:@p+21 :: <bob.respondToTrade-itp1/rp>
fulfilledToData: <bob.respondToTrade-itp1/rp> := undefined
export: v1:@p+22 :: <aliceMoolaPurse.deposit-zoe-itp1/rp>
send: <*aliceMoolaPurse> <- deposit(<zoeMoolaPayment-alice-itp1>): <aliceMoolaPurse.deposit-zoe-itp1/rp>
subscribe: <aliceMoolaPurse.deposit-zoe-itp1/rp>

// crank 156: v4 bootstrap
import: v4:@p-107 :: <aliceMoolaPurse.deposit-zoe-itp1/rp>
deliver: <*aliceMoolaPurse> <- deposit(<zoeMoolaPayment-alice-itp1>): <aliceMoolaPurse.deposit-zoe-itp1/rp>
drop: v4:@p-107 :: <aliceMoolaPurse.deposit-zoe-itp1/rp>
fulfillToData: <aliceMoolaPurse.deposit-zoe-itp1/rp> = {brand: <*moolaBrand>, value: 0}

// crank 157: v1 alice
drop: v1:@p+22 :: <aliceMoolaPurse.deposit-zoe-itp1/rp>
fulfilledToData: <aliceMoolaPurse.deposit-zoe-itp1/rp> := {brand: <*moolaBrand>, value: 0}
export: v1:@p+23 :: <aliceSimoleanPurse.deposit-zoe-itp1/rp>
send: <*aliceSimoleanPurse> <- deposit(<zoeSimoleanPayment-alice-itp1>): <aliceSimoleanPurse.deposit-zoe-itp1/rp>
subscribe: <aliceSimoleanPurse.deposit-zoe-itp1/rp>

// crank 158: v4 bootstrap
import: v4:@p-108 :: <aliceSimoleanPurse.deposit-zoe-itp1/rp>
deliver: <*aliceSimoleanPurse> <- deposit(<zoeSimoleanPayment-alice-itp1>): <aliceSimoleanPurse.deposit-zoe-itp1/rp>
drop: v4:@p-108 :: <aliceSimoleanPurse.deposit-zoe-itp1/rp>
fulfillToData: <aliceSimoleanPurse.deposit-zoe-itp1/rp> = {brand: <*simoleanBrand>, value: 1}

// crank 159: v1 alice
drop: v1:@p+23 :: <aliceSimoleanPurse.deposit-zoe-itp1/rp>
fulfilledToData: <aliceSimoleanPurse.deposit-zoe-itp1/rp> := {brand: <*simoleanBrand>, value: 1}
export: v1:@p+24 :: <aliceMoolaPurse.getCurrentAmount-after-itp1/rp>
send: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-after-itp1/rp>
subscribe: <aliceMoolaPurse.getCurrentAmount-after-itp1/rp>

// crank 160: v4 bootstrap
import: v4:@p-109 :: <aliceMoolaPurse.getCurrentAmount-after-itp1/rp>
deliver: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-after-itp1/rp>
drop: v4:@p-109 :: <aliceMoolaPurse.getCurrentAmount-after-itp1/rp>
fulfillToData: <aliceMoolaPurse.getCurrentAmount-after-itp1/rp> = {brand: <*moolaBrand>, value: 2}

// crank 161: v1 alice
drop: v1:@p+24 :: <aliceMoolaPurse.getCurrentAmount-after-itp1/rp>
fulfilledToData: <aliceMoolaPurse.getCurrentAmount-after-itp1/rp> := {brand: <*moolaBrand>, value: 2}
log: alice moola after: balance {"brand":{},"value":2}
export: v1:@p+25 :: <aliceSimoleanPurse.getCurrentAmount-after-itp1/rp>
send: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-after-itp1/rp>
subscribe: <aliceSimoleanPurse.getCurrentAmount-after-itp1/rp>

// crank 162: v4 bootstrap
import: v4:@p-110 :: <aliceSimoleanPurse.getCurrentAmount-after-itp1/rp>
deliver: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-after-itp1/rp>
drop: v4:@p-110 :: <aliceSimoleanPurse.getCurrentAmount-after-itp1/rp>
fulfillToData: <aliceSimoleanPurse.getCurrentAmount-after-itp1/rp> = {brand: <*simoleanBrand>, value: 1}

// crank 163: v1 alice
drop: v1:@p+25 :: <aliceSimoleanPurse.getCurrentAmount-after-itp1/rp>
fulfilledToData: <aliceSimoleanPurse.getCurrentAmount-after-itp1/rp> := {brand: <*simoleanBrand>, value: 1}
log: alice simoleans after: balance {"brand":{},"value":1}
drop: v1:@p-62 :: <alice.initiateTrade-itp1/rp>
fulfillToData: <alice.initiateTrade-itp1/rp> = undefined

// crank 164: v4 bootstrap
drop: v4:@p+11 :: <alice.initiateTrade-itp1/rp>
fulfilledToData: <alice.initiateTrade-itp1/rp> := undefined
export: v4:@p+12 :: <alice.build/rp2>
export: v4:@p+13 :: <bob.initiateTrade-itp2/rp>
send: <*bob> <- initiateTrade(<alice.build/rp2>, false): <bob.initiateTrade-itp2/rp>
subscribe: <bob.initiateTrade-itp2/rp>
drop: v4:@p+12 :: <alice.build/rp2>
fulfillToPresence: <alice.build/rp2> = <*alice>

// crank 165: v2 bob --- start bob->alice priming trade
import: v2:@p-65 :: <alice.build/rp2>
import: v2:@p-66 :: <bob.initiateTrade-itp2/rp>
deliver: <*bob> <- initiateTrade(<alice.build/rp2>, false): <bob.initiateTrade-itp2/rp>
subscribe: <alice.build/rp2>
export: v2:@p+24 :: <bobMoolaPurse.getCurrentAmount-itp2/rp>
send: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-itp2/rp>
subscribe: <bobMoolaPurse.getCurrentAmount-itp2/rp>

// crank 166: v2 bob
import: v2:@o-67 :: <*alice>
drop: v2:@p-65 :: <alice.build/rp2>
fulfilledToPresence: <alice.build/rp2> := <*alice>

// crank 167: v4 bootstrap
import: v4:@p-111 :: <bobMoolaPurse.getCurrentAmount-itp2/rp>
deliver: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-itp2/rp>
drop: v4:@p-111 :: <bobMoolaPurse.getCurrentAmount-itp2/rp>
fulfillToData: <bobMoolaPurse.getCurrentAmount-itp2/rp> = {brand: <*moolaBrand>, value: 1}

// crank 168: v2 bob
drop: v2:@p+24 :: <bobMoolaPurse.getCurrentAmount-itp2/rp>
fulfilledToData: <bobMoolaPurse.getCurrentAmount-itp2/rp> := {brand: <*moolaBrand>, value: 1}
log: bob moola before: balance {"brand":{},"value":1}
export: v2:@p+25 :: <bobSimoleanPurse.getCurrentAmount-itp2/rp>
send: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-itp2/rp>
subscribe: <bobSimoleanPurse.getCurrentAmount-itp2/rp>

// crank 169: v4 bootstrap
import: v4:@p-112 :: <bobSimoleanPurse.getCurrentAmount-itp2/rp>
deliver: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-itp2/rp>
drop: v4:@p-112 :: <bobSimoleanPurse.getCurrentAmount-itp2/rp>
fulfillToData: <bobSimoleanPurse.getCurrentAmount-itp2/rp> = {brand: <*simoleanBrand>, value: 2}

// crank 170: v2 bob
drop: v2:@p+25 :: <bobSimoleanPurse.getCurrentAmount-itp2/rp>
fulfilledToData: <bobSimoleanPurse.getCurrentAmount-itp2/rp> := {brand: <*simoleanBrand>, value: 2}
log: bob simoleans before: balance {"brand":{},"value":2}
export: v2:@p+26 :: <contract.makeInvitation-bobBuyOrder-itp2/rp>
send: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-bobBuyOrder-itp2/rp>
subscribe: <contract.makeInvitation-bobBuyOrder-itp2/rp>

// crank 171: v9 zcf
import: v9:@p-65 :: <contract.makeInvitation-bobBuyOrder-itp2/rp>
deliver: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-bobBuyOrder-itp2/rp>
export: v9:@o+9 :: <exchangeOfferHandler-bobAddOffer-itp2>
export: v9:@o+10 :: <emptyCustomProperties#3>
export: v9:@p+18 :: <zcf.makeInvitation-bobBuyOrder-itp2/rp>
send: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-bobAddOffer-itp2>, "exchange", <emptyCustomProperties#3>): <zcf.makeInvitation-bobBuyOrder-itp2/rp>
subscribe: <zcf.makeInvitation-bobBuyOrder-itp2/rp>

// crank 172: v3 zoe
import: v3:@o-73 :: <exchangeOfferHandler-bobAddOffer-itp2>
import: v3:@o-74 :: <emptyCustomProperties#3>
import: v3:@p-77 :: <zcf.makeInvitation-bobBuyOrder-itp2/rp>
deliver: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-bobAddOffer-itp2>, "exchange", <emptyCustomProperties#3>): <zcf.makeInvitation-bobBuyOrder-itp2/rp>
export: v3:@o+21 :: <bobBuyOrderInvitation-itp2>
drop: v3:@p-77 :: <zcf.makeInvitation-bobBuyOrder-itp2/rp>
fulfillToPresence: <zcf.makeInvitation-bobBuyOrder-itp2/rp> = <bobBuyOrderInvitation-itp2>

// crank 173: v9 zcf
import: v9:@o-68 :: <bobBuyOrderInvitation-itp2>
drop: v9:@p+18 :: <zcf.makeInvitation-bobBuyOrder-itp2/rp>
fulfilledToPresence: <zcf.makeInvitation-bobBuyOrder-itp2/rp> := <bobBuyOrderInvitation-itp2>
drop: v9:@p-65 :: <contract.makeInvitation-bobBuyOrder-itp2/rp>
fulfillToPresence: <contract.makeInvitation-bobBuyOrder-itp2/rp> = <bobBuyOrderInvitation-itp2>

// crank 174: v2 bob
import: v2:@o-68 :: <bobBuyOrderInvitation-itp2>
drop: v2:@p+26 :: <contract.makeInvitation-bobBuyOrder-itp2/rp>
fulfilledToPresence: <contract.makeInvitation-bobBuyOrder-itp2/rp> := <bobBuyOrderInvitation-itp2>
export: v2:@p+27 :: <bobMoolaPurse.withdraw-itp2/rp>
send: <*bobMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <bobMoolaPurse.withdraw-itp2/rp>
subscribe: <bobMoolaPurse.withdraw-itp2/rp>

// crank 175: v4 bootstrap
import: v4:@p-113 :: <bobMoolaPurse.withdraw-itp2/rp>
deliver: <*bobMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <bobMoolaPurse.withdraw-itp2/rp>
export: v4:@o+21 :: <bobMoolaPayment-itp2>
drop: v4:@p-113 :: <bobMoolaPurse.withdraw-itp2/rp>
fulfillToPresence: <bobMoolaPurse.withdraw-itp2/rp> = <bobMoolaPayment-itp2>

// crank 176: v2 bob
import: v2:@o-69 :: <bobMoolaPayment-itp2>
drop: v2:@p+27 :: <bobMoolaPurse.withdraw-itp2/rp>
fulfilledToPresence: <bobMoolaPurse.withdraw-itp2/rp> := <bobMoolaPayment-itp2>
export: v2:@p+28 :: <zoe.offer-bobSeat-itp2/rp>
send: <*zoe> <- offer(<bobBuyOrderInvitation-itp2>, {give: {Asset: {brand: <*moolaBrand>, value: 1}}, want: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Asset: <bobMoolaPayment-itp2>}): <zoe.offer-bobSeat-itp2/rp>
subscribe: <zoe.offer-bobSeat-itp2/rp>

// crank 177: v3 zoe
import: v3:@o-75 :: <bobMoolaPayment-itp2>
import: v3:@p-78 :: <zoe.offer-bobSeat-itp2/rp>
deliver: <*zoe> <- offer(<bobBuyOrderInvitation-itp2>, {give: {Asset: {brand: <*moolaBrand>, value: 1}}, want: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Asset: <bobMoolaPayment-itp2>}): <zoe.offer-bobSeat-itp2/rp>
export: v3:@p+24 :: <zoeMoolaPurse.deposit-itp2/rp>
send: <*zoeMoolaPurse> <- deposit(<bobMoolaPayment-itp2>, {brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.deposit-itp2/rp>
subscribe: <zoeMoolaPurse.deposit-itp2/rp>

// crank 178: v4 bootstrap
import: v4:@p-114 :: <zoeMoolaPurse.deposit-itp2/rp>
deliver: <*zoeMoolaPurse> <- deposit(<bobMoolaPayment-itp2>, {brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.deposit-itp2/rp>
drop: v4:@p-114 :: <zoeMoolaPurse.deposit-itp2/rp>
fulfillToData: <zoeMoolaPurse.deposit-itp2/rp> = {brand: <*moolaBrand>, value: 1}

// crank 179: v3 zoe
drop: v3:@p+24 :: <zoeMoolaPurse.deposit-itp2/rp>
fulfilledToData: <zoeMoolaPurse.deposit-itp2/rp> := {brand: <*moolaBrand>, value: 1}
export: v3:@o+22 :: <bobBuyOrderSeatAdmin-itp2>
export: v3:@o+23 :: <bobBuyOrderSeatNotifier-itp2>
export: v3:@o+24 :: <bobBuyOrderSeatHandle-itp2>
export: v3:@p+25 :: <zcfAddSeatObj.addSeat-bobBuyOrder-itp2/rp>
send: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-bobAddOffer-itp2>, <bobBuyOrderSeatAdmin-itp2>, {proposal: {want: {Price: {brand: <*simoleanBrand>, value: 1}}, give: {Asset: {brand: <*moolaBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Asset: {brand: ibid(10), value: 1}, Price: {brand: ibid(7), value: 0}}, notifier: <bobBuyOrderSeatNotifier-itp2>}, <bobBuyOrderSeatHandle-itp2>): <zcfAddSeatObj.addSeat-bobBuyOrder-itp2/rp>
subscribe: <zcfAddSeatObj.addSeat-bobBuyOrder-itp2/rp>
export: v3:@o+25 :: <bobBuyOrderSeat-itp2>
drop: v3:@p-78 :: <zoe.offer-bobSeat-itp2/rp>
fulfillToPresence: <zoe.offer-bobSeat-itp2/rp> = <bobBuyOrderSeat-itp2>

// crank 180: v9 zcf
import: v9:@o-69 :: <bobBuyOrderSeatAdmin-itp2>
import: v9:@o-70 :: <bobBuyOrderSeatNotifier-itp2>
import: v9:@o-71 :: <bobBuyOrderSeatHandle-itp2>
import: v9:@p-66 :: <zcfAddSeatObj.addSeat-bobBuyOrder-itp2/rp>
deliver: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-bobAddOffer-itp2>, <bobBuyOrderSeatAdmin-itp2>, {proposal: {want: {Price: {brand: <*simoleanBrand>, value: 1}}, give: {Asset: {brand: <*moolaBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Asset: {brand: ibid(10), value: 1}, Price: {brand: ibid(7), value: 0}}, notifier: <bobBuyOrderSeatNotifier-itp2>}, <bobBuyOrderSeatHandle-itp2>): <zcfAddSeatObj.addSeat-bobBuyOrder-itp2/rp>
export: v9:@p+19 :: <bobBuyOrderOfferResult-itp2/p>
export: v9:@o+11 :: <bobBuyOrderSeatExitObj-itp2>
fulfillToData: <zcfAddSeatObj.addSeat-bobBuyOrder-itp2/rp> = {offerResultP: <bobBuyOrderOfferResult-itp2/p>, exitObj: <bobBuyOrderSeatExitObj-itp2>}
drop: v9:@p+19 :: <bobBuyOrderOfferResult-itp2/p>
fulfillToData: <bobBuyOrderOfferResult-itp2/p> = "Order Added"

// crank 181: v2 bob
import: v2:@o-70 :: <bobBuyOrderSeat-itp2>
drop: v2:@p+28 :: <zoe.offer-bobSeat-itp2/rp>
fulfilledToPresence: <zoe.offer-bobSeat-itp2/rp> := <bobBuyOrderSeat-itp2>
export: v2:@p+29 :: <bobSeat.getPayouts-itp2/rp>
send: <bobBuyOrderSeat-itp2> <- getPayouts(): <bobSeat.getPayouts-itp2/rp>
subscribe: <bobSeat.getPayouts-itp2/rp>
export: v2:@p+30 :: <contract.makeInvitation-bobToAlice-itp2/rp>
send: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-bobToAlice-itp2/rp>
subscribe: <contract.makeInvitation-bobToAlice-itp2/rp>
export: v2:@p+31 :: <alice.respondToTrade-itp2/rp>
send: <*alice> <- respondToTrade(<contract.makeInvitation-bobToAlice-itp2/rp>, false): <alice.respondToTrade-itp2/rp>
subscribe: <alice.respondToTrade-itp2/rp>

// crank 182: v3 zoe
import: v3:@p-79 :: <bobBuyOrderOfferResult-itp2/p>
import: v3:@o-76 :: <bobBuyOrderSeatExitObj-itp2>
fulfilledToData: <zcfAddSeatObj.addSeat-bobBuyOrder-itp2/rp> := {offerResultP: <bobBuyOrderOfferResult-itp2/p>, exitObj: <bobBuyOrderSeatExitObj-itp2>}
subscribe: <bobBuyOrderOfferResult-itp2/p>

// crank 183: v3 zoe
import: v3:@p-80 :: <bobSeat.getPayouts-itp2/rp>
deliver: <bobBuyOrderSeat-itp2> <- getPayouts(): <bobSeat.getPayouts-itp2/rp>

// crank 184: v9 zcf
import: v9:@p-67 :: <contract.makeInvitation-bobToAlice-itp2/rp>
deliver: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-bobToAlice-itp2/rp>
export: v9:@o+12 :: <exchangeOfferHandler-bobToAlice-itp2>
export: v9:@o+13 :: <emptyCustomProperties#4>
export: v9:@p+20 :: <contract.makeInvitation-bobToAlice-itp2/rp>
send: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-bobToAlice-itp2>, "exchange", <emptyCustomProperties#4>): <contract.makeInvitation-bobToAlice-itp2/rp>
subscribe: <contract.makeInvitation-bobToAlice-itp2/rp>

// crank 185: v1 alice
import: v1:@p-65 :: <contract.makeInvitation-bobToAlice-itp2/rp>
import: v1:@p-66 :: <alice.respondToTrade-itp2/rp>
deliver: <*alice> <- respondToTrade(<contract.makeInvitation-bobToAlice-itp2/rp>, false): <alice.respondToTrade-itp2/rp>
subscribe: <contract.makeInvitation-bobToAlice-itp2/rp>
export: v1:@p+26 :: <aliceMoolaPurse.getCurrentAmount-itp2/rp>
send: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-itp2/rp>
subscribe: <aliceMoolaPurse.getCurrentAmount-itp2/rp>

// crank 186: v3 zoe
drop: v3:@p-79 :: <bobBuyOrderOfferResult-itp2/p>
fulfilledToData: <bobBuyOrderOfferResult-itp2/p> := "Order Added"

// crank 187: v3 zoe
import: v3:@o-77 :: <exchangeOfferHandler-bobToAlice-itp2>
import: v3:@o-78 :: <emptyCustomProperties#4>
import: v3:@p-81 :: <contract.makeInvitation-bobToAlice-itp2/rp>
deliver: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-bobToAlice-itp2>, "exchange", <emptyCustomProperties#4>): <contract.makeInvitation-bobToAlice-itp2/rp>
export: v3:@o+26 :: <bobToAliceInvitation-itp2>
drop: v3:@p-81 :: <contract.makeInvitation-bobToAlice-itp2/rp>
fulfillToPresence: <contract.makeInvitation-bobToAlice-itp2/rp> = <bobToAliceInvitation-itp2>

// crank 188: v4 bootstrap
import: v4:@p-115 :: <aliceMoolaPurse.getCurrentAmount-itp2/rp>
deliver: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-itp2/rp>
drop: v4:@p-115 :: <aliceMoolaPurse.getCurrentAmount-itp2/rp>
fulfillToData: <aliceMoolaPurse.getCurrentAmount-itp2/rp> = {brand: <*moolaBrand>, value: 2}

// crank 189: v9 zcf
import: v9:@o-72 :: <bobToAliceInvitation-itp2>
drop: v9:@p+20 :: <contract.makeInvitation-bobToAlice-itp2/rp>
fulfilledToPresence: <contract.makeInvitation-bobToAlice-itp2/rp> := <bobToAliceInvitation-itp2>
drop: v9:@p-67 :: <contract.makeInvitation-bobToAlice-itp2/rp>
fulfillToPresence: <contract.makeInvitation-bobToAlice-itp2/rp> = <bobToAliceInvitation-itp2>

// crank 190: v1 alice
drop: v1:@p+26 :: <aliceMoolaPurse.getCurrentAmount-itp2/rp>
fulfilledToData: <aliceMoolaPurse.getCurrentAmount-itp2/rp> := {brand: <*moolaBrand>, value: 2}
log: alice moola before: balance {"brand":{},"value":2}
export: v1:@p+27 :: <aliceSimoleanPurse.getCurrentAmount-itp2/rp>
send: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-itp2/rp>
subscribe: <aliceSimoleanPurse.getCurrentAmount-itp2/rp>

// crank 191: v1 alice
import: v1:@o-68 :: <bobToAliceInvitation-itp2>
drop: v1:@p-65 :: <contract.makeInvitation-bobToAlice-itp2/rp>
fulfilledToPresence: <contract.makeInvitation-bobToAlice-itp2/rp> := <bobToAliceInvitation-itp2>

// crank 192: v2 bob
import: v2:@o-71 :: <bobToAliceInvitation-itp2>
drop: v2:@p+30 :: <contract.makeInvitation-bobToAlice-itp2/rp>
fulfilledToPresence: <contract.makeInvitation-bobToAlice-itp2/rp> := <bobToAliceInvitation-itp2>

// crank 193: v4 bootstrap
import: v4:@p-116 :: <aliceSimoleanPurse.getCurrentAmount-itp2/rp>
deliver: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-itp2/rp>
drop: v4:@p-116 :: <aliceSimoleanPurse.getCurrentAmount-itp2/rp>
fulfillToData: <aliceSimoleanPurse.getCurrentAmount-itp2/rp> = {brand: <*simoleanBrand>, value: 1}

// crank 194: v1 alice
drop: v1:@p+27 :: <aliceSimoleanPurse.getCurrentAmount-itp2/rp>
fulfilledToData: <aliceSimoleanPurse.getCurrentAmount-itp2/rp> := {brand: <*simoleanBrand>, value: 1}
log: alice simoleans before: balance {"brand":{},"value":1}
export: v1:@p+28 :: <bobToAliceInvitation.claim-itp2/rp>
send: <*invitationIssuer> <- claim(<bobToAliceInvitation-itp2>): <bobToAliceInvitation.claim-itp2/rp>
subscribe: <bobToAliceInvitation.claim-itp2/rp>

// crank 195: v3 zoe
import: v3:@p-82 :: <bobToAliceInvitation.claim-itp2/rp>
deliver: <*invitationIssuer> <- claim(<bobToAliceInvitation-itp2>): <bobToAliceInvitation.claim-itp2/rp>
export: v3:@o+27 :: <bobToAliceInvitationPayment-itp2>
drop: v3:@p-82 :: <bobToAliceInvitation.claim-itp2/rp>
fulfillToPresence: <bobToAliceInvitation.claim-itp2/rp> = <bobToAliceInvitationPayment-itp2>

// crank 196: v1 alice
import: v1:@o-69 :: <bobToAliceInvitationPayment-itp2>
drop: v1:@p+28 :: <bobToAliceInvitation.claim-itp2/rp>
fulfilledToPresence: <bobToAliceInvitation.claim-itp2/rp> := <bobToAliceInvitationPayment-itp2>
export: v1:@p+29 :: <aliceSimoleanPurse.withdraw-itp2/rp>
send: <*aliceSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <aliceSimoleanPurse.withdraw-itp2/rp>
subscribe: <aliceSimoleanPurse.withdraw-itp2/rp>

// crank 197: v4 bootstrap
import: v4:@p-117 :: <aliceSimoleanPurse.withdraw-itp2/rp>
deliver: <*aliceSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <aliceSimoleanPurse.withdraw-itp2/rp>
export: v4:@o+22 :: <aliceSimoleanPayment-itp2>
drop: v4:@p-117 :: <aliceSimoleanPurse.withdraw-itp2/rp>
fulfillToPresence: <aliceSimoleanPurse.withdraw-itp2/rp> = <aliceSimoleanPayment-itp2>

// crank 198: v1 alice
import: v1:@o-70 :: <aliceSimoleanPayment-itp2>
drop: v1:@p+29 :: <aliceSimoleanPurse.withdraw-itp2/rp>
fulfilledToPresence: <aliceSimoleanPurse.withdraw-itp2/rp> := <aliceSimoleanPayment-itp2>
export: v1:@p+30 :: <zoe.offer-aliceSeat-itp2/rp>
send: <*zoe> <- offer(<bobToAliceInvitationPayment-itp2>, {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Price: <aliceSimoleanPayment-itp2>}): <zoe.offer-aliceSeat-itp2/rp>
subscribe: <zoe.offer-aliceSeat-itp2/rp>

// crank 199: v3 zoe
import: v3:@o-79 :: <aliceSimoleanPayment-itp2>
import: v3:@p-83 :: <zoe.offer-aliceSeat-itp2/rp>
deliver: <*zoe> <- offer(<bobToAliceInvitationPayment-itp2>, {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Price: <aliceSimoleanPayment-itp2>}): <zoe.offer-aliceSeat-itp2/rp>
export: v3:@p+26 :: <zoeSimoleanPurse.deposit-itp2/rp>
send: <*zoeSimoleanPurse> <- deposit(<aliceSimoleanPayment-itp2>, {brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.deposit-itp2/rp>
subscribe: <zoeSimoleanPurse.deposit-itp2/rp>

// crank 200: v4 bootstrap
import: v4:@p-118 :: <zoeSimoleanPurse.deposit-itp2/rp>
deliver: <*zoeSimoleanPurse> <- deposit(<aliceSimoleanPayment-itp2>, {brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.deposit-itp2/rp>
drop: v4:@p-118 :: <zoeSimoleanPurse.deposit-itp2/rp>
fulfillToData: <zoeSimoleanPurse.deposit-itp2/rp> = {brand: <*simoleanBrand>, value: 1}

// crank 201: v3 zoe
drop: v3:@p+26 :: <zoeSimoleanPurse.deposit-itp2/rp>
fulfilledToData: <zoeSimoleanPurse.deposit-itp2/rp> := {brand: <*simoleanBrand>, value: 1}
export: v3:@o+28 :: <aliceSellOrderSeatAdmin-itp2>
export: v3:@o+29 :: <aliceSellOrderSeatNotifier-itp2>
export: v3:@o+30 :: <aliceSellOrderSeatHandle-itp2>
export: v3:@p+27 :: <zcfAddSeatObj.addSeat-aliceSellOrder-itp2/rp>
send: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-bobToAlice-itp2>, <aliceSellOrderSeatAdmin-itp2>, {proposal: {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Price: {brand: ibid(10), value: 1}, Asset: {brand: ibid(7), value: 0}}, notifier: <aliceSellOrderSeatNotifier-itp2>}, <aliceSellOrderSeatHandle-itp2>): <zcfAddSeatObj.addSeat-aliceSellOrder-itp2/rp>
subscribe: <zcfAddSeatObj.addSeat-aliceSellOrder-itp2/rp>
export: v3:@o+31 :: <aliceSellOrderSeat-itp2>
drop: v3:@p-83 :: <zoe.offer-aliceSeat-itp2/rp>
fulfillToPresence: <zoe.offer-aliceSeat-itp2/rp> = <aliceSellOrderSeat-itp2>

// crank 202: v9 zcf
import: v9:@o-73 :: <aliceSellOrderSeatAdmin-itp2>
import: v9:@o-74 :: <aliceSellOrderSeatNotifier-itp2>
import: v9:@o-75 :: <aliceSellOrderSeatHandle-itp2>
import: v9:@p-68 :: <zcfAddSeatObj.addSeat-aliceSellOrder-itp2/rp>
deliver: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-bobToAlice-itp2>, <aliceSellOrderSeatAdmin-itp2>, {proposal: {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Price: {brand: ibid(10), value: 1}, Asset: {brand: ibid(7), value: 0}}, notifier: <aliceSellOrderSeatNotifier-itp2>}, <aliceSellOrderSeatHandle-itp2>): <zcfAddSeatObj.addSeat-aliceSellOrder-itp2/rp>
export: v9:@p+21 :: <aliceSellOrderOfferResult-itp2/p>
export: v9:@o+14 :: <aliceSellOrderSeatExitObj-itp2>
fulfillToData: <zcfAddSeatObj.addSeat-aliceSellOrder-itp2/rp> = {offerResultP: <aliceSellOrderOfferResult-itp2/p>, exitObj: <aliceSellOrderSeatExitObj-itp2>}
export: v9:@p+22 :: <zcfInstanceAdmin.replaceAllocations-itp2/rp>
send: <*zcfInstanceAdmin> <- replaceAllocations([{seatHandle: <aliceSellOrderSeatHandle-itp2>, allocation: {Price: {brand: <*simoleanBrand>, value: 0}, Asset: {brand: <*moolaBrand>, value: 1}}}, {seatHandle: <bobBuyOrderSeatHandle-itp2>, allocation: {Asset: {brand: ibid(8), value: 0}, Price: {brand: ibid(6), value: 1}}}]): <zcfInstanceAdmin.replaceAllocations-itp2/rp>
subscribe: <zcfInstanceAdmin.replaceAllocations-itp2/rp>
export: v9:@p+23 :: <aliceSellOrderSeatAdmin.exit-itp2/rp>
send: <aliceSellOrderSeatAdmin-itp2> <- exit(undefined): <aliceSellOrderSeatAdmin.exit-itp2/rp>
subscribe: <aliceSellOrderSeatAdmin.exit-itp2/rp>
export: v9:@p+24 :: <bobBuyOrderSeatAdmin.exit-itp2/rp>
send: <bobBuyOrderSeatAdmin-itp2> <- exit(undefined): <bobBuyOrderSeatAdmin.exit-itp2/rp>
subscribe: <bobBuyOrderSeatAdmin.exit-itp2/rp>
drop: v9:@p+21 :: <aliceSellOrderOfferResult-itp2/p>
fulfillToData: <aliceSellOrderOfferResult-itp2/p> = "Order Added"

// crank 203: v1 alice
import: v1:@o-71 :: <aliceSellOrderSeat-itp2>
drop: v1:@p+30 :: <zoe.offer-aliceSeat-itp2/rp>
fulfilledToPresence: <zoe.offer-aliceSeat-itp2/rp> := <aliceSellOrderSeat-itp2>
export: v1:@p+31 :: <aliceSellOrderSeat.getPayouts-itp2/rp>
send: <aliceSellOrderSeat-itp2> <- getPayouts(): <aliceSellOrderSeat.getPayouts-itp2/rp>
subscribe: <aliceSellOrderSeat.getPayouts-itp2/rp>

// crank 204: v3 zoe
import: v3:@p-84 :: <aliceSellOrderOfferResult-itp2/p>
import: v3:@o-80 :: <aliceSellOrderSeatExitObj-itp2>
fulfilledToData: <zcfAddSeatObj.addSeat-aliceSellOrder-itp2/rp> := {offerResultP: <aliceSellOrderOfferResult-itp2/p>, exitObj: <aliceSellOrderSeatExitObj-itp2>}
subscribe: <aliceSellOrderOfferResult-itp2/p>

// crank 205: v3 zoe
import: v3:@p-85 :: <zcfInstanceAdmin.replaceAllocations-itp2/rp>
deliver: <*zcfInstanceAdmin> <- replaceAllocations([{seatHandle: <aliceSellOrderSeatHandle-itp2>, allocation: {Price: {brand: <*simoleanBrand>, value: 0}, Asset: {brand: <*moolaBrand>, value: 1}}}, {seatHandle: <bobBuyOrderSeatHandle-itp2>, allocation: {Asset: {brand: ibid(8), value: 0}, Price: {brand: ibid(6), value: 1}}}]): <zcfInstanceAdmin.replaceAllocations-itp2/rp>
drop: v3:@p-85 :: <zcfInstanceAdmin.replaceAllocations-itp2/rp>
fulfillToData: <zcfInstanceAdmin.replaceAllocations-itp2/rp> = undefined

// crank 206: v3 zoe
import: v3:@p-86 :: <aliceSellOrderSeatAdmin.exit-itp2/rp>
deliver: <aliceSellOrderSeatAdmin-itp2> <- exit(undefined): <aliceSellOrderSeatAdmin.exit-itp2/rp>
export: v3:@p+28 :: <zoeSimoleanPurse.withdraw-alice-itp2/rp>
send: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 0}): <zoeSimoleanPurse.withdraw-alice-itp2/rp>
subscribe: <zoeSimoleanPurse.withdraw-alice-itp2/rp>
export: v3:@p+29 :: <zoeMoolaPurse.withdraw-alice-itp2/rp>
send: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.withdraw-alice-itp2/rp>
subscribe: <zoeMoolaPurse.withdraw-alice-itp2/rp>
drop: v3:@p-86 :: <aliceSellOrderSeatAdmin.exit-itp2/rp>
fulfillToData: <aliceSellOrderSeatAdmin.exit-itp2/rp> = undefined

// crank 207: v3 zoe
import: v3:@p-87 :: <bobBuyOrderSeatAdmin.exit-itp2/rp>
deliver: <bobBuyOrderSeatAdmin-itp2> <- exit(undefined): <bobBuyOrderSeatAdmin.exit-itp2/rp>
export: v3:@p+30 :: <zoeMoolaPurse.withdraw-bob-itp2/rp>
send: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 0}): <zoeMoolaPurse.withdraw-bob-itp2/rp>
subscribe: <zoeMoolaPurse.withdraw-bob-itp2/rp>
export: v3:@p+31 :: <zoeSimoleanPurse.withdraw-bob-itp2/rp>
send: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.withdraw-bob-itp2/rp>
subscribe: <zoeSimoleanPurse.withdraw-bob-itp2/rp>
drop: v3:@p-87 :: <bobBuyOrderSeatAdmin.exit-itp2/rp>
fulfillToData: <bobBuyOrderSeatAdmin.exit-itp2/rp> = undefined
fulfillToData: <bobSeat.getPayouts-itp2/rp> = {Asset: <zoeMoolaPurse.withdraw-bob-itp2/rp>, Price: <zoeSimoleanPurse.withdraw-bob-itp2/rp>}

// crank 208: v3 zoe
import: v3:@p-88 :: <aliceSellOrderSeat.getPayouts-itp2/rp>
deliver: <aliceSellOrderSeat-itp2> <- getPayouts(): <aliceSellOrderSeat.getPayouts-itp2/rp>
fulfillToData: <aliceSellOrderSeat.getPayouts-itp2/rp> = {Price: <zoeSimoleanPurse.withdraw-alice-itp2/rp>, Asset: <zoeMoolaPurse.withdraw-alice-itp2/rp>}

// crank 209: v3 zoe
drop: v3:@p-84 :: <aliceSellOrderOfferResult-itp2/p>
fulfilledToData: <aliceSellOrderOfferResult-itp2/p> := "Order Added"

// crank 210: v9 zcf
drop: v9:@p+22 :: <zcfInstanceAdmin.replaceAllocations-itp2/rp>
fulfilledToData: <zcfInstanceAdmin.replaceAllocations-itp2/rp> := undefined

// crank 211: v4 bootstrap
import: v4:@p-119 :: <zoeSimoleanPurse.withdraw-alice-itp2/rp>
deliver: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 0}): <zoeSimoleanPurse.withdraw-alice-itp2/rp>
export: v4:@o+23 :: <zoeSimoleanPayment-alice-itp2>
drop: v4:@p-119 :: <zoeSimoleanPurse.withdraw-alice-itp2/rp>
fulfillToPresence: <zoeSimoleanPurse.withdraw-alice-itp2/rp> = <zoeSimoleanPayment-alice-itp2>

// crank 212: v4 bootstrap
import: v4:@p-120 :: <zoeMoolaPurse.withdraw-alice-itp2/rp>
deliver: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.withdraw-alice-itp2/rp>
export: v4:@o+24 :: <zoeMoolaPayment-alice-itp2>
drop: v4:@p-120 :: <zoeMoolaPurse.withdraw-alice-itp2/rp>
fulfillToPresence: <zoeMoolaPurse.withdraw-alice-itp2/rp> = <zoeMoolaPayment-alice-itp2>

// crank 213: v9 zcf
drop: v9:@p+23 :: <aliceSellOrderSeatAdmin.exit-itp2/rp>
fulfilledToData: <aliceSellOrderSeatAdmin.exit-itp2/rp> := undefined

// crank 214: v4 bootstrap
import: v4:@p-121 :: <zoeMoolaPurse.withdraw-bob-itp2/rp>
deliver: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 0}): <zoeMoolaPurse.withdraw-bob-itp2/rp>
export: v4:@o+25 :: <zoeMoolaPayment-bob-itp2>
drop: v4:@p-121 :: <zoeMoolaPurse.withdraw-bob-itp2/rp>
fulfillToPresence: <zoeMoolaPurse.withdraw-bob-itp2/rp> = <zoeMoolaPayment-bob-itp2>

// crank 215: v4 bootstrap
import: v4:@p-122 :: <zoeSimoleanPurse.withdraw-bob-itp2/rp>
deliver: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.withdraw-bob-itp2/rp>
export: v4:@o+26 :: <zoeSimoleanPayment-bob-itp2>
drop: v4:@p-122 :: <zoeSimoleanPurse.withdraw-bob-itp2/rp>
fulfillToPresence: <zoeSimoleanPurse.withdraw-bob-itp2/rp> = <zoeSimoleanPayment-bob-itp2>

// crank 216: v9 zcf
drop: v9:@p+24 :: <bobBuyOrderSeatAdmin.exit-itp2/rp>
fulfilledToData: <bobBuyOrderSeatAdmin.exit-itp2/rp> := undefined

// crank 217: v2 bob
import: v2:@p-67 :: <zoeMoolaPurse.withdraw-bob-itp2/rp>
import: v2:@p-68 :: <zoeSimoleanPurse.withdraw-bob-itp2/rp>
fulfilledToData: <bobSeat.getPayouts-itp2/rp> := {Asset: <zoeMoolaPurse.withdraw-bob-itp2/rp>, Price: <zoeSimoleanPurse.withdraw-bob-itp2/rp>}
subscribe: <zoeMoolaPurse.withdraw-bob-itp2/rp>
subscribe: <zoeSimoleanPurse.withdraw-bob-itp2/rp>

// crank 218: v1 alice
import: v1:@p-67 :: <zoeSimoleanPurse.withdraw-alice-itp2/rp>
import: v1:@p-68 :: <zoeMoolaPurse.withdraw-alice-itp2/rp>
fulfilledToData: <aliceSellOrderSeat.getPayouts-itp2/rp> := {Price: <zoeSimoleanPurse.withdraw-alice-itp2/rp>, Asset: <zoeMoolaPurse.withdraw-alice-itp2/rp>}
subscribe: <zoeSimoleanPurse.withdraw-alice-itp2/rp>
subscribe: <zoeMoolaPurse.withdraw-alice-itp2/rp>

// crank 219: v3 zoe
import: v3:@o-81 :: <zoeSimoleanPayment-alice-itp2>
drop: v3:@p+28 :: <zoeSimoleanPurse.withdraw-alice-itp2/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-alice-itp2/rp> := <zoeSimoleanPayment-alice-itp2>

// crank 220: v3 zoe
import: v3:@o-82 :: <zoeMoolaPayment-alice-itp2>
drop: v3:@p+29 :: <zoeMoolaPurse.withdraw-alice-itp2/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-alice-itp2/rp> := <zoeMoolaPayment-alice-itp2>

// crank 221: v3 zoe
import: v3:@o-83 :: <zoeMoolaPayment-bob-itp2>
drop: v3:@p+30 :: <zoeMoolaPurse.withdraw-bob-itp2/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-bob-itp2/rp> := <zoeMoolaPayment-bob-itp2>

// crank 222: v3 zoe
import: v3:@o-84 :: <zoeSimoleanPayment-bob-itp2>
drop: v3:@p+31 :: <zoeSimoleanPurse.withdraw-bob-itp2/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-bob-itp2/rp> := <zoeSimoleanPayment-bob-itp2>

// crank 223: v2 bob
import: v2:@o-72 :: <zoeMoolaPayment-bob-itp2>
drop: v2:@p-67 :: <zoeMoolaPurse.withdraw-bob-itp2/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-bob-itp2/rp> := <zoeMoolaPayment-bob-itp2>

// crank 224: v2 bob
import: v2:@o-73 :: <zoeSimoleanPayment-bob-itp2>
drop: v2:@p-68 :: <zoeSimoleanPurse.withdraw-bob-itp2/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-bob-itp2/rp> := <zoeSimoleanPayment-bob-itp2>

// crank 225: v1 alice
import: v1:@o-72 :: <zoeSimoleanPayment-alice-itp2>
drop: v1:@p-67 :: <zoeSimoleanPurse.withdraw-alice-itp2/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-alice-itp2/rp> := <zoeSimoleanPayment-alice-itp2>

// crank 226: v1 alice
import: v1:@o-73 :: <zoeMoolaPayment-alice-itp2>
drop: v1:@p-68 :: <zoeMoolaPurse.withdraw-alice-itp2/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-alice-itp2/rp> := <zoeMoolaPayment-alice-itp2>
export: v1:@p+32 :: <aliceMoolaPurse.deposit-zoe-itp2/rp>
send: <*aliceMoolaPurse> <- deposit(<zoeMoolaPayment-alice-itp2>): <aliceMoolaPurse.deposit-zoe-itp2/rp>
subscribe: <aliceMoolaPurse.deposit-zoe-itp2/rp>

// crank 227: v4 bootstrap
import: v4:@p-123 :: <aliceMoolaPurse.deposit-zoe-itp2/rp>
deliver: <*aliceMoolaPurse> <- deposit(<zoeMoolaPayment-alice-itp2>): <aliceMoolaPurse.deposit-zoe-itp2/rp>
drop: v4:@p-123 :: <aliceMoolaPurse.deposit-zoe-itp2/rp>
fulfillToData: <aliceMoolaPurse.deposit-zoe-itp2/rp> = {brand: <*moolaBrand>, value: 1}

// crank 228: v1 alice
drop: v1:@p+32 :: <aliceMoolaPurse.deposit-zoe-itp2/rp>
fulfilledToData: <aliceMoolaPurse.deposit-zoe-itp2/rp> := {brand: <*moolaBrand>, value: 1}
export: v1:@p+33 :: <aliceSimoleanPurse.deposit-zoe-itp2/rp>
send: <*aliceSimoleanPurse> <- deposit(<zoeSimoleanPayment-alice-itp2>): <aliceSimoleanPurse.deposit-zoe-itp2/rp>
subscribe: <aliceSimoleanPurse.deposit-zoe-itp2/rp>

// crank 229: v4 bootstrap
import: v4:@p-124 :: <aliceSimoleanPurse.deposit-zoe-itp2/rp>
deliver: <*aliceSimoleanPurse> <- deposit(<zoeSimoleanPayment-alice-itp2>): <aliceSimoleanPurse.deposit-zoe-itp2/rp>
drop: v4:@p-124 :: <aliceSimoleanPurse.deposit-zoe-itp2/rp>
fulfillToData: <aliceSimoleanPurse.deposit-zoe-itp2/rp> = {brand: <*simoleanBrand>, value: 0}

// crank 230: v1 alice
drop: v1:@p+33 :: <aliceSimoleanPurse.deposit-zoe-itp2/rp>
fulfilledToData: <aliceSimoleanPurse.deposit-zoe-itp2/rp> := {brand: <*simoleanBrand>, value: 0}
export: v1:@p+34 :: <aliceMoolaPurse.getCurrentAmount-after-itp2/rp>
send: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-after-itp2/rp>
subscribe: <aliceMoolaPurse.getCurrentAmount-after-itp2/rp>

// crank 231: v4 bootstrap
import: v4:@p-125 :: <aliceMoolaPurse.getCurrentAmount-after-itp2/rp>
deliver: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-after-itp2/rp>
drop: v4:@p-125 :: <aliceMoolaPurse.getCurrentAmount-after-itp2/rp>
fulfillToData: <aliceMoolaPurse.getCurrentAmount-after-itp2/rp> = {brand: <*moolaBrand>, value: 3}

// crank 232: v1 alice
drop: v1:@p+34 :: <aliceMoolaPurse.getCurrentAmount-after-itp2/rp>
fulfilledToData: <aliceMoolaPurse.getCurrentAmount-after-itp2/rp> := {brand: <*moolaBrand>, value: 3}
log: alice moola after: balance {"brand":{},"value":3}
export: v1:@p+35 :: <aliceSimoleanPurse.getCurrentAmount-after-itp2/rp>
send: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-after-itp2/rp>
subscribe: <aliceSimoleanPurse.getCurrentAmount-after-itp2/rp>

// crank 233: v4 bootstrap
import: v4:@p-126 :: <aliceSimoleanPurse.getCurrentAmount-after-itp2/rp>
deliver: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-after-itp2/rp>
drop: v4:@p-126 :: <aliceSimoleanPurse.getCurrentAmount-after-itp2/rp>
fulfillToData: <aliceSimoleanPurse.getCurrentAmount-after-itp2/rp> = {brand: <*simoleanBrand>, value: 0}

// crank 234: v1 alice
drop: v1:@p+35 :: <aliceSimoleanPurse.getCurrentAmount-after-itp2/rp>
fulfilledToData: <aliceSimoleanPurse.getCurrentAmount-after-itp2/rp> := {brand: <*simoleanBrand>, value: 0}
log: alice simoleans after: balance {"brand":{},"value":0}
drop: v1:@p-66 :: <alice.respondToTrade-itp2/rp>
fulfillToData: <alice.respondToTrade-itp2/rp> = undefined

// crank 235: v2 bob
drop: v2:@p+31 :: <alice.respondToTrade-itp2/rp>
fulfilledToData: <alice.respondToTrade-itp2/rp> := undefined
export: v2:@p+32 :: <bobMoolaPurse.deposit-zoe-itp2/rp>
send: <*bobMoolaPurse> <- deposit(<zoeMoolaPayment-bob-itp2>): <bobMoolaPurse.deposit-zoe-itp2/rp>
subscribe: <bobMoolaPurse.deposit-zoe-itp2/rp>

// crank 236: v4 bootstrap
import: v4:@p-127 :: <bobMoolaPurse.deposit-zoe-itp2/rp>
deliver: <*bobMoolaPurse> <- deposit(<zoeMoolaPayment-bob-itp2>): <bobMoolaPurse.deposit-zoe-itp2/rp>
drop: v4:@p-127 :: <bobMoolaPurse.deposit-zoe-itp2/rp>
fulfillToData: <bobMoolaPurse.deposit-zoe-itp2/rp> = {brand: <*moolaBrand>, value: 0}

// crank 237: v2 bob
drop: v2:@p+32 :: <bobMoolaPurse.deposit-zoe-itp2/rp>
fulfilledToData: <bobMoolaPurse.deposit-zoe-itp2/rp> := {brand: <*moolaBrand>, value: 0}
export: v2:@p+33 :: <bobSimoleanPurse.deposit-zoe-itp2/rp>
send: <*bobSimoleanPurse> <- deposit(<zoeSimoleanPayment-bob-itp2>): <bobSimoleanPurse.deposit-zoe-itp2/rp>
subscribe: <bobSimoleanPurse.deposit-zoe-itp2/rp>

// crank 238: v4 bootstrap
import: v4:@p-128 :: <bobSimoleanPurse.deposit-zoe-itp2/rp>
deliver: <*bobSimoleanPurse> <- deposit(<zoeSimoleanPayment-bob-itp2>): <bobSimoleanPurse.deposit-zoe-itp2/rp>
drop: v4:@p-128 :: <bobSimoleanPurse.deposit-zoe-itp2/rp>
fulfillToData: <bobSimoleanPurse.deposit-zoe-itp2/rp> = {brand: <*simoleanBrand>, value: 1}

// crank 239: v2 bob
drop: v2:@p+33 :: <bobSimoleanPurse.deposit-zoe-itp2/rp>
fulfilledToData: <bobSimoleanPurse.deposit-zoe-itp2/rp> := {brand: <*simoleanBrand>, value: 1}
export: v2:@p+34 :: <bobMoolaPurse.getCurrentAmount-after-itp2/rp>
send: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-after-itp2/rp>
subscribe: <bobMoolaPurse.getCurrentAmount-after-itp2/rp>

// crank 240: v4 bootstrap
import: v4:@p-129 :: <bobMoolaPurse.getCurrentAmount-after-itp2/rp>
deliver: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-after-itp2/rp>
drop: v4:@p-129 :: <bobMoolaPurse.getCurrentAmount-after-itp2/rp>
fulfillToData: <bobMoolaPurse.getCurrentAmount-after-itp2/rp> = {brand: <*moolaBrand>, value: 0}

// crank 241: v2 bob
drop: v2:@p+34 :: <bobMoolaPurse.getCurrentAmount-after-itp2/rp>
fulfilledToData: <bobMoolaPurse.getCurrentAmount-after-itp2/rp> := {brand: <*moolaBrand>, value: 0}
log: bob moola after: balance {"brand":{},"value":0}
export: v2:@p+35 :: <bobSimoleanPurse.getCurrentAmount-after-itp2/rp>
send: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-after-itp2/rp>
subscribe: <bobSimoleanPurse.getCurrentAmount-after-itp2/rp>

// crank 242: v4 bootstrap
import: v4:@p-130 :: <bobSimoleanPurse.getCurrentAmount-after-itp2/rp>
deliver: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-after-itp2/rp>
drop: v4:@p-130 :: <bobSimoleanPurse.getCurrentAmount-after-itp2/rp>
fulfillToData: <bobSimoleanPurse.getCurrentAmount-after-itp2/rp> = {brand: <*simoleanBrand>, value: 3}

// crank 243: v2 bob
drop: v2:@p+35 :: <bobSimoleanPurse.getCurrentAmount-after-itp2/rp>
fulfilledToData: <bobSimoleanPurse.getCurrentAmount-after-itp2/rp> := {brand: <*simoleanBrand>, value: 3}
log: bob simoleans after: balance {"brand":{},"value":3}
drop: v2:@p-66 :: <bob.initiateTrade-itp2/rp>
fulfillToData: <bob.initiateTrade-itp2/rp> = undefined

// crank 244: v4 bootstrap
drop: v4:@p+13 :: <bob.initiateTrade-itp2/rp>
fulfilledToData: <bob.initiateTrade-itp2/rp> := undefined
drop: v4:@p-60 :: <bootstrap/rp>
fulfillToData: <bootstrap/rp> = undefined

// crank 245: v4 bootstrap --- benchmark round #1
import: v4:@p-131 :: <runBenchmarkRound-1/rp>
deliver: <*bootstrapRoot> <- runBenchmarkRound(): <runBenchmarkRound-1/rp>
export: v4:@p+14 :: <bob.build/rp2>
export: v4:@p+15 :: <alice.initiateTrade-br1/rp>
send: <*alice> <- initiateTrade(<bob.build/rp2>, false): <alice.initiateTrade-br1/rp>
subscribe: <alice.initiateTrade-br1/rp>
drop: v4:@p+14 :: <bob.build/rp2>
fulfillToPresence: <bob.build/rp2> = <*bob>

// crank 246: v1 alice --- start alice->bob benchmark trade
import: v1:@p-69 :: <bob.build/rp2>
import: v1:@p-70 :: <alice.initiateTrade-br1/rp>
deliver: <*alice> <- initiateTrade(<bob.build/rp2>, false): <alice.initiateTrade-br1/rp>
subscribe: <bob.build/rp2>
export: v1:@p+36 :: <aliceMoolaPurse.getCurrentAmount-br1/rp>
send: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-br1/rp>
subscribe: <aliceMoolaPurse.getCurrentAmount-br1/rp>

// crank 247: v1 alice
drop: v1:@p-69 :: <bob.build/rp2>
fulfilledToPresence: <bob.build/rp2> := <*bob>

// crank 248: v4 bootstrap
import: v4:@p-132 :: <aliceMoolaPurse.getCurrentAmount-br1/rp>
deliver: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-br1/rp>
drop: v4:@p-132 :: <aliceMoolaPurse.getCurrentAmount-br1/rp>
fulfillToData: <aliceMoolaPurse.getCurrentAmount-br1/rp> = {brand: <*moolaBrand>, value: 3}

// crank 249: v1 alice
drop: v1:@p+36 :: <aliceMoolaPurse.getCurrentAmount-br1/rp>
fulfilledToData: <aliceMoolaPurse.getCurrentAmount-br1/rp> := {brand: <*moolaBrand>, value: 3}
log: alice moola before: balance {"brand":{},"value":3}
export: v1:@p+37 :: <aliceSimoleanPurse.getCurrentAmount-br1/rp>
send: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-br1/rp>
subscribe: <aliceSimoleanPurse.getCurrentAmount-br1/rp>

// crank 250: v4 bootstrap
import: v4:@p-133 :: <aliceSimoleanPurse.getCurrentAmount-br1/rp>
deliver: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-br1/rp>
drop: v4:@p-133 :: <aliceSimoleanPurse.getCurrentAmount-br1/rp>
fulfillToData: <aliceSimoleanPurse.getCurrentAmount-br1/rp> = {brand: <*simoleanBrand>, value: 0}

// crank 251: v1 alice
drop: v1:@p+37 :: <aliceSimoleanPurse.getCurrentAmount-br1/rp>
fulfilledToData: <aliceSimoleanPurse.getCurrentAmount-br1/rp> := {brand: <*simoleanBrand>, value: 0}
log: alice simoleans before: balance {"brand":{},"value":0}
export: v1:@p+38 :: <contract.makeInvitation-aliceBuyOrder-br1/rp>
send: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-aliceBuyOrder-br1/rp>
subscribe: <contract.makeInvitation-aliceBuyOrder-br1/rp>

// crank 252: v9 zcf
import: v9:@p-69 :: <contract.makeInvitation-aliceBuyOrder-br1/rp>
deliver: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-aliceBuyOrder-br1/rp>
export: v9:@o+15 :: <exchangeOfferHandler-aliceAddOffer-br1>
export: v9:@o+16 :: <emptyCustomProperties#5>
export: v9:@p+25 :: <zcf.makeInvitation-aliceBuyOrder-br1/rp>
send: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-aliceAddOffer-br1>, "exchange", <emptyCustomProperties#5>): <zcf.makeInvitation-aliceBuyOrder-br1/rp>
subscribe: <zcf.makeInvitation-aliceBuyOrder-br1/rp>

// crank 253: v3 zoe
import: v3:@o-85 :: <exchangeOfferHandler-aliceAddOffer-br1>
import: v3:@o-86 :: <emptyCustomProperties#5>
import: v3:@p-89 :: <zcf.makeInvitation-aliceBuyOrder-br1/rp>
deliver: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-aliceAddOffer-br1>, "exchange", <emptyCustomProperties#5>): <zcf.makeInvitation-aliceBuyOrder-br1/rp>
export: v3:@o+32 :: <aliceBuyOrderInvitation-br1>
drop: v3:@p-89 :: <zcf.makeInvitation-aliceBuyOrder-br1/rp>
fulfillToPresence: <zcf.makeInvitation-aliceBuyOrder-br1/rp> = <aliceBuyOrderInvitation-br1>

// crank 254: v9 zcf
import: v9:@o-76 :: <aliceBuyOrderInvitation-br1>
drop: v9:@p+25 :: <zcf.makeInvitation-aliceBuyOrder-br1/rp>
fulfilledToPresence: <zcf.makeInvitation-aliceBuyOrder-br1/rp> := <aliceBuyOrderInvitation-br1>
drop: v9:@p-69 :: <contract.makeInvitation-aliceBuyOrder-br1/rp>
fulfillToPresence: <contract.makeInvitation-aliceBuyOrder-br1/rp> = <aliceBuyOrderInvitation-br1>

// crank 255: v1 alice
import: v1:@o-74 :: <aliceBuyOrderInvitation-br1>
drop: v1:@p+38 :: <contract.makeInvitation-aliceBuyOrder-br1/rp>
fulfilledToPresence: <contract.makeInvitation-aliceBuyOrder-br1/rp> := <aliceBuyOrderInvitation-br1>
export: v1:@p+39 :: <aliceMoolaPurse.withdraw-br1/rp>
send: <*aliceMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <aliceMoolaPurse.withdraw-br1/rp>
subscribe: <aliceMoolaPurse.withdraw-br1/rp>

// crank 256: v4 bootstrap
import: v4:@p-134 :: <aliceMoolaPurse.withdraw-br1/rp>
deliver: <*aliceMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <aliceMoolaPurse.withdraw-br1/rp>
export: v4:@o+27 :: <aliceMoolaPayment-br1>
drop: v4:@p-134 :: <aliceMoolaPurse.withdraw-br1/rp>
fulfillToPresence: <aliceMoolaPurse.withdraw-br1/rp> = <aliceMoolaPayment-br1>

// crank 257: v1 alice
import: v1:@o-75 :: <aliceMoolaPayment-br1>
drop: v1:@p+39 :: <aliceMoolaPurse.withdraw-br1/rp>
fulfilledToPresence: <aliceMoolaPurse.withdraw-br1/rp> := <aliceMoolaPayment-br1>
export: v1:@p+40 :: <zoe.offer-aliceSeat-br1/rp>
send: <*zoe> <- offer(<aliceBuyOrderInvitation-br1>, {give: {Asset: {brand: <*moolaBrand>, value: 1}}, want: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Asset: <aliceMoolaPayment-br1>}): <zoe.offer-aliceSeat-br1/rp>
subscribe: <zoe.offer-aliceSeat-br1/rp>

// crank 258: v3 zoe
import: v3:@o-87 :: <aliceMoolaPayment-br1>
import: v3:@p-90 :: <zoe.offer-aliceSeat-br1/rp>
deliver: <*zoe> <- offer(<aliceBuyOrderInvitation-br1>, {give: {Asset: {brand: <*moolaBrand>, value: 1}}, want: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Asset: <aliceMoolaPayment-br1>}): <zoe.offer-aliceSeat-br1/rp>
export: v3:@p+32 :: <zoeMoolaPurse.deposit-br1/rp>
send: <*zoeMoolaPurse> <- deposit(<aliceMoolaPayment-br1>, {brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.deposit-br1/rp>
subscribe: <zoeMoolaPurse.deposit-br1/rp>

// crank 259: v4 bootstrap
import: v4:@p-135 :: <zoeMoolaPurse.deposit-br1/rp>
deliver: <*zoeMoolaPurse> <- deposit(<aliceMoolaPayment-br1>, {brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.deposit-br1/rp>
drop: v4:@p-135 :: <zoeMoolaPurse.deposit-br1/rp>
fulfillToData: <zoeMoolaPurse.deposit-br1/rp> = {brand: <*moolaBrand>, value: 1}

// crank 260: v3 zoe
drop: v3:@p+32 :: <zoeMoolaPurse.deposit-br1/rp>
fulfilledToData: <zoeMoolaPurse.deposit-br1/rp> := {brand: <*moolaBrand>, value: 1}
export: v3:@o+33 :: <aliceBuyOrderSeatAdmin-br1>
export: v3:@o+34 :: <aliceBuyOrderSeatNotifier-br1>
export: v3:@o+35 :: <aliceBuyOrderSeatHandle-br1>
export: v3:@p+33 :: <zcfAddSeatObj.addSeat-aliceBuyOrder-br1/rp>
send: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-aliceAddOffer-br1>, <aliceBuyOrderSeatAdmin-br1>, {proposal: {want: {Price: {brand: <*simoleanBrand>, value: 1}}, give: {Asset: {brand: <*moolaBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Asset: {brand: ibid(10), value: 1}, Price: {brand: ibid(7), value: 0}}, notifier: <aliceBuyOrderSeatNotifier-br1>}, <aliceBuyOrderSeatHandle-br1>): <zcfAddSeatObj.addSeat-aliceBuyOrder-br1/rp>
subscribe: <zcfAddSeatObj.addSeat-aliceBuyOrder-br1/rp>
export: v3:@o+36 :: <aliceBuyOrderSeat-br1>
drop: v3:@p-90 :: <zoe.offer-aliceSeat-br1/rp>
fulfillToPresence: <zoe.offer-aliceSeat-br1/rp> = <aliceBuyOrderSeat-br1>

// crank 261: v9 zcf
import: v9:@o-77 :: <aliceBuyOrderSeatAdmin-br1>
import: v9:@o-78 :: <aliceBuyOrderSeatNotifier-br1>
import: v9:@o-79 :: <aliceBuyOrderSeatHandle-br1>
import: v9:@p-70 :: <zcfAddSeatObj.addSeat-aliceBuyOrder-br1/rp>
deliver: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-aliceAddOffer-br1>, <aliceBuyOrderSeatAdmin-br1>, {proposal: {want: {Price: {brand: <*simoleanBrand>, value: 1}}, give: {Asset: {brand: <*moolaBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Asset: {brand: ibid(10), value: 1}, Price: {brand: ibid(7), value: 0}}, notifier: <aliceBuyOrderSeatNotifier-br1>}, <aliceBuyOrderSeatHandle-br1>): <zcfAddSeatObj.addSeat-aliceBuyOrder-br1/rp>
export: v9:@p+26 :: <aliceBuyOrderOfferResult-br1/p>
export: v9:@o+17 :: <aliceBuyOrderSeatExitObj-br1>
fulfillToData: <zcfAddSeatObj.addSeat-aliceBuyOrder-br1/rp> = {offerResultP: <aliceBuyOrderOfferResult-br1/p>, exitObj: <aliceBuyOrderSeatExitObj-br1>}
drop: v9:@p+26 :: <aliceBuyOrderOfferResult-br1/p>
fulfillToData: <aliceBuyOrderOfferResult-br1/p> = "Order Added"

// crank 262: v1 alice
import: v1:@o-76 :: <aliceBuyOrderSeat-br1>
drop: v1:@p+40 :: <zoe.offer-aliceSeat-br1/rp>
fulfilledToPresence: <zoe.offer-aliceSeat-br1/rp> := <aliceBuyOrderSeat-br1>
export: v1:@p+41 :: <aliceSeat.getPayouts-br1/rp>
send: <aliceBuyOrderSeat-br1> <- getPayouts(): <aliceSeat.getPayouts-br1/rp>
subscribe: <aliceSeat.getPayouts-br1/rp>
export: v1:@p+42 :: <contract.makeInvitation-aliceToBob-br1/rp>
send: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-aliceToBob-br1/rp>
subscribe: <contract.makeInvitation-aliceToBob-br1/rp>
export: v1:@p+43 :: <bob.respondToTrade-br1/rp>
send: <*bob> <- respondToTrade(<contract.makeInvitation-aliceToBob-br1/rp>, false): <bob.respondToTrade-br1/rp>
subscribe: <bob.respondToTrade-br1/rp>

// crank 263: v3 zoe
import: v3:@p-91 :: <aliceBuyOrderOfferResult-br1/p>
import: v3:@o-88 :: <aliceBuyOrderSeatExitObj-br1>
fulfilledToData: <zcfAddSeatObj.addSeat-aliceBuyOrder-br1/rp> := {offerResultP: <aliceBuyOrderOfferResult-br1/p>, exitObj: <aliceBuyOrderSeatExitObj-br1>}
subscribe: <aliceBuyOrderOfferResult-br1/p>

// crank 264: v3 zoe
import: v3:@p-92 :: <aliceSeat.getPayouts-br1/rp>
deliver: <aliceBuyOrderSeat-br1> <- getPayouts(): <aliceSeat.getPayouts-br1/rp>

// crank 265: v9 zcf
import: v9:@p-71 :: <contract.makeInvitation-aliceToBob-br1/rp>
deliver: <*exchangePublicFacet> <- makeInvitation(): <contract.makeInvitation-aliceToBob-br1/rp>
export: v9:@o+18 :: <exchangeOfferHandler-aliceToBob-br1>
export: v9:@o+19 :: <emptyCustomProperties#6>
export: v9:@p+27 :: <contract.makeInvitation-aliceToBob-br1/rp>
send: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-aliceToBob-br1>, "exchange", <emptyCustomProperties#6>): <contract.makeInvitation-aliceToBob-br1/rp>
subscribe: <contract.makeInvitation-aliceToBob-br1/rp>

// crank 266: v2 bob
import: v2:@p-69 :: <contract.makeInvitation-aliceToBob-br1/rp>
import: v2:@p-70 :: <bob.respondToTrade-br1/rp>
deliver: <*bob> <- respondToTrade(<contract.makeInvitation-aliceToBob-br1/rp>, false): <bob.respondToTrade-br1/rp>
subscribe: <contract.makeInvitation-aliceToBob-br1/rp>
export: v2:@p+36 :: <bobMoolaPurse.getCurrentAmount-br1/rp>
send: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-br1/rp>
subscribe: <bobMoolaPurse.getCurrentAmount-br1/rp>

// crank 267: v3 zoe
drop: v3:@p-91 :: <aliceBuyOrderOfferResult-br1/p>
fulfilledToData: <aliceBuyOrderOfferResult-br1/p> := "Order Added"

// crank 268: v3 zoe
import: v3:@o-89 :: <exchangeOfferHandler-aliceToBob-br1>
import: v3:@o-90 :: <emptyCustomProperties#6>
import: v3:@p-93 :: <contract.makeInvitation-aliceToBob-br1/rp>
deliver: <*zcfInstanceAdmin> <- makeInvitation(<exchangeOfferHandler-aliceToBob-br1>, "exchange", <emptyCustomProperties#6>): <contract.makeInvitation-aliceToBob-br1/rp>
export: v3:@o+37 :: <aliceToBobInvitation-br1>
drop: v3:@p-93 :: <contract.makeInvitation-aliceToBob-br1/rp>
fulfillToPresence: <contract.makeInvitation-aliceToBob-br1/rp> = <aliceToBobInvitation-br1>

// crank 269: v4 bootstrap
import: v4:@p-136 :: <bobMoolaPurse.getCurrentAmount-br1/rp>
deliver: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-br1/rp>
drop: v4:@p-136 :: <bobMoolaPurse.getCurrentAmount-br1/rp>
fulfillToData: <bobMoolaPurse.getCurrentAmount-br1/rp> = {brand: <*moolaBrand>, value: 0}

// crank 270: v9 zcf
import: v9:@o-80 :: <aliceToBobInvitation-br1>
drop: v9:@p+27 :: <contract.makeInvitation-aliceToBob-br1/rp>
fulfilledToPresence: <contract.makeInvitation-aliceToBob-br1/rp> := <aliceToBobInvitation-br1>
drop: v9:@p-71 :: <contract.makeInvitation-aliceToBob-br1/rp>
fulfillToPresence: <contract.makeInvitation-aliceToBob-br1/rp> = <aliceToBobInvitation-br1>

// crank 271: v2 bob
drop: v2:@p+36 :: <bobMoolaPurse.getCurrentAmount-br1/rp>
fulfilledToData: <bobMoolaPurse.getCurrentAmount-br1/rp> := {brand: <*moolaBrand>, value: 0}
log: bob moola before: balance {"brand":{},"value":0}
export: v2:@p+37 :: <bobSimoleanPurse.getCurrentAmount-br1/rp>
send: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-br1/rp>
subscribe: <bobSimoleanPurse.getCurrentAmount-br1/rp>

// crank 272: v1 alice
import: v1:@o-77 :: <aliceToBobInvitation-br1>
drop: v1:@p+42 :: <contract.makeInvitation-aliceToBob-br1/rp>
fulfilledToPresence: <contract.makeInvitation-aliceToBob-br1/rp> := <aliceToBobInvitation-br1>

// crank 273: v2 bob
import: v2:@o-74 :: <aliceToBobInvitation-br1>
drop: v2:@p-69 :: <contract.makeInvitation-aliceToBob-br1/rp>
fulfilledToPresence: <contract.makeInvitation-aliceToBob-br1/rp> := <aliceToBobInvitation-br1>

// crank 274: v4 bootstrap
import: v4:@p-137 :: <bobSimoleanPurse.getCurrentAmount-br1/rp>
deliver: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-br1/rp>
drop: v4:@p-137 :: <bobSimoleanPurse.getCurrentAmount-br1/rp>
fulfillToData: <bobSimoleanPurse.getCurrentAmount-br1/rp> = {brand: <*simoleanBrand>, value: 3}

// crank 275: v2 bob
drop: v2:@p+37 :: <bobSimoleanPurse.getCurrentAmount-br1/rp>
fulfilledToData: <bobSimoleanPurse.getCurrentAmount-br1/rp> := {brand: <*simoleanBrand>, value: 3}
log: bob simoleans before: balance {"brand":{},"value":3}
export: v2:@p+38 :: <aliceToBobInvitation.claim-br1/rp>
send: <*invitationIssuer> <- claim(<aliceToBobInvitation-br1>): <aliceToBobInvitation.claim-br1/rp>
subscribe: <aliceToBobInvitation.claim-br1/rp>

// crank 276: v3 zoe
import: v3:@p-94 :: <aliceToBobInvitation.claim-br1/rp>
deliver: <*invitationIssuer> <- claim(<aliceToBobInvitation-br1>): <aliceToBobInvitation.claim-br1/rp>
export: v3:@o+38 :: <aliceToBobInvitationPayment-br1>
drop: v3:@p-94 :: <aliceToBobInvitation.claim-br1/rp>
fulfillToPresence: <aliceToBobInvitation.claim-br1/rp> = <aliceToBobInvitationPayment-br1>

// crank 277: v2 bob
import: v2:@o-75 :: <aliceToBobInvitationPayment-br1>
drop: v2:@p+38 :: <aliceToBobInvitation.claim-br1/rp>
fulfilledToPresence: <aliceToBobInvitation.claim-br1/rp> := <aliceToBobInvitationPayment-br1>
export: v2:@p+39 :: <bobSimoleanPurse.withdraw-br1/rp>
send: <*bobSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <bobSimoleanPurse.withdraw-br1/rp>
subscribe: <bobSimoleanPurse.withdraw-br1/rp>

// crank 278: v4 bootstrap
import: v4:@p-138 :: <bobSimoleanPurse.withdraw-br1/rp>
deliver: <*bobSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <bobSimoleanPurse.withdraw-br1/rp>
export: v4:@o+28 :: <bobSimoleanPayment-br1>
drop: v4:@p-138 :: <bobSimoleanPurse.withdraw-br1/rp>
fulfillToPresence: <bobSimoleanPurse.withdraw-br1/rp> = <bobSimoleanPayment-br1>

// crank 279: v2 bob
import: v2:@o-76 :: <bobSimoleanPayment-br1>
drop: v2:@p+39 :: <bobSimoleanPurse.withdraw-br1/rp>
fulfilledToPresence: <bobSimoleanPurse.withdraw-br1/rp> := <bobSimoleanPayment-br1>
export: v2:@p+40 :: <zoe.offer-bobSeat-br1/rp>
send: <*zoe> <- offer(<aliceToBobInvitationPayment-br1>, {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Price: <bobSimoleanPayment-br1>}): <zoe.offer-bobSeat-br1/rp>
subscribe: <zoe.offer-bobSeat-br1/rp>

// crank 280: v3 zoe
import: v3:@o-91 :: <bobSimoleanPayment-br1>
import: v3:@p-95 :: <zoe.offer-bobSeat-br1/rp>
deliver: <*zoe> <- offer(<aliceToBobInvitationPayment-br1>, {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, {Price: <bobSimoleanPayment-br1>}): <zoe.offer-bobSeat-br1/rp>
export: v3:@p+34 :: <zoeSimoleanPurse.deposit-br1/rp>
send: <*zoeSimoleanPurse> <- deposit(<bobSimoleanPayment-br1>, {brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.deposit-br1/rp>
subscribe: <zoeSimoleanPurse.deposit-br1/rp>

// crank 281: v4 bootstrap
import: v4:@p-139 :: <zoeSimoleanPurse.deposit-br1/rp>
deliver: <*zoeSimoleanPurse> <- deposit(<bobSimoleanPayment-br1>, {brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.deposit-br1/rp>
drop: v4:@p-139 :: <zoeSimoleanPurse.deposit-br1/rp>
fulfillToData: <zoeSimoleanPurse.deposit-br1/rp> = {brand: <*simoleanBrand>, value: 1}

// crank 282: v3 zoe
drop: v3:@p+34 :: <zoeSimoleanPurse.deposit-br1/rp>
fulfilledToData: <zoeSimoleanPurse.deposit-br1/rp> := {brand: <*simoleanBrand>, value: 1}
export: v3:@o+39 :: <bobSellOrderSeatAdmin-br1>
export: v3:@o+40 :: <bobSellOrderSeatNotifier-br1>
export: v3:@o+41 :: <bobSellOrderSeatHandle-br1>
export: v3:@p+35 :: <zcfAddSeatObj.addSeat-bobSellOrder-br1/rp>
send: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-aliceToBob-br1>, <bobSellOrderSeatAdmin-br1>, {proposal: {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Price: {brand: ibid(10), value: 1}, Asset: {brand: ibid(7), value: 0}}, notifier: <bobSellOrderSeatNotifier-br1>}, <bobSellOrderSeatHandle-br1>): <zcfAddSeatObj.addSeat-bobSellOrder-br1/rp>
subscribe: <zcfAddSeatObj.addSeat-bobSellOrder-br1/rp>
export: v3:@o+42 :: <bobSellOrderSeat-br1>
drop: v3:@p-95 :: <zoe.offer-bobSeat-br1/rp>
fulfillToPresence: <zoe.offer-bobSeat-br1/rp> = <bobSellOrderSeat-br1>

// crank 283: v9 zcf
import: v9:@o-81 :: <bobSellOrderSeatAdmin-br1>
import: v9:@o-82 :: <bobSellOrderSeatNotifier-br1>
import: v9:@o-83 :: <bobSellOrderSeatHandle-br1>
import: v9:@p-72 :: <zcfAddSeatObj.addSeat-bobSellOrder-br1/rp>
deliver: <*zcfAddSeatObj> <- addSeat(<exchangeOfferHandler-aliceToBob-br1>, <bobSellOrderSeatAdmin-br1>, {proposal: {want: {Asset: {brand: <*moolaBrand>, value: 1}}, give: {Price: {brand: <*simoleanBrand>, value: 1}}, exit: {onDemand: null}}, initialAllocation: {Price: {brand: ibid(10), value: 1}, Asset: {brand: ibid(7), value: 0}}, notifier: <bobSellOrderSeatNotifier-br1>}, <bobSellOrderSeatHandle-br1>): <zcfAddSeatObj.addSeat-bobSellOrder-br1/rp>
export: v9:@p+28 :: <bobSellOrderOfferResult-br1/p>
export: v9:@o+20 :: <bobSellOrderSeatExitObj-br1>
fulfillToData: <zcfAddSeatObj.addSeat-bobSellOrder-br1/rp> = {offerResultP: <bobSellOrderOfferResult-br1/p>, exitObj: <bobSellOrderSeatExitObj-br1>}
export: v9:@p+29 :: <zcfInstanceAdmin.replaceAllocations-br1/rp>
send: <*zcfInstanceAdmin> <- replaceAllocations([{seatHandle: <bobSellOrderSeatHandle-br1>, allocation: {Price: {brand: <*simoleanBrand>, value: 0}, Asset: {brand: <*moolaBrand>, value: 1}}}, {seatHandle: <aliceBuyOrderSeatHandle-br1>, allocation: {Asset: {brand: ibid(8), value: 0}, Price: {brand: ibid(6), value: 1}}}]): <zcfInstanceAdmin.replaceAllocations-br1/rp>
subscribe: <zcfInstanceAdmin.replaceAllocations-br1/rp>
export: v9:@p+30 :: <bobSellOrderSeatAdmin.exit-br1/rp>
send: <bobSellOrderSeatAdmin-br1> <- exit(undefined): <bobSellOrderSeatAdmin.exit-br1/rp>
subscribe: <bobSellOrderSeatAdmin.exit-br1/rp>
export: v9:@p+31 :: <aliceBuyOrderSeatAdmin.exit-br1/rp>
send: <aliceBuyOrderSeatAdmin-br1> <- exit(undefined): <aliceBuyOrderSeatAdmin.exit-br1/rp>
subscribe: <aliceBuyOrderSeatAdmin.exit-br1/rp>
drop: v9:@p+28 :: <bobSellOrderOfferResult-br1/p>
fulfillToData: <bobSellOrderOfferResult-br1/p> = "Order Added"

// crank 284: v2 bob
import: v2:@o-77 :: <bobSellOrderSeat-br1>
drop: v2:@p+40 :: <zoe.offer-bobSeat-br1/rp>
fulfilledToPresence: <zoe.offer-bobSeat-br1/rp> := <bobSellOrderSeat-br1>
export: v2:@p+41 :: <bobSellOrderSeat.getPayouts-br1/rp>
send: <bobSellOrderSeat-br1> <- getPayouts(): <bobSellOrderSeat.getPayouts-br1/rp>
subscribe: <bobSellOrderSeat.getPayouts-br1/rp>

// crank 285: v3 zoe
import: v3:@p-96 :: <bobSellOrderOfferResult-br1/p>
import: v3:@o-92 :: <bobSellOrderSeatExitObj-br1>
fulfilledToData: <zcfAddSeatObj.addSeat-bobSellOrder-br1/rp> := {offerResultP: <bobSellOrderOfferResult-br1/p>, exitObj: <bobSellOrderSeatExitObj-br1>}
subscribe: <bobSellOrderOfferResult-br1/p>

// crank 286: v3 zoe
import: v3:@p-97 :: <zcfInstanceAdmin.replaceAllocations-br1/rp>
deliver: <*zcfInstanceAdmin> <- replaceAllocations([{seatHandle: <bobSellOrderSeatHandle-br1>, allocation: {Price: {brand: <*simoleanBrand>, value: 0}, Asset: {brand: <*moolaBrand>, value: 1}}}, {seatHandle: <aliceBuyOrderSeatHandle-br1>, allocation: {Asset: {brand: ibid(8), value: 0}, Price: {brand: ibid(6), value: 1}}}]): <zcfInstanceAdmin.replaceAllocations-br1/rp>
drop: v3:@p-97 :: <zcfInstanceAdmin.replaceAllocations-br1/rp>
fulfillToData: <zcfInstanceAdmin.replaceAllocations-br1/rp> = undefined

// crank 287: v3 zoe
import: v3:@p-98 :: <bobSellOrderSeatAdmin.exit-br1/rp>
deliver: <bobSellOrderSeatAdmin-br1> <- exit(undefined): <bobSellOrderSeatAdmin.exit-br1/rp>
export: v3:@p+36 :: <zoeSimoleanPurse.withdraw-bob-br1/rp>
send: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 0}): <zoeSimoleanPurse.withdraw-bob-br1/rp>
subscribe: <zoeSimoleanPurse.withdraw-bob-br1/rp>
export: v3:@p+37 :: <zoeMoolaPurse.withdraw-bob-br1/rp>
send: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.withdraw-bob-br1/rp>
subscribe: <zoeMoolaPurse.withdraw-bob-br1/rp>
drop: v3:@p-98 :: <bobSellOrderSeatAdmin.exit-br1/rp>
fulfillToData: <bobSellOrderSeatAdmin.exit-br1/rp> = undefined

// crank 288: v3 zoe
import: v3:@p-99 :: <aliceBuyOrderSeatAdmin.exit-br1/rp>
deliver: <aliceBuyOrderSeatAdmin-br1> <- exit(undefined): <aliceBuyOrderSeatAdmin.exit-br1/rp>
export: v3:@p+38 :: <zoeMoolaPurse.withdraw-alice-br1/rp>
send: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 0}): <zoeMoolaPurse.withdraw-alice-br1/rp>
subscribe: <zoeMoolaPurse.withdraw-alice-br1/rp>
export: v3:@p+39 :: <zoeSimoleanPurse.withdraw-alice-br1/rp>
send: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.withdraw-alice-br1/rp>
subscribe: <zoeSimoleanPurse.withdraw-alice-br1/rp>
drop: v3:@p-99 :: <aliceBuyOrderSeatAdmin.exit-br1/rp>
fulfillToData: <aliceBuyOrderSeatAdmin.exit-br1/rp> = undefined
fulfillToData: <aliceSeat.getPayouts-br1/rp> = {Asset: <zoeMoolaPurse.withdraw-alice-br1/rp>, Price: <zoeSimoleanPurse.withdraw-alice-br1/rp>}

// crank 289: v3 zoe
import: v3:@p-100 :: <bobSellOrderSeat.getPayouts-br1/rp>
deliver: <bobSellOrderSeat-br1> <- getPayouts(): <bobSellOrderSeat.getPayouts-br1/rp>
fulfillToData: <bobSellOrderSeat.getPayouts-br1/rp> = {Price: <zoeSimoleanPurse.withdraw-bob-br1/rp>, Asset: <zoeMoolaPurse.withdraw-bob-br1/rp>}

// crank 290: v3 zoe
drop: v3:@p-96 :: <bobSellOrderOfferResult-br1/p>
fulfilledToData: <bobSellOrderOfferResult-br1/p> := "Order Added"

// crank 291: v9 zcf
drop: v9:@p+29 :: <zcfInstanceAdmin.replaceAllocations-br1/rp>
fulfilledToData: <zcfInstanceAdmin.replaceAllocations-br1/rp> := undefined

// crank 292: v4 bootstrap
import: v4:@p-140 :: <zoeSimoleanPurse.withdraw-bob-br1/rp>
deliver: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 0}): <zoeSimoleanPurse.withdraw-bob-br1/rp>
export: v4:@o+29 :: <zoeSimoleanPayment-bob-br1>
drop: v4:@p-140 :: <zoeSimoleanPurse.withdraw-bob-br1/rp>
fulfillToPresence: <zoeSimoleanPurse.withdraw-bob-br1/rp> = <zoeSimoleanPayment-bob-br1>

// crank 293: v4 bootstrap
import: v4:@p-141 :: <zoeMoolaPurse.withdraw-bob-br1/rp>
deliver: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 1}): <zoeMoolaPurse.withdraw-bob-br1/rp>
export: v4:@o+30 :: <zoeMoolaPayment-bob-br1>
drop: v4:@p-141 :: <zoeMoolaPurse.withdraw-bob-br1/rp>
fulfillToPresence: <zoeMoolaPurse.withdraw-bob-br1/rp> = <zoeMoolaPayment-bob-br1>

// crank 294: v9 zcf
drop: v9:@p+30 :: <bobSellOrderSeatAdmin.exit-br1/rp>
fulfilledToData: <bobSellOrderSeatAdmin.exit-br1/rp> := undefined

// crank 295: v4 bootstrap
import: v4:@p-142 :: <zoeMoolaPurse.withdraw-alice-br1/rp>
deliver: <*zoeMoolaPurse> <- withdraw({brand: <*moolaBrand>, value: 0}): <zoeMoolaPurse.withdraw-alice-br1/rp>
export: v4:@o+31 :: <zoeMoolaPayment-alice-br1>
drop: v4:@p-142 :: <zoeMoolaPurse.withdraw-alice-br1/rp>
fulfillToPresence: <zoeMoolaPurse.withdraw-alice-br1/rp> = <zoeMoolaPayment-alice-br1>

// crank 296: v4 bootstrap
import: v4:@p-143 :: <zoeSimoleanPurse.withdraw-alice-br1/rp>
deliver: <*zoeSimoleanPurse> <- withdraw({brand: <*simoleanBrand>, value: 1}): <zoeSimoleanPurse.withdraw-alice-br1/rp>
export: v4:@o+32 :: <zoeSimoleanPayment-alice-br1>
drop: v4:@p-143 :: <zoeSimoleanPurse.withdraw-alice-br1/rp>
fulfillToPresence: <zoeSimoleanPurse.withdraw-alice-br1/rp> = <zoeSimoleanPayment-alice-br1>

// crank 297: v9 zcf
drop: v9:@p+31 :: <aliceBuyOrderSeatAdmin.exit-br1/rp>
fulfilledToData: <aliceBuyOrderSeatAdmin.exit-br1/rp> := undefined

// crank 298: v1 alice
import: v1:@p-71 :: <zoeMoolaPurse.withdraw-alice-br1/rp>
import: v1:@p-72 :: <zoeSimoleanPurse.withdraw-alice-br1/rp>
fulfilledToData: <aliceSeat.getPayouts-br1/rp> := {Asset: <zoeMoolaPurse.withdraw-alice-br1/rp>, Price: <zoeSimoleanPurse.withdraw-alice-br1/rp>}
subscribe: <zoeMoolaPurse.withdraw-alice-br1/rp>
subscribe: <zoeSimoleanPurse.withdraw-alice-br1/rp>

// crank 299: v2 bob
import: v2:@p-71 :: <zoeSimoleanPurse.withdraw-bob-br1/rp>
import: v2:@p-72 :: <zoeMoolaPurse.withdraw-bob-br1/rp>
fulfilledToData: <bobSellOrderSeat.getPayouts-br1/rp> := {Price: <zoeSimoleanPurse.withdraw-bob-br1/rp>, Asset: <zoeMoolaPurse.withdraw-bob-br1/rp>}
subscribe: <zoeSimoleanPurse.withdraw-bob-br1/rp>
subscribe: <zoeMoolaPurse.withdraw-bob-br1/rp>

// crank 300: v3 zoe
import: v3:@o-93 :: <zoeSimoleanPayment-bob-br1>
drop: v3:@p+36 :: <zoeSimoleanPurse.withdraw-bob-br1/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-bob-br1/rp> := <zoeSimoleanPayment-bob-br1>

// crank 301: v3 zoe
import: v3:@o-94 :: <zoeMoolaPayment-bob-br1>
drop: v3:@p+37 :: <zoeMoolaPurse.withdraw-bob-br1/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-bob-br1/rp> := <zoeMoolaPayment-bob-br1>

// crank 302: v3 zoe
import: v3:@o-95 :: <zoeMoolaPayment-alice-br1>
drop: v3:@p+38 :: <zoeMoolaPurse.withdraw-alice-br1/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-alice-br1/rp> := <zoeMoolaPayment-alice-br1>

// crank 303: v3 zoe
import: v3:@o-96 :: <zoeSimoleanPayment-alice-br1>
drop: v3:@p+39 :: <zoeSimoleanPurse.withdraw-alice-br1/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-alice-br1/rp> := <zoeSimoleanPayment-alice-br1>

// crank 304: v1 alice
import: v1:@o-78 :: <zoeMoolaPayment-alice-br1>
drop: v1:@p-71 :: <zoeMoolaPurse.withdraw-alice-br1/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-alice-br1/rp> := <zoeMoolaPayment-alice-br1>

// crank 305: v1 alice
import: v1:@o-79 :: <zoeSimoleanPayment-alice-br1>
drop: v1:@p-72 :: <zoeSimoleanPurse.withdraw-alice-br1/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-alice-br1/rp> := <zoeSimoleanPayment-alice-br1>

// crank 306: v2 bob
import: v2:@o-78 :: <zoeSimoleanPayment-bob-br1>
drop: v2:@p-71 :: <zoeSimoleanPurse.withdraw-bob-br1/rp>
fulfilledToPresence: <zoeSimoleanPurse.withdraw-bob-br1/rp> := <zoeSimoleanPayment-bob-br1>

// crank 307: v2 bob
import: v2:@o-79 :: <zoeMoolaPayment-bob-br1>
drop: v2:@p-72 :: <zoeMoolaPurse.withdraw-bob-br1/rp>
fulfilledToPresence: <zoeMoolaPurse.withdraw-bob-br1/rp> := <zoeMoolaPayment-bob-br1>
export: v2:@p+42 :: <bobMoolaPurse.deposit-zoe-br1/rp>
send: <*bobMoolaPurse> <- deposit(<zoeMoolaPayment-bob-br1>): <bobMoolaPurse.deposit-zoe-br1/rp>
subscribe: <bobMoolaPurse.deposit-zoe-br1/rp>

// crank 308: v4 bootstrap
import: v4:@p-144 :: <bobMoolaPurse.deposit-zoe-br1/rp>
deliver: <*bobMoolaPurse> <- deposit(<zoeMoolaPayment-bob-br1>): <bobMoolaPurse.deposit-zoe-br1/rp>
drop: v4:@p-144 :: <bobMoolaPurse.deposit-zoe-br1/rp>
fulfillToData: <bobMoolaPurse.deposit-zoe-br1/rp> = {brand: <*moolaBrand>, value: 1}

// crank 309: v2 bob
drop: v2:@p+42 :: <bobMoolaPurse.deposit-zoe-br1/rp>
fulfilledToData: <bobMoolaPurse.deposit-zoe-br1/rp> := {brand: <*moolaBrand>, value: 1}
export: v2:@p+43 :: <bobSimoleanPurse.deposit-zoe-br1/rp>
send: <*bobSimoleanPurse> <- deposit(<zoeSimoleanPayment-bob-br1>): <bobSimoleanPurse.deposit-zoe-br1/rp>
subscribe: <bobSimoleanPurse.deposit-zoe-br1/rp>

// crank 310: v4 bootstrap
import: v4:@p-145 :: <bobSimoleanPurse.deposit-zoe-br1/rp>
deliver: <*bobSimoleanPurse> <- deposit(<zoeSimoleanPayment-bob-br1>): <bobSimoleanPurse.deposit-zoe-br1/rp>
drop: v4:@p-145 :: <bobSimoleanPurse.deposit-zoe-br1/rp>
fulfillToData: <bobSimoleanPurse.deposit-zoe-br1/rp> = {brand: <*simoleanBrand>, value: 0}

// crank 311: v2 bob
drop: v2:@p+43 :: <bobSimoleanPurse.deposit-zoe-br1/rp>
fulfilledToData: <bobSimoleanPurse.deposit-zoe-br1/rp> := {brand: <*simoleanBrand>, value: 0}
export: v2:@p+44 :: <bobMoolaPurse.getCurrentAmount-after-br1/rp>
send: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-after-br1/rp>
subscribe: <bobMoolaPurse.getCurrentAmount-after-br1/rp>

// crank 312: v4 bootstrap
import: v4:@p-146 :: <bobMoolaPurse.getCurrentAmount-after-br1/rp>
deliver: <*bobMoolaPurse> <- getCurrentAmount(): <bobMoolaPurse.getCurrentAmount-after-br1/rp>
drop: v4:@p-146 :: <bobMoolaPurse.getCurrentAmount-after-br1/rp>
fulfillToData: <bobMoolaPurse.getCurrentAmount-after-br1/rp> = {brand: <*moolaBrand>, value: 1}

// crank 313: v2 bob
drop: v2:@p+44 :: <bobMoolaPurse.getCurrentAmount-after-br1/rp>
fulfilledToData: <bobMoolaPurse.getCurrentAmount-after-br1/rp> := {brand: <*moolaBrand>, value: 1}
log: bob moola after: balance {"brand":{},"value":1}
export: v2:@p+45 :: <bobSimoleanPurse.getCurrentAmount-after-br1/rp>
send: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-after-br1/rp>
subscribe: <bobSimoleanPurse.getCurrentAmount-after-br1/rp>

// crank 314: v4 bootstrap
import: v4:@p-147 :: <bobSimoleanPurse.getCurrentAmount-after-br1/rp>
deliver: <*bobSimoleanPurse> <- getCurrentAmount(): <bobSimoleanPurse.getCurrentAmount-after-br1/rp>
drop: v4:@p-147 :: <bobSimoleanPurse.getCurrentAmount-after-br1/rp>
fulfillToData: <bobSimoleanPurse.getCurrentAmount-after-br1/rp> = {brand: <*simoleanBrand>, value: 2}

// crank 315: v2 bob
drop: v2:@p+45 :: <bobSimoleanPurse.getCurrentAmount-after-br1/rp>
fulfilledToData: <bobSimoleanPurse.getCurrentAmount-after-br1/rp> := {brand: <*simoleanBrand>, value: 2}
log: bob simoleans after: balance {"brand":{},"value":2}
drop: v2:@p-70 :: <bob.respondToTrade-br1/rp>
fulfillToData: <bob.respondToTrade-br1/rp> = undefined

// crank 316: v1 alice
drop: v1:@p+43 :: <bob.respondToTrade-br1/rp>
fulfilledToData: <bob.respondToTrade-br1/rp> := undefined
export: v1:@p+44 :: <aliceMoolaPurse.deposit-zoe-br1/rp>
send: <*aliceMoolaPurse> <- deposit(<zoeMoolaPayment-alice-br1>): <aliceMoolaPurse.deposit-zoe-br1/rp>
subscribe: <aliceMoolaPurse.deposit-zoe-br1/rp>

// crank 317: v4 bootstrap
import: v4:@p-148 :: <aliceMoolaPurse.deposit-zoe-br1/rp>
deliver: <*aliceMoolaPurse> <- deposit(<zoeMoolaPayment-alice-br1>): <aliceMoolaPurse.deposit-zoe-br1/rp>
drop: v4:@p-148 :: <aliceMoolaPurse.deposit-zoe-br1/rp>
fulfillToData: <aliceMoolaPurse.deposit-zoe-br1/rp> = {brand: <*moolaBrand>, value: 0}

// crank 318: v1 alice
drop: v1:@p+44 :: <aliceMoolaPurse.deposit-zoe-br1/rp>
fulfilledToData: <aliceMoolaPurse.deposit-zoe-br1/rp> := {brand: <*moolaBrand>, value: 0}
export: v1:@p+45 :: <aliceSimoleanPurse.deposit-zoe-br1/rp>
send: <*aliceSimoleanPurse> <- deposit(<zoeSimoleanPayment-alice-br1>): <aliceSimoleanPurse.deposit-zoe-br1/rp>
subscribe: <aliceSimoleanPurse.deposit-zoe-br1/rp>

// crank 319: v4 bootstrap
import: v4:@p-149 :: <aliceSimoleanPurse.deposit-zoe-br1/rp>
deliver: <*aliceSimoleanPurse> <- deposit(<zoeSimoleanPayment-alice-br1>): <aliceSimoleanPurse.deposit-zoe-br1/rp>
drop: v4:@p-149 :: <aliceSimoleanPurse.deposit-zoe-br1/rp>
fulfillToData: <aliceSimoleanPurse.deposit-zoe-br1/rp> = {brand: <*simoleanBrand>, value: 1}

// crank 320: v1 alice
drop: v1:@p+45 :: <aliceSimoleanPurse.deposit-zoe-br1/rp>
fulfilledToData: <aliceSimoleanPurse.deposit-zoe-br1/rp> := {brand: <*simoleanBrand>, value: 1}
export: v1:@p+46 :: <aliceMoolaPurse.getCurrentAmount-after-br1/rp>
send: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-after-br1/rp>
subscribe: <aliceMoolaPurse.getCurrentAmount-after-br1/rp>

// crank 321: v4 bootstrap
import: v4:@p-150 :: <aliceMoolaPurse.getCurrentAmount-after-br1/rp>
deliver: <*aliceMoolaPurse> <- getCurrentAmount(): <aliceMoolaPurse.getCurrentAmount-after-br1/rp>
drop: v4:@p-150 :: <aliceMoolaPurse.getCurrentAmount-after-br1/rp>
fulfillToData: <aliceMoolaPurse.getCurrentAmount-after-br1/rp> = {brand: <*moolaBrand>, value: 2}

// crank 322: v1 alice
drop: v1:@p+46 :: <aliceMoolaPurse.getCurrentAmount-after-br1/rp>
fulfilledToData: <aliceMoolaPurse.getCurrentAmount-after-br1/rp> := {brand: <*moolaBrand>, value: 2}
log: alice moola after: balance {"brand":{},"value":2}
export: v1:@p+47 :: <aliceSimoleanPurse.getCurrentAmount-after-br1/rp>
send: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-after-br1/rp>
subscribe: <aliceSimoleanPurse.getCurrentAmount-after-br1/rp>

// crank 323: v4 bootstrap
import: v4:@p-151 :: <aliceSimoleanPurse.getCurrentAmount-after-br1/rp>
deliver: <*aliceSimoleanPurse> <- getCurrentAmount(): <aliceSimoleanPurse.getCurrentAmount-after-br1/rp>
drop: v4:@p-151 :: <aliceSimoleanPurse.getCurrentAmount-after-br1/rp>
fulfillToData: <aliceSimoleanPurse.getCurrentAmount-after-br1/rp> = {brand: <*simoleanBrand>, value: 1}

// crank 324: v1 alice
drop: v1:@p+47 :: <aliceSimoleanPurse.getCurrentAmount-after-br1/rp>
fulfilledToData: <aliceSimoleanPurse.getCurrentAmount-after-br1/rp> := {brand: <*simoleanBrand>, value: 1}
log: alice simoleans after: balance {"brand":{},"value":1}
drop: v1:@p-70 :: <alice.initiateTrade-br1/rp>
fulfillToData: <alice.initiateTrade-br1/rp> = undefined

// crank 325: v4 bootstrap
drop: v4:@p+15 :: <alice.initiateTrade-br1/rp>
fulfilledToData: <alice.initiateTrade-br1/rp> := undefined
drop: v4:@p-131 :: <runBenchmarkRound-1/rp>
fulfillToData: <runBenchmarkRound-1/rp> = "round 1 (alice->bob) complete"

// end of slog
Clone this wiki locally