{"version":3,"file":"storage_accounting.mjs","names":["balance.Balance"],"sources":["../../../src/contracts/walrus/storage_accounting.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as balance from './deps/sui/balance.js';\nconst $moduleName = '@local-pkg/walrus::storage_accounting';\nexport const FutureAccounting = new MoveStruct({\n\tname: `${$moduleName}::FutureAccounting`,\n\tfields: {\n\t\tepoch: bcs.u32(),\n\t\t/**\n\t\t * This field stores `used_capacity` for the epoch. Currently, impossible to rename\n\t\t * due to package upgrade limitations.\n\t\t */\n\t\tused_capacity: bcs.u64(),\n\t\trewards_to_distribute: balance.Balance,\n\t},\n});\nexport const FutureAccountingRingBuffer = new MoveStruct({\n\tname: `${$moduleName}::FutureAccountingRingBuffer`,\n\tfields: {\n\t\tcurrent_index: bcs.u32(),\n\t\tlength: bcs.u32(),\n\t\tring_buffer: bcs.vector(FutureAccounting),\n\t},\n});\nexport interface MaxEpochsAheadArguments {\n\tself: TransactionArgument;\n}\nexport interface MaxEpochsAheadOptions {\n\tpackage?: string;\n\targuments: MaxEpochsAheadArguments | [self: TransactionArgument];\n}\n/** The maximum number of epochs for which we can use `self`. */\nexport function maxEpochsAhead(options: MaxEpochsAheadOptions) {\n\tconst packageAddress = options.package ?? '@local-pkg/walrus';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'storage_accounting',\n\t\t\tfunction: 'max_epochs_ahead',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface RingLookupArguments {\n\tself: TransactionArgument;\n\tepochsInFuture: RawTransactionArgument<number>;\n}\nexport interface RingLookupOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RingLookupArguments\n\t\t| [self: TransactionArgument, epochsInFuture: RawTransactionArgument<number>];\n}\n/** Read-only lookup for an element in the `FutureAccountingRingBuffer` */\nexport function ringLookup(options: RingLookupOptions) {\n\tconst packageAddress = options.package ?? '@local-pkg/walrus';\n\tconst argumentsTypes = [null, 'u32'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'epochsInFuture'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'storage_accounting',\n\t\t\tfunction: 'ring_lookup',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface EpochArguments {\n\taccounting: TransactionArgument;\n}\nexport interface EpochOptions {\n\tpackage?: string;\n\targuments: EpochArguments | [accounting: TransactionArgument];\n}\n/** Accessor for epoch, read-only. */\nexport function epoch(options: EpochOptions) {\n\tconst packageAddress = options.package ?? '@local-pkg/walrus';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['accounting'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'storage_accounting',\n\t\t\tfunction: 'epoch',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface UsedCapacityArguments {\n\taccounting: TransactionArgument;\n}\nexport interface UsedCapacityOptions {\n\tpackage?: string;\n\targuments: UsedCapacityArguments | [accounting: TransactionArgument];\n}\n/** Accessor for used_capacity, read-only. */\nexport function usedCapacity(options: UsedCapacityOptions) {\n\tconst packageAddress = options.package ?? '@local-pkg/walrus';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['accounting'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'storage_accounting',\n\t\t\tfunction: 'used_capacity',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface RewardsArguments {\n\taccounting: TransactionArgument;\n}\nexport interface RewardsOptions {\n\tpackage?: string;\n\targuments: RewardsArguments | [accounting: TransactionArgument];\n}\n/** Accessor for rewards, read-only. */\nexport function rewards(options: RewardsOptions) {\n\tconst packageAddress = options.package ?? '@local-pkg/walrus';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['accounting'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'storage_accounting',\n\t\t\tfunction: 'rewards',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;AAOA,MAAM,cAAc;AACpB,MAAa,mBAAmB,IAAI,WAAW;CAC9C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,OAAO,IAAI,KAAK;EAKhB,eAAe,IAAI,KAAK;EACxB,uBAAuBA;EACvB;CACD,CAAC;AACF,MAAa,6BAA6B,IAAI,WAAW;CACxD,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,eAAe,IAAI,KAAK;EACxB,QAAQ,IAAI,KAAK;EACjB,aAAa,IAAI,OAAO,iBAAiB;EACzC;CACD,CAAC"}