@argonprotocol/mainchain 1.4.12 → 1.4.13-dev.94019742

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,10 +27,11 @@ import type {
27
27
  ArgonNotaryAuditErrorVerifyError,
28
28
  ArgonPrimitivesBalanceChangeAccountOrigin,
29
29
  ArgonPrimitivesBitcoinBitcoinBlock,
30
+ ArgonPrimitivesBitcoinBitcoinCosignScriptPubkey,
30
31
  ArgonPrimitivesBitcoinBitcoinNetwork,
31
32
  ArgonPrimitivesBitcoinBitcoinXPub,
33
+ ArgonPrimitivesBitcoinUtxoAddress,
32
34
  ArgonPrimitivesBitcoinUtxoRef,
33
- ArgonPrimitivesBitcoinUtxoValue,
34
35
  ArgonPrimitivesBlockSealBlockPayout,
35
36
  ArgonPrimitivesBlockSealMiningBidStats,
36
37
  ArgonPrimitivesBlockSealMiningRegistration,
@@ -63,9 +64,12 @@ import type {
63
64
  PalletBalancesAccountData,
64
65
  PalletBalancesBalanceLock,
65
66
  PalletBalancesReserveData,
67
+ PalletBitcoinFissionsFission,
68
+ PalletBitcoinLocksLockReleaseCosignHeight,
66
69
  PalletBitcoinLocksLockReleaseRequest,
67
70
  PalletBitcoinLocksLockedBitcoin,
68
71
  PalletBitcoinLocksOrphanedUtxo,
72
+ PalletBitcoinLocksPendingPartialRelease,
69
73
  PalletBootstrapEndpointPubkey,
70
74
  PalletBootstrapRecoveryPubkey,
71
75
  PalletCrosschainTransferAccountTransferTotals,
@@ -92,7 +96,7 @@ import type {
92
96
  PalletMiningSlotMinerNonceScoring,
93
97
  PalletMintMintAction,
94
98
  PalletMintMintQueueCursor,
95
- PalletMintPendingMintUtxo,
99
+ PalletMintPendingBitcoinMint,
96
100
  PalletMultisigMultisig,
97
101
  PalletOperationalAccountsOperationalAccount,
98
102
  PalletOperationalAccountsRewardsConfig,
@@ -209,6 +213,35 @@ declare module '@polkadot/api-base/types/storage' {
209
213
  **/
210
214
  totalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []>;
211
215
  };
216
+ bitcoinFissions: {
217
+ /**
218
+ * Active Fission records addressed by their owner and owner-local Fission ID.
219
+ **/
220
+ fissionByOwnerAndId: AugmentedQuery<
221
+ ApiType,
222
+ (
223
+ arg1: AccountId32 | string | Uint8Array,
224
+ arg2: u64 | AnyNumber | Uint8Array,
225
+ ) => Observable<Option<PalletBitcoinFissionsFission>>,
226
+ [AccountId32, u64]
227
+ >;
228
+ /**
229
+ * Active Fission IDs allocating satoshis from each Lock.
230
+ **/
231
+ fissionIdsByLockId: AugmentedQuery<
232
+ ApiType,
233
+ (arg: u64 | AnyNumber | Uint8Array) => Observable<BTreeSet<u64>>,
234
+ [u64]
235
+ >;
236
+ /**
237
+ * Minimum Fission ID accepted from each owner.
238
+ **/
239
+ nextFissionIdByOwner: AugmentedQuery<
240
+ ApiType,
241
+ (arg: AccountId32 | string | Uint8Array) => Observable<u64>,
242
+ [AccountId32]
243
+ >;
244
+ };
212
245
  bitcoinLocks: {
213
246
  lastFeeCouponNonceByVaultAndAccount: AugmentedQuery<
214
247
  ApiType,
@@ -218,6 +251,14 @@ declare module '@polkadot/api-base/types/storage' {
218
251
  ) => Observable<Option<u64>>,
219
252
  [u32, AccountId32]
220
253
  >;
254
+ /**
255
+ * Highest Bitcoin UTXO sync height processed for securitization hold expirations.
256
+ **/
257
+ lastProcessedSecuritizationHoldBitcoinHeight: AugmentedQuery<
258
+ ApiType,
259
+ () => Observable<Option<u64>>,
260
+ []
261
+ >;
221
262
  /**
222
263
  * Utxos that have been requested to be cosigned for releasing
223
264
  **/
@@ -236,17 +277,41 @@ declare module '@polkadot/api-base/types/storage' {
236
277
  [u64]
237
278
  >;
238
279
  /**
239
- * Stores the block number where a release was cosigned by the vault.
280
+ * Index of active UTXO IDs per owner account.
281
+ **/
282
+ lockIdsByOwnerAccount: AugmentedQuery<
283
+ ApiType,
284
+ (
285
+ arg1: AccountId32 | string | Uint8Array,
286
+ arg2: u64 | AnyNumber | Uint8Array,
287
+ ) => Observable<Option<Null>>,
288
+ [AccountId32, u64]
289
+ >;
290
+ /**
291
+ * Index of active UTXO IDs per vault
292
+ **/
293
+ lockIdsByVaultId: AugmentedQuery<
294
+ ApiType,
295
+ (
296
+ arg1: u32 | AnyNumber | Uint8Array,
297
+ arg2: u64 | AnyNumber | Uint8Array,
298
+ ) => Observable<Option<Null>>,
299
+ [u32, u64]
300
+ >;
301
+ /**
302
+ * Latest cosigned release for each Lock, retained for signature recovery.
240
303
  **/
241
304
  lockReleaseCosignHeightById: AugmentedQuery<
242
305
  ApiType,
243
- (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<u32>>,
306
+ (
307
+ arg: u64 | AnyNumber | Uint8Array,
308
+ ) => Observable<Option<PalletBitcoinLocksLockReleaseCosignHeight>>,
244
309
  [u64]
245
310
  >;
246
311
  /**
247
- * Stores bitcoin locks that have requested to be released
312
+ * Release requests awaiting a Vault cosignature.
248
313
  **/
249
- lockReleaseRequestsByUtxoId: AugmentedQuery<
314
+ lockReleaseRequestsById: AugmentedQuery<
250
315
  ApiType,
251
316
  (
252
317
  arg: u64 | AnyNumber | Uint8Array,
@@ -256,13 +321,13 @@ declare module '@polkadot/api-base/types/storage' {
256
321
  /**
257
322
  * Stores bitcoin utxos that have requested to be released
258
323
  **/
259
- locksByUtxoId: AugmentedQuery<
324
+ locksById: AugmentedQuery<
260
325
  ApiType,
261
326
  (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<PalletBitcoinLocksLockedBitcoin>>,
262
327
  [u64]
263
328
  >;
264
329
  /**
265
- * History of target microgons per btc.
330
+ * Recent target-normalized microgon values per BTC and their observed ticks.
266
331
  **/
267
332
  microgonPerBtcHistory: AugmentedQuery<
268
333
  ApiType,
@@ -270,10 +335,10 @@ declare module '@polkadot/api-base/types/storage' {
270
335
  []
271
336
  >;
272
337
  /**
273
- * The minimum number of satoshis that can be locked
338
+ * The minimum number of satoshis accepted in one watched funding UTXO.
274
339
  **/
275
340
  minimumSatoshis: AugmentedQuery<ApiType, () => Observable<u64>, []>;
276
- nextUtxoId: AugmentedQuery<ApiType, () => Observable<Option<u64>>, []>;
341
+ nextBitcoinLockId: AugmentedQuery<ApiType, () => Observable<Option<u64>>, []>;
277
342
  /**
278
343
  * Expiration of orphaned utxo refs by user account
279
344
  **/
@@ -300,26 +365,23 @@ declare module '@polkadot/api-base/types/storage' {
300
365
  [AccountId32, ArgonPrimitivesBitcoinUtxoRef]
301
366
  >;
302
367
  /**
303
- * Index of active UTXO IDs per owner account.
368
+ * Cosigned partial releases awaiting confirmation on Bitcoin.
304
369
  **/
305
- utxoIdsByOwnerAccount: AugmentedQuery<
370
+ pendingPartialReleaseByLockId: AugmentedQuery<
306
371
  ApiType,
307
372
  (
308
- arg1: AccountId32 | string | Uint8Array,
309
- arg2: u64 | AnyNumber | Uint8Array,
310
- ) => Observable<Option<Null>>,
311
- [AccountId32, u64]
373
+ arg: u64 | AnyNumber | Uint8Array,
374
+ ) => Observable<Option<PalletBitcoinLocksPendingPartialRelease>>,
375
+ [u64]
312
376
  >;
313
377
  /**
314
- * Index of active UTXO IDs per vault
378
+ * Lock IDs whose securitization hold expires at the indexed Bitcoin height.
379
+ * Expiry releases only the unactivated portion and leaves the lock address watched.
315
380
  **/
316
- utxoIdsByVaultId: AugmentedQuery<
381
+ securitizationHoldExpirationsByBitcoinHeight: AugmentedQuery<
317
382
  ApiType,
318
- (
319
- arg1: u32 | AnyNumber | Uint8Array,
320
- arg2: u64 | AnyNumber | Uint8Array,
321
- ) => Observable<Option<Null>>,
322
- [u32, u64]
383
+ (arg: u64 | AnyNumber | Uint8Array) => Observable<BTreeSet<u64>>,
384
+ [u64]
323
385
  >;
324
386
  };
325
387
  bitcoinUtxos: {
@@ -331,16 +393,6 @@ declare module '@polkadot/api-base/types/storage' {
331
393
  () => Observable<ArgonPrimitivesBitcoinBitcoinNetwork>,
332
394
  []
333
395
  >;
334
- /**
335
- * Candidate UTXOs associated with a lock (mismatches, extra funding, etc.).
336
- **/
337
- candidateUtxoRefsByUtxoId: AugmentedQuery<
338
- ApiType,
339
- (
340
- arg: u64 | AnyNumber | Uint8Array,
341
- ) => Observable<BTreeMap<ArgonPrimitivesBitcoinUtxoRef, u64>>,
342
- [u64]
343
- >;
344
396
  /**
345
397
  * An oracle-provided confirmed bitcoin block (eg, 6 blocks back)
346
398
  **/
@@ -349,42 +401,23 @@ declare module '@polkadot/api-base/types/storage' {
349
401
  () => Observable<Option<ArgonPrimitivesBitcoinBitcoinBlock>>,
350
402
  []
351
403
  >;
352
- /**
353
- * Pending funding entries that have expired. These remain watched until their additional
354
- * orphan-detection window ends, then await bounded cleanup.
355
- **/
356
- expiredPendingFunding: AugmentedQuery<
357
- ApiType,
358
- () => Observable<BTreeMap<u64, ArgonPrimitivesBitcoinUtxoValue>>,
359
- []
360
- >;
361
404
  /**
362
405
  * Check if the inherent was included
363
406
  **/
364
407
  inherentIncluded: AugmentedQuery<ApiType, () => Observable<bool>, []>;
365
408
  /**
366
- * Locked Bitcoin UTXOs that have been funded with a UtxoRef from the Bitcoin network and
367
- * amounts within the MinimumSatoshiThreshold of the expected. If a Bitcoin UTXO is moved
368
- * before the expiration block, the funds are burned and the UTXO is unlocked.
409
+ * The Lock ID identified by each watched script pubkey.
369
410
  **/
370
- lockedUtxos: AugmentedQuery<
411
+ lockIdByScriptPubkey: AugmentedQuery<
371
412
  ApiType,
372
413
  (
373
414
  arg:
374
- | ArgonPrimitivesBitcoinUtxoRef
375
- | { txid?: any; outputIndex?: any }
415
+ | ArgonPrimitivesBitcoinBitcoinCosignScriptPubkey
416
+ | { P2WSH: any }
376
417
  | string
377
418
  | Uint8Array,
378
- ) => Observable<Option<ArgonPrimitivesBitcoinUtxoValue>>,
379
- [ArgonPrimitivesBitcoinUtxoRef]
380
- >;
381
- /**
382
- * Bitcoin locks that are pending full funding on the bitcoin network
383
- **/
384
- locksPendingFunding: AugmentedQuery<
385
- ApiType,
386
- () => Observable<BTreeMap<u64, ArgonPrimitivesBitcoinUtxoValue>>,
387
- []
419
+ ) => Observable<Option<u64>>,
420
+ [ArgonPrimitivesBitcoinBitcoinCosignScriptPubkey]
388
421
  >;
389
422
  /**
390
423
  * Bitcoin Oracle Operator Account
@@ -408,11 +441,21 @@ declare module '@polkadot/api-base/types/storage' {
408
441
  **/
409
442
  tempParentHasSyncState: AugmentedQuery<ApiType, () => Observable<bool>, []>;
410
443
  /**
411
- * A mapping of utxo id to the confirmed utxo reference
444
+ * Watched Lock addresses and the scan height needed to observe them.
412
445
  **/
413
- utxoIdToFundingUtxoRef: AugmentedQuery<
446
+ utxoAddressByLockId: AugmentedQuery<
414
447
  ApiType,
415
- (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ArgonPrimitivesBitcoinUtxoRef>>,
448
+ (
449
+ arg: u64 | AnyNumber | Uint8Array,
450
+ ) => Observable<Option<ArgonPrimitivesBitcoinUtxoAddress>>,
451
+ [u64]
452
+ >;
453
+ /**
454
+ * Every output observed at a watched Lock address, retained until explicitly removed.
455
+ **/
456
+ utxoRefsByLockId: AugmentedQuery<
457
+ ApiType,
458
+ (arg: u64 | AnyNumber | Uint8Array) => Observable<BTreeSet<ArgonPrimitivesBitcoinUtxoRef>>,
416
459
  [u64]
417
460
  >;
418
461
  };
@@ -1169,33 +1212,33 @@ declare module '@polkadot/api-base/types/storage' {
1169
1212
  /**
1170
1213
  * The next monotonic queue index to assign to a pending bitcoin mint.
1171
1214
  **/
1172
- nextPendingMintUtxoIndex: AugmentedQuery<ApiType, () => Observable<u64>, []>;
1215
+ nextPendingBitcoinMintIndex: AugmentedQuery<ApiType, () => Observable<u64>, []>;
1173
1216
  /**
1174
- * Queue bookkeeping for pending bitcoin mints, including the bounded payout start and the
1175
- * current frame scan cursor.
1217
+ * Bitcoin UTXOs that have been submitted for minting, keyed by a monotonic queue index so
1218
+ * payouts can preserve FIFO order while each frame works through a fixed payout cohort.
1176
1219
  **/
1177
- pendingMintQueueState: AugmentedQuery<
1220
+ pendingBitcoinMintsByIndex: AugmentedQuery<
1178
1221
  ApiType,
1179
- () => Observable<PalletMintMintQueueCursor>,
1180
- []
1222
+ (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<PalletMintPendingBitcoinMint>>,
1223
+ [u64]
1181
1224
  >;
1182
1225
  /**
1183
1226
  * Reverse lookup from bitcoin UTXO id to all queued mint indices for direct removal and
1184
1227
  * client lookup.
1185
1228
  **/
1186
- pendingMintUtxoIdLookup: AugmentedQuery<
1229
+ pendingMintIndicesByLockId: AugmentedQuery<
1187
1230
  ApiType,
1188
1231
  (arg: u64 | AnyNumber | Uint8Array) => Observable<Vec<u64>>,
1189
1232
  [u64]
1190
1233
  >;
1191
1234
  /**
1192
- * Bitcoin UTXOs that have been submitted for minting, keyed by a monotonic queue index so
1193
- * payouts can preserve FIFO order while each frame works through a fixed payout cohort.
1235
+ * Queue bookkeeping for pending bitcoin mints, including the bounded payout start and the
1236
+ * current frame scan cursor.
1194
1237
  **/
1195
- pendingMintUtxosByIndex: AugmentedQuery<
1238
+ pendingMintQueueState: AugmentedQuery<
1196
1239
  ApiType,
1197
- (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<PalletMintPendingMintUtxo>>,
1198
- [u64]
1240
+ () => Observable<PalletMintMintQueueCursor>,
1241
+ []
1199
1242
  >;
1200
1243
  };
1201
1244
  multisig: {
@@ -23,7 +23,11 @@ import type {
23
23
  u64,
24
24
  } from '@polkadot/types-codec';
25
25
  import type { AnyNumber, Codec } from '@polkadot/types-codec/types';
26
- import type { ExtrinsicOrHash, ExtrinsicStatus } from '@polkadot/types/interfaces/author';
26
+ import type {
27
+ ExtrinsicOrHash,
28
+ ExtrinsicStatus,
29
+ GeneratedSessionKeys,
30
+ } from '@polkadot/types/interfaces/author';
27
31
  import type { EpochAuthorship } from '@polkadot/types/interfaces/babe';
28
32
  import type { BeefyVersionedFinalityProof } from '@polkadot/types/interfaces/beefy';
29
33
  import type { BlockHash } from '@polkadot/types/interfaces/chain';
@@ -61,7 +65,7 @@ import type {
61
65
  JustificationNotification,
62
66
  ReportedRoundStates,
63
67
  } from '@polkadot/types/interfaces/grandpa';
64
- import type { MmrHash, MmrLeafBatchProof } from '@polkadot/types/interfaces/mmr';
68
+ import type { MmrAncestryProof, MmrHash, MmrLeafBatchProof } from '@polkadot/types/interfaces/mmr';
65
69
  import type { StorageKind } from '@polkadot/types/interfaces/offchain';
66
70
  import type { FeeDetails, RuntimeDispatchInfoV1 } from '@polkadot/types/interfaces/payment';
67
71
  import type { RpcMethods } from '@polkadot/types/interfaces/rpc';
@@ -140,6 +144,12 @@ declare module '@polkadot/rpc-core/types/jsonrpc' {
140
144
  * Generate new session keys and returns the corresponding public keys
141
145
  **/
142
146
  rotateKeys: AugmentedRpc<() => Observable<Bytes>>;
147
+ /**
148
+ * Generate new session keys and returns the corresponding public keys and owner proof
149
+ **/
150
+ rotateKeysWithOwner: AugmentedRpc<
151
+ (owner: Bytes | string | Uint8Array) => Observable<GeneratedSessionKeys>
152
+ >;
143
153
  /**
144
154
  * Submit and subscribe to watch an extrinsic until unsubscribed
145
155
  **/
@@ -721,6 +731,16 @@ declare module '@polkadot/rpc-core/types/jsonrpc' {
721
731
  subscribeJustifications: AugmentedRpc<() => Observable<JustificationNotification>>;
722
732
  };
723
733
  mmr: {
734
+ /**
735
+ * Generate an MMR ancestry proof for the given block number.
736
+ **/
737
+ generateAncestryProof: AugmentedRpc<
738
+ (
739
+ prevBlockNumber: u64 | AnyNumber | Uint8Array,
740
+ bestKnownBlockNumber?: u64 | AnyNumber | Uint8Array,
741
+ at?: BlockHash | string | Uint8Array,
742
+ ) => Observable<MmrAncestryProof>
743
+ >;
724
744
  /**
725
745
  * Generate MMR proof for the given block numbers.
726
746
  **/
@@ -38,7 +38,7 @@ import type {
38
38
  ArgonPrimitivesBitcoinUtxoRef,
39
39
  ArgonPrimitivesDomainZoneRecord,
40
40
  ArgonPrimitivesEthereumEthereumReceiptLogProofBatch,
41
- ArgonPrimitivesInherentsBitcoinUtxoSync,
41
+ ArgonPrimitivesInherentsBitcoinUtxoSyncV2,
42
42
  ArgonPrimitivesInherentsBlockSealInherent,
43
43
  ArgonPrimitivesNotaryNotaryMeta,
44
44
  ArgonPrimitivesNotebookSignedNotebookHeader,
@@ -280,6 +280,38 @@ declare module '@polkadot/api-base/types/submittable' {
280
280
  [Vec<AccountId32>]
281
281
  >;
282
282
  };
283
+ bitcoinFissions: {
284
+ /**
285
+ * Close a Fission without moving Bitcoin and remove its active record.
286
+ **/
287
+ close: AugmentedSubmittable<
288
+ (fissionId: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>,
289
+ [Compact<u64>]
290
+ >;
291
+ /**
292
+ * Create a Fission from one owner-held Lock and associate it with a Liquid ID.
293
+ **/
294
+ create: AugmentedSubmittable<
295
+ (
296
+ fissionId: Compact<u64> | AnyNumber | Uint8Array,
297
+ liquidId: Compact<u64> | AnyNumber | Uint8Array,
298
+ lockId: Compact<u64> | AnyNumber | Uint8Array,
299
+ satoshis: Compact<u64> | AnyNumber | Uint8Array,
300
+ microgonsAtTargetPerBtc: Compact<u128> | AnyNumber | Uint8Array,
301
+ ) => SubmittableExtrinsic<ApiType>,
302
+ [Compact<u64>, Compact<u64>, Compact<u64>, Compact<u64>, Compact<u128>]
303
+ >;
304
+ /**
305
+ * Ratchet an active Fission to a replacement target-normalized BTC value.
306
+ **/
307
+ ratchet: AugmentedSubmittable<
308
+ (
309
+ fissionId: Compact<u64> | AnyNumber | Uint8Array,
310
+ microgonsAtTargetPerBtc: Compact<u128> | AnyNumber | Uint8Array,
311
+ ) => SubmittableExtrinsic<ApiType>,
312
+ [Compact<u64>, Compact<u128>]
313
+ >;
314
+ };
283
315
  bitcoinLocks: {
284
316
  adminModifyMinimumLockedSats: AugmentedSubmittable<
285
317
  (satoshis: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>,
@@ -307,37 +339,27 @@ declare module '@polkadot/api-base/types/submittable' {
307
339
  [AccountId32, ArgonPrimitivesBitcoinUtxoRef, Bytes]
308
340
  >;
309
341
  /**
310
- * Submitted by a Vault operator to cosign the release of a bitcoin utxo. The Bitcoin owner
311
- * release fee will be burned, and the lock will be allowed to expire without a penalty.
342
+ * Submitted by a Vault operator to cosign every input in a Bitcoin Lock release. The
343
+ * signatures must follow ascending `UtxoRef` order: transaction ID, then output index.
344
+ * The Lock remains frozen until the exact cosigned transaction is observed on Bitcoin.
312
345
  *
313
346
  * This is submitted as a no-fee transaction off chain to allow keys to remain in cold
314
347
  * wallets.
315
348
  **/
316
349
  cosignRelease: AugmentedSubmittable<
317
350
  (
318
- utxoId: u64 | AnyNumber | Uint8Array,
319
- signature: Bytes | string | Uint8Array,
320
- ) => SubmittableExtrinsic<ApiType>,
321
- [u64, Bytes]
322
- >;
323
- increaseSecuritization: AugmentedSubmittable<
324
- (
325
- utxoId: u64 | AnyNumber | Uint8Array,
326
- newSatoshis: Compact<u64> | AnyNumber | Uint8Array,
351
+ lockId: u64 | AnyNumber | Uint8Array,
352
+ signatures: Vec<Bytes> | (Bytes | string | Uint8Array)[],
327
353
  ) => SubmittableExtrinsic<ApiType>,
328
- [u64, Compact<u64>]
354
+ [u64, Vec<Bytes>]
329
355
  >;
330
356
  /**
331
- * Initialize a bitcoin lock. This will create a LockedBitcoin for the submitting account
332
- * and log the Bitcoin Script hash to Events.
357
+ * Create a Bitcoin receive address backed by a Lock for the submitting account.
333
358
  *
334
359
  * The pubkey submitted here will be used to create a script pubkey that will be used in a
335
360
  * timelock multisig script to lock the bitcoin.
336
- *
337
- * NOTE: A "lock-er" must send btc to the cosigner UTXO address to "complete" the
338
- * LockedBitcoin and be added to the Bitcoin Mint line.
339
361
  **/
340
- initialize: AugmentedSubmittable<
362
+ createReceiveAddress: AugmentedSubmittable<
341
363
  (
342
364
  vaultId: u32 | AnyNumber | Uint8Array,
343
365
  satoshis: Compact<u64> | AnyNumber | Uint8Array,
@@ -347,8 +369,7 @@ declare module '@polkadot/api-base/types/submittable' {
347
369
  | null
348
370
  | Uint8Array
349
371
  | PalletBitcoinLocksLockOptions
350
- | { V1: any }
351
- | { V2: any }
372
+ | { microgonsAtTargetPerBtc?: any; feeCoupon?: any }
352
373
  | string,
353
374
  ) => SubmittableExtrinsic<ApiType>,
354
375
  [
@@ -358,36 +379,6 @@ declare module '@polkadot/api-base/types/submittable' {
358
379
  Option<PalletBitcoinLocksLockOptions>,
359
380
  ]
360
381
  >;
361
- /**
362
- * Ratcheting allows a user to change the lock price of their bitcoin lock. This is
363
- * functionally the same as releasing and re-initializing, but it allows a user to skip
364
- * sending transactions through bitcoin and any associated fees. It also allows you to stay
365
- * on your original lock expiration without having to pay the full year of fees again.
366
- *
367
- * Ratcheting "down" - when the price of bitcoin is lower than your lock price, you pay the
368
- * full release price and get added back to the mint queue at the current market rate. You
369
- * pocket the difference between the already minted "lock price" and the new market value
370
- * (which you just had burned). Your new lock price is set to the market low, so you can
371
- * take advantage of ratchets "up" in the future.
372
- *
373
- * Ratcheting "up" - when the price of bitcoin is higher than your lock price, you pay a
374
- * prorated fee for the remainder of your existing lock duration. You are added to the mint
375
- * queue for the difference in your new lock price vs the previous lock price.
376
- **/
377
- ratchet: AugmentedSubmittable<
378
- (
379
- utxoId: u64 | AnyNumber | Uint8Array,
380
- options:
381
- | Option<PalletBitcoinLocksLockOptions>
382
- | null
383
- | Uint8Array
384
- | PalletBitcoinLocksLockOptions
385
- | { V1: any }
386
- | { V2: any }
387
- | string,
388
- ) => SubmittableExtrinsic<ApiType>,
389
- [u64, Option<PalletBitcoinLocksLockOptions>]
390
- >;
391
382
  requestOrphanedUtxoRelease: AugmentedSubmittable<
392
383
  (
393
384
  utxoRef:
@@ -401,61 +392,48 @@ declare module '@polkadot/api-base/types/submittable' {
401
392
  [ArgonPrimitivesBitcoinUtxoRef, Bytes, u64]
402
393
  >;
403
394
  /**
404
- * Submitted by a Bitcoin holder to trigger the release of their Utxo out of the cosign
405
- * script. A transaction spending the UTXO should be pre-created so that the sighash
406
- * can be submitted here. The vault operator will have 10 days to counter-sign the
407
- * transaction. It will be published with the public key as a BitcoinUtxoCosigned Event.
395
+ * Submitted by a Bitcoin holder to spend every current UTXO in a Lock. The exact external
396
+ * amount and network fee determine whether the transaction fully releases the Lock or
397
+ * returns one consolidated change output to the same Lock script. The vault operator has
398
+ * 10 days to publish one signature per frozen input in a BitcoinUtxoCosigned event.
408
399
  *
409
400
  * Owner must submit a script pubkey and also a fee to pay to the bitcoin network.
410
401
  **/
411
402
  requestRelease: AugmentedSubmittable<
412
403
  (
413
- utxoId: u64 | AnyNumber | Uint8Array,
404
+ lockId: u64 | AnyNumber | Uint8Array,
414
405
  toScriptPubkey: Bytes | string | Uint8Array,
406
+ destinationSatoshis: u64 | AnyNumber | Uint8Array,
415
407
  bitcoinNetworkFee: u64 | AnyNumber | Uint8Array,
416
408
  ) => SubmittableExtrinsic<ApiType>,
417
- [u64, Bytes, u64]
418
- >;
419
- setFlexible: AugmentedSubmittable<
420
- (
421
- utxoId: u64 | AnyNumber | Uint8Array,
422
- isFlexible: bool | boolean | Uint8Array,
423
- ) => SubmittableExtrinsic<ApiType>,
424
- [u64, bool]
409
+ [u64, Bytes, u64, u64]
425
410
  >;
426
- };
427
- bitcoinUtxos: {
428
411
  /**
429
- * Bind a candidate UTXO ref as the funding UTXO for its lock.
430
- * The locks pallet authorizes the promotion; this pallet binds the ref and begins
431
- * tracking.
412
+ * Replace this Lock's BTC coverage and target value for its remaining term.
432
413
  **/
433
- fundWithUtxoCandidate: AugmentedSubmittable<
414
+ resecuritize: AugmentedSubmittable<
434
415
  (
435
- utxoId: u64 | AnyNumber | Uint8Array,
436
- utxoRef:
437
- | ArgonPrimitivesBitcoinUtxoRef
438
- | { txid?: any; outputIndex?: any }
439
- | string
440
- | Uint8Array,
416
+ lockId: u64 | AnyNumber | Uint8Array,
417
+ satoshis: Compact<u64> | AnyNumber | Uint8Array,
418
+ options:
419
+ | Option<PalletBitcoinLocksLockOptions>
420
+ | null
421
+ | Uint8Array
422
+ | PalletBitcoinLocksLockOptions
423
+ | { microgonsAtTargetPerBtc?: any; feeCoupon?: any }
424
+ | string,
441
425
  ) => SubmittableExtrinsic<ApiType>,
442
- [u64, ArgonPrimitivesBitcoinUtxoRef]
426
+ [u64, Compact<u64>, Option<PalletBitcoinLocksLockOptions>]
443
427
  >;
444
- /**
445
- * Reject a pending candidate UTXO and materialize it as an orphan through the locks
446
- * pallet.
447
- **/
448
- rejectUtxoCandidate: AugmentedSubmittable<
428
+ setFlexible: AugmentedSubmittable<
449
429
  (
450
- utxoId: u64 | AnyNumber | Uint8Array,
451
- utxoRef:
452
- | ArgonPrimitivesBitcoinUtxoRef
453
- | { txid?: any; outputIndex?: any }
454
- | string
455
- | Uint8Array,
430
+ lockId: u64 | AnyNumber | Uint8Array,
431
+ isFlexible: bool | boolean | Uint8Array,
456
432
  ) => SubmittableExtrinsic<ApiType>,
457
- [u64, ArgonPrimitivesBitcoinUtxoRef]
433
+ [u64, bool]
458
434
  >;
435
+ };
436
+ bitcoinUtxos: {
459
437
  /**
460
438
  * Sets the most recent confirmed bitcoin block height (only executable by the Oracle
461
439
  * Operator account)
@@ -486,12 +464,12 @@ declare module '@polkadot/api-base/types/submittable' {
486
464
  sync: AugmentedSubmittable<
487
465
  (
488
466
  utxoSync:
489
- | ArgonPrimitivesInherentsBitcoinUtxoSync
467
+ | ArgonPrimitivesInherentsBitcoinUtxoSyncV2
490
468
  | { spent?: any; funded?: any; syncToBlock?: any }
491
469
  | string
492
470
  | Uint8Array,
493
471
  ) => SubmittableExtrinsic<ApiType>,
494
- [ArgonPrimitivesInherentsBitcoinUtxoSync]
472
+ [ArgonPrimitivesInherentsBitcoinUtxoSyncV2]
495
473
  >;
496
474
  };
497
475
  blockRewards: {
@@ -67,7 +67,11 @@ import type {
67
67
  MoreAttestations,
68
68
  } from '@polkadot/types/interfaces/attestations';
69
69
  import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura';
70
- import type { ExtrinsicOrHash, ExtrinsicStatus } from '@polkadot/types/interfaces/author';
70
+ import type {
71
+ ExtrinsicOrHash,
72
+ ExtrinsicStatus,
73
+ GeneratedSessionKeys,
74
+ } from '@polkadot/types/interfaces/author';
71
75
  import type { UncleEntryItem } from '@polkadot/types/interfaces/authorship';
72
76
  import type {
73
77
  AllowedSlots,
@@ -651,6 +655,7 @@ import type {
651
655
  SessionStatus,
652
656
  } from '@polkadot/types/interfaces/mixnet';
653
657
  import type {
658
+ MmrAncestryProof,
654
659
  MmrBatchProof,
655
660
  MmrEncodableOpaqueLeaf,
656
661
  MmrError,
@@ -1868,6 +1873,7 @@ declare module '@polkadot/types/types/registry' {
1868
1873
  FungibilityV5: FungibilityV5;
1869
1874
  FungiblesAccessError: FungiblesAccessError;
1870
1875
  Gas: Gas;
1876
+ GeneratedSessionKeys: GeneratedSessionKeys;
1871
1877
  GenesisBuildErr: GenesisBuildErr;
1872
1878
  GiltBid: GiltBid;
1873
1879
  GlobalValidationData: GlobalValidationData;
@@ -2034,6 +2040,7 @@ declare module '@polkadot/types/types/registry' {
2034
2040
  MigrationStatusResult: MigrationStatusResult;
2035
2041
  Mixnode: Mixnode;
2036
2042
  MixnodesErr: MixnodesErr;
2043
+ MmrAncestryProof: MmrAncestryProof;
2037
2044
  MmrBatchProof: MmrBatchProof;
2038
2045
  MmrEncodableOpaqueLeaf: MmrEncodableOpaqueLeaf;
2039
2046
  MmrError: MmrError;