diff --git a/packages/apps-config/src/api/spec/avail.ts b/packages/apps-config/src/api/spec/avail.ts index a5a796ad1a2a..26e11905e082 100644 --- a/packages/apps-config/src/api/spec/avail.ts +++ b/packages/apps-config/src/api/spec/avail.ts @@ -81,6 +81,11 @@ const definitions: OverrideBundleDefinition = { size: 'Compact', index: 'Vec' }, + CompactDataLookupV4: { + size: 'Compact', + index: 'Vec', + rowsPerTx: 'Vec' + }, KateCommitment: { rows: 'Compact', cols: 'Compact', @@ -91,11 +96,35 @@ const definitions: OverrideBundleDefinition = { appLookup: 'CompactDataLookup', commitment: 'KateCommitment' }, + V4HeaderExtension: { + appLookup: 'CompactDataLookupV4', + commitment: 'KateCommitment' + }, + KzgHeader: { + _enum: { + V4: 'V4HeaderExtension' + } + }, + FriParamsVersion: 'u8', + FriBlobCommitment: { + blobHash: 'H256', + sizeBytes: 'u64', + commitment: 'Vec' + }, + FriV1HeaderExtension: { + blobs: 'Vec', + dataRoot: 'H256', + paramsVersion: 'FriParamsVersion' + }, + FriHeader: { + _enum: { + V1: 'FriV1HeaderExtension' + } + }, HeaderExtension: { _enum: { - V1: 'V3HeaderExtension', - V2: 'V3HeaderExtension', - V3: 'V3HeaderExtension' + Kzg: 'KzgHeader', + Fri: 'FriHeader' } }, DaHeader: { diff --git a/packages/apps-config/src/api/spec/dataavail.ts b/packages/apps-config/src/api/spec/dataavail.ts index 2751e80f1f3e..385bab6d52eb 100644 --- a/packages/apps-config/src/api/spec/dataavail.ts +++ b/packages/apps-config/src/api/spec/dataavail.ts @@ -89,13 +89,18 @@ const definitions: OverrideBundleDefinition = { minmax: [0, undefined], types: { AppId: 'Compact', - DataLookupIndexItem: { + DataLookupItem: { appId: 'AppId', start: 'Compact' }, - DataLookup: { + CompactDataLookup: { size: 'Compact', - index: 'Vec' + index: 'Vec' + }, + CompactDataLookupV4: { + size: 'Compact', + index: 'Vec', + rowsPerTx: 'Vec' }, KateCommitment: { rows: 'Compact', @@ -103,29 +108,39 @@ const definitions: OverrideBundleDefinition = { commitment: 'Vec', dataRoot: 'H256' }, - V1HeaderExtension: { - appLookup: 'DataLookup', + V3HeaderExtension: { + appLookup: 'CompactDataLookup', commitment: 'KateCommitment' }, - V2HeaderExtension: { - appLookup: 'DataLookup', + V4HeaderExtension: { + appLookup: 'CompactDataLookupV4', commitment: 'KateCommitment' }, - V3HeaderExtension: { - appLookup: 'DataLookup', - commitment: 'KateCommitment' + KzgHeader: { + _enum: { + V4: 'V4HeaderExtension' + } + }, + FriParamsVersion: 'u8', + FriBlobCommitment: { + blobHash: 'H256', + sizeBytes: 'u64', + commitment: 'Vec' }, - VTHeaderExtension: { - newField: 'Vec', - commitment: 'KateCommitment', - appLookup: 'DataLookup' + FriV1HeaderExtension: { + blobs: 'Vec', + dataRoot: 'H256', + paramsVersion: 'FriParamsVersion' + }, + FriHeader: { + _enum: { + V1: 'FriV1HeaderExtension' + } }, HeaderExtension: { _enum: { - V1: 'V1HeaderExtension', - V2: 'V2HeaderExtension', - V3: 'V3HeaderExtension', - VTest: 'VTHeaderExtension' + Kzg: 'KzgHeader', + Fri: 'FriHeader' } }, DaHeader: { @@ -159,40 +174,47 @@ const definitions: OverrideBundleDefinition = { mandatory: 'u32' }, DataProof: { - root: 'H256', + roots: 'TxDataRoots', proof: 'Vec', numberOfLeaves: 'Compact', leafIndex: 'Compact', leaf: 'H256' }, - DataProofV2: { + TxDataRoots: { dataRoot: 'H256', blobRoot: 'H256', - bridgeRoot: 'H256', - proof: 'Vec', - numberOfLeaves: 'Compact', - leafIndex: 'Compact', - leaf: 'H256' + bridgeRoot: 'H256' }, ProofResponse: { - dataProof: 'DataProofV2', - message: 'Option' + dataProof: 'DataProof', + message: 'Option' }, - Message: { - messageType: 'MessageType', + AddressedMessage: { + message: 'Message', from: 'H256', to: 'H256', originDomain: 'u32', destinationDomain: 'u32', - data: 'Vec', id: 'u64' }, + Message: { + _enum: { + ArbitraryMessage: 'ArbitraryMessage', + FungibleToken: 'FungibleToken' + } + }, MessageType: { _enum: [ 'ArbitraryMessage', 'FungibleToken' ] }, + FungibleToken: { + assetId: 'H256', + amount: 'String' + }, + BoundedData: 'Vec', + ArbitraryMessage: 'BoundedData', Cell: { row: 'BlockLengthRows', col: 'BlockLengthColumns' diff --git a/packages/apps-config/src/api/typesBundle.ts b/packages/apps-config/src/api/typesBundle.ts index a5f39679dee2..c8a85b92a4a1 100644 --- a/packages/apps-config/src/api/typesBundle.ts +++ b/packages/apps-config/src/api/typesBundle.ts @@ -16355,6 +16355,11 @@ export const typesBundle = { "size": "Compact", "index": "Vec" }, + "CompactDataLookupV4": { + "size": "Compact", + "index": "Vec", + "rowsPerTx": "Vec" + }, "KateCommitment": { "rows": "Compact", "cols": "Compact", @@ -16365,11 +16370,37 @@ export const typesBundle = { "appLookup": "CompactDataLookup", "commitment": "KateCommitment" }, + "V4HeaderExtension": { + "appLookup": "CompactDataLookupV4", + "commitment": "KateCommitment" + }, + "KzgHeader": { + "_enum": { + "V4": "V4HeaderExtension" + } + }, + "FriParamsVersion": { + "_enum": [ "V0" ] + }, + "FriBlobCommitment": { + "blobHash": "H256", + "sizeBytes": "u64", + "commitment": "Vec" + }, + "FriV1HeaderExtension": { + "blobs": "Vec", + "dataRoot": "H256", + "paramsVersion": "FriParamsVersion" + }, + "FriHeader": { + "_enum": { + "V1": "FriV1HeaderExtension" + } + }, "HeaderExtension": { "_enum": { - "V1": "V3HeaderExtension", - "V2": "V3HeaderExtension", - "V3": "V3HeaderExtension" + "Kzg": "KzgHeader", + "Fri": "FriHeader" } }, "DaHeader": { @@ -22748,13 +22779,18 @@ export const typesBundle = { ], "types": { "AppId": "Compact", - "DataLookupIndexItem": { + "DataLookupItem": { "appId": "AppId", "start": "Compact" }, - "DataLookup": { + "CompactDataLookup": { "size": "Compact", - "index": "Vec" + "index": "Vec" + }, + "CompactDataLookupV4": { + "size": "Compact", + "index": "Vec", + "rowsPerTx": "Vec" }, "KateCommitment": { "rows": "Compact", @@ -22762,29 +22798,39 @@ export const typesBundle = { "commitment": "Vec", "dataRoot": "H256" }, - "V1HeaderExtension": { - "appLookup": "DataLookup", + "V3HeaderExtension": { + "appLookup": "CompactDataLookup", "commitment": "KateCommitment" }, - "V2HeaderExtension": { - "appLookup": "DataLookup", + "V4HeaderExtension": { + "appLookup": "CompactDataLookupV4", "commitment": "KateCommitment" }, - "V3HeaderExtension": { - "appLookup": "DataLookup", - "commitment": "KateCommitment" + "KzgHeader": { + "_enum": { + "V4": "V4HeaderExtension" + } }, - "VTHeaderExtension": { - "newField": "Vec", - "commitment": "KateCommitment", - "appLookup": "DataLookup" + "FriParamsVersion": "u8", + "FriBlobCommitment": { + "blobHash": "H256", + "sizeBytes": "u64", + "commitment": "Vec" + }, + "FriV1HeaderExtension": { + "blobs": "Vec", + "dataRoot": "H256", + "paramsVersion": "FriParamsVersion" + }, + "FriHeader": { + "_enum": { + "V1": "FriV1HeaderExtension" + } }, "HeaderExtension": { "_enum": { - "V1": "V1HeaderExtension", - "V2": "V2HeaderExtension", - "V3": "V3HeaderExtension", - "VTest": "VTHeaderExtension" + "Kzg": "KzgHeader", + "Fri": "FriHeader" } }, "DaHeader": { @@ -22818,40 +22864,47 @@ export const typesBundle = { "mandatory": "u32" }, "DataProof": { - "root": "H256", + "roots": "TxDataRoots", "proof": "Vec", "numberOfLeaves": "Compact", "leafIndex": "Compact", "leaf": "H256" }, - "DataProofV2": { + "TxDataRoots": { "dataRoot": "H256", "blobRoot": "H256", - "bridgeRoot": "H256", - "proof": "Vec", - "numberOfLeaves": "Compact", - "leafIndex": "Compact", - "leaf": "H256" + "bridgeRoot": "H256" }, "ProofResponse": { - "dataProof": "DataProofV2", - "message": "Option" + "dataProof": "DataProof", + "message": "Option" }, - "Message": { - "messageType": "MessageType", + "AddressedMessage": { + "message": "Message", "from": "H256", "to": "H256", "originDomain": "u32", "destinationDomain": "u32", - "data": "Vec", "id": "u64" }, + "Message": { + "_enum": { + "ArbitraryMessage": "ArbitraryMessage", + "FungibleToken": "FungibleToken" + } + }, "MessageType": { "_enum": [ "ArbitraryMessage", "FungibleToken" ] }, + "FungibleToken": { + "assetId": "H256", + "amount": "String" + }, + "BoundedData": "Vec", + "ArbitraryMessage": "BoundedData", "Cell": { "row": "BlockLengthRows", "col": "BlockLengthColumns" diff --git a/packages/react-signer/src/TxSigned.tsx b/packages/react-signer/src/TxSigned.tsx index 3a99aef60520..5bb487d350e3 100644 --- a/packages/react-signer/src/TxSigned.tsx +++ b/packages/react-signer/src/TxSigned.tsx @@ -24,12 +24,11 @@ import { Button, ErrorBoundary, Modal, Output, styled, Toggle } from '@polkadot/ import { useApi, useLedger, useQueue, useToggle } from '@polkadot/react-hooks'; import { keyring } from '@polkadot/ui-keyring'; // import { settings } from '@polkadot/ui-settings'; -import { assert, BN_ZERO, nextTick } from '@polkadot/util'; +import { assert, nextTick } from '@polkadot/util'; import { addressEq } from '@polkadot/util-crypto'; import { AccountSigner, LedgerSigner, QrSigner } from './signers/index.js'; import Address from './Address.js'; -import AppId from './AppId.js'; import Qr from './Qr.js'; import SignFields from './SignFields.js'; import Tip from './Tip.js'; @@ -249,7 +248,6 @@ function TxSigned ({ className, currentItem, isQueueSubmit, queueSize, requestAd const [{ innerHash, innerTx }, setCallInfo] = useState(EMPTY_INNER); const [tip, setTip] = useState(); const [initialIsQueueSubmit] = useState(isQueueSubmit); - const [appId, setAppId] = useState(BN_ZERO); useEffect((): void => { setFlags(tryExtract(senderInfo.signAddress)); @@ -341,7 +339,7 @@ function TxSigned ({ className, currentItem, isQueueSubmit, queueSize, requestAd if (senderInfo.signAddress) { const [tx, [status, pairOrAddress, options, isMockSign]] = await Promise.all([ wrapTx(api, currentItem, senderInfo), - extractParams(api, senderInfo.signAddress, { appId, nonce: -1, tip, withSignedTransaction: true } as Partial, getLedger, setQrState) + extractParams(api, senderInfo.signAddress, { nonce: -1, tip, withSignedTransaction: true } as Partial, getLedger, setQrState) ]); queueSetTxStatus(currentItem.id, status); @@ -350,7 +348,7 @@ function TxSigned ({ className, currentItem, isQueueSubmit, queueSize, requestAd await signAndSend(queueSetTxStatus, currentItem, tx, pairOrAddress, options, api, isMockSign); } }, - [api, appId, getLedger, tip] + [api, getLedger, tip] ); const _onSign = useCallback( @@ -460,7 +458,6 @@ function TxSigned ({ className, currentItem, isQueueSubmit, queueSize, requestAd {!currentItem.payload && ( )} - {!isSubmit && (