arentweall
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee
  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    --- title: v2 subgraph schema annotations --- # v2 Subgraph Schema Annotations ``` graphql type Moloch @entity { "unique identifier and primary key of the entity" id: ID! "version of moloch contract (v1, v2, v2.1, v2.2)" version: String "address that created the dao" summoner: Bytes! "deprecated" newContract: String "deprecated" deleted: Boolean "timestamp of the block when the dao was summoned - duplicated" summoningTime: BigInt! "timestamp of the block when the dao was summoned" createdAt: String! "length in seconds of the current voting period and grace period" periodDuration: BigInt! "length in seconds of the current voting period" votingPeriodLength: BigInt! "length in seconds of the current grace period" gracePeriodLength: BigInt! "deposit amount required to submit a proposal" proposalDeposit: BigInt! "(1/dilutionBound) is the minimum membership treshold for a ragequit to pass" dilutionBound: BigInt! "reward amount for processing a proposal" processingReward: BigInt! "token address for the dao's primary token" depositToken: Token! "approved tokens scoped to this dao" approvedTokens: [Token!]! "the dao's treasury address" guildBankAddress: Bytes "deprecated" guildBankBalanceV1: BigInt "tokens scoped to this dao" tokens: [Token!]! @derivedFrom(field: "moloch") "member addresses scoped to this dao" members: [Member!] @derivedFrom(field: "moloch") "token balances scoped to this dao" tokenBalances: [TokenBalance!] @derivedFrom(field: "moloch") "proposals scoped to this dao" proposals: [Proposal!] @derivedFrom(field: "moloch") "ragequits scoped to this dao" rageQuits: [RageQuit!] @derivedFrom(field: "moloch") "minion addresses scoped to this dao" minions: [Minion!] @derivedFrom(field: "moloch") "shamans scoped to this dao" shamans: [Shaman!] @derivedFrom(field: "moloch") "documents scoped to this dao" documents: [Content!] @derivedFrom(field: "moloch") "total circulating shares tokens" totalShares: BigInt! "total circulating loot tokens" totalLoot: BigInt! "boolean value of whether v2.2 is set up" v22Setup: Boolean "unused - address that receives tributes for submitting a proposal" spamPreventionAddress: Bytes "unused - tribute amount required for submitting a proposal" spamPreventionAmount: BigInt } type TokenBalance @entity { "unique identifier and primary key of the entity" id: ID! "moloch dao scoped to this token balance" moloch: Moloch! "token scoped to this token balance" token: Token! "amount of tokens in balance" tokenBalance: BigInt! "address of the associated member" member: Member "boolean value of whether the token balance belongs to the moloch dao" guildBank: Boolean! "boolean value of whether the token balance belongs in the escrow" ecrowBank: Boolean! "boolean value of whether the token balance belongs to the member" memberBank: Boolean! } type Token @entity { "unique identifier and primary key of the entity" id: ID! "moloch dao scoped to this token" moloch: Moloch! "token address" tokenAddress: Bytes! "boolean value of whether token is whitelisted" whitelisted: Boolean! "token symbol" symbol: String "token decimals" decimals: BigInt } type Member @entity { "unique identifier and primary key of the entity" id: ID! "timestamp when the member was created" createdAt: String! "moloch dao scoped to this member" moloch: Moloch! "related dao address" molochAddress: Bytes! "address of the member" memberAddress: Bytes! "address that has received delegated shares from the member (most often, the member's own address) delegateKey: Bytes! "current shares held by the member" shares: BigInt! "current loot held by the member" loot: BigInt! "deprecated" exists: Boolean! "latest proposal that the member has voted yes on (helper value for disabling ragequit if member has a yes vote on an active proposal)" highestIndexYesVote: Proposal "amount of token tributed when the member first joined the dao" tokenTribute: BigInt! "boolean value of whether member ragequit from the dao" didRagequit: Boolean! "votes scoped to this member" votes: [Vote!] @derivedFrom(field: "member") "submitted proposals scoped to this member" submissions: [Proposal!] @derivedFrom(field: "member") "token balances scoped to this member" tokenBalances: [TokenBalance!] @derivedFrom(field: "member") "rage quits scoped to this member" rageQuits: [RageQuit!] @derivedFrom(field: "member") "boolean value of whether member was proposed to be kicked from the dao" proposedToKick: Boolean "boolean value of whether member was kicked from the dao" kicked: Boolean "proposal index of the proposal that kicked the member from the dao (0 if member is unkicked)" jailed: BigInt "moloch dao address (if the member is a dao)" isDao: Moloch "safe minion address (if the member is a safe minion)" isSafeMinion: SafeMinion } type Vote @entity { "unique identifier and primary key of the entity" id: ID! "block timestamp when the vote was submitted" createdAt: String! "related proposal" proposal: Proposal! "related/voting member" member: Member! "whether the dao member has voted yes or no (1 for yes, 2 for no)" uintVote: Int! "contract address of the DAO related to this vote" molochAddress: Bytes! "related/voting member address" memberAddress: Bytes "member's proportional share of all dao shares at time of vote" memberPower: BigInt "order that the proposal went through sponsorship process" proposalIndex: BigInt "address that has received delegated shares from the member (most often, the member's own address)" delegateKey: Bytes } type Proposal @entity { "unique identifier and primary key of the entity" id: ID! "block timestamp when the proposal was submitted" createdAt: String! "address that submitted the proposal" createdBy: Bytes! "order that the proposal went through sponsorship process" proposalIndex: BigInt "id of the proposal" proposalId: BigInt! "moloch dao scoped to this proposal" moloch: Moloch! "contract address of the DAO related to this proposal" molochAddress: Bytes! "member scoped to this proposal" member: Member! "address of associated member" memberAddress: Bytes! "address that has received delegated shares from the member (most often, the member's own address) delegateKey: Bytes! "address of the proposal applicant" applicant: Bytes! "address of the proposal proposer" proposer: Bytes "address of the proposal sponsor" sponsor: Bytes! "address of the proposal processor" processor: Bytes "amount of shares requested in this proposal" sharesRequested: BigInt! "amount of loot requested in this proposal" lootRequested: BigInt! "amount of tribute offered in this proposal" tributeOffered: BigInt! "address of tribute token" tributeToken: Bytes! "symbol of tribute token" tributeTokenSymbol: String "decimals of tribute token" tributeTokenDecimals: BigInt "amount of payment requested" paymentRequested: BigInt! "address of payment token requested" paymentToken: Bytes! "symbol of payment token requested" paymentTokenSymbol: String "decimals of payment token" paymentTokenDecimals: BigInt "timestamp when the proposal enters the proposal queue" startingPeriod: BigInt "amount of current shares that have voted yes" yesVotes: BigInt! "amount of current shares that have voted no" noVotes: BigInt! "boolean value of whether proposal was sponsored" sponsored: Boolean! "block timestamp when the proposal was sponsored" sponsoredAt: String "boolean value of whether proposal was processed" processed: Boolean! "block timestamp when the proposal was processed" processedAt: String "boolean value of whether proposal was passed" didPass: Boolean! "boolean value of whether proposal was cancelled" cancelled: Boolean "block timestamp when the proposal was cancelled" cancelledAt: String "boolean value of whether this proposal is aborted" aborted: Boolean "boolean value of whether this proposal is a whitelist token proposal" whitelist: Boolean "boolean value of whether this proposal is a guildkick proposal" guildkick: Boolean "boolean value of whether this proposal is a new member proposal" newMember: Boolean "boolean value of whether this proposal is a trade proposal" trade: Boolean "unused" guildkickOrWhitelistOrMinion: Boolean "proposal details scoped to this proposal" details: String "total dao shares and loot at time of yes vote (helper value for dilution bound calculation)" maxTotalSharesAndLootAtYesVote: BigInt "votes scoped to this proposal" votes: [Vote!] @derivedFrom(field: "proposal") "number of shares that voted yes" yesShares: BigInt! "number of shares that voted no" noShares: BigInt! "timestamp when the voting period starts" votingPeriodStarts: BigInt! "timestamp when the voting period ends" votingPeriodEnds: BigInt! "timestamp when the grace period ends" gracePeriodEnds: BigInt! "version of the moloch dao" molochVersion: String! "boolean value of whether this is a minion proposal" isMinion: Boolean! "unused" uberHausMinionExecuted: Boolean "boolean value of whether the proposal is executed (for minion proposals only)" executed: Boolean "minion address" minionAddress: Bytes "transaction hash scoped to the minion execution for this proposal" minionExecuteActionTx: MolochTransaction "minion object scoped to this proposal" minion: Minion "escrow minion that holds a nft tribute for a new member proposal" escrow: ProposalEscrow @derivedFrom(field: "proposal") "minion action scoped to this proposal" actions: [MinionAction!] @derivedFrom(field: "proposal") } type RageQuit @entity { "unique identifier and primary key of the entity" id: ID! "block timestamp when the member rage quit" createdAt: String! "moloch dao scoped to this ragequit" moloch: Moloch! "related dao address" molochAddress: Bytes! "member scoped to this ragequit" member: Member! "related member address" memberAddress: Bytes! "number of shares ragequit" shares: BigInt! "number of loot ragequit" loot: BigInt! } type DaoMeta @entity { "unique identifier and primary key of the entity" id: ID! "deprecated" title: String "deprecated" version: String "deprecated" newContract: String "deprecated" http: String } type Minion @entity { "unique identifier and primary key of the entity" id: ID! "timestamp of the block when the minion was summoned" createdAt: String! "minion address" minionAddress: Bytes! "related dao address" molochAddress: Bytes! "moloch dao scoped to this minion" moloch: Moloch! "name of the minion" details: String! "type of minion" minionType: String! "proposals scoped to this minion" proposals: [Proposal!] @derivedFrom(field: "minion") "address of uberhaus dao" uberHausAddress: Bytes "deprecated" uberHaus: Moloch "deprecated" uberHausDelegateRewardFactor: BigInt "deprecated" uberHausDelegate: Bytes "address of related safe" safeAddress: Bytes "version of the safe minion" safeMinionVersion: String "boolean value of whether this minion is a cross-chain minion" crossChainMinion: Boolean! "chain id of the foreign chain" foreignChainId: String "safe address on the foreign chain" foreignSafeAddress: Bytes "bridge module address for a cross-chain minion" bridgeModule: String "version of the minion" version: String "minimum quorum percentage of the minion" minQuorum: BigInt "minion stream scoped to this minion" streams: [MinionStream!] @derivedFrom(field: "minion") } type MinionStream @entity { "unique identifier and primary key of the entity" id: ID! "related proposal id" proposalId: String! "block id when the minion stream was created" createdAt: String! "recipient address of minion stream" to: Bytes! "token address of minion stream" tokenAddress: Bytes! "token address of super token" superTokenAddress: Bytes! "rate of minion stream per block" rate: BigInt! "minimum deposit amount to start the minion stream" minDeposit: BigInt! "member address that proposed the minion stream" proposer: Bytes! "boolean value of whether the minion stream was executed" executed: Boolean! "block id when the minion stream was executed" executedBlock: BigInt "block timestamp when the minion stream was executed" executedAt: String "transaction hash when the minion stream was executed" execTxHash: Bytes "boolean value of whether the minion stream is active" active: Boolean! "transaction hash of cancellation of the minion stream" ctx: Bytes! "block timestamp when the minion stream was cancelled" canceledAt: String "transaction hash hen the minion stream was cancelled" canceledBy: Bytes "minion scoped to this minion stream" minion: Minion! } type SafeMinion @entity { "unique identifier and primary key of the entity" id: ID! "minion scoped to this safe minion" minions: [Minion!]! } type MolochTransaction @entity { "unique identifier and primary key of the entity" id: ID! "block timestamp when the moloch transaction was created" createdAt: String! } type ProposalEscrow @entity { "unique identifier and primary key of the entity" id: ID! "proposal scoped to this proposal escrow" proposal: Proposal! "address of the associated minion" minionAddress: Bytes! "address of the associated moloch dao" molochAddress: Bytes! "address of the user who proposed this proposal escrow" proposer: Bytes! "address of the associated token" tokenAddresses: [Bytes!] "token standards for tokens in escrow (1 for erc-20, 2 for erc-721, 3 for erc-1155)" tokenTypes: [BigInt!] "token IDs for tokens in escrow" tokenIds: [BigInt!] "amounts for tokens in escrow" amounts: [BigInt!] } type MinionAction @entity { "unique identifier and primary key of the entity" id: ID! "proposal scoped to this minion action" proposal: Proposal! "related minion address" minionAddress: Bytes! "related dao address" molochAddress: Bytes! "target address of the minion action" target: Bytes! "address of the token withdrawn from this minion action" withdrawToken: Bytes! "value of the token withdrawn from this minion action" withdrawValue: BigInt! "encoded data for minion action" data: String! "boolean value on whether the proposal can be executed by members only" memberOnly: Boolean! "order of the minion action" index: BigInt! } type Shaman @entity { "unique identifier and primary key of the entity" id: ID! "block timestamp when the shaman was added" createdAt: String! "address of the shaman" shamanAddress: Bytes! "related dao address" molochAddress: Bytes! "moloch dao scoped to this shaman" moloch: Moloch! "boolean value of whether this shaman is enabled" enabled: Boolean! } type Content @entity { "unique identifier and primary key of the entity" id: ID! "block timestamp when the content was created" createdAt: String! "transaction hash when the content was created" transactionHash: Bytes! "related dao address" molochAddress: String "moloch dao scoped to this content" moloch: Moloch "related member address" memberAddress: Bytes! "content of the content" content: String! "type of the content" contentType: String! "location of the content" location: String! "title of the content" title: String "description of the content" description: String "boolean value of whether the content is ratified by the dao" ratified: Boolean! "raw content of the content before parsing" rawData: String! } ```

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully