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
>