Mina
Namespace: Mina
Table of contents
Interfaces
Type Aliases
Variables
Functions
- BerkeleyQANet
- LocalBlockchain
- Network
- accountCreationFee
- createTransaction
- currentSlot
- currentTransaction
- faucet
- fetchActions
- fetchEvents
- filterGroups
- getAccount
- getActions
- getBalance
- getNetworkConstants
- getNetworkId
- getNetworkState
- getProofsEnabled
- hasAccount
- sendTransaction
- sender
- setActiveInstance
- transaction
- waitForFunding
Type Aliases
ActionStates
Ƭ ActionStates: Object
Type declaration
| Name | Type | 
|---|---|
| endActionState? | Field | 
| fromActionState? | Field | 
Defined in
CurrentTransaction
Ƭ CurrentTransaction: Object
Type declaration
| Name | Type | 
|---|---|
| accountUpdates | AccountUpdate[] | 
| fetchMode | FetchMode | 
| isFinalRunOutsideCircuit | boolean | 
| numberOfRuns | 0|1|undefined | 
| sender? | PublicKey | 
Defined in
FeePayerSpec
Ƭ FeePayerSpec: PublicKey | { fee?: number | string | UInt64 ; memo?: string ; nonce?: number ; sender: PublicKey  } | undefined
Allows you to specify information about the fee payer account and the transaction.
Defined in
NetworkConstants
Ƭ NetworkConstants: Object
Type declaration
| Name | Type | Description | 
|---|---|---|
| accountCreationFee | UInt64 | - | 
| genesisTimestamp | UInt64 | - | 
| slotTime | UInt64 | Duration of 1 slot in milliseconds | 
Defined in
Transaction
Ƭ Transaction: Object
Type declaration
| Name | Type | Description | 
|---|---|---|
| transaction | ZkappCommand | Transaction structure used to describe a state transition on the Mina blockchain. | 
| prove | () => Promise\<(undefined|Proof\<ZkappPublicInput,undefined>)[]> | Generates proofs for the Transaction. This can take some time. | 
| send | () => Promise\<TransactionId> | Sends the Transaction to the network. | 
| sign | ( additionalKeys?:PrivateKey[]) =>Transaction | Signs all AccountUpdates included in the Transaction that require a signature. AccountUpdates that require a signature can be specified with {AccountUpdate\|SmartContract}.requireSignature(). | 
| toGraphqlQuery | () => string | Returns the GraphQL query for the Mina daemon. | 
| toJSON | () => string | Returns a JSON representation of the Transaction. | 
| toPretty | () => any | Returns a pretty-printed JSON representation of the Transaction. | 
Defined in
Variables
Transaction
• Transaction: Object
Type declaration
| Name | Type | 
|---|---|
| fromJSON | ( json:ZkappCommand) =>Transaction | 
Defined in
activeInstance
• activeInstance: Mina
Defined in
Functions
BerkeleyQANet
▸ BerkeleyQANet(graphqlEndpoint): Mina
Parameters
| Name | Type | 
|---|---|
| graphqlEndpoint | string | 
Returns
Mina
Deprecated
This is deprecated in favor of Network, which is exactly the same function.
The name BerkeleyQANet was misleading because it suggested that this is specific to a particular network.
Defined in
LocalBlockchain
▸ LocalBlockchain(«destructured»?): Object
A mock Mina blockchain running locally and useful for testing.
Parameters
| Name | Type | 
|---|---|
| «destructured» | Object | 
| › enforceTransactionLimits | undefined|boolean | 
| › networkId | undefined|NetworkId | 
| › proofsEnabled | undefined|boolean | 
Returns
Object
| Name | Type | 
|---|---|
| accountCreationFee | () => UInt64 | 
| addAccount | ( publicKey:PublicKey,balance:string) =>void | 
| getNetworkId | () => NetworkId | 
| proofsEnabled | boolean | 
| testAccounts | { privateKey:PrivateKey;publicKey:PublicKey}[] | 
| applyJsonTransaction | ( json:string) =>void | 
| currentSlot | () => UInt32 | 
| fetchActions | ( publicKey:PublicKey,actionStates?:ActionStates,tokenId:Field) =>Promise\<{actions:string[][] ;hash:string}[]> | 
| fetchEvents | ( publicKey:PublicKey,tokenId:Field) =>Promise\<any> | 
| getAccount | ( publicKey:PublicKey,tokenId:Field) =>Account | 
| getActions | ( publicKey:PublicKey,actionStates?:ActionStates,tokenId:Field) => {actions:string[][] ;hash:string}[] | 
| getNetworkConstants | () => { accountCreationFee:UInt64;genesisTimestamp:UInt64;slotTime:UInt64} | 
| getNetworkState | () => PreconditionBaseTypes\<{blockchainLength: {isSome:Bool;value: {lower:UInt32;upper:UInt32}  } ;globalSlotSinceGenesis: {isSome:Bool;value: {lower:UInt32;upper:UInt32}  } ;minWindowDensity: {isSome:Bool;value: {lower:UInt32;upper:UInt32}  } ;nextEpochData: {epochLength: {isSome:Bool;value: {lower:UInt32;upper:UInt32}  } ;ledger: {hash: {isSome:Bool;value:Field} ;totalCurrency: {isSome:Bool;value: {lower:UInt64;upper:UInt64}  }  } ;lockCheckpoint: {isSome:Bool;value:Field} ;seed: {isSome:Bool;value:Field} ;startCheckpoint: {isSome:Bool;value:Field}  } ;snarkedLedgerHash: {isSome:Bool;value:Field} ;stakingEpochData: {epochLength: {isSome:Bool;value: {lower:UInt32;upper:UInt32}  } ;ledger: {hash: {isSome:Bool;value:Field} ;totalCurrency: {isSome:Bool;value: {lower:UInt64;upper:UInt64}  }  } ;lockCheckpoint: {isSome:Bool;value:Field} ;seed: {isSome:Bool;value:Field} ;startCheckpoint: {isSome:Bool;value:Field}  } ;totalCurrency: {isSome:Bool;value: {lower:UInt64;upper:UInt64}  }  }> | 
| hasAccount | ( publicKey:PublicKey,tokenId:Field) =>boolean | 
| incrementGlobalSlot | ( increment:number|UInt32) =>void | 
| sendTransaction | ( txn:Transaction) =>Promise\<TransactionId> | 
| setBlockchainLength | ( height:UInt32) =>void | 
| setGlobalSlot | ( slot:number|UInt32) =>void | 
| setProofsEnabled | ( newProofsEnabled:boolean) =>void | 
| setTotalCurrency | ( currency:UInt64) =>void | 
| transaction | ( sender:DeprecatedFeePayerSpec,f: () =>void) =>Promise\<Transaction> | 
Defined in
Network
▸ Network(graphqlEndpoint): Mina
Represents the Mina blockchain running on a real network
Parameters
| Name | Type | 
|---|---|
| graphqlEndpoint | string | 
Returns
Mina
Defined in
▸ Network(options): Mina
Parameters
| Name | Type | 
|---|---|
| options | Object | 
| options.archive? | string|string[] | 
| options.lightnetAccountManager? | string | 
| options.mina | string|string[] | 
| options.networkId? | NetworkId | 
Returns
Mina
Defined in
accountCreationFee
▸ accountCreationFee(): UInt64
Returns the default account creation fee.
Returns
Deprecated
Defined in
createTransaction
▸ createTransaction(feePayer, f, numberOfRuns, «destructured»?): Transaction
Parameters
| Name | Type | 
|---|---|
| feePayer | DeprecatedFeePayerSpec | 
| f | () => unknown | 
| numberOfRuns | undefined|0|1 | 
| «destructured» | Object | 
| › fetchMode | undefined|FetchMode | 
| › isFinalRunOutsideCircuit | undefined|boolean | 
| › proofsEnabled | undefined|boolean | 
Returns
Defined in
currentSlot
▸ currentSlot(): UInt32
Returns
The current slot number, according to the active Mina instance.
Defined in
currentTransaction
▸ currentTransaction(): undefined | CurrentTransaction
Returns
undefined | CurrentTransaction
Defined in
faucet
▸ faucet(pub, network?): Promise\<void>
Requests the testnet faucet to fund a public key.
Parameters
| Name | Type | Default value | 
|---|---|---|
| pub | PublicKey | undefined | 
| network | string | 'berkeley-qanet' | 
Returns
Promise\<void>
Defined in
fetchActions
▸ fetchActions(publicKey, actionStates?, tokenId?): Promise\<{ actions: string[][] ; hash: string  }[] | { error: { statusCode: number = 404; statusText: string  }  }>
Parameters
| Name | Type | 
|---|---|
| publicKey | PublicKey | 
| actionStates? | ActionStates | 
| tokenId? | Field | 
Returns
Promise\<{ actions: string[][] ; hash: string  }[] | { error: { statusCode: number = 404; statusText: string  }  }>
A list of emitted sequencing actions associated to the given public key.
Defined in
fetchEvents
▸ fetchEvents(publicKey, tokenId, filterOptions?): Promise\<{ blockHash: string = event.blockInfo.stateHash; blockHeight: UInt32 ; chainStatus: string = event.blockInfo.chainStatus; events: { data: string[] ; transactionInfo: { hash: string ; memo: string ; status: string  }  }[] ; globalSlot: UInt32 ; parentBlockHash: string = event.blockInfo.parentHash }[]>
Parameters
| Name | Type | 
|---|---|
| publicKey | PublicKey | 
| tokenId | Field | 
| filterOptions | EventActionFilterOptions | 
Returns
Promise\<{ blockHash: string = event.blockInfo.stateHash; blockHeight: UInt32 ; chainStatus: string = event.blockInfo.chainStatus; events: { data: string[] ; transactionInfo: { hash: string ; memo: string ; status: string  }  }[] ; globalSlot: UInt32 ; parentBlockHash: string = event.blockInfo.parentHash }[]>
A list of emitted events associated to the given public key.
Defined in
filterGroups
▸ filterGroups(xs): Object
Parameters
| Name | Type | 
|---|---|
| xs | AuthorizationKind[] | 
Returns
Object
| Name | Type | 
|---|---|
| proof | number | 
| signedPair | number | 
| signedSingle | number | 
Defined in
getAccount
▸ getAccount(publicKey, tokenId?): Account
Parameters
| Name | Type | 
|---|---|
| publicKey | PublicKey | 
| tokenId? | Field | 
Returns
Account
The account data associated to the given public key.
Defined in
getActions
▸ getActions(publicKey, actionStates?, tokenId?): { actions: string[][] ; hash: string  }[]
Parameters
| Name | Type | 
|---|---|
| publicKey | PublicKey | 
| actionStates? | ActionStates | 
| tokenId? | Field | 
Returns
{ actions: string[][] ; hash: string  }[]
A list of emitted sequencing actions associated to the given public key.
Defined in
getBalance
▸ getBalance(publicKey, tokenId?): UInt64
Parameters
| Name | Type | 
|---|---|
| publicKey | PublicKey | 
| tokenId? | Field | 
Returns
The balance associated to the given public key.
Defined in
getNetworkConstants
▸ getNetworkConstants(): NetworkConstants
Returns
Data associated with the current Mina network constants.
Defined in
getNetworkId
▸ getNetworkId(): NetworkId
Returns
NetworkId
The current Mina network ID.
Defined in
getNetworkState
▸ getNetworkState(): PreconditionBaseTypes\<{ blockchainLength: { isSome: Bool ; value: { lower: UInt32 ; upper: UInt32  }  } ; globalSlotSinceGenesis: { isSome: Bool ; value: { lower: UInt32 ; upper: UInt32  }  } ; minWindowDensity: { isSome: Bool ; value: { lower: UInt32 ; upper: UInt32  }  } ; nextEpochData: { epochLength: { isSome: Bool ; value: { lower: UInt32 ; upper: UInt32  }  } ; ledger: { hash: { isSome: Bool ; value: Field  } ; totalCurrency: { isSome: Bool ; value: { lower: UInt64 ; upper: UInt64  }  }  } ; lockCheckpoint: { isSome: Bool ; value: Field  } ; seed: { isSome: Bool ; value: Field  } ; startCheckpoint: { isSome: Bool ; value: Field  }  } ; snarkedLedgerHash: { isSome: Bool ; value: Field  } ; stakingEpochData: { epochLength: { isSome: Bool ; value: { lower: UInt32 ; upper: UInt32  }  } ; ledger: { hash: { isSome: Bool ; value: Field  } ; totalCurrency: { isSome: Bool ; value: { lower: UInt64 ; upper: UInt64  }  }  } ; lockCheckpoint: { isSome: Bool ; value: Field  } ; seed: { isSome: Bool ; value: Field  } ; startCheckpoint: { isSome: Bool ; value: Field  }  } ; totalCurrency: { isSome: Bool ; value: { lower: UInt64 ; upper: UInt64  }  }  }>
Returns
PreconditionBaseTypes\<{ blockchainLength: { isSome: Bool ; value: { lower: UInt32 ; upper: UInt32  }  } ; globalSlotSinceGenesis: { isSome: Bool ; value: { lower: UInt32 ; upper: UInt32  }  } ; minWindowDensity: { isSome: Bool ; value: { lower: UInt32 ; upper: UInt32  }  } ; nextEpochData: { epochLength: { isSome: Bool ; value: { lower: UInt32 ; upper: UInt32  }  } ; ledger: { hash: { isSome: Bool ; value: Field  } ; totalCurrency: { isSome: Bool ; value: { lower: UInt64 ; upper: UInt64  }  }  } ; lockCheckpoint: { isSome: Bool ; value: Field  } ; seed: { isSome: Bool ; value: Field  } ; startCheckpoint: { isSome: Bool ; value: Field  }  } ; snarkedLedgerHash: { isSome: Bool ; value: Field  } ; stakingEpochData: { epochLength: { isSome: Bool ; value: { lower: UInt32 ; upper: UInt32  }  } ; ledger: { hash: { isSome: Bool ; value: Field  } ; totalCurrency: { isSome: Bool ; value: { lower: UInt64 ; upper: UInt64  }  }  } ; lockCheckpoint: { isSome: Bool ; value: Field  } ; seed: { isSome: Bool ; value: Field  } ; startCheckpoint: { isSome: Bool ; value: Field  }  } ; totalCurrency: { isSome: Bool ; value: { lower: UInt64 ; upper: UInt64  }  }  }>
Data associated with the current state of the Mina network.
Defined in
getProofsEnabled
▸ getProofsEnabled(): boolean
Returns
boolean
Defined in
hasAccount
▸ hasAccount(publicKey, tokenId?): boolean
Checks if an account exists within the ledger.
Parameters
| Name | Type | 
|---|---|
| publicKey | PublicKey | 
| tokenId? | Field | 
Returns
boolean
Defined in
sendTransaction
▸ sendTransaction(txn): Promise\<TransactionId>
Parameters
| Name | Type | 
|---|---|
| txn | Transaction | 
Returns
Promise\<TransactionId>
Defined in
sender
▸ sender(): PublicKey
Returns the public key of the current transaction's sender account.
Throws an error if not inside a transaction, or the sender wasn't passed in.
Returns
Defined in
setActiveInstance
▸ setActiveInstance(m): void
Set the currently used Mina instance.
Parameters
| Name | Type | 
|---|---|
| m | Mina | 
Returns
void
Defined in
transaction
▸ transaction(sender, f): Promise\<Transaction>
Construct a smart contract transaction. Within the callback passed to this function, you can call into the methods of smart contracts.
let tx = await Mina.transaction(sender, () => {
  myZkapp.update();
  someOtherZkapp.someOtherMethod();
});
Parameters
| Name | Type | 
|---|---|
| sender | FeePayerSpec | 
| f | () => void | 
Returns
Promise\<Transaction>
A transaction that can subsequently be submitted to the chain.
Defined in
▸ transaction(f): Promise\<Transaction>
Parameters
| Name | Type | 
|---|---|
| f | () => void | 
Returns
Promise\<Transaction>
Defined in
▸ transaction(sender, f): Promise\<Transaction>
Parameters
| Name | Type | 
|---|---|
| sender | DeprecatedFeePayerSpec | 
| f | () => void | 
Returns
Promise\<Transaction>
Deprecated
It's deprecated to pass in the fee payer's private key. Pass in the public key instead.
// good
Mina.transaction(publicKey, ...);
Mina.transaction({ sender: publicKey }, ...);
// deprecated
Mina.transaction(privateKey, ...);
Mina.transaction({ feePayerKey: privateKey }, ...);
Defined in
waitForFunding
▸ waitForFunding(address): Promise\<void>
Parameters
| Name | Type | 
|---|---|
| address | string | 
Returns
Promise\<void>