o1js
Version:
TypeScript framework for zk-SNARKs and zkApps
1,284 lines (1,282 loc) • 66.3 kB
text/typescript
// @generated this file is auto-generated - don't edit it directly
export { jsLayout };
let jsLayout = {
ZkappCommand: {
type: 'object',
name: 'ZkappCommand',
docs: null,
keys: ['feePayer', 'accountUpdates', 'memo'],
entries: {
feePayer: {
type: 'object',
name: 'ZkappFeePayer',
docs: null,
keys: ['body', 'authorization'],
entries: {
body: {
type: 'object',
name: 'FeePayerBody',
docs: null,
keys: ['publicKey', 'fee', 'validUntil', 'nonce'],
entries: {
publicKey: { type: 'PublicKey' },
fee: { type: 'UInt64' },
validUntil: {
type: 'option',
optionType: 'orUndefined',
inner: { type: 'UInt32' },
},
nonce: { type: 'UInt32' },
},
docEntries: {
publicKey: null,
fee: null,
validUntil: null,
nonce: null,
},
},
authorization: { type: 'string' },
},
docEntries: { body: null, authorization: null },
},
accountUpdates: {
type: 'array',
inner: {
type: 'object',
name: 'ZkappAccountUpdate',
docs: 'An account update in a zkApp transaction',
keys: ['body', 'authorization'],
entries: {
body: {
type: 'object',
name: 'AccountUpdateBody',
docs: null,
keys: [
'publicKey',
'tokenId',
'update',
'balanceChange',
'incrementNonce',
'events',
'actions',
'callData',
'callDepth',
'preconditions',
'useFullCommitment',
'implicitAccountCreationFee',
'mayUseToken',
'authorizationKind',
],
entries: {
publicKey: { type: 'PublicKey' },
tokenId: { type: 'TokenId' },
update: {
type: 'object',
name: 'AccountUpdateModification',
docs: null,
keys: [
'appState',
'delegate',
'verificationKey',
'permissions',
'zkappUri',
'tokenSymbol',
'timing',
'votingFor',
],
entries: {
appState: {
type: 'array',
inner: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
staticLength: 8,
},
delegate: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'PublicKey' },
},
verificationKey: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'object',
name: 'VerificationKeyWithHash',
docs: null,
keys: ['data', 'hash'],
entries: {
data: { type: 'string' },
hash: { type: 'Field' },
},
docEntries: { data: null, hash: null },
},
},
permissions: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'object',
name: 'Permissions',
docs: null,
keys: [
'editState',
'access',
'send',
'receive',
'setDelegate',
'setPermissions',
'setVerificationKey',
'setZkappUri',
'editActionState',
'setTokenSymbol',
'incrementNonce',
'setVotingFor',
'setTiming',
],
entries: {
editState: { type: 'AuthRequired' },
access: { type: 'AuthRequired' },
send: { type: 'AuthRequired' },
receive: { type: 'AuthRequired' },
setDelegate: { type: 'AuthRequired' },
setPermissions: { type: 'AuthRequired' },
setVerificationKey: {
type: 'object',
name: 'VerificationKeyPermission',
docs: null,
keys: ['auth', 'txnVersion'],
entries: {
auth: { type: 'AuthRequired' },
txnVersion: {
type: 'UInt32',
checkedType: { type: 'UInt32' },
checkedTypeName: 'TransactionVersion',
},
},
docEntries: { auth: null, txnVersion: null },
},
setZkappUri: { type: 'AuthRequired' },
editActionState: { type: 'AuthRequired' },
setTokenSymbol: { type: 'AuthRequired' },
incrementNonce: { type: 'AuthRequired' },
setVotingFor: { type: 'AuthRequired' },
setTiming: { type: 'AuthRequired' },
},
docEntries: {
editState: null,
access: null,
send: null,
receive: null,
setDelegate: null,
setPermissions: null,
setVerificationKey: null,
setZkappUri: null,
editActionState: null,
setTokenSymbol: null,
incrementNonce: null,
setVotingFor: null,
setTiming: null,
},
},
},
zkappUri: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'string',
checkedType: {
type: 'object',
name: 'Events',
docs: null,
keys: ['data', 'hash'],
entries: {
data: { type: 'string' },
hash: { type: 'Field' },
},
docEntries: { data: null, hash: null },
},
checkedTypeName: 'ZkappUri',
},
},
tokenSymbol: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'string',
checkedType: {
type: 'object',
name: 'Anonymous',
docs: null,
keys: ['symbol', 'field'],
entries: {
symbol: { type: 'string' },
field: { type: 'Field' },
},
docEntries: { symbol: '', field: '' },
},
checkedTypeName: 'TokenSymbol',
},
},
timing: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'object',
name: 'Timing',
docs: null,
keys: [
'initialMinimumBalance',
'cliffTime',
'cliffAmount',
'vestingPeriod',
'vestingIncrement',
],
entries: {
initialMinimumBalance: { type: 'UInt64' },
cliffTime: { type: 'UInt32' },
cliffAmount: { type: 'UInt64' },
vestingPeriod: { type: 'UInt32' },
vestingIncrement: { type: 'UInt64' },
},
docEntries: {
initialMinimumBalance: null,
cliffTime: null,
cliffAmount: null,
vestingPeriod: null,
vestingIncrement: null,
},
},
},
votingFor: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'Field',
checkedType: { type: 'Field' },
checkedTypeName: 'StateHash',
},
},
},
docEntries: {
appState: null,
delegate: null,
verificationKey: null,
permissions: null,
zkappUri: null,
tokenSymbol: null,
timing: null,
votingFor: null,
},
},
balanceChange: {
type: 'object',
name: 'BalanceChange',
docs: null,
keys: ['magnitude', 'sgn'],
entries: {
magnitude: { type: 'UInt64' },
sgn: { type: 'Sign' },
},
docEntries: { magnitude: null, sgn: null },
},
incrementNonce: { type: 'Bool' },
events: {
type: 'array',
inner: {
type: 'array',
inner: { type: 'Field' },
staticLength: null,
},
staticLength: null,
checkedType: {
type: 'object',
name: 'Events',
docs: null,
keys: ['data', 'hash'],
entries: {
data: {
type: 'array',
inner: {
type: 'array',
inner: { type: 'Field' },
staticLength: null,
},
staticLength: null,
},
hash: { type: 'Field' },
},
docEntries: { data: null, hash: null },
},
checkedTypeName: 'Events',
},
actions: {
type: 'array',
inner: {
type: 'array',
inner: { type: 'Field' },
staticLength: null,
},
staticLength: null,
checkedType: {
type: 'object',
name: 'Events',
docs: null,
keys: ['data', 'hash'],
entries: {
data: {
type: 'array',
inner: {
type: 'array',
inner: { type: 'Field' },
staticLength: null,
},
staticLength: null,
},
hash: { type: 'Field' },
},
docEntries: { data: null, hash: null },
},
checkedTypeName: 'Actions',
},
callData: { type: 'Field' },
callDepth: { type: 'number' },
preconditions: {
type: 'object',
name: 'Preconditions',
docs: null,
keys: ['network', 'account', 'validWhile'],
entries: {
network: {
type: 'object',
name: 'NetworkPrecondition',
docs: null,
keys: [
'snarkedLedgerHash',
'blockchainLength',
'minWindowDensity',
'totalCurrency',
'globalSlotSinceGenesis',
'stakingEpochData',
'nextEpochData',
],
entries: {
snarkedLedgerHash: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
blockchainLength: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '4294967295',
inner: {
type: 'object',
name: 'LengthInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt32' },
upper: { type: 'UInt32' },
},
docEntries: { lower: null, upper: null },
},
},
minWindowDensity: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '4294967295',
inner: {
type: 'object',
name: 'LengthInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt32' },
upper: { type: 'UInt32' },
},
docEntries: { lower: null, upper: null },
},
},
totalCurrency: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '18446744073709551615',
inner: {
type: 'object',
name: 'CurrencyAmountInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt64' },
upper: { type: 'UInt64' },
},
docEntries: { lower: null, upper: null },
},
},
globalSlotSinceGenesis: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '4294967295',
inner: {
type: 'object',
name: 'GlobalSlotSinceGenesisInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt32' },
upper: { type: 'UInt32' },
},
docEntries: { lower: null, upper: null },
},
},
stakingEpochData: {
type: 'object',
name: 'EpochDataPrecondition',
docs: null,
keys: [
'ledger',
'seed',
'startCheckpoint',
'lockCheckpoint',
'epochLength',
],
entries: {
ledger: {
type: 'object',
name: 'EpochLedgerPrecondition',
docs: null,
keys: ['hash', 'totalCurrency'],
entries: {
hash: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
totalCurrency: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '18446744073709551615',
inner: {
type: 'object',
name: 'CurrencyAmountInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt64' },
upper: { type: 'UInt64' },
},
docEntries: { lower: null, upper: null },
},
},
},
docEntries: { hash: null, totalCurrency: null },
},
seed: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
startCheckpoint: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
lockCheckpoint: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
epochLength: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '4294967295',
inner: {
type: 'object',
name: 'LengthInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt32' },
upper: { type: 'UInt32' },
},
docEntries: { lower: null, upper: null },
},
},
},
docEntries: {
ledger: null,
seed: null,
startCheckpoint: null,
lockCheckpoint: null,
epochLength: null,
},
},
nextEpochData: {
type: 'object',
name: 'EpochDataPrecondition',
docs: null,
keys: [
'ledger',
'seed',
'startCheckpoint',
'lockCheckpoint',
'epochLength',
],
entries: {
ledger: {
type: 'object',
name: 'EpochLedgerPrecondition',
docs: null,
keys: ['hash', 'totalCurrency'],
entries: {
hash: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
totalCurrency: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '18446744073709551615',
inner: {
type: 'object',
name: 'CurrencyAmountInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt64' },
upper: { type: 'UInt64' },
},
docEntries: { lower: null, upper: null },
},
},
},
docEntries: { hash: null, totalCurrency: null },
},
seed: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
startCheckpoint: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
lockCheckpoint: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
epochLength: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '4294967295',
inner: {
type: 'object',
name: 'LengthInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt32' },
upper: { type: 'UInt32' },
},
docEntries: { lower: null, upper: null },
},
},
},
docEntries: {
ledger: null,
seed: null,
startCheckpoint: null,
lockCheckpoint: null,
epochLength: null,
},
},
},
docEntries: {
snarkedLedgerHash: null,
blockchainLength: null,
minWindowDensity: null,
totalCurrency: null,
globalSlotSinceGenesis: null,
stakingEpochData: null,
nextEpochData: null,
},
},
account: {
type: 'object',
name: 'AccountPrecondition',
docs: null,
keys: [
'balance',
'nonce',
'receiptChainHash',
'delegate',
'state',
'actionState',
'provedState',
'isNew',
],
entries: {
balance: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '18446744073709551615',
inner: {
type: 'object',
name: 'BalanceInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt64' },
upper: { type: 'UInt64' },
},
docEntries: { lower: null, upper: null },
},
},
nonce: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '4294967295',
inner: {
type: 'object',
name: 'NonceInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt32' },
upper: { type: 'UInt32' },
},
docEntries: { lower: null, upper: null },
},
},
receiptChainHash: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
delegate: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'PublicKey' },
},
state: {
type: 'array',
inner: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
staticLength: 8,
},
actionState: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'Field',
checkedType: { type: 'Field' },
checkedTypeName: 'ActionState',
},
},
provedState: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Bool' },
},
isNew: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Bool' },
},
},
docEntries: {
balance: null,
nonce: null,
receiptChainHash: null,
delegate: null,
state: null,
actionState: null,
provedState: null,
isNew: null,
},
},
validWhile: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '4294967295',
inner: {
type: 'object',
name: 'GlobalSlotSinceGenesisInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt32' },
upper: { type: 'UInt32' },
},
docEntries: { lower: null, upper: null },
},
},
},
docEntries: {
network: null,
account: null,
validWhile: null,
},
},
useFullCommitment: { type: 'Bool' },
implicitAccountCreationFee: { type: 'Bool' },
mayUseToken: {
type: 'object',
name: 'MayUseToken',
docs: null,
keys: ['parentsOwnToken', 'inheritFromParent'],
entries: {
parentsOwnToken: { type: 'Bool' },
inheritFromParent: { type: 'Bool' },
},
docEntries: {
parentsOwnToken: null,
inheritFromParent: null,
},
},
authorizationKind: {
type: 'object',
name: 'AuthorizationKindStructured',
docs: null,
keys: ['isSigned', 'isProved', 'verificationKeyHash'],
entries: {
isSigned: { type: 'Bool' },
isProved: { type: 'Bool' },
verificationKeyHash: {
type: 'Field',
checkedType: { type: 'Field' },
checkedTypeName: 'VerificationKeyHash',
},
},
docEntries: {
isSigned: null,
isProved: null,
verificationKeyHash: null,
},
},
},
docEntries: {
publicKey: null,
tokenId: null,
update: null,
balanceChange: null,
incrementNonce: null,
events: null,
actions: null,
callData: null,
callDepth: null,
preconditions: null,
useFullCommitment: null,
implicitAccountCreationFee: null,
mayUseToken: null,
authorizationKind: null,
},
},
authorization: {
type: 'object',
name: 'Control',
docs: null,
keys: ['proof', 'signature'],
entries: {
proof: {
type: 'option',
optionType: 'orUndefined',
inner: { type: 'string' },
},
signature: {
type: 'option',
optionType: 'orUndefined',
inner: { type: 'string' },
},
},
docEntries: { proof: null, signature: null },
},
},
docEntries: { body: null, authorization: null },
},
staticLength: null,
},
memo: { type: 'string' },
},
docEntries: { feePayer: null, accountUpdates: null, memo: null },
},
AccountUpdate: {
type: 'object',
name: 'ZkappAccountUpdate',
docs: 'An account update in a zkApp transaction',
keys: ['body', 'authorization'],
entries: {
body: {
type: 'object',
name: 'AccountUpdateBody',
docs: null,
keys: [
'publicKey',
'tokenId',
'update',
'balanceChange',
'incrementNonce',
'events',
'actions',
'callData',
'callDepth',
'preconditions',
'useFullCommitment',
'implicitAccountCreationFee',
'mayUseToken',
'authorizationKind',
],
entries: {
publicKey: { type: 'PublicKey' },
tokenId: { type: 'TokenId' },
update: {
type: 'object',
name: 'AccountUpdateModification',
docs: null,
keys: [
'appState',
'delegate',
'verificationKey',
'permissions',
'zkappUri',
'tokenSymbol',
'timing',
'votingFor',
],
entries: {
appState: {
type: 'array',
inner: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
staticLength: 8,
},
delegate: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'PublicKey' },
},
verificationKey: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'object',
name: 'VerificationKeyWithHash',
docs: null,
keys: ['data', 'hash'],
entries: {
data: { type: 'string' },
hash: { type: 'Field' },
},
docEntries: { data: null, hash: null },
},
},
permissions: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'object',
name: 'Permissions',
docs: null,
keys: [
'editState',
'access',
'send',
'receive',
'setDelegate',
'setPermissions',
'setVerificationKey',
'setZkappUri',
'editActionState',
'setTokenSymbol',
'incrementNonce',
'setVotingFor',
'setTiming',
],
entries: {
editState: { type: 'AuthRequired' },
access: { type: 'AuthRequired' },
send: { type: 'AuthRequired' },
receive: { type: 'AuthRequired' },
setDelegate: { type: 'AuthRequired' },
setPermissions: { type: 'AuthRequired' },
setVerificationKey: {
type: 'object',
name: 'VerificationKeyPermission',
docs: null,
keys: ['auth', 'txnVersion'],
entries: {
auth: { type: 'AuthRequired' },
txnVersion: {
type: 'UInt32',
checkedType: { type: 'UInt32' },
checkedTypeName: 'TransactionVersion',
},
},
docEntries: { auth: null, txnVersion: null },
},
setZkappUri: { type: 'AuthRequired' },
editActionState: { type: 'AuthRequired' },
setTokenSymbol: { type: 'AuthRequired' },
incrementNonce: { type: 'AuthRequired' },
setVotingFor: { type: 'AuthRequired' },
setTiming: { type: 'AuthRequired' },
},
docEntries: {
editState: null,
access: null,
send: null,
receive: null,
setDelegate: null,
setPermissions: null,
setVerificationKey: null,
setZkappUri: null,
editActionState: null,
setTokenSymbol: null,
incrementNonce: null,
setVotingFor: null,
setTiming: null,
},
},
},
zkappUri: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'string',
checkedType: {
type: 'object',
name: 'Events',
docs: null,
keys: ['data', 'hash'],
entries: {
data: { type: 'string' },
hash: { type: 'Field' },
},
docEntries: { data: null, hash: null },
},
checkedTypeName: 'ZkappUri',
},
},
tokenSymbol: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'string',
checkedType: {
type: 'object',
name: 'Anonymous',
docs: null,
keys: ['symbol', 'field'],
entries: {
symbol: { type: 'string' },
field: { type: 'Field' },
},
docEntries: { symbol: '', field: '' },
},
checkedTypeName: 'TokenSymbol',
},
},
timing: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'object',
name: 'Timing',
docs: null,
keys: [
'initialMinimumBalance',
'cliffTime',
'cliffAmount',
'vestingPeriod',
'vestingIncrement',
],
entries: {
initialMinimumBalance: { type: 'UInt64' },
cliffTime: { type: 'UInt32' },
cliffAmount: { type: 'UInt64' },
vestingPeriod: { type: 'UInt32' },
vestingIncrement: { type: 'UInt64' },
},
docEntries: {
initialMinimumBalance: null,
cliffTime: null,
cliffAmount: null,
vestingPeriod: null,
vestingIncrement: null,
},
},
},
votingFor: {
type: 'option',
optionType: 'flaggedOption',
inner: {
type: 'Field',
checkedType: { type: 'Field' },
checkedTypeName: 'StateHash',
},
},
},
docEntries: {
appState: null,
delegate: null,
verificationKey: null,
permissions: null,
zkappUri: null,
tokenSymbol: null,
timing: null,
votingFor: null,
},
},
balanceChange: {
type: 'object',
name: 'BalanceChange',
docs: null,
keys: ['magnitude', 'sgn'],
entries: { magnitude: { type: 'UInt64' }, sgn: { type: 'Sign' } },
docEntries: { magnitude: null, sgn: null },
},
incrementNonce: { type: 'Bool' },
events: {
type: 'array',
inner: {
type: 'array',
inner: { type: 'Field' },
staticLength: null,
},
staticLength: null,
checkedType: {
type: 'object',
name: 'Events',
docs: null,
keys: ['data', 'hash'],
entries: {
data: {
type: 'array',
inner: {
type: 'array',
inner: { type: 'Field' },
staticLength: null,
},
staticLength: null,
},
hash: { type: 'Field' },
},
docEntries: { data: null, hash: null },
},
checkedTypeName: 'Events',
},
actions: {
type: 'array',
inner: {
type: 'array',
inner: { type: 'Field' },
staticLength: null,
},
staticLength: null,
checkedType: {
type: 'object',
name: 'Events',
docs: null,
keys: ['data', 'hash'],
entries: {
data: {
type: 'array',
inner: {
type: 'array',
inner: { type: 'Field' },
staticLength: null,
},
staticLength: null,
},
hash: { type: 'Field' },
},
docEntries: { data: null, hash: null },
},
checkedTypeName: 'Actions',
},
callData: { type: 'Field' },
callDepth: { type: 'number' },
preconditions: {
type: 'object',
name: 'Preconditions',
docs: null,
keys: ['network', 'account', 'validWhile'],
entries: {
network: {
type: 'object',
name: 'NetworkPrecondition',
docs: null,
keys: [
'snarkedLedgerHash',
'blockchainLength',
'minWindowDensity',
'totalCurrency',
'globalSlotSinceGenesis',
'stakingEpochData',
'nextEpochData',
],
entries: {
snarkedLedgerHash: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
blockchainLength: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '4294967295',
inner: {
type: 'object',
name: 'LengthInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt32' },
upper: { type: 'UInt32' },
},
docEntries: { lower: null, upper: null },
},
},
minWindowDensity: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '4294967295',
inner: {
type: 'object',
name: 'LengthInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt32' },
upper: { type: 'UInt32' },
},
docEntries: { lower: null, upper: null },
},
},
totalCurrency: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '18446744073709551615',
inner: {
type: 'object',
name: 'CurrencyAmountInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt64' },
upper: { type: 'UInt64' },
},
docEntries: { lower: null, upper: null },
},
},
globalSlotSinceGenesis: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '4294967295',
inner: {
type: 'object',
name: 'GlobalSlotSinceGenesisInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt32' },
upper: { type: 'UInt32' },
},
docEntries: { lower: null, upper: null },
},
},
stakingEpochData: {
type: 'object',
name: 'EpochDataPrecondition',
docs: null,
keys: [
'ledger',
'seed',
'startCheckpoint',
'lockCheckpoint',
'epochLength',
],
entries: {
ledger: {
type: 'object',
name: 'EpochLedgerPrecondition',
docs: null,
keys: ['hash', 'totalCurrency'],
entries: {
hash: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
totalCurrency: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '18446744073709551615',
inner: {
type: 'object',
name: 'CurrencyAmountInterval',
docs: null,
keys: ['lower', 'upper'],
entries: {
lower: { type: 'UInt64' },
upper: { type: 'UInt64' },
},
docEntries: { lower: null, upper: null },
},
},
},
docEntries: { hash: null, totalCurrency: null },
},
seed: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
startCheckpoint: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
lockCheckpoint: {
type: 'option',
optionType: 'flaggedOption',
inner: { type: 'Field' },
},
epochLength: {
type: 'option',
optionType: 'closedInterval',
rangeMin: '0',
rangeMax: '4294967295',
inner: {
type: 'object',
name: 'LengthInterval',
docs: null,
keys: ['lower', 'upper'],