Grant
func(pid uint64, app string, who .uverse.address)- OID
- 07379d…debd:3
Grant details
Revoke
func(pid uint64, app string, who .uverse.address)- OID
- 07379d…debd:5
Revoke details
role
func(pid uint64, app string, who .uverse.address, grant bool)- OID
- 07379d…debd:6
role details
rolePlan
func(app string, who .uverse.address, grant bool) memba_bridge_v1.plan- OID
- 07379d…debd:7
rolePlan details
hasRole
func(app string, who .uverse.address) bool- OID
- 07379d…debd:8
hasRole details
Curate
func(pid uint64, op string, pkgPath string, reason string)Curate runs a curator action on one listing: approve, reject (with a reason), delist, restore or clearflags. Every approval binds the listing's status; approve and restore, which publish, also bind its content, and clearflags binds the flags it clears. Editing or flagging a listing thus cannot void a reject or delist vote, and cannot slip new content past one.
- OID
- 07379d…debd:9
Curate details
curatePlan
func(op string, pkgPath string, reason string) memba_bridge_v1.plan- OID
- 07379d…debd:10
curatePlan details
SetRegistrationFee
func(pid uint64, fee int64)- OID
- 07379d…debd:11
SetRegistrationFee details
registrationFeePlan
func(fee int64) memba_bridge_v1.plan- OID
- 07379d…debd:12
registrationFeePlan details
SetTreasury
func(pid uint64, app string, addr .uverse.address)SetTreasury points the fees of market\_config (which escrow also pays into) or of the App Store at addr.
- OID
- 07379d…debd:13
SetTreasury details
treasuryPlan
func(app string, addr .uverse.address) memba_bridge_v1.plan- OID
- 07379d…debd:14
treasuryPlan details
SetFee
func(pid uint64, lane string, bps int64)- OID
- 07379d…debd:15
SetFee details
feePlan
func(lane string, bps int64) memba_bridge_v1.plan- OID
- 07379d…debd:16
feePlan details
ResolveDispute
func(pid uint64, contractID string, milestone int, refund bool)ResolveDispute settles one disputed milestone: refund pays the client the whole amount, otherwise the freelancer is paid less the fee. Either way escrow pays out at most the milestone's amount, which is checked. A milestone is disputed at most once (a resolution is final); binding the height of that dispute means no approval can be voted before it exists.
- OID
- 07379d…debd:17
ResolveDispute details
disputePlan
func(contractID string, milestone int, refund bool) (memba_bridge_v1.plan, int64)disputePlan returns the approval and the milestone's amount.
- OID
- 07379d…debd:18
disputePlan details
escrowBalance
func() int64- OID
- 07379d…debd:19
escrowBalance details
ProposeFeeRecipient
func(pid uint64, addr .uverse.address)ProposeFeeRecipient stages escrow's fallback fee recipient, used only when market\_config's treasury is unusable.
- OID
- 07379d…debd:20
ProposeFeeRecipient details
feeRecipientPlan
func(addr .uverse.address) memba_bridge_v1.plan- OID
- 07379d…debd:21
feeRecipientPlan details
CancelFeeRecipient
func(pid uint64)- OID
- 07379d…debd:22
CancelFeeRecipient details
cancelFeeRecipientPlan
func() memba_bridge_v1.plan- OID
- 07379d…debd:23
cancelFeeRecipientPlan details
HideReview
func(pid uint64, id uint64)- OID
- 07379d…debd:24
HideReview details
HideComment
func(pid uint64, id uint64)- OID
- 07379d…debd:25
HideComment details
Unhide
func(pid uint64, id uint64)Unhide shows an item again and dismisses its flags.
- OID
- 07379d…debd:26
Unhide details
moderate
func(pid uint64, op string, id uint64)moderate binds the item's kind and visibility; Unhide, which shows the item again, also binds its content, so an author editing it can neither void a hide vote nor slip new text past an unhide vote.
- OID
- 07379d…debd:27
moderate details
moderationPlan
func(op string, id uint64) memba_bridge_v1.plan- OID
- 07379d…debd:28
moderationPlan details
SetQuestSigner
func(pid uint64, pubKeyHex string)SetQuestSigner rotates the key every quest voucher is checked against.
- OID
- 07379d…debd:29
SetQuestSigner details
signerPlan
func(pubKeyHex string) memba_bridge_v1.plan- OID
- 07379d…debd:30
signerPlan details
AddMember
func(pid uint64, app string, addr .uverse.address, roles string)AddMember adds a new member; it never rewrites an existing member's roles.
- OID
- 07379d…debd:31
AddMember details
RemoveMember
func(pid uint64, app string, addr .uverse.address)- OID
- 07379d…debd:32
RemoveMember details
SetRoles
func(pid uint64, app string, addr .uverse.address, roles string)- OID
- 07379d…debd:33
SetRoles details
member
func(pid uint64, app string, op string, who .uverse.address, roles string)- OID
- 07379d…debd:34
member details
memberPlan
func(app string, op string, who .uverse.address, roles string) memba_bridge_v1.plan- OID
- 07379d…debd:35
memberPlan details
validRoles
func(r string) boolvalidRoles accepts a non-empty, ordered, duplicate-free subset of admin,dev,ops,member.
- OID
- 07379d…debd:36
validRoles details
CreateChannel
func(pid uint64, app string, name string, description string, ctype string)CreateChannel adds a channel. Channels are permanent (at most 20).
- OID
- 07379d…debd:37
CreateChannel details
channelPlan
func(app string, name string, description string, ctype string) memba_bridge_v1.plan- OID
- 07379d…debd:38
channelPlan details
channelName
func(name string) boolchannelName is the apps' own channel-name rule.
- OID
- 07379d…debd:39
channelName details
appMarket
untyped stringValue
"memba_market_config"
appEscrow
untyped stringValue
"escrow_v4"
appAppstore
untyped stringValue
"memba_appstore_v3"
appReviews
untyped stringValue
"memba_reviews_v2"
appQuest
untyped stringValue
"memba_quest_attestation_v1"
appArcade
untyped stringValue
"memba_arcade_leaderboard_v1"
appBadges
untyped stringValue
"gnobuilders_badges_v2"
appFeed
untyped stringValue
"memba_feed_v1"
appChannels
untyped stringValue
"memba_dao_channels_v2"
appFeedback
untyped stringValue
"memba_feedback_v2"
self
.uverse.addressValue
<gnolang.StringValue>
apps
[]string- OID
- 07379d…debd:42
apps details
protected
map[.uverse.address]bool- OID
- 07379d…debd:44
protected details
tenure
map[string]uint64// app -> times the bridge accepted it
- OID
- 07379d…debd:46
tenure details
pausedUntil
map[string]time.Time// app -> end of the bridge's pause
- OID
- 07379d…debd:48
pausedUntil details
episodes
map[string]uint64// app -> pauses the bridge started
- OID
- 07379d…debd:50
episodes details
lastPause
map[string]time.Time// member id -> last emergency pause
- OID
- 07379d…debd:52
lastPause details
init.53
func()- OID
- 07379d…debd:53
init.53 details
direct
func() .uverse.address- OID
- 07379d…debd:55
direct details
plan
typeA plan is the approval one governed call needs: action app.op, args (completed by the app's tenure, which voids approvals voted while the app was away), the invalidation scope and the minimum class.
Value
memba_bridge_v1.plan
newPlan
func(app string, op string, args *daoauth.Args, scope string, class int) memba_bridge_v1.plannewPlan refuses an approval for an app the bridge does not govern now: no call could consume it.
- OID
- 07379d…debd:56
newPlan details
approve
func(pid uint64, p memba_bridge_v1.plan)approve consumes proposal pid for p; memba\_gov checks the executor, the bridge's direct caller, is a seated member.
- OID
- 07379d…debd:57
approve details
Approval
func(call string) stringApproval returns, as JSON, the proposal a governed entrypoint call would consume if made now: target this realm, with the action, args, scope and minimum class given. call is the entrypoint's name and its arguments after pid, daoauth-encoded in order (strings s:, addresses a:, integers i: or u:, booleans b:). It refuses a call its entrypoint would refuse before voting, and holds only while the state it binds is unchanged.
- OID
- 07379d…debd:58
Approval details
call
typecall reads an Approval call's fields in order, each with its tag.
Value
memba_bridge_v1.call
parseCall
func(s string) *memba_bridge_v1.call- OID
- 07379d…debd:59
parseCall details
quote
func(s string) stringquote returns s, printable ASCII, as a JSON string with \< > & escaped.
- OID
- 07379d…debd:60
quote details
checkApp
func(app string)- OID
- 07379d…debd:61
checkApp details
arg
func(a .uverse.address) .uverse.address- OID
- 07379d…debd:62
arg details
canonical
func(a .uverse.address) .uverse.address- OID
- 07379d…debd:63
canonical details
Accept
func(app string)Accept takes the admin role the 2-of-3 nominated the bridge for. It needs no vote: the nomination is the decision. A paused app is refused: only a pause the bridge started can be ended by its rules.
- OID
- 07379d…debd:64
Accept details
TransferAdmin
func(pid uint64, app string, to .uverse.address)TransferAdmin stages to as the app's next admin: the 2-of-3, a successor bridge, or anyone the DAO names. The recipient accepts by its own call.
- OID
- 07379d…debd:65
TransferAdmin details
transferPlan
func(app string, to .uverse.address) memba_bridge_v1.plan- OID
- 07379d…debd:66
transferPlan details
CancelTransfer
func(pid uint64, app string)CancelTransfer withdraws a staged admin before the recipient accepts.
- OID
- 07379d…debd:67
CancelTransfer details
cancelPlan
func(app string) memba_bridge_v1.plan- OID
- 07379d…debd:68
cancelPlan details
governs
func(app string) boolgoverns reports whether the bridge is app's admin now.
- OID
- 07379d…debd:69
governs details
pendingAdmin
func(app string) string- OID
- 07379d…debd:70
pendingAdmin details
EmergencyPause
func(app string)EmergencyPause pauses app for 7 days, without a vote. Each member may use it once per 30 days, so one key cannot keep an app closed.
- OID
- 07379d…debd:71
EmergencyPause details
SetPause
func(pid uint64, app string, until int64)SetPause ends the bridge's pause of app now (until = 0) or keeps app paused until the unix time until, at most 30 days ahead. The approval names the pause episode, so it never ends a later pause.
- OID
- 07379d…debd:72
SetPause details
pausePlan
func(app string, until int64) memba_bridge_v1.plan- OID
- 07379d…debd:73
pausePlan details
ExpirePause
func(app string)ExpirePause lets anyone end the bridge's pause of app once it is over. A SetPause that keeps app paused longer must execute before then. Once the bridge no longer governs app, its record no longer applies: anyone drops it, and the app, now its new admin's, is left as it is.
- OID
- 07379d…debd:74
ExpirePause details
hasPause
func(app string) bool- OID
- 07379d…debd:75
hasPause details
isPaused
func(app string) bool- OID
- 07379d…debd:76
isPaused details
setPaused
func(app string, on bool)- OID
- 07379d…debd:77
setPaused details
unixOf
func(t time.Time) int64- OID
- 07379d…debd:78
unixOf details
PausedUntil
func(app string) int64PausedUntil returns the unix end of the bridge's pause of app, or 0 (also once the bridge no longer governs app).
- OID
- 07379d…debd:79
PausedUntil details
PauseEpisode
func(app string) uint64PauseEpisode returns how many pauses of app the bridge has started; a SetPause approval binds it.
- OID
- 07379d…debd:80
PauseEpisode details
Tenure
func(app string) uint64Tenure returns how many times the bridge has accepted app; every approval for app binds it as its last argument.
- OID
- 07379d…debd:81
Tenure details
Render
func(string) string- OID
- 07379d…debd:82
Render details
EmergencyPauseFor
time.Duration// escrow keeps exits closed this long
Value
<zero>
PauseAllowance
time.Duration// one emergency pause per member per period
Value
<zero>
MaxPauseAhead
time.DurationThe pause durations, in their own file so a node fixture, which cannot wait days, can replace this file alone; TestProductionDurations pins them.
Value
<zero>