diff --git a/.prettierignore b/.prettierignore index a2a32236..6eb7e2af 100644 --- a/.prettierignore +++ b/.prettierignore @@ -6,4 +6,5 @@ /packages/ui/src/gql/**/* /packages/ui/src/interfaces/**/* /packages/ui/types-and-hooks.tsx -/packages/ui/build/**/* \ No newline at end of file +/packages/ui/build/**/* +.papi \ No newline at end of file diff --git a/package.json b/package.json index 98b66f84..f7ef93b7 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "lint:fix": "yarn workspaces foreach run lint:fix", "formatAll": "prettier --write .", "start:chopsticks-test-build-and-launch-all": "concurrently --kill-others 'npm run start:chopsticks' 'npm run ui:start-with-chopsticks' 'npm run docker:down && npm run docker:db && npm run build:indexer && npm run indexer:start:chopsticks-local' 'npm run start:graphql-server'", - "start:chopsticks": "npx --yes @acala-network/chopsticks@0.10.0-2 --config chopsticks-config.yml", + "start:chopsticks": "npx --yes @acala-network/chopsticks@1.0.0 --config chopsticks-config.yml", "start:graphql-server": "cd squid && npm run start:graphql-server", "indexer:start:chopsticks-ci": "cd squid && npm run start:chopsticks-ci", "indexer:start:chopsticks-local": "cd squid && npm run start:chopsticks-local", diff --git a/packages/ui/.eslintrc b/packages/ui/.eslintrc index cafcbc77..78494595 100644 --- a/packages/ui/.eslintrc +++ b/packages/ui/.eslintrc @@ -8,7 +8,7 @@ "plugin:react-hooks/recommended", "plugin:react/recommended", "prettier", - "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/eslint-recommended" ], "parser": "@typescript-eslint/parser", "parserOptions": { @@ -38,7 +38,7 @@ "react/jsx-tag-spacing": "error", "prettier/prettier": "error", "react-hooks/exhaustive-deps": "error", - "react/react-in-jsx-scope": "off", + "react/react-in-jsx-scope": "off" }, "overrides": [ diff --git a/packages/ui/.papi/descriptors/.gitignore b/packages/ui/.papi/descriptors/.gitignore new file mode 100644 index 00000000..46d96ea4 --- /dev/null +++ b/packages/ui/.papi/descriptors/.gitignore @@ -0,0 +1,3 @@ +* +!.gitignore +!package.json \ No newline at end of file diff --git a/packages/ui/.papi/descriptors/package.json b/packages/ui/.papi/descriptors/package.json new file mode 100644 index 00000000..d8807ee0 --- /dev/null +++ b/packages/ui/.papi/descriptors/package.json @@ -0,0 +1,24 @@ +{ + "version": "0.1.0-autogenerated.8448668932732983882", + "name": "@polkadot-api/descriptors", + "files": [ + "dist" + ], + "exports": { + ".": { + "types": "./dist/index.d.ts", + "module": "./dist/index.mjs", + "import": "./dist/index.mjs", + "require": "./dist/index.js" + }, + "./package.json": "./package.json" + }, + "main": "./dist/index.js", + "module": "./dist/index.mjs", + "browser": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "sideEffects": false, + "peerDependencies": { + "polkadot-api": "*" + } +} diff --git a/packages/ui/.papi/metadata/acala.scale b/packages/ui/.papi/metadata/acala.scale new file mode 100644 index 00000000..f2ae0465 Binary files /dev/null and b/packages/ui/.papi/metadata/acala.scale differ diff --git a/packages/ui/.papi/metadata/bifrostDot.scale b/packages/ui/.papi/metadata/bifrostDot.scale new file mode 100644 index 00000000..fbd5731c Binary files /dev/null and b/packages/ui/.papi/metadata/bifrostDot.scale differ diff --git a/packages/ui/.papi/metadata/dot.scale b/packages/ui/.papi/metadata/dot.scale new file mode 100644 index 00000000..9ddad64d Binary files /dev/null and b/packages/ui/.papi/metadata/dot.scale differ diff --git a/packages/ui/.papi/metadata/dotAssetHub.scale b/packages/ui/.papi/metadata/dotAssetHub.scale new file mode 100644 index 00000000..ff4478db Binary files /dev/null and b/packages/ui/.papi/metadata/dotAssetHub.scale differ diff --git a/packages/ui/.papi/metadata/dotPpl.scale b/packages/ui/.papi/metadata/dotPpl.scale new file mode 100644 index 00000000..7dd1ad11 Binary files /dev/null and b/packages/ui/.papi/metadata/dotPpl.scale differ diff --git a/packages/ui/.papi/metadata/hydration.scale b/packages/ui/.papi/metadata/hydration.scale new file mode 100644 index 00000000..65ae789b Binary files /dev/null and b/packages/ui/.papi/metadata/hydration.scale differ diff --git a/packages/ui/.papi/metadata/khala.scale b/packages/ui/.papi/metadata/khala.scale new file mode 100644 index 00000000..edf90a34 Binary files /dev/null and b/packages/ui/.papi/metadata/khala.scale differ diff --git a/packages/ui/.papi/metadata/ksm-asset-hub.scale b/packages/ui/.papi/metadata/ksm-asset-hub.scale new file mode 100644 index 00000000..ae8cdeda Binary files /dev/null and b/packages/ui/.papi/metadata/ksm-asset-hub.scale differ diff --git a/packages/ui/.papi/metadata/ksm.scale b/packages/ui/.papi/metadata/ksm.scale new file mode 100644 index 00000000..783951f3 Binary files /dev/null and b/packages/ui/.papi/metadata/ksm.scale differ diff --git a/packages/ui/.papi/metadata/ksmAssetHub.scale b/packages/ui/.papi/metadata/ksmAssetHub.scale new file mode 100644 index 00000000..2a2f2fa7 Binary files /dev/null and b/packages/ui/.papi/metadata/ksmAssetHub.scale differ diff --git a/packages/ui/.papi/metadata/ksmPpl.scale b/packages/ui/.papi/metadata/ksmPpl.scale new file mode 100644 index 00000000..15d8dad0 Binary files /dev/null and b/packages/ui/.papi/metadata/ksmPpl.scale differ diff --git a/packages/ui/.papi/metadata/pasPpl.scale b/packages/ui/.papi/metadata/pasPpl.scale new file mode 100644 index 00000000..0a1f4eaa Binary files /dev/null and b/packages/ui/.papi/metadata/pasPpl.scale differ diff --git a/packages/ui/.papi/metadata/paseo.scale b/packages/ui/.papi/metadata/paseo.scale new file mode 100644 index 00000000..353b1f7a Binary files /dev/null and b/packages/ui/.papi/metadata/paseo.scale differ diff --git a/packages/ui/.papi/metadata/phala.scale b/packages/ui/.papi/metadata/phala.scale new file mode 100644 index 00000000..b2d8876b Binary files /dev/null and b/packages/ui/.papi/metadata/phala.scale differ diff --git a/packages/ui/.papi/metadata/rhala.scale b/packages/ui/.papi/metadata/rhala.scale new file mode 100644 index 00000000..9f76b703 Binary files /dev/null and b/packages/ui/.papi/metadata/rhala.scale differ diff --git a/packages/ui/.papi/metadata/rococo.scale b/packages/ui/.papi/metadata/rococo.scale new file mode 100644 index 00000000..c0c54447 Binary files /dev/null and b/packages/ui/.papi/metadata/rococo.scale differ diff --git a/packages/ui/.papi/metadata/rococoAssetHub.scale b/packages/ui/.papi/metadata/rococoAssetHub.scale new file mode 100644 index 00000000..6a48a513 Binary files /dev/null and b/packages/ui/.papi/metadata/rococoAssetHub.scale differ diff --git a/packages/ui/.papi/metadata/rococoPpl.scale b/packages/ui/.papi/metadata/rococoPpl.scale new file mode 100644 index 00000000..26cbaa25 Binary files /dev/null and b/packages/ui/.papi/metadata/rococoPpl.scale differ diff --git a/packages/ui/.papi/metadata/wesPpl.scale b/packages/ui/.papi/metadata/wesPpl.scale new file mode 100644 index 00000000..d846f607 Binary files /dev/null and b/packages/ui/.papi/metadata/wesPpl.scale differ diff --git a/packages/ui/.papi/polkadot-api.json b/packages/ui/.papi/polkadot-api.json new file mode 100644 index 00000000..7cf217d7 --- /dev/null +++ b/packages/ui/.papi/polkadot-api.json @@ -0,0 +1,74 @@ +{ + "version": 0, + "descriptorPath": ".papi/descriptors", + "entries": { + "dot": { + "chain": "polkadot", + "metadata": ".papi/metadata/dot.scale" + }, + "ksm": { + "chain": "ksmcc3", + "metadata": ".papi/metadata/ksm.scale" + }, + "ksmAssetHub": { + "chain": "ksmcc3_asset_hub", + "metadata": ".papi/metadata/ksmAssetHub.scale" + }, + "ksmPpl": { + "chain": "ksmcc3_people", + "metadata": ".papi/metadata/ksmPpl.scale" + }, + "dotPpl": { + "chain": "polkadot_people", + "metadata": ".papi/metadata/dotPpl.scale" + }, + "dotAssetHub": { + "chain": "polkadot_asset_hub", + "metadata": ".papi/metadata/dotAssetHub.scale" + }, + "rococo": { + "chain": "rococo_v2_2", + "metadata": ".papi/metadata/rococo.scale" + }, + "rococoAssetHub": { + "chain": "rococo_v2_2_asset_hub", + "metadata": ".papi/metadata/rococoAssetHub.scale" + }, + "rococoPpl": { + "chain": "rococo_v2_2_people", + "metadata": ".papi/metadata/rococoPpl.scale" + }, + "bifrostDot": { + "wsUrl": "wss://eu.bifrost-polkadot-rpc.liebi.com/ws", + "metadata": ".papi/metadata/bifrostDot.scale" + }, + "hydration": { + "wsUrl": "wss://rpc.helikon.io/hydradx", + "metadata": ".papi/metadata/hydration.scale" + }, + "khala": { + "wsUrl": "wss://khala-api.phala.network/ws", + "metadata": ".papi/metadata/khala.scale" + }, + "phala": { + "wsUrl": "wss://api.phala.network/ws", + "metadata": ".papi/metadata/phala.scale" + }, + "paseo": { + "wsUrl": "wss://rpc.ibp.network/paseo", + "metadata": ".papi/metadata/paseo.scale" + }, + "acala": { + "wsUrl": "wss://acala-rpc.dwellir.com", + "metadata": ".papi/metadata/acala.scale" + }, + "pasPpl": { + "wsUrl": "wss://people-paseo.rpc.amforc.com", + "metadata": ".papi/metadata/pasPpl.scale" + }, + "wesPpl": { + "wsUrl": "wss://westend-people-rpc.polkadot.io", + "metadata": ".papi/metadata/wesPpl.scale" + } + } +} diff --git a/packages/ui/cypress/fixtures/testAccounts.ts b/packages/ui/cypress/fixtures/testAccounts.ts index 97004ef8..130bdd9e 100644 --- a/packages/ui/cypress/fixtures/testAccounts.ts +++ b/packages/ui/cypress/fixtures/testAccounts.ts @@ -1,4 +1,4 @@ -import { InjectedAccount } from '@polkadot/extension-inject/types' +import { InjectedAccount } from 'polkadot-api/pjs-signer' export interface InjectedAccountWitMnemonic extends InjectedAccount { mnemonic: string diff --git a/packages/ui/cypress/support/commands.ts b/packages/ui/cypress/support/commands.ts index 333de9ad..8ac7d147 100644 --- a/packages/ui/cypress/support/commands.ts +++ b/packages/ui/cypress/support/commands.ts @@ -7,7 +7,8 @@ import '@chainsafe/cypress-polkadot-wallet' const LOCALSTORAGE_ACCOUNT_NAMES_KEY = 'multix.accountNames' const LOCALSTORAGE_WATCHED_ACCOUNTS_KEY = 'multix.watchedAccount' -const LOCALSTORAGE_EXTENSION_CONNECTION_KEY = 'multix.canConnectToExtension' +const LOCALSTORAGE_EXTENSION_CONNECTION_KEY = '@reactive-dot/wallet/injected/polkadot-js/connected' +const LOCALSTORAGE_ALLOWED_CONNECTION_KEY = 'multix.canConnectToExtension' export const MULTIX_DAPP_NAME = 'Multix' Cypress.Commands.add('rejectCurrentMultisigTx', rejectCurrentMultisigTxs) @@ -51,8 +52,10 @@ Cypress.Commands.add( !!accountNames && win.localStorage.setItem(LOCALSTORAGE_ACCOUNT_NAMES_KEY, JSON.stringify(accountNames)) - !!extensionConnectionAllowed && + if (extensionConnectionAllowed) { + win.localStorage.setItem(LOCALSTORAGE_ALLOWED_CONNECTION_KEY, 'true') win.localStorage.setItem(LOCALSTORAGE_EXTENSION_CONNECTION_KEY, 'true') + } } }) diff --git a/packages/ui/cypress/support/page-objects/landingPage.ts b/packages/ui/cypress/support/page-objects/landingPage.ts index 7b658986..3d482fed 100644 --- a/packages/ui/cypress/support/page-objects/landingPage.ts +++ b/packages/ui/cypress/support/page-objects/landingPage.ts @@ -1,4 +1,5 @@ export const landingPage = { + connectionDialog: () => cy.get('[data-cy=dialog-connection]'), multixIntroHeader: () => cy.get('[data-cy=header-multix-introduction]', { timeout: 10000 }), interactionPromptLabel: () => cy.get('[data-cy=label-interaction-prompt]'), noMultisigFoundError: () => cy.get('[data-cy=label-no-multisig-found]', { timeout: 10000 }), diff --git a/packages/ui/cypress/tests/extrinsic-display.cy.ts b/packages/ui/cypress/tests/hydration-extrinsic-display.cy.ts similarity index 70% rename from packages/ui/cypress/tests/extrinsic-display.cy.ts rename to packages/ui/cypress/tests/hydration-extrinsic-display.cy.ts index 4d8a35f2..77298bbd 100644 --- a/packages/ui/cypress/tests/extrinsic-display.cy.ts +++ b/packages/ui/cypress/tests/hydration-extrinsic-display.cy.ts @@ -17,7 +17,7 @@ describe('Verify extrinsics display', () => { }) }) - it('The router.sell extrinsic is displayed in plank', () => { + it('The Router.sell extrinsic is displayed in plank', () => { multisigPage.accountHeader().within(() => { accountDisplay.addressLabel().should('contain.text', expectedMultisigAddress.slice(0, 6)) }) @@ -28,17 +28,17 @@ describe('Verify extrinsics display', () => { .within(() => { multisigPage.pendingTransactionItem().should('have.length', 1) multisigPage.pendingTransactionItem().within(() => { - multisigPage.pendingTransactionCallName().should('contain.text', 'router.sell') + multisigPage.pendingTransactionCallName().should('contain.text', 'Router.sell') multisigPage.unknownCallIcon().should('not.exist') multisigPage.unknownCallAlert().should('not.exist') expander.paramExpander().click() - expander.contentExpander().should('contain', 'amount_in: 10,000,000,000,000') - expander.contentExpander().should('contain', 'min_amount_out: 72,179') + expander.contentExpander().should('contain', '"amount_in": "10000000000000"') + expander.contentExpander().should('contain', '"min_amount_out": "72179"') }) }) }) - it('A manual omnipool.sell extrinsic creation has input in plank', () => { + it.skip('A manual omnipool.sell extrinsic creation has input in plank', () => { multisigPage.accountHeader().within(() => { accountDisplay.addressLabel().should('contain.text', expectedMultisigAddress.slice(0, 6)) }) @@ -56,7 +56,7 @@ describe('Verify extrinsics display', () => { sendTxModal.paramField('amount').should('not.contain', 'HDX') }) - it('A manual balances.transferKeepAlive extrinsic has input in HDX', () => { + it.skip('A manual balances.transferKeepAlive extrinsic has input in HDX', () => { multisigPage.accountHeader().within(() => { accountDisplay.addressLabel().should('contain.text', expectedMultisigAddress.slice(0, 6)) }) @@ -74,7 +74,7 @@ describe('Verify extrinsics display', () => { sendTxModal.paramField('value').should('contain', 'HDX') }) - it('A from call data balances.transferKeepAlive extrinsic has balance displayed in HDX and identicon for destination', () => { + it.skip('A from call data balances.transferKeepAlive extrinsic has balance displayed in HDX and identicon for destination', () => { const balanceTransferCallData = '0x0703d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d0b00b04e2bde6f' const sendingAmount = '123 HDX' @@ -98,4 +98,25 @@ describe('Verify extrinsics display', () => { }) }) }) + + it('A from call data balances.transferKeepAlive extrinsic is correctly displayed', () => { + const balanceTransferCallData = + '0x0703d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d0b00b04e2bde6f' + const sendingAmount = '"value": "123000000000000"' + const expectedRecipient = '"dest": "7NPoMQbiA6trJKkjB35uk96MeJD4PGWkLQLH7k7hXEkZpiba"' + + multisigPage.accountHeader().within(() => { + accountDisplay.addressLabel().should('contain.text', expectedMultisigAddress.slice(0, 6)) + }) + + multisigPage.newTransactionButton().click() + sendTxModal.sendTxTitle().should('be.visible') + sendTxModal.selectEasySetup().click() + sendTxModal.selectionEasySetupSetupFromCallData().click() + sendTxModal.callDataInput().click().type(balanceTransferCallData) + sendTxModal.sendTxContent().within(() => { + expander.contentExpander().should('contain', sendingAmount) + expander.contentExpander().should('contain', expectedRecipient) + }) + }) }) diff --git a/packages/ui/cypress/tests/login.cy.ts b/packages/ui/cypress/tests/login.cy.ts index 49254e1f..a26353eb 100644 --- a/packages/ui/cypress/tests/login.cy.ts +++ b/packages/ui/cypress/tests/login.cy.ts @@ -21,9 +21,9 @@ describe('Connect Account', () => { cy.wrap(requests.length).should('eq', 1) // this request should be from the application Multix cy.wrap(requests[0].origin).should('eq', MULTIX_DAPP_NAME) - // let's allow it for Alice + + // auth is rejected cy.rejectAuth(requests[0].id, 'Cancelled') - // the ui should then move on to connecting to the rpcs landingPage .noAccountFoundError() .should( diff --git a/packages/ui/cypress/tests/multisig-creation.cy.ts b/packages/ui/cypress/tests/multisig-creation.cy.ts index 140e48b6..22687a9e 100644 --- a/packages/ui/cypress/tests/multisig-creation.cy.ts +++ b/packages/ui/cypress/tests/multisig-creation.cy.ts @@ -115,14 +115,17 @@ describe('Multisig creation', () => { verifySignatories() + // this is commented because chopsticks doesnot support archive_unstable_hashByHeight + // see https://github.com/AcalaNetwork/chopsticks/issues/852 + // there should be a pending pure proxy creation - multisigPage - .transactionList() - .should('be.visible') - .within(() => { - multisigPage.pendingTransactionItem().should('have.length', 1) - multisigPage.pendingTransactionCallName().should('contain.text', 'proxy.createPure') - }) + // multisigPage + // .transactionList() + // .should('be.visible') + // .within(() => { + // multisigPage.pendingTransactionItem().should('have.length', 1) + // multisigPage.pendingTransactionCallName().should('contain.text', 'proxy.createPure') + // }) }) it('Create a multisig without a pure proxy', () => { @@ -169,14 +172,16 @@ describe('Multisig creation', () => { }) verifySignatories() - - multisigPage - .transactionList() - .should('be.visible') - .within(() => { - multisigPage.pendingTransactionItem().should('have.length', 1) - multisigPage.pendingTransactionCallName().should('contain.text', 'system.remark') - }) + // this is commented because chopsticks doesnot support archive_unstable_hashByHeight + // see https://github.com/AcalaNetwork/chopsticks/issues/852 + + // multisigPage + // .transactionList() + // .should('be.visible') + // .within(() => { + // multisigPage.pendingTransactionItem().should('have.length', 1) + // multisigPage.pendingTransactionCallName().should('contain.text', 'system.remark') + // }) }) }) diff --git a/packages/ui/cypress/tests/transactions.cy.ts b/packages/ui/cypress/tests/transactions.cy.ts index 0e2e0cc6..a1873077 100644 --- a/packages/ui/cypress/tests/transactions.cy.ts +++ b/packages/ui/cypress/tests/transactions.cy.ts @@ -1,6 +1,6 @@ import { testAccounts } from '../fixtures/testAccounts' import { knownMultisigs } from '../fixtures/knownMultisigs' -import { landingPageUrl } from '../fixtures/landingData' +import { landingPageAddressUrl } from '../fixtures/landingData' import { multisigPage } from '../support/page-objects/multisigPage' import { notifications } from '../support/page-objects/notifications' import { sendTxModal } from '../support/page-objects/sendTxModal' @@ -20,7 +20,7 @@ const fillAndSubmitTransactionForm = () => { describe('Perform transactions', () => { beforeEach(() => { cy.setupAndVisit({ - url: landingPageUrl, + url: landingPageAddressUrl(knownMultisigs['test-simple-multisig-1'].address), extensionConnectionAllowed: true, injectExtensionWithAccounts: [ testAccounts['Multisig Member Account 1'], diff --git a/packages/ui/cypress/tests/unknown-transaction.cy.ts b/packages/ui/cypress/tests/unknown-transaction.cy.ts index b99f8125..7d6f9f72 100644 --- a/packages/ui/cypress/tests/unknown-transaction.cy.ts +++ b/packages/ui/cypress/tests/unknown-transaction.cy.ts @@ -62,8 +62,7 @@ describe('Unknown Transaction', () => { txSigningModal .callInfoContainer() .should('be.visible') - .should('contain.text', 'system.remark') - .should('contain.text', 'remark: multix ftw') + .should('contain.text', '"remark": "multix ftw"') txSigningModal.approveButton().should('be.enabled') }) }) diff --git a/packages/ui/cypress/utils/clickOnConnect.ts b/packages/ui/cypress/utils/clickOnConnect.ts index 724a88bb..10acaea1 100644 --- a/packages/ui/cypress/utils/clickOnConnect.ts +++ b/packages/ui/cypress/utils/clickOnConnect.ts @@ -4,6 +4,12 @@ import { waitForAuthRequest } from './waitForAuthRequests' export const clickOnConnect = () => { topMenuItems.connectButton().click() - landingPage.accountsLoader().should('contain', 'Loading your accounts') + landingPage.connectionDialog().should('exist') + landingPage + .connectionDialog() + .within(() => cy.get('button', { includeShadowDom: true }).contains('Connect').click()) waitForAuthRequest() + landingPage + .connectionDialog() + .within(() => cy.get('#close-button', { includeShadowDom: true }).click()) } diff --git a/packages/ui/cypress/utils/rejectCurrentMultisigTxs.ts b/packages/ui/cypress/utils/rejectCurrentMultisigTxs.ts index 78dee7ff..fcdebc70 100644 --- a/packages/ui/cypress/utils/rejectCurrentMultisigTxs.ts +++ b/packages/ui/cypress/utils/rejectCurrentMultisigTxs.ts @@ -1,60 +1,78 @@ -import { cryptoWaitReady } from '@polkadot/util-crypto' import { InjectedAccountWitMnemonic } from '../fixtures/testAccounts' -import { Keyring, WsProvider, ApiPromise } from '@polkadot/api' -import { MultisigStorageInfo } from '../../src/types' import { PendingTx } from '../../src/hooks/usePendingTx' -import { SubmittableExtrinsic } from '@polkadot/api/types' -import { ISubmittableResult, AnyTuple, Codec } from '@polkadot/types/types' -import { StorageKey } from '@polkadot/types' +import { paseo } from '@polkadot-api/descriptors' +import { + Binary, + createClient, + FixedSizeBinary, + SS58String, + Transaction, + TxEvent, + TypedApi +} from 'polkadot-api' +import { getWsProvider } from 'polkadot-api/ws-provider/web' +import { sr25519CreateDerive } from '@polkadot-labs/hdkd' +import { entropyToMiniSecret, mnemonicToEntropy } from '@polkadot-labs/hdkd-helpers' +import { getPolkadotSigner } from 'polkadot-api/signer' export interface MultisigInfo { address: string otherSignatories: string[] threshold: number } -const callBack = - (resolve: (thenableOrResult?: unknown) => void) => - ({ status, txHash }: ISubmittableResult) => { - console.log('Transaction status:', status.type) - if (status.isBroadcast) { - console.log('Broadcasted', txHash.toHex()) +const callBack = (resolve: (thenableOrResult?: unknown) => void) => ({ + next: (event: TxEvent) => { + console.log('Transaction status:', event.type) + + if (event.type === 'broadcasted') { + console.log('Broadcasted', event.txHash) } - if (status.isInBlock) { + if (event.type === 'txBestBlocksState') { console.log('In block') + resolve() } - if (status.isFinalized) { - console.log('Finalized block hash', status.asFinalized.toHex()) - resolve() + if (event.type === 'finalized') { + console.log('Finalized block hash', event.txHash) } + }, + error: (error: Error) => { + console.error(error.toString()) } +}) + +interface MultisigQuery { + keyArgs: [SS58String, FixedSizeBinary<32>] + value: { + when: { height: number; index: number } + deposit: bigint + depositor: SS58String + approvals: SS58String[] + } +} -const getPendingMultisixTx = ( - multisigTxs: [StorageKey, Codec][], - multisigInfo: MultisigInfo -) => { +const getPendingMultisixTx = (multisigTxs: MultisigQuery[], multisigInfo: MultisigInfo) => { const curratedMultisigTxs: PendingTx[] = [] - multisigTxs.forEach((storage) => { + multisigTxs.forEach(({ keyArgs, value }) => { + const [multisigAddress, txHash] = keyArgs // this is supposed to be the multisig address that we asked the storage for - const multisigFromChain = (storage[0].toHuman() as Array)[0] - const hash = (storage[0].toHuman() as Array)[1] - const info = storage[1].toJSON() as unknown as MultisigStorageInfo + const info = value // Fix for ghost proposals for https://github.com/polkadot-js/apps/issues/9103 // These 2 should be the same - if (multisigFromChain.toLowerCase() !== multisigInfo.address.toLowerCase()) { + if (multisigAddress.toLowerCase() !== multisigInfo.address.toLowerCase()) { console.error( 'The onchain call and the one found in the block donot correspond', - multisigFromChain, + multisigAddress, multisigInfo.address ) return } curratedMultisigTxs.push({ - hash, + hash: txHash.asHex(), info, from: multisigInfo.address }) @@ -67,9 +85,9 @@ const getRejectionsTxs = ( pendingMultisigTxs: PendingTx[], account: InjectedAccountWitMnemonic, multisigInfo: MultisigInfo, - api: ApiPromise + api: TypedApi ) => { - const allTxs: SubmittableExtrinsic<'promise', ISubmittableResult>[] = [] + const allTxs: Transaction[] = [] pendingMultisigTxs.forEach((pendingMultisigTx) => { const depositor = pendingMultisigTx.info.depositor if (depositor !== account.address) { @@ -77,12 +95,13 @@ const getRejectionsTxs = ( return } - const rejectCurrent = api.tx.multisig.cancelAsMulti( - multisigInfo.threshold, - multisigInfo.otherSignatories, - pendingMultisigTx.info.when, - pendingMultisigTx.hash - ) + const rejectCurrent = api.tx.Multisig.cancel_as_multi({ + threshold: multisigInfo.threshold, + other_signatories: multisigInfo.otherSignatories, + timepoint: pendingMultisigTx.info.when, + call_hash: Binary.fromHex(pendingMultisigTx.hash) + }) + allTxs.push(rejectCurrent) }) @@ -92,7 +111,7 @@ const getRejectionsTxs = ( export const rejectCurrentMultisigTxs = ({ account, multisigInfo, - WSendpoint + WSendpoint: wSendpoint }: { account: InjectedAccountWitMnemonic multisigInfo: MultisigInfo @@ -104,15 +123,19 @@ export const rejectCurrentMultisigTxs = ({ { timeout: 30000 }, () => new Cypress.Promise(async (resolve) => { - await cryptoWaitReady() - - const keyring = new Keyring({ type: 'sr25519' }) - keyring.addFromMnemonic(account.mnemonic) - - const wsProvider = new WsProvider(WSendpoint) - const api = await ApiPromise.create({ provider: wsProvider }) - - const multisigTxs = await api.query.multisig.multisigs.entries(multisigInfo.address) + // ALICE ACCOUNT + const derive = sr25519CreateDerive(entropyToMiniSecret(mnemonicToEntropy(account.mnemonic))) + const aliceKeyPair = derive('') + const aliceSigner = getPolkadotSigner(aliceKeyPair.publicKey, 'Sr25519', aliceKeyPair.sign) + + // CLIENT AND API + const client = createClient(getWsProvider(wSendpoint)) + const api = client.getTypedApi(paseo) + + const multisigTxs = await api.query.Multisig.Multisigs.getEntries(multisigInfo.address, { + at: 'best' + }) + console.log('multisigTxs', multisigTxs) const pendingMultisigTxs = getPendingMultisixTx(multisigTxs, multisigInfo) if (!pendingMultisigTxs.length) { @@ -123,17 +146,15 @@ export const rejectCurrentMultisigTxs = ({ console.log('pendingMultisigTxs', pendingMultisigTxs) - const allTxs = getRejectionsTxs(pendingMultisigTxs, account, multisigInfo, api) + const allTxs = getRejectionsTxs(pendingMultisigTxs, account, multisigInfo, api).map( + (tx) => tx.decodedCall + ) console.log(`The multisig has ${allTxs.length} pending txs. Rejecting them now`) - api.tx.utility - .batchAll(allTxs) - .signAndSend( - keyring.getPair(account.address), - { withSignedTransaction: true }, - callBack(resolve) - ) + api.tx.Utility.batch_all({ calls: allTxs }) + .signSubmitAndWatch(aliceSigner, { at: 'best' }) + .subscribe(callBack(resolve)) }) ) } diff --git a/packages/ui/package.json b/packages/ui/package.json index d636f233..4004c6d9 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -6,39 +6,41 @@ "@emotion/react": "^11.13.5", "@emotion/styled": "^11.13.5", "@fontsource/jost": "^5.1.1", + "@mui/base": "^5.0.0-beta.58", "@mui/material": "^6.1.8", "@mui/styled-engine": "^6.1.8", - "@polkadot/api": "^14.3.1", - "@polkadot/api-augment": "^14.3.1", - "@polkadot/extension-dapp": "^0.56.2", + "@polkadot-api/descriptors": "portal:.papi/descriptors", + "@polkadot-api/tx-utils": "^0.0.6", + "@polkadot-labs/hdkd": "^0.0.8", + "@polkadot-labs/hdkd-helpers": "^0.0.8", "@polkadot/react-identicon": "^3.11.3", - "@polkadot/types": "^14.3.1", "@polkadot/util-crypto": "^13.2.3", + "@reactive-dot/core": "^0.26.2", + "@reactive-dot/react": "^0.26.2", "@tanstack/react-query": "^5.61.0", "@types/react-router-dom": "^5.3.3", "@walletconnect/web3wallet": "^1.16.1", "dayjs": "^1.11.13", + "dot-connect": "^0.13.2", "graphql": "^16.9.0", "graphql-request": "^7.1.2", "graphql-ws": "^5.16.0", + "polkadot-api": "^1.7.7", "react": "18.3.1", "react-dom": "18.3.1", "react-icons": "^5.3.0", "react-router-dom": "^6.28.0", "reactflow": "^11.11.4", - "rxjs": "^7.8.1", "typescript": "5.7.2", "vite": "^5.4.11" }, "devDependencies": { "@chainsafe/cypress-polkadot-wallet": "^2.3.0", - "@eslint/js": "^9.15.0", - "@graphql-codegen/cli": "5.0.3", - "@graphql-codegen/client-preset": "4.5.0", + "@eslint/js": "^9.0.0", + "@graphql-codegen/cli": "5.0.2", + "@graphql-codegen/client-preset": "4.2.5", "@graphql-codegen/typescript-react-query": "^6.1.0", "@graphql-eslint/eslint-plugin": "^3.20.1", - "@polkadot/extension-inject": "^0.56.2", - "@polkadot/typegen": "^14.3.1", "@types/node": "^22.9.1", "@types/react-dom": "^18.3.1", "@typescript-eslint/eslint-plugin": "^8.15.0", @@ -67,7 +69,8 @@ "generate:type-from-defs": "dlx ts-node --skip-project node_modules/.bin/polkadot-types-from-defs --endpoint ./node-metadata.json --package src/interfaces --input ./src/interfaces", "generate:types-from-chain": "dlx ts-node --skip-project node_modules/.bin/polkadot-types-from-chain --endpoint wss://rpc.ibp.network/polkadot --output ./src/interfaces", "test": "cypress open", - "test:ci": "cypress run --browser chrome --headless" + "test:ci": "cypress run --browser chrome --headless", + "postinstall": "yarn papi" }, "browserslist": { "production": [ diff --git a/packages/ui/src/App.tsx b/packages/ui/src/App.tsx index 56a86e91..87087099 100644 --- a/packages/ui/src/App.tsx +++ b/packages/ui/src/App.tsx @@ -14,6 +14,9 @@ import { WatchedAddressesContextProvider } from './contexts/WatchedAddressesCont import { WalletConnectContextProvider } from './contexts/WalletConnectContext' import { ModalsContextProvider } from './contexts/ModalsContext' import { PplApiContextProvider } from './contexts/PeopleChainApiContext' +import { ReactiveDotProvider } from '@reactive-dot/react' +import { config } from './walletConfigs' +import { Suspense } from 'react' const App = () => { const queryClient = new QueryClient() @@ -21,29 +24,33 @@ const App = () => { return ( - - - - - - - - - - - - - - - - - - - - - - - + + Loading...}> + + + + + + + + + + + + + + + + + + + + + + + + + ) } diff --git a/packages/ui/src/components/AccountDisplay/AccountDisplay.tsx b/packages/ui/src/components/AccountDisplay/AccountDisplay.tsx index 1ac829cd..67281ac6 100644 --- a/packages/ui/src/components/AccountDisplay/AccountDisplay.tsx +++ b/packages/ui/src/components/AccountDisplay/AccountDisplay.tsx @@ -2,7 +2,7 @@ import { Box, Tooltip } from '@mui/material' import { useCallback, useEffect, useMemo, useState } from 'react' import { styled } from '@mui/material/styles' import { AccountBadge, IconSizeVariant } from '../../types' -import { getDisplayAddress } from '../../utils' +import { getDisplayAddress } from '../../utils/getDisplayAddress' import IdenticonBadge from '../IdenticonBadge' import IdentityIcon from '../IdentityIcon' import Balance from '../library/Balance' @@ -49,7 +49,6 @@ const AccountDisplay = ({ const [isEditing, setIsEditing] = useState(false) const isOwnAccount = useMemo(() => ownAddressList.includes(address), [address, ownAddressList]) - const { displayName, subIdentity, isLocalNameDisplayed, identity, localName, identityName } = useAccountDisplayInfo({ address diff --git a/packages/ui/src/components/AccountSelect/index.tsx b/packages/ui/src/components/AccountSelect/index.tsx index 9d6f4d10..ce8fd0e1 100644 --- a/packages/ui/src/components/AccountSelect/index.tsx +++ b/packages/ui/src/components/AccountSelect/index.tsx @@ -39,7 +39,7 @@ export const AccountSelect: React.FC = ({ anchorEl, onClose, ...props }) } - title={account.meta.name} + title={account.name} subheader={account.address} /> diff --git a/packages/ui/src/components/CallInfo.tsx b/packages/ui/src/components/CallInfo.tsx index 9458ea72..44b493e9 100644 --- a/packages/ui/src/components/CallInfo.tsx +++ b/packages/ui/src/components/CallInfo.tsx @@ -1,18 +1,19 @@ import Expander from './Expander' import { styled } from '@mui/material/styles' -import { AnyJson } from '@polkadot/types/types' import { ReactNode, useMemo } from 'react' -import { useApi } from '../contexts/ApiContext' -import { getExtrinsicName, isProxyCall } from '../utils' -import { formatBnBalance } from '../utils/formatBnBalance' -import MultisigCompactDisplay from './MultisigCompactDisplay' +import { ApiType, useApi } from '../contexts/ApiContext' +import { getExtrinsicName } from '../utils/getExtrinsicName' +import { isProxyCall } from '../utils/isProxyCall' +// import { formatBigIntBalance } from '../utils/formatBnBalance' +// import MultisigCompactDisplay from './MultisigCompactDisplay' import { HiOutlineArrowTopRightOnSquare as LaunchIcon } from 'react-icons/hi2' import { Link } from './library' import { usePjsLinks } from '../hooks/usePjsLinks' import { Alert } from '@mui/material' -import { ApiPromise } from '@polkadot/api' -import { isTypeBalanceWithBalanceCall, isTypeAccount } from '../utils' +// import { isTypeBalanceWithBalanceCall, isTypeAccount } from '../utils' import { CallDataInfoFromChain } from '../hooks/usePendingTx' +import { JSONprint } from '../utils/jsonPrint' +import { Transaction } from 'polkadot-api' interface Props { aggregatedData: Omit @@ -24,162 +25,35 @@ interface Props { } interface CreateTreeParams { - args: AnyJson + decodedCall?: Transaction['decodedCall'] decimals: number unit: string name?: string - api: ApiPromise - typeName?: string + api: ApiType } -const handleCallDisplay = ({ - call, - decimals, - unit, - api, - key -}: { - call: any - decimals: number - unit: string - key: string - api: ApiPromise -}) => { - const name = `${call.section}.${call.method}` - return ( - <> -
  • {name}
  • - {createUlTree({ - name: `${call.section}.${call.method}`, - args: call.args, - decimals, - unit, - api - })} - - ) -} - -const handleBatchDisplay = ({ - value, - decimals, - unit, - api, - key -}: { - value: any[] - decimals: number - unit: string - key: string - api: ApiPromise -}) => - value.map((call: any, index: number) => - handleCallDisplay({ call, decimals, unit, api, key: `${key}-${index}` }) - ) - -const handleBalanceDisplay = ({ - value, - decimals, - unit, - key -}: { - value: any - decimals: number - unit: string - key: string -}) => { - const balance = formatBnBalance(value.replace(/,/g, ''), decimals, { - withThousandDelimiter: true, - tokenSymbol: unit, - numberAfterComma: 4 - }) - - return ( -
  • - {key}: {balance} -
  • - ) -} - -const handleValueDisplay = ({ value, typeName }: { value: any; typeName: string | undefined }) => - typeName === 'bool' ? (value ? 'true' : 'false') : value - -const getTypeName = (index: number, name: string, api: ApiPromise) => { - const [pallet, method] = name.split('.') - const metaArgs = !!pallet && !!method && api.tx[pallet][method]?.meta?.args - - return ( - (!!metaArgs && metaArgs[index] && (metaArgs[index].toHuman().typeName as string)) || undefined - ) -} - -const createUlTree = ({ name, args, decimals, unit, api, typeName }: CreateTreeParams) => { - if (!args) return +const createUlTree = ({ name, decodedCall }: CreateTreeParams) => { + if (!decodedCall) return if (!name) return - return ( -
      - {Object.entries(args).map(([key, value], index) => { - const _typeName = typeName || getTypeName(index, name, api) - - if (_typeName === 'Vec') { - return handleBatchDisplay({ value, decimals, unit, api, key: `${key}-batch` }) - } - - if (_typeName === 'RuntimeCall') { - return handleCallDisplay({ call: value, decimals, unit, api, key: `${key}-call` }) - } - - // generically show nice value for Balance type - if (isTypeBalanceWithBalanceCall(_typeName, name)) { - return handleBalanceDisplay({ value, decimals, unit, key }) - } - - const destAddress = value?.Id || value - if (isTypeAccount(_typeName) && typeof destAddress === 'string') { - return ( -
    • - {key}: {} -
    • - ) - } - - return ( -
    • - {key}:{' '} - {typeof value === 'object' - ? createUlTree({ - name, - args: value, - decimals, - unit, - api, - typeName: _typeName - }) - : handleValueDisplay({ value, typeName: _typeName })} -
    • - ) - })} -
    - ) + return {JSONprint(decodedCall.value.value)} } const filterProxyProxy = (agg: Props['aggregatedData']): Props['aggregatedData'] => { - const { args, name } = agg + const { decodedCall, name } = agg const isProxy = isProxyCall(name) - if (!isProxy || !(args as { [index: string]: AnyJson })?.call) { + if (!isProxy || !decodedCall?.value.value.call) { return agg } - const call = (args as any).call + const call = decodedCall.value.value.call - const newName = getExtrinsicName(call?.section, call?.method) - const newArgs = call?.args + const newName = getExtrinsicName(call.type, call.value.type) return { ...agg, name: newName, - args: newArgs + decodedCall: call } } @@ -191,7 +65,9 @@ const CallInfo = ({ withLink = false, withProxyFiltered = true }: Props) => { - const { args, name } = withProxyFiltered ? filterProxyProxy(aggregatedData) : aggregatedData + const { decodedCall, name } = withProxyFiltered + ? filterProxyProxy(aggregatedData) + : aggregatedData const { chainInfo, api } = useApi() const decimals = useMemo(() => chainInfo?.tokenDecimals || 0, [chainInfo]) const unit = useMemo(() => chainInfo?.tokenSymbol || '', [chainInfo]) @@ -200,7 +76,7 @@ const CallInfo = ({ () => aggregatedData.callData && getDecodeUrl(aggregatedData.callData), [aggregatedData, getDecodeUrl] ) - const hasArgs = useMemo(() => args && Object.keys(args).length > 0, [args]) + const hasArgs = useMemo(() => decodedCall && Object.keys(decodedCall).length > 0, [decodedCall]) return (
    {name} {!!aggregatedData.callData && withLink && ( - - + )} {!aggregatedData.callData && ( @@ -236,7 +112,7 @@ const CallInfo = ({ )} {children} @@ -256,11 +132,15 @@ const CallNameStyled = styled('h4')` align-items: center; ` -const Linkstyled = styled(Link)` +const LinkStyled = styled(Link)` display: flex; padding-left: 0.5rem; ` +const PreStyled = styled('pre')` + overflow: auto; +` + export default styled(CallInfo)` flex: 1; overflow: hidden; diff --git a/packages/ui/src/components/ConnectCreateOrWatch.tsx b/packages/ui/src/components/ConnectCreateOrWatch.tsx index 26827631..6949c550 100644 --- a/packages/ui/src/components/ConnectCreateOrWatch.tsx +++ b/packages/ui/src/components/ConnectCreateOrWatch.tsx @@ -1,13 +1,15 @@ import { styled } from '@mui/material' -import { useAccounts } from '../contexts/AccountsContext' +// import { useAccounts } from '../contexts/AccountsContext' import { createSearchParams, useNavigate, useSearchParams } from 'react-router-dom' import { Button } from './library' import { WATCH_ACCOUNT_ANCHOR } from '../pages/Settings/Settings' import { useWatchedAddresses } from '../contexts/WatchedAddressesContext' import { useNetwork } from '../contexts/NetworkContext' +import { useAccounts } from '../contexts/AccountsContext' export const ConnectOrWatch = () => { - const { isAllowedToConnectToExtension, allowConnectionToExtension } = useAccounts() + const { setIsConnectionDialogOpen, isAllowedToConnectToExtension, allowConnectionToExtension } = + useAccounts() const { watchedAddresses } = useWatchedAddresses() const navigate = useNavigate() const [searchParams] = useSearchParams() @@ -47,7 +49,10 @@ export const ConnectOrWatch = () => { ) : ( + )} @@ -50,24 +61,35 @@ function DrawerMenu({ handleDrawerClose }: DrawerMenuProps) { {ROUTES.map(({ path, name, isDisplayWhenNoWallet }) => { const paramsString = createSearchParams(params).toString() - return isAccountConnected || isDisplayWhenNoWallet ? ( - - - - - - ) : null + + + + + ) + ) })} ) } + +const WalletButtonStyled = styled('div')` + font-weight: 400; + display: flex; + + .wallet-icon { + margin-right: 0.5rem; + } +` const ListItemStyled = styled(ListItem)` justify-content: center; width: 100%; diff --git a/packages/ui/src/components/EasySetup/BalancesTransfer.tsx b/packages/ui/src/components/EasySetup/BalancesTransfer.tsx index c49b216e..93d14faa 100644 --- a/packages/ui/src/components/EasySetup/BalancesTransfer.tsx +++ b/packages/ui/src/components/EasySetup/BalancesTransfer.tsx @@ -1,21 +1,20 @@ import { Box, InputAdornment } from '@mui/material' import { styled } from '@mui/material/styles' -import { SubmittableExtrinsic } from '@polkadot/api/types' -import { ISubmittableResult } from '@polkadot/types/types' import GenericAccountSelection, { AccountBaseInfo } from '../select/GenericAccountSelection' import { ReactNode, useCallback, useEffect, useMemo, useState } from 'react' import { useApi } from '../../contexts/ApiContext' import { useCheckBalance } from '../../hooks/useCheckBalance' -import BN from 'bn.js' -import { getGlobalMaxValue, inputToBn } from '../../utils' +import { inputToBigInt, getGlobalMaxValue } from '../../utils/bnUtils' import { TextField } from '../library' import { getOptionLabel } from '../../utils/getOptionLabel' import { useAccountBaseFromAccountList } from '../../hooks/useAccountBaseFromAccountList' +import { dot, MultiAddress } from '@polkadot-api/descriptors' +import { Transaction, TypedApi } from 'polkadot-api' interface Props { className?: string from: string - onSetExtrinsic: (ext?: SubmittableExtrinsic<'promise', ISubmittableResult>) => void + onSetExtrinsic: (ext?: Transaction) => void onSetErrorMessage: React.Dispatch> } @@ -24,7 +23,7 @@ const BalancesTransfer = ({ className, onSetExtrinsic, onSetErrorMessage, from } const [selected, setSelected] = useState() const { api, chainInfo } = useApi() const [amountString, setAmountString] = useState('') - const [amount, setAmount] = useState() + const [amount, setAmount] = useState() const [amountError, setAmountError] = useState('') const { hasEnoughFreeBalance } = useCheckBalance({ min: amount, @@ -52,7 +51,12 @@ const BalancesTransfer = ({ className, onSetExtrinsic, onSetErrorMessage, from } return } - onSetExtrinsic(api.tx.balances.transferKeepAlive(toAddress, amount.toString())) + onSetExtrinsic( + (api as TypedApi).tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(toAddress), + value: amount + }) + ) }, [amount, api, chainInfo, onSetExtrinsic, toAddress]) const onAddressDestChange = useCallback((account: AccountBaseInfo) => { @@ -68,7 +72,7 @@ const BalancesTransfer = ({ className, onSetExtrinsic, onSetErrorMessage, from } if (!decimals) { onSetErrorMessage('Invalid network decimals') - setAmount(new BN(0)) + setAmount(0n) return } @@ -78,19 +82,19 @@ const BalancesTransfer = ({ className, onSetExtrinsic, onSetErrorMessage, from } if (!stringInput.match('^[0-9]+([.][0-9]+)?$')) { setAmountError('Only numbers and "." are accepted.') onSetErrorMessage('Invalid amount') - setAmount(new BN(0)) + setAmount(0n) return } - const bnResult = inputToBn(decimals, stringInput) + const bigintResult = inputToBigInt(decimals, stringInput) - if (bnResult.gte(maxValue)) { + if (bigintResult > maxValue) { setAmountError('Amount too large') onSetErrorMessage('Amount too large') return } - setAmount(bnResult) + setAmount(bigintResult) }, [chainInfo, maxValue, onSetErrorMessage] ) diff --git a/packages/ui/src/components/EasySetup/FromCallData.tsx b/packages/ui/src/components/EasySetup/FromCallData.tsx index 338f0c87..13ea3d8b 100644 --- a/packages/ui/src/components/EasySetup/FromCallData.tsx +++ b/packages/ui/src/components/EasySetup/FromCallData.tsx @@ -1,20 +1,17 @@ import { Alert, Box } from '@mui/material' import { styled } from '@mui/material/styles' -import { SubmittableExtrinsic } from '@polkadot/api/types' -import { ISubmittableResult } from '@polkadot/types/types' -import React, { useCallback, useEffect, useMemo, useState } from 'react' +import React, { useCallback, useEffect, useState } from 'react' import { useApi } from '../../contexts/ApiContext' import { TextField } from '../library' import CallInfo from '../CallInfo' import { useCallInfoFromCallData } from '../../hooks/useCallInfoFromCallData' -import { HexString } from '../../types' -import { getDisplayArgs, getExtrinsicName } from '../../utils' +import { getExtrinsicName } from '../../utils/getExtrinsicName' import { usePjsLinks } from '../../hooks/usePjsLinks' -import { u8aToHex } from '@polkadot/util' +import { Binary, HexString, Transaction } from 'polkadot-api' interface Props { className?: string - onSetExtrinsic: (ext: SubmittableExtrinsic<'promise', ISubmittableResult>) => void + onSetExtrinsic: (ext: Transaction) => void } const FromCallData = ({ className, onSetExtrinsic }: Props) => { @@ -22,25 +19,30 @@ const FromCallData = ({ className, onSetExtrinsic }: Props) => { const [pastedCallData, setPastedCallData] = useState(undefined) const [callDataError, setCallDataError] = useState('') const [isProxyProxyRemoved, setIsProxyProxyRemoved] = useState(false) + const [callDataToUse, setCallDataToUse] = useState() const removeProxyProxyCall = useCallback( - (call: HexString) => { + async (call: HexString) => { setIsProxyProxyRemoved(false) if (!api) return call - const proxyProxyString = u8aToHex(api?.tx.proxy?.proxy.callIndex).toString() + try { + const decodedCall = (await api.txFromCallData(Binary.fromHex(call))).decodedCall + + // check if this call is a proxy.proxy + if (decodedCall.type === 'Proxy' && decodedCall.value.type === 'proxy') { + // a proxy.proxy call is encoded with e.g + // callIndex 1e00 + // real 00 eb53ed54b7f921a438923e6eb52c4d89afc5c0fed5d0d15fb78648c53da227a0 + // forceProxyType 00 + setIsProxyProxyRemoved(true) + return `0x${call.substring(74)}` as HexString + } - // check if this call is a proxy.proxy - if (!call.startsWith(proxyProxyString)) { return call + } catch { + return } - - // a proxy.proxy call is encoded with e.g - // callIndex 1e00 - // real 00 eb53ed54b7f921a438923e6eb52c4d89afc5c0fed5d0d15fb78648c53da227a0 - // forceProxyType 00 - setIsProxyProxyRemoved(true) - return `0x${call.substring(74)}` as HexString }, [api] ) @@ -48,10 +50,11 @@ const FromCallData = ({ className, onSetExtrinsic }: Props) => { // users may erroneously paste callData from the multisig calldata // this may start by proxy.proxy although this will be // added by Multix too. For this reason we strip it. - const callDataToUse = useMemo( - () => pastedCallData && removeProxyProxyCall(pastedCallData), - [pastedCallData, removeProxyProxyCall] - ) + useEffect(() => { + if (!pastedCallData) return + removeProxyProxyCall(pastedCallData).then(setCallDataToUse).catch(console.error) + }, [pastedCallData, removeProxyProxyCall]) + const { callInfo } = useCallInfoFromCallData(callDataToUse) const { callInfo: pastedCallInfo } = useCallInfoFromCallData(pastedCallData) const { extrinsicUrl } = usePjsLinks() @@ -65,7 +68,7 @@ const FromCallData = ({ className, onSetExtrinsic }: Props) => { return } - onSetExtrinsic(api.tx(callInfo.call)) + onSetExtrinsic(callInfo.call) }, [api, pastedCallData, callInfo, onSetExtrinsic]) const onCallDataChange = useCallback((event: React.ChangeEvent) => { @@ -106,7 +109,7 @@ const FromCallData = ({ className, onSetExtrinsic }: Props) => { {!!callInfo && !!pastedCallInfo && !callDataError && ( , key?: string) => void - onSetErrorMessage: React.Dispatch> - onSelectFromCallData: () => void - hasErrorMessage: boolean -} - -interface ParamField { - name: string - type: string - typeName: string - optional: boolean -} - -interface FormState { - palletRpc: string - callable: string - inputParams: any[] -} - -const initFormState = { - palletRpc: '', - callable: '', - inputParams: [] as any[] -} as FormState - -const argIsOptional = (arg: any) => arg.type.toString().startsWith('Option<') - -const isNumType = (type: string) => paramConversion.num.includes(type) - -const parseFloatOrInt = (value: any) => { - return value.indexOf('.') >= 0 ? Number.parseFloat(value) : Number.parseInt(value) -} - -const handleVector = (val: any, type: string) => { - return val - .split(',') - .map((e: string) => e.trim()) - .map((single: any) => (isNumType(type) ? parseFloatOrInt(single) : single)) -} - -// create an array of all the params with their type -const processParamValue = (inputParam: any) => { - // to cater the js quirk that `null` is a type of `object`. - if ( - typeof inputParam === 'object' && - inputParam !== null && - typeof inputParam.value === 'string' - ) { - return inputParam.value.trim() - } else if (typeof inputParam === 'string') { - return inputParam.trim() - } - return inputParam -} - -const ManualExtrinsic = ({ - className, - onSetExtrinsic, - onSetErrorMessage, - extrinsicIndex, - onSelectFromCallData, - hasErrorMessage -}: Props) => { - const { api, chainInfo } = useApi() - const [palletRPCs, setPalletRPCs] = useState([]) - const [callables, setCallables] = useState([]) - const [paramFields, setParamFields] = useState(null) - const [formState, setFormState] = useState(initFormState) - const { palletRpc, callable, inputParams } = formState - const [transformedParams, setTransformedParams] = useState() - const areAllParamsFilled = useMemo(() => { - if (paramFields === null) { - // it hasn't been initialized yet - return false - } - - if (paramFields.length === 0) { - return true - } - - return paramFields?.every((paramField, ind) => { - const param = inputParams[ind] - if (paramField.optional) { - return true - } - if (param == null) { - return false - } - - const value = typeof param === 'object' ? param.value : param - return value !== null && value !== '' - }) - }, [inputParams, paramFields]) - - const isValidAmountString = useCallback( - (value: any) => { - if (!value.match(/^[0-9]+([.][0-9]+)?$/)) { - onSetErrorMessage('Only numbers and "." are accepted.') - return false - } - - return true - }, - [onSetErrorMessage] - ) - - const isAmountOverflow = useCallback( - (bnResult: BN) => { - if (bnResult.gte(getGlobalMaxValue(128))) { - onSetErrorMessage('Amount too large') - return true - } - - return false - }, - [onSetErrorMessage] - ) - - const transformParams = useCallback( - (paramFields: ParamField[], inputParams: any[], opts = { emptyAsNull: true }) => { - const params = paramFields.map((field, ind) => ({ - ...field, - value: processParamValue(inputParams[ind]) - })) - - return params.reduce((previousValue, { type = 'string', value, typeName }) => { - if (value == null || value === '') { - // if `opts.emptyAsNull` is true, empty param value will be added to res as `null`. - // otherwise, it will not be added - return opts.emptyAsNull ? [...previousValue, null] : previousValue - } - - // Deal with a vector - if (type.indexOf('Vec<') >= 0) { - return [...previousValue, handleVector(value, type)] - } - - // Deal with balance like types where the param needs to - // be multiplied by the token decimals - if (isTypeBalanceWithBalanceCall(typeName, `${palletRpc}.${callable}`)) { - if (!isValidAmountString(value) || !chainInfo?.tokenDecimals) { - return previousValue - } - - const bnResult = inputToBn(chainInfo.tokenDecimals, value) - - if (isAmountOverflow(bnResult)) { - return previousValue - } - - return [...previousValue, bnResult.toString()] - } - - if (isNumType(type)) { - return [...previousValue, parseFloatOrInt(value)] - } - - return [...previousValue, value] - }, [] as any[]) - }, - [callable, chainInfo?.tokenDecimals, isAmountOverflow, isValidAmountString, palletRpc] - ) - - useEffect(() => { - !!paramFields && - !!inputParams && - setTransformedParams(transformParams(paramFields, inputParams)) - }, [inputParams, paramFields, transformParams]) - - const updatePalletRPCs = useCallback(() => { - if (!api) { - return - } - const apiType = api.tx - const palletRPCs = Object.keys(apiType) - .sort() - .filter((pr) => Object.keys(apiType[pr]).length > 0) - .map((pr) => ({ key: pr, value: pr, text: pr })) - setPalletRPCs(palletRPCs) - }, [api]) - - const updateCallables = useCallback(() => { - if (!api || !palletRpc) { - return - } - - const callables = Object.keys(api.tx[palletRpc]) - .sort() - .map((c) => ({ key: c, value: c, text: c })) - setCallables(callables) - }, [api, palletRpc]) - - const updateParamFields = useCallback(() => { - if (!api || !palletRpc || !callable) { - setParamFields(null) - return - } - - let paramFields: ParamField[] = [] - const metaArgs = api.tx[palletRpc][callable].meta.args - - if (metaArgs && metaArgs.length > 0) { - paramFields = metaArgs.map((arg) => { - // console.log('getTypeDef', getTypeDef(arg.type.toString())) - // const instance = api.registry.createType(arg.type as unknown as 'u32') - // console.log('instance', instance) - // const raw = getTypeDef(instance.toRawType()) - // console.log('raw', raw) - - return { - name: arg.name.toString(), - type: arg.type.toString(), - typeName: arg.typeName.unwrap().toString(), - optional: argIsOptional(arg) - } - }) - } - - setParamFields(paramFields) - }, [api, callable, palletRpc]) - - useEffect(updatePalletRPCs, [updatePalletRPCs]) - useEffect(updateCallables, [updateCallables]) - useEffect(updateParamFields, [updateParamFields]) - - const onClickSelectFromCallData = useCallback(() => { - onSelectFromCallData() - }, [onSelectFromCallData]) - - const onPalletCallableParamChange = useCallback( - (event: SelectChangeEvent, state: string) => { - // reset the params - setTransformedParams(undefined) - setParamFields(null) - onSetErrorMessage('') - - setFormState((formState) => { - const value = event.target.value - if (state === 'palletRpc') { - return { - ...formState, - [state]: value, - callable: '', - inputParams: [] - } - } else if (state === 'callable') { - return { ...formState, [state]: value, inputParams: [] } - } - - return initFormState - }) - }, - [onSetErrorMessage] - ) - - const onParamChange = useCallback( - ( - event: ChangeEvent, - { ind, paramField }: { ind: number; paramField: ParamField } - ) => { - onSetErrorMessage('') - setFormState((formState) => { - const inputParams = [...formState.inputParams] - inputParams[ind] = { type: paramField.type, value: event.target.value } - return { ...formState, inputParams } - }) - }, - [onSetErrorMessage] - ) - - useEffect(() => { - if (!api) { - return - } - - if (!callable || !palletRpc || !areAllParamsFilled || hasErrorMessage) { - return - } - - if (api.tx[palletRpc][callable].meta.args.length !== transformedParams?.length) { - return - } - - try { - const extrinsic = transformedParams - ? api.tx[palletRpc][callable](...transformedParams) - : api.tx[palletRpc][callable]() - - !!extrinsic && onSetExtrinsic(extrinsic, extrinsicIndex) - } catch (e) { - onSetErrorMessage('Some parameters are invalid.') - console.error(e) - } - }, [ - api, - areAllParamsFilled, - callable, - extrinsicIndex, - hasErrorMessage, - onSetErrorMessage, - onSetExtrinsic, - palletRpc, - transformedParams - ]) - - return ( - - - If this doesn‘t suit your needs, try{' '} - - submitting the extrinsic "From call data" - - . - - - - - - - -
      - {paramFields?.map((paramField, ind) => { - return ( -
    • - onParamChange(event, { ind, paramField })} - slotProps={{ - input: { - endAdornment: isTypeBalanceWithBalanceCall( - paramField.typeName, - `${palletRpc}.${callable}` - ) && ( - {chainInfo?.tokenSymbol || ''} - ) - }, - - htmlInput: { 'data-cy': `param-input-${paramField.name}` } - }} - /> -
    • - ) - })} -
    -
    - ) -} - -const LinkStyled = styled('span')` - text-decoration: underline; - cursor: pointer; -` - -const AlertStyled = styled(Alert)` - margin: 0.5rem 0 0.5rem 0; -` - -export default styled(ManualExtrinsic)` - margin-top: 0.5rem; - - .palletSelection { - margin-right: 0.5rem; - } - - .paramInputs { - list-style: none; - - & > li { - margin-top: 0.5rem; - } - } -` +// import { +// Alert, +// Box, +// FormControl, +// InputAdornment, +// MenuItem, +// Select, +// SelectChangeEvent, +// TextField +// } from '@mui/material' +// import { styled } from '@mui/material/styles' +// import React, { ChangeEvent, ReactNode, useCallback, useEffect, useMemo, useState } from 'react' +// import { useApi } from '../../contexts/ApiContext' +// import paramConversion from '../../utils/paramConversion' +// import { getGlobalMaxValue, inputToBigInt } from '../../utils' +// import BN from 'bn.js' +// import { isTypeBalanceWithBalanceCall } from '../../utils/isTypeBalance' + +// interface Props { +// extrinsicIndex?: string +// className?: string +// onSetExtrinsic: (ext: SubmittableExtrinsic<'promise', ISubmittableResult>, key?: string) => void +// onSetErrorMessage: React.Dispatch> +// onSelectFromCallData: () => void +// hasErrorMessage: boolean +// } + +// interface ParamField { +// name: string +// type: string +// typeName: string +// optional: boolean +// } + +// interface FormState { +// palletRpc: string +// callable: string +// inputParams: any[] +// } + +// const initFormState = { +// palletRpc: '', +// callable: '', +// inputParams: [] as any[] +// } as FormState + +// const argIsOptional = (arg: any) => arg.type.toString().startsWith('Option<') + +// const isNumType = (type: string) => paramConversion.num.includes(type) + +// const parseFloatOrInt = (value: any) => { +// return value.indexOf('.') >= 0 ? Number.parseFloat(value) : Number.parseInt(value) +// } + +// const handleVector = (val: any, type: string) => { +// return val +// .split(',') +// .map((e: string) => e.trim()) +// .map((single: any) => (isNumType(type) ? parseFloatOrInt(single) : single)) +// } + +// // create an array of all the params with their type +// const processParamValue = (inputParam: any) => { +// // to cater the js quirk that `null` is a type of `object`. +// if ( +// typeof inputParam === 'object' && +// inputParam !== null && +// typeof inputParam.value === 'string' +// ) { +// return inputParam.value.trim() +// } else if (typeof inputParam === 'string') { +// return inputParam.trim() +// } +// return inputParam +// } + +// const ManualExtrinsic = ({ +// className, +// onSetExtrinsic, +// onSetErrorMessage, +// extrinsicIndex, +// onSelectFromCallData, +// hasErrorMessage +// }: Props) => { +// const { api, chainInfo } = useApi() +// const [palletRPCs, setPalletRPCs] = useState([]) +// const [callables, setCallables] = useState([]) +// const [paramFields, setParamFields] = useState(null) +// const [formState, setFormState] = useState(initFormState) +// const { palletRpc, callable, inputParams } = formState +// const [transformedParams, setTransformedParams] = useState() +// const areAllParamsFilled = useMemo(() => { +// if (paramFields === null) { +// // it hasn't been initialized yet +// return false +// } + +// if (paramFields.length === 0) { +// return true +// } + +// return paramFields?.every((paramField, ind) => { +// const param = inputParams[ind] +// if (paramField.optional) { +// return true +// } +// if (param == null) { +// return false +// } + +// const value = typeof param === 'object' ? param.value : param +// return value !== null && value !== '' +// }) +// }, [inputParams, paramFields]) + +// const isValidAmountString = useCallback( +// (value: any) => { +// if (!value.match(/^[0-9]+([.][0-9]+)?$/)) { +// onSetErrorMessage('Only numbers and "." are accepted.') +// return false +// } + +// return true +// }, +// [onSetErrorMessage] +// ) + +// const isAmountOverflow = useCallback( +// (bnResult: BN) => { +// if (bnResult.gte(getGlobalMaxValue(128))) { +// onSetErrorMessage('Amount too large') +// return true +// } + +// return false +// }, +// [onSetErrorMessage] +// ) + +// const transformParams = useCallback( +// (paramFields: ParamField[], inputParams: any[], opts = { emptyAsNull: true }) => { +// const params = paramFields.map((field, ind) => ({ +// ...field, +// value: processParamValue(inputParams[ind]) +// })) + +// return params.reduce((previousValue, { type = 'string', value, typeName }) => { +// if (value == null || value === '') { +// // if `opts.emptyAsNull` is true, empty param value will be added to res as `null`. +// // otherwise, it will not be added +// return opts.emptyAsNull ? [...previousValue, null] : previousValue +// } + +// // Deal with a vector +// if (type.indexOf('Vec<') >= 0) { +// return [...previousValue, handleVector(value, type)] +// } + +// // Deal with balance like types where the param needs to +// // be multiplied by the token decimals +// if (isTypeBalanceWithBalanceCall(typeName, `${palletRpc}.${callable}`)) { +// if (!isValidAmountString(value) || !chainInfo?.tokenDecimals) { +// return previousValue +// } + +// const bnResult = inputToBigInt(chainInfo.tokenDecimals, value) + +// if (isAmountOverflow(bnResult)) { +// return previousValue +// } + +// return [...previousValue, bnResult.toString()] +// } + +// if (isNumType(type)) { +// return [...previousValue, parseFloatOrInt(value)] +// } + +// return [...previousValue, value] +// }, [] as any[]) +// }, +// [callable, chainInfo?.tokenDecimals, isAmountOverflow, isValidAmountString, palletRpc] +// ) + +// useEffect(() => { +// !!paramFields && +// !!inputParams && +// setTransformedParams(transformParams(paramFields, inputParams)) +// }, [inputParams, paramFields, transformParams]) + +// const updatePalletRPCs = useCallback(() => { +// if (!api) { +// return +// } +// const apiType = api.tx +// const palletRPCs = Object.keys(apiType) +// .sort() +// .filter((pr) => Object.keys(apiType[pr]).length > 0) +// .map((pr) => ({ key: pr, value: pr, text: pr })) +// setPalletRPCs(palletRPCs) +// }, [api]) + +// const updateCallables = useCallback(() => { +// if (!api || !palletRpc) { +// return +// } + +// const callables = Object.keys(api.tx[palletRpc]) +// .sort() +// .map((c) => ({ key: c, value: c, text: c })) +// setCallables(callables) +// }, [api, palletRpc]) + +// const updateParamFields = useCallback(() => { +// if (!api || !palletRpc || !callable) { +// setParamFields(null) +// return +// } + +// let paramFields: ParamField[] = [] +// const metaArgs = api.tx[palletRpc][callable].meta.args + +// if (metaArgs && metaArgs.length > 0) { +// paramFields = metaArgs.map((arg) => { +// // console.log('getTypeDef', getTypeDef(arg.type.toString())) +// // const instance = api.registry.createType(arg.type as unknown as 'u32') +// // console.log('instance', instance) +// // const raw = getTypeDef(instance.toRawType()) +// // console.log('raw', raw) + +// return { +// name: arg.name.toString(), +// type: arg.type.toString(), +// typeName: arg.typeName.unwrap().toString(), +// optional: argIsOptional(arg) +// } +// }) +// } + +// setParamFields(paramFields) +// }, [api, callable, palletRpc]) + +// useEffect(updatePalletRPCs, [updatePalletRPCs]) +// useEffect(updateCallables, [updateCallables]) +// useEffect(updateParamFields, [updateParamFields]) + +// const onClickSelectFromCallData = useCallback(() => { +// onSelectFromCallData() +// }, [onSelectFromCallData]) + +// const onPalletCallableParamChange = useCallback( +// (event: SelectChangeEvent, state: string) => { +// // reset the params +// setTransformedParams(undefined) +// setParamFields(null) +// onSetErrorMessage('') + +// setFormState((formState) => { +// const value = event.target.value +// if (state === 'palletRpc') { +// return { +// ...formState, +// [state]: value, +// callable: '', +// inputParams: [] +// } +// } else if (state === 'callable') { +// return { ...formState, [state]: value, inputParams: [] } +// } + +// return initFormState +// }) +// }, +// [onSetErrorMessage] +// ) + +// const onParamChange = useCallback( +// ( +// event: ChangeEvent, +// { ind, paramField }: { ind: number; paramField: ParamField } +// ) => { +// onSetErrorMessage('') +// setFormState((formState) => { +// const inputParams = [...formState.inputParams] +// inputParams[ind] = { type: paramField.type, value: event.target.value } +// return { ...formState, inputParams } +// }) +// }, +// [onSetErrorMessage] +// ) + +// useEffect(() => { +// if (!api) { +// return +// } + +// if (!callable || !palletRpc || !areAllParamsFilled || hasErrorMessage) { +// return +// } + +// if (api.tx[palletRpc][callable].meta.args.length !== transformedParams?.length) { +// return +// } + +// try { +// const extrinsic = transformedParams +// ? api.tx[palletRpc][callable](...transformedParams) +// : api.tx[palletRpc][callable]() + +// !!extrinsic && onSetExtrinsic(extrinsic, extrinsicIndex) +// } catch (e) { +// onSetErrorMessage('Some parameters are invalid.') +// console.error(e) +// } +// }, [ +// api, +// areAllParamsFilled, +// callable, +// extrinsicIndex, +// hasErrorMessage, +// onSetErrorMessage, +// onSetExtrinsic, +// palletRpc, +// transformedParams +// ]) + +// return ( +// +// +// If this doesn‘t suit your needs, try{' '} +// +// submitting the extrinsic "From call data" +// +// . +// +// +// +// +// +// +// +//
      +// {paramFields?.map((paramField, ind) => { +// return ( +//
    • +// onParamChange(event, { ind, paramField })} +// slotProps={{ +// input: { +// endAdornment: isTypeBalanceWithBalanceCall( +// paramField.typeName, +// `${palletRpc}.${callable}` +// ) && ( +// {chainInfo?.tokenSymbol || ''} +// ) +// }, + +// htmlInput: { 'data-cy': `param-input-${paramField.name}` } +// }} +// /> +//
    • +// ) +// })} +//
    +//
    +// ) +// } + +// const LinkStyled = styled('span')` +// text-decoration: underline; +// cursor: pointer; +// ` + +// const AlertStyled = styled(Alert)` +// margin: 0.5rem 0 0.5rem 0; +// ` + +// export default styled(ManualExtrinsic)` +// margin-top: 0.5rem; + +// .palletSelection { +// margin-right: 0.5rem; +// } + +// .paramInputs { +// list-style: none; + +// & > li { +// margin-top: 0.5rem; +// } +// } +// ` diff --git a/packages/ui/src/components/EasySetup/SetIdentity.tsx b/packages/ui/src/components/EasySetup/SetIdentity.tsx index b1992879..d0358abe 100644 --- a/packages/ui/src/components/EasySetup/SetIdentity.tsx +++ b/packages/ui/src/components/EasySetup/SetIdentity.tsx @@ -1,270 +1,268 @@ -import { Grid } from '@mui/material' -import { styled } from '@mui/material/styles' -import { SubmittableExtrinsic } from '@polkadot/api/types' -import { ISubmittableResult } from '@polkadot/types/types' -import { ReactNode, useCallback, useEffect, useMemo, useState } from 'react' -import { TextField } from '../library' -import { useIdentity } from '../../hooks/useIdentity' -import { useCheckBalance } from '../../hooks/useCheckBalance' -import { getErrorMessageReservedFunds } from '../../utils' -import { formatBnBalance } from '../../utils/formatBnBalance' -import { useSetIdentityReservedFunds } from '../../hooks/useSetIdentityReservedFunds' -import { useIdenityApi } from '../../hooks/useIdentityApi' +// import { Grid } from '@mui/material' +// import { styled } from '@mui/material/styles' +// import { ReactNode, useCallback, useEffect, useMemo, useState } from 'react' +// import { TextField } from '../library' +// import { useIdentity } from '../../hooks/useIdentity' +// import { useCheckBalance } from '../../hooks/useCheckBalance' +// import { getErrorMessageReservedFunds } from '../../utils' +// import { formatBnBalance } from '../../utils/formatBnBalance' +// import { useSetIdentityReservedFunds } from '../../hooks/useSetIdentityReservedFunds' +// import { useIdenityApi } from '../../hooks/useIdentityApi' -interface Props { - className?: string - from: string - onSetExtrinsic: (ext?: SubmittableExtrinsic<'promise', ISubmittableResult>) => void - onSetErrorMessage: React.Dispatch> -} +// interface Props { +// className?: string +// from: string +// onSetExtrinsic: (ext?: SubmittableExtrinsic<'promise', ISubmittableResult>) => void +// onSetErrorMessage: React.Dispatch> +// } -export type IdentityFields = { - display: string | undefined - legal: string | undefined - web: string | undefined - riot: string | undefined - email: string | undefined - twitter: string | undefined -} +// export type IdentityFields = { +// display: string | undefined +// legal: string | undefined +// web: string | undefined +// riot: string | undefined +// email: string | undefined +// twitter: string | undefined +// } -const getRawOrNone = (val: string | undefined) => { - return val - ? { - Raw: val - } - : { none: null } -} -const getExtrinsicsArgs = ({ legal, display, email, riot, twitter, web }: IdentityFields) => { - return { - additional: [], - display: getRawOrNone(display), - legal: getRawOrNone(legal), - web: getRawOrNone(web), - riot: getRawOrNone(riot), - email: getRawOrNone(email), - pgpFingerprint: null, - twitter: getRawOrNone(twitter) - } -} +// const getRawOrNone = (val: string | undefined) => { +// return val +// ? { +// Raw: val +// } +// : { none: null } +// } +// const getExtrinsicsArgs = ({ legal, display, email, riot, twitter, web }: IdentityFields) => { +// return { +// additional: [], +// display: getRawOrNone(display), +// legal: getRawOrNone(legal), +// web: getRawOrNone(web), +// riot: getRawOrNone(riot), +// email: getRawOrNone(email), +// pgpFingerprint: null, +// twitter: getRawOrNone(twitter) +// } +// } -const fieldNameAndPlaceholder = (fieldName: keyof IdentityFields) => { - switch (fieldName) { - case 'display': - return { - field: 'Display name', - placeholder: 'Luke', - required: true - } +// const fieldNameAndPlaceholder = (fieldName: keyof IdentityFields) => { +// switch (fieldName) { +// case 'display': +// return { +// field: 'Display name', +// placeholder: 'Luke', +// required: true +// } - case 'legal': - return { - field: 'Legal name', - placeholder: 'Luke Skylwalker', - required: false - } +// case 'legal': +// return { +// field: 'Legal name', +// placeholder: 'Luke Skylwalker', +// required: false +// } - case 'riot': - return { - field: 'Element handle', - placeholder: '@luke:matrix.org', - required: false - } +// case 'riot': +// return { +// field: 'Element handle', +// placeholder: '@luke:matrix.org', +// required: false +// } - case 'web': - return { - field: 'Website', - placeholder: 'https://luke.sky', - required: false - } +// case 'web': +// return { +// field: 'Website', +// placeholder: 'https://luke.sky', +// required: false +// } - case 'twitter': - return { - field: 'Twitter/X handle', - placeholder: '@luke', - required: false - } +// case 'twitter': +// return { +// field: 'Twitter/X handle', +// placeholder: '@luke', +// required: false +// } - case 'email': - return { - field: 'Email', - placeholder: 'hello@luke.sky', - required: false - } +// case 'email': +// return { +// field: 'Email', +// placeholder: 'hello@luke.sky', +// required: false +// } - default: - return { - field: fieldName, - placeholder: '', - required: false - } - } -} +// default: +// return { +// field: fieldName, +// placeholder: '', +// required: false +// } +// } +// } -const MAX_ALLOWED_VAL_LENGTH = 32 +// const MAX_ALLOWED_VAL_LENGTH = 32 -const SetIdentity = ({ className, onSetExtrinsic, from, onSetErrorMessage }: Props) => { - const { api, chainInfo } = useIdenityApi() - const [identityFields, setIdentityFields] = useState() - const chainIdentity = useIdentity(from) - const [hasChangedAtLeastAField, setHasChangedAtLeastAField] = useState(false) - const fieldtooLongError = useMemo(() => { - const res: (keyof IdentityFields)[] = [] - identityFields && - Object.entries(identityFields).forEach(([field, value]) => { - if (typeof value === 'string' && value.length >= MAX_ALLOWED_VAL_LENGTH) { - res.push(field as keyof IdentityFields) - } - }) +// const SetIdentity = ({ className, onSetExtrinsic, from, onSetErrorMessage }: Props) => { +// const { api, chainInfo } = useIdenityApi() +// const [identityFields, setIdentityFields] = useState() +// const chainIdentity = useIdentity(from) +// const [hasChangedAtLeastAField, setHasChangedAtLeastAField] = useState(false) +// const fieldtooLongError = useMemo(() => { +// const res: (keyof IdentityFields)[] = [] +// identityFields && +// Object.entries(identityFields).forEach(([field, value]) => { +// if (typeof value === 'string' && value.length >= MAX_ALLOWED_VAL_LENGTH) { +// res.push(field as keyof IdentityFields) +// } +// }) - return res - }, [identityFields]) +// return res +// }, [identityFields]) - const { reserved: setIdentityReservedFunds } = useSetIdentityReservedFunds(identityFields) +// const { reserved: setIdentityReservedFunds } = useSetIdentityReservedFunds(identityFields) - const { hasEnoughFreeBalance: hasOriginEnoughFunds } = useCheckBalance({ - min: setIdentityReservedFunds, - address: from - }) +// const { hasEnoughFreeBalance: hasOriginEnoughFunds } = useCheckBalance({ +// min: setIdentityReservedFunds, +// address: from +// }) - useEffect(() => { - if (fieldtooLongError.length > 0) { - onSetErrorMessage(`A field exceeds the ${MAX_ALLOWED_VAL_LENGTH} character limit`) - return - } +// useEffect(() => { +// if (fieldtooLongError.length > 0) { +// onSetErrorMessage(`A field exceeds the ${MAX_ALLOWED_VAL_LENGTH} character limit`) +// return +// } - if (!identityFields?.display && hasChangedAtLeastAField) { - onSetErrorMessage('Display name is required') - return - } +// if (!identityFields?.display && hasChangedAtLeastAField) { +// onSetErrorMessage('Display name is required') +// return +// } - if (!setIdentityReservedFunds.isZero() && !hasOriginEnoughFunds) { - const requiredBalanceString = formatBnBalance( - setIdentityReservedFunds, - chainInfo?.tokenDecimals, - { tokenSymbol: chainInfo?.tokenSymbol } - ) +// if (!setIdentityReservedFunds.isZero() && !hasOriginEnoughFunds) { +// const requiredBalanceString = formatBnBalance( +// setIdentityReservedFunds, +// chainInfo?.tokenDecimals, +// { tokenSymbol: chainInfo?.tokenSymbol } +// ) - const reservedString = formatBnBalance(setIdentityReservedFunds, chainInfo?.tokenDecimals, { - tokenSymbol: chainInfo?.tokenSymbol - }) - const errorWithReservedFunds = getErrorMessageReservedFunds( - '"From" account', - requiredBalanceString, - reservedString - ) +// const reservedString = formatBnBalance(setIdentityReservedFunds, chainInfo?.tokenDecimals, { +// tokenSymbol: chainInfo?.tokenSymbol +// }) +// const errorWithReservedFunds = getErrorMessageReservedFunds( +// '"From" account', +// requiredBalanceString, +// reservedString +// ) - onSetErrorMessage(errorWithReservedFunds) - return - } +// onSetErrorMessage(errorWithReservedFunds) +// return +// } - onSetErrorMessage('') - }, [ - chainInfo, - fieldtooLongError, - hasChangedAtLeastAField, - hasOriginEnoughFunds, - identityFields, - onSetErrorMessage, - setIdentityReservedFunds - ]) +// onSetErrorMessage('') +// }, [ +// chainInfo, +// fieldtooLongError, +// hasChangedAtLeastAField, +// hasOriginEnoughFunds, +// identityFields, +// onSetErrorMessage, +// setIdentityReservedFunds +// ]) - useEffect(() => { - if (chainIdentity) { - const { display, email, legal, web, riot, twitter } = chainIdentity - setIdentityFields({ - display, - legal, - web, - riot, - email, - twitter - }) - } else { - setIdentityFields({ - display: undefined, - legal: undefined, - web: undefined, - riot: undefined, - email: undefined, - twitter: undefined - }) - } - }, [chainIdentity]) +// useEffect(() => { +// if (chainIdentity) { +// const { display, email, legal, web, riot, twitter } = chainIdentity +// setIdentityFields({ +// display, +// legal, +// web, +// riot, +// email, +// twitter +// }) +// } else { +// setIdentityFields({ +// display: undefined, +// legal: undefined, +// web: undefined, +// riot: undefined, +// email: undefined, +// twitter: undefined +// }) +// } +// }, [chainIdentity]) - useEffect(() => { - if (!api) { - onSetExtrinsic(undefined) - return - } +// useEffect(() => { +// if (!api) { +// onSetExtrinsic(undefined) +// return +// } - if (!identityFields) { - onSetExtrinsic(undefined) - return - } +// if (!identityFields) { +// onSetExtrinsic(undefined) +// return +// } - if (fieldtooLongError.length > 0) { - onSetExtrinsic(undefined) - return - } +// if (fieldtooLongError.length > 0) { +// onSetExtrinsic(undefined) +// return +// } - const extrinsicsArgs = getExtrinsicsArgs(identityFields) - onSetExtrinsic(api.tx.identity.setIdentity(extrinsicsArgs)) - }, [api, chainInfo, fieldtooLongError, identityFields, onSetErrorMessage, onSetExtrinsic]) +// const extrinsicsArgs = getExtrinsicsArgs(identityFields) +// onSetExtrinsic(api.tx.identity.setIdentity(extrinsicsArgs)) +// }, [api, chainInfo, fieldtooLongError, identityFields, onSetErrorMessage, onSetExtrinsic]) - const onChangeField = useCallback((field: keyof IdentityFields, value: string) => { - setHasChangedAtLeastAField(true) - setIdentityFields((prev) => (prev ? { ...prev, [field]: value } : undefined)) - }, []) +// const onChangeField = useCallback((field: keyof IdentityFields, value: string) => { +// setHasChangedAtLeastAField(true) +// setIdentityFields((prev) => (prev ? { ...prev, [field]: value } : undefined)) +// }, []) - return ( - - {identityFields && - Object.entries(identityFields).map(([fieldName, value]) => { - const { field, placeholder, required } = fieldNameAndPlaceholder( - fieldName as keyof IdentityFields - ) - const isFieldError = fieldtooLongError.includes(fieldName as keyof IdentityFields) - const isDiplayNameError = fieldName === 'display' && !value && hasChangedAtLeastAField - return ( - - - onChangeField(fieldName as keyof IdentityFields, val.target.value) - } - value={value || ''} - required={required} - helperText={isFieldError && `Field has more than ${MAX_ALLOWED_VAL_LENGTH} chars`} - error={isFieldError || isDiplayNameError} - inputProps={{ 'data-cy': `input-set-identity-field-${fieldName}` }} - /> - - ) - })} - - ) -} +// return ( +// +// {identityFields && +// Object.entries(identityFields).map(([fieldName, value]) => { +// const { field, placeholder, required } = fieldNameAndPlaceholder( +// fieldName as keyof IdentityFields +// ) +// const isFieldError = fieldtooLongError.includes(fieldName as keyof IdentityFields) +// const isDiplayNameError = fieldName === 'display' && !value && hasChangedAtLeastAField +// return ( +// +// +// onChangeField(fieldName as keyof IdentityFields, val.target.value) +// } +// value={value || ''} +// required={required} +// helperText={isFieldError && `Field has more than ${MAX_ALLOWED_VAL_LENGTH} chars`} +// error={isFieldError || isDiplayNameError} +// inputProps={{ 'data-cy': `input-set-identity-field-${fieldName}` }} +// /> +// +// ) +// })} +// +// ) +// } -const TextFieldStyled = styled(TextField)` - .MuiFormHelperText-root.Mui-error { - position: initial; - } -` +// const TextFieldStyled = styled(TextField)` +// .MuiFormHelperText-root.Mui-error { +// position: initial; +// } +// ` -export default styled(SetIdentity)` - margin-top: 0.5rem; -` +// export default styled(SetIdentity)` +// margin-top: 0.5rem; +// ` diff --git a/packages/ui/src/components/Header/Header.tsx b/packages/ui/src/components/Header/Header.tsx index 1c4bbb75..97d6ec2c 100644 --- a/packages/ui/src/components/Header/Header.tsx +++ b/packages/ui/src/components/Header/Header.tsx @@ -1,84 +1,118 @@ import { Box, IconButton, Toolbar } from '@mui/material' import { Button, NavLink } from '../library' import { styled } from '@mui/material/styles' -import { useMemo } from 'react' +import { useEffect, useMemo } from 'react' import MuiAppBar from '@mui/material/AppBar' import MultiProxySelection from '../select/MultiProxySelection' import { useAccounts } from '../../contexts/AccountsContext' -import { HiOutlineBars3 as MenuIcon } from 'react-icons/hi2' +import { HiOutlineWallet, HiOutlineBars3 as MenuIcon } from 'react-icons/hi2' import { ROUTES } from '../../pages/routes' -import { isEmptyArray } from '../../utils' +import { isEmptyArray } from '../../utils/arrayUtils' import NetworkSelection from '../select/NetworkSelection' import multixLogo from '../../logos/multix-logo.svg' import useWalletConnectEventsManager from '../../hooks/useWalletConnectEventsManager' import { Link, createSearchParams, useSearchParams } from 'react-router-dom' import { useSwitchAddress } from '../../hooks/useSwitchAddress' +import { ConnectionDialog } from 'dot-connect/react.js' interface Props { handleDrawerOpen: () => void } const Header = ({ handleDrawerOpen }: Props) => { - const { ownAccountList } = useAccounts() + const { + selectedAccount, + ownAccountList, + selectAccount, + isConnectionDialogOpen, + setIsConnectionDialogOpen, + allowConnectionToExtension + } = useAccounts() const isAccountConnected = useMemo(() => !isEmptyArray(ownAccountList), [ownAccountList]) const [params] = useSearchParams() - const { isAllowedToConnectToExtension, allowConnectionToExtension, isAccountLoading } = - useAccounts() + useWalletConnectEventsManager() useSwitchAddress() + useEffect(() => { + if (!selectedAccount?.address && ownAccountList.length > 0) { + selectAccount(ownAccountList[0]) + setIsConnectionDialogOpen(false) + } + }, [ownAccountList, selectAccount, selectedAccount?.address, setIsConnectionDialogOpen]) + return ( - - - - - - - - - - {ROUTES.map(({ path, name, isDisplayWhenNoWallet }) => { - const paramsString = createSearchParams(params).toString() - - return isAccountConnected || isDisplayWhenNoWallet ? ( - + + + + + + + + + + {ROUTES.map(({ path, name, isDisplayWhenNoWallet }) => { + const paramsString = createSearchParams(params).toString() + + return isAccountConnected || isDisplayWhenNoWallet ? ( + + {name} + + ) : null + })} + + + {ownAccountList.length === 0 && ( + { + setIsConnectionDialogOpen(true) + allowConnectionToExtension() + }} + variant="primary" + > + Connect + + )} + + + {ownAccountList.length > 0 && ( + setIsConnectionDialogOpen(true)} > - {name} - - ) : null - })} - - - {!isAllowedToConnectToExtension && ( - - Connect - - )} - - - - - - - - - + + + )} + + + + + + + + {isConnectionDialogOpen && ( + setIsConnectionDialogOpen(false)} + /> + )} + ) } @@ -152,6 +186,10 @@ const LogoStyled = styled('img')` ` const IconButtonStyled = styled(IconButton)` + margin-left: 1rem; +` + +const MobileIconButtonStyled = styled(IconButton)` display: block; color: black; diff --git a/packages/ui/src/components/IdentityIcon.tsx b/packages/ui/src/components/IdentityIcon.tsx index decb1854..ab4c5fa4 100644 --- a/packages/ui/src/components/IdentityIcon.tsx +++ b/packages/ui/src/components/IdentityIcon.tsx @@ -1,5 +1,4 @@ import { Tooltip } from '@mui/material' -import { DeriveAccountRegistration } from '@polkadot/api-derive/types' import { HiOutlineCheckCircle as CheckCircleRoundedIcon, HiOutlineMinusCircle as RemoveCircleOutlineRoundedIcon @@ -7,30 +6,31 @@ import { import { useMemo } from 'react' import { styled } from '@mui/material/styles' +import { IdentityInfo } from '../hooks/useGetIdentity' interface Props { className?: string - identity: DeriveAccountRegistration + identity: IdentityInfo } const IdentityIcon = ({ className, identity }: Props) => { - const judgements = useMemo( - () => identity.judgements.filter(([, judgement]): boolean => !judgement.isFeePaid), - [identity] - ) const isGood = useMemo( () => - judgements.some(([, judgement]): boolean => judgement.isKnownGood || judgement.isReasonable), - [judgements] + identity.judgements.some( + (judgement): boolean => judgement === 'KnownGood' || judgement === 'Reasonable' + ), + [identity] ) const isBad = useMemo( () => - judgements.some(([, judgement]): boolean => judgement.isErroneous || judgement.isLowQuality), - [judgements] + identity.judgements.some( + (judgement): boolean => judgement === 'Erroneous' || judgement === 'LowQuality' + ), + [identity] ) const displayJudgements = useMemo( - () => JSON.stringify(judgements.map(([, jud]) => jud.toString())).replace(/"|\[|\]/g, ''), - [judgements] + () => JSON.stringify(identity.judgements.map((jud) => jud.toString())).replace(/"|\[|\]/g, ''), + [identity] ) const tooltipContent = ( diff --git a/packages/ui/src/components/Transactions/Transaction.tsx b/packages/ui/src/components/Transactions/Transaction.tsx index 6547f0bf..3391e60c 100644 --- a/packages/ui/src/components/Transactions/Transaction.tsx +++ b/packages/ui/src/components/Transactions/Transaction.tsx @@ -5,7 +5,7 @@ import CallInfo from '../CallInfo' import { MdOutlineGesture as GestureIcon } from 'react-icons/md' import { HiOutlineQuestionMarkCircle as QuestionMarkIcon } from 'react-icons/hi2' import { useCallback, useMemo } from 'react' -import { isProxyCall } from '../../utils' +import { isProxyCall } from '../../utils/isProxyCall' import { AccountBadge } from '../../types' import TransactionProgress from './TransactionProgress' import { useModals } from '../../contexts/ModalsContext' diff --git a/packages/ui/src/components/Transactions/TransactionList.tsx b/packages/ui/src/components/Transactions/TransactionList.tsx index 7046578a..b9c639f6 100644 --- a/packages/ui/src/components/Transactions/TransactionList.tsx +++ b/packages/ui/src/components/Transactions/TransactionList.tsx @@ -2,7 +2,7 @@ import { Box, CircularProgress, Paper } from '@mui/material' import { styled } from '@mui/material/styles' import { usePendingTx } from '../../hooks/usePendingTx' import { MultisigAggregated, useMultiProxy } from '../../contexts/MultiProxyContext' -import { getDifference, getIntersection } from '../../utils' +import { getDifference, getIntersection } from '../../utils/arrayUtils' import { useAccounts } from '../../contexts/AccountsContext' import { MdOutlineFlare as FlareIcon } from 'react-icons/md' import Transaction from './Transaction' diff --git a/packages/ui/src/components/layout/Main.tsx b/packages/ui/src/components/layout/Main.tsx index deaf74e7..024890df 100644 --- a/packages/ui/src/components/layout/Main.tsx +++ b/packages/ui/src/components/layout/Main.tsx @@ -3,7 +3,7 @@ import { Box } from '@mui/material' import Header from '../Header/Header' import Container from '@mui/material/Container' import { Outlet } from 'react-router-dom' -import DrawerComponent from '../Drawer/Drawer' +import MobileMenu from '../Drawer/Drawer' import { styled } from '@mui/material/styles' function MainLayout() { @@ -18,7 +18,7 @@ function MainLayout() { > - setOpen(false)} /> diff --git a/packages/ui/src/components/modals/ChangeMultisig.tsx b/packages/ui/src/components/modals/ChangeMultisig.tsx index 7c16ba10..676dc062 100644 --- a/packages/ui/src/components/modals/ChangeMultisig.tsx +++ b/packages/ui/src/components/modals/ChangeMultisig.tsx @@ -17,21 +17,21 @@ import Summary from '../../pages/Creation/Summary' import { useApi } from '../../contexts/ApiContext' import { useAccounts } from '../../contexts/AccountsContext' import { useSigningCallback } from '../../hooks/useSigningCallback' -import { useToasts } from '../../contexts/ToastContext' import { AccountBadge } from '../../types' -import { getIntersection } from '../../utils' +import { getIntersection } from '../../utils/arrayUtils' import GenericAccountSelection, { AccountBaseInfo } from '../select/GenericAccountSelection' import { useProxyAdditionNeededFunds } from '../../hooks/useProxyAdditionNeededFunds' import { useCheckBalance } from '../../hooks/useCheckBalance' -import { formatBnBalance } from '../../utils/formatBnBalance' +import { formatBigIntBalance } from '../../utils/formatBnBalance' import { useMultisigProposalNeededFunds } from '../../hooks/useMultisigProposalNeededFunds' import { MdErrorOutline as ErrorOutlineIcon } from 'react-icons/md' -import { useGetSubscanLinks } from '../../hooks/useSubscanLink' import { Button } from '../library' import { ModalCloseButton } from '../library/ModalCloseButton' import { useGetSortAddress } from '../../hooks/useGetSortAddress' import { useGetMultisigAddress } from '../../contexts/useGetMultisigAddress' import { getAsMultiTx } from '../../utils/getAsMultiTx' +import { Enum, TypedApi } from 'polkadot-api' +import { dot, MultiAddress } from '@polkadot-api/descriptors' interface Props { onClose: () => void @@ -41,17 +41,18 @@ interface Props { type Step = 'selection' | 'summary' | 'call1' | 'call2' const ChangeMultisig = ({ onClose, className }: Props) => { - const { getSubscanExtrinsicLink } = useGetSubscanLinks() const modalRef = useRef(null) - const { api, chainInfo } = useApi() + const { api, chainInfo, compatibilityToken } = useApi() const { selectedMultiProxy, getMultisigAsAccountBaseInfo, getMultisigByAddress } = useMultiProxy() - const { addToast } = useToasts() const signCallBack2 = useSigningCallback({ onSuccess: onClose, - onError: onClose + onError: (e) => { + onClose() + onErrorCallback(e) + } }) const { getSortAddress } = useGetSortAddress() - const { selectedAccount, selectedSigner, ownAddressList } = useAccounts() + const { selectedAccount, ownAddressList } = useAccounts() const [selectedMultisig, setSelectedMultisig] = useState(selectedMultiProxy?.multisigs[0]) const oldThreshold = useMemo(() => selectedMultisig?.threshold, [selectedMultisig]) const [newThreshold, setNewThreshold] = useState(oldThreshold) @@ -85,8 +86,8 @@ const ChangeMultisig = ({ onClose, className }: Props) => { const multisigList = useMemo(() => getMultisigAsAccountBaseInfo(), [getMultisigAsAccountBaseInfo]) const [callError, setCallError] = useState('') - const firstCall = useMemo(() => { - if (!api) { + const secondCall = useMemo(() => { + if (!api || !compatibilityToken) { // console.error('api is not ready') return } @@ -119,29 +120,40 @@ const ChangeMultisig = ({ onClose, className }: Props) => { selectedMultisig.signatories.filter((sig) => sig !== selectedAccount.address) ) - const addProxyTx = api.tx.proxy.addProxy(newMultisigAddress, 'Any', 0) - const proxyTx = api.tx.proxy.proxy(selectedMultiProxy?.proxy, null, addProxyTx) - // call with the old multisig + const addProxyTx = (api as TypedApi).tx.Proxy.add_proxy({ + delegate: MultiAddress.Id(newMultisigAddress), + proxy_type: Enum('Any'), + delay: 0 + }) + + const proxyTx = (api as TypedApi).tx.Proxy.proxy({ + real: MultiAddress.Id(selectedMultiProxy?.proxy), + force_proxy_type: undefined, + call: addProxyTx.decodedCall + }) + // call with the old multisig to delete the new one return getAsMultiTx({ api, threshold: oldThreshold, otherSignatories: otherOldSignatories, - tx: proxyTx + tx: proxyTx, + compatibilityToken }) }, [ api, chainInfo, + compatibilityToken, getSortAddress, newMultisigAddress, newThreshold, oldThreshold, selectedAccount, - selectedMultiProxy, + selectedMultiProxy?.proxy, selectedMultisig ]) - const secondCall = useMemo(() => { - if (!api) { + const firstCall = useMemo(() => { + if (!api || !compatibilityToken) { // console.error('api is not ready') return } @@ -169,13 +181,23 @@ const ChangeMultisig = ({ onClose, className }: Props) => { const otherNewSignatories = getSortAddress( newSignatories.filter((sig) => sig !== selectedAccount.address) ) - const removeProxyTx = api.tx.proxy.removeProxy(selectedMultisig?.address, 'Any', 0) - const proxyTx = api.tx.proxy.proxy(selectedMultiProxy?.proxy, null, removeProxyTx) + const removeProxyTx = (api as TypedApi).tx.Proxy.remove_proxy({ + delegate: MultiAddress.Id(selectedMultisig?.address), + proxy_type: Enum('Any'), + delay: 0 + }) + const proxyTx = (api as TypedApi).tx.Proxy.proxy({ + real: MultiAddress.Id(selectedMultiProxy?.proxy), + force_proxy_type: undefined, + call: removeProxyTx.decodedCall + }) + return getAsMultiTx({ api, otherSignatories: otherNewSignatories, threshold: newThreshold, - tx: proxyTx + tx: proxyTx, + compatibilityToken }) }, [ api, @@ -185,7 +207,8 @@ const ChangeMultisig = ({ onClose, className }: Props) => { newThreshold, selectedAccount, selectedMultiProxy, - selectedMultisig + selectedMultisig, + compatibilityToken ]) const { multisigProposalNeededFunds: firstCallNeededFunds, reserved: firstCallReserved } = @@ -201,7 +224,7 @@ const ChangeMultisig = ({ onClose, className }: Props) => { threshold: newThreshold }) const neededBalance = useMemo( - () => firstCallNeededFunds.add(secondCallNeededFunds), + () => firstCallNeededFunds + secondCallNeededFunds, [firstCallNeededFunds, secondCallNeededFunds] ) const { hasEnoughFreeBalance: hasSignerEnoughFunds } = useCheckBalance({ @@ -267,30 +290,9 @@ const ChangeMultisig = ({ onClose, className }: Props) => { setCurrentStep('call2') secondCall - .signAndSend( - selectedAccount.address, - { signer: selectedSigner, withSignedTransaction: true }, - signCallBack2 - ) - .catch((error: Error) => { - addToast({ - title: error.message, - type: 'error', - link: getSubscanExtrinsicLink(secondCall.hash.toHex()) - }) - onErrorCallback(error.message) - }) - }, [ - callError, - api, - selectedAccount, - secondCall, - selectedSigner, - signCallBack2, - addToast, - getSubscanExtrinsicLink, - onErrorCallback - ]) + .signSubmitAndWatch(selectedAccount.polkadotSigner, { at: 'best' }) + .subscribe(signCallBack2) + }, [callError, api, selectedAccount, secondCall, signCallBack2]) const signCallBack1 = useSigningCallback({ onSuccess: onMakeSecondCall, @@ -316,29 +318,9 @@ const ChangeMultisig = ({ onClose, className }: Props) => { setCurrentStep('call1') firstCall - .signAndSend( - selectedAccount.address, - { signer: selectedSigner, withSignedTransaction: true }, - signCallBack1 - ) - .catch((error: Error) => { - addToast({ - title: error.message, - type: 'error', - link: getSubscanExtrinsicLink(firstCall.hash.toHex()) - }) - onErrorCallback(error.message) - }) - }, [ - api, - selectedAccount, - firstCall, - selectedSigner, - signCallBack1, - addToast, - getSubscanExtrinsicLink, - onErrorCallback - ]) + .signSubmitAndWatch(selectedAccount.polkadotSigner, { at: 'best' }) + .subscribe(signCallBack1) + }, [api, selectedAccount, firstCall, signCallBack1]) const onClickNext = useCallback(() => { if (currentStep === 'summary') { @@ -372,7 +354,7 @@ const ChangeMultisig = ({ onClose, className }: Props) => { {!hasProxyEnoughFunds && ( The pure account doesn't have enough funds. It needs at least{' '} - {formatBnBalance(proxyAdditionNeededFunds, chainInfo?.tokenDecimals, { + {formatBigIntBalance(proxyAdditionNeededFunds, chainInfo?.tokenDecimals, { tokenSymbol: chainInfo?.tokenSymbol })} @@ -437,7 +419,7 @@ const ChangeMultisig = ({ onClose, className }: Props) => { balanceMin={neededBalance} isBalanceError={!hasSignerEnoughFunds} selectedMultisig={selectedMultisig} - reservedBalance={firstCallReserved.add(secondCallReserved)} + reservedBalance={firstCallReserved + secondCallReserved} /> )} {(currentStep === 'call1' || currentStep === 'call2') && ( diff --git a/packages/ui/src/components/modals/DeepTxCreation.tsx b/packages/ui/src/components/modals/DeepTxCreation.tsx index 00cc7016..627938ce 100644 --- a/packages/ui/src/components/modals/DeepTxCreation.tsx +++ b/packages/ui/src/components/modals/DeepTxCreation.tsx @@ -7,9 +7,7 @@ import { useApi } from '../../contexts/ApiContext' import { MultisigAggregated, useMultiProxy } from '../../contexts/MultiProxyContext' import CallInfo from '../CallInfo' import SignerSelection from '../select/SignerSelection' -import { useToasts } from '../../contexts/ToastContext' import { useSigningCallback } from '../../hooks/useSigningCallback' -import { useGetSubscanLinks } from '../../hooks/useSubscanLink' import { useCallInfoFromCallData } from '../../hooks/useCallInfoFromCallData' import { ModalCloseButton } from '../library/ModalCloseButton' import { useCheckBalance } from '../../hooks/useCheckBalance' @@ -17,10 +15,12 @@ import { CallDataInfoFromChain } from '../../hooks/usePendingTx' import { ParentMultisigInfo } from '../DeepTxAlert' import { useGetMultisigTx } from '../../hooks/useGetMultisigTx' import { ProxyType } from '../../../types-and-hooks' -import { HexString } from '../../types' -import { getDisplayArgs, getErrorMessageReservedFunds, getExtrinsicName } from '../../utils' +import { getErrorMessageReservedFunds } from '../../utils/getErrorMessageReservedFunds' +import { getExtrinsicName } from '../../utils/getExtrinsicName' import { useMultisigProposalNeededFunds } from '../../hooks/useMultisigProposalNeededFunds' -import { formatBnBalance } from '../../utils/formatBnBalance' +import { formatBigIntBalance } from '../../utils/formatBnBalance' +import { hashFromTx } from '../../utils/txHash' +import { HexString } from 'polkadot-api' export interface DeepTxCreationProps { onClose: () => void @@ -41,12 +41,10 @@ const DeepTxCreationModal = ({ parentMultisigInfo, currentMultisigInvolved }: DeepTxCreationProps) => { - const { getSubscanExtrinsicLink } = useGetSubscanLinks() - const { api, chainInfo } = useApi() + const { api, chainInfo, compatibilityToken } = useApi() const [isSubmitting, setIsSubmitting] = useState(false) - const { selectedAccount, selectedSigner } = useAccounts() + const { selectedAccount } = useAccounts() const [errorMessage, setErrorMessage] = useState('') - const { addToast } = useToasts() const { selectedMultiProxy, getMultisigByAddress, setRefetchMultisigTimeoutMinutes } = useMultiProxy() const [addedCallData, setAddedCallData] = useState() @@ -64,7 +62,7 @@ const DeepTxCreationModal = ({ // this will never be a proxy, if there's a proxy, it's already in the call const parentMultisigTx = useGetMultisigTx({ fromAddress: parentMultisigInfo.parentSignatoryAddress, - extrinsicToCall: (api && parentCallInfo?.call && api.tx(parentCallInfo?.call)) || undefined, + extrinsicToCall: (api && parentCallInfo?.call && parentCallInfo?.call) || undefined, senderAddress: parentMultisigInfo.parentSignatoryAddress, isProxy: false, threshold: parentMultisigInfo.threshold, @@ -86,7 +84,7 @@ const DeepTxCreationModal = ({ // and calls a asMulti because it's a creation const fullTx = useGetMultisigTx({ fromAddress: parentMultisigInfo.parentSignatoryAddress, - extrinsicToCall: (api && parentMultisigTx && api.tx(parentMultisigTx)) || undefined, + extrinsicToCall: (api && parentMultisigTx && parentMultisigTx) || undefined, senderAddress: selectedAccount?.address, isProxy: !!parentMultisigInfo.isSignatoryProxy, threshold: currentMultisigInvolved?.threshold, @@ -112,24 +110,43 @@ const DeepTxCreationModal = ({ onClose() }, [onClose]) - const signCallback = useSigningCallback({ onSuccess, onSubmitting }) + const signCallback = useSigningCallback({ + onSuccess: () => { + onSuccess && onSuccess() + // // poll for 1min if the tx may make changes + // // such as creating a proxy, adding/removing a multisig + if (mustSubmitCallData) { + setRefetchMultisigTimeoutMinutes(1) + } + }, + onSubmitting, + onError: () => setIsSubmitting(false) + }) useEffect(() => { - if (!!parentCallInfo?.call && parentCallInfo.call.hash.toHex() !== proposalData.hash) { + if (!compatibilityToken) { + return + } + + const hash = + !!parentCallInfo?.call && + hashFromTx(parentCallInfo?.call?.getEncodedData(compatibilityToken).asHex()) + + if (hash !== proposalData.hash) { setErrorMessage("The callData provided doesn't match with the on-chain transaction") return } - }, [parentCallInfo, proposalData]) + }, [compatibilityToken, parentCallInfo, proposalData]) useEffect(() => { - if (!multisigProposalNeededFunds.isZero() && !hasSignerEnoughFunds) { - const requiredBalanceString = formatBnBalance( + if (multisigProposalNeededFunds !== 0n && !hasSignerEnoughFunds) { + const requiredBalanceString = formatBigIntBalance( multisigProposalNeededFunds, chainInfo?.tokenDecimals, { tokenSymbol: chainInfo?.tokenSymbol } ) - const reservedString = formatBnBalance(reserved, chainInfo?.tokenDecimals, { + const reservedString = formatBigIntBalance(reserved, chainInfo?.tokenDecimals, { tokenSymbol: chainInfo?.tokenSymbol }) const errorWithReservedFunds = getErrorMessageReservedFunds( @@ -150,7 +167,7 @@ const DeepTxCreationModal = ({ } if (!selectedAccount) { - const error = 'No selected address or multisig/proxy' + const error = 'No selected account' console.error(error) setErrorMessage(error) return @@ -174,38 +191,9 @@ const DeepTxCreationModal = ({ setIsSubmitting(true) fullTx - .signAndSend( - selectedAccount.address, - { signer: selectedSigner, withSignedTransaction: true }, - signCallback - ) - .then(() => { - // poll for 1min if the tx may make changes - // such as creating a proxy, adding/removing a multisig - if (mustSubmitCallData) { - setRefetchMultisigTimeoutMinutes(1) - } - }) - .catch((error: Error) => { - setIsSubmitting(false) - addToast({ - title: error.message, - type: 'error', - link: getSubscanExtrinsicLink(fullTx.hash.toHex()) - }) - }) - }, [ - api, - selectedAccount, - mustSubmitCallData, - parentCallInfo, - fullTx, - selectedSigner, - signCallback, - setRefetchMultisigTimeoutMinutes, - addToast, - getSubscanExtrinsicLink - ]) + .signSubmitAndWatch(selectedAccount.polkadotSigner, { at: 'best' }) + .subscribe(signCallback) + }, [api, mustSubmitCallData, parentCallInfo, fullTx, selectedAccount, signCallback]) const onAddedCallDataChange = useCallback( (event: ChangeEvent) => { @@ -315,7 +303,7 @@ const DeepTxCreationModal = ({ proposalData.callData ? proposalData : { - args: getDisplayArgs(parentCallInfo?.call), + decodedCall: parentCallInfo?.call.decodedCall, callData: addedCallData, name: getExtrinsicName(parentCallInfo?.section, parentCallInfo?.method) } diff --git a/packages/ui/src/components/modals/ProposalSigning.tsx b/packages/ui/src/components/modals/ProposalSigning.tsx index 013cab4a..534eddbe 100644 --- a/packages/ui/src/components/modals/ProposalSigning.tsx +++ b/packages/ui/src/components/modals/ProposalSigning.tsx @@ -7,20 +7,17 @@ import { useApi } from '../../contexts/ApiContext' import { useMultiProxy } from '../../contexts/MultiProxyContext' import CallInfo from '../CallInfo' import SignerSelection from '../select/SignerSelection' -import { SubmittableExtrinsic } from '@polkadot/api/types' -import { useToasts } from '../../contexts/ToastContext' import { useSigningCallback } from '../../hooks/useSigningCallback' -import { HexString, MultisigStorageInfo } from '../../types' -import { useGetSubscanLinks } from '../../hooks/useSubscanLink' -import { getDisplayArgs, getExtrinsicName } from '../../utils' +import { MultisigStorageInfo } from '../../types' +import { getExtrinsicName } from '../../utils/getExtrinsicName' import { useCallInfoFromCallData } from '../../hooks/useCallInfoFromCallData' import { ModalCloseButton } from '../library/ModalCloseButton' import { useGetSortAddress } from '../../hooks/useGetSortAddress' import { useCheckBalance } from '../../hooks/useCheckBalance' -import BN from 'bn.js' import { getAsMultiTx } from '../../utils/getAsMultiTx' import { CallDataInfoFromChain } from '../../hooks/usePendingTx' import { debounce } from '../../utils/debounce' +import { FixedSizeBinary, HexString, Transaction } from 'polkadot-api' export interface SigningModalProps { onClose: () => void @@ -37,15 +34,13 @@ const ProposalSigning = ({ proposalData, onSuccess }: SigningModalProps) => { - const { getSubscanExtrinsicLink } = useGetSubscanLinks() - const { api } = useApi() + const { api, compatibilityToken } = useApi() const [isSubmitting, setIsSubmitting] = useState(false) const { getMultisigByAddress, setRefetchMultisigTimeoutMinutes } = useMultiProxy() - const { selectedAccount, selectedSigner } = useAccounts() + const { selectedAccount } = useAccounts() const [addedCallData, setAddedCallData] = useState() const [debouncedAddedCallData, setDebouncedAddedCallData] = useState() const [errorMessage, setErrorMessage] = useState('') - const { addToast } = useToasts() const multisig = useMemo( () => getMultisigByAddress(proposalData.from), [getMultisigByAddress, proposalData] @@ -60,9 +55,10 @@ const ProposalSigning = ({ proposalData.callData || debouncedAddedCallData ) const { hasEnoughFreeBalance: hasSignerEnoughFunds } = useCheckBalance({ - min: new BN(0), + min: 0n, address: selectedAccount?.address }) + const hasReachedThreshold = useMemo( () => (proposalData.info?.approvals || []).length >= threshold - 1, [proposalData.info?.approvals, threshold] @@ -86,8 +82,13 @@ const ProposalSigning = ({ const onSubmitting = useCallback(() => { setIsSubmitting(false) + // poll for 1min if the tx may make changes + // such as creating a proxy, adding/removing a multisig + if (mustProvideCallData) { + setRefetchMultisigTimeoutMinutes(1) + } onClose() - }, [onClose]) + }, [mustProvideCallData, onClose, setRefetchMultisigTimeoutMinutes]) const signCallback = useSigningCallback({ onSuccess, onSubmitting }) const { getSortAddress } = useGetSortAddress() @@ -105,7 +106,7 @@ const ProposalSigning = ({ }, [isProposerSelected]) useEffect(() => { - if (!!callInfo?.call && callInfo.call.hash.toHex() !== proposalData.hash) { + if (!!callInfo?.call && callInfo?.hash !== proposalData.hash) { setErrorMessage("The callData provided doesn't match with the on-chain transaction") return } @@ -149,7 +150,7 @@ const ProposalSigning = ({ return } - if (!api) { + if (!api || !compatibilityToken) { const error = 'Api is not ready' console.error(error) setErrorMessage(error) @@ -157,7 +158,7 @@ const ProposalSigning = ({ } if (!selectedAccount) { - const error = 'No selected address' + const error = 'No selected account' console.error(error) setErrorMessage(error) return @@ -183,12 +184,14 @@ const ProposalSigning = ({ // In case the tx has been approved between the last couple blocks // and the tx in the indexer hasn't been updated we should query the latest state // right before sending the tx to have the right amount of signers. - const callStorage = await api.query.multisig.multisigs.entries(multisig.address) + const callStorage = await api.query.Multisig.Multisigs.getEntries(multisig.address, { + at: 'best' + }) callStorage.some((storage) => { - const hash = (storage[0].toHuman() as Array)[1] + const hash = storage.keyArgs[1].asHex() if (proposalData.hash === hash) { - const info = storage[1].toJSON() as unknown as MultisigStorageInfo + const info = storage.value as MultisigStorageInfo amountOfSigner = info.approvals.length return true @@ -203,16 +206,17 @@ const ProposalSigning = ({ const shouldExecute = hasReachedThreshold ? true : amountOfSigner >= threshold - 1 setIsSubmitting(true) - let tx: SubmittableExtrinsic<'promise'> | undefined + let tx: Transaction | undefined + console.log('proposalData', proposalData) // if it's a rejection we can send it right away, no need for weight or calldata if (!isApproving) { - tx = api.tx.multisig.cancelAsMulti( + tx = api.tx.Multisig.cancel_as_multi({ threshold, - otherSigners, - proposalData.info.when, - proposalData.hash - ) + other_signatories: otherSigners, + timepoint: proposalData.info.when, + call_hash: FixedSizeBinary.fromHex(proposalData.hash) + }) // If we can submit the proposal and have the call data } else if (shouldExecute && callInfo?.call && callInfo?.weight) { @@ -222,18 +226,19 @@ const ProposalSigning = ({ otherSignatories: otherSigners, weight: callInfo.weight, when: proposalData.info.when, - tx: proposalData.callData || addedCallData + callData: proposalData.callData || addedCallData, + compatibilityToken }) // if we can't submit yet (more signatures required), all we need is the call hash } else if (!shouldExecute && proposalData.hash) { - tx = api.tx.multisig.approveAsMulti( + tx = api.tx.Multisig.approve_as_multi({ threshold, - otherSigners, - proposalData.info.when, - proposalData.hash, - { refTime: 0, proofSize: 0 } - ) + other_signatories: otherSigners, + maybe_timepoint: proposalData.info.when, + call_hash: FixedSizeBinary.fromHex(proposalData.hash), + max_weight: { ref_time: 0n, proof_size: 0n } + }) } else { console.error("We don't have the required data to submit the call") return @@ -244,26 +249,7 @@ const ProposalSigning = ({ return } - tx.signAndSend( - selectedAccount.address, - { signer: selectedSigner, withSignedTransaction: true }, - signCallback - ) - .then(() => { - // poll for 1min if the tx may make changes - // such as creating a proxy, adding/removing a multisig - if (mustProvideCallData) { - setRefetchMultisigTimeoutMinutes(1) - } - }) - .catch((error: Error) => { - setIsSubmitting(false) - addToast({ - title: error.message, - type: 'error', - link: getSubscanExtrinsicLink(tx.hash.toHex()) - }) - }) + tx.signSubmitAndWatch(selectedAccount.polkadotSigner, { at: 'best' }).subscribe(signCallback) }, [ getSortAddress, @@ -276,12 +262,9 @@ const ProposalSigning = ({ mustProvideCallData, callInfo, hasReachedThreshold, - selectedSigner, signCallback, addedCallData, - setRefetchMultisigTimeoutMinutes, - addToast, - getSubscanExtrinsicLink + compatibilityToken ] ) @@ -394,7 +377,7 @@ const ProposalSigning = ({ proposalData.callData ? proposalData : { - args: getDisplayArgs(callInfo?.call), + decodedCall: callInfo?.call.decodedCall, callData: addedCallData, name: getExtrinsicName(callInfo?.section, callInfo?.method) } @@ -483,7 +466,7 @@ const ButtonContainerStyled = styled(Grid)` margin-left: 1rem; } ` -export default styled(ProposalSigning)` +const ProposalSigningStyled = styled(ProposalSigning)` .buttonContainer .addedCallData { margin-top: 1rem; } @@ -493,3 +476,5 @@ export default styled(ProposalSigning)` color: ${({ theme }) => theme.custom.error}; } ` + +export default ProposalSigningStyled diff --git a/packages/ui/src/components/modals/Send.tsx b/packages/ui/src/components/modals/Send.tsx index 9183350c..7c4c8843 100644 --- a/packages/ui/src/components/modals/Send.tsx +++ b/packages/ui/src/components/modals/Send.tsx @@ -14,23 +14,20 @@ import { useAccounts } from '../../contexts/AccountsContext' import { useApi } from '../../contexts/ApiContext' import { useMultiProxy } from '../../contexts/MultiProxyContext' import SignerSelection from '../select/SignerSelection' -import { SubmittableExtrinsic } from '@polkadot/api/types' -import { ISubmittableResult } from '@polkadot/types/types' -import { useToasts } from '../../contexts/ToastContext' import { useSigningCallback } from '../../hooks/useSigningCallback' import GenericAccountSelection, { AccountBaseInfo } from '../select/GenericAccountSelection' -import ManualExtrinsic from '../EasySetup/ManualExtrinsic' +// import ManualExtrinsic from '../EasySetup/ManualExtrinsic' import BalancesTransfer from '../EasySetup/BalancesTransfer' import { useMultisigProposalNeededFunds } from '../../hooks/useMultisigProposalNeededFunds' import { useCheckBalance } from '../../hooks/useCheckBalance' -import { useGetSubscanLinks } from '../../hooks/useSubscanLink' import FromCallData from '../EasySetup/FromCallData' import { ModalCloseButton } from '../library/ModalCloseButton' -import { formatBnBalance } from '../../utils/formatBnBalance' +import { formatBigIntBalance } from '../../utils/formatBnBalance' import { useGetMultisigTx } from '../../hooks/useGetMultisigTx' -import SetIdentity from '../EasySetup/SetIdentity' +// import SetIdentity from '../EasySetup/SetIdentity' import { getErrorMessageReservedFunds } from '../../utils/getErrorMessageReservedFunds' -import { useHasIdentityFeature } from '../../hooks/useHasIdentityFeature' +// import { useHasIdentityFeature } from '../../hooks/useHasIdentityFeature' +import { Transaction } from 'polkadot-api' export enum EasyTransferTitle { SendTokens = 'Send tokens', @@ -50,7 +47,6 @@ interface Props { } const Send = ({ onClose, className, onSuccess, onFinalized, preselected }: Props) => { - const { getSubscanExtrinsicLink } = useGetSubscanLinks() const { api, chainInfo } = useApi() const [isSubmitting, setIsSubmitting] = useState(false) const { @@ -59,10 +55,9 @@ const Send = ({ onClose, className, onSuccess, onFinalized, preselected }: Props getMultisigByAddress, setRefetchMultisigTimeoutMinutes } = useMultiProxy() - const { selectedAccount, selectedSigner } = useAccounts() + const { selectedAccount } = useAccounts() const [easyOptionErrorMessage, setEasyOptionErrorMessage] = useState('') const [errorMessage, setErrorMessage] = useState('') - const { addToast } = useToasts() const possibleOrigin = useMemo(() => { const proxyBaseInfo = { address: selectedMultiProxy?.proxy, @@ -76,7 +71,7 @@ const Send = ({ onClose, className, onSuccess, onFinalized, preselected }: Props (a) => !!a.address ) as AccountBaseInfo[] }, [getMultisigAsAccountBaseInfo, selectedMultiProxy]) - const { hasIdentityPallet, hasPplChain } = useHasIdentityFeature() + // const { hasIdentityPallet, hasPplChain } = useHasIdentityFeature() const [selectedOrigin, setSelectedOrigin] = useState(possibleOrigin[0]) const isProxySelected = useMemo(() => selectedOrigin.meta?.isProxy, [selectedOrigin]) const [selectedMultisig, setSelectedMultisig] = useState(selectedMultiProxy?.multisigs[0]) @@ -87,7 +82,7 @@ const Send = ({ onClose, className, onSuccess, onFinalized, preselected }: Props : selectedMultisig?.threshold }, [getMultisigByAddress, selectedMultisig, selectedOrigin]) const [extrinsicToCall, setExtrinsicToCall] = useState< - SubmittableExtrinsic<'promise', ISubmittableResult> | undefined + Transaction | undefined >() const [selectedEasyOption, setSelectedEasyOption] = useState( preselected || DEFAULT_EASY_SETUP_SELECTION @@ -115,14 +110,14 @@ const Send = ({ onClose, className, onSuccess, onFinalized, preselected }: Props }) useEffect(() => { - if (!multisigProposalNeededFunds.isZero() && !hasSignerEnoughFunds) { - const requiredBalanceString = formatBnBalance( + if (multisigProposalNeededFunds !== 0n && !hasSignerEnoughFunds) { + const requiredBalanceString = formatBigIntBalance( multisigProposalNeededFunds, chainInfo?.tokenDecimals, { tokenSymbol: chainInfo?.tokenSymbol } ) - const reservedString = formatBnBalance(reserved, chainInfo?.tokenDecimals, { + const reservedString = formatBigIntBalance(reserved, chainInfo?.tokenDecimals, { tokenSymbol: chainInfo?.tokenSymbol }) const errorWithReservedFunds = getErrorMessageReservedFunds( @@ -159,32 +154,40 @@ const Send = ({ onClose, className, onSuccess, onFinalized, preselected }: Props onSetErrorMessage={setEasyOptionErrorMessage} /> ), - [EasyTransferTitle.ManualExtrinsic]: ( - setSelectedEasyOption(EasyTransferTitle.FromCallData)} - hasErrorMessage={!!easyOptionErrorMessage} - /> - ), + // [EasyTransferTitle.ManualExtrinsic]: ( + // setSelectedEasyOption(EasyTransferTitle.FromCallData)} + // hasErrorMessage={!!easyOptionErrorMessage} + // /> + // ), [EasyTransferTitle.FromCallData]: } as Partial> - if (hasIdentityPallet && !hasPplChain) { - res[EasyTransferTitle.SetIdentity] = ( - - ) - } + // if (hasIdentityPallet && !hasPplChain) { + // res[EasyTransferTitle.SetIdentity] = ( + // + // ) + // } return res - }, [selectedOrigin.address, easyOptionErrorMessage, hasIdentityPallet, hasPplChain]) + }, [selectedOrigin.address]) const signCallback = useSigningCallback({ - onSuccess, + onSuccess: () => { + onSuccess && onSuccess() + // poll for 1min if the tx may make changes + // such as creating a pure proxy + setRefetchMultisigTimeoutMinutes(1) + }, + onError: () => { + setIsSubmitting(false) + }, onSubmitting, onFinalized }) @@ -213,7 +216,7 @@ const Send = ({ onClose, className, onSuccess, onFinalized, preselected }: Props } if (!selectedAccount || !selectedOrigin) { - const error = 'No selected address or multisig/proxy' + const error = 'No selected account or multisig/proxy' console.error(error) setErrorMessage(error) return @@ -233,37 +236,9 @@ const Send = ({ onClose, className, onSuccess, onFinalized, preselected }: Props setIsSubmitting(true) multisigTx - .signAndSend( - selectedAccount.address, - { signer: selectedSigner, withSignedTransaction: true }, - signCallback - ) - .then(() => { - // poll for 1min if the tx may make changes - // such as creating a pure proxy - setRefetchMultisigTimeoutMinutes(1) - }) - .catch((error: Error) => { - setIsSubmitting(false) - addToast({ - title: error.message, - type: 'error', - link: getSubscanExtrinsicLink(multisigTx.hash.toHex()) - }) - }) - }, [ - threshold, - api, - selectedAccount, - selectedOrigin, - extrinsicToCall, - multisigTx, - selectedSigner, - signCallback, - setRefetchMultisigTimeoutMinutes, - addToast, - getSubscanExtrinsicLink - ]) + .signSubmitAndWatch(selectedAccount.polkadotSigner, { at: 'best' }) + .subscribe(signCallback) + }, [threshold, api, selectedOrigin, extrinsicToCall, multisigTx, selectedAccount, signCallback]) const onChangeEasySetupOption: (event: SelectChangeEvent) => void = useCallback( ({ target: { value } }) => { diff --git a/packages/ui/src/components/modals/WalletConnectSigning.tsx b/packages/ui/src/components/modals/WalletConnectSigning.tsx index 2e62d4b1..5e8e1e98 100644 --- a/packages/ui/src/components/modals/WalletConnectSigning.tsx +++ b/packages/ui/src/components/modals/WalletConnectSigning.tsx @@ -7,10 +7,8 @@ import { useApi } from '../../contexts/ApiContext' import { useMultiProxy } from '../../contexts/MultiProxyContext' import CallInfo from '../CallInfo' import SignerSelection from '../select/SignerSelection' -import { useToasts } from '../../contexts/ToastContext' import { useSigningCallback } from '../../hooks/useSigningCallback' -import { useGetSubscanLinks } from '../../hooks/useSubscanLink' -import { getDisplayArgs, getExtrinsicName } from '../../utils' +import { getExtrinsicName } from '../../utils/getExtrinsicName' import { useCallInfoFromCallData } from '../../hooks/useCallInfoFromCallData' import { ModalCloseButton } from '../library/ModalCloseButton' import { SignClientTypes } from '@walletconnect/types' @@ -20,7 +18,7 @@ import { useWalletConnect } from '../../contexts/WalletConnectContext' import { getWalletConnectErrorResponse } from '../../utils/getWalletConnectErrorResponse' import { useMultisigProposalNeededFunds } from '../../hooks/useMultisigProposalNeededFunds' import { useCheckBalance } from '../../hooks/useCheckBalance' -import { formatBnBalance } from '../../utils/formatBnBalance' +import { formatBigIntBalance } from '../../utils/formatBnBalance' import { getErrorMessageReservedFunds } from '../../utils/getErrorMessageReservedFunds' export interface SigningModalProps { @@ -31,7 +29,6 @@ export interface SigningModalProps { } const ProposalSigning = ({ onClose, className, request, onSuccess }: SigningModalProps) => { - const { getSubscanExtrinsicLink } = useGetSubscanLinks() const { api, chainInfo } = useApi() const [isSubmitting, setIsSubmitting] = useState(false) const { web3wallet } = useWalletConnect() @@ -42,10 +39,9 @@ const ProposalSigning = ({ onClose, className, request, onSuccess }: SigningModa selectMultiProxy } = useMultiProxy() const [selectedMultisig, setSelectedMultisig] = useState(selectedMultiProxy?.multisigs[0]) - const { selectedAccount, selectedSigner } = useAccounts() + const { selectedAccount } = useAccounts() const multisigList = useMemo(() => getMultisigAsAccountBaseInfo(), [getMultisigAsAccountBaseInfo]) const [errorMessage, setErrorMessage] = useState('') - const { addToast } = useToasts() const originAddress = request.params.request.params.address const isProxySelected = useMemo( () => selectedMultiProxy?.proxy === originAddress, @@ -55,9 +51,9 @@ const ProposalSigning = ({ onClose, className, request, onSuccess }: SigningModa const threshold = useMemo(() => selectedMultisig?.threshold, [selectedMultisig]) const { callInfo, isGettingCallInfo } = useCallInfoFromCallData(callData) const extrinsicToCall = useMemo(() => { - if (!callInfo?.call || !api) return - return api.tx(callInfo.call) - }, [api, callInfo]) + if (!callInfo?.call) return + return callInfo.call + }, [callInfo]) // this is a creation, we can force asMulti const multisigTx = useGetMultisigTx({ selectedMultisig, @@ -79,14 +75,14 @@ const ProposalSigning = ({ onClose, className, request, onSuccess }: SigningModa }) useEffect(() => { - if (!multisigProposalNeededFunds.isZero() && !hasSignerEnoughFunds) { - const requiredBalanceString = formatBnBalance( + if (multisigProposalNeededFunds !== 0n && !hasSignerEnoughFunds) { + const requiredBalanceString = formatBigIntBalance( multisigProposalNeededFunds, chainInfo?.tokenDecimals, { tokenSymbol: chainInfo?.tokenSymbol } ) - const reservedString = formatBnBalance(reserved, chainInfo?.tokenDecimals, { + const reservedString = formatBigIntBalance(reserved, chainInfo?.tokenDecimals, { tokenSymbol: chainInfo?.tokenSymbol }) const errorWithReservedFunds = getErrorMessageReservedFunds( @@ -113,7 +109,21 @@ const ProposalSigning = ({ onClose, className, request, onSuccess }: SigningModa onClose() }, [onClose]) - const signCallback = useSigningCallback({ onSuccess, onSubmitting }) + const signCallback = useSigningCallback({ + onSuccess: () => { + onSuccess && onSuccess() + const response = getWalletConnectErrorResponse( + request.id, + 'Multix multisig transaction ongoing...' + ) + web3wallet?.respondSessionRequest({ + topic: request.topic, + response + }) + }, + onSubmitting, + onError: () => setIsSubmitting(false) + }) const onSign = useCallback(async () => { if (!threshold) { @@ -131,7 +141,7 @@ const ProposalSigning = ({ onClose, className, request, onSuccess }: SigningModa } if (!selectedAccount || !originAddress) { - const error = 'No selected address or multisig/proxy' + const error = 'No selected signer or multisig/proxy' console.error(error) setErrorMessage(error) return @@ -151,43 +161,9 @@ const ProposalSigning = ({ onClose, className, request, onSuccess }: SigningModa setIsSubmitting(true) multisigTx - .signAndSend( - selectedAccount.address, - { signer: selectedSigner, withSignedTransaction: true }, - signCallback - ) - .then(() => { - const response = getWalletConnectErrorResponse( - request.id, - 'Multix multisig transaction ongoing...' - ) - web3wallet?.respondSessionRequest({ - topic: request.topic, - response - }) - }) - .catch((error: Error) => { - setIsSubmitting(false) - addToast({ - title: error.message, - type: 'error', - link: getSubscanExtrinsicLink(multisigTx.hash.toHex()) - }) - }) - }, [ - threshold, - api, - selectedAccount, - originAddress, - extrinsicToCall, - multisigTx, - selectedSigner, - signCallback, - request, - web3wallet, - addToast, - getSubscanExtrinsicLink - ]) + .signSubmitAndWatch(selectedAccount.polkadotSigner, { at: 'best' }) + .subscribe(signCallback) + }, [threshold, api, originAddress, extrinsicToCall, multisigTx, selectedAccount, signCallback]) const handleMultisigSelection = useCallback( (account: AccountBaseInfo) => { @@ -280,7 +256,7 @@ const ProposalSigning = ({ onClose, className, request, onSuccess }: SigningModa xs={12} md={10} > - 0x{callInfo?.call?.hash} + {callInfo?.hash} {!!callInfo?.call && ( @@ -301,7 +277,7 @@ const ProposalSigning = ({ onClose, className, request, onSuccess }: SigningModa > { if (!selected) return '' - return getAccountByAddress(selected.address)?.meta.name + return getAccountByAddress(selected.address)?.name }, [getAccountByAddress, selected]) useEffect(() => { diff --git a/packages/ui/src/contexts/AccountNamesContext.tsx b/packages/ui/src/contexts/AccountNamesContext.tsx index 532cebc7..0bb7098c 100644 --- a/packages/ui/src/contexts/AccountNamesContext.tsx +++ b/packages/ui/src/contexts/AccountNamesContext.tsx @@ -30,7 +30,7 @@ const AccountNamesContextProvider = ({ children }: AccountNamesContextProps) => (address: string) => { const extensionAccount = getAccountByAddress(address) if (extensionAccount) { - return extensionAccount.meta.name + return extensionAccount.name } return accountNames[address] || '' diff --git a/packages/ui/src/contexts/AccountsContext.tsx b/packages/ui/src/contexts/AccountsContext.tsx index 8924404b..4d4e934e 100644 --- a/packages/ui/src/contexts/AccountsContext.tsx +++ b/packages/ui/src/contexts/AccountsContext.tsx @@ -1,10 +1,18 @@ -import React, { useState, useEffect, createContext, useContext, useCallback, useMemo } from 'react' -import { web3Enable, web3FromSource, web3AccountsSubscribe } from '@polkadot/extension-dapp' -import { InjectedAccountWithMeta } from '@polkadot/extension-inject/types' -import { DAPP_NAME } from '../constants' -import { Signer } from '@polkadot/api/types' +import React, { + useState, + createContext, + useContext, + useCallback, + useMemo, + Dispatch, + SetStateAction, + useEffect +} from 'react' +// import { PolkadotSigner } from 'polkadot-api' +import { useAccounts as useRedotAccounts } from '@reactive-dot/react' import { useApi } from './ApiContext' import { encodeAccounts } from '../utils/encodeAccounts' +import { InjectedPolkadotAccount } from 'polkadot-api/pjs-signer' const LOCALSTORAGE_SELECTED_ACCOUNT_KEY = 'multix.selectedAccount' const LOCALSTORAGE_ALLOWED_CONNECTION_KEY = 'multix.canConnectToExtension' @@ -14,45 +22,43 @@ type AccountContextProps = { } export interface IAccountContext { - selectedAccount?: InjectedAccountWithMeta - ownAccountList: InjectedAccountWithMeta[] + selectedAccount?: InjectedPolkadotAccount + ownAccountList: InjectedPolkadotAccount[] ownAddressList: string[] - selectAccount: (account: InjectedAccountWithMeta) => void - getAccountByAddress: (address: string) => InjectedAccountWithMeta | undefined - isAccountLoading: boolean - isExtensionError: boolean - selectedSigner?: Signer + selectAccount: (account: InjectedPolkadotAccount) => void + getAccountByAddress: (address: string) => InjectedPolkadotAccount | undefined + // isAccountLoading: boolean + // isExtensionError: boolean + // selectedSigner?: PolkadotSigner allowConnectionToExtension: () => void isAllowedToConnectToExtension: boolean - isLocalStorageSetupDone: boolean + // isLocalStorageSetupDone: boolean + isConnectionDialogOpen: boolean + setIsConnectionDialogOpen: Dispatch> } const AccountContext = createContext(undefined) const AccountContextProvider = ({ children }: AccountContextProps) => { - const [ownAccountList, setOwnAccountList] = useState([]) - const [selectedAccount, setSelected] = useState(ownAccountList[0]) - const [isAccountLoading, setIsAccountLoading] = useState(false) - const [isExtensionError, setIsExtensionError] = useState(false) - const [selectedSigner, setSelectedSigner] = useState() - const [isAllowedToConnectToExtension, setIsAllowedToConnectToExtension] = useState(false) - const ownAddressList = useMemo(() => ownAccountList.map((a) => a.address), [ownAccountList]) - const [accountGotRequested, setAccountGotRequested] = useState(false) + const redotAccountList = useRedotAccounts() const { chainInfo } = useApi() - const [isLocalStorageSetupDone, setIsLocalStorageSetupDone] = useState(false) - // update the current account list with the right network prefix - // this will run for every network change - useEffect(() => { - if (chainInfo) { - setOwnAccountList((prev) => { - return encodeAccounts(prev, chainInfo.ss58Format) as InjectedAccountWithMeta[] - }) - } - }, [chainInfo]) + const ownAccountList = useMemo( + () => chainInfo && encodeAccounts(redotAccountList, chainInfo.ss58Format), + [chainInfo, redotAccountList] + ) + const [selectedAccount, setSelected] = useState( + ownAccountList?.[0] + ) + const [isConnectionDialogOpen, setIsConnectionDialogOpen] = useState(false) + const [isAllowedToConnectToExtension, setIsAllowedToConnectToExtension] = useState(false) + const ownAddressList = useMemo( + () => (ownAccountList || []).map((a) => a.address), + [ownAccountList] + ) const getAccountByAddress = useCallback( (address: string) => { - return ownAccountList.find((account) => account.address === address) + return (ownAccountList || []).find((account) => account.address === address) }, [ownAccountList] ) @@ -62,124 +68,33 @@ const AccountContextProvider = ({ children }: AccountContextProps) => { setIsAllowedToConnectToExtension(true) }, []) - const selectAccount = useCallback((account: InjectedAccountWithMeta) => { + const selectAccount = useCallback((account: InjectedPolkadotAccount) => { localStorage.setItem(LOCALSTORAGE_SELECTED_ACCOUNT_KEY, account.address) setSelected(account) }, []) - const getaccountList = useCallback( - async (isEthereum: boolean): Promise => { - web3Enable(DAPP_NAME) - .then((ext) => { - if (ext.length === 0) { - setIsExtensionError(true) - } - }) - .catch((e) => { - console.log('ooops web3Enable failed') - console.error(e) - setIsExtensionError(true) - }) - .finally(() => { - setIsAccountLoading(false) - }) - - web3AccountsSubscribe( - (accountList) => { - if (accountList.length === 0) { - setIsExtensionError(true) - return - } - - let listToPersist = accountList - //lower case ethereum addresses - if (isEthereum) { - listToPersist = accountList.map((account) => ({ - ...account, - address: account.address.toLowerCase() - })) - } - - setOwnAccountList([...listToPersist]) - - if (listToPersist.length > 0) { - const previousAccountAddress = localStorage.getItem(LOCALSTORAGE_SELECTED_ACCOUNT_KEY) - const account = previousAccountAddress && getAccountByAddress(previousAccountAddress) - - selectAccount(account || listToPersist[0]) - } - }, - { - ss58Format: chainInfo?.ss58Format, - accountType: isEthereum ? ['ethereum'] : undefined - } - ).catch((error) => { - setIsExtensionError(true) - console.error('web3AccountSubscribe error', error) - }) - }, - [chainInfo?.ss58Format, getAccountByAddress, selectAccount] - ) - - useEffect(() => { - if (isExtensionError || ownAccountList.length > 0 || isAccountLoading || !chainInfo) return - - if (!accountGotRequested && isAllowedToConnectToExtension) { - setAccountGotRequested(true) - setIsAccountLoading(true) - // delay the request by 500ms - // race condition see https://github.com/polkadot-js/extension/issues/938 - setTimeout(() => { - getaccountList(chainInfo.isEthereum) - }, 500) - } - }, [ - ownAccountList, - getaccountList, - isAccountLoading, - isAllowedToConnectToExtension, - chainInfo, - isExtensionError, - accountGotRequested - ]) - useEffect(() => { if (!isAllowedToConnectToExtension) { const previouslyAllowed = localStorage.getItem(LOCALSTORAGE_ALLOWED_CONNECTION_KEY) if (previouslyAllowed === 'true') { setIsAllowedToConnectToExtension(true) } - setIsLocalStorageSetupDone(true) + // setIsLocalStorageSetupDone(true) } }, [isAllowedToConnectToExtension]) - useEffect(() => { - if (!selectedAccount) return - - // to be able to retrieve the signer interface from this account - // we can use web3FromSource which will return an InjectedExtension type - - web3FromSource(selectedAccount.meta.source) - .then((injector) => { - setSelectedSigner(injector.signer) - }) - .catch(console.error) - }) - return ( {children} diff --git a/packages/ui/src/contexts/ApiContext.tsx b/packages/ui/src/contexts/ApiContext.tsx index 26db4adb..3ae8c145 100644 --- a/packages/ui/src/contexts/ApiContext.tsx +++ b/packages/ui/src/contexts/ApiContext.tsx @@ -1,17 +1,57 @@ -import React, { useMemo } from 'react' -import { ApiPromise, WsProvider } from '@polkadot/api' +import React from 'react' import { useState, useEffect, createContext, useContext } from 'react' import { useNetwork } from './NetworkContext' import { ethereumChains } from '../utils/ethereumChains' -import '@polkadot/api-augment' +import { createClient, PolkadotClient, TypedApi } from 'polkadot-api' +import { getWsProvider } from 'polkadot-api/ws-provider/web' +import { withPolkadotSdkCompat } from 'polkadot-api/polkadot-sdk-compat' +import { + acala, + bifrostDot, + dot, + dotAssetHub, + // dotPpl, + hydration, + khala, + ksm, + ksmAssetHub, + // ksmPpl, + paseo, + phala + // rhala, + // rococo, + // rococoAssetHub, + // rococoPpl +} from '@polkadot-api/descriptors' type ApiContextProps = { children: React.ReactNode | React.ReactNode[] } +export type ApiType = TypedApi< + | typeof dot + | typeof dotAssetHub + // | typeof dotPpl + | typeof ksm + | typeof ksmAssetHub + // | typeof ksmPpl + | typeof hydration + | typeof acala + | typeof bifrostDot + | typeof phala + | typeof khala + // | typeof rhala + // | typeof rococo + // | typeof rococoAssetHub + // | typeof rococoPpl + | typeof paseo +> + export interface IApiContext { - api?: false | ApiPromise + api?: ApiType chainInfo?: ChainInfoHuman + client?: PolkadotClient + compatibilityToken?: Awaited['compatibilityToken']> } interface ChainInfoHuman { @@ -21,69 +61,119 @@ interface ChainInfoHuman { isEthereum: boolean } -interface RawChainInfoHuman { - ss58Format: string - tokenDecimals: string[] - tokenSymbol: string[] -} - const ApiContext = createContext(undefined) const ApiContextProvider = ({ children }: ApiContextProps) => { const { selectedNetworkInfo } = useNetwork() - const [chainInfo, setChainInfo] = useState() - const [apiPromise, setApiPromise] = useState() - const [isApiReady, setIsApiReady] = useState(false) - const provider = useMemo( - () => !!selectedNetworkInfo?.rpcUrl && new WsProvider(selectedNetworkInfo?.rpcUrl), - [selectedNetworkInfo] - ) + const [chainInfo, setChainInfo] = useState() + const [client, setClient] = useState() + const [api, setApi] = useState() + const [compatibilityToken, setCompatibilityToken] = useState() useEffect(() => { - if (!provider) return - - // console.log('---> connecting to', provider.endpoint) - setIsApiReady(false) - const api = new ApiPromise({ provider }) - api.isReady.then((newApi) => setApiPromise(newApi)).catch(console.error) - - return () => { - // console.log('<---disconnecting') - setIsApiReady(false) - !!api && api.disconnect() - setApiPromise(undefined) + if (!selectedNetworkInfo) return + + let cl: PolkadotClient + let typedApi: ApiType + + switch (selectedNetworkInfo?.chainId) { + case 'kusama': + cl = createClient(withPolkadotSdkCompat(getWsProvider(selectedNetworkInfo.rpcUrl))) + typedApi = cl.getTypedApi(ksm) + break + case 'asset-hub-dot': + cl = createClient(withPolkadotSdkCompat(getWsProvider(selectedNetworkInfo.rpcUrl))) + typedApi = cl.getTypedApi(dotAssetHub) + break + case 'asset-hub-ksm': + cl = createClient(withPolkadotSdkCompat(getWsProvider(selectedNetworkInfo.rpcUrl))) + typedApi = cl.getTypedApi(ksmAssetHub) + break + case 'acala': + cl = createClient(withPolkadotSdkCompat(getWsProvider(selectedNetworkInfo.rpcUrl))) + typedApi = cl.getTypedApi(acala) + break + case 'bifrost-dot': + cl = createClient(withPolkadotSdkCompat(getWsProvider(selectedNetworkInfo.rpcUrl))) + typedApi = cl.getTypedApi(bifrostDot) + break + case 'phala': + cl = createClient(withPolkadotSdkCompat(getWsProvider(selectedNetworkInfo.rpcUrl))) + typedApi = cl.getTypedApi(phala) + break + // case 'rhala': + // cl = createClient(getWsProvider(selectedNetworkInfo.rpcUrl)) + // typedApi = cl.getTypedApi(rhala) + // break + case 'khala': + cl = createClient(withPolkadotSdkCompat(getWsProvider(selectedNetworkInfo.rpcUrl))) + typedApi = cl.getTypedApi(khala) + break + // case 'rococo': + // cl = createClient(getWsProvider(selectedNetworkInfo.rpcUrl)) + // typedApi = cl.getTypedApi(rococo) + // break + // case 'rococo-asset-hub': + // cl = createClient(getWsProvider(selectedNetworkInfo.rpcUrl)) + // typedApi = cl.getTypedApi(rococoAssetHub) + // break + case 'hydradx': + cl = createClient(withPolkadotSdkCompat(getWsProvider(selectedNetworkInfo.rpcUrl))) + typedApi = cl.getTypedApi(hydration) + break + case 'paseo': + cl = createClient(withPolkadotSdkCompat(getWsProvider(selectedNetworkInfo.rpcUrl))) + typedApi = cl.getTypedApi(paseo) + break + + default: + cl = createClient(withPolkadotSdkCompat(getWsProvider(selectedNetworkInfo.rpcUrl))) + typedApi = cl.getTypedApi(dot) } - - // prevent an infinite loop - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [provider]) + setClient(cl) + setApi(typedApi) + }, [selectedNetworkInfo]) useEffect(() => { - if (!apiPromise) return - - apiPromise.isReady - .then((api) => { - setIsApiReady(true) - - const info = api.registry.getChainProperties() - const raw = info?.toHuman() as unknown as RawChainInfoHuman - const isEthereum = ethereumChains.includes(api.runtimeVersion.specName.toString()) - setChainInfo({ - // some parachains such as interlay have a comma in the format, e.g: "2,042" - ss58Format: Number(raw?.ss58Format.replace(',', '')) || 0, - tokenDecimals: Number(raw?.tokenDecimals[0]) || 0, - tokenSymbol: raw?.tokenSymbol[0] || '', - isEthereum - }) + if (!client || !api) return + + client?.getChainSpecData().then(async ({ properties, name }) => { + if (!properties || !compatibilityToken) return + + const ss58prefix = api.constants.System.SS58Prefix(compatibilityToken) + const tokenDecimals = Array.isArray(properties?.tokenDecimals) + ? properties?.tokenDecimals[0] + : properties?.tokenDecimals + + const tokensymbol = Array.isArray(properties?.tokenSymbol) + ? properties?.tokenSymbol[0] + : properties?.tokenSymbol + + const isEthereum = ethereumChains.includes(name) + + setChainInfo({ + // some parachains such as interlay have a comma in the format, e.g: "2,042" + ss58Format: Number(ss58prefix) || 0, + tokenDecimals: Number(tokenDecimals) || 0, + tokenSymbol: tokensymbol || '', + isEthereum }) - .catch(console.error) - }, [apiPromise]) + }) + }, [client, api, compatibilityToken]) + + useEffect(() => { + if (!api) return + + api.compatibilityToken.then(setCompatibilityToken).catch(console.error) + }, [api]) return ( {children} diff --git a/packages/ui/src/contexts/PeopleChainApiContext.tsx b/packages/ui/src/contexts/PeopleChainApiContext.tsx index 3a4c220a..a1167610 100644 --- a/packages/ui/src/contexts/PeopleChainApiContext.tsx +++ b/packages/ui/src/contexts/PeopleChainApiContext.tsx @@ -1,16 +1,21 @@ -import React, { useMemo } from 'react' -import { ApiPromise, WsProvider } from '@polkadot/api' +import React from 'react' import { useState, useEffect, createContext, useContext } from 'react' import { useNetwork } from './NetworkContext' -import '@polkadot/api-augment' +import { CompatibilityToken, createClient, PolkadotClient, TypedApi } from 'polkadot-api' +import { getWsProvider } from 'polkadot-api/ws-provider/web' +import { dotPpl, ksmPpl, pasPpl, wesPpl } from '@polkadot-api/descriptors' + +export type PplApiType = TypedApi type ApiContextProps = { children: React.ReactNode | React.ReactNode[] } export interface IApiContext { - pplApi?: false | ApiPromise + pplApi?: false | PplApiType pplChainInfo?: ChainInfoHuman + pplClient?: PolkadotClient + pplCompatibilityToken?: CompatibilityToken } export interface ChainInfoHuman { @@ -19,68 +24,84 @@ export interface ChainInfoHuman { tokenSymbol: string } -interface RawChainInfoHuman { - ss58Format: string - tokenDecimals: string[] - tokenSymbol: string[] -} - const PplApiContext = createContext(undefined) const PplApiContextProvider = ({ children }: ApiContextProps) => { const { selectedNetworkInfo } = useNetwork() - const [chainInfo, setChainInfo] = useState() - const [pplApiPromise, setPplApiPromise] = useState() - const [isPplApiReady, setIsPplApiReady] = useState(false) - const provider = useMemo( - () => - !!selectedNetworkInfo?.pplChainRpcUrl && new WsProvider(selectedNetworkInfo?.pplChainRpcUrl), - [selectedNetworkInfo] - ) + const [pplChainInfo, setPplChainInfo] = useState() + const [pplApi, setPplApi] = useState() + const [client, setClient] = useState() + const [compatibilityToken, setCompatibilityToken] = + useState() + + useEffect(() => { + if (!pplApi) return + + pplApi.compatibilityToken.then(setCompatibilityToken).catch(console.error) + }, [pplApi]) useEffect(() => { - if (!provider) return - - // console.log('---> connecting to', provider.endpoint) - setIsPplApiReady(false) - const pplApi = new ApiPromise({ provider }) - pplApi.isReady.then((newApi) => setPplApiPromise(newApi)).catch(console.error) - - return () => { - // console.log('<---disconnecting') - setIsPplApiReady(false) - !!pplApi && pplApi.disconnect() - setPplApiPromise(undefined) + if (!selectedNetworkInfo?.pplChainRpcUrl) return + + let cl: PolkadotClient | undefined + let typedApi: PplApiType | undefined + + switch (selectedNetworkInfo?.chainId) { + case 'kusama': + cl = createClient(getWsProvider(selectedNetworkInfo.pplChainRpcUrl)) + typedApi = cl.getTypedApi(ksmPpl) + break + case 'polkadot': + cl = createClient(getWsProvider(selectedNetworkInfo.pplChainRpcUrl)) + typedApi = cl.getTypedApi(dotPpl) + break + case 'paseo': + cl = createClient(getWsProvider(selectedNetworkInfo.pplChainRpcUrl)) + typedApi = cl.getTypedApi(pasPpl) + break + case 'westend': + cl = createClient(getWsProvider(selectedNetworkInfo.pplChainRpcUrl)) + typedApi = cl.getTypedApi(wesPpl) + break } - // prevent an infinite loop - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [provider]) + if (!cl || !typedApi) return + + setClient(cl) + setPplApi(typedApi) + }, [selectedNetworkInfo]) useEffect(() => { - if (!pplApiPromise) return - - pplApiPromise.isReady - .then((pplApi) => { - setIsPplApiReady(true) - - const info = pplApi.registry.getChainProperties() - const raw = info?.toHuman() as unknown as RawChainInfoHuman - setChainInfo({ - // some parachains such as interlay have a comma in the format, e.g: "2,042" - ss58Format: Number(raw?.ss58Format.replace(',', '')) || 0, - tokenDecimals: Number(raw?.tokenDecimals[0]) || 0, - tokenSymbol: raw?.tokenSymbol[0] || '' - }) + if (!client || !pplApi) return + + client?.getChainSpecData().then(async ({ properties }) => { + if (!properties || !compatibilityToken) return + + const ss58prefix = pplApi.constants.System.SS58Prefix(compatibilityToken) + const tokenDecimals = Array.isArray(properties?.tokenDecimals) + ? properties?.tokenDecimals[0] + : properties?.tokenDecimals + + const tokensymbol = Array.isArray(properties?.tokenSymbol) + ? properties?.tokenSymbol[0] + : properties?.tokenSymbol + + setPplChainInfo({ + // some parachains such as interlay have a comma in the format, e.g: "2,042" + ss58Format: Number(ss58prefix) || 0, + tokenDecimals: Number(tokenDecimals) || 0, + tokenSymbol: tokensymbol || '' }) - .catch(console.error) - }, [pplApiPromise]) + }) + }, [client, compatibilityToken, pplApi]) return ( {children} diff --git a/packages/ui/src/contexts/WalletConnectContext.tsx b/packages/ui/src/contexts/WalletConnectContext.tsx index 9658a17a..b2a400ef 100644 --- a/packages/ui/src/contexts/WalletConnectContext.tsx +++ b/packages/ui/src/contexts/WalletConnectContext.tsx @@ -2,6 +2,7 @@ import React, { createContext, useCallback, useContext, useEffect, useMemo, useS import { Core } from '@walletconnect/core' import { ICore, PairingTypes } from '@walletconnect/types' import { Web3Wallet, IWeb3Wallet } from '@walletconnect/web3wallet' +import { DAPP_NAME } from '../constants' export type WalletConnect = { [address: string]: string } @@ -35,7 +36,7 @@ const WalletConnectContextProvider = ({ children }: WalletConnectContextProps) = return Web3Wallet.init({ core, metadata: { - name: 'Multix', + name: DAPP_NAME, description: 'Multix Client as Wallet/Peer', url: 'multix.chainsafe.io', icons: ['https://avatars.githubusercontent.com/u/37784886'] diff --git a/packages/ui/src/hooks/useAccountDisplayInfo.tsx b/packages/ui/src/hooks/useAccountDisplayInfo.tsx index 943ec91f..045cd9e7 100644 --- a/packages/ui/src/hooks/useAccountDisplayInfo.tsx +++ b/packages/ui/src/hooks/useAccountDisplayInfo.tsx @@ -1,5 +1,5 @@ -import { useMemo } from 'react' -import { useIdentity } from './useIdentity' +import { useEffect, useMemo, useState } from 'react' +import { IdentityInfo, useGetIdentity } from './useGetIdentity' import { useAccountNames } from '../contexts/AccountNamesContext' import { getDisplayName } from '../utils/getDisplayName' import { getIdentityName } from '../utils/getIdentityName' @@ -9,12 +9,17 @@ interface Props { } export const useAccountDisplayInfo = ({ address }: Props) => { - const identity = useIdentity(address) + const getIdentity = useGetIdentity() const { getNamesWithExtension } = useAccountNames() const localName = useMemo(() => getNamesWithExtension(address), [address, getNamesWithExtension]) const isLocalNameDisplayed = useMemo(() => !!localName, [localName]) + const [identity, setIdentity] = useState() const { identityName, sub } = useMemo(() => getIdentityName(identity), [identity]) + useEffect(() => { + getIdentity(address).then(setIdentity).catch(console.error) + }, [address, getIdentity]) + const displayName = useMemo( () => getDisplayName(localName || '', identityName), [localName, identityName] diff --git a/packages/ui/src/hooks/useCallInfoFromCallData.tsx b/packages/ui/src/hooks/useCallInfoFromCallData.tsx index 6638e90a..e357e342 100644 --- a/packages/ui/src/hooks/useCallInfoFromCallData.tsx +++ b/packages/ui/src/hooks/useCallInfoFromCallData.tsx @@ -1,49 +1,56 @@ import { useEffect, useState } from 'react' import { useApi } from '../contexts/ApiContext' -import { HexString, SubmittingCall } from '../types' -import { GenericCall } from '@polkadot/types' +import { SubmittingCall } from '../types' import { PAYMENT_INFO_ACCOUNT } from '../constants' +import { Binary, HexString } from 'polkadot-api' +import { hashFromTx } from '../utils/txHash' export const useCallInfoFromCallData = (callData?: HexString) => { - const { api } = useApi() + const { api, compatibilityToken } = useApi() const [callInfo, setCallInfo] = useState(undefined) const [isGettingCallInfo, setIsGettingCallInfo] = useState(false) useEffect(() => { if (!callData) { setCallInfo(undefined) + setIsGettingCallInfo(false) return } - if (!api) { + if (!api || !compatibilityToken) { setCallInfo(undefined) + setIsGettingCallInfo(false) return } - let call: GenericCall + setIsGettingCallInfo(true) + try { - call = api.createType('Call', callData) - } catch (error) { - console.error(error) - setCallInfo({}) - return - } + const tx = api.txFromCallData(Binary.fromHex(callData), compatibilityToken) - setIsGettingCallInfo(true) - api - .tx(call) - .paymentInfo(PAYMENT_INFO_ACCOUNT) - .then(({ weight }) => { - setCallInfo({ - call, - weight, - method: call.method, - section: call.section + tx.getPaymentInfo(PAYMENT_INFO_ACCOUNT, { at: 'best' }) + .then(({ weight }) => { + setCallInfo({ + decodedCall: tx?.decodedCall, + call: tx, + hash: hashFromTx(callData), + weight: { proof_size: weight.proof_size, ref_time: weight.ref_time }, + method: tx?.decodedCall.type, + section: tx?.decodedCall.value.type + }) + setIsGettingCallInfo(false) + }) + .catch((e) => { + console.error(e) + setIsGettingCallInfo(false) + setCallInfo(undefined) }) - }) - .catch(console.error) - .finally(() => setIsGettingCallInfo(false)) - }, [api, callData]) + } catch (e) { + console.error(e) + setIsGettingCallInfo(false) + setCallInfo(undefined) + } + }, [api, callData, compatibilityToken]) return { callInfo, isGettingCallInfo } } diff --git a/packages/ui/src/hooks/useCheckBalance.tsx b/packages/ui/src/hooks/useCheckBalance.tsx index d1544e0b..29ac6b10 100644 --- a/packages/ui/src/hooks/useCheckBalance.tsx +++ b/packages/ui/src/hooks/useCheckBalance.tsx @@ -1,9 +1,8 @@ -import BN from 'bn.js' import { useMemo } from 'react' import { useGetBalance } from './useGetBalance' export interface Props { - min?: BN + min?: bigint address?: string } @@ -11,8 +10,10 @@ export const useCheckBalance = ({ min, address }: Props) => { const { balance } = useGetBalance({ address }) const hasEnoughFreeBalance = useMemo(() => { - if (!address || !min || !balance) return false - return balance.gt(min) + if (!address || !balance || min === undefined) { + return false + } + return balance > min }, [address, min, balance]) return { hasEnoughFreeBalance } diff --git a/packages/ui/src/hooks/useDisplayError.tsx b/packages/ui/src/hooks/useDisplayError.tsx index 2f96c42f..90b78817 100644 --- a/packages/ui/src/hooks/useDisplayError.tsx +++ b/packages/ui/src/hooks/useDisplayError.tsx @@ -13,8 +13,7 @@ import { useSearchParams } from 'react-router-dom' import { useNetwork } from '../contexts/NetworkContext' export const useDisplayError = () => { - const { isExtensionError, isAccountLoading, ownAccountList, isAllowedToConnectToExtension } = - useAccounts() + const { ownAccountList, isAllowedToConnectToExtension } = useAccounts() const { watchedAddresses } = useWatchedAddresses() const { error: multisigQueryError, refetch, canFindMultiProxyFromUrl } = useMultiProxy() const [, setSearchParams] = useSearchParams() @@ -22,8 +21,8 @@ export const useDisplayError = () => { if ( watchedAddresses.length === 0 && - !isAccountLoading && - (isExtensionError || (isAllowedToConnectToExtension && ownAccountList.length === 0)) + ownAccountList.length === 0 && + isAllowedToConnectToExtension ) { return ( diff --git a/packages/ui/src/hooks/useDisplayLoader.tsx b/packages/ui/src/hooks/useDisplayLoader.tsx index fddda9e2..c995033e 100644 --- a/packages/ui/src/hooks/useDisplayLoader.tsx +++ b/packages/ui/src/hooks/useDisplayLoader.tsx @@ -1,7 +1,7 @@ import { useMultiProxy } from '../contexts/MultiProxyContext' import { useApi } from '../contexts/ApiContext' import { useNetwork } from '../contexts/NetworkContext' -import { useAccounts } from '../contexts/AccountsContext' +// import { useAccounts } from '../contexts/AccountsContext' import { useWatchedAddresses } from '../contexts/WatchedAddressesContext' import LoadingBox from '../components/LoadingBox' @@ -9,10 +9,9 @@ export const useDisplayLoader = () => { const { isLoading: isLoadingMultisigs } = useMultiProxy() const { api } = useApi() const { selectedNetworkInfo } = useNetwork() - const { isAccountLoading, isLocalStorageSetupDone } = useAccounts() const { isInitialized: isWatchAddressInitialized } = useWatchedAddresses() - if (!isWatchAddressInitialized || !isLocalStorageSetupDone) { + if (!isWatchAddressInitialized) { return ( { ) } - if (isAccountLoading) { - return ( - - ) - } - if (isLoadingMultisigs) { return ( { const { api, chainInfo } = useApi() - const [balance, setBalance] = useState(null) + const [balance, setBalance] = useState(null) const [balanceFormatted, setFormattedBalance] = useState(null) useEffect(() => { if (!api || !address) return - let unsubscribe: () => void - - api.query.system - .account(address, ({ data: { free, frozen } }: FrameSystemAccountInfo) => { - const transferable = free.sub(frozen) + const unsub = api.query.System.Account.watchValue(address, 'best').subscribe( + ({ data: { free, frozen } }) => { + const transferable = free - frozen setBalance(transferable) setFormattedBalance( - formatBnBalance(transferable, chainInfo?.tokenDecimals, { + formatBigIntBalance(transferable, chainInfo?.tokenDecimals, { numberAfterComma, tokenSymbol: chainInfo?.tokenSymbol }) ) - }) - .then((unsub) => { - unsubscribe = unsub as unknown as () => void - }) - .catch(console.error) + } + ) - return () => unsubscribe && unsubscribe() + return () => unsub && unsub.unsubscribe() }, [address, api, chainInfo?.tokenDecimals, chainInfo?.tokenSymbol, numberAfterComma]) return { balance, balanceFormatted } diff --git a/packages/ui/src/hooks/useGetIdentity.tsx b/packages/ui/src/hooks/useGetIdentity.tsx index a35404dc..0a336a4e 100644 --- a/packages/ui/src/hooks/useGetIdentity.tsx +++ b/packages/ui/src/hooks/useGetIdentity.tsx @@ -1,21 +1,66 @@ import { useCallback } from 'react' import { useIdenityApi } from './useIdentityApi' +import { FixedSizeBinary, TypedApi } from 'polkadot-api' +import { dotPpl, IdentityData, IdentityJudgement } from '@polkadot-api/descriptors' + +export interface IdentityInfo extends Record { + judgements: IdentityJudgement['type'][] + sub?: string +} export const useGetIdentity = () => { const { api } = useIdenityApi() const getIdentity = useCallback( async (address: string) => { - if (!api) { + if (!api || !address) { return } - try { - const info = await api.derive.accounts.info(address) - return info.identity - } catch (e) { - console.error(e) - } + const { sub, parentAddress } = await ( + api as TypedApi + ).query.Identity.SuperOf.getValue(address, { at: 'best' }).then((res) => { + const [parentAddress, parentIdentity] = res || [] + + if (!parentAddress || !parentIdentity) { + return { parentAddress: '', display: '' } + } + + const sub = + parentIdentity.type !== 'None' && parentIdentity.value + ? (parentIdentity.value as FixedSizeBinary<3>).asText() + : '' + + return { sub, parentAddress } + }) + + const addressToUse = parentAddress || address + + const identity = await (api as TypedApi).query.Identity.IdentityOf.getValue( + addressToUse, + { + at: 'best' + } + ).then((val) => { + const id: IdentityInfo = { judgements: [], sub } + val?.[0].judgements.forEach(([, judgement]) => { + id.judgements.push(judgement.type) + }) + Object.entries(val?.[0]?.info || {}).forEach(([key, value]) => { + if ((value as IdentityData)?.type !== 'None') { + // console.log('key', JSONprint(key)); + // console.log('value', JSONprint(value)); + const text = (value as IdentityData)?.value as FixedSizeBinary<2> | undefined + if (text) { + id[key] = text.asText() + } + } + }) + + return id + }) + + return identity }, [api] ) diff --git a/packages/ui/src/hooks/useGetMultisigTx.tsx b/packages/ui/src/hooks/useGetMultisigTx.tsx index 81c99197..da9c3619 100644 --- a/packages/ui/src/hooks/useGetMultisigTx.tsx +++ b/packages/ui/src/hooks/useGetMultisigTx.tsx @@ -1,13 +1,12 @@ import { useMemo } from 'react' import { useApi } from '../contexts/ApiContext' import { MultiProxy } from '../contexts/MultiProxyContext' -import { SubmittableExtrinsic } from '@polkadot/api/types' -import { ISubmittableResult } from '@polkadot/types/types' import { useGetSortAddress } from './useGetSortAddress' import { getAsMultiTx } from '../utils/getAsMultiTx' -import { Weight } from '@polkadot/types/interfaces' -import { HexString, MultisigStorageInfo } from '../types' -import { getApproveAsMultiTx } from '../utils' +import { MultisigStorageInfo, Weight } from '../types' +import { getApproveAsMultiTx } from '../utils/getApproveAsMultiTx' +import { HexString, Transaction, TypedApi } from 'polkadot-api' +import { dot, MultiAddress } from '@polkadot-api/descriptors' interface Params { selectedMultisig?: MultiProxy['multisigs'][0] @@ -15,7 +14,7 @@ interface Params { senderAddress?: string fromAddress?: string isProxy?: boolean - extrinsicToCall?: SubmittableExtrinsic<'promise', ISubmittableResult> | undefined + extrinsicToCall?: Transaction | undefined weight?: Weight when?: MultisigStorageInfo['when'] forceAsMulti?: boolean @@ -36,7 +35,7 @@ export const useGetMultisigTx = ({ forceAsMulti = true, approveAsMultiHash }: Params) => { - const { api } = useApi() + const { api, compatibilityToken } = useApi() const { getSortAddress } = useGetSortAddress() const multisigTx = useMemo(() => { @@ -81,19 +80,23 @@ export const useGetMultisigTx = ({ return } - let tx: SubmittableExtrinsic<'promise'> | undefined + let tx: Transaction | undefined try { // the proxy is selected if (isProxy && !!extrinsicToCall) { - tx = api.tx.proxy.proxy(fromAddress, null, extrinsicToCall) + tx = (api as TypedApi).tx.Proxy.proxy({ + real: MultiAddress.Id(fromAddress), + force_proxy_type: undefined, + call: extrinsicToCall.decodedCall + }) // a multisig is selected } else { tx = extrinsicToCall } return forceAsMulti || approvalLength >= threshold - 1 - ? getAsMultiTx({ api, threshold, otherSignatories, tx, weight, when }) + ? getAsMultiTx({ api, threshold, otherSignatories, tx, weight, when, compatibilityToken }) : getApproveAsMultiTx({ api, threshold, @@ -118,7 +121,8 @@ export const useGetMultisigTx = ({ approvalLength, weight, when, - approveAsMultiHash + approveAsMultiHash, + compatibilityToken ]) return multisigTx diff --git a/packages/ui/src/hooks/useHasIdentityFeature.tsx b/packages/ui/src/hooks/useHasIdentityFeature.tsx index d7c151df..fc12fa3a 100644 --- a/packages/ui/src/hooks/useHasIdentityFeature.tsx +++ b/packages/ui/src/hooks/useHasIdentityFeature.tsx @@ -1,11 +1,16 @@ import { useMemo } from 'react' import { useNetwork } from '../contexts/NetworkContext' import { useIdenityApi } from './useIdentityApi' +import { dotPpl } from '@polkadot-api/descriptors' +import { TypedApi } from 'polkadot-api' export const useHasIdentityFeature = () => { const { api } = useIdenityApi() const { selectedNetworkInfo } = useNetwork() - const hasIdentityPallet = useMemo(() => !!api && !!api.tx?.identity?.setIdentity, [api]) + const hasIdentityPallet = useMemo( + () => !!api && !!(api as TypedApi).tx?.Identity?.set_identity, + [api] + ) const hasPplChain = useMemo(() => !!selectedNetworkInfo?.pplChainRpcUrl, [selectedNetworkInfo]) return { hasPplChain, diff --git a/packages/ui/src/hooks/useIdentity.tsx b/packages/ui/src/hooks/useIdentity.tsx deleted file mode 100644 index d3bd82e6..00000000 --- a/packages/ui/src/hooks/useIdentity.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { useEffect, useState } from 'react' -import { DeriveAccountInfo, DeriveAccountRegistration } from '@polkadot/api-derive/types' -import { useIdenityApi } from './useIdentityApi' - -export const useIdentity = (address?: string) => { - const { api } = useIdenityApi() - const [identity, setIdentity] = useState(null) - - useEffect(() => { - if (!api || !address) { - return - } - - let unsubscribe: () => void - - api.derive.accounts - .info(address, (info: DeriveAccountInfo) => { - setIdentity(info.identity) - }) - .then((unsub) => { - unsubscribe = unsub - }) - .catch((e) => console.error(e)) - - return () => unsubscribe && unsubscribe() - }, [address, api]) - - return identity -} diff --git a/packages/ui/src/hooks/useIdentityApi.tsx b/packages/ui/src/hooks/useIdentityApi.tsx index c6e8b02e..9c5126da 100644 --- a/packages/ui/src/hooks/useIdentityApi.tsx +++ b/packages/ui/src/hooks/useIdentityApi.tsx @@ -1,16 +1,15 @@ -import { ApiPromise } from '@polkadot/api' import { useState, useEffect } from 'react' -import { useApi } from '../contexts/ApiContext' -import { ChainInfoHuman, usePplApi } from '../contexts/PeopleChainApiContext' +import { ChainInfoHuman, PplApiType, usePplApi } from '../contexts/PeopleChainApiContext' +import { ApiType, useApi } from '../contexts/ApiContext' export const useIdenityApi = () => { - const { api, chainInfo } = useApi() const { pplApi, pplChainInfo } = usePplApi() - const [apiToUse, setApiToUse] = useState(null) + const { api, chainInfo } = useApi() + const [apiToUse, setApiToUse] = useState(null) const [chainInfoToUse, setChainInfoToUse] = useState(undefined) useEffect(() => { - if (!pplApi && !api) { + if (!pplApi) { return } diff --git a/packages/ui/src/hooks/useMultisigProposalNeededFunds.tsx b/packages/ui/src/hooks/useMultisigProposalNeededFunds.tsx index 610ad006..ab3a846d 100644 --- a/packages/ui/src/hooks/useMultisigProposalNeededFunds.tsx +++ b/packages/ui/src/hooks/useMultisigProposalNeededFunds.tsx @@ -1,22 +1,20 @@ import { useEffect, useState } from 'react' import { useApi } from '../contexts/ApiContext' -import BN from 'bn.js' -import { SubmittableExtrinsic } from '@polkadot/api/types' -import { ISubmittableResult } from '@polkadot/types/types' +import { Transaction } from 'polkadot-api' interface Props { threshold?: number | null signatories?: string[] - call?: SubmittableExtrinsic<'promise', ISubmittableResult> + call?: Transaction } export const useMultisigProposalNeededFunds = ({ threshold, signatories, call }: Props) => { - const { api, chainInfo } = useApi() - const [min, setMin] = useState(new BN(0)) - const [reserved, setReserved] = useState(new BN(0)) + const { api, chainInfo, compatibilityToken } = useApi() + const [min, setMin] = useState(0n) + const [reserved, setReserved] = useState(0n) useEffect(() => { - if (!api || !signatories || signatories.length < 2) return + if (!api || !signatories || signatories.length < 2 || !compatibilityToken) return if (!chainInfo?.tokenDecimals) return @@ -24,31 +22,20 @@ export const useMultisigProposalNeededFunds = ({ threshold, signatories, call }: if (!call) return - if (!api.consts.multisig.depositFactor || !api.consts.multisig.depositBase) return - - try { - const genericCall = api.createType('Call', call) - - // get the fees for this call - api - .tx(genericCall) - .paymentInfo('5CXQZrh1MSgnGGCdJu3tqvRfCv7t5iQXGGV9UKotrbfhkavs') - .then((info) => { - // add the funds reserved for a multisig call - const reservedTemp = (api.consts.multisig.depositFactor as unknown as BN) - .muln(threshold) - .add(api.consts.multisig.depositBase as unknown as BN) - - // console.log('reservedTemp', formatBnBalance(reservedTemp, chainInfo.tokenDecimals, { tokenSymbol: chainInfo?.tokenSymbol, numberAfterComma: 3 })) - setMin(reservedTemp.add(info.partialFee)) - setReserved(reservedTemp) - }) - .catch(console.error) - } catch (e) { - console.error('Error in useMultisigProposalNeededFunds') - console.error(e) - } - }, [api, call, chainInfo, signatories, threshold]) + const multisigDepositBase = api.constants.Multisig.DepositBase(compatibilityToken) + const multisigDepositFactor = api.constants.Multisig.DepositFactor(compatibilityToken) + + if (!multisigDepositFactor || !multisigDepositBase) return + + call + .getEstimatedFees('5CXQZrh1MSgnGGCdJu3tqvRfCv7t5iQXGGV9UKotrbfhkavs') + .then((info) => { + const reservedTemp = multisigDepositFactor * BigInt(threshold) + multisigDepositBase + setMin(reservedTemp + info) + setReserved(reservedTemp) + }) + .catch(console.error) + }, [api, call, chainInfo, compatibilityToken, signatories, threshold]) return { multisigProposalNeededFunds: min, reserved } } diff --git a/packages/ui/src/hooks/usePendingTx.tsx b/packages/ui/src/hooks/usePendingTx.tsx index 5cfe37ef..4b6b45e3 100644 --- a/packages/ui/src/hooks/usePendingTx.tsx +++ b/packages/ui/src/hooks/usePendingTx.tsx @@ -1,16 +1,19 @@ import { useCallback, useEffect, useState } from 'react' import { useMultiProxy } from '../contexts/MultiProxyContext' -import { HexString, MultisigStorageInfo } from '../types' +import { MultisigStorageInfo } from '../types' import { useMultisigCallQuery } from './useQueryMultisigCalls' -import { isEmptyArray } from '../utils' +import { isEmptyArray } from '../utils/arrayUtils' +import { isProxyCall } from '../utils/isProxyCall' import { useAccountId } from './useAccountId' -import { ApiPromise } from '@polkadot/api' -import { useApi } from '../contexts/ApiContext' -import { ISanitizedCall, getDisplayArgs, isProxyCall, parseGenericCall } from '../utils' -import { GenericCall } from '@polkadot/types' -import { AnyJson, AnyTuple } from '@polkadot/types/types' +import { ApiType, useApi } from '../contexts/ApiContext' import dayjs from 'dayjs' import localizedFormat from 'dayjs/plugin/localizedFormat' +import { PolkadotClient, Transaction } from 'polkadot-api' +import { Bin, Binary, compact, HexString, Tuple } from '@polkadot-api/substrate-bindings' +import { hashFromTx } from '../utils/txHash' +import { getEncodedCallFromDecodedTx } from '../utils/getEncodedCallFromDecodedTx' +import { getExtrinsicDecoder } from '@polkadot-api/tx-utils' + dayjs.extend(localizedFormat) export interface PendingTx { @@ -21,9 +24,9 @@ export interface PendingTx { export interface CallDataInfoFromChain { callData?: HexString + decodedCall?: Transaction['decodedCall'] hash?: string name?: string - args?: AnyJson info?: PendingTx['info'] from: string timestamp?: Date @@ -32,55 +35,118 @@ export interface CallDataInfoFromChain { type AggGroupedByDate = { [index: string]: CallDataInfoFromChain[] } -export const getMultisigInfo = (call: ISanitizedCall): Partial[] => { - const result: Partial[] = [] +const opaqueMetadata = Tuple(compact, Bin(Infinity)).dec + +const getExtDecoderAt = async (api: ApiType, client: PolkadotClient, blockHash?: string) => { + const rawMetadata = await (blockHash + ? client + ._request<{ + result: HexString + }>('archive_unstable_call', [blockHash, 'Metadata_metadata', '']) + .then((x) => opaqueMetadata(x.result)[1]) + : api.apis.Metadata.metadata()) + + const decoder = await getExtrinsicDecoder(rawMetadata.asOpaqueBytes()) + + return decoder +} - const getCallResult = ({ args, method }: ISanitizedCall) => { - if (typeof method !== 'string' && method.pallet === 'multisig') { - if (method.method === 'asMulti' && typeof args.call?.method !== 'string') { +const getMultisigInfo = async ( + call: Transaction['decodedCall'], + api: ApiType +): Promise[]> => { + const compatibilityToken = await api.compatibilityToken + + const result: any[] = [] + + // console.log('----for call', JSONprint(call)); + + const getCallResults = (call: Transaction['decodedCall']) => { + if (call.type === 'Multisig') { + if (call.value.type === 'as_multi') { + const callDatawithout0x = getEncodedCallFromDecodedTx( + api, + call.value.value.call, + compatibilityToken + ) + const callData = `0x${callDatawithout0x}` + const hash = hashFromTx(callData) + // console.log('----- callData', callData); + // console.log('----- hash', hash); result.push({ - name: `${args.call?.method?.pallet}.${args.call?.method.method}`, - hash: args.call?.hash, - callData: args.callData as CallDataInfoFromChain['callData'] + name: `${call.value.value.call.type}.${call.value.value.call.value.type}`, + hash, + callData }) - } else { + } else if (call.value.type === 'approve_as_multi') { result.push({ name: 'Unknown call', - hash: (args?.call_hash as Uint8Array).toString() || undefined, + // the call_hash is of type FixedSizeBinary<32> which is + // an instance of instance Binary and can be converted to a hex + hash: call.value.value.call_hash.asHex(), callData: undefined }) } - // this is not a multisig call - // try to dig deeper } else { - if (args.calls) { - for (const call of args.calls) { - getCallResult(call) - } - } else if (args.call) { - getCallResult(args.call) + if (call.value.value.call) { + getCallResults(call.value.value.call) + } + + if (call.value.value.calls) { + call.value.value.calls.forEach((c: any) => getCallResults(c)) } } } - getCallResult(call) + getCallResults(call) + // console.log('result', JSONprint(result)) return result } -const getCallDataFromChainPromise = (pendingTxData: PendingTx[], api: ApiPromise) => +const getCallDataFromChainPromise = ( + pendingTxData: PendingTx[], + api: ApiType, + client: PolkadotClient +) => pendingTxData.map(async (pendingTx) => { - const blockHash = await api.rpc.chain.getBlockHash(pendingTx.info.when.height) - const signedBlock = await api.rpc.chain.getBlock(blockHash) + const blockNumber = pendingTx.info.when.height + const blockHash = ( + await client._request('archive_unstable_hashByHeight', [blockNumber]) + )?.[0] as HexString | undefined + + if (!blockHash) { + console.log('no hash found for height', blockNumber) + return + } + + const body: HexString[] = await client._request('archive_unstable_body', [blockHash]) let date: Date | undefined + const decoder = await getExtDecoderAt(api, client, blockHash) + + const txPromises = body.map((extrinsics) => { + const decodedExtrinsic = decoder(extrinsics) + const toDecode = decodedExtrinsic.callData + // console.log('-----------------------------') + // console.log(decodedExtrinsic) + return api.txFromCallData(toDecode) + }) + + const allDecodedTxs = await Promise.all(txPromises) + + // allDecodedTxs.forEach((txs) => { + // console.log('-------------decoded') + // console.log(txs) + // }) + // get the timestamp which is an unsigned extrinsic set by the validator in each block // the information for each of the contained extrinsics - signedBlock.block.extrinsics.some(({ method: { args, method, section } }) => { + allDecodedTxs.some(({ decodedCall: { type, value } }) => { // check for timestamp.set - if (section === 'timestamp' && method === 'set') { + if (type === 'Timestamp' && value.type === 'Set') { // extract the Option as Moment - const moment = args.toString() + const moment = value.value.now as string // convert to date (unix ms since epoch in Moment - exactly as per the Rust code) date = new Date(Number(moment)) @@ -90,40 +156,34 @@ const getCallDataFromChainPromise = (pendingTxData: PendingTx[], api: ApiPromise return false }) - const ext = signedBlock.block.extrinsics[pendingTx.info.when.index] + const ext = allDecodedTxs[pendingTx.info.when.index] - const decoded = parseGenericCall(ext.method as GenericCall, ext.registry) + // const decoded = parseGenericCall(ext.method as GenericCall, ext.registry) // console.log('pendingTxData', pendingTxData) // console.log('decoded', decoded) - const multisigInfos = getMultisigInfo(decoded) || {} + const multisigTxs = (await getMultisigInfo(ext.decodedCall, api)) || [] - const info = multisigInfos.find(({ name, hash, callData }) => { - if (!!hash && hash === pendingTx.hash) { - return { name, hash, callData } + const multisigTxInfo = multisigTxs.find((info) => { + if (!!info.hash && info.hash === pendingTx.hash) { + return info } return false }) - if (!info) { - console.log('oops we did not find the right extrinsic', multisigInfos, pendingTx.hash) + if (!multisigTxInfo) { + console.log('oops we did not find the right extrinsic', multisigTxs, pendingTx.hash) return } - const { name, hash, callData } = info - - let call: false | GenericCall = false - try { - call = !!callData && !!hash && ext.registry.createType('Call', callData) - } catch (error) { - console.error('Error in getCallDataFromChainPromise', error) - } + const { name, hash, callData } = multisigTxInfo return { callData, hash: hash || pendingTx.hash, name, - args: getDisplayArgs(call), + decodedCall: + (callData && (await api.txFromCallData(Binary.fromHex(callData))).decodedCall) || {}, info: pendingTx.info, from: pendingTx.from, timestamp: date @@ -138,7 +198,7 @@ const sortByLatest = (a: CallDataInfoFromChain, b: CallDataInfoFromChain) => { export const usePendingTx = (multisigAddresses: string[], skipProxyCheck = false) => { const [isLoading, setIsLoading] = useState(true) - const { api, chainInfo } = useApi() + const { api, chainInfo, client } = useApi() const [txWithCallDataByDate, setTxWithCallDataByDate] = useState({}) const { selectedMultiProxy } = useMultiProxy() @@ -146,28 +206,28 @@ export const usePendingTx = (multisigAddresses: string[], skipProxyCheck = false const refresh = useCallback(async () => { setTxWithCallDataByDate({}) - if (!api) return + if (!api || !client) return if (isEmptyArray(multisigAddresses)) return - if (!api?.query?.multisig?.multisigs) return + if (!api?.query?.Multisig?.Multisigs) return setIsLoading(true) const pendingMultisigTxs: PendingTx[] = [] const callsPromises = multisigAddresses.map((address) => - api.query.multisig.multisigs.entries(address) + api.query.Multisig.Multisigs.getEntries(address, { at: 'best' }) ) await Promise.all(callsPromises) .then((res1) => { res1.forEach((res, index) => { - res.forEach((storage) => { + res.forEach(({ keyArgs, value }) => { // this is supposed to be the multisig address that we asked the storage for - const multisigFromChain = (storage[0].toHuman() as Array)[0] - const hash = (storage[0].toHuman() as Array)[1] - const info = storage[1].toJSON() as unknown as MultisigStorageInfo + const multisigFromChain = keyArgs[0] + const hash = keyArgs[1].asHex() + const info = value as MultisigStorageInfo if (chainInfo?.isEthereum) { info.approvals = info.approvals.map((approval) => approval.toLowerCase()) } @@ -176,9 +236,10 @@ export const usePendingTx = (multisigAddresses: string[], skipProxyCheck = false // These 2 should be the same if (multisigFromChain.toLowerCase() !== multisigAddresses[index].toLowerCase()) { console.error( - 'The onchain call and the one found in the block donot correspond', - multisigFromChain, - multisigAddresses[index] + 'The multisig we requested the calls for and the one found in the block do not correspond. Requested:', + multisigAddresses[index], + 'received: ', + multisigFromChain ) return } @@ -199,7 +260,11 @@ export const usePendingTx = (multisigAddresses: string[], skipProxyCheck = false return } - const callDataInfoFromChainPromises = getCallDataFromChainPromise(pendingMultisigTxs, api) + const callDataInfoFromChainPromises = getCallDataFromChainPromise( + pendingMultisigTxs, + api, + client + ) await Promise.all(callDataInfoFromChainPromises) .then((res) => { @@ -210,14 +275,15 @@ export const usePendingTx = (multisigAddresses: string[], skipProxyCheck = false const relevantTxs = definedTxs.filter((agg) => { if ( !isProxyCall(agg.name) || - !agg?.args || - !(agg.args as any).real.Id || + !agg?.decodedCall || + !agg.decodedCall.value.value.real.value || skipProxyCheck ) { return true } - const isForCurrentProxy = (agg.args as any).real.Id === selectedMultiProxy?.proxy + const isForCurrentProxy = + agg.decodedCall.value.value.real.value === selectedMultiProxy?.proxy if (!isForCurrentProxy) { console.warn('call filtered, current proxy:', selectedMultiProxy?.proxy, 'call:', agg) @@ -242,7 +308,14 @@ export const usePendingTx = (multisigAddresses: string[], skipProxyCheck = false setIsLoading(false) }) .catch(console.error) - }, [api, chainInfo?.isEthereum, multisigAddresses, selectedMultiProxy?.proxy, skipProxyCheck]) + }, [ + api, + chainInfo?.isEthereum, + client, + multisigAddresses, + selectedMultiProxy?.proxy, + skipProxyCheck + ]) useEffect(() => { refresh() diff --git a/packages/ui/src/hooks/useProxyAdditionNeededFunds.tsx b/packages/ui/src/hooks/useProxyAdditionNeededFunds.tsx index be252146..1b6a12f7 100644 --- a/packages/ui/src/hooks/useProxyAdditionNeededFunds.tsx +++ b/packages/ui/src/hooks/useProxyAdditionNeededFunds.tsx @@ -1,22 +1,23 @@ import { useEffect, useState } from 'react' import { useApi } from '../contexts/ApiContext' -import BN from 'bn.js' +import { TypedApi } from 'polkadot-api' +import { dot } from '@polkadot-api/descriptors' export const useProxyAdditionNeededFunds = () => { const { api, chainInfo } = useApi() - const [min, setMin] = useState(new BN(0)) + const [min, setMin] = useState(0n) useEffect(() => { if (!api) return if (!chainInfo?.tokenDecimals) return - if (!api.consts?.proxy?.proxyDepositFactor) return - - // the proxy is already created (with proxyDepositBase already deposited by the first account - // that added the first proxy) we are only adding one account as proxy - const reserved = api.consts?.proxy?.proxyDepositFactor as unknown as BN - setMin(reserved) + if (!(api as TypedApi).constants?.Proxy?.ProxyDepositFactor) + return // the proxy is already created (with proxyDepositBase already deposited by the first account + // that added the first proxy) we are only adding one account as proxy + ;(api as TypedApi).constants.Proxy.ProxyDepositBase() + .then(setMin) + .catch(console.error) }, [api, chainInfo]) return { proxyAdditionNeededFunds: min } diff --git a/packages/ui/src/hooks/usePureProxyCreationNeededFunds.tsx b/packages/ui/src/hooks/usePureProxyCreationNeededFunds.tsx index b55038e6..2630ef72 100644 --- a/packages/ui/src/hooks/usePureProxyCreationNeededFunds.tsx +++ b/packages/ui/src/hooks/usePureProxyCreationNeededFunds.tsx @@ -1,37 +1,40 @@ import { useEffect, useState } from 'react' import { useApi } from '../contexts/ApiContext' -import BN from 'bn.js' +import { TypedApi } from 'polkadot-api' +import { dot } from '@polkadot-api/descriptors' export const usePureProxyCreationNeededFunds = () => { - const { api, chainInfo } = useApi() - const [min, setMin] = useState(new BN(0)) - const [reserved, setReserved] = useState(new BN(0)) + const { api, chainInfo, compatibilityToken } = useApi() + const [min, setMin] = useState(0n) + const [reserved, setReserved] = useState(0n) useEffect(() => { - if (!api) return + if (!api || !compatibilityToken) return - if (!chainInfo?.tokenDecimals) return - - if ( - !api.consts?.proxy?.proxyDepositFactor || - !api.consts?.proxy?.proxyDepositBase || - !api.consts?.balances?.existentialDeposit + const existentialDeposit = (api as TypedApi).constants.Balances.ExistentialDeposit( + compatibilityToken + ) + const depositBase = (api as TypedApi).constants.Proxy.ProxyDepositBase( + compatibilityToken ) - return + const depositFactor = (api as TypedApi).constants.Proxy.ProxyDepositFactor( + compatibilityToken + ) + + if (!existentialDeposit || !depositBase || !depositFactor) return + // if (!chainInfo?.tokenDecimals) return - const reserved = (api.consts?.proxy?.proxyDepositFactor as unknown as BN) - // we only create one proxy here - .muln(1) - .iadd(api.consts?.proxy?.proxyDepositBase as unknown as BN) + // we only create one proxy here + const reserved = depositFactor * 1n + depositBase - // the signer should survive and have at lease the existential deposit + // the signer should survive and have at least the existential deposit // play safe and add the existential deposit twice which should suffice - const survive = (api.consts.balances.existentialDeposit as unknown as BN).muln(2) + const survive = existentialDeposit * 2n setReserved(reserved) - setMin(reserved.add(survive)) + setMin(reserved + survive) // console.log('reserved Pure Creation', formatBnBalance(reserved.add(survive), chainInfo.tokenDecimals, { tokenSymbol: chainInfo?.tokenSymbol, numberAfterComma: 3 })) - }, [api, chainInfo]) + }, [api, chainInfo, compatibilityToken]) return { pureProxyCreationNeededFunds: min, reserved } } diff --git a/packages/ui/src/hooks/useSetIdentityReservedFunds.tsx b/packages/ui/src/hooks/useSetIdentityReservedFunds.tsx index 1390ed96..aa84347c 100644 --- a/packages/ui/src/hooks/useSetIdentityReservedFunds.tsx +++ b/packages/ui/src/hooks/useSetIdentityReservedFunds.tsx @@ -1,55 +1,58 @@ -import { useEffect, useMemo, useState } from 'react' -import { useApi } from '../contexts/ApiContext' -import BN from 'bn.js' -import { formatBnBalance } from '../utils/formatBnBalance' -import { IdentityFields } from '../components/EasySetup/SetIdentity' -import { getByteCount } from '../utils' +// import { useEffect, useMemo, useState } from 'react' +// import { useApi } from '../contexts/ApiContext' +// // import { formatBigIntBalance } from '../utils/formatBnBalance' +// import { IdentityFields } from '../components/EasySetup/SetIdentity' +// import { getByteCount } from '../utils' +// import { TypedApi } from 'polkadot-api' +// import { dotPpl } from '@polkadot-api/descriptors' -export const useSetIdentityReservedFunds = (identityFields?: IdentityFields) => { - const { api, chainInfo } = useApi() - const [reserved, setReserved] = useState(new BN(0)) - const identityfieldNumber = useMemo(() => { - if (!identityFields) return 0 +// export const useSetIdentityReservedFunds = (identityFields?: IdentityFields) => { +// const { api, chainInfo, compatibilityToken } = useApi() +// const [reserved, setReserved] = useState(0n) +// const identityfieldNumber = useMemo(() => { +// if (!identityFields) return 0 - return Object.values(identityFields).filter((value) => !!value).length - }, [identityFields]) +// return Object.values(identityFields).filter((value) => !!value).length +// }, [identityFields]) - const fieldBytes = useMemo(() => { - if (!identityFields) return 0 +// const fieldBytes = useMemo(() => { +// if (!identityFields) return 0 - const allfields = Object.values(identityFields) - .filter((value) => !!value) - .join('') +// const allfields = Object.values(identityFields) +// .filter((value) => !!value) +// .join('') - return getByteCount(allfields) - }, [identityFields]) +// return getByteCount(allfields) +// }, [identityFields]) - useEffect(() => { - if (!api || !identityFields) return +// useEffect(() => { +// if (!api || !identityFields || !compatibilityToken) return - if (!chainInfo?.tokenDecimals) return +// if (!chainInfo?.tokenDecimals) return - const byteDeposit = api.consts?.identity?.byteDeposit as unknown as BN - const fieldDeposit = api.consts?.identity?.fieldDeposit as unknown as BN - const basicDepost = api.consts?.identity?.basicDeposit as unknown as BN +// const byteDeposit = ( +// api as unknown as TypedApi +// ).constants?.Identity?.ByteDeposit(compatibilityToken) - if (!basicDepost || (!fieldDeposit && !byteDeposit)) return +// const basicDeposit = ( +// api as unknown as TypedApi +// ).constants?.Identity.BasicDeposit(compatibilityToken) - const reservedFields = fieldDeposit - ? fieldDeposit.muln(identityfieldNumber) - : byteDeposit.muln(fieldBytes) +// if (!basicDeposit || !byteDeposit) return - const res = reservedFields.add(basicDepost) +// const reservedFields = byteDeposit * BigInt(fieldBytes) - console.log( - 'res', - formatBnBalance(res, chainInfo.tokenDecimals, { - tokenSymbol: chainInfo?.tokenSymbol, - numberAfterComma: 6 - }) - ) - setReserved(res) - }, [api, chainInfo, fieldBytes, identityFields, identityfieldNumber]) +// const res = reservedFields + basicDeposit - return { reserved } -} +// // console.log( +// // 'res', +// // formatBnBalance(res, chainInfo.tokenDecimals, { +// // tokenSymbol: chainInfo?.tokenSymbol, +// // numberAfterComma: 6 +// // }) +// // ) +// setReserved(res) +// }, [api, chainInfo, compatibilityToken, fieldBytes, identityFields, identityfieldNumber]) + +// return { reserved } +// } diff --git a/packages/ui/src/hooks/useSigningCallback.tsx b/packages/ui/src/hooks/useSigningCallback.tsx index e4a5c57e..f32f76fd 100644 --- a/packages/ui/src/hooks/useSigningCallback.tsx +++ b/packages/ui/src/hooks/useSigningCallback.tsx @@ -1,9 +1,9 @@ -import { ISubmittableResult } from '@polkadot/types/types' import { useApi } from '../contexts/ApiContext' import { useGetSubscanLinks } from './useSubscanLink' import { useToasts } from '../contexts/ToastContext' -import { getIncompleteMessage } from '../utils/extinsicErrorChecks' -import { EventRecord } from '@polkadot/types/interfaces' +// import { getIncompleteMessage } from '../utils/extinsicErrorChecks' +import { TxEvent } from 'polkadot-api' +import { JSONprint } from '../utils/jsonPrint' interface Args { onSubmitting?: () => void @@ -17,62 +17,57 @@ export const useSigningCallback = ({ onSubmitting, onSuccess, onFinalized, onErr const { api } = useApi() const { getSubscanExtrinsicLink } = useGetSubscanLinks() - return ({ events = [], status, txHash }: ISubmittableResult) => { - onSubmitting && onSubmitting() - console.log('Transaction status:', status.type) - const link = getSubscanExtrinsicLink(txHash.toHex()) + return { + next: (event: TxEvent) => { + const link = getSubscanExtrinsicLink(event.txHash) - if (status.isBroadcast) { - addToast({ title: `Tx broadcasted`, type: 'loading', link }) - } - - let errorInfo = '' - let toastErrorShown = false - - if (!api) { - return - } + if (event.type === 'broadcasted') { + console.log('Transaction hash:', event.txHash) + onSubmitting && onSubmitting() + addToast({ title: `Tx broadcasted`, type: 'loading', link }) + } - if (status.isInBlock) { - console.log('Included at block hash', status.asInBlock.toHex()) - console.log('Events:') + let errorInfo = '' + let toastErrorShown = false - events.forEach(({ event, phase }) => { - const { data, method, section } = event - console.log('\t', phase.toString(), `: ${section}.${method}`, data.toString()) + if (!api) { + return + } - const incomplete = getIncompleteMessage({ event } as EventRecord) + if (event.type === 'txBestBlocksState' && event.found) { + if (event.dispatchError) { + console.log('DispatchError', event.dispatchError) - // check if multisig or proxy or batch has an error - if (incomplete) { - errorInfo = incomplete + if ( + event.dispatchError.type === 'Module' && + !!(event.dispatchError.value as any)?.value?.type + ) { + errorInfo = (event.dispatchError.value as any)?.value?.type + } } - // if the extrinsic fails alltogether - if (!errorInfo && api.events.system.ExtrinsicFailed.is(event)) { - // extract the data for this event - const dispatchError = data[0] - - // decode the error - if ((dispatchError as any).isModule) { - // for module errors, we have the section indexed, lookup - // (For specific known errors, we can also do a check against the - // api.errors...is(dispatchError.asModule) guard) - const decoded = api.registry.findMetaError((dispatchError as any).asModule) + event.events.forEach((event) => { + console.log(JSONprint(event)) - errorInfo = `${decoded.docs} - ${decoded.section}.${decoded.name}` - } else { - // Other, CannotLookup, BadOrigin, no extra info - errorInfo = dispatchError.toString() + // failed mutlisig + if (event.type === 'Multisig' && event.value.type === 'MultisigExecuted') { + if (event.value.value.result.success === false) { + errorInfo = JSONprint(event.value.value.result.value) + } + } + // interrupted batch + if (event.type === 'Utility' && event.value.type === 'BatchInterrupted') { + errorInfo = event.value.value.error.type } - } - if (api.events.system.ExtrinsicSuccess.is(event)) { - !errorInfo && - !toastErrorShown && - addToast({ title: 'Tx in block', type: 'success', link }) - onSuccess && onSuccess() - } + // if it's a success and there's been no error nested in + if (event.type === 'System' && event.value.type === 'ExtrinsicSuccess') { + !errorInfo && + !toastErrorShown && + addToast({ title: 'Tx in block', type: 'success', link }) + onSuccess && onSuccess() + } + }) if (!!errorInfo && !toastErrorShown) { addToast({ title: errorInfo, type: 'error', link }) @@ -80,11 +75,17 @@ export const useSigningCallback = ({ onSubmitting, onSuccess, onFinalized, onErr // prevent showing several errors toastErrorShown = true } - }) - } else if (status.isFinalized) { - onFinalized && onFinalized() - // !errorInfo && addToast({ title: "Tx finalized", type: "success", link }) - console.log('Finalized block hash', status.asFinalized.toHex()) + } + + if (event.type === 'finalized') { + console.log('finalized:', event) + onFinalized && onFinalized() + } + }, + error: (error: Error) => { + console.error(error) + addToast({ title: error.toString(), type: 'error' }) + onError && onError() } } } diff --git a/packages/ui/src/hooks/useSubscanLink.tsx b/packages/ui/src/hooks/useSubscanLink.tsx index 1aaca1e6..e0b24159 100644 --- a/packages/ui/src/hooks/useSubscanLink.tsx +++ b/packages/ui/src/hooks/useSubscanLink.tsx @@ -1,6 +1,7 @@ import { useCallback } from 'react' import { useNetwork } from '../contexts/NetworkContext' -import { getSubscanExtrinsicLink, getSubscanAccountLink } from '../utils' +import { getSubscanExtrinsicLink } from '../utils/getSubscanExtrinsicLink' +import { getSubscanAccountLink } from '../utils/getSubscanAccountLink' export const useGetSubscanLinks = () => { const { selectedNetworkInfo } = useNetwork() diff --git a/packages/ui/src/hooks/useWalletConnectNamespace.tsx b/packages/ui/src/hooks/useWalletConnectNamespace.tsx index 3644b00c..dc02166e 100644 --- a/packages/ui/src/hooks/useWalletConnectNamespace.tsx +++ b/packages/ui/src/hooks/useWalletConnectNamespace.tsx @@ -1,13 +1,21 @@ -import { useCallback, useMemo } from 'react' +import { useCallback, useEffect, useMemo, useState } from 'react' import { useApi } from '../contexts/ApiContext' export const useGetWalletConnectNamespace = () => { - const { api } = useApi() - const genesisTruncated = useMemo(() => { - if (!api) return '' + const { client } = useApi() + const [genesisHash, setGenesisHash] = useState('') + + useEffect(() => { + if (!client) return + + client + .getChainSpecData() + .then((data) => setGenesisHash(data.genesisHash)) + .catch(console.error) + }, [client]) + + const genesisTruncated = useMemo(() => genesisHash.substring(2, 34), [genesisHash]) - return api.genesisHash.toHex().substring(2, 34) - }, [api]) const namespace = useMemo(() => `polkadot:${genesisTruncated}`, [genesisTruncated]) const getAccountsWithNamespace = useCallback( diff --git a/packages/ui/src/pages/Creation/Summary.tsx b/packages/ui/src/pages/Creation/Summary.tsx index 1b53439a..7782c001 100644 --- a/packages/ui/src/pages/Creation/Summary.tsx +++ b/packages/ui/src/pages/Creation/Summary.tsx @@ -5,10 +5,9 @@ import AccountDisplay from '../../components/AccountDisplay/AccountDisplay' import SignerSelection from '../../components/select/SignerSelection' import { MultiProxy } from '../../contexts/MultiProxyContext' import { useAccounts } from '../../contexts/AccountsContext' -import { getIntersection } from '../../utils' +import { getIntersection } from '../../utils/arrayUtils' import { AccountBadge } from '../../types' -import BN from 'bn.js' -import { formatBnBalance } from '../../utils/formatBnBalance' +import { formatBigIntBalance } from '../../utils/formatBnBalance' import { useApi } from '../../contexts/ApiContext' import { getErrorMessageReservedFunds } from '../../utils/getErrorMessageReservedFunds' @@ -19,8 +18,8 @@ interface Props { name?: string proxyAddress?: string isCreationSummary?: boolean - balanceMin?: BN - reservedBalance: BN + balanceMin?: bigint + reservedBalance: bigint isBalanceError?: boolean selectedMultisig?: MultiProxy['multisigs'][0] // this is only relevant for swaps withProxy?: boolean @@ -52,16 +51,18 @@ const Summary = ({ } const requiredBalanceString = - balanceMin && - formatBnBalance(balanceMin, chainInfo?.tokenDecimals, { - tokenSymbol: chainInfo?.tokenSymbol - }) - - const reservedString = reservedBalance.isZero() - ? '' - : formatBnBalance(reservedBalance, chainInfo?.tokenDecimals, { + (balanceMin !== undefined && + formatBigIntBalance(balanceMin, chainInfo?.tokenDecimals, { tokenSymbol: chainInfo?.tokenSymbol - }) + })) || + '' + + const reservedString = + reservedBalance === 0n + ? '' + : formatBigIntBalance(reservedBalance, chainInfo?.tokenDecimals, { + tokenSymbol: chainInfo?.tokenSymbol + }) const errorWithReservedFunds = getErrorMessageReservedFunds( 'selected signer', diff --git a/packages/ui/src/pages/Creation/index.tsx b/packages/ui/src/pages/Creation/index.tsx index b55f7b05..a75e01e7 100644 --- a/packages/ui/src/pages/Creation/index.tsx +++ b/packages/ui/src/pages/Creation/index.tsx @@ -10,18 +10,18 @@ import NameSelection from './NameSelection' import Summary from './Summary' import { useSigningCallback } from '../../hooks/useSigningCallback' import { createSearchParams, useNavigate, useSearchParams } from 'react-router-dom' -import { useToasts } from '../../contexts/ToastContext' import { useAccountNames } from '../../contexts/AccountNamesContext' import { useCheckBalance } from '../../hooks/useCheckBalance' import { useMultisigProposalNeededFunds } from '../../hooks/useMultisigProposalNeededFunds' import { usePureProxyCreationNeededFunds } from '../../hooks/usePureProxyCreationNeededFunds' -import { useGetSubscanLinks } from '../../hooks/useSubscanLink' import WithProxySelection from './WithProxySelection' import { useGetSortAddress } from '../../hooks/useGetSortAddress' import { useGetMultisigAddress } from '../../contexts/useGetMultisigAddress' import { isEthereumAddress } from '@polkadot/util-crypto' import { getAsMultiTx } from '../../utils/getAsMultiTx' import { useMultiProxy } from '../../contexts/MultiProxyContext' +import { Binary, Enum, Transaction, TypedApi } from 'polkadot-api' +import { dot, MultiAddress } from '@polkadot-api/descriptors' interface Props { className?: string @@ -29,17 +29,17 @@ interface Props { const steps = ['Signatories', 'Threshold & Name', 'Review'] const MultisigCreation = ({ className }: Props) => { - const { getSubscanExtrinsicLink } = useGetSubscanLinks() const [signatories, setSignatories] = useState([]) const [currentStep, setCurrentStep] = useState(0) const isLastStep = useMemo(() => currentStep === steps.length - 1, [currentStep]) - const { api, chainInfo } = useApi() + const { api, chainInfo, compatibilityToken } = useApi() const [threshold, setThreshold] = useState() - const { selectedSigner, selectedAccount, ownAddressList } = useAccounts() + const { selectedAccount, ownAddressList } = useAccounts() const navigate = useNavigate() const [searchParams] = useSearchParams({ creationInProgress: 'false' }) const signCallBack = useSigningCallback({ onSuccess: () => { + setRefetchMultisigTimeoutMinutes(1) navigate({ pathname: '/', search: createSearchParams({ @@ -47,11 +47,11 @@ const MultisigCreation = ({ className }: Props) => { creationInProgress: 'true' }).toString() }) - } + }, + onError: () => setIsSubmitted(false) }) const { setRefetchMultisigTimeoutMinutes } = useMultiProxy() const { getSortAddress } = useGetSortAddress() - const { addToast } = useToasts() const [name, setName] = useState('') const { addName, getNamesWithExtension } = useAccountNames() const [isSubmitted, setIsSubmitted] = useState(false) @@ -63,13 +63,16 @@ const MultisigCreation = ({ className }: Props) => { const { pureProxyCreationNeededFunds, reserved: proxyReserved } = usePureProxyCreationNeededFunds() const supportsProxy = useMemo(() => { - const hasProxyPallet = !!api && !!api.tx.proxy + const hasProxyPallet = !!api && !!(api as TypedApi).tx.Proxy // Moonbeam and moonriver have the pallet, but it's deactivated return hasProxyPallet && !chainInfo?.isEthereum }, [api, chainInfo]) const multiAddress = useGetMultisigAddress(signatories, threshold) const [withProxy, setWithProxy] = useState(false) - const remarkCall = useMemo(() => { + const [remarkCall, setRemarkCall] = useState | undefined>() + const [batchCall, setBatchCall] = useState | undefined>() + + useEffect(() => { if (withProxy) { // this call is only useful if the user does not want a proxy. return @@ -102,19 +105,40 @@ const MultisigCreation = ({ className }: Props) => { const otherSignatories = getSortAddress( signatories.filter((sig) => sig !== selectedAccount.address) ) - const remarkTx = api.tx.system.remark(`Multix creation ${multiAddress}`) - return getAsMultiTx({ api, threshold, otherSignatories, tx: remarkTx }) - }, [api, getSortAddress, multiAddress, selectedAccount, signatories, threshold, withProxy]) + const remarkTx = api.tx.System.remark({ + remark: Binary.fromText(`Multix creation ${multiAddress}`) + }) + const remarkCall = getAsMultiTx({ + api, + threshold, + otherSignatories, + tx: remarkTx, + compatibilityToken + }) + + setRemarkCall(remarkCall) + }, [ + api, + compatibilityToken, + getSortAddress, + multiAddress, + selectedAccount, + signatories, + threshold, + withProxy + ]) + const originalName = useMemo( () => multiAddress && getNamesWithExtension(multiAddress), [getNamesWithExtension, multiAddress] ) - const batchCall = useMemo(() => { + + useEffect(() => { if (!withProxy) { // this batchCall is only useful if the user wants a proxy. return } - if (!api) { + if (!api || !compatibilityToken) { // console.error('api is not ready') return } @@ -141,23 +165,38 @@ const MultisigCreation = ({ className }: Props) => { const otherSignatories = getSortAddress( signatories.filter((sig) => sig !== selectedAccount.address) ) - const proxyTx = api.tx.proxy.createPure('Any', 0, 0) - const multiSigProxyCall = getAsMultiTx({ api, threshold, otherSignatories, tx: proxyTx }) + const proxyTx = (api as TypedApi).tx.Proxy.create_pure({ + proxy_type: Enum('Any'), + delay: 0, + index: 0 + }) + const multiSigProxyCall = getAsMultiTx({ + api, + threshold, + otherSignatories, + tx: proxyTx, + compatibilityToken + }) // Some funds are needed on the multisig for the pure proxy creation - const transferTx = api.tx.balances.transferKeepAlive( - multiAddress, - pureProxyCreationNeededFunds.toString() - ) + const transferTx = (api as TypedApi).tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(multiAddress), + value: pureProxyCreationNeededFunds + }) if (!multiSigProxyCall) { console.error('multiSigProxyCall is undefined in Creation index.tsx') return } - return api.tx.utility.batchAll([transferTx, multiSigProxyCall]) + setBatchCall( + api.tx.Utility.batch_all({ + calls: [transferTx.decodedCall, multiSigProxyCall.decodedCall] + }) + ) }, [ api, + compatibilityToken, getSortAddress, multiAddress, pureProxyCreationNeededFunds, @@ -180,7 +219,7 @@ const MultisigCreation = ({ className }: Props) => { const neededBalance = useMemo( () => withProxy - ? pureProxyCreationNeededFunds.add(multisigProposalNeededFunds) + ? pureProxyCreationNeededFunds + multisigProposalNeededFunds : multisigProposalNeededFunds, [multisigProposalNeededFunds, pureProxyCreationNeededFunds, withProxy] ) @@ -250,7 +289,7 @@ const MultisigCreation = ({ className }: Props) => { } if (!selectedAccount) { - console.error('no selected address') + console.error('no selected account') return } @@ -258,39 +297,13 @@ const MultisigCreation = ({ className }: Props) => { setIsSubmitted(true) remarkCall - .signAndSend( - selectedAccount.address, - { signer: selectedSigner, withSignedTransaction: true }, - signCallBack - ) - .then(() => { - setRefetchMultisigTimeoutMinutes(1) - }) - .catch((error: Error) => { - setIsSubmitted(false) - - addToast({ - title: error.message, - type: 'error', - link: getSubscanExtrinsicLink(remarkCall.hash.toHex()) - }) - }) - }, [ - addName, - addToast, - getSubscanExtrinsicLink, - multiAddress, - name, - remarkCall, - selectedAccount, - selectedSigner, - setRefetchMultisigTimeoutMinutes, - signCallBack - ]) + .signSubmitAndWatch(selectedAccount.polkadotSigner, { at: 'best' }) + .subscribe(signCallBack) + }, [addName, multiAddress, name, remarkCall, selectedAccount, signCallBack]) const handleCreateWithPure = useCallback(async () => { if (!selectedAccount || !batchCall) { - console.error('no selected address') + console.error('no selected signer') return } @@ -298,33 +311,9 @@ const MultisigCreation = ({ className }: Props) => { setIsSubmitted(true) batchCall - .signAndSend( - selectedAccount.address, - { signer: selectedSigner, withSignedTransaction: true }, - signCallBack - ) - .then(() => setRefetchMultisigTimeoutMinutes(1)) - .catch((error: Error) => { - setIsSubmitted(false) - - addToast({ - title: error.message, - type: 'error', - link: getSubscanExtrinsicLink(batchCall.hash.toHex()) - }) - }) - }, [ - addName, - addToast, - batchCall, - getSubscanExtrinsicLink, - multiAddress, - name, - selectedAccount, - selectedSigner, - setRefetchMultisigTimeoutMinutes, - signCallBack - ]) + .signSubmitAndWatch(selectedAccount.polkadotSigner, { at: 'best' }) + .subscribe(signCallBack) + }, [addName, batchCall, multiAddress, name, selectedAccount, signCallBack]) const goNext = useCallback(() => { window.scrollTo(0, 0) @@ -450,7 +439,7 @@ const MultisigCreation = ({ className }: Props) => { threshold={threshold} name={name} isBalanceError={!hasSignerEnoughFunds} - reservedBalance={withProxy ? multisigReserved.add(proxyReserved) : multisigReserved} + reservedBalance={withProxy ? multisigReserved + proxyReserved : multisigReserved} balanceMin={neededBalance} withProxy={withProxy} isSubmittingExtrinsic={isSubmitted} diff --git a/packages/ui/src/pages/Home/HeaderView.tsx b/packages/ui/src/pages/Home/HeaderView.tsx index cf16f2a5..a6d5d9d9 100644 --- a/packages/ui/src/pages/Home/HeaderView.tsx +++ b/packages/ui/src/pages/Home/HeaderView.tsx @@ -13,10 +13,8 @@ const HeaderView = () => { const [searchParams] = useSearchParams() const { selectedMultiProxy, selectedHasProxy, selectedIsWatched } = useMultiProxy() - const selectedAddress = useMemo((): string => { - return String( - selectedHasProxy ? selectedMultiProxy?.proxy : selectedMultiProxy?.multisigs[0].address - ) + const selectedAddress = useMemo(() => { + return selectedHasProxy ? selectedMultiProxy?.proxy : selectedMultiProxy?.multisigs[0].address }, [selectedHasProxy, selectedMultiProxy]) return ( @@ -36,26 +34,28 @@ const HeaderView = () => { - - - - - Balance - - - - - - - - - + {selectedAddress && ( + + + + + Balance + + + + + + + + + + )} ) } diff --git a/packages/ui/src/pages/Home/MultisigView.tsx b/packages/ui/src/pages/Home/MultisigView.tsx index 538edae7..151a77c0 100644 --- a/packages/ui/src/pages/Home/MultisigView.tsx +++ b/packages/ui/src/pages/Home/MultisigView.tsx @@ -6,7 +6,7 @@ import { Chip } from '@mui/material' import { useMultiProxy } from '../../contexts/MultiProxyContext' import MultisigAccordion from './MultisigAccordion' import { Balance } from '../../components/library' -import { camelcaseToString } from '../../utils' +import { camelcaseToString } from '../../utils/camelcasetoString' const MultisigView = () => { const { selectedMultiProxy, selectedHasProxy } = useMultiProxy() diff --git a/packages/ui/src/types.ts b/packages/ui/src/types.ts index e712c47a..96b0b6ac 100644 --- a/packages/ui/src/types.ts +++ b/packages/ui/src/types.ts @@ -1,11 +1,13 @@ -import { GenericCall } from '@polkadot/types' -import { Weight } from '@polkadot/types/interfaces' +import { HexString, SS58String, Transaction } from 'polkadot-api' export interface MultisigStorageInfo { - approvals: string[] - deposit: number - depositor: string - when: { height: number; index: number } + when: { + height: number + index: number + } + deposit: bigint + depositor: SS58String + approvals: SS58String[] } export type IconSizeVariant = 'small' | 'medium' | 'large' @@ -17,11 +19,40 @@ export enum AccountBadge { MULTI = 'multi' } -export type HexString = `0x${string}` - export interface SubmittingCall { - call?: GenericCall + decodedCall?: Transaction['decodedCall'] + call?: Transaction + hash?: HexString method?: string section?: string weight?: Weight } + +export type Weight = { ref_time: bigint; proof_size: bigint } + +export type IdentityJudgement = + | 'Unknown' + | 'FeePaid' + | 'Reasonable' + | 'KnownGood' + | 'OutOfDate' + | 'LowQuality' + | 'Erroneous' + +export interface AccountRegistration { + discord?: string | undefined + display?: string | undefined + displayParent?: string | undefined + email?: string | undefined + github?: string | undefined + image?: string | undefined + legal?: string | undefined + matrix?: string | undefined + other?: Record | undefined + parent?: SS58String | undefined + pgp?: string | undefined + riot?: string | undefined + twitter?: string | undefined + web?: string | undefined + judgements: IdentityJudgement[] +} diff --git a/packages/ui/src/utils/bnUtils.ts b/packages/ui/src/utils/bnUtils.ts index 1fb72cad..39946b98 100644 --- a/packages/ui/src/utils/bnUtils.ts +++ b/packages/ui/src/utils/bnUtils.ts @@ -1,34 +1,29 @@ -// Copyright 2017-2023 @polkadot/react-components authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -import { BN, BN_ONE, BN_TEN, BN_TWO, BN_ZERO } from '@polkadot/util' - const DEFAULT_BITLENGTH = 32 as BitLength export type BitLength = 8 | 16 | 32 | 64 | 128 | 256 -export function getGlobalMaxValue(bitLength?: number): BN { - return BN_TWO.pow(new BN(bitLength || DEFAULT_BITLENGTH)).isub(BN_ONE) +export function getGlobalMaxValue(bitLength?: number): bigint { + return 2n ** BigInt(bitLength || DEFAULT_BITLENGTH) - 1n } export function isValidNumber( - bn: BN, + bn: bigint, bitLength: BitLength, isSigned: boolean, isZeroable: boolean, - maxValue?: BN | null + maxValue?: bigint | null ): boolean { if ( // cannot be negative - (!isSigned && bn.lt(BN_ZERO)) || + (!isSigned && bn < 0n) || // cannot be > than allowed max - bn.gt(getGlobalMaxValue(bitLength)) || + bn > getGlobalMaxValue(bitLength) || // check if 0 and it should be a value - (!isZeroable && bn.isZero()) || + (!isZeroable && bn === 0n) || // check that the bitlengths fit - bn.bitLength() > (bitLength || DEFAULT_BITLENGTH) || + bn.toString(2).length > (bitLength || DEFAULT_BITLENGTH) || // cannot be > max (if specified) - (maxValue && maxValue.gtn(0) && bn.gt(maxValue)) + (maxValue && maxValue > 0n && bn > maxValue) ) { return false } @@ -36,22 +31,22 @@ export function isValidNumber( return true } -export function inputToBn(chainDecimals: number, input: string, isSigned = false): BN { +export function inputToBigInt(chainDecimals: number, input: string, isSigned = false) { const isDecimalValue = input.match(/^(\d+)\.(\d+)$/) let result if (isDecimalValue) { - const div = new BN(input.replace(/\.\d*$/, '')) + const div = BigInt(input.replace(/\.\d*$/, '')) const modString = input.replace(/^\d+\./, '').substring(0, chainDecimals) - const mod = new BN(modString) + const mod = BigInt(modString) - result = div - .mul(BN_TEN.pow(new BN(chainDecimals))) - .add(mod.mul(BN_TEN.pow(new BN(chainDecimals - modString.length)))) + result = + div * 10n ** BigInt(chainDecimals) + mod * 10n ** BigInt(chainDecimals - modString.length) } else { - result = new BN(input.replace(/[^\d]/g, '')) - .mul(BN_TEN.pow(new BN(chainDecimals))) - .muln(isSigned && input.startsWith('-') ? -1 : 1) + result = + BigInt(input.replace(/[^\d]/g, '')) * + 10n ** BigInt(chainDecimals) * + (isSigned && input.startsWith('-') ? -1n : 1n) } return result diff --git a/packages/ui/src/utils/decode.ts b/packages/ui/src/utils/decode.ts deleted file mode 100644 index 76f0e515..00000000 --- a/packages/ui/src/utils/decode.ts +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2017-2022 Parity Technologies (UK) Ltd. -// This file is part of Substrate API Sidecar. -// -// Substrate API Sidecar is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import { Codec, Registry } from '@polkadot/types/types' -import { GenericCall, Struct } from '@polkadot/types' - -export interface ISanitizedCall { - [key: string]: unknown - method: string | IFrameMethod - callIndex?: Uint8Array | string - args: ISanitizedArgs - hash: `0x${string}` -} - -export interface ISanitizedArgs { - call?: ISanitizedCall - calls?: ISanitizedCall[] - [key: string]: unknown -} - -export interface IFrameMethod { - pallet: string - method: string -} - -export function isFrameMethod(thing: unknown): thing is IFrameMethod { - return ( - typeof (thing as IFrameMethod).pallet === 'string' && - typeof (thing as IFrameMethod).method === 'string' - ) -} - -/** - * Helper function for `parseGenericCall`. - * - * @param argsArray array of `Codec` values - * @param registry type registry of the block the call belongs to - */ -export function parseArrayGenericCalls( - argsArray: Codec[], - registry: Registry -): (Codec | ISanitizedCall)[] { - return argsArray.map((argument) => { - if (argument instanceof GenericCall) { - return parseGenericCall(argument as GenericCall, registry) - } - - return argument - }) -} - -/** - * Recursively parse a `GenericCall` in order to label its arguments with - * their param names and give a human friendly method name (opposed to just a - * call index). Parses `GenericCall`s that are nested as arguments. - * - * @param genericCall `GenericCall` - * @param registry type registry of the block the call belongs to - */ -export function parseGenericCall(genericCall: GenericCall, registry: Registry): ISanitizedCall { - const newArgs: any = {} - - // Pull out the struct of arguments to this call - const callArgs = genericCall.get('args') as Struct - - // Make sure callArgs exists and we can access its keys - if (callArgs && callArgs.defKeys) { - // paramName is a string - for (const paramName of callArgs.defKeys) { - const argument = callArgs.get(paramName) - - if (Array.isArray(argument)) { - newArgs[paramName] = parseArrayGenericCalls(argument, registry) - } else if (argument instanceof GenericCall) { - // console.log("callData", argument.toHex()) - // console.log('argument.toHuman', argument.toHuman()) - newArgs['callData'] = argument.toHex() - newArgs[paramName] = parseGenericCall(argument as GenericCall, registry) - } else if ( - argument && - paramName === 'call' && - ['Bytes', 'WrapperKeepOpaque', 'WrapperOpaque'].includes(argument?.toRawType()) - ) { - // multiSig.asMulti.args.call is either an OpaqueCall (Vec), - // WrapperKeepOpaque, or WrapperOpaque that we - // serialize to a polkadot-js Call and parse so it is not a hex blob. - try { - const call = registry.createType('Call', argument.toHex()) - newArgs['callData'] = call.toHex() - newArgs[paramName] = parseGenericCall(call, registry) - } catch { - newArgs[paramName] = argument - } - } else { - newArgs[paramName] = argument - } - } - } - - return { - method: { - pallet: genericCall.section, - method: genericCall.method - }, - args: newArgs, - hash: genericCall.hash.toHex() - } -} diff --git a/packages/ui/src/utils/encodeAccounts.ts b/packages/ui/src/utils/encodeAccounts.ts index 482bae47..0dea90a3 100644 --- a/packages/ui/src/utils/encodeAccounts.ts +++ b/packages/ui/src/utils/encodeAccounts.ts @@ -1,26 +1,34 @@ -import { InjectedAccountWithMeta } from '@polkadot/extension-inject/types' import { encodesubstrateAddress } from './encodeSubstrateAddress' +import { InjectedPolkadotAccount } from 'polkadot-api/pjs-signer' -export const encodeAccounts = ( - accounts: InjectedAccountWithMeta[] | string[], +export function encodeAccounts(accounts: string[], ss58Format: number): string[] +export function encodeAccounts( + accounts: InjectedPolkadotAccount[], ss58Format: number -) => { - return accounts +): InjectedPolkadotAccount[] +export function encodeAccounts(accounts: unknown[], ss58Format: number): unknown[] { + if (!accounts || accounts.length === 0) return [] + + if (typeof accounts[0] === 'string') { + return (accounts as string[]) + .map((account) => encodesubstrateAddress(account, ss58Format)) + .filter(Boolean) as string[] + } + + return (accounts as InjectedPolkadotAccount[]) .map((account) => { - const addressToEncode = typeof account === 'string' ? account : account.address + const addressToEncode = account.address const encodedAddress = encodesubstrateAddress(addressToEncode, ss58Format) - if (typeof account === 'string') { - return encodedAddress + if (!encodedAddress) { + return null } - return encodedAddress - ? ({ - ...account, - address: encodedAddress - } as InjectedAccountWithMeta) - : null + return { + ...account, + address: encodedAddress + } as InjectedPolkadotAccount }) - .filter((acc) => !!acc) as (string | InjectedAccountWithMeta)[] + .filter(Boolean) as InjectedPolkadotAccount[] } diff --git a/packages/ui/src/utils/extinsicErrorChecks.ts b/packages/ui/src/utils/extinsicErrorChecks.ts deleted file mode 100644 index 45286401..00000000 --- a/packages/ui/src/utils/extinsicErrorChecks.ts +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright 2017-2023 @polkadot/react-components authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -// from https://github.com/polkadot-js/apps/blob/97aeb41a593165f9a9b218c1ceecb52172473de3/packages/react-components/src/Status/checks.ts - -import type { DispatchError, DispatchResult, Event, EventRecord } from '@polkadot/types/interfaces' - -type EventCheck = (event: Event) => string | null - -const INCOMPLETE = 'incomplete execution' - -function extractError(result: DispatchResult): string | null { - if (!result) { - return INCOMPLETE - } else if (result.isErr) { - return `error: ${getDispatchError(result.asErr)}` - } - - return null -} - -function batchInterrupted({ data: [index, error] }: Event): string | null { - return `error call #${index.toString()}: ${getDispatchError(error as DispatchError)}` -} - -function dispatchResult({ data: [result] }: Event): string | null { - return extractError(result as DispatchResult) -} - -function dispatchResultCouncil({ data: [, result] }: Event): string | null { - return extractError(result as DispatchResult) -} - -// [approving, timepoint, multisig, callHash, result] -function dispatchResultMulti({ data: [, , , , result] }: Event): string | null { - return extractError(result as DispatchResult) -} - -function xcmAttempted({ data: [outcome] }: Event): string | null { - if (!outcome) { - return INCOMPLETE - } else if ((outcome as any).isIncomplete) { - const [, error] = (outcome as any).asIncomplete - - return `error: ${error.type}` - } - - return null -} - -const collective: Record = { - Executed: dispatchResultCouncil -} - -const xcmPallet: Record = { - Attempted: xcmAttempted -} - -const CHECKS: Record> = { - allianceMotion: collective, - council: collective, - membership: collective, - multisig: { - MultisigExecuted: dispatchResultMulti - }, - polkadotXcm: xcmPallet, - proxy: { - ProxyExecuted: dispatchResult - }, - sudo: { - Sudid: dispatchResult, - SudoAsDone: dispatchResult - }, - technicalCommittee: collective, - utility: { - BatchInterrupted: batchInterrupted, - DispatchedAs: dispatchResult - }, - xcmPallet -} - -export function getDispatchError(dispatchError: DispatchError): string { - let message: string = dispatchError.type - - if (dispatchError.isModule) { - try { - const mod = dispatchError.asModule - const error = dispatchError.registry.findMetaError(mod) - - message = `${error.section} ${error.name}` - } catch { - // swallow - } - } else if (dispatchError.isToken) { - message = `${dispatchError.type} ${dispatchError.asToken.type}` - } - - return message -} - -export function getIncompleteMessage({ event }: EventRecord): string | null { - const { method, section } = event - - return !!CHECKS[section] && !!CHECKS[section][method] && CHECKS[section][method](event) -} diff --git a/packages/ui/src/utils/formatBnBalance.ts b/packages/ui/src/utils/formatBnBalance.ts index a8227a19..51964012 100644 --- a/packages/ui/src/utils/formatBnBalance.ts +++ b/packages/ui/src/utils/formatBnBalance.ts @@ -1,5 +1,3 @@ -import BN from 'bn.js' - interface Options { numberAfterComma?: number withThousandDelimiter?: boolean @@ -15,8 +13,8 @@ function countLeadingZeros(numberString: string): number { return match ? match[0].length : 0 } -export const formatBnBalance = ( - value: BN | string, +export const formatBigIntBalance = ( + value: bigint | string, tokenDecimals = 0, { numberAfterComma = 4, withThousandDelimiter = true, tokenSymbol }: Options ): string => { diff --git a/packages/ui/src/utils/getApproveAsMultiTx.ts b/packages/ui/src/utils/getApproveAsMultiTx.ts index 3b9733d9..0b4e96dc 100644 --- a/packages/ui/src/utils/getApproveAsMultiTx.ts +++ b/packages/ui/src/utils/getApproveAsMultiTx.ts @@ -1,8 +1,9 @@ -import { ApiPromise } from '@polkadot/api' -import { HexString, MultisigStorageInfo } from '../types' +import { FixedSizeBinary, HexString } from 'polkadot-api' +import { ApiType } from '../contexts/ApiContext' +import { MultisigStorageInfo } from '../types' interface Params { - api: ApiPromise + api: ApiType threshold: number otherSignatories: string[] when?: MultisigStorageInfo['when'] @@ -12,8 +13,14 @@ interface Params { export const getApproveAsMultiTx = ({ api, threshold, otherSignatories, hash, when }: Params) => { if (!hash) return - return api.tx.multisig.approveAsMulti(threshold, otherSignatories, when || null, hash, { - refTime: 0, - proofSize: 0 + return api.tx.Multisig.approve_as_multi({ + threshold, + other_signatories: otherSignatories, + maybe_timepoint: when, + call_hash: FixedSizeBinary.fromHex(hash), + max_weight: { + ref_time: 0n, + proof_size: 0n + } }) } diff --git a/packages/ui/src/utils/getAsMultiTx.ts b/packages/ui/src/utils/getAsMultiTx.ts index 0da53f1d..0314b138 100644 --- a/packages/ui/src/utils/getAsMultiTx.ts +++ b/packages/ui/src/utils/getAsMultiTx.ts @@ -1,41 +1,68 @@ -import { ApiPromise } from '@polkadot/api' -import { SubmittableExtrinsic } from '@polkadot/api/types' -import { ISubmittableResult } from '@polkadot/types/types' -import { Weight } from '@polkadot/types/interfaces' -import { HexString, MultisigStorageInfo } from '../types' +import { MultisigStorageInfo, Weight } from '../types' +import { Binary, HexString, Transaction } from 'polkadot-api' +import { ApiType, IApiContext } from '../contexts/ApiContext' interface Params { - api: ApiPromise + api: ApiType threshold: number otherSignatories: string[] - tx?: SubmittableExtrinsic<'promise', ISubmittableResult> | HexString + tx?: Transaction + callData?: HexString weight?: Weight when?: MultisigStorageInfo['when'] + compatibilityToken: IApiContext['compatibilityToken'] } -const LEGACY_ASMULTI_PARAM_LENGTH = 6 +// TODO check if we can do this with papi +// const LEGACY_ASMULTI_PARAM_LENGTH = 6 -export const getAsMultiTx = ({ api, threshold, otherSignatories, tx, weight, when }: Params) => { - if (!tx) return +export const getAsMultiTx = ({ + api, + threshold, + otherSignatories, + callData, + tx, + weight, + when, + compatibilityToken +}: Params): Transaction | undefined => { + // we can pass either the tx, or the callData + if (!callData && !tx) return + if (!compatibilityToken) return - return api.tx.multisig.asMulti.meta.args.length === LEGACY_ASMULTI_PARAM_LENGTH - ? api.tx.multisig.asMulti( - threshold, - otherSignatories, - when || null, - tx, - false, - // @ts-ignore - weight || 0 - ) - : api.tx.multisig.asMulti( - threshold, - otherSignatories, - when || null, - tx, - weight || { - refTime: 0, - proofSize: 0 - } - ) + let txToSend: Transaction | undefined = tx + + if (!txToSend && callData) { + txToSend = api.txFromCallData(Binary.fromHex(callData), compatibilityToken) + } + + if (!txToSend) return + + return api.tx.Multisig.as_multi({ + threshold, + other_signatories: otherSignatories, + maybe_timepoint: when, + max_weight: weight || { proof_size: 0n, ref_time: 0n }, + call: txToSend.decodedCall + }) + // return api.tx.multisig.asMulti.meta.args.length === LEGACY_ASMULTI_PARAM_LENGTH + // ? api.tx.multisig.asMulti( + // threshold, + // otherSignatories, + // when || null, + // tx, + // false, + // // @ts-ignore + // weight || 0 + // ) + // : api.tx.multisig.asMulti( + // threshold, + // otherSignatories, + // when || null, + // tx, + // weight || { + // refTime: 0, + // proofSize: 0 + // } + // ) } diff --git a/packages/ui/src/utils/getDisplayArgs.ts b/packages/ui/src/utils/getDisplayArgs.ts deleted file mode 100644 index cf0d23dd..00000000 --- a/packages/ui/src/utils/getDisplayArgs.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { GenericCall } from '@polkadot/types' -import { AnyTuple } from '@polkadot/types/types' - -export const getDisplayArgs = (call: GenericCall | false | undefined) => - call && call.toHuman().args diff --git a/packages/ui/src/utils/getEncodedCallFromDecodedTx.ts b/packages/ui/src/utils/getEncodedCallFromDecodedTx.ts new file mode 100644 index 00000000..e14c5a54 --- /dev/null +++ b/packages/ui/src/utils/getEncodedCallFromDecodedTx.ts @@ -0,0 +1,15 @@ +import { CompatibilityToken, Transaction } from 'polkadot-api' +import { ApiType } from '../contexts/ApiContext' + +export const getEncodedCallFromDecodedTx = ( + api: ApiType, + decodedTx: Transaction['decodedCall'], + compatibilityToken: CompatibilityToken +) => { + const batch = api.tx.Utility.batch({ + calls: [decodedTx] + }).getEncodedData(compatibilityToken) + + // we slice the 3 bytes from utility batch + return batch.asHex().replace('0x', '').slice(6) +} diff --git a/packages/ui/src/utils/getIdentityName.ts b/packages/ui/src/utils/getIdentityName.ts index 3412f4b9..291cb589 100644 --- a/packages/ui/src/utils/getIdentityName.ts +++ b/packages/ui/src/utils/getIdentityName.ts @@ -1,25 +1,22 @@ -import { DeriveAccountRegistration } from '@polkadot/api-derive/types' +import { IdentityInfo } from '../hooks/useGetIdentity' export interface IdentityNameResults { identityName: string sub: string } -export const getIdentityName = ( - identity: DeriveAccountRegistration | undefined | null -): IdentityNameResults => { +export const getIdentityName = (identity?: IdentityInfo): IdentityNameResults => { if (!identity) return { identityName: '', sub: '' } - if (identity.displayParent && identity.display) { - // when an identity is a sub identity `displayParent` is set - // and `display` get the sub identity + if (identity.sub && identity.display) { + // when an identity is a sub identity, `sub` is set + // and `display` is the parent identity return { - identityName: identity.displayParent, - sub: identity.display + identityName: identity.display, + sub: identity.sub } } else { - // There should not be a `displayParent` without a `display` - // but we can't be too sure. + // There there is no sub. return { identityName: identity.displayParent || identity.display || '', sub: '' diff --git a/packages/ui/src/utils/getPubKeyFromAddress.ts b/packages/ui/src/utils/getPubKeyFromAddress.ts index 7359e1a5..0bf299e9 100644 --- a/packages/ui/src/utils/getPubKeyFromAddress.ts +++ b/packages/ui/src/utils/getPubKeyFromAddress.ts @@ -1,6 +1,6 @@ import { u8aToHex } from '@polkadot/util' import { decodeAddress } from '@polkadot/util-crypto' -import { HexString } from '../types' +import { HexString } from 'polkadot-api' const decode = (address: string) => { // if it's an ethereum address pass just return it diff --git a/packages/ui/src/utils/index.ts b/packages/ui/src/utils/index.ts deleted file mode 100644 index a589e22b..00000000 --- a/packages/ui/src/utils/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -export * from './isValidAddress' -export * from './arrayUtils' -export * from './isProxyCall' -export * from './isTypeBalance' -export * from './isTypeAccount' -export * from './decode' -export * from './getDisplayAddress' -export * from './bnUtils' -export * from './getSubscanExtrinsicLink' -export * from './getSubscanAccountLink' -export * from './getExtrinsicName' -export * from './getDisplayArgs' -export * from './getApproveAsMultiTx' -export * from './getAsMultiTx' -export * from './getErrorMessageReservedFunds' -export * from './extinsicErrorChecks' -export * from './camelcasetoString' -export * from './getByteCount' diff --git a/packages/ui/src/utils/isProxyCall.ts b/packages/ui/src/utils/isProxyCall.ts index e3480d7a..9dd64fd0 100644 --- a/packages/ui/src/utils/isProxyCall.ts +++ b/packages/ui/src/utils/isProxyCall.ts @@ -1 +1 @@ -export const isProxyCall = (name?: string) => !!name && name === 'proxy.proxy' +export const isProxyCall = (name?: string) => !!name && name.toLowerCase() === 'proxy.proxy' diff --git a/packages/ui/src/utils/jsonPrint.ts b/packages/ui/src/utils/jsonPrint.ts new file mode 100644 index 00000000..ff32449b --- /dev/null +++ b/packages/ui/src/utils/jsonPrint.ts @@ -0,0 +1,8 @@ +import { Binary } from 'polkadot-api' + +export const JSONprint = (e: unknown) => + JSON.stringify( + e, + (_, v) => (typeof v === 'bigint' ? v.toString() : v instanceof Binary ? v.asText() : v), + 4 + ) diff --git a/packages/ui/src/utils/txHash.ts b/packages/ui/src/utils/txHash.ts new file mode 100644 index 00000000..20d83bc6 --- /dev/null +++ b/packages/ui/src/utils/txHash.ts @@ -0,0 +1,5 @@ +import { HexString } from 'polkadot-api' +import { Blake2256 } from '@polkadot-api/substrate-bindings' +import { fromHex, toHex } from '@polkadot-api/utils' + +export const hashFromTx = (tx: HexString) => toHex(Blake2256(fromHex(tx))) as HexString diff --git a/packages/ui/src/walletConfigs.ts b/packages/ui/src/walletConfigs.ts new file mode 100644 index 00000000..8920e708 --- /dev/null +++ b/packages/ui/src/walletConfigs.ts @@ -0,0 +1,14 @@ +import type { Config } from '@reactive-dot/core' +import { InjectedWalletProvider } from '@reactive-dot/core/wallets.js' +import { registerDotConnect } from 'dot-connect' +import { DAPP_NAME } from './constants' + +export const config = { + chains: {}, + wallets: [new InjectedWalletProvider({ originName: DAPP_NAME })] +} satisfies Config + +// Register dot-connect custom elements & configure supported wallets +registerDotConnect({ + wallets: config.wallets +}) diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json index e025ab61..761c9028 100644 --- a/packages/ui/tsconfig.json +++ b/packages/ui/tsconfig.json @@ -11,7 +11,7 @@ "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, "module": "esnext", - "moduleResolution": "node", + "moduleResolution": "Bundler", "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, diff --git a/squid/src/types/index.ts b/squid/src/types/index.ts index 6152269b..4f497db6 100644 --- a/squid/src/types/index.ts +++ b/squid/src/types/index.ts @@ -3,6 +3,8 @@ export * as v9130 from './v9130' export * as v9180 from './v9180' export * as v9111 from './v9111' export * as v9420 from './v9420' +export * as v1002006 from './v1002006' +export * as v1003000 from './v1003000' export * as v9190 from './v9190' export * as v9300 from './v9300' export * as v2007 from './v2007' @@ -41,5 +43,7 @@ export * as v9430 from './v9430' export * as v1000000 from './v1000000' export * as v1001000 from './v1001000' export * as v1002000 from './v1002000' +export * as v1002004 from './v1002004' +export * as v1002005 from './v1002005' export * as events from './events' export * as calls from './calls' diff --git a/squid/src/types/multisig/calls.ts b/squid/src/types/multisig/calls.ts index 47fa4228..e463d771 100644 --- a/squid/src/types/multisig/calls.ts +++ b/squid/src/types/multisig/calls.ts @@ -42,6 +42,10 @@ import * as v9430 from '../v9430' import * as v1000000 from '../v1000000' import * as v1001000 from '../v1001000' import * as v1002000 from '../v1002000' +import * as v1002004 from '../v1002004' +import * as v1002005 from '../v1002005' +import * as v1002006 from '../v1002006' +import * as v1003000 from '../v1003000' export const asMulti = { name: 'Multisig.as_multi', @@ -717,6 +721,96 @@ export const asMulti = { maxWeight: v1002000.Weight, }) ), + /** + * See [`Pallet::as_multi`]. + */ + v1002004: new CallType( + 'Multisig.as_multi', + sts.struct({ + threshold: sts.number(), + otherSignatories: sts.array(() => v1002004.AccountId32), + maybeTimepoint: sts.option(() => v1002004.Timepoint), + call: v1002004.Call, + maxWeight: v1002004.Weight, + }) + ), + /** + * See [`Pallet::as_multi`]. + */ + v1002005: new CallType( + 'Multisig.as_multi', + sts.struct({ + threshold: sts.number(), + otherSignatories: sts.array(() => v1002005.AccountId32), + maybeTimepoint: sts.option(() => v1002005.Timepoint), + call: v1002005.Call, + maxWeight: v1002005.Weight, + }) + ), + /** + * See [`Pallet::as_multi`]. + */ + v1002006: new CallType( + 'Multisig.as_multi', + sts.struct({ + threshold: sts.number(), + otherSignatories: sts.array(() => v1002006.AccountId32), + maybeTimepoint: sts.option(() => v1002006.Timepoint), + call: v1002006.Call, + maxWeight: v1002006.Weight, + }) + ), + /** + * Register approval for a dispatch to be made from a deterministic composite account if + * approved by a total of `threshold - 1` of `other_signatories`. + * + * If there are enough, then dispatch the call. + * + * Payment: `DepositBase` will be reserved if this is the first approval, plus + * `threshold` times `DepositFactor`. It is returned once this dispatch happens or + * is cancelled. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is + * not the first approval, then it must be `Some`, with the timepoint (block number and + * transaction index) of the first approval transaction. + * - `call`: The call to be executed. + * + * NOTE: Unless this is the final approval, you will generally want to use + * `approve_as_multi` instead, since it only requires a hash of the call. + * + * Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise + * on success, result is `Ok` and the result from the interior call, if it was executed, + * may be found in the deposited `MultisigExecuted` event. + * + * ## Complexity + * - `O(S + Z + Call)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len. + * - One encode & hash, both of complexity `O(S)`. + * - Up to one binary search and insert (`O(logS + S)`). + * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. + * - One event. + * - The weight of the `call`. + * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit + * taken for its lifetime of `DepositBase + threshold * DepositFactor`. + */ + v1003000: new CallType( + 'Multisig.as_multi', + sts.struct({ + threshold: sts.number(), + otherSignatories: sts.array(() => v1003000.AccountId32), + maybeTimepoint: sts.option(() => v1003000.Timepoint), + call: v1003000.Call, + maxWeight: v1003000.Weight, + }) + ), } export const approveAsMulti = { @@ -1940,4 +2034,55 @@ export const asMultiThreshold1 = { call: v1002000.Call, }) ), + /** + * See [`Pallet::as_multi_threshold_1`]. + */ + v1002004: new CallType( + 'Multisig.as_multi_threshold_1', + sts.struct({ + otherSignatories: sts.array(() => v1002004.AccountId32), + call: v1002004.Call, + }) + ), + /** + * See [`Pallet::as_multi_threshold_1`]. + */ + v1002005: new CallType( + 'Multisig.as_multi_threshold_1', + sts.struct({ + otherSignatories: sts.array(() => v1002005.AccountId32), + call: v1002005.Call, + }) + ), + /** + * See [`Pallet::as_multi_threshold_1`]. + */ + v1002006: new CallType( + 'Multisig.as_multi_threshold_1', + sts.struct({ + otherSignatories: sts.array(() => v1002006.AccountId32), + call: v1002006.Call, + }) + ), + /** + * Immediately dispatch a multi-signature call using a single approval from the caller. + * + * The dispatch origin for this call must be _Signed_. + * + * - `other_signatories`: The accounts (other than the sender) who are part of the + * multi-signature, but do not participate in the approval process. + * - `call`: The call to be executed. + * + * Result is equivalent to the dispatched result. + * + * ## Complexity + * O(Z + C) where Z is the length of the call and C its execution weight. + */ + v1003000: new CallType( + 'Multisig.as_multi_threshold_1', + sts.struct({ + otherSignatories: sts.array(() => v1003000.AccountId32), + call: v1003000.Call, + }) + ), } diff --git a/squid/src/types/proxy/calls.ts b/squid/src/types/proxy/calls.ts index 4c21817a..d260fa3b 100644 --- a/squid/src/types/proxy/calls.ts +++ b/squid/src/types/proxy/calls.ts @@ -42,6 +42,10 @@ import * as v9430 from '../v9430' import * as v1000000 from '../v1000000' import * as v1001000 from '../v1001000' import * as v1002000 from '../v1002000' +import * as v1002004 from '../v1002004' +import * as v1002005 from '../v1002005' +import * as v1002006 from '../v1002006' +import * as v1003000 from '../v1003000' export const proxy = { name: 'Proxy.proxy', @@ -1046,6 +1050,58 @@ export const proxy = { call: v1002000.Call, }) ), + /** + * See [`Pallet::proxy`]. + */ + v1002004: new CallType( + 'Proxy.proxy', + sts.struct({ + real: v1002004.MultiAddress, + forceProxyType: sts.option(() => v1002004.ProxyType), + call: v1002004.Call, + }) + ), + /** + * See [`Pallet::proxy`]. + */ + v1002005: new CallType( + 'Proxy.proxy', + sts.struct({ + real: v1002005.MultiAddress, + forceProxyType: sts.option(() => v1002005.ProxyType), + call: v1002005.Call, + }) + ), + /** + * See [`Pallet::proxy`]. + */ + v1002006: new CallType( + 'Proxy.proxy', + sts.struct({ + real: v1002006.MultiAddress, + forceProxyType: sts.option(() => v1002006.ProxyType), + call: v1002006.Call, + }) + ), + /** + * Dispatch the given `call` from an account that the sender is authorised for through + * `add_proxy`. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. + * - `call`: The call to be made by the `real` account. + */ + v1003000: new CallType( + 'Proxy.proxy', + sts.struct({ + real: v1003000.MultiAddress, + forceProxyType: sts.option(() => v1003000.ProxyType), + call: v1003000.Call, + }) + ), } export const removeProxies = { @@ -1128,4 +1184,45 @@ export const killPure = { extIndex: sts.number(), }) ), + /** + * See [`Pallet::kill_pure`]. + */ + v1002006: new CallType( + 'Proxy.kill_pure', + sts.struct({ + spawner: v1002006.MultiAddress, + proxyType: v1002006.ProxyType, + index: sts.number(), + height: sts.number(), + extIndex: sts.number(), + }) + ), + /** + * Removes a previously spawned pure proxy. + * + * WARNING: **All access to this account will be lost.** Any funds held in it will be + * inaccessible. + * + * Requires a `Signed` origin, and the sender account must have been created by a call to + * `pure` with corresponding parameters. + * + * - `spawner`: The account that originally called `pure` to create this account. + * - `index`: The disambiguation index originally passed to `pure`. Probably `0`. + * - `proxy_type`: The proxy type originally passed to `pure`. + * - `height`: The height of the chain when the call to `pure` was processed. + * - `ext_index`: The extrinsic index in which the call to `pure` was processed. + * + * Fails with `NoPermission` in case the caller is not a previously created pure + * account whose `pure` call has corresponding parameters. + */ + v1003000: new CallType( + 'Proxy.kill_pure', + sts.struct({ + spawner: v1003000.MultiAddress, + proxyType: v1003000.ProxyType, + index: sts.number(), + height: sts.number(), + extIndex: sts.number(), + }) + ), } diff --git a/squid/src/types/proxy/events.ts b/squid/src/types/proxy/events.ts index 2817e4e2..2c773c7a 100644 --- a/squid/src/types/proxy/events.ts +++ b/squid/src/types/proxy/events.ts @@ -6,6 +6,8 @@ import * as v9180 from '../v9180' import * as v9190 from '../v9190' import * as v9300 from '../v9300' import * as v9420 from '../v9420' +import * as v1002006 from '../v1002006' +import * as v1003000 from '../v1003000' export const anonymousCreated = { name: 'Proxy.AnonymousCreated', @@ -90,6 +92,30 @@ export const proxyAdded = { delay: sts.number(), }) ), + /** + * A proxy was added. + */ + v1002006: new EventType( + 'Proxy.ProxyAdded', + sts.struct({ + delegator: v1002006.AccountId32, + delegatee: v1002006.AccountId32, + proxyType: v1002006.ProxyType, + delay: sts.number(), + }) + ), + /** + * A proxy was added. + */ + v1003000: new EventType( + 'Proxy.ProxyAdded', + sts.struct({ + delegator: v1003000.AccountId32, + delegatee: v1003000.AccountId32, + proxyType: v1003000.ProxyType, + delay: sts.number(), + }) + ), } export const proxyRemoved = { @@ -118,6 +144,30 @@ export const proxyRemoved = { delay: sts.number(), }) ), + /** + * A proxy was removed. + */ + v1002006: new EventType( + 'Proxy.ProxyRemoved', + sts.struct({ + delegator: v1002006.AccountId32, + delegatee: v1002006.AccountId32, + proxyType: v1002006.ProxyType, + delay: sts.number(), + }) + ), + /** + * A proxy was removed. + */ + v1003000: new EventType( + 'Proxy.ProxyRemoved', + sts.struct({ + delegator: v1003000.AccountId32, + delegatee: v1003000.AccountId32, + proxyType: v1003000.ProxyType, + delay: sts.number(), + }) + ), } export const pureCreated = { @@ -148,4 +198,30 @@ export const pureCreated = { disambiguationIndex: sts.number(), }) ), + /** + * A pure account has been created by new proxy with given + * disambiguation index and proxy type. + */ + v1002006: new EventType( + 'Proxy.PureCreated', + sts.struct({ + pure: v1002006.AccountId32, + who: v1002006.AccountId32, + proxyType: v1002006.ProxyType, + disambiguationIndex: sts.number(), + }) + ), + /** + * A pure account has been created by new proxy with given + * disambiguation index and proxy type. + */ + v1003000: new EventType( + 'Proxy.PureCreated', + sts.struct({ + pure: v1003000.AccountId32, + who: v1003000.AccountId32, + proxyType: v1003000.ProxyType, + disambiguationIndex: sts.number(), + }) + ), } diff --git a/squid/src/types/v1002004.ts b/squid/src/types/v1002004.ts new file mode 100644 index 00000000..fc5723e3 --- /dev/null +++ b/squid/src/types/v1002004.ts @@ -0,0 +1,12253 @@ +import {sts, Result, Option, Bytes, BitSequence} from './support' + +export const Weight: sts.Type = sts.struct(() => { + return { + refTime: sts.bigint(), + proofSize: sts.bigint(), + } +}) + +export interface Weight { + refTime: bigint + proofSize: bigint +} + +export const Timepoint: sts.Type = sts.struct(() => { + return { + height: sts.number(), + index: sts.number(), + } +}) + +export interface Timepoint { + height: number + index: number +} + +export const AccountId32 = sts.bytes() + +export const Call: sts.Type = sts.closedEnum(() => { + return { + AssetRate: AssetRateCall, + Auctions: AuctionsCall, + Babe: BabeCall, + Balances: BalancesCall, + Beefy: BeefyCall, + Bounties: BountiesCall, + ChildBounties: ChildBountiesCall, + Claims: ClaimsCall, + Configuration: ConfigurationCall, + ConvictionVoting: ConvictionVotingCall, + Coretime: CoretimeCall, + Crowdloan: CrowdloanCall, + ElectionProviderMultiPhase: ElectionProviderMultiPhaseCall, + FastUnstake: FastUnstakeCall, + FellowshipCollective: FellowshipCollectiveCall, + FellowshipReferenda: FellowshipReferendaCall, + Grandpa: GrandpaCall, + Hrmp: HrmpCall, + Identity: IdentityCall, + IdentityMigrator: IdentityMigratorCall, + Indices: IndicesCall, + Initializer: InitializerCall, + MessageQueue: MessageQueueCall, + Multisig: MultisigCall, + Nis: NisCall, + NisCounterpartBalances: NisCounterpartBalancesCall, + NominationPools: NominationPoolsCall, + OnDemandAssignmentProvider: OnDemandAssignmentProviderCall, + ParaInclusion: ParaInclusionCall, + ParaInherent: ParaInherentCall, + Paras: ParasCall, + ParasDisputes: ParasDisputesCall, + ParasShared: ParasSharedCall, + ParasSlashing: ParasSlashingCall, + Preimage: PreimageCall, + Proxy: ProxyCall, + Recovery: RecoveryCall, + Referenda: ReferendaCall, + Registrar: RegistrarCall, + Scheduler: SchedulerCall, + Session: SessionCall, + Slots: SlotsCall, + Society: SocietyCall, + Staking: StakingCall, + System: SystemCall, + Timestamp: TimestampCall, + Treasury: TreasuryCall, + Utility: UtilityCall, + Vesting: VestingCall, + VoterList: VoterListCall, + Whitelist: WhitelistCall, + XcmPallet: XcmPalletCall, + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const XcmPalletCall: sts.Type = sts.closedEnum(() => { + return { + claim_assets: sts.enumStruct({ + assets: VersionedAssets, + beneficiary: VersionedLocation, + }), + execute: sts.enumStruct({ + message: Type_480, + maxWeight: Weight, + }), + force_default_xcm_version: sts.enumStruct({ + maybeXcmVersion: sts.option(() => sts.number()), + }), + force_subscribe_version_notify: sts.enumStruct({ + location: VersionedLocation, + }), + force_suspension: sts.enumStruct({ + suspended: sts.boolean(), + }), + force_unsubscribe_version_notify: sts.enumStruct({ + location: VersionedLocation, + }), + force_xcm_version: sts.enumStruct({ + location: V4Location, + version: sts.number(), + }), + limited_reserve_transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + limited_teleport_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + reserve_transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + }), + send: sts.enumStruct({ + dest: VersionedLocation, + message: VersionedXcm, + }), + teleport_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + }), + transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + transfer_assets_using_type_and_then: sts.enumStruct({ + dest: VersionedLocation, + assets: VersionedAssets, + assetsTransferType: TransferType, + remoteFeesId: VersionedAssetId, + feesTransferType: TransferType, + customXcmOnDest: VersionedXcm, + weightLimit: V3WeightLimit, + }), + } +}) + +export const VersionedAssetId: sts.Type = sts.closedEnum(() => { + return { + V3: V3AssetId, + V4: V4AssetId, + } +}) + +export const V4AssetId: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V4Junctions, + } +}) + +export const V4Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: sts.array(() => V4Junction), + X2: sts.array(() => V4Junction), + X3: sts.array(() => V4Junction), + X4: sts.array(() => V4Junction), + X5: sts.array(() => V4Junction), + X6: sts.array(() => V4Junction), + X7: sts.array(() => V4Junction), + X8: sts.array(() => V4Junction), + } +}) + +export const V4Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: sts.enumStruct({ + length: sts.number(), + data: sts.bytes(), + }), + GlobalConsensus: V4NetworkId, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V3BodyId, + part: V3BodyPart, + }), + } +}) + +export const V3BodyPart: sts.Type = sts.closedEnum(() => { + return { + AtLeastProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Fraction: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Members: sts.enumStruct({ + count: sts.number(), + }), + MoreThanProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Voice: sts.unit(), + } +}) + +export type V3BodyPart = V3BodyPart_AtLeastProportion | V3BodyPart_Fraction | V3BodyPart_Members | V3BodyPart_MoreThanProportion | V3BodyPart_Voice + +export interface V3BodyPart_AtLeastProportion { + __kind: 'AtLeastProportion' + nom: number + denom: number +} + +export interface V3BodyPart_Fraction { + __kind: 'Fraction' + nom: number + denom: number +} + +export interface V3BodyPart_Members { + __kind: 'Members' + count: number +} + +export interface V3BodyPart_MoreThanProportion { + __kind: 'MoreThanProportion' + nom: number + denom: number +} + +export interface V3BodyPart_Voice { + __kind: 'Voice' +} + +export const V3BodyId: sts.Type = sts.closedEnum(() => { + return { + Administration: sts.unit(), + Defense: sts.unit(), + Executive: sts.unit(), + Index: sts.number(), + Judicial: sts.unit(), + Legislative: sts.unit(), + Moniker: sts.bytes(), + Technical: sts.unit(), + Treasury: sts.unit(), + Unit: sts.unit(), + } +}) + +export type V3BodyId = V3BodyId_Administration | V3BodyId_Defense | V3BodyId_Executive | V3BodyId_Index | V3BodyId_Judicial | V3BodyId_Legislative | V3BodyId_Moniker | V3BodyId_Technical | V3BodyId_Treasury | V3BodyId_Unit + +export interface V3BodyId_Administration { + __kind: 'Administration' +} + +export interface V3BodyId_Defense { + __kind: 'Defense' +} + +export interface V3BodyId_Executive { + __kind: 'Executive' +} + +export interface V3BodyId_Index { + __kind: 'Index' + value: number +} + +export interface V3BodyId_Judicial { + __kind: 'Judicial' +} + +export interface V3BodyId_Legislative { + __kind: 'Legislative' +} + +export interface V3BodyId_Moniker { + __kind: 'Moniker' + value: Bytes +} + +export interface V3BodyId_Technical { + __kind: 'Technical' +} + +export interface V3BodyId_Treasury { + __kind: 'Treasury' +} + +export interface V3BodyId_Unit { + __kind: 'Unit' +} + +export const V4NetworkId: sts.Type = sts.closedEnum(() => { + return { + BitcoinCash: sts.unit(), + BitcoinCore: sts.unit(), + ByFork: sts.enumStruct({ + blockNumber: sts.bigint(), + blockHash: sts.bytes(), + }), + ByGenesis: sts.bytes(), + Ethereum: sts.enumStruct({ + chainId: sts.bigint(), + }), + Kusama: sts.unit(), + Polkadot: sts.unit(), + PolkadotBulletin: sts.unit(), + Rococo: sts.unit(), + Westend: sts.unit(), + Wococo: sts.unit(), + } +}) + +export type V4NetworkId = V4NetworkId_BitcoinCash | V4NetworkId_BitcoinCore | V4NetworkId_ByFork | V4NetworkId_ByGenesis | V4NetworkId_Ethereum | V4NetworkId_Kusama | V4NetworkId_Polkadot | V4NetworkId_PolkadotBulletin | V4NetworkId_Rococo | V4NetworkId_Westend | V4NetworkId_Wococo + +export interface V4NetworkId_BitcoinCash { + __kind: 'BitcoinCash' +} + +export interface V4NetworkId_BitcoinCore { + __kind: 'BitcoinCore' +} + +export interface V4NetworkId_ByFork { + __kind: 'ByFork' + blockNumber: bigint + blockHash: Bytes +} + +export interface V4NetworkId_ByGenesis { + __kind: 'ByGenesis' + value: Bytes +} + +export interface V4NetworkId_Ethereum { + __kind: 'Ethereum' + chainId: bigint +} + +export interface V4NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V4NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export interface V4NetworkId_PolkadotBulletin { + __kind: 'PolkadotBulletin' +} + +export interface V4NetworkId_Rococo { + __kind: 'Rococo' +} + +export interface V4NetworkId_Westend { + __kind: 'Westend' +} + +export interface V4NetworkId_Wococo { + __kind: 'Wococo' +} + +export type V4Junction = V4Junction_AccountId32 | V4Junction_AccountIndex64 | V4Junction_AccountKey20 | V4Junction_GeneralIndex | V4Junction_GeneralKey | V4Junction_GlobalConsensus | V4Junction_OnlyChild | V4Junction_PalletInstance | V4Junction_Parachain | V4Junction_Plurality + +export interface V4Junction_AccountId32 { + __kind: 'AccountId32' + network?: (V4NetworkId | undefined) + id: Bytes +} + +export interface V4Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network?: (V4NetworkId | undefined) + index: bigint +} + +export interface V4Junction_AccountKey20 { + __kind: 'AccountKey20' + network?: (V4NetworkId | undefined) + key: Bytes +} + +export interface V4Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V4Junction_GeneralKey { + __kind: 'GeneralKey' + length: number + data: Bytes +} + +export interface V4Junction_GlobalConsensus { + __kind: 'GlobalConsensus' + value: V4NetworkId +} + +export interface V4Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V4Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V4Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V4Junction_Plurality { + __kind: 'Plurality' + id: V3BodyId + part: V3BodyPart +} + +export type V4Junctions = V4Junctions_Here | V4Junctions_X1 | V4Junctions_X2 | V4Junctions_X3 | V4Junctions_X4 | V4Junctions_X5 | V4Junctions_X6 | V4Junctions_X7 | V4Junctions_X8 + +export interface V4Junctions_Here { + __kind: 'Here' +} + +export interface V4Junctions_X1 { + __kind: 'X1' + value: V4Junction[] +} + +export interface V4Junctions_X2 { + __kind: 'X2' + value: V4Junction[] +} + +export interface V4Junctions_X3 { + __kind: 'X3' + value: V4Junction[] +} + +export interface V4Junctions_X4 { + __kind: 'X4' + value: V4Junction[] +} + +export interface V4Junctions_X5 { + __kind: 'X5' + value: V4Junction[] +} + +export interface V4Junctions_X6 { + __kind: 'X6' + value: V4Junction[] +} + +export interface V4Junctions_X7 { + __kind: 'X7' + value: V4Junction[] +} + +export interface V4Junctions_X8 { + __kind: 'X8' + value: V4Junction[] +} + +export interface V4AssetId { + parents: number + interior: V4Junctions +} + +export const V3AssetId: sts.Type = sts.closedEnum(() => { + return { + Abstract: sts.bytes(), + Concrete: V3MultiLocation, + } +}) + +export const V3MultiLocation: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V3Junctions, + } +}) + +export const V3Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: V3Junction, + X2: sts.tuple(() => [V3Junction, V3Junction]), + X3: sts.tuple(() => [V3Junction, V3Junction, V3Junction]), + X4: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction]), + X5: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X6: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X7: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X8: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + } +}) + +export const V3Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: sts.enumStruct({ + length: sts.number(), + data: sts.bytes(), + }), + GlobalConsensus: V3NetworkId, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V3BodyId, + part: V3BodyPart, + }), + } +}) + +export const V3NetworkId: sts.Type = sts.closedEnum(() => { + return { + BitcoinCash: sts.unit(), + BitcoinCore: sts.unit(), + ByFork: sts.enumStruct({ + blockNumber: sts.bigint(), + blockHash: sts.bytes(), + }), + ByGenesis: sts.bytes(), + Ethereum: sts.enumStruct({ + chainId: sts.bigint(), + }), + Kusama: sts.unit(), + Polkadot: sts.unit(), + PolkadotBulletin: sts.unit(), + Rococo: sts.unit(), + Westend: sts.unit(), + Wococo: sts.unit(), + } +}) + +export type V3NetworkId = V3NetworkId_BitcoinCash | V3NetworkId_BitcoinCore | V3NetworkId_ByFork | V3NetworkId_ByGenesis | V3NetworkId_Ethereum | V3NetworkId_Kusama | V3NetworkId_Polkadot | V3NetworkId_PolkadotBulletin | V3NetworkId_Rococo | V3NetworkId_Westend | V3NetworkId_Wococo + +export interface V3NetworkId_BitcoinCash { + __kind: 'BitcoinCash' +} + +export interface V3NetworkId_BitcoinCore { + __kind: 'BitcoinCore' +} + +export interface V3NetworkId_ByFork { + __kind: 'ByFork' + blockNumber: bigint + blockHash: Bytes +} + +export interface V3NetworkId_ByGenesis { + __kind: 'ByGenesis' + value: Bytes +} + +export interface V3NetworkId_Ethereum { + __kind: 'Ethereum' + chainId: bigint +} + +export interface V3NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V3NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export interface V3NetworkId_PolkadotBulletin { + __kind: 'PolkadotBulletin' +} + +export interface V3NetworkId_Rococo { + __kind: 'Rococo' +} + +export interface V3NetworkId_Westend { + __kind: 'Westend' +} + +export interface V3NetworkId_Wococo { + __kind: 'Wococo' +} + +export type V3Junction = V3Junction_AccountId32 | V3Junction_AccountIndex64 | V3Junction_AccountKey20 | V3Junction_GeneralIndex | V3Junction_GeneralKey | V3Junction_GlobalConsensus | V3Junction_OnlyChild | V3Junction_PalletInstance | V3Junction_Parachain | V3Junction_Plurality + +export interface V3Junction_AccountId32 { + __kind: 'AccountId32' + network?: (V3NetworkId | undefined) + id: Bytes +} + +export interface V3Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network?: (V3NetworkId | undefined) + index: bigint +} + +export interface V3Junction_AccountKey20 { + __kind: 'AccountKey20' + network?: (V3NetworkId | undefined) + key: Bytes +} + +export interface V3Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V3Junction_GeneralKey { + __kind: 'GeneralKey' + length: number + data: Bytes +} + +export interface V3Junction_GlobalConsensus { + __kind: 'GlobalConsensus' + value: V3NetworkId +} + +export interface V3Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V3Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V3Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V3Junction_Plurality { + __kind: 'Plurality' + id: V3BodyId + part: V3BodyPart +} + +export type V3Junctions = V3Junctions_Here | V3Junctions_X1 | V3Junctions_X2 | V3Junctions_X3 | V3Junctions_X4 | V3Junctions_X5 | V3Junctions_X6 | V3Junctions_X7 | V3Junctions_X8 + +export interface V3Junctions_Here { + __kind: 'Here' +} + +export interface V3Junctions_X1 { + __kind: 'X1' + value: V3Junction +} + +export interface V3Junctions_X2 { + __kind: 'X2' + value: [V3Junction, V3Junction] +} + +export interface V3Junctions_X3 { + __kind: 'X3' + value: [V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X4 { + __kind: 'X4' + value: [V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X5 { + __kind: 'X5' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X6 { + __kind: 'X6' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X7 { + __kind: 'X7' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X8 { + __kind: 'X8' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3MultiLocation { + parents: number + interior: V3Junctions +} + +export type V3AssetId = V3AssetId_Abstract | V3AssetId_Concrete + +export interface V3AssetId_Abstract { + __kind: 'Abstract' + value: Bytes +} + +export interface V3AssetId_Concrete { + __kind: 'Concrete' + value: V3MultiLocation +} + +export type VersionedAssetId = VersionedAssetId_V3 | VersionedAssetId_V4 + +export interface VersionedAssetId_V3 { + __kind: 'V3' + value: V3AssetId +} + +export interface VersionedAssetId_V4 { + __kind: 'V4' + value: V4AssetId +} + +export const TransferType: sts.Type = sts.closedEnum(() => { + return { + DestinationReserve: sts.unit(), + LocalReserve: sts.unit(), + RemoteReserve: VersionedLocation, + Teleport: sts.unit(), + } +}) + +export type TransferType = TransferType_DestinationReserve | TransferType_LocalReserve | TransferType_RemoteReserve | TransferType_Teleport + +export interface TransferType_DestinationReserve { + __kind: 'DestinationReserve' +} + +export interface TransferType_LocalReserve { + __kind: 'LocalReserve' +} + +export interface TransferType_RemoteReserve { + __kind: 'RemoteReserve' + value: VersionedLocation +} + +export interface TransferType_Teleport { + __kind: 'Teleport' +} + +export type VersionedLocation = VersionedLocation_V2 | VersionedLocation_V3 | VersionedLocation_V4 + +export interface VersionedLocation_V2 { + __kind: 'V2' + value: V2MultiLocation +} + +export interface VersionedLocation_V3 { + __kind: 'V3' + value: V3MultiLocation +} + +export interface VersionedLocation_V4 { + __kind: 'V4' + value: V4Location +} + +export interface V4Location { + parents: number + interior: V4Junctions +} + +export interface V2MultiLocation { + parents: number + interior: V2Junctions +} + +export type V2Junctions = V2Junctions_Here | V2Junctions_X1 | V2Junctions_X2 | V2Junctions_X3 | V2Junctions_X4 | V2Junctions_X5 | V2Junctions_X6 | V2Junctions_X7 | V2Junctions_X8 + +export interface V2Junctions_Here { + __kind: 'Here' +} + +export interface V2Junctions_X1 { + __kind: 'X1' + value: V2Junction +} + +export interface V2Junctions_X2 { + __kind: 'X2' + value: [V2Junction, V2Junction] +} + +export interface V2Junctions_X3 { + __kind: 'X3' + value: [V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X4 { + __kind: 'X4' + value: [V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X5 { + __kind: 'X5' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X6 { + __kind: 'X6' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X7 { + __kind: 'X7' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X8 { + __kind: 'X8' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export type V2Junction = V2Junction_AccountId32 | V2Junction_AccountIndex64 | V2Junction_AccountKey20 | V2Junction_GeneralIndex | V2Junction_GeneralKey | V2Junction_OnlyChild | V2Junction_PalletInstance | V2Junction_Parachain | V2Junction_Plurality + +export interface V2Junction_AccountId32 { + __kind: 'AccountId32' + network: V2NetworkId + id: Bytes +} + +export interface V2Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network: V2NetworkId + index: bigint +} + +export interface V2Junction_AccountKey20 { + __kind: 'AccountKey20' + network: V2NetworkId + key: Bytes +} + +export interface V2Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V2Junction_GeneralKey { + __kind: 'GeneralKey' + value: WeakBoundedVec +} + +export interface V2Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V2Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V2Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V2Junction_Plurality { + __kind: 'Plurality' + id: V2BodyId + part: V2BodyPart +} + +export type V2BodyPart = V2BodyPart_AtLeastProportion | V2BodyPart_Fraction | V2BodyPart_Members | V2BodyPart_MoreThanProportion | V2BodyPart_Voice + +export interface V2BodyPart_AtLeastProportion { + __kind: 'AtLeastProportion' + nom: number + denom: number +} + +export interface V2BodyPart_Fraction { + __kind: 'Fraction' + nom: number + denom: number +} + +export interface V2BodyPart_Members { + __kind: 'Members' + count: number +} + +export interface V2BodyPart_MoreThanProportion { + __kind: 'MoreThanProportion' + nom: number + denom: number +} + +export interface V2BodyPart_Voice { + __kind: 'Voice' +} + +export type V2BodyId = V2BodyId_Administration | V2BodyId_Defense | V2BodyId_Executive | V2BodyId_Index | V2BodyId_Judicial | V2BodyId_Legislative | V2BodyId_Named | V2BodyId_Technical | V2BodyId_Treasury | V2BodyId_Unit + +export interface V2BodyId_Administration { + __kind: 'Administration' +} + +export interface V2BodyId_Defense { + __kind: 'Defense' +} + +export interface V2BodyId_Executive { + __kind: 'Executive' +} + +export interface V2BodyId_Index { + __kind: 'Index' + value: number +} + +export interface V2BodyId_Judicial { + __kind: 'Judicial' +} + +export interface V2BodyId_Legislative { + __kind: 'Legislative' +} + +export interface V2BodyId_Named { + __kind: 'Named' + value: WeakBoundedVec +} + +export interface V2BodyId_Technical { + __kind: 'Technical' +} + +export interface V2BodyId_Treasury { + __kind: 'Treasury' +} + +export interface V2BodyId_Unit { + __kind: 'Unit' +} + +export type WeakBoundedVec = Bytes + +export type V2NetworkId = V2NetworkId_Any | V2NetworkId_Kusama | V2NetworkId_Named | V2NetworkId_Polkadot + +export interface V2NetworkId_Any { + __kind: 'Any' +} + +export interface V2NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V2NetworkId_Named { + __kind: 'Named' + value: WeakBoundedVec +} + +export interface V2NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export const VersionedXcm: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => V2Instruction), + V3: sts.array(() => V3Instruction), + V4: sts.array(() => V4Instruction), + } +}) + +export const V4Instruction: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V4Location, + BurnAsset: sts.array(() => V4Asset), + BuyExecution: sts.enumStruct({ + fees: V4Asset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + ticket: V4Location, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V4AssetFilter, + beneficiary: V4Location, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + DescendOrigin: V4Junctions, + ExchangeAsset: sts.enumStruct({ + give: V4AssetFilter, + want: sts.array(() => V4Asset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V4Asset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V4Location), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V4NetworkId, + destination: V4Junctions, + xcm: sts.array(() => V4Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V4AssetFilter, + reserve: V4Location, + xcm: sts.array(() => V4Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V4Asset, + unlocker: V4Location, + }), + NoteUnlockable: sts.enumStruct({ + asset: V4Asset, + owner: V4Location, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V4QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V4Response, + maxWeight: Weight, + querier: sts.option(() => V4Location), + }), + ReceiveTeleportedAsset: sts.array(() => V4Asset), + RefundSurplus: sts.unit(), + ReportError: V4QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V4QueryResponseInfo, + assets: V4AssetFilter, + }), + ReportTransactStatus: V4QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V4Asset, + locker: V4Location, + }), + ReserveAssetDeposited: sts.array(() => V4Asset), + SetAppendix: sts.array(() => V4Instruction), + SetErrorHandler: sts.array(() => V4Instruction), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + beneficiary: V4Location, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V4Junction, + UnlockAsset: sts.enumStruct({ + asset: V4Asset, + target: V4Location, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V4Location), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V4Asset), + } +}) + +export const DoubleEncoded: sts.Type = sts.struct(() => { + return { + encoded: sts.bytes(), + } +}) + +export interface DoubleEncoded { + encoded: Bytes +} + +export const V2OriginKind: sts.Type = sts.closedEnum(() => { + return { + Native: sts.unit(), + SovereignAccount: sts.unit(), + Superuser: sts.unit(), + Xcm: sts.unit(), + } +}) + +export type V2OriginKind = V2OriginKind_Native | V2OriginKind_SovereignAccount | V2OriginKind_Superuser | V2OriginKind_Xcm + +export interface V2OriginKind_Native { + __kind: 'Native' +} + +export interface V2OriginKind_SovereignAccount { + __kind: 'SovereignAccount' +} + +export interface V2OriginKind_Superuser { + __kind: 'Superuser' +} + +export interface V2OriginKind_Xcm { + __kind: 'Xcm' +} + +export const V4Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V4Asset), + DispatchResult: V3MaybeErrorCode, + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + Null: sts.unit(), + PalletsInfo: sts.array(() => V4PalletInfo), + Version: sts.number(), + } +}) + +export const V4PalletInfo: sts.Type = sts.struct(() => { + return { + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + major: sts.number(), + minor: sts.number(), + patch: sts.number(), + } +}) + +export interface V4PalletInfo { + index: number + name: Bytes + moduleName: Bytes + major: number + minor: number + patch: number +} + +export type V4Response = V4Response_Assets | V4Response_DispatchResult | V4Response_ExecutionResult | V4Response_Null | V4Response_PalletsInfo | V4Response_Version + +export interface V4Response_Assets { + __kind: 'Assets' + value: V4Asset[] +} + +export interface V4Response_DispatchResult { + __kind: 'DispatchResult' + value: V3MaybeErrorCode +} + +export interface V4Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V3Error] | undefined) +} + +export interface V4Response_Null { + __kind: 'Null' +} + +export interface V4Response_PalletsInfo { + __kind: 'PalletsInfo' + value: V4PalletInfo[] +} + +export interface V4Response_Version { + __kind: 'Version' + value: number +} + +export type V3Error = V3Error_AssetNotFound | V3Error_BadOrigin | V3Error_Barrier | V3Error_DestinationUnsupported | V3Error_ExceedsMaxMessageSize | V3Error_ExceedsStackLimit | V3Error_ExpectationFalse | V3Error_ExportError | V3Error_FailedToDecode | V3Error_FailedToTransactAsset | V3Error_FeesNotMet | V3Error_HoldingWouldOverflow | V3Error_InvalidLocation | V3Error_LocationCannotHold | V3Error_LocationFull | V3Error_LocationNotInvertible | V3Error_LockError | V3Error_MaxWeightInvalid | V3Error_NameMismatch | V3Error_NoDeal | V3Error_NoPermission | V3Error_NotDepositable | V3Error_NotHoldingFees | V3Error_NotWithdrawable | V3Error_Overflow | V3Error_PalletNotFound | V3Error_ReanchorFailed | V3Error_TooExpensive | V3Error_Transport | V3Error_Trap | V3Error_Unanchored | V3Error_UnhandledXcmVersion | V3Error_Unimplemented | V3Error_UnknownClaim | V3Error_Unroutable | V3Error_UntrustedReserveLocation | V3Error_UntrustedTeleportLocation | V3Error_VersionIncompatible | V3Error_WeightLimitReached | V3Error_WeightNotComputable + +export interface V3Error_AssetNotFound { + __kind: 'AssetNotFound' +} + +export interface V3Error_BadOrigin { + __kind: 'BadOrigin' +} + +export interface V3Error_Barrier { + __kind: 'Barrier' +} + +export interface V3Error_DestinationUnsupported { + __kind: 'DestinationUnsupported' +} + +export interface V3Error_ExceedsMaxMessageSize { + __kind: 'ExceedsMaxMessageSize' +} + +export interface V3Error_ExceedsStackLimit { + __kind: 'ExceedsStackLimit' +} + +export interface V3Error_ExpectationFalse { + __kind: 'ExpectationFalse' +} + +export interface V3Error_ExportError { + __kind: 'ExportError' +} + +export interface V3Error_FailedToDecode { + __kind: 'FailedToDecode' +} + +export interface V3Error_FailedToTransactAsset { + __kind: 'FailedToTransactAsset' +} + +export interface V3Error_FeesNotMet { + __kind: 'FeesNotMet' +} + +export interface V3Error_HoldingWouldOverflow { + __kind: 'HoldingWouldOverflow' +} + +export interface V3Error_InvalidLocation { + __kind: 'InvalidLocation' +} + +export interface V3Error_LocationCannotHold { + __kind: 'LocationCannotHold' +} + +export interface V3Error_LocationFull { + __kind: 'LocationFull' +} + +export interface V3Error_LocationNotInvertible { + __kind: 'LocationNotInvertible' +} + +export interface V3Error_LockError { + __kind: 'LockError' +} + +export interface V3Error_MaxWeightInvalid { + __kind: 'MaxWeightInvalid' +} + +export interface V3Error_NameMismatch { + __kind: 'NameMismatch' +} + +export interface V3Error_NoDeal { + __kind: 'NoDeal' +} + +export interface V3Error_NoPermission { + __kind: 'NoPermission' +} + +export interface V3Error_NotDepositable { + __kind: 'NotDepositable' +} + +export interface V3Error_NotHoldingFees { + __kind: 'NotHoldingFees' +} + +export interface V3Error_NotWithdrawable { + __kind: 'NotWithdrawable' +} + +export interface V3Error_Overflow { + __kind: 'Overflow' +} + +export interface V3Error_PalletNotFound { + __kind: 'PalletNotFound' +} + +export interface V3Error_ReanchorFailed { + __kind: 'ReanchorFailed' +} + +export interface V3Error_TooExpensive { + __kind: 'TooExpensive' +} + +export interface V3Error_Transport { + __kind: 'Transport' +} + +export interface V3Error_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V3Error_Unanchored { + __kind: 'Unanchored' +} + +export interface V3Error_UnhandledXcmVersion { + __kind: 'UnhandledXcmVersion' +} + +export interface V3Error_Unimplemented { + __kind: 'Unimplemented' +} + +export interface V3Error_UnknownClaim { + __kind: 'UnknownClaim' +} + +export interface V3Error_Unroutable { + __kind: 'Unroutable' +} + +export interface V3Error_UntrustedReserveLocation { + __kind: 'UntrustedReserveLocation' +} + +export interface V3Error_UntrustedTeleportLocation { + __kind: 'UntrustedTeleportLocation' +} + +export interface V3Error_VersionIncompatible { + __kind: 'VersionIncompatible' +} + +export interface V3Error_WeightLimitReached { + __kind: 'WeightLimitReached' + value: Weight +} + +export interface V3Error_WeightNotComputable { + __kind: 'WeightNotComputable' +} + +export type V3MaybeErrorCode = V3MaybeErrorCode_Error | V3MaybeErrorCode_Success | V3MaybeErrorCode_TruncatedError + +export interface V3MaybeErrorCode_Error { + __kind: 'Error' + value: Bytes +} + +export interface V3MaybeErrorCode_Success { + __kind: 'Success' +} + +export interface V3MaybeErrorCode_TruncatedError { + __kind: 'TruncatedError' + value: Bytes +} + +export interface V4Asset { + id: V4AssetId + fun: V4Fungibility +} + +export type V4Fungibility = V4Fungibility_Fungible | V4Fungibility_NonFungible + +export interface V4Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V4Fungibility_NonFungible { + __kind: 'NonFungible' + value: V4AssetInstance +} + +export type V4AssetInstance = V4AssetInstance_Array16 | V4AssetInstance_Array32 | V4AssetInstance_Array4 | V4AssetInstance_Array8 | V4AssetInstance_Index | V4AssetInstance_Undefined + +export interface V4AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V4AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V4AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V4AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V4AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V4AssetInstance_Undefined { + __kind: 'Undefined' +} + +export const V4QueryResponseInfo: sts.Type = sts.struct(() => { + return { + destination: V4Location, + queryId: sts.bigint(), + maxWeight: Weight, + } +}) + +export interface V4QueryResponseInfo { + destination: V4Location + queryId: bigint + maxWeight: Weight +} + +export const V3MaybeErrorCode: sts.Type = sts.closedEnum(() => { + return { + Error: sts.bytes(), + Success: sts.unit(), + TruncatedError: sts.bytes(), + } +}) + +export const V3Error: sts.Type = sts.closedEnum(() => { + return { + AssetNotFound: sts.unit(), + BadOrigin: sts.unit(), + Barrier: sts.unit(), + DestinationUnsupported: sts.unit(), + ExceedsMaxMessageSize: sts.unit(), + ExceedsStackLimit: sts.unit(), + ExpectationFalse: sts.unit(), + ExportError: sts.unit(), + FailedToDecode: sts.unit(), + FailedToTransactAsset: sts.unit(), + FeesNotMet: sts.unit(), + HoldingWouldOverflow: sts.unit(), + InvalidLocation: sts.unit(), + LocationCannotHold: sts.unit(), + LocationFull: sts.unit(), + LocationNotInvertible: sts.unit(), + LockError: sts.unit(), + MaxWeightInvalid: sts.unit(), + NameMismatch: sts.unit(), + NoDeal: sts.unit(), + NoPermission: sts.unit(), + NotDepositable: sts.unit(), + NotHoldingFees: sts.unit(), + NotWithdrawable: sts.unit(), + Overflow: sts.unit(), + PalletNotFound: sts.unit(), + ReanchorFailed: sts.unit(), + TooExpensive: sts.unit(), + Transport: sts.unit(), + Trap: sts.bigint(), + Unanchored: sts.unit(), + UnhandledXcmVersion: sts.unit(), + Unimplemented: sts.unit(), + UnknownClaim: sts.unit(), + Unroutable: sts.unit(), + UntrustedReserveLocation: sts.unit(), + UntrustedTeleportLocation: sts.unit(), + VersionIncompatible: sts.unit(), + WeightLimitReached: Weight, + WeightNotComputable: sts.unit(), + } +}) + +export const V4AssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V4Asset), + Wild: V4WildAsset, + } +}) + +export const V4WildAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllCounted: sts.number(), + AllOf: sts.enumStruct({ + id: V4AssetId, + fun: V4WildFungibility, + }), + AllOfCounted: sts.enumStruct({ + id: V4AssetId, + fun: V4WildFungibility, + count: sts.number(), + }), + } +}) + +export const V4WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V4WildFungibility = V4WildFungibility_Fungible | V4WildFungibility_NonFungible + +export interface V4WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V4WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export type V4WildAsset = V4WildAsset_All | V4WildAsset_AllCounted | V4WildAsset_AllOf | V4WildAsset_AllOfCounted + +export interface V4WildAsset_All { + __kind: 'All' +} + +export interface V4WildAsset_AllCounted { + __kind: 'AllCounted' + value: number +} + +export interface V4WildAsset_AllOf { + __kind: 'AllOf' + id: V4AssetId + fun: V4WildFungibility +} + +export interface V4WildAsset_AllOfCounted { + __kind: 'AllOfCounted' + id: V4AssetId + fun: V4WildFungibility + count: number +} + +export type V4AssetFilter = V4AssetFilter_Definite | V4AssetFilter_Wild + +export interface V4AssetFilter_Definite { + __kind: 'Definite' + value: V4Asset[] +} + +export interface V4AssetFilter_Wild { + __kind: 'Wild' + value: V4WildAsset +} + +export const V4Asset: sts.Type = sts.struct(() => { + return { + id: V4AssetId, + fun: V4Fungibility, + } +}) + +export const V4Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V4AssetInstance, + } +}) + +export const V4AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V4Instruction = V4Instruction_AliasOrigin | V4Instruction_BurnAsset | V4Instruction_BuyExecution | V4Instruction_ClaimAsset | V4Instruction_ClearError | V4Instruction_ClearOrigin | V4Instruction_ClearTopic | V4Instruction_ClearTransactStatus | V4Instruction_DepositAsset | V4Instruction_DepositReserveAsset | V4Instruction_DescendOrigin | V4Instruction_ExchangeAsset | V4Instruction_ExpectAsset | V4Instruction_ExpectError | V4Instruction_ExpectOrigin | V4Instruction_ExpectPallet | V4Instruction_ExpectTransactStatus | V4Instruction_ExportMessage | V4Instruction_HrmpChannelAccepted | V4Instruction_HrmpChannelClosing | V4Instruction_HrmpNewChannelOpenRequest | V4Instruction_InitiateReserveWithdraw | V4Instruction_InitiateTeleport | V4Instruction_LockAsset | V4Instruction_NoteUnlockable | V4Instruction_QueryPallet | V4Instruction_QueryResponse | V4Instruction_ReceiveTeleportedAsset | V4Instruction_RefundSurplus | V4Instruction_ReportError | V4Instruction_ReportHolding | V4Instruction_ReportTransactStatus | V4Instruction_RequestUnlock | V4Instruction_ReserveAssetDeposited | V4Instruction_SetAppendix | V4Instruction_SetErrorHandler | V4Instruction_SetFeesMode | V4Instruction_SetTopic | V4Instruction_SubscribeVersion | V4Instruction_Transact | V4Instruction_TransferAsset | V4Instruction_TransferReserveAsset | V4Instruction_Trap | V4Instruction_UniversalOrigin | V4Instruction_UnlockAsset | V4Instruction_UnpaidExecution | V4Instruction_UnsubscribeVersion | V4Instruction_WithdrawAsset + +export interface V4Instruction_AliasOrigin { + __kind: 'AliasOrigin' + value: V4Location +} + +export interface V4Instruction_BurnAsset { + __kind: 'BurnAsset' + value: V4Asset[] +} + +export interface V4Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V4Asset + weightLimit: V3WeightLimit +} + +export interface V4Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V4Asset[] + ticket: V4Location +} + +export interface V4Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V4Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V4Instruction_ClearTopic { + __kind: 'ClearTopic' +} + +export interface V4Instruction_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface V4Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V4AssetFilter + beneficiary: V4Location +} + +export interface V4Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V4Junctions +} + +export interface V4Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V4AssetFilter + want: V4Asset[] + maximal: boolean +} + +export interface V4Instruction_ExpectAsset { + __kind: 'ExpectAsset' + value: V4Asset[] +} + +export interface V4Instruction_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface V4Instruction_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V4Location | undefined) +} + +export interface V4Instruction_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface V4Instruction_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface V4Instruction_ExportMessage { + __kind: 'ExportMessage' + network: V4NetworkId + destination: V4Junctions + xcm: V4Instruction[] +} + +export interface V4Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V4Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V4Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V4Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V4AssetFilter + reserve: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_LockAsset { + __kind: 'LockAsset' + asset: V4Asset + unlocker: V4Location +} + +export interface V4Instruction_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V4Asset + owner: V4Location +} + +export interface V4Instruction_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V4QueryResponseInfo +} + +export interface V4Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V4Response + maxWeight: Weight + querier?: (V4Location | undefined) +} + +export interface V4Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V4Asset[] +} + +export interface V4Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V4Instruction_ReportError { + __kind: 'ReportError' + value: V4QueryResponseInfo +} + +export interface V4Instruction_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V4QueryResponseInfo + assets: V4AssetFilter +} + +export interface V4Instruction_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V4QueryResponseInfo +} + +export interface V4Instruction_RequestUnlock { + __kind: 'RequestUnlock' + asset: V4Asset + locker: V4Location +} + +export interface V4Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V4Asset[] +} + +export interface V4Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V4Instruction[] +} + +export interface V4Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V4Instruction[] +} + +export interface V4Instruction_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface V4Instruction_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface V4Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface V4Instruction_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: DoubleEncoded +} + +export interface V4Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V4Asset[] + beneficiary: V4Location +} + +export interface V4Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V4Asset[] + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V4Instruction_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V4Junction +} + +export interface V4Instruction_UnlockAsset { + __kind: 'UnlockAsset' + asset: V4Asset + target: V4Location +} + +export interface V4Instruction_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V4Location | undefined) +} + +export interface V4Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V4Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V4Asset[] +} + +export type V3WeightLimit = V3WeightLimit_Limited | V3WeightLimit_Unlimited + +export interface V3WeightLimit_Limited { + __kind: 'Limited' + value: Weight +} + +export interface V3WeightLimit_Unlimited { + __kind: 'Unlimited' +} + +export const V3Instruction: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V3MultiLocation, + BurnAsset: sts.array(() => V3MultiAsset), + BuyExecution: sts.enumStruct({ + fees: V3MultiAsset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + ticket: V3MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + beneficiary: V3MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + DescendOrigin: V3Junctions, + ExchangeAsset: sts.enumStruct({ + give: V3MultiAssetFilter, + want: sts.array(() => V3MultiAsset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V3MultiAsset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V3MultiLocation), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V3NetworkId, + destination: V3Junctions, + xcm: sts.array(() => V3Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V3MultiAssetFilter, + reserve: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V3MultiAsset, + unlocker: V3MultiLocation, + }), + NoteUnlockable: sts.enumStruct({ + asset: V3MultiAsset, + owner: V3MultiLocation, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V3QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V3Response, + maxWeight: Weight, + querier: sts.option(() => V3MultiLocation), + }), + ReceiveTeleportedAsset: sts.array(() => V3MultiAsset), + RefundSurplus: sts.unit(), + ReportError: V3QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V3QueryResponseInfo, + assets: V3MultiAssetFilter, + }), + ReportTransactStatus: V3QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V3MultiAsset, + locker: V3MultiLocation, + }), + ReserveAssetDeposited: sts.array(() => V3MultiAsset), + SetAppendix: sts.array(() => V3Instruction), + SetErrorHandler: sts.array(() => V3Instruction), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + beneficiary: V3MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V3Junction, + UnlockAsset: sts.enumStruct({ + asset: V3MultiAsset, + target: V3MultiLocation, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V3MultiLocation), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V3MultiAsset), + } +}) + +export const V3Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V3MultiAsset), + DispatchResult: V3MaybeErrorCode, + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + Null: sts.unit(), + PalletsInfo: sts.array(() => V3PalletInfo), + Version: sts.number(), + } +}) + +export const V3PalletInfo: sts.Type = sts.struct(() => { + return { + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + major: sts.number(), + minor: sts.number(), + patch: sts.number(), + } +}) + +export interface V3PalletInfo { + index: number + name: Bytes + moduleName: Bytes + major: number + minor: number + patch: number +} + +export type V3Response = V3Response_Assets | V3Response_DispatchResult | V3Response_ExecutionResult | V3Response_Null | V3Response_PalletsInfo | V3Response_Version + +export interface V3Response_Assets { + __kind: 'Assets' + value: V3MultiAsset[] +} + +export interface V3Response_DispatchResult { + __kind: 'DispatchResult' + value: V3MaybeErrorCode +} + +export interface V3Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V3Error] | undefined) +} + +export interface V3Response_Null { + __kind: 'Null' +} + +export interface V3Response_PalletsInfo { + __kind: 'PalletsInfo' + value: V3PalletInfo[] +} + +export interface V3Response_Version { + __kind: 'Version' + value: number +} + +export interface V3MultiAsset { + id: V3AssetId + fun: V3Fungibility +} + +export type V3Fungibility = V3Fungibility_Fungible | V3Fungibility_NonFungible + +export interface V3Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V3Fungibility_NonFungible { + __kind: 'NonFungible' + value: V3AssetInstance +} + +export type V3AssetInstance = V3AssetInstance_Array16 | V3AssetInstance_Array32 | V3AssetInstance_Array4 | V3AssetInstance_Array8 | V3AssetInstance_Index | V3AssetInstance_Undefined + +export interface V3AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V3AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V3AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V3AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V3AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V3AssetInstance_Undefined { + __kind: 'Undefined' +} + +export const V3QueryResponseInfo: sts.Type = sts.struct(() => { + return { + destination: V3MultiLocation, + queryId: sts.bigint(), + maxWeight: Weight, + } +}) + +export interface V3QueryResponseInfo { + destination: V3MultiLocation + queryId: bigint + maxWeight: Weight +} + +export const V3MultiAssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V3MultiAsset), + Wild: V3WildMultiAsset, + } +}) + +export const V3WildMultiAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllCounted: sts.number(), + AllOf: sts.enumStruct({ + id: V3AssetId, + fun: V3WildFungibility, + }), + AllOfCounted: sts.enumStruct({ + id: V3AssetId, + fun: V3WildFungibility, + count: sts.number(), + }), + } +}) + +export const V3WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V3WildFungibility = V3WildFungibility_Fungible | V3WildFungibility_NonFungible + +export interface V3WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V3WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export type V3WildMultiAsset = V3WildMultiAsset_All | V3WildMultiAsset_AllCounted | V3WildMultiAsset_AllOf | V3WildMultiAsset_AllOfCounted + +export interface V3WildMultiAsset_All { + __kind: 'All' +} + +export interface V3WildMultiAsset_AllCounted { + __kind: 'AllCounted' + value: number +} + +export interface V3WildMultiAsset_AllOf { + __kind: 'AllOf' + id: V3AssetId + fun: V3WildFungibility +} + +export interface V3WildMultiAsset_AllOfCounted { + __kind: 'AllOfCounted' + id: V3AssetId + fun: V3WildFungibility + count: number +} + +export type V3MultiAssetFilter = V3MultiAssetFilter_Definite | V3MultiAssetFilter_Wild + +export interface V3MultiAssetFilter_Definite { + __kind: 'Definite' + value: V3MultiAsset[] +} + +export interface V3MultiAssetFilter_Wild { + __kind: 'Wild' + value: V3WildMultiAsset +} + +export const V3MultiAsset: sts.Type = sts.struct(() => { + return { + id: V3AssetId, + fun: V3Fungibility, + } +}) + +export const V3Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V3AssetInstance, + } +}) + +export const V3AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V3Instruction = V3Instruction_AliasOrigin | V3Instruction_BurnAsset | V3Instruction_BuyExecution | V3Instruction_ClaimAsset | V3Instruction_ClearError | V3Instruction_ClearOrigin | V3Instruction_ClearTopic | V3Instruction_ClearTransactStatus | V3Instruction_DepositAsset | V3Instruction_DepositReserveAsset | V3Instruction_DescendOrigin | V3Instruction_ExchangeAsset | V3Instruction_ExpectAsset | V3Instruction_ExpectError | V3Instruction_ExpectOrigin | V3Instruction_ExpectPallet | V3Instruction_ExpectTransactStatus | V3Instruction_ExportMessage | V3Instruction_HrmpChannelAccepted | V3Instruction_HrmpChannelClosing | V3Instruction_HrmpNewChannelOpenRequest | V3Instruction_InitiateReserveWithdraw | V3Instruction_InitiateTeleport | V3Instruction_LockAsset | V3Instruction_NoteUnlockable | V3Instruction_QueryPallet | V3Instruction_QueryResponse | V3Instruction_ReceiveTeleportedAsset | V3Instruction_RefundSurplus | V3Instruction_ReportError | V3Instruction_ReportHolding | V3Instruction_ReportTransactStatus | V3Instruction_RequestUnlock | V3Instruction_ReserveAssetDeposited | V3Instruction_SetAppendix | V3Instruction_SetErrorHandler | V3Instruction_SetFeesMode | V3Instruction_SetTopic | V3Instruction_SubscribeVersion | V3Instruction_Transact | V3Instruction_TransferAsset | V3Instruction_TransferReserveAsset | V3Instruction_Trap | V3Instruction_UniversalOrigin | V3Instruction_UnlockAsset | V3Instruction_UnpaidExecution | V3Instruction_UnsubscribeVersion | V3Instruction_WithdrawAsset + +export interface V3Instruction_AliasOrigin { + __kind: 'AliasOrigin' + value: V3MultiLocation +} + +export interface V3Instruction_BurnAsset { + __kind: 'BurnAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V3MultiAsset + weightLimit: V3WeightLimit +} + +export interface V3Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V3MultiAsset[] + ticket: V3MultiLocation +} + +export interface V3Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V3Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V3Instruction_ClearTopic { + __kind: 'ClearTopic' +} + +export interface V3Instruction_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface V3Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V3MultiAssetFilter + beneficiary: V3MultiLocation +} + +export interface V3Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V3Junctions +} + +export interface V3Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V3MultiAssetFilter + want: V3MultiAsset[] + maximal: boolean +} + +export interface V3Instruction_ExpectAsset { + __kind: 'ExpectAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface V3Instruction_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface V3Instruction_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface V3Instruction_ExportMessage { + __kind: 'ExportMessage' + network: V3NetworkId + destination: V3Junctions + xcm: V3Instruction[] +} + +export interface V3Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V3Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V3Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V3Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V3MultiAssetFilter + reserve: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_LockAsset { + __kind: 'LockAsset' + asset: V3MultiAsset + unlocker: V3MultiLocation +} + +export interface V3Instruction_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V3MultiAsset + owner: V3MultiLocation +} + +export interface V3Instruction_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V3QueryResponseInfo +} + +export interface V3Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V3Response + maxWeight: Weight + querier?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V3Instruction_ReportError { + __kind: 'ReportError' + value: V3QueryResponseInfo +} + +export interface V3Instruction_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V3QueryResponseInfo + assets: V3MultiAssetFilter +} + +export interface V3Instruction_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V3QueryResponseInfo +} + +export interface V3Instruction_RequestUnlock { + __kind: 'RequestUnlock' + asset: V3MultiAsset + locker: V3MultiLocation +} + +export interface V3Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V3MultiAsset[] +} + +export interface V3Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V3Instruction[] +} + +export interface V3Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V3Instruction[] +} + +export interface V3Instruction_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface V3Instruction_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface V3Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface V3Instruction_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: DoubleEncoded +} + +export interface V3Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V3MultiAsset[] + beneficiary: V3MultiLocation +} + +export interface V3Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V3MultiAsset[] + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V3Instruction_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V3Junction +} + +export interface V3Instruction_UnlockAsset { + __kind: 'UnlockAsset' + asset: V3MultiAsset + target: V3MultiLocation +} + +export interface V3Instruction_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V3Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V3MultiAsset[] +} + +export const V2Instruction: sts.Type = sts.closedEnum(() => { + return { + BuyExecution: sts.enumStruct({ + fees: V2MultiAsset, + weightLimit: V2WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + ticket: V2MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + beneficiary: V2MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + DescendOrigin: V2Junctions, + ExchangeAsset: sts.enumStruct({ + give: V2MultiAssetFilter, + receive: sts.array(() => V2MultiAsset), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V2MultiAssetFilter, + reserve: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V2MultiAssetFilter, + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + QueryHolding: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + assets: V2MultiAssetFilter, + maxResponseWeight: sts.bigint(), + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V2Response, + maxWeight: sts.bigint(), + }), + ReceiveTeleportedAsset: sts.array(() => V2MultiAsset), + RefundSurplus: sts.unit(), + ReportError: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + maxResponseWeight: sts.bigint(), + }), + ReserveAssetDeposited: sts.array(() => V2MultiAsset), + SetAppendix: sts.array(() => V2Instruction), + SetErrorHandler: sts.array(() => V2Instruction), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: sts.bigint(), + }), + Transact: sts.enumStruct({ + originType: V2OriginKind, + requireWeightAtMost: sts.bigint(), + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + beneficiary: V2MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + Trap: sts.bigint(), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V2MultiAsset), + } +}) + +export const V2Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V2MultiAsset), + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V2Error])), + Null: sts.unit(), + Version: sts.number(), + } +}) + +export const V2Error: sts.Type = sts.closedEnum(() => { + return { + AssetNotFound: sts.unit(), + BadOrigin: sts.unit(), + Barrier: sts.unit(), + DestinationUnsupported: sts.unit(), + ExceedsMaxMessageSize: sts.unit(), + FailedToDecode: sts.unit(), + FailedToTransactAsset: sts.unit(), + InvalidLocation: sts.unit(), + LocationCannotHold: sts.unit(), + MaxWeightInvalid: sts.unit(), + MultiLocationFull: sts.unit(), + MultiLocationNotInvertible: sts.unit(), + NotHoldingFees: sts.unit(), + NotWithdrawable: sts.unit(), + Overflow: sts.unit(), + TooExpensive: sts.unit(), + Transport: sts.unit(), + Trap: sts.bigint(), + UnhandledXcmVersion: sts.unit(), + Unimplemented: sts.unit(), + UnknownClaim: sts.unit(), + Unroutable: sts.unit(), + UntrustedReserveLocation: sts.unit(), + UntrustedTeleportLocation: sts.unit(), + WeightLimitReached: sts.bigint(), + WeightNotComputable: sts.unit(), + } +}) + +export type V2Error = V2Error_AssetNotFound | V2Error_BadOrigin | V2Error_Barrier | V2Error_DestinationUnsupported | V2Error_ExceedsMaxMessageSize | V2Error_FailedToDecode | V2Error_FailedToTransactAsset | V2Error_InvalidLocation | V2Error_LocationCannotHold | V2Error_MaxWeightInvalid | V2Error_MultiLocationFull | V2Error_MultiLocationNotInvertible | V2Error_NotHoldingFees | V2Error_NotWithdrawable | V2Error_Overflow | V2Error_TooExpensive | V2Error_Transport | V2Error_Trap | V2Error_UnhandledXcmVersion | V2Error_Unimplemented | V2Error_UnknownClaim | V2Error_Unroutable | V2Error_UntrustedReserveLocation | V2Error_UntrustedTeleportLocation | V2Error_WeightLimitReached | V2Error_WeightNotComputable + +export interface V2Error_AssetNotFound { + __kind: 'AssetNotFound' +} + +export interface V2Error_BadOrigin { + __kind: 'BadOrigin' +} + +export interface V2Error_Barrier { + __kind: 'Barrier' +} + +export interface V2Error_DestinationUnsupported { + __kind: 'DestinationUnsupported' +} + +export interface V2Error_ExceedsMaxMessageSize { + __kind: 'ExceedsMaxMessageSize' +} + +export interface V2Error_FailedToDecode { + __kind: 'FailedToDecode' +} + +export interface V2Error_FailedToTransactAsset { + __kind: 'FailedToTransactAsset' +} + +export interface V2Error_InvalidLocation { + __kind: 'InvalidLocation' +} + +export interface V2Error_LocationCannotHold { + __kind: 'LocationCannotHold' +} + +export interface V2Error_MaxWeightInvalid { + __kind: 'MaxWeightInvalid' +} + +export interface V2Error_MultiLocationFull { + __kind: 'MultiLocationFull' +} + +export interface V2Error_MultiLocationNotInvertible { + __kind: 'MultiLocationNotInvertible' +} + +export interface V2Error_NotHoldingFees { + __kind: 'NotHoldingFees' +} + +export interface V2Error_NotWithdrawable { + __kind: 'NotWithdrawable' +} + +export interface V2Error_Overflow { + __kind: 'Overflow' +} + +export interface V2Error_TooExpensive { + __kind: 'TooExpensive' +} + +export interface V2Error_Transport { + __kind: 'Transport' +} + +export interface V2Error_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V2Error_UnhandledXcmVersion { + __kind: 'UnhandledXcmVersion' +} + +export interface V2Error_Unimplemented { + __kind: 'Unimplemented' +} + +export interface V2Error_UnknownClaim { + __kind: 'UnknownClaim' +} + +export interface V2Error_Unroutable { + __kind: 'Unroutable' +} + +export interface V2Error_UntrustedReserveLocation { + __kind: 'UntrustedReserveLocation' +} + +export interface V2Error_UntrustedTeleportLocation { + __kind: 'UntrustedTeleportLocation' +} + +export interface V2Error_WeightLimitReached { + __kind: 'WeightLimitReached' + value: bigint +} + +export interface V2Error_WeightNotComputable { + __kind: 'WeightNotComputable' +} + +export type V2Response = V2Response_Assets | V2Response_ExecutionResult | V2Response_Null | V2Response_Version + +export interface V2Response_Assets { + __kind: 'Assets' + value: V2MultiAsset[] +} + +export interface V2Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V2Error] | undefined) +} + +export interface V2Response_Null { + __kind: 'Null' +} + +export interface V2Response_Version { + __kind: 'Version' + value: number +} + +export interface V2MultiAsset { + id: V2AssetId + fun: V2Fungibility +} + +export type V2Fungibility = V2Fungibility_Fungible | V2Fungibility_NonFungible + +export interface V2Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V2Fungibility_NonFungible { + __kind: 'NonFungible' + value: V2AssetInstance +} + +export type V2AssetInstance = V2AssetInstance_Array16 | V2AssetInstance_Array32 | V2AssetInstance_Array4 | V2AssetInstance_Array8 | V2AssetInstance_Blob | V2AssetInstance_Index | V2AssetInstance_Undefined + +export interface V2AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V2AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V2AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V2AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V2AssetInstance_Blob { + __kind: 'Blob' + value: Bytes +} + +export interface V2AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V2AssetInstance_Undefined { + __kind: 'Undefined' +} + +export type V2AssetId = V2AssetId_Abstract | V2AssetId_Concrete + +export interface V2AssetId_Abstract { + __kind: 'Abstract' + value: Bytes +} + +export interface V2AssetId_Concrete { + __kind: 'Concrete' + value: V2MultiLocation +} + +export const V2Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: V2Junction, + X2: sts.tuple(() => [V2Junction, V2Junction]), + X3: sts.tuple(() => [V2Junction, V2Junction, V2Junction]), + X4: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction]), + X5: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X6: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X7: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X8: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + } +}) + +export const V2Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: V2NetworkId, + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: V2NetworkId, + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: V2NetworkId, + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: WeakBoundedVec, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V2BodyId, + part: V2BodyPart, + }), + } +}) + +export const V2BodyPart: sts.Type = sts.closedEnum(() => { + return { + AtLeastProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Fraction: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Members: sts.enumStruct({ + count: sts.number(), + }), + MoreThanProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Voice: sts.unit(), + } +}) + +export const V2BodyId: sts.Type = sts.closedEnum(() => { + return { + Administration: sts.unit(), + Defense: sts.unit(), + Executive: sts.unit(), + Index: sts.number(), + Judicial: sts.unit(), + Legislative: sts.unit(), + Named: WeakBoundedVec, + Technical: sts.unit(), + Treasury: sts.unit(), + Unit: sts.unit(), + } +}) + +export const WeakBoundedVec = sts.bytes() + +export const V2NetworkId: sts.Type = sts.closedEnum(() => { + return { + Any: sts.unit(), + Kusama: sts.unit(), + Named: WeakBoundedVec, + Polkadot: sts.unit(), + } +}) + +export const V2MultiAssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V2MultiAsset), + Wild: V2WildMultiAsset, + } +}) + +export const V2WildMultiAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllOf: sts.enumStruct({ + id: V2AssetId, + fun: V2WildFungibility, + }), + } +}) + +export const V2WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V2WildFungibility = V2WildFungibility_Fungible | V2WildFungibility_NonFungible + +export interface V2WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V2WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export const V2AssetId: sts.Type = sts.closedEnum(() => { + return { + Abstract: sts.bytes(), + Concrete: V2MultiLocation, + } +}) + +export type V2WildMultiAsset = V2WildMultiAsset_All | V2WildMultiAsset_AllOf + +export interface V2WildMultiAsset_All { + __kind: 'All' +} + +export interface V2WildMultiAsset_AllOf { + __kind: 'AllOf' + id: V2AssetId + fun: V2WildFungibility +} + +export type V2MultiAssetFilter = V2MultiAssetFilter_Definite | V2MultiAssetFilter_Wild + +export interface V2MultiAssetFilter_Definite { + __kind: 'Definite' + value: V2MultiAsset[] +} + +export interface V2MultiAssetFilter_Wild { + __kind: 'Wild' + value: V2WildMultiAsset +} + +export const V2MultiLocation: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V2Junctions, + } +}) + +export const V2WeightLimit: sts.Type = sts.closedEnum(() => { + return { + Limited: sts.bigint(), + Unlimited: sts.unit(), + } +}) + +export type V2WeightLimit = V2WeightLimit_Limited | V2WeightLimit_Unlimited + +export interface V2WeightLimit_Limited { + __kind: 'Limited' + value: bigint +} + +export interface V2WeightLimit_Unlimited { + __kind: 'Unlimited' +} + +export const V2MultiAsset: sts.Type = sts.struct(() => { + return { + id: V2AssetId, + fun: V2Fungibility, + } +}) + +export const V2Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V2AssetInstance, + } +}) + +export const V2AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Blob: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V2Instruction = V2Instruction_BuyExecution | V2Instruction_ClaimAsset | V2Instruction_ClearError | V2Instruction_ClearOrigin | V2Instruction_DepositAsset | V2Instruction_DepositReserveAsset | V2Instruction_DescendOrigin | V2Instruction_ExchangeAsset | V2Instruction_HrmpChannelAccepted | V2Instruction_HrmpChannelClosing | V2Instruction_HrmpNewChannelOpenRequest | V2Instruction_InitiateReserveWithdraw | V2Instruction_InitiateTeleport | V2Instruction_QueryHolding | V2Instruction_QueryResponse | V2Instruction_ReceiveTeleportedAsset | V2Instruction_RefundSurplus | V2Instruction_ReportError | V2Instruction_ReserveAssetDeposited | V2Instruction_SetAppendix | V2Instruction_SetErrorHandler | V2Instruction_SubscribeVersion | V2Instruction_Transact | V2Instruction_TransferAsset | V2Instruction_TransferReserveAsset | V2Instruction_Trap | V2Instruction_UnsubscribeVersion | V2Instruction_WithdrawAsset + +export interface V2Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V2MultiAsset + weightLimit: V2WeightLimit +} + +export interface V2Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V2MultiAsset[] + ticket: V2MultiLocation +} + +export interface V2Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V2Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V2Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V2MultiAssetFilter + maxAssets: number + beneficiary: V2MultiLocation +} + +export interface V2Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V2MultiAssetFilter + maxAssets: number + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V2Junctions +} + +export interface V2Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V2MultiAssetFilter + receive: V2MultiAsset[] +} + +export interface V2Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V2Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V2Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V2Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V2MultiAssetFilter + reserve: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V2MultiAssetFilter + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_QueryHolding { + __kind: 'QueryHolding' + queryId: bigint + dest: V2MultiLocation + assets: V2MultiAssetFilter + maxResponseWeight: bigint +} + +export interface V2Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V2Response + maxWeight: bigint +} + +export interface V2Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V2MultiAsset[] +} + +export interface V2Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V2Instruction_ReportError { + __kind: 'ReportError' + queryId: bigint + dest: V2MultiLocation + maxResponseWeight: bigint +} + +export interface V2Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V2MultiAsset[] +} + +export interface V2Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V2Instruction[] +} + +export interface V2Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V2Instruction[] +} + +export interface V2Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: bigint +} + +export interface V2Instruction_Transact { + __kind: 'Transact' + originType: V2OriginKind + requireWeightAtMost: bigint + call: DoubleEncoded +} + +export interface V2Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V2MultiAsset[] + beneficiary: V2MultiLocation +} + +export interface V2Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V2MultiAsset[] + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V2Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V2Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V2MultiAsset[] +} + +export type VersionedXcm = VersionedXcm_V2 | VersionedXcm_V3 | VersionedXcm_V4 + +export interface VersionedXcm_V2 { + __kind: 'V2' + value: V2Instruction[] +} + +export interface VersionedXcm_V3 { + __kind: 'V3' + value: V3Instruction[] +} + +export interface VersionedXcm_V4 { + __kind: 'V4' + value: V4Instruction[] +} + +export const V3WeightLimit: sts.Type = sts.closedEnum(() => { + return { + Limited: Weight, + Unlimited: sts.unit(), + } +}) + +export const V4Location: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V4Junctions, + } +}) + +export const Type_480: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => Type_483), + V3: sts.array(() => Type_487), + V4: sts.array(() => Type_490), + } +}) + +export const Type_490: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V4Location, + BurnAsset: sts.array(() => V4Asset), + BuyExecution: sts.enumStruct({ + fees: V4Asset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + ticket: V4Location, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V4AssetFilter, + beneficiary: V4Location, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + DescendOrigin: V4Junctions, + ExchangeAsset: sts.enumStruct({ + give: V4AssetFilter, + want: sts.array(() => V4Asset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V4Asset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V4Location), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V4NetworkId, + destination: V4Junctions, + xcm: sts.array(() => V4Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V4AssetFilter, + reserve: V4Location, + xcm: sts.array(() => V4Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V4Asset, + unlocker: V4Location, + }), + NoteUnlockable: sts.enumStruct({ + asset: V4Asset, + owner: V4Location, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V4QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V4Response, + maxWeight: Weight, + querier: sts.option(() => V4Location), + }), + ReceiveTeleportedAsset: sts.array(() => V4Asset), + RefundSurplus: sts.unit(), + ReportError: V4QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V4QueryResponseInfo, + assets: V4AssetFilter, + }), + ReportTransactStatus: V4QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V4Asset, + locker: V4Location, + }), + ReserveAssetDeposited: sts.array(() => V4Asset), + SetAppendix: sts.array(() => Type_490), + SetErrorHandler: sts.array(() => Type_490), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: Type_484, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + beneficiary: V4Location, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V4Junction, + UnlockAsset: sts.enumStruct({ + asset: V4Asset, + target: V4Location, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V4Location), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V4Asset), + } +}) + +export const Type_484: sts.Type = sts.struct(() => { + return { + encoded: sts.bytes(), + } +}) + +export interface Type_484 { + encoded: Bytes +} + +export type Type_490 = Type_490_AliasOrigin | Type_490_BurnAsset | Type_490_BuyExecution | Type_490_ClaimAsset | Type_490_ClearError | Type_490_ClearOrigin | Type_490_ClearTopic | Type_490_ClearTransactStatus | Type_490_DepositAsset | Type_490_DepositReserveAsset | Type_490_DescendOrigin | Type_490_ExchangeAsset | Type_490_ExpectAsset | Type_490_ExpectError | Type_490_ExpectOrigin | Type_490_ExpectPallet | Type_490_ExpectTransactStatus | Type_490_ExportMessage | Type_490_HrmpChannelAccepted | Type_490_HrmpChannelClosing | Type_490_HrmpNewChannelOpenRequest | Type_490_InitiateReserveWithdraw | Type_490_InitiateTeleport | Type_490_LockAsset | Type_490_NoteUnlockable | Type_490_QueryPallet | Type_490_QueryResponse | Type_490_ReceiveTeleportedAsset | Type_490_RefundSurplus | Type_490_ReportError | Type_490_ReportHolding | Type_490_ReportTransactStatus | Type_490_RequestUnlock | Type_490_ReserveAssetDeposited | Type_490_SetAppendix | Type_490_SetErrorHandler | Type_490_SetFeesMode | Type_490_SetTopic | Type_490_SubscribeVersion | Type_490_Transact | Type_490_TransferAsset | Type_490_TransferReserveAsset | Type_490_Trap | Type_490_UniversalOrigin | Type_490_UnlockAsset | Type_490_UnpaidExecution | Type_490_UnsubscribeVersion | Type_490_WithdrawAsset + +export interface Type_490_AliasOrigin { + __kind: 'AliasOrigin' + value: V4Location +} + +export interface Type_490_BurnAsset { + __kind: 'BurnAsset' + value: V4Asset[] +} + +export interface Type_490_BuyExecution { + __kind: 'BuyExecution' + fees: V4Asset + weightLimit: V3WeightLimit +} + +export interface Type_490_ClaimAsset { + __kind: 'ClaimAsset' + assets: V4Asset[] + ticket: V4Location +} + +export interface Type_490_ClearError { + __kind: 'ClearError' +} + +export interface Type_490_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_490_ClearTopic { + __kind: 'ClearTopic' +} + +export interface Type_490_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface Type_490_DepositAsset { + __kind: 'DepositAsset' + assets: V4AssetFilter + beneficiary: V4Location +} + +export interface Type_490_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_490_DescendOrigin { + __kind: 'DescendOrigin' + value: V4Junctions +} + +export interface Type_490_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V4AssetFilter + want: V4Asset[] + maximal: boolean +} + +export interface Type_490_ExpectAsset { + __kind: 'ExpectAsset' + value: V4Asset[] +} + +export interface Type_490_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface Type_490_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V4Location | undefined) +} + +export interface Type_490_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface Type_490_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface Type_490_ExportMessage { + __kind: 'ExportMessage' + network: V4NetworkId + destination: V4Junctions + xcm: V4Instruction[] +} + +export interface Type_490_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_490_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_490_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_490_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V4AssetFilter + reserve: V4Location + xcm: V4Instruction[] +} + +export interface Type_490_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_490_LockAsset { + __kind: 'LockAsset' + asset: V4Asset + unlocker: V4Location +} + +export interface Type_490_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V4Asset + owner: V4Location +} + +export interface Type_490_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V4QueryResponseInfo +} + +export interface Type_490_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V4Response + maxWeight: Weight + querier?: (V4Location | undefined) +} + +export interface Type_490_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V4Asset[] +} + +export interface Type_490_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_490_ReportError { + __kind: 'ReportError' + value: V4QueryResponseInfo +} + +export interface Type_490_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V4QueryResponseInfo + assets: V4AssetFilter +} + +export interface Type_490_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V4QueryResponseInfo +} + +export interface Type_490_RequestUnlock { + __kind: 'RequestUnlock' + asset: V4Asset + locker: V4Location +} + +export interface Type_490_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V4Asset[] +} + +export interface Type_490_SetAppendix { + __kind: 'SetAppendix' + value: Type_490[] +} + +export interface Type_490_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_490[] +} + +export interface Type_490_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface Type_490_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface Type_490_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface Type_490_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: Type_484 +} + +export interface Type_490_TransferAsset { + __kind: 'TransferAsset' + assets: V4Asset[] + beneficiary: V4Location +} + +export interface Type_490_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V4Asset[] + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_490_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_490_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V4Junction +} + +export interface Type_490_UnlockAsset { + __kind: 'UnlockAsset' + asset: V4Asset + target: V4Location +} + +export interface Type_490_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V4Location | undefined) +} + +export interface Type_490_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_490_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V4Asset[] +} + +export const Type_487: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V3MultiLocation, + BurnAsset: sts.array(() => V3MultiAsset), + BuyExecution: sts.enumStruct({ + fees: V3MultiAsset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + ticket: V3MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + beneficiary: V3MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + DescendOrigin: V3Junctions, + ExchangeAsset: sts.enumStruct({ + give: V3MultiAssetFilter, + want: sts.array(() => V3MultiAsset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V3MultiAsset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V3MultiLocation), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V3NetworkId, + destination: V3Junctions, + xcm: sts.array(() => V3Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V3MultiAssetFilter, + reserve: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V3MultiAsset, + unlocker: V3MultiLocation, + }), + NoteUnlockable: sts.enumStruct({ + asset: V3MultiAsset, + owner: V3MultiLocation, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V3QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V3Response, + maxWeight: Weight, + querier: sts.option(() => V3MultiLocation), + }), + ReceiveTeleportedAsset: sts.array(() => V3MultiAsset), + RefundSurplus: sts.unit(), + ReportError: V3QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V3QueryResponseInfo, + assets: V3MultiAssetFilter, + }), + ReportTransactStatus: V3QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V3MultiAsset, + locker: V3MultiLocation, + }), + ReserveAssetDeposited: sts.array(() => V3MultiAsset), + SetAppendix: sts.array(() => Type_487), + SetErrorHandler: sts.array(() => Type_487), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: Type_484, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + beneficiary: V3MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V3Junction, + UnlockAsset: sts.enumStruct({ + asset: V3MultiAsset, + target: V3MultiLocation, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V3MultiLocation), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V3MultiAsset), + } +}) + +export type Type_487 = Type_487_AliasOrigin | Type_487_BurnAsset | Type_487_BuyExecution | Type_487_ClaimAsset | Type_487_ClearError | Type_487_ClearOrigin | Type_487_ClearTopic | Type_487_ClearTransactStatus | Type_487_DepositAsset | Type_487_DepositReserveAsset | Type_487_DescendOrigin | Type_487_ExchangeAsset | Type_487_ExpectAsset | Type_487_ExpectError | Type_487_ExpectOrigin | Type_487_ExpectPallet | Type_487_ExpectTransactStatus | Type_487_ExportMessage | Type_487_HrmpChannelAccepted | Type_487_HrmpChannelClosing | Type_487_HrmpNewChannelOpenRequest | Type_487_InitiateReserveWithdraw | Type_487_InitiateTeleport | Type_487_LockAsset | Type_487_NoteUnlockable | Type_487_QueryPallet | Type_487_QueryResponse | Type_487_ReceiveTeleportedAsset | Type_487_RefundSurplus | Type_487_ReportError | Type_487_ReportHolding | Type_487_ReportTransactStatus | Type_487_RequestUnlock | Type_487_ReserveAssetDeposited | Type_487_SetAppendix | Type_487_SetErrorHandler | Type_487_SetFeesMode | Type_487_SetTopic | Type_487_SubscribeVersion | Type_487_Transact | Type_487_TransferAsset | Type_487_TransferReserveAsset | Type_487_Trap | Type_487_UniversalOrigin | Type_487_UnlockAsset | Type_487_UnpaidExecution | Type_487_UnsubscribeVersion | Type_487_WithdrawAsset + +export interface Type_487_AliasOrigin { + __kind: 'AliasOrigin' + value: V3MultiLocation +} + +export interface Type_487_BurnAsset { + __kind: 'BurnAsset' + value: V3MultiAsset[] +} + +export interface Type_487_BuyExecution { + __kind: 'BuyExecution' + fees: V3MultiAsset + weightLimit: V3WeightLimit +} + +export interface Type_487_ClaimAsset { + __kind: 'ClaimAsset' + assets: V3MultiAsset[] + ticket: V3MultiLocation +} + +export interface Type_487_ClearError { + __kind: 'ClearError' +} + +export interface Type_487_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_487_ClearTopic { + __kind: 'ClearTopic' +} + +export interface Type_487_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface Type_487_DepositAsset { + __kind: 'DepositAsset' + assets: V3MultiAssetFilter + beneficiary: V3MultiLocation +} + +export interface Type_487_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_487_DescendOrigin { + __kind: 'DescendOrigin' + value: V3Junctions +} + +export interface Type_487_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V3MultiAssetFilter + want: V3MultiAsset[] + maximal: boolean +} + +export interface Type_487_ExpectAsset { + __kind: 'ExpectAsset' + value: V3MultiAsset[] +} + +export interface Type_487_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface Type_487_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V3MultiLocation | undefined) +} + +export interface Type_487_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface Type_487_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface Type_487_ExportMessage { + __kind: 'ExportMessage' + network: V3NetworkId + destination: V3Junctions + xcm: V3Instruction[] +} + +export interface Type_487_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_487_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_487_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_487_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V3MultiAssetFilter + reserve: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_487_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_487_LockAsset { + __kind: 'LockAsset' + asset: V3MultiAsset + unlocker: V3MultiLocation +} + +export interface Type_487_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V3MultiAsset + owner: V3MultiLocation +} + +export interface Type_487_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V3QueryResponseInfo +} + +export interface Type_487_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V3Response + maxWeight: Weight + querier?: (V3MultiLocation | undefined) +} + +export interface Type_487_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V3MultiAsset[] +} + +export interface Type_487_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_487_ReportError { + __kind: 'ReportError' + value: V3QueryResponseInfo +} + +export interface Type_487_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V3QueryResponseInfo + assets: V3MultiAssetFilter +} + +export interface Type_487_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V3QueryResponseInfo +} + +export interface Type_487_RequestUnlock { + __kind: 'RequestUnlock' + asset: V3MultiAsset + locker: V3MultiLocation +} + +export interface Type_487_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V3MultiAsset[] +} + +export interface Type_487_SetAppendix { + __kind: 'SetAppendix' + value: Type_487[] +} + +export interface Type_487_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_487[] +} + +export interface Type_487_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface Type_487_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface Type_487_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface Type_487_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: Type_484 +} + +export interface Type_487_TransferAsset { + __kind: 'TransferAsset' + assets: V3MultiAsset[] + beneficiary: V3MultiLocation +} + +export interface Type_487_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V3MultiAsset[] + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_487_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_487_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V3Junction +} + +export interface Type_487_UnlockAsset { + __kind: 'UnlockAsset' + asset: V3MultiAsset + target: V3MultiLocation +} + +export interface Type_487_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V3MultiLocation | undefined) +} + +export interface Type_487_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_487_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V3MultiAsset[] +} + +export const Type_483: sts.Type = sts.closedEnum(() => { + return { + BuyExecution: sts.enumStruct({ + fees: V2MultiAsset, + weightLimit: V2WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + ticket: V2MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + beneficiary: V2MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + DescendOrigin: V2Junctions, + ExchangeAsset: sts.enumStruct({ + give: V2MultiAssetFilter, + receive: sts.array(() => V2MultiAsset), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V2MultiAssetFilter, + reserve: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V2MultiAssetFilter, + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + QueryHolding: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + assets: V2MultiAssetFilter, + maxResponseWeight: sts.bigint(), + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V2Response, + maxWeight: sts.bigint(), + }), + ReceiveTeleportedAsset: sts.array(() => V2MultiAsset), + RefundSurplus: sts.unit(), + ReportError: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + maxResponseWeight: sts.bigint(), + }), + ReserveAssetDeposited: sts.array(() => V2MultiAsset), + SetAppendix: sts.array(() => Type_483), + SetErrorHandler: sts.array(() => Type_483), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: sts.bigint(), + }), + Transact: sts.enumStruct({ + originType: V2OriginKind, + requireWeightAtMost: sts.bigint(), + call: Type_484, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + beneficiary: V2MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + Trap: sts.bigint(), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V2MultiAsset), + } +}) + +export type Type_483 = Type_483_BuyExecution | Type_483_ClaimAsset | Type_483_ClearError | Type_483_ClearOrigin | Type_483_DepositAsset | Type_483_DepositReserveAsset | Type_483_DescendOrigin | Type_483_ExchangeAsset | Type_483_HrmpChannelAccepted | Type_483_HrmpChannelClosing | Type_483_HrmpNewChannelOpenRequest | Type_483_InitiateReserveWithdraw | Type_483_InitiateTeleport | Type_483_QueryHolding | Type_483_QueryResponse | Type_483_ReceiveTeleportedAsset | Type_483_RefundSurplus | Type_483_ReportError | Type_483_ReserveAssetDeposited | Type_483_SetAppendix | Type_483_SetErrorHandler | Type_483_SubscribeVersion | Type_483_Transact | Type_483_TransferAsset | Type_483_TransferReserveAsset | Type_483_Trap | Type_483_UnsubscribeVersion | Type_483_WithdrawAsset + +export interface Type_483_BuyExecution { + __kind: 'BuyExecution' + fees: V2MultiAsset + weightLimit: V2WeightLimit +} + +export interface Type_483_ClaimAsset { + __kind: 'ClaimAsset' + assets: V2MultiAsset[] + ticket: V2MultiLocation +} + +export interface Type_483_ClearError { + __kind: 'ClearError' +} + +export interface Type_483_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_483_DepositAsset { + __kind: 'DepositAsset' + assets: V2MultiAssetFilter + maxAssets: number + beneficiary: V2MultiLocation +} + +export interface Type_483_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V2MultiAssetFilter + maxAssets: number + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_483_DescendOrigin { + __kind: 'DescendOrigin' + value: V2Junctions +} + +export interface Type_483_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V2MultiAssetFilter + receive: V2MultiAsset[] +} + +export interface Type_483_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_483_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_483_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_483_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V2MultiAssetFilter + reserve: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_483_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V2MultiAssetFilter + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_483_QueryHolding { + __kind: 'QueryHolding' + queryId: bigint + dest: V2MultiLocation + assets: V2MultiAssetFilter + maxResponseWeight: bigint +} + +export interface Type_483_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V2Response + maxWeight: bigint +} + +export interface Type_483_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V2MultiAsset[] +} + +export interface Type_483_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_483_ReportError { + __kind: 'ReportError' + queryId: bigint + dest: V2MultiLocation + maxResponseWeight: bigint +} + +export interface Type_483_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V2MultiAsset[] +} + +export interface Type_483_SetAppendix { + __kind: 'SetAppendix' + value: Type_483[] +} + +export interface Type_483_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_483[] +} + +export interface Type_483_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: bigint +} + +export interface Type_483_Transact { + __kind: 'Transact' + originType: V2OriginKind + requireWeightAtMost: bigint + call: Type_484 +} + +export interface Type_483_TransferAsset { + __kind: 'TransferAsset' + assets: V2MultiAsset[] + beneficiary: V2MultiLocation +} + +export interface Type_483_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V2MultiAsset[] + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_483_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_483_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_483_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V2MultiAsset[] +} + +export type Type_480 = Type_480_V2 | Type_480_V3 | Type_480_V4 + +export interface Type_480_V2 { + __kind: 'V2' + value: Type_483[] +} + +export interface Type_480_V3 { + __kind: 'V3' + value: Type_487[] +} + +export interface Type_480_V4 { + __kind: 'V4' + value: Type_490[] +} + +export const VersionedLocation: sts.Type = sts.closedEnum(() => { + return { + V2: V2MultiLocation, + V3: V3MultiLocation, + V4: V4Location, + } +}) + +export const VersionedAssets: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => V2MultiAsset), + V3: sts.array(() => V3MultiAsset), + V4: sts.array(() => V4Asset), + } +}) + +export type VersionedAssets = VersionedAssets_V2 | VersionedAssets_V3 | VersionedAssets_V4 + +export interface VersionedAssets_V2 { + __kind: 'V2' + value: V2MultiAsset[] +} + +export interface VersionedAssets_V3 { + __kind: 'V3' + value: V3MultiAsset[] +} + +export interface VersionedAssets_V4 { + __kind: 'V4' + value: V4Asset[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type XcmPalletCall = XcmPalletCall_claim_assets | XcmPalletCall_execute | XcmPalletCall_force_default_xcm_version | XcmPalletCall_force_subscribe_version_notify | XcmPalletCall_force_suspension | XcmPalletCall_force_unsubscribe_version_notify | XcmPalletCall_force_xcm_version | XcmPalletCall_limited_reserve_transfer_assets | XcmPalletCall_limited_teleport_assets | XcmPalletCall_reserve_transfer_assets | XcmPalletCall_send | XcmPalletCall_teleport_assets | XcmPalletCall_transfer_assets | XcmPalletCall_transfer_assets_using_type_and_then + +/** + * See [`Pallet::claim_assets`]. + */ +export interface XcmPalletCall_claim_assets { + __kind: 'claim_assets' + assets: VersionedAssets + beneficiary: VersionedLocation +} + +/** + * See [`Pallet::execute`]. + */ +export interface XcmPalletCall_execute { + __kind: 'execute' + message: Type_480 + maxWeight: Weight +} + +/** + * See [`Pallet::force_default_xcm_version`]. + */ +export interface XcmPalletCall_force_default_xcm_version { + __kind: 'force_default_xcm_version' + maybeXcmVersion?: (number | undefined) +} + +/** + * See [`Pallet::force_subscribe_version_notify`]. + */ +export interface XcmPalletCall_force_subscribe_version_notify { + __kind: 'force_subscribe_version_notify' + location: VersionedLocation +} + +/** + * See [`Pallet::force_suspension`]. + */ +export interface XcmPalletCall_force_suspension { + __kind: 'force_suspension' + suspended: boolean +} + +/** + * See [`Pallet::force_unsubscribe_version_notify`]. + */ +export interface XcmPalletCall_force_unsubscribe_version_notify { + __kind: 'force_unsubscribe_version_notify' + location: VersionedLocation +} + +/** + * See [`Pallet::force_xcm_version`]. + */ +export interface XcmPalletCall_force_xcm_version { + __kind: 'force_xcm_version' + location: V4Location + version: number +} + +/** + * See [`Pallet::limited_reserve_transfer_assets`]. + */ +export interface XcmPalletCall_limited_reserve_transfer_assets { + __kind: 'limited_reserve_transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * See [`Pallet::limited_teleport_assets`]. + */ +export interface XcmPalletCall_limited_teleport_assets { + __kind: 'limited_teleport_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * See [`Pallet::reserve_transfer_assets`]. + */ +export interface XcmPalletCall_reserve_transfer_assets { + __kind: 'reserve_transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number +} + +/** + * See [`Pallet::send`]. + */ +export interface XcmPalletCall_send { + __kind: 'send' + dest: VersionedLocation + message: VersionedXcm +} + +/** + * See [`Pallet::teleport_assets`]. + */ +export interface XcmPalletCall_teleport_assets { + __kind: 'teleport_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number +} + +/** + * See [`Pallet::transfer_assets`]. + */ +export interface XcmPalletCall_transfer_assets { + __kind: 'transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * See [`Pallet::transfer_assets_using_type_and_then`]. + */ +export interface XcmPalletCall_transfer_assets_using_type_and_then { + __kind: 'transfer_assets_using_type_and_then' + dest: VersionedLocation + assets: VersionedAssets + assetsTransferType: TransferType + remoteFeesId: VersionedAssetId + feesTransferType: TransferType + customXcmOnDest: VersionedXcm + weightLimit: V3WeightLimit +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const WhitelistCall: sts.Type = sts.closedEnum(() => { + return { + dispatch_whitelisted_call: sts.enumStruct({ + callHash: H256, + callEncodedLen: sts.number(), + callWeightWitness: Weight, + }), + dispatch_whitelisted_call_with_preimage: sts.enumStruct({ + call: Call, + }), + remove_whitelisted_call: sts.enumStruct({ + callHash: H256, + }), + whitelist_call: sts.enumStruct({ + callHash: H256, + }), + } +}) + +export const H256 = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type WhitelistCall = WhitelistCall_dispatch_whitelisted_call | WhitelistCall_dispatch_whitelisted_call_with_preimage | WhitelistCall_remove_whitelisted_call | WhitelistCall_whitelist_call + +/** + * See [`Pallet::dispatch_whitelisted_call`]. + */ +export interface WhitelistCall_dispatch_whitelisted_call { + __kind: 'dispatch_whitelisted_call' + callHash: H256 + callEncodedLen: number + callWeightWitness: Weight +} + +/** + * See [`Pallet::dispatch_whitelisted_call_with_preimage`]. + */ +export interface WhitelistCall_dispatch_whitelisted_call_with_preimage { + __kind: 'dispatch_whitelisted_call_with_preimage' + call: Call +} + +/** + * See [`Pallet::remove_whitelisted_call`]. + */ +export interface WhitelistCall_remove_whitelisted_call { + __kind: 'remove_whitelisted_call' + callHash: H256 +} + +/** + * See [`Pallet::whitelist_call`]. + */ +export interface WhitelistCall_whitelist_call { + __kind: 'whitelist_call' + callHash: H256 +} + +export type H256 = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const VoterListCall: sts.Type = sts.closedEnum(() => { + return { + put_in_front_of: sts.enumStruct({ + lighter: MultiAddress, + }), + put_in_front_of_other: sts.enumStruct({ + heavier: MultiAddress, + lighter: MultiAddress, + }), + rebag: sts.enumStruct({ + dislocated: MultiAddress, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type VoterListCall = VoterListCall_put_in_front_of | VoterListCall_put_in_front_of_other | VoterListCall_rebag + +/** + * See [`Pallet::put_in_front_of`]. + */ +export interface VoterListCall_put_in_front_of { + __kind: 'put_in_front_of' + lighter: MultiAddress +} + +/** + * See [`Pallet::put_in_front_of_other`]. + */ +export interface VoterListCall_put_in_front_of_other { + __kind: 'put_in_front_of_other' + heavier: MultiAddress + lighter: MultiAddress +} + +/** + * See [`Pallet::rebag`]. + */ +export interface VoterListCall_rebag { + __kind: 'rebag' + dislocated: MultiAddress +} + +export type MultiAddress = MultiAddress_Address20 | MultiAddress_Address32 | MultiAddress_Id | MultiAddress_Index | MultiAddress_Raw + +export interface MultiAddress_Address20 { + __kind: 'Address20' + value: Bytes +} + +export interface MultiAddress_Address32 { + __kind: 'Address32' + value: Bytes +} + +export interface MultiAddress_Id { + __kind: 'Id' + value: AccountId32 +} + +export interface MultiAddress_Index { + __kind: 'Index' +} + +export interface MultiAddress_Raw { + __kind: 'Raw' + value: Bytes +} + +export type AccountId32 = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const VestingCall: sts.Type = sts.closedEnum(() => { + return { + force_remove_vesting_schedule: sts.enumStruct({ + target: MultiAddress, + scheduleIndex: sts.number(), + }), + force_vested_transfer: sts.enumStruct({ + source: MultiAddress, + target: MultiAddress, + schedule: VestingInfo, + }), + merge_schedules: sts.enumStruct({ + schedule1Index: sts.number(), + schedule2Index: sts.number(), + }), + vest: sts.unit(), + vest_other: sts.enumStruct({ + target: MultiAddress, + }), + vested_transfer: sts.enumStruct({ + target: MultiAddress, + schedule: VestingInfo, + }), + } +}) + +export const VestingInfo: sts.Type = sts.struct(() => { + return { + locked: sts.bigint(), + perBlock: sts.bigint(), + startingBlock: sts.number(), + } +}) + +export interface VestingInfo { + locked: bigint + perBlock: bigint + startingBlock: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type VestingCall = VestingCall_force_remove_vesting_schedule | VestingCall_force_vested_transfer | VestingCall_merge_schedules | VestingCall_vest | VestingCall_vest_other | VestingCall_vested_transfer + +/** + * See [`Pallet::force_remove_vesting_schedule`]. + */ +export interface VestingCall_force_remove_vesting_schedule { + __kind: 'force_remove_vesting_schedule' + target: MultiAddress + scheduleIndex: number +} + +/** + * See [`Pallet::force_vested_transfer`]. + */ +export interface VestingCall_force_vested_transfer { + __kind: 'force_vested_transfer' + source: MultiAddress + target: MultiAddress + schedule: VestingInfo +} + +/** + * See [`Pallet::merge_schedules`]. + */ +export interface VestingCall_merge_schedules { + __kind: 'merge_schedules' + schedule1Index: number + schedule2Index: number +} + +/** + * See [`Pallet::vest`]. + */ +export interface VestingCall_vest { + __kind: 'vest' +} + +/** + * See [`Pallet::vest_other`]. + */ +export interface VestingCall_vest_other { + __kind: 'vest_other' + target: MultiAddress +} + +/** + * See [`Pallet::vested_transfer`]. + */ +export interface VestingCall_vested_transfer { + __kind: 'vested_transfer' + target: MultiAddress + schedule: VestingInfo +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const UtilityCall: sts.Type = sts.closedEnum(() => { + return { + as_derivative: sts.enumStruct({ + index: sts.number(), + call: Call, + }), + batch: sts.enumStruct({ + calls: sts.array(() => Call), + }), + batch_all: sts.enumStruct({ + calls: sts.array(() => Call), + }), + dispatch_as: sts.enumStruct({ + asOrigin: OriginCaller, + call: Call, + }), + force_batch: sts.enumStruct({ + calls: sts.array(() => Call), + }), + with_weight: sts.enumStruct({ + call: Call, + weight: Weight, + }), + } +}) + +export const OriginCaller: sts.Type = sts.closedEnum(() => { + return { + Origins: Origin, + ParachainsOrigin: Type_164, + Void: Void, + XcmPallet: Type_166, + system: RawOrigin, + } +}) + +export const RawOrigin: sts.Type = sts.closedEnum(() => { + return { + None: sts.unit(), + Root: sts.unit(), + Signed: AccountId32, + } +}) + +export type RawOrigin = RawOrigin_None | RawOrigin_Root | RawOrigin_Signed + +export interface RawOrigin_None { + __kind: 'None' +} + +export interface RawOrigin_Root { + __kind: 'Root' +} + +export interface RawOrigin_Signed { + __kind: 'Signed' + value: AccountId32 +} + +export const Type_166: sts.Type = sts.closedEnum(() => { + return { + Response: V4Location, + Xcm: V4Location, + } +}) + +export type Type_166 = Type_166_Response | Type_166_Xcm + +export interface Type_166_Response { + __kind: 'Response' + value: V4Location +} + +export interface Type_166_Xcm { + __kind: 'Xcm' + value: V4Location +} + +export const Void: sts.Type = sts.closedEnum(() => { + return { + } +}) + +export type Void = never + +export const Type_164: sts.Type = sts.closedEnum(() => { + return { + Parachain: Id, + } +}) + +export const Id = sts.number() + +export type Type_164 = Type_164_Parachain + +export interface Type_164_Parachain { + __kind: 'Parachain' + value: Id +} + +export type Id = number + +export const Origin: sts.Type = sts.closedEnum(() => { + return { + AuctionAdmin: sts.unit(), + BigSpender: sts.unit(), + BigTipper: sts.unit(), + Fellows: sts.unit(), + Fellowship1Dan: sts.unit(), + Fellowship2Dan: sts.unit(), + Fellowship3Dan: sts.unit(), + Fellowship4Dan: sts.unit(), + Fellowship5Dan: sts.unit(), + Fellowship6Dan: sts.unit(), + Fellowship7Dan: sts.unit(), + Fellowship8Dan: sts.unit(), + Fellowship9Dan: sts.unit(), + FellowshipAdmin: sts.unit(), + FellowshipExperts: sts.unit(), + FellowshipInitiates: sts.unit(), + FellowshipMasters: sts.unit(), + GeneralAdmin: sts.unit(), + LeaseAdmin: sts.unit(), + MediumSpender: sts.unit(), + ReferendumCanceller: sts.unit(), + ReferendumKiller: sts.unit(), + SmallSpender: sts.unit(), + SmallTipper: sts.unit(), + StakingAdmin: sts.unit(), + Treasurer: sts.unit(), + WhitelistedCaller: sts.unit(), + WishForChange: sts.unit(), + } +}) + +export type Origin = Origin_AuctionAdmin | Origin_BigSpender | Origin_BigTipper | Origin_Fellows | Origin_Fellowship1Dan | Origin_Fellowship2Dan | Origin_Fellowship3Dan | Origin_Fellowship4Dan | Origin_Fellowship5Dan | Origin_Fellowship6Dan | Origin_Fellowship7Dan | Origin_Fellowship8Dan | Origin_Fellowship9Dan | Origin_FellowshipAdmin | Origin_FellowshipExperts | Origin_FellowshipInitiates | Origin_FellowshipMasters | Origin_GeneralAdmin | Origin_LeaseAdmin | Origin_MediumSpender | Origin_ReferendumCanceller | Origin_ReferendumKiller | Origin_SmallSpender | Origin_SmallTipper | Origin_StakingAdmin | Origin_Treasurer | Origin_WhitelistedCaller | Origin_WishForChange + +export interface Origin_AuctionAdmin { + __kind: 'AuctionAdmin' +} + +export interface Origin_BigSpender { + __kind: 'BigSpender' +} + +export interface Origin_BigTipper { + __kind: 'BigTipper' +} + +export interface Origin_Fellows { + __kind: 'Fellows' +} + +export interface Origin_Fellowship1Dan { + __kind: 'Fellowship1Dan' +} + +export interface Origin_Fellowship2Dan { + __kind: 'Fellowship2Dan' +} + +export interface Origin_Fellowship3Dan { + __kind: 'Fellowship3Dan' +} + +export interface Origin_Fellowship4Dan { + __kind: 'Fellowship4Dan' +} + +export interface Origin_Fellowship5Dan { + __kind: 'Fellowship5Dan' +} + +export interface Origin_Fellowship6Dan { + __kind: 'Fellowship6Dan' +} + +export interface Origin_Fellowship7Dan { + __kind: 'Fellowship7Dan' +} + +export interface Origin_Fellowship8Dan { + __kind: 'Fellowship8Dan' +} + +export interface Origin_Fellowship9Dan { + __kind: 'Fellowship9Dan' +} + +export interface Origin_FellowshipAdmin { + __kind: 'FellowshipAdmin' +} + +export interface Origin_FellowshipExperts { + __kind: 'FellowshipExperts' +} + +export interface Origin_FellowshipInitiates { + __kind: 'FellowshipInitiates' +} + +export interface Origin_FellowshipMasters { + __kind: 'FellowshipMasters' +} + +export interface Origin_GeneralAdmin { + __kind: 'GeneralAdmin' +} + +export interface Origin_LeaseAdmin { + __kind: 'LeaseAdmin' +} + +export interface Origin_MediumSpender { + __kind: 'MediumSpender' +} + +export interface Origin_ReferendumCanceller { + __kind: 'ReferendumCanceller' +} + +export interface Origin_ReferendumKiller { + __kind: 'ReferendumKiller' +} + +export interface Origin_SmallSpender { + __kind: 'SmallSpender' +} + +export interface Origin_SmallTipper { + __kind: 'SmallTipper' +} + +export interface Origin_StakingAdmin { + __kind: 'StakingAdmin' +} + +export interface Origin_Treasurer { + __kind: 'Treasurer' +} + +export interface Origin_WhitelistedCaller { + __kind: 'WhitelistedCaller' +} + +export interface Origin_WishForChange { + __kind: 'WishForChange' +} + +export type OriginCaller = OriginCaller_Origins | OriginCaller_ParachainsOrigin | OriginCaller_Void | OriginCaller_XcmPallet | OriginCaller_system + +export interface OriginCaller_Origins { + __kind: 'Origins' + value: Origin +} + +export interface OriginCaller_ParachainsOrigin { + __kind: 'ParachainsOrigin' + value: Type_164 +} + +export interface OriginCaller_Void { + __kind: 'Void' + value: Void +} + +export interface OriginCaller_XcmPallet { + __kind: 'XcmPallet' + value: Type_166 +} + +export interface OriginCaller_system { + __kind: 'system' + value: RawOrigin +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type UtilityCall = UtilityCall_as_derivative | UtilityCall_batch | UtilityCall_batch_all | UtilityCall_dispatch_as | UtilityCall_force_batch | UtilityCall_with_weight + +/** + * See [`Pallet::as_derivative`]. + */ +export interface UtilityCall_as_derivative { + __kind: 'as_derivative' + index: number + call: Call +} + +/** + * See [`Pallet::batch`]. + */ +export interface UtilityCall_batch { + __kind: 'batch' + calls: Call[] +} + +/** + * See [`Pallet::batch_all`]. + */ +export interface UtilityCall_batch_all { + __kind: 'batch_all' + calls: Call[] +} + +/** + * See [`Pallet::dispatch_as`]. + */ +export interface UtilityCall_dispatch_as { + __kind: 'dispatch_as' + asOrigin: OriginCaller + call: Call +} + +/** + * See [`Pallet::force_batch`]. + */ +export interface UtilityCall_force_batch { + __kind: 'force_batch' + calls: Call[] +} + +/** + * See [`Pallet::with_weight`]. + */ +export interface UtilityCall_with_weight { + __kind: 'with_weight' + call: Call + weight: Weight +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const TreasuryCall: sts.Type = sts.closedEnum(() => { + return { + approve_proposal: sts.enumStruct({ + proposalId: sts.number(), + }), + check_status: sts.enumStruct({ + index: sts.number(), + }), + payout: sts.enumStruct({ + index: sts.number(), + }), + propose_spend: sts.enumStruct({ + value: sts.bigint(), + beneficiary: MultiAddress, + }), + reject_proposal: sts.enumStruct({ + proposalId: sts.number(), + }), + remove_approval: sts.enumStruct({ + proposalId: sts.number(), + }), + spend: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + amount: sts.bigint(), + beneficiary: VersionedLocation, + validFrom: sts.option(() => sts.number()), + }), + spend_local: sts.enumStruct({ + amount: sts.bigint(), + beneficiary: MultiAddress, + }), + void_spend: sts.enumStruct({ + index: sts.number(), + }), + } +}) + +export const VersionedLocatableAsset: sts.Type = sts.closedEnum(() => { + return { + V3: sts.enumStruct({ + location: V3MultiLocation, + assetId: V3AssetId, + }), + V4: sts.enumStruct({ + location: V4Location, + assetId: V4AssetId, + }), + } +}) + +export type VersionedLocatableAsset = VersionedLocatableAsset_V3 | VersionedLocatableAsset_V4 + +export interface VersionedLocatableAsset_V3 { + __kind: 'V3' + location: V3MultiLocation + assetId: V3AssetId +} + +export interface VersionedLocatableAsset_V4 { + __kind: 'V4' + location: V4Location + assetId: V4AssetId +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type TreasuryCall = TreasuryCall_approve_proposal | TreasuryCall_check_status | TreasuryCall_payout | TreasuryCall_propose_spend | TreasuryCall_reject_proposal | TreasuryCall_remove_approval | TreasuryCall_spend | TreasuryCall_spend_local | TreasuryCall_void_spend + +/** + * See [`Pallet::approve_proposal`]. + */ +export interface TreasuryCall_approve_proposal { + __kind: 'approve_proposal' + proposalId: number +} + +/** + * See [`Pallet::check_status`]. + */ +export interface TreasuryCall_check_status { + __kind: 'check_status' + index: number +} + +/** + * See [`Pallet::payout`]. + */ +export interface TreasuryCall_payout { + __kind: 'payout' + index: number +} + +/** + * See [`Pallet::propose_spend`]. + */ +export interface TreasuryCall_propose_spend { + __kind: 'propose_spend' + value: bigint + beneficiary: MultiAddress +} + +/** + * See [`Pallet::reject_proposal`]. + */ +export interface TreasuryCall_reject_proposal { + __kind: 'reject_proposal' + proposalId: number +} + +/** + * See [`Pallet::remove_approval`]. + */ +export interface TreasuryCall_remove_approval { + __kind: 'remove_approval' + proposalId: number +} + +/** + * See [`Pallet::spend`]. + */ +export interface TreasuryCall_spend { + __kind: 'spend' + assetKind: VersionedLocatableAsset + amount: bigint + beneficiary: VersionedLocation + validFrom?: (number | undefined) +} + +/** + * See [`Pallet::spend_local`]. + */ +export interface TreasuryCall_spend_local { + __kind: 'spend_local' + amount: bigint + beneficiary: MultiAddress +} + +/** + * See [`Pallet::void_spend`]. + */ +export interface TreasuryCall_void_spend { + __kind: 'void_spend' + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const TimestampCall: sts.Type = sts.closedEnum(() => { + return { + set: sts.enumStruct({ + now: sts.bigint(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type TimestampCall = TimestampCall_set + +/** + * See [`Pallet::set`]. + */ +export interface TimestampCall_set { + __kind: 'set' + now: bigint +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SystemCall: sts.Type = sts.closedEnum(() => { + return { + apply_authorized_upgrade: sts.enumStruct({ + code: sts.bytes(), + }), + authorize_upgrade: sts.enumStruct({ + codeHash: H256, + }), + authorize_upgrade_without_checks: sts.enumStruct({ + codeHash: H256, + }), + kill_prefix: sts.enumStruct({ + prefix: sts.bytes(), + subkeys: sts.number(), + }), + kill_storage: sts.enumStruct({ + keys: sts.array(() => sts.bytes()), + }), + remark: sts.enumStruct({ + remark: sts.bytes(), + }), + remark_with_event: sts.enumStruct({ + remark: sts.bytes(), + }), + set_code: sts.enumStruct({ + code: sts.bytes(), + }), + set_code_without_checks: sts.enumStruct({ + code: sts.bytes(), + }), + set_heap_pages: sts.enumStruct({ + pages: sts.bigint(), + }), + set_storage: sts.enumStruct({ + items: sts.array(() => sts.tuple(() => [sts.bytes(), sts.bytes()])), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SystemCall = SystemCall_apply_authorized_upgrade | SystemCall_authorize_upgrade | SystemCall_authorize_upgrade_without_checks | SystemCall_kill_prefix | SystemCall_kill_storage | SystemCall_remark | SystemCall_remark_with_event | SystemCall_set_code | SystemCall_set_code_without_checks | SystemCall_set_heap_pages | SystemCall_set_storage + +/** + * See [`Pallet::apply_authorized_upgrade`]. + */ +export interface SystemCall_apply_authorized_upgrade { + __kind: 'apply_authorized_upgrade' + code: Bytes +} + +/** + * See [`Pallet::authorize_upgrade`]. + */ +export interface SystemCall_authorize_upgrade { + __kind: 'authorize_upgrade' + codeHash: H256 +} + +/** + * See [`Pallet::authorize_upgrade_without_checks`]. + */ +export interface SystemCall_authorize_upgrade_without_checks { + __kind: 'authorize_upgrade_without_checks' + codeHash: H256 +} + +/** + * See [`Pallet::kill_prefix`]. + */ +export interface SystemCall_kill_prefix { + __kind: 'kill_prefix' + prefix: Bytes + subkeys: number +} + +/** + * See [`Pallet::kill_storage`]. + */ +export interface SystemCall_kill_storage { + __kind: 'kill_storage' + keys: Bytes[] +} + +/** + * See [`Pallet::remark`]. + */ +export interface SystemCall_remark { + __kind: 'remark' + remark: Bytes +} + +/** + * See [`Pallet::remark_with_event`]. + */ +export interface SystemCall_remark_with_event { + __kind: 'remark_with_event' + remark: Bytes +} + +/** + * See [`Pallet::set_code`]. + */ +export interface SystemCall_set_code { + __kind: 'set_code' + code: Bytes +} + +/** + * See [`Pallet::set_code_without_checks`]. + */ +export interface SystemCall_set_code_without_checks { + __kind: 'set_code_without_checks' + code: Bytes +} + +/** + * See [`Pallet::set_heap_pages`]. + */ +export interface SystemCall_set_heap_pages { + __kind: 'set_heap_pages' + pages: bigint +} + +/** + * See [`Pallet::set_storage`]. + */ +export interface SystemCall_set_storage { + __kind: 'set_storage' + items: [Bytes, Bytes][] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const StakingCall: sts.Type = sts.closedEnum(() => { + return { + bond: sts.enumStruct({ + value: sts.bigint(), + payee: RewardDestination, + }), + bond_extra: sts.enumStruct({ + maxAdditional: sts.bigint(), + }), + cancel_deferred_slash: sts.enumStruct({ + era: sts.number(), + slashIndices: sts.array(() => sts.number()), + }), + chill: sts.unit(), + chill_other: sts.enumStruct({ + stash: AccountId32, + }), + deprecate_controller_batch: sts.enumStruct({ + controllers: sts.array(() => AccountId32), + }), + force_apply_min_commission: sts.enumStruct({ + validatorStash: AccountId32, + }), + force_new_era: sts.unit(), + force_new_era_always: sts.unit(), + force_no_eras: sts.unit(), + force_unstake: sts.enumStruct({ + stash: AccountId32, + numSlashingSpans: sts.number(), + }), + increase_validator_count: sts.enumStruct({ + additional: sts.number(), + }), + kick: sts.enumStruct({ + who: sts.array(() => MultiAddress), + }), + nominate: sts.enumStruct({ + targets: sts.array(() => MultiAddress), + }), + payout_stakers: sts.enumStruct({ + validatorStash: AccountId32, + era: sts.number(), + }), + payout_stakers_by_page: sts.enumStruct({ + validatorStash: AccountId32, + era: sts.number(), + page: sts.number(), + }), + reap_stash: sts.enumStruct({ + stash: AccountId32, + numSlashingSpans: sts.number(), + }), + rebond: sts.enumStruct({ + value: sts.bigint(), + }), + restore_ledger: sts.enumStruct({ + stash: AccountId32, + maybeController: sts.option(() => AccountId32), + maybeTotal: sts.option(() => sts.bigint()), + maybeUnlocking: sts.option(() => sts.array(() => UnlockChunk)), + }), + scale_validator_count: sts.enumStruct({ + factor: Percent, + }), + set_controller: sts.unit(), + set_invulnerables: sts.enumStruct({ + invulnerables: sts.array(() => AccountId32), + }), + set_min_commission: sts.enumStruct({ + new: Perbill, + }), + set_payee: sts.enumStruct({ + payee: RewardDestination, + }), + set_staking_configs: sts.enumStruct({ + minNominatorBond: ConfigOp, + minValidatorBond: ConfigOp, + maxNominatorCount: Type_123, + maxValidatorCount: Type_123, + chillThreshold: Type_124, + minCommission: Type_125, + }), + set_validator_count: sts.enumStruct({ + new: sts.number(), + }), + unbond: sts.enumStruct({ + value: sts.bigint(), + }), + update_payee: sts.enumStruct({ + controller: AccountId32, + }), + validate: sts.enumStruct({ + prefs: ValidatorPrefs, + }), + withdraw_unbonded: sts.enumStruct({ + numSlashingSpans: sts.number(), + }), + } +}) + +export const ValidatorPrefs: sts.Type = sts.struct(() => { + return { + commission: sts.number(), + blocked: sts.boolean(), + } +}) + +export interface ValidatorPrefs { + commission: number + blocked: boolean +} + +export const Type_125: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Perbill, + } +}) + +export type Type_125 = Type_125_Noop | Type_125_Remove | Type_125_Set + +export interface Type_125_Noop { + __kind: 'Noop' +} + +export interface Type_125_Remove { + __kind: 'Remove' +} + +export interface Type_125_Set { + __kind: 'Set' + value: Perbill +} + +export type Perbill = number + +export const Type_124: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Percent, + } +}) + +export type Type_124 = Type_124_Noop | Type_124_Remove | Type_124_Set + +export interface Type_124_Noop { + __kind: 'Noop' +} + +export interface Type_124_Remove { + __kind: 'Remove' +} + +export interface Type_124_Set { + __kind: 'Set' + value: Percent +} + +export type Percent = number + +export const Type_123: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.number(), + } +}) + +export type Type_123 = Type_123_Noop | Type_123_Remove | Type_123_Set + +export interface Type_123_Noop { + __kind: 'Noop' +} + +export interface Type_123_Remove { + __kind: 'Remove' +} + +export interface Type_123_Set { + __kind: 'Set' + value: number +} + +export const ConfigOp: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.bigint(), + } +}) + +export type ConfigOp = ConfigOp_Noop | ConfigOp_Remove | ConfigOp_Set + +export interface ConfigOp_Noop { + __kind: 'Noop' +} + +export interface ConfigOp_Remove { + __kind: 'Remove' +} + +export interface ConfigOp_Set { + __kind: 'Set' + value: bigint +} + +export const Perbill = sts.number() + +export const Percent = sts.number() + +export const UnlockChunk: sts.Type = sts.struct(() => { + return { + value: sts.bigint(), + era: sts.number(), + } +}) + +export interface UnlockChunk { + value: bigint + era: number +} + +export const RewardDestination: sts.Type = sts.closedEnum(() => { + return { + Account: AccountId32, + Controller: sts.unit(), + None: sts.unit(), + Staked: sts.unit(), + Stash: sts.unit(), + } +}) + +export type RewardDestination = RewardDestination_Account | RewardDestination_Controller | RewardDestination_None | RewardDestination_Staked | RewardDestination_Stash + +export interface RewardDestination_Account { + __kind: 'Account' + value: AccountId32 +} + +export interface RewardDestination_Controller { + __kind: 'Controller' +} + +export interface RewardDestination_None { + __kind: 'None' +} + +export interface RewardDestination_Staked { + __kind: 'Staked' +} + +export interface RewardDestination_Stash { + __kind: 'Stash' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type StakingCall = StakingCall_bond | StakingCall_bond_extra | StakingCall_cancel_deferred_slash | StakingCall_chill | StakingCall_chill_other | StakingCall_deprecate_controller_batch | StakingCall_force_apply_min_commission | StakingCall_force_new_era | StakingCall_force_new_era_always | StakingCall_force_no_eras | StakingCall_force_unstake | StakingCall_increase_validator_count | StakingCall_kick | StakingCall_nominate | StakingCall_payout_stakers | StakingCall_payout_stakers_by_page | StakingCall_reap_stash | StakingCall_rebond | StakingCall_restore_ledger | StakingCall_scale_validator_count | StakingCall_set_controller | StakingCall_set_invulnerables | StakingCall_set_min_commission | StakingCall_set_payee | StakingCall_set_staking_configs | StakingCall_set_validator_count | StakingCall_unbond | StakingCall_update_payee | StakingCall_validate | StakingCall_withdraw_unbonded + +/** + * See [`Pallet::bond`]. + */ +export interface StakingCall_bond { + __kind: 'bond' + value: bigint + payee: RewardDestination +} + +/** + * See [`Pallet::bond_extra`]. + */ +export interface StakingCall_bond_extra { + __kind: 'bond_extra' + maxAdditional: bigint +} + +/** + * See [`Pallet::cancel_deferred_slash`]. + */ +export interface StakingCall_cancel_deferred_slash { + __kind: 'cancel_deferred_slash' + era: number + slashIndices: number[] +} + +/** + * See [`Pallet::chill`]. + */ +export interface StakingCall_chill { + __kind: 'chill' +} + +/** + * See [`Pallet::chill_other`]. + */ +export interface StakingCall_chill_other { + __kind: 'chill_other' + stash: AccountId32 +} + +/** + * See [`Pallet::deprecate_controller_batch`]. + */ +export interface StakingCall_deprecate_controller_batch { + __kind: 'deprecate_controller_batch' + controllers: AccountId32[] +} + +/** + * See [`Pallet::force_apply_min_commission`]. + */ +export interface StakingCall_force_apply_min_commission { + __kind: 'force_apply_min_commission' + validatorStash: AccountId32 +} + +/** + * See [`Pallet::force_new_era`]. + */ +export interface StakingCall_force_new_era { + __kind: 'force_new_era' +} + +/** + * See [`Pallet::force_new_era_always`]. + */ +export interface StakingCall_force_new_era_always { + __kind: 'force_new_era_always' +} + +/** + * See [`Pallet::force_no_eras`]. + */ +export interface StakingCall_force_no_eras { + __kind: 'force_no_eras' +} + +/** + * See [`Pallet::force_unstake`]. + */ +export interface StakingCall_force_unstake { + __kind: 'force_unstake' + stash: AccountId32 + numSlashingSpans: number +} + +/** + * See [`Pallet::increase_validator_count`]. + */ +export interface StakingCall_increase_validator_count { + __kind: 'increase_validator_count' + additional: number +} + +/** + * See [`Pallet::kick`]. + */ +export interface StakingCall_kick { + __kind: 'kick' + who: MultiAddress[] +} + +/** + * See [`Pallet::nominate`]. + */ +export interface StakingCall_nominate { + __kind: 'nominate' + targets: MultiAddress[] +} + +/** + * See [`Pallet::payout_stakers`]. + */ +export interface StakingCall_payout_stakers { + __kind: 'payout_stakers' + validatorStash: AccountId32 + era: number +} + +/** + * See [`Pallet::payout_stakers_by_page`]. + */ +export interface StakingCall_payout_stakers_by_page { + __kind: 'payout_stakers_by_page' + validatorStash: AccountId32 + era: number + page: number +} + +/** + * See [`Pallet::reap_stash`]. + */ +export interface StakingCall_reap_stash { + __kind: 'reap_stash' + stash: AccountId32 + numSlashingSpans: number +} + +/** + * See [`Pallet::rebond`]. + */ +export interface StakingCall_rebond { + __kind: 'rebond' + value: bigint +} + +/** + * See [`Pallet::restore_ledger`]. + */ +export interface StakingCall_restore_ledger { + __kind: 'restore_ledger' + stash: AccountId32 + maybeController?: (AccountId32 | undefined) + maybeTotal?: (bigint | undefined) + maybeUnlocking?: (UnlockChunk[] | undefined) +} + +/** + * See [`Pallet::scale_validator_count`]. + */ +export interface StakingCall_scale_validator_count { + __kind: 'scale_validator_count' + factor: Percent +} + +/** + * See [`Pallet::set_controller`]. + */ +export interface StakingCall_set_controller { + __kind: 'set_controller' +} + +/** + * See [`Pallet::set_invulnerables`]. + */ +export interface StakingCall_set_invulnerables { + __kind: 'set_invulnerables' + invulnerables: AccountId32[] +} + +/** + * See [`Pallet::set_min_commission`]. + */ +export interface StakingCall_set_min_commission { + __kind: 'set_min_commission' + new: Perbill +} + +/** + * See [`Pallet::set_payee`]. + */ +export interface StakingCall_set_payee { + __kind: 'set_payee' + payee: RewardDestination +} + +/** + * See [`Pallet::set_staking_configs`]. + */ +export interface StakingCall_set_staking_configs { + __kind: 'set_staking_configs' + minNominatorBond: ConfigOp + minValidatorBond: ConfigOp + maxNominatorCount: Type_123 + maxValidatorCount: Type_123 + chillThreshold: Type_124 + minCommission: Type_125 +} + +/** + * See [`Pallet::set_validator_count`]. + */ +export interface StakingCall_set_validator_count { + __kind: 'set_validator_count' + new: number +} + +/** + * See [`Pallet::unbond`]. + */ +export interface StakingCall_unbond { + __kind: 'unbond' + value: bigint +} + +/** + * See [`Pallet::update_payee`]. + */ +export interface StakingCall_update_payee { + __kind: 'update_payee' + controller: AccountId32 +} + +/** + * See [`Pallet::validate`]. + */ +export interface StakingCall_validate { + __kind: 'validate' + prefs: ValidatorPrefs +} + +/** + * See [`Pallet::withdraw_unbonded`]. + */ +export interface StakingCall_withdraw_unbonded { + __kind: 'withdraw_unbonded' + numSlashingSpans: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SocietyCall: sts.Type = sts.closedEnum(() => { + return { + bestow_membership: sts.enumStruct({ + candidate: AccountId32, + }), + bid: sts.enumStruct({ + value: sts.bigint(), + }), + claim_membership: sts.unit(), + cleanup_candidacy: sts.enumStruct({ + candidate: AccountId32, + max: sts.number(), + }), + cleanup_challenge: sts.enumStruct({ + challengeRound: sts.number(), + max: sts.number(), + }), + defender_vote: sts.enumStruct({ + approve: sts.boolean(), + }), + dissolve: sts.unit(), + drop_candidate: sts.enumStruct({ + candidate: AccountId32, + }), + found_society: sts.enumStruct({ + founder: MultiAddress, + maxMembers: sts.number(), + maxIntake: sts.number(), + maxStrikes: sts.number(), + candidateDeposit: sts.bigint(), + rules: sts.bytes(), + }), + judge_suspended_member: sts.enumStruct({ + who: MultiAddress, + forgive: sts.boolean(), + }), + kick_candidate: sts.enumStruct({ + candidate: AccountId32, + }), + payout: sts.unit(), + punish_skeptic: sts.unit(), + resign_candidacy: sts.unit(), + set_parameters: sts.enumStruct({ + maxMembers: sts.number(), + maxIntake: sts.number(), + maxStrikes: sts.number(), + candidateDeposit: sts.bigint(), + }), + unbid: sts.unit(), + unvouch: sts.unit(), + vote: sts.enumStruct({ + candidate: MultiAddress, + approve: sts.boolean(), + }), + vouch: sts.enumStruct({ + who: MultiAddress, + value: sts.bigint(), + tip: sts.bigint(), + }), + waive_repay: sts.enumStruct({ + amount: sts.bigint(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SocietyCall = SocietyCall_bestow_membership | SocietyCall_bid | SocietyCall_claim_membership | SocietyCall_cleanup_candidacy | SocietyCall_cleanup_challenge | SocietyCall_defender_vote | SocietyCall_dissolve | SocietyCall_drop_candidate | SocietyCall_found_society | SocietyCall_judge_suspended_member | SocietyCall_kick_candidate | SocietyCall_payout | SocietyCall_punish_skeptic | SocietyCall_resign_candidacy | SocietyCall_set_parameters | SocietyCall_unbid | SocietyCall_unvouch | SocietyCall_vote | SocietyCall_vouch | SocietyCall_waive_repay + +/** + * See [`Pallet::bestow_membership`]. + */ +export interface SocietyCall_bestow_membership { + __kind: 'bestow_membership' + candidate: AccountId32 +} + +/** + * See [`Pallet::bid`]. + */ +export interface SocietyCall_bid { + __kind: 'bid' + value: bigint +} + +/** + * See [`Pallet::claim_membership`]. + */ +export interface SocietyCall_claim_membership { + __kind: 'claim_membership' +} + +/** + * See [`Pallet::cleanup_candidacy`]. + */ +export interface SocietyCall_cleanup_candidacy { + __kind: 'cleanup_candidacy' + candidate: AccountId32 + max: number +} + +/** + * See [`Pallet::cleanup_challenge`]. + */ +export interface SocietyCall_cleanup_challenge { + __kind: 'cleanup_challenge' + challengeRound: number + max: number +} + +/** + * See [`Pallet::defender_vote`]. + */ +export interface SocietyCall_defender_vote { + __kind: 'defender_vote' + approve: boolean +} + +/** + * See [`Pallet::dissolve`]. + */ +export interface SocietyCall_dissolve { + __kind: 'dissolve' +} + +/** + * See [`Pallet::drop_candidate`]. + */ +export interface SocietyCall_drop_candidate { + __kind: 'drop_candidate' + candidate: AccountId32 +} + +/** + * See [`Pallet::found_society`]. + */ +export interface SocietyCall_found_society { + __kind: 'found_society' + founder: MultiAddress + maxMembers: number + maxIntake: number + maxStrikes: number + candidateDeposit: bigint + rules: Bytes +} + +/** + * See [`Pallet::judge_suspended_member`]. + */ +export interface SocietyCall_judge_suspended_member { + __kind: 'judge_suspended_member' + who: MultiAddress + forgive: boolean +} + +/** + * See [`Pallet::kick_candidate`]. + */ +export interface SocietyCall_kick_candidate { + __kind: 'kick_candidate' + candidate: AccountId32 +} + +/** + * See [`Pallet::payout`]. + */ +export interface SocietyCall_payout { + __kind: 'payout' +} + +/** + * See [`Pallet::punish_skeptic`]. + */ +export interface SocietyCall_punish_skeptic { + __kind: 'punish_skeptic' +} + +/** + * See [`Pallet::resign_candidacy`]. + */ +export interface SocietyCall_resign_candidacy { + __kind: 'resign_candidacy' +} + +/** + * See [`Pallet::set_parameters`]. + */ +export interface SocietyCall_set_parameters { + __kind: 'set_parameters' + maxMembers: number + maxIntake: number + maxStrikes: number + candidateDeposit: bigint +} + +/** + * See [`Pallet::unbid`]. + */ +export interface SocietyCall_unbid { + __kind: 'unbid' +} + +/** + * See [`Pallet::unvouch`]. + */ +export interface SocietyCall_unvouch { + __kind: 'unvouch' +} + +/** + * See [`Pallet::vote`]. + */ +export interface SocietyCall_vote { + __kind: 'vote' + candidate: MultiAddress + approve: boolean +} + +/** + * See [`Pallet::vouch`]. + */ +export interface SocietyCall_vouch { + __kind: 'vouch' + who: MultiAddress + value: bigint + tip: bigint +} + +/** + * See [`Pallet::waive_repay`]. + */ +export interface SocietyCall_waive_repay { + __kind: 'waive_repay' + amount: bigint +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SlotsCall: sts.Type = sts.closedEnum(() => { + return { + clear_all_leases: sts.enumStruct({ + para: Id, + }), + force_lease: sts.enumStruct({ + para: Id, + leaser: AccountId32, + amount: sts.bigint(), + periodBegin: sts.number(), + periodCount: sts.number(), + }), + trigger_onboard: sts.enumStruct({ + para: Id, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SlotsCall = SlotsCall_clear_all_leases | SlotsCall_force_lease | SlotsCall_trigger_onboard + +/** + * See [`Pallet::clear_all_leases`]. + */ +export interface SlotsCall_clear_all_leases { + __kind: 'clear_all_leases' + para: Id +} + +/** + * See [`Pallet::force_lease`]. + */ +export interface SlotsCall_force_lease { + __kind: 'force_lease' + para: Id + leaser: AccountId32 + amount: bigint + periodBegin: number + periodCount: number +} + +/** + * See [`Pallet::trigger_onboard`]. + */ +export interface SlotsCall_trigger_onboard { + __kind: 'trigger_onboard' + para: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SessionCall: sts.Type = sts.closedEnum(() => { + return { + purge_keys: sts.unit(), + set_keys: sts.enumStruct({ + keys: SessionKeys, + proof: sts.bytes(), + }), + } +}) + +export const SessionKeys: sts.Type = sts.struct(() => { + return { + grandpa: Public, + babe: sts.bytes(), + paraValidator: V6Public, + paraAssignment: sts.bytes(), + authorityDiscovery: sts.bytes(), + beefy: sts.bytes(), + } +}) + +export const V6Public = sts.bytes() + +export const Public = sts.bytes() + +export interface SessionKeys { + grandpa: Public + babe: Bytes + paraValidator: V6Public + paraAssignment: Bytes + authorityDiscovery: Bytes + beefy: Bytes +} + +export type V6Public = Bytes + +export type Public = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SessionCall = SessionCall_purge_keys | SessionCall_set_keys + +/** + * See [`Pallet::purge_keys`]. + */ +export interface SessionCall_purge_keys { + __kind: 'purge_keys' +} + +/** + * See [`Pallet::set_keys`]. + */ +export interface SessionCall_set_keys { + __kind: 'set_keys' + keys: SessionKeys + proof: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SchedulerCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + when: sts.number(), + index: sts.number(), + }), + cancel_named: sts.enumStruct({ + id: sts.bytes(), + }), + schedule: sts.enumStruct({ + when: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_after: sts.enumStruct({ + after: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_named: sts.enumStruct({ + id: sts.bytes(), + when: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_named_after: sts.enumStruct({ + id: sts.bytes(), + after: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SchedulerCall = SchedulerCall_cancel | SchedulerCall_cancel_named | SchedulerCall_schedule | SchedulerCall_schedule_after | SchedulerCall_schedule_named | SchedulerCall_schedule_named_after + +/** + * See [`Pallet::cancel`]. + */ +export interface SchedulerCall_cancel { + __kind: 'cancel' + when: number + index: number +} + +/** + * See [`Pallet::cancel_named`]. + */ +export interface SchedulerCall_cancel_named { + __kind: 'cancel_named' + id: Bytes +} + +/** + * See [`Pallet::schedule`]. + */ +export interface SchedulerCall_schedule { + __kind: 'schedule' + when: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * See [`Pallet::schedule_after`]. + */ +export interface SchedulerCall_schedule_after { + __kind: 'schedule_after' + after: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * See [`Pallet::schedule_named`]. + */ +export interface SchedulerCall_schedule_named { + __kind: 'schedule_named' + id: Bytes + when: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * See [`Pallet::schedule_named_after`]. + */ +export interface SchedulerCall_schedule_named_after { + __kind: 'schedule_named_after' + id: Bytes + after: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const RegistrarCall: sts.Type = sts.closedEnum(() => { + return { + add_lock: sts.enumStruct({ + para: Id, + }), + deregister: sts.enumStruct({ + id: Id, + }), + force_register: sts.enumStruct({ + who: AccountId32, + deposit: sts.bigint(), + id: Id, + genesisHead: HeadData, + validationCode: ValidationCode, + }), + register: sts.enumStruct({ + id: Id, + genesisHead: HeadData, + validationCode: ValidationCode, + }), + remove_lock: sts.enumStruct({ + para: Id, + }), + reserve: sts.unit(), + schedule_code_upgrade: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + }), + set_current_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + swap: sts.enumStruct({ + id: Id, + other: Id, + }), + } +}) + +export const ValidationCode = sts.bytes() + +export const HeadData = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type RegistrarCall = RegistrarCall_add_lock | RegistrarCall_deregister | RegistrarCall_force_register | RegistrarCall_register | RegistrarCall_remove_lock | RegistrarCall_reserve | RegistrarCall_schedule_code_upgrade | RegistrarCall_set_current_head | RegistrarCall_swap + +/** + * See [`Pallet::add_lock`]. + */ +export interface RegistrarCall_add_lock { + __kind: 'add_lock' + para: Id +} + +/** + * See [`Pallet::deregister`]. + */ +export interface RegistrarCall_deregister { + __kind: 'deregister' + id: Id +} + +/** + * See [`Pallet::force_register`]. + */ +export interface RegistrarCall_force_register { + __kind: 'force_register' + who: AccountId32 + deposit: bigint + id: Id + genesisHead: HeadData + validationCode: ValidationCode +} + +/** + * See [`Pallet::register`]. + */ +export interface RegistrarCall_register { + __kind: 'register' + id: Id + genesisHead: HeadData + validationCode: ValidationCode +} + +/** + * See [`Pallet::remove_lock`]. + */ +export interface RegistrarCall_remove_lock { + __kind: 'remove_lock' + para: Id +} + +/** + * See [`Pallet::reserve`]. + */ +export interface RegistrarCall_reserve { + __kind: 'reserve' +} + +/** + * See [`Pallet::schedule_code_upgrade`]. + */ +export interface RegistrarCall_schedule_code_upgrade { + __kind: 'schedule_code_upgrade' + para: Id + newCode: ValidationCode +} + +/** + * See [`Pallet::set_current_head`]. + */ +export interface RegistrarCall_set_current_head { + __kind: 'set_current_head' + para: Id + newHead: HeadData +} + +/** + * See [`Pallet::swap`]. + */ +export interface RegistrarCall_swap { + __kind: 'swap' + id: Id + other: Id +} + +export type ValidationCode = Bytes + +export type HeadData = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ReferendaCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + index: sts.number(), + }), + kill: sts.enumStruct({ + index: sts.number(), + }), + nudge_referendum: sts.enumStruct({ + index: sts.number(), + }), + one_fewer_deciding: sts.enumStruct({ + track: sts.number(), + }), + place_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_submission_deposit: sts.enumStruct({ + index: sts.number(), + }), + set_metadata: sts.enumStruct({ + index: sts.number(), + maybeHash: sts.option(() => H256), + }), + submit: sts.enumStruct({ + proposalOrigin: OriginCaller, + proposal: Bounded, + enactmentMoment: DispatchTime, + }), + } +}) + +export const DispatchTime: sts.Type = sts.closedEnum(() => { + return { + After: sts.number(), + At: sts.number(), + } +}) + +export type DispatchTime = DispatchTime_After | DispatchTime_At + +export interface DispatchTime_After { + __kind: 'After' + value: number +} + +export interface DispatchTime_At { + __kind: 'At' + value: number +} + +export const Bounded: sts.Type = sts.closedEnum(() => { + return { + Inline: sts.bytes(), + Legacy: sts.enumStruct({ + hash: H256, + }), + Lookup: sts.enumStruct({ + hash: H256, + len: sts.number(), + }), + } +}) + +export type Bounded = Bounded_Inline | Bounded_Legacy | Bounded_Lookup + +export interface Bounded_Inline { + __kind: 'Inline' + value: Bytes +} + +export interface Bounded_Legacy { + __kind: 'Legacy' + hash: H256 +} + +export interface Bounded_Lookup { + __kind: 'Lookup' + hash: H256 + len: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ReferendaCall = ReferendaCall_cancel | ReferendaCall_kill | ReferendaCall_nudge_referendum | ReferendaCall_one_fewer_deciding | ReferendaCall_place_decision_deposit | ReferendaCall_refund_decision_deposit | ReferendaCall_refund_submission_deposit | ReferendaCall_set_metadata | ReferendaCall_submit + +/** + * See [`Pallet::cancel`]. + */ +export interface ReferendaCall_cancel { + __kind: 'cancel' + index: number +} + +/** + * See [`Pallet::kill`]. + */ +export interface ReferendaCall_kill { + __kind: 'kill' + index: number +} + +/** + * See [`Pallet::nudge_referendum`]. + */ +export interface ReferendaCall_nudge_referendum { + __kind: 'nudge_referendum' + index: number +} + +/** + * See [`Pallet::one_fewer_deciding`]. + */ +export interface ReferendaCall_one_fewer_deciding { + __kind: 'one_fewer_deciding' + track: number +} + +/** + * See [`Pallet::place_decision_deposit`]. + */ +export interface ReferendaCall_place_decision_deposit { + __kind: 'place_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_decision_deposit`]. + */ +export interface ReferendaCall_refund_decision_deposit { + __kind: 'refund_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_submission_deposit`]. + */ +export interface ReferendaCall_refund_submission_deposit { + __kind: 'refund_submission_deposit' + index: number +} + +/** + * See [`Pallet::set_metadata`]. + */ +export interface ReferendaCall_set_metadata { + __kind: 'set_metadata' + index: number + maybeHash?: (H256 | undefined) +} + +/** + * See [`Pallet::submit`]. + */ +export interface ReferendaCall_submit { + __kind: 'submit' + proposalOrigin: OriginCaller + proposal: Bounded + enactmentMoment: DispatchTime +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const RecoveryCall: sts.Type = sts.closedEnum(() => { + return { + as_recovered: sts.enumStruct({ + account: MultiAddress, + call: Call, + }), + cancel_recovered: sts.enumStruct({ + account: MultiAddress, + }), + claim_recovery: sts.enumStruct({ + account: MultiAddress, + }), + close_recovery: sts.enumStruct({ + rescuer: MultiAddress, + }), + create_recovery: sts.enumStruct({ + friends: sts.array(() => AccountId32), + threshold: sts.number(), + delayPeriod: sts.number(), + }), + initiate_recovery: sts.enumStruct({ + account: MultiAddress, + }), + remove_recovery: sts.unit(), + set_recovered: sts.enumStruct({ + lost: MultiAddress, + rescuer: MultiAddress, + }), + vouch_recovery: sts.enumStruct({ + lost: MultiAddress, + rescuer: MultiAddress, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type RecoveryCall = RecoveryCall_as_recovered | RecoveryCall_cancel_recovered | RecoveryCall_claim_recovery | RecoveryCall_close_recovery | RecoveryCall_create_recovery | RecoveryCall_initiate_recovery | RecoveryCall_remove_recovery | RecoveryCall_set_recovered | RecoveryCall_vouch_recovery + +/** + * See [`Pallet::as_recovered`]. + */ +export interface RecoveryCall_as_recovered { + __kind: 'as_recovered' + account: MultiAddress + call: Call +} + +/** + * See [`Pallet::cancel_recovered`]. + */ +export interface RecoveryCall_cancel_recovered { + __kind: 'cancel_recovered' + account: MultiAddress +} + +/** + * See [`Pallet::claim_recovery`]. + */ +export interface RecoveryCall_claim_recovery { + __kind: 'claim_recovery' + account: MultiAddress +} + +/** + * See [`Pallet::close_recovery`]. + */ +export interface RecoveryCall_close_recovery { + __kind: 'close_recovery' + rescuer: MultiAddress +} + +/** + * See [`Pallet::create_recovery`]. + */ +export interface RecoveryCall_create_recovery { + __kind: 'create_recovery' + friends: AccountId32[] + threshold: number + delayPeriod: number +} + +/** + * See [`Pallet::initiate_recovery`]. + */ +export interface RecoveryCall_initiate_recovery { + __kind: 'initiate_recovery' + account: MultiAddress +} + +/** + * See [`Pallet::remove_recovery`]. + */ +export interface RecoveryCall_remove_recovery { + __kind: 'remove_recovery' +} + +/** + * See [`Pallet::set_recovered`]. + */ +export interface RecoveryCall_set_recovered { + __kind: 'set_recovered' + lost: MultiAddress + rescuer: MultiAddress +} + +/** + * See [`Pallet::vouch_recovery`]. + */ +export interface RecoveryCall_vouch_recovery { + __kind: 'vouch_recovery' + lost: MultiAddress + rescuer: MultiAddress +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ProxyCall: sts.Type = sts.closedEnum(() => { + return { + add_proxy: sts.enumStruct({ + delegate: MultiAddress, + proxyType: ProxyType, + delay: sts.number(), + }), + announce: sts.enumStruct({ + real: MultiAddress, + callHash: H256, + }), + create_pure: sts.enumStruct({ + proxyType: ProxyType, + delay: sts.number(), + index: sts.number(), + }), + kill_pure: sts.enumStruct({ + spawner: MultiAddress, + proxyType: ProxyType, + index: sts.number(), + height: sts.number(), + extIndex: sts.number(), + }), + proxy: sts.enumStruct({ + real: MultiAddress, + forceProxyType: sts.option(() => ProxyType), + call: Call, + }), + proxy_announced: sts.enumStruct({ + delegate: MultiAddress, + real: MultiAddress, + forceProxyType: sts.option(() => ProxyType), + call: Call, + }), + reject_announcement: sts.enumStruct({ + delegate: MultiAddress, + callHash: H256, + }), + remove_announcement: sts.enumStruct({ + real: MultiAddress, + callHash: H256, + }), + remove_proxies: sts.unit(), + remove_proxy: sts.enumStruct({ + delegate: MultiAddress, + proxyType: ProxyType, + delay: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ProxyCall = ProxyCall_add_proxy | ProxyCall_announce | ProxyCall_create_pure | ProxyCall_kill_pure | ProxyCall_proxy | ProxyCall_proxy_announced | ProxyCall_reject_announcement | ProxyCall_remove_announcement | ProxyCall_remove_proxies | ProxyCall_remove_proxy + +/** + * See [`Pallet::add_proxy`]. + */ +export interface ProxyCall_add_proxy { + __kind: 'add_proxy' + delegate: MultiAddress + proxyType: ProxyType + delay: number +} + +/** + * See [`Pallet::announce`]. + */ +export interface ProxyCall_announce { + __kind: 'announce' + real: MultiAddress + callHash: H256 +} + +/** + * See [`Pallet::create_pure`]. + */ +export interface ProxyCall_create_pure { + __kind: 'create_pure' + proxyType: ProxyType + delay: number + index: number +} + +/** + * See [`Pallet::kill_pure`]. + */ +export interface ProxyCall_kill_pure { + __kind: 'kill_pure' + spawner: MultiAddress + proxyType: ProxyType + index: number + height: number + extIndex: number +} + +/** + * See [`Pallet::proxy`]. + */ +export interface ProxyCall_proxy { + __kind: 'proxy' + real: MultiAddress + forceProxyType?: (ProxyType | undefined) + call: Call +} + +/** + * See [`Pallet::proxy_announced`]. + */ +export interface ProxyCall_proxy_announced { + __kind: 'proxy_announced' + delegate: MultiAddress + real: MultiAddress + forceProxyType?: (ProxyType | undefined) + call: Call +} + +/** + * See [`Pallet::reject_announcement`]. + */ +export interface ProxyCall_reject_announcement { + __kind: 'reject_announcement' + delegate: MultiAddress + callHash: H256 +} + +/** + * See [`Pallet::remove_announcement`]. + */ +export interface ProxyCall_remove_announcement { + __kind: 'remove_announcement' + real: MultiAddress + callHash: H256 +} + +/** + * See [`Pallet::remove_proxies`]. + */ +export interface ProxyCall_remove_proxies { + __kind: 'remove_proxies' +} + +/** + * See [`Pallet::remove_proxy`]. + */ +export interface ProxyCall_remove_proxy { + __kind: 'remove_proxy' + delegate: MultiAddress + proxyType: ProxyType + delay: number +} + +export type ProxyType = ProxyType_Any | ProxyType_Auction | ProxyType_CancelProxy | ProxyType_Governance | ProxyType_IdentityJudgement | ProxyType_NominationPools | ProxyType_NonTransfer | ProxyType_Society | ProxyType_Staking + +export interface ProxyType_Any { + __kind: 'Any' +} + +export interface ProxyType_Auction { + __kind: 'Auction' +} + +export interface ProxyType_CancelProxy { + __kind: 'CancelProxy' +} + +export interface ProxyType_Governance { + __kind: 'Governance' +} + +export interface ProxyType_IdentityJudgement { + __kind: 'IdentityJudgement' +} + +export interface ProxyType_NominationPools { + __kind: 'NominationPools' +} + +export interface ProxyType_NonTransfer { + __kind: 'NonTransfer' +} + +export interface ProxyType_Society { + __kind: 'Society' +} + +export interface ProxyType_Staking { + __kind: 'Staking' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const PreimageCall: sts.Type = sts.closedEnum(() => { + return { + ensure_updated: sts.enumStruct({ + hashes: sts.array(() => H256), + }), + note_preimage: sts.enumStruct({ + bytes: sts.bytes(), + }), + request_preimage: sts.enumStruct({ + hash: H256, + }), + unnote_preimage: sts.enumStruct({ + hash: H256, + }), + unrequest_preimage: sts.enumStruct({ + hash: H256, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type PreimageCall = PreimageCall_ensure_updated | PreimageCall_note_preimage | PreimageCall_request_preimage | PreimageCall_unnote_preimage | PreimageCall_unrequest_preimage + +/** + * See [`Pallet::ensure_updated`]. + */ +export interface PreimageCall_ensure_updated { + __kind: 'ensure_updated' + hashes: H256[] +} + +/** + * See [`Pallet::note_preimage`]. + */ +export interface PreimageCall_note_preimage { + __kind: 'note_preimage' + bytes: Bytes +} + +/** + * See [`Pallet::request_preimage`]. + */ +export interface PreimageCall_request_preimage { + __kind: 'request_preimage' + hash: H256 +} + +/** + * See [`Pallet::unnote_preimage`]. + */ +export interface PreimageCall_unnote_preimage { + __kind: 'unnote_preimage' + hash: H256 +} + +/** + * See [`Pallet::unrequest_preimage`]. + */ +export interface PreimageCall_unrequest_preimage { + __kind: 'unrequest_preimage' + hash: H256 +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasSlashingCall: sts.Type = sts.closedEnum(() => { + return { + report_dispute_lost_unsigned: sts.enumStruct({ + disputeProof: V6DisputeProof, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const MembershipProof: sts.Type = sts.struct(() => { + return { + session: sts.number(), + trieNodes: sts.array(() => sts.bytes()), + validatorCount: sts.number(), + } +}) + +export interface MembershipProof { + session: number + trieNodes: Bytes[] + validatorCount: number +} + +export const V6DisputeProof: sts.Type = sts.struct(() => { + return { + timeSlot: V6DisputesTimeSlot, + kind: V6SlashingOffenceKind, + validatorIndex: V6ValidatorIndex, + validatorId: V6Public, + } +}) + +export const V6ValidatorIndex = sts.number() + +export const V6SlashingOffenceKind: sts.Type = sts.closedEnum(() => { + return { + AgainstValid: sts.unit(), + ForInvalid: sts.unit(), + } +}) + +export type V6SlashingOffenceKind = V6SlashingOffenceKind_AgainstValid | V6SlashingOffenceKind_ForInvalid + +export interface V6SlashingOffenceKind_AgainstValid { + __kind: 'AgainstValid' +} + +export interface V6SlashingOffenceKind_ForInvalid { + __kind: 'ForInvalid' +} + +export const V6DisputesTimeSlot: sts.Type = sts.struct(() => { + return { + sessionIndex: sts.number(), + candidateHash: CandidateHash, + } +}) + +export const CandidateHash = sts.bytes() + +export interface V6DisputesTimeSlot { + sessionIndex: number + candidateHash: CandidateHash +} + +export type CandidateHash = Bytes + +export interface V6DisputeProof { + timeSlot: V6DisputesTimeSlot + kind: V6SlashingOffenceKind + validatorIndex: V6ValidatorIndex + validatorId: V6Public +} + +export type V6ValidatorIndex = number + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasSlashingCall = ParasSlashingCall_report_dispute_lost_unsigned + +/** + * See [`Pallet::report_dispute_lost_unsigned`]. + */ +export interface ParasSlashingCall_report_dispute_lost_unsigned { + __kind: 'report_dispute_lost_unsigned' + disputeProof: V6DisputeProof + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasSharedCall: sts.Type = sts.closedEnum(() => { + return { + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasSharedCall = never + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasDisputesCall: sts.Type = sts.closedEnum(() => { + return { + force_unfreeze: sts.unit(), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasDisputesCall = ParasDisputesCall_force_unfreeze + +/** + * See [`Pallet::force_unfreeze`]. + */ +export interface ParasDisputesCall_force_unfreeze { + __kind: 'force_unfreeze' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasCall: sts.Type = sts.closedEnum(() => { + return { + add_trusted_validation_code: sts.enumStruct({ + validationCode: ValidationCode, + }), + force_note_new_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + force_queue_action: sts.enumStruct({ + para: Id, + }), + force_schedule_code_upgrade: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + relayParentNumber: sts.number(), + }), + force_set_current_code: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + }), + force_set_current_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + force_set_most_recent_context: sts.enumStruct({ + para: Id, + context: sts.number(), + }), + include_pvf_check_statement: sts.enumStruct({ + stmt: V6PvfCheckStatement, + signature: V6Signature, + }), + poke_unused_validation_code: sts.enumStruct({ + validationCodeHash: ValidationCodeHash, + }), + } +}) + +export const ValidationCodeHash = sts.bytes() + +export const V6Signature = sts.bytes() + +export const V6PvfCheckStatement: sts.Type = sts.struct(() => { + return { + accept: sts.boolean(), + subject: ValidationCodeHash, + sessionIndex: sts.number(), + validatorIndex: V6ValidatorIndex, + } +}) + +export interface V6PvfCheckStatement { + accept: boolean + subject: ValidationCodeHash + sessionIndex: number + validatorIndex: V6ValidatorIndex +} + +export type ValidationCodeHash = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasCall = ParasCall_add_trusted_validation_code | ParasCall_force_note_new_head | ParasCall_force_queue_action | ParasCall_force_schedule_code_upgrade | ParasCall_force_set_current_code | ParasCall_force_set_current_head | ParasCall_force_set_most_recent_context | ParasCall_include_pvf_check_statement | ParasCall_poke_unused_validation_code + +/** + * See [`Pallet::add_trusted_validation_code`]. + */ +export interface ParasCall_add_trusted_validation_code { + __kind: 'add_trusted_validation_code' + validationCode: ValidationCode +} + +/** + * See [`Pallet::force_note_new_head`]. + */ +export interface ParasCall_force_note_new_head { + __kind: 'force_note_new_head' + para: Id + newHead: HeadData +} + +/** + * See [`Pallet::force_queue_action`]. + */ +export interface ParasCall_force_queue_action { + __kind: 'force_queue_action' + para: Id +} + +/** + * See [`Pallet::force_schedule_code_upgrade`]. + */ +export interface ParasCall_force_schedule_code_upgrade { + __kind: 'force_schedule_code_upgrade' + para: Id + newCode: ValidationCode + relayParentNumber: number +} + +/** + * See [`Pallet::force_set_current_code`]. + */ +export interface ParasCall_force_set_current_code { + __kind: 'force_set_current_code' + para: Id + newCode: ValidationCode +} + +/** + * See [`Pallet::force_set_current_head`]. + */ +export interface ParasCall_force_set_current_head { + __kind: 'force_set_current_head' + para: Id + newHead: HeadData +} + +/** + * See [`Pallet::force_set_most_recent_context`]. + */ +export interface ParasCall_force_set_most_recent_context { + __kind: 'force_set_most_recent_context' + para: Id + context: number +} + +/** + * See [`Pallet::include_pvf_check_statement`]. + */ +export interface ParasCall_include_pvf_check_statement { + __kind: 'include_pvf_check_statement' + stmt: V6PvfCheckStatement + signature: V6Signature +} + +/** + * See [`Pallet::poke_unused_validation_code`]. + */ +export interface ParasCall_poke_unused_validation_code { + __kind: 'poke_unused_validation_code' + validationCodeHash: ValidationCodeHash +} + +export type V6Signature = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParaInherentCall: sts.Type = sts.closedEnum(() => { + return { + enter: sts.enumStruct({ + data: V6InherentData, + }), + } +}) + +export const V6InherentData: sts.Type = sts.struct(() => { + return { + bitfields: sts.array(() => V6UncheckedSigned), + backedCandidates: sts.array(() => V6BackedCandidate), + disputes: sts.array(() => V6DisputeStatementSet), + parentHeader: Header, + } +}) + +export const Header: sts.Type
    = sts.struct(() => { + return { + parentHash: H256, + number: sts.number(), + stateRoot: H256, + extrinsicsRoot: H256, + digest: Digest, + } +}) + +export const Digest: sts.Type = sts.struct(() => { + return { + logs: sts.array(() => DigestItem), + } +}) + +export const DigestItem: sts.Type = sts.closedEnum(() => { + return { + Consensus: sts.tuple(() => [sts.bytes(), sts.bytes()]), + Other: sts.bytes(), + PreRuntime: sts.tuple(() => [sts.bytes(), sts.bytes()]), + RuntimeEnvironmentUpdated: sts.unit(), + Seal: sts.tuple(() => [sts.bytes(), sts.bytes()]), + } +}) + +export type DigestItem = DigestItem_Consensus | DigestItem_Other | DigestItem_PreRuntime | DigestItem_RuntimeEnvironmentUpdated | DigestItem_Seal + +export interface DigestItem_Consensus { + __kind: 'Consensus' + value: [Bytes, Bytes] +} + +export interface DigestItem_Other { + __kind: 'Other' + value: Bytes +} + +export interface DigestItem_PreRuntime { + __kind: 'PreRuntime' + value: [Bytes, Bytes] +} + +export interface DigestItem_RuntimeEnvironmentUpdated { + __kind: 'RuntimeEnvironmentUpdated' +} + +export interface DigestItem_Seal { + __kind: 'Seal' + value: [Bytes, Bytes] +} + +export interface Digest { + logs: DigestItem[] +} + +export interface Header { + parentHash: H256 + number: number + stateRoot: H256 + extrinsicsRoot: H256 + digest: Digest +} + +export const V6DisputeStatementSet: sts.Type = sts.struct(() => { + return { + candidateHash: CandidateHash, + session: sts.number(), + statements: sts.array(() => sts.tuple(() => [V6DisputeStatement, V6ValidatorIndex, V6Signature])), + } +}) + +export const V6DisputeStatement: sts.Type = sts.closedEnum(() => { + return { + Invalid: V6InvalidDisputeStatementKind, + Valid: V6ValidDisputeStatementKind, + } +}) + +export const V6ValidDisputeStatementKind: sts.Type = sts.closedEnum(() => { + return { + ApprovalChecking: sts.unit(), + ApprovalCheckingMultipleCandidates: sts.array(() => CandidateHash), + BackingSeconded: H256, + BackingValid: H256, + Explicit: sts.unit(), + } +}) + +export type V6ValidDisputeStatementKind = V6ValidDisputeStatementKind_ApprovalChecking | V6ValidDisputeStatementKind_ApprovalCheckingMultipleCandidates | V6ValidDisputeStatementKind_BackingSeconded | V6ValidDisputeStatementKind_BackingValid | V6ValidDisputeStatementKind_Explicit + +export interface V6ValidDisputeStatementKind_ApprovalChecking { + __kind: 'ApprovalChecking' +} + +export interface V6ValidDisputeStatementKind_ApprovalCheckingMultipleCandidates { + __kind: 'ApprovalCheckingMultipleCandidates' + value: CandidateHash[] +} + +export interface V6ValidDisputeStatementKind_BackingSeconded { + __kind: 'BackingSeconded' + value: H256 +} + +export interface V6ValidDisputeStatementKind_BackingValid { + __kind: 'BackingValid' + value: H256 +} + +export interface V6ValidDisputeStatementKind_Explicit { + __kind: 'Explicit' +} + +export const V6InvalidDisputeStatementKind: sts.Type = sts.closedEnum(() => { + return { + Explicit: sts.unit(), + } +}) + +export type V6InvalidDisputeStatementKind = V6InvalidDisputeStatementKind_Explicit + +export interface V6InvalidDisputeStatementKind_Explicit { + __kind: 'Explicit' +} + +export type V6DisputeStatement = V6DisputeStatement_Invalid | V6DisputeStatement_Valid + +export interface V6DisputeStatement_Invalid { + __kind: 'Invalid' + value: V6InvalidDisputeStatementKind +} + +export interface V6DisputeStatement_Valid { + __kind: 'Valid' + value: V6ValidDisputeStatementKind +} + +export interface V6DisputeStatementSet { + candidateHash: CandidateHash + session: number + statements: [V6DisputeStatement, V6ValidatorIndex, V6Signature][] +} + +export const V6BackedCandidate: sts.Type = sts.struct(() => { + return { + candidate: V6CommittedCandidateReceipt, + validityVotes: sts.array(() => V6ValidityAttestation), + validatorIndices: sts.bitseq(), + } +}) + +export const V6ValidityAttestation: sts.Type = sts.closedEnum(() => { + return { + Explicit: V6Signature, + Implicit: V6Signature, + } +}) + +export type V6ValidityAttestation = V6ValidityAttestation_Explicit | V6ValidityAttestation_Implicit + +export interface V6ValidityAttestation_Explicit { + __kind: 'Explicit' + value: V6Signature +} + +export interface V6ValidityAttestation_Implicit { + __kind: 'Implicit' + value: V6Signature +} + +export const V6CommittedCandidateReceipt: sts.Type = sts.struct(() => { + return { + descriptor: V6CandidateDescriptor, + commitments: V6CandidateCommitments, + } +}) + +export const V6CandidateCommitments: sts.Type = sts.struct(() => { + return { + upwardMessages: sts.array(() => sts.bytes()), + horizontalMessages: sts.array(() => OutboundHrmpMessage), + newValidationCode: sts.option(() => ValidationCode), + headData: HeadData, + processedDownwardMessages: sts.number(), + hrmpWatermark: sts.number(), + } +}) + +export const OutboundHrmpMessage: sts.Type = sts.struct(() => { + return { + recipient: Id, + data: sts.bytes(), + } +}) + +export interface OutboundHrmpMessage { + recipient: Id + data: Bytes +} + +export interface V6CandidateCommitments { + upwardMessages: Bytes[] + horizontalMessages: OutboundHrmpMessage[] + newValidationCode?: (ValidationCode | undefined) + headData: HeadData + processedDownwardMessages: number + hrmpWatermark: number +} + +export const V6CandidateDescriptor: sts.Type = sts.struct(() => { + return { + paraId: Id, + relayParent: H256, + collator: sts.bytes(), + persistedValidationDataHash: H256, + povHash: H256, + erasureRoot: H256, + signature: sts.bytes(), + paraHead: H256, + validationCodeHash: ValidationCodeHash, + } +}) + +export interface V6CandidateDescriptor { + paraId: Id + relayParent: H256 + collator: Bytes + persistedValidationDataHash: H256 + povHash: H256 + erasureRoot: H256 + signature: Bytes + paraHead: H256 + validationCodeHash: ValidationCodeHash +} + +export interface V6CommittedCandidateReceipt { + descriptor: V6CandidateDescriptor + commitments: V6CandidateCommitments +} + +export interface V6BackedCandidate { + candidate: V6CommittedCandidateReceipt + validityVotes: V6ValidityAttestation[] + validatorIndices: BitSequence +} + +export const V6UncheckedSigned: sts.Type = sts.struct(() => { + return { + payload: V6AvailabilityBitfield, + validatorIndex: V6ValidatorIndex, + signature: V6Signature, + } +}) + +export const V6AvailabilityBitfield = sts.bitseq() + +export interface V6UncheckedSigned { + payload: V6AvailabilityBitfield + validatorIndex: V6ValidatorIndex + signature: V6Signature +} + +export type V6AvailabilityBitfield = BitSequence + +export interface V6InherentData { + bitfields: V6UncheckedSigned[] + backedCandidates: V6BackedCandidate[] + disputes: V6DisputeStatementSet[] + parentHeader: Header +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParaInherentCall = ParaInherentCall_enter + +/** + * See [`Pallet::enter`]. + */ +export interface ParaInherentCall_enter { + __kind: 'enter' + data: V6InherentData +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParaInclusionCall: sts.Type = sts.closedEnum(() => { + return { + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParaInclusionCall = never + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const OnDemandAssignmentProviderCall: sts.Type = sts.closedEnum(() => { + return { + place_order_allow_death: sts.enumStruct({ + maxAmount: sts.bigint(), + paraId: Id, + }), + place_order_keep_alive: sts.enumStruct({ + maxAmount: sts.bigint(), + paraId: Id, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type OnDemandAssignmentProviderCall = OnDemandAssignmentProviderCall_place_order_allow_death | OnDemandAssignmentProviderCall_place_order_keep_alive + +/** + * See [`Pallet::place_order_allow_death`]. + */ +export interface OnDemandAssignmentProviderCall_place_order_allow_death { + __kind: 'place_order_allow_death' + maxAmount: bigint + paraId: Id +} + +/** + * See [`Pallet::place_order_keep_alive`]. + */ +export interface OnDemandAssignmentProviderCall_place_order_keep_alive { + __kind: 'place_order_keep_alive' + maxAmount: bigint + paraId: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NominationPoolsCall: sts.Type = sts.closedEnum(() => { + return { + adjust_pool_deposit: sts.enumStruct({ + poolId: sts.number(), + }), + bond_extra: sts.enumStruct({ + extra: BondExtra, + }), + bond_extra_other: sts.enumStruct({ + member: MultiAddress, + extra: BondExtra, + }), + chill: sts.enumStruct({ + poolId: sts.number(), + }), + claim_commission: sts.enumStruct({ + poolId: sts.number(), + }), + claim_payout: sts.unit(), + claim_payout_other: sts.enumStruct({ + other: AccountId32, + }), + create: sts.enumStruct({ + amount: sts.bigint(), + root: MultiAddress, + nominator: MultiAddress, + bouncer: MultiAddress, + }), + create_with_pool_id: sts.enumStruct({ + amount: sts.bigint(), + root: MultiAddress, + nominator: MultiAddress, + bouncer: MultiAddress, + poolId: sts.number(), + }), + join: sts.enumStruct({ + amount: sts.bigint(), + poolId: sts.number(), + }), + nominate: sts.enumStruct({ + poolId: sts.number(), + validators: sts.array(() => AccountId32), + }), + pool_withdraw_unbonded: sts.enumStruct({ + poolId: sts.number(), + numSlashingSpans: sts.number(), + }), + set_claim_permission: sts.enumStruct({ + permission: ClaimPermission, + }), + set_commission: sts.enumStruct({ + poolId: sts.number(), + newCommission: sts.option(() => sts.tuple(() => [Perbill, AccountId32])), + }), + set_commission_change_rate: sts.enumStruct({ + poolId: sts.number(), + changeRate: CommissionChangeRate, + }), + set_commission_claim_permission: sts.enumStruct({ + poolId: sts.number(), + permission: sts.option(() => CommissionClaimPermission), + }), + set_commission_max: sts.enumStruct({ + poolId: sts.number(), + maxCommission: Perbill, + }), + set_configs: sts.enumStruct({ + minJoinBond: Type_337, + minCreateBond: Type_337, + maxPools: Type_338, + maxMembers: Type_338, + maxMembersPerPool: Type_338, + globalMaxCommission: Type_339, + }), + set_metadata: sts.enumStruct({ + poolId: sts.number(), + metadata: sts.bytes(), + }), + set_state: sts.enumStruct({ + poolId: sts.number(), + state: PoolState, + }), + unbond: sts.enumStruct({ + memberAccount: MultiAddress, + unbondingPoints: sts.bigint(), + }), + update_roles: sts.enumStruct({ + poolId: sts.number(), + newRoot: Type_340, + newNominator: Type_340, + newBouncer: Type_340, + }), + withdraw_unbonded: sts.enumStruct({ + memberAccount: MultiAddress, + numSlashingSpans: sts.number(), + }), + } +}) + +export const Type_340: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: AccountId32, + } +}) + +export type Type_340 = Type_340_Noop | Type_340_Remove | Type_340_Set + +export interface Type_340_Noop { + __kind: 'Noop' +} + +export interface Type_340_Remove { + __kind: 'Remove' +} + +export interface Type_340_Set { + __kind: 'Set' + value: AccountId32 +} + +export const PoolState: sts.Type = sts.closedEnum(() => { + return { + Blocked: sts.unit(), + Destroying: sts.unit(), + Open: sts.unit(), + } +}) + +export type PoolState = PoolState_Blocked | PoolState_Destroying | PoolState_Open + +export interface PoolState_Blocked { + __kind: 'Blocked' +} + +export interface PoolState_Destroying { + __kind: 'Destroying' +} + +export interface PoolState_Open { + __kind: 'Open' +} + +export const Type_339: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Perbill, + } +}) + +export type Type_339 = Type_339_Noop | Type_339_Remove | Type_339_Set + +export interface Type_339_Noop { + __kind: 'Noop' +} + +export interface Type_339_Remove { + __kind: 'Remove' +} + +export interface Type_339_Set { + __kind: 'Set' + value: Perbill +} + +export const Type_338: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.number(), + } +}) + +export type Type_338 = Type_338_Noop | Type_338_Remove | Type_338_Set + +export interface Type_338_Noop { + __kind: 'Noop' +} + +export interface Type_338_Remove { + __kind: 'Remove' +} + +export interface Type_338_Set { + __kind: 'Set' + value: number +} + +export const Type_337: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.bigint(), + } +}) + +export type Type_337 = Type_337_Noop | Type_337_Remove | Type_337_Set + +export interface Type_337_Noop { + __kind: 'Noop' +} + +export interface Type_337_Remove { + __kind: 'Remove' +} + +export interface Type_337_Set { + __kind: 'Set' + value: bigint +} + +export const CommissionClaimPermission: sts.Type = sts.closedEnum(() => { + return { + Account: AccountId32, + Permissionless: sts.unit(), + } +}) + +export type CommissionClaimPermission = CommissionClaimPermission_Account | CommissionClaimPermission_Permissionless + +export interface CommissionClaimPermission_Account { + __kind: 'Account' + value: AccountId32 +} + +export interface CommissionClaimPermission_Permissionless { + __kind: 'Permissionless' +} + +export const CommissionChangeRate: sts.Type = sts.struct(() => { + return { + maxIncrease: Perbill, + minDelay: sts.number(), + } +}) + +export interface CommissionChangeRate { + maxIncrease: Perbill + minDelay: number +} + +export const ClaimPermission: sts.Type = sts.closedEnum(() => { + return { + Permissioned: sts.unit(), + PermissionlessAll: sts.unit(), + PermissionlessCompound: sts.unit(), + PermissionlessWithdraw: sts.unit(), + } +}) + +export type ClaimPermission = ClaimPermission_Permissioned | ClaimPermission_PermissionlessAll | ClaimPermission_PermissionlessCompound | ClaimPermission_PermissionlessWithdraw + +export interface ClaimPermission_Permissioned { + __kind: 'Permissioned' +} + +export interface ClaimPermission_PermissionlessAll { + __kind: 'PermissionlessAll' +} + +export interface ClaimPermission_PermissionlessCompound { + __kind: 'PermissionlessCompound' +} + +export interface ClaimPermission_PermissionlessWithdraw { + __kind: 'PermissionlessWithdraw' +} + +export const BondExtra: sts.Type = sts.closedEnum(() => { + return { + FreeBalance: sts.bigint(), + Rewards: sts.unit(), + } +}) + +export type BondExtra = BondExtra_FreeBalance | BondExtra_Rewards + +export interface BondExtra_FreeBalance { + __kind: 'FreeBalance' + value: bigint +} + +export interface BondExtra_Rewards { + __kind: 'Rewards' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NominationPoolsCall = NominationPoolsCall_adjust_pool_deposit | NominationPoolsCall_bond_extra | NominationPoolsCall_bond_extra_other | NominationPoolsCall_chill | NominationPoolsCall_claim_commission | NominationPoolsCall_claim_payout | NominationPoolsCall_claim_payout_other | NominationPoolsCall_create | NominationPoolsCall_create_with_pool_id | NominationPoolsCall_join | NominationPoolsCall_nominate | NominationPoolsCall_pool_withdraw_unbonded | NominationPoolsCall_set_claim_permission | NominationPoolsCall_set_commission | NominationPoolsCall_set_commission_change_rate | NominationPoolsCall_set_commission_claim_permission | NominationPoolsCall_set_commission_max | NominationPoolsCall_set_configs | NominationPoolsCall_set_metadata | NominationPoolsCall_set_state | NominationPoolsCall_unbond | NominationPoolsCall_update_roles | NominationPoolsCall_withdraw_unbonded + +/** + * See [`Pallet::adjust_pool_deposit`]. + */ +export interface NominationPoolsCall_adjust_pool_deposit { + __kind: 'adjust_pool_deposit' + poolId: number +} + +/** + * See [`Pallet::bond_extra`]. + */ +export interface NominationPoolsCall_bond_extra { + __kind: 'bond_extra' + extra: BondExtra +} + +/** + * See [`Pallet::bond_extra_other`]. + */ +export interface NominationPoolsCall_bond_extra_other { + __kind: 'bond_extra_other' + member: MultiAddress + extra: BondExtra +} + +/** + * See [`Pallet::chill`]. + */ +export interface NominationPoolsCall_chill { + __kind: 'chill' + poolId: number +} + +/** + * See [`Pallet::claim_commission`]. + */ +export interface NominationPoolsCall_claim_commission { + __kind: 'claim_commission' + poolId: number +} + +/** + * See [`Pallet::claim_payout`]. + */ +export interface NominationPoolsCall_claim_payout { + __kind: 'claim_payout' +} + +/** + * See [`Pallet::claim_payout_other`]. + */ +export interface NominationPoolsCall_claim_payout_other { + __kind: 'claim_payout_other' + other: AccountId32 +} + +/** + * See [`Pallet::create`]. + */ +export interface NominationPoolsCall_create { + __kind: 'create' + amount: bigint + root: MultiAddress + nominator: MultiAddress + bouncer: MultiAddress +} + +/** + * See [`Pallet::create_with_pool_id`]. + */ +export interface NominationPoolsCall_create_with_pool_id { + __kind: 'create_with_pool_id' + amount: bigint + root: MultiAddress + nominator: MultiAddress + bouncer: MultiAddress + poolId: number +} + +/** + * See [`Pallet::join`]. + */ +export interface NominationPoolsCall_join { + __kind: 'join' + amount: bigint + poolId: number +} + +/** + * See [`Pallet::nominate`]. + */ +export interface NominationPoolsCall_nominate { + __kind: 'nominate' + poolId: number + validators: AccountId32[] +} + +/** + * See [`Pallet::pool_withdraw_unbonded`]. + */ +export interface NominationPoolsCall_pool_withdraw_unbonded { + __kind: 'pool_withdraw_unbonded' + poolId: number + numSlashingSpans: number +} + +/** + * See [`Pallet::set_claim_permission`]. + */ +export interface NominationPoolsCall_set_claim_permission { + __kind: 'set_claim_permission' + permission: ClaimPermission +} + +/** + * See [`Pallet::set_commission`]. + */ +export interface NominationPoolsCall_set_commission { + __kind: 'set_commission' + poolId: number + newCommission?: ([Perbill, AccountId32] | undefined) +} + +/** + * See [`Pallet::set_commission_change_rate`]. + */ +export interface NominationPoolsCall_set_commission_change_rate { + __kind: 'set_commission_change_rate' + poolId: number + changeRate: CommissionChangeRate +} + +/** + * See [`Pallet::set_commission_claim_permission`]. + */ +export interface NominationPoolsCall_set_commission_claim_permission { + __kind: 'set_commission_claim_permission' + poolId: number + permission?: (CommissionClaimPermission | undefined) +} + +/** + * See [`Pallet::set_commission_max`]. + */ +export interface NominationPoolsCall_set_commission_max { + __kind: 'set_commission_max' + poolId: number + maxCommission: Perbill +} + +/** + * See [`Pallet::set_configs`]. + */ +export interface NominationPoolsCall_set_configs { + __kind: 'set_configs' + minJoinBond: Type_337 + minCreateBond: Type_337 + maxPools: Type_338 + maxMembers: Type_338 + maxMembersPerPool: Type_338 + globalMaxCommission: Type_339 +} + +/** + * See [`Pallet::set_metadata`]. + */ +export interface NominationPoolsCall_set_metadata { + __kind: 'set_metadata' + poolId: number + metadata: Bytes +} + +/** + * See [`Pallet::set_state`]. + */ +export interface NominationPoolsCall_set_state { + __kind: 'set_state' + poolId: number + state: PoolState +} + +/** + * See [`Pallet::unbond`]. + */ +export interface NominationPoolsCall_unbond { + __kind: 'unbond' + memberAccount: MultiAddress + unbondingPoints: bigint +} + +/** + * See [`Pallet::update_roles`]. + */ +export interface NominationPoolsCall_update_roles { + __kind: 'update_roles' + poolId: number + newRoot: Type_340 + newNominator: Type_340 + newBouncer: Type_340 +} + +/** + * See [`Pallet::withdraw_unbonded`]. + */ +export interface NominationPoolsCall_withdraw_unbonded { + __kind: 'withdraw_unbonded' + memberAccount: MultiAddress + numSlashingSpans: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NisCounterpartBalancesCall: sts.Type = sts.closedEnum(() => { + return { + force_adjust_total_issuance: sts.enumStruct({ + direction: AdjustmentDirection, + delta: sts.bigint(), + }), + force_set_balance: sts.enumStruct({ + who: MultiAddress, + newFree: sts.bigint(), + }), + force_transfer: sts.enumStruct({ + source: MultiAddress, + dest: MultiAddress, + value: sts.bigint(), + }), + force_unreserve: sts.enumStruct({ + who: MultiAddress, + amount: sts.bigint(), + }), + transfer_all: sts.enumStruct({ + dest: MultiAddress, + keepAlive: sts.boolean(), + }), + transfer_allow_death: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + transfer_keep_alive: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + upgrade_accounts: sts.enumStruct({ + who: sts.array(() => AccountId32), + }), + } +}) + +export const AdjustmentDirection: sts.Type = sts.closedEnum(() => { + return { + Decrease: sts.unit(), + Increase: sts.unit(), + } +}) + +export type AdjustmentDirection = AdjustmentDirection_Decrease | AdjustmentDirection_Increase + +export interface AdjustmentDirection_Decrease { + __kind: 'Decrease' +} + +export interface AdjustmentDirection_Increase { + __kind: 'Increase' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NisCounterpartBalancesCall = NisCounterpartBalancesCall_force_adjust_total_issuance | NisCounterpartBalancesCall_force_set_balance | NisCounterpartBalancesCall_force_transfer | NisCounterpartBalancesCall_force_unreserve | NisCounterpartBalancesCall_transfer_all | NisCounterpartBalancesCall_transfer_allow_death | NisCounterpartBalancesCall_transfer_keep_alive | NisCounterpartBalancesCall_upgrade_accounts + +/** + * See [`Pallet::force_adjust_total_issuance`]. + */ +export interface NisCounterpartBalancesCall_force_adjust_total_issuance { + __kind: 'force_adjust_total_issuance' + direction: AdjustmentDirection + delta: bigint +} + +/** + * See [`Pallet::force_set_balance`]. + */ +export interface NisCounterpartBalancesCall_force_set_balance { + __kind: 'force_set_balance' + who: MultiAddress + newFree: bigint +} + +/** + * See [`Pallet::force_transfer`]. + */ +export interface NisCounterpartBalancesCall_force_transfer { + __kind: 'force_transfer' + source: MultiAddress + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::force_unreserve`]. + */ +export interface NisCounterpartBalancesCall_force_unreserve { + __kind: 'force_unreserve' + who: MultiAddress + amount: bigint +} + +/** + * See [`Pallet::transfer_all`]. + */ +export interface NisCounterpartBalancesCall_transfer_all { + __kind: 'transfer_all' + dest: MultiAddress + keepAlive: boolean +} + +/** + * See [`Pallet::transfer_allow_death`]. + */ +export interface NisCounterpartBalancesCall_transfer_allow_death { + __kind: 'transfer_allow_death' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::transfer_keep_alive`]. + */ +export interface NisCounterpartBalancesCall_transfer_keep_alive { + __kind: 'transfer_keep_alive' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::upgrade_accounts`]. + */ +export interface NisCounterpartBalancesCall_upgrade_accounts { + __kind: 'upgrade_accounts' + who: AccountId32[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NisCall: sts.Type = sts.closedEnum(() => { + return { + communify: sts.enumStruct({ + index: sts.number(), + }), + fund_deficit: sts.unit(), + place_bid: sts.enumStruct({ + amount: sts.bigint(), + duration: sts.number(), + }), + privatize: sts.enumStruct({ + index: sts.number(), + }), + retract_bid: sts.enumStruct({ + amount: sts.bigint(), + duration: sts.number(), + }), + thaw_communal: sts.enumStruct({ + index: sts.number(), + }), + thaw_private: sts.enumStruct({ + index: sts.number(), + maybeProportion: sts.option(() => Perquintill), + }), + } +}) + +export const Perquintill = sts.bigint() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NisCall = NisCall_communify | NisCall_fund_deficit | NisCall_place_bid | NisCall_privatize | NisCall_retract_bid | NisCall_thaw_communal | NisCall_thaw_private + +/** + * See [`Pallet::communify`]. + */ +export interface NisCall_communify { + __kind: 'communify' + index: number +} + +/** + * See [`Pallet::fund_deficit`]. + */ +export interface NisCall_fund_deficit { + __kind: 'fund_deficit' +} + +/** + * See [`Pallet::place_bid`]. + */ +export interface NisCall_place_bid { + __kind: 'place_bid' + amount: bigint + duration: number +} + +/** + * See [`Pallet::privatize`]. + */ +export interface NisCall_privatize { + __kind: 'privatize' + index: number +} + +/** + * See [`Pallet::retract_bid`]. + */ +export interface NisCall_retract_bid { + __kind: 'retract_bid' + amount: bigint + duration: number +} + +/** + * See [`Pallet::thaw_communal`]. + */ +export interface NisCall_thaw_communal { + __kind: 'thaw_communal' + index: number +} + +/** + * See [`Pallet::thaw_private`]. + */ +export interface NisCall_thaw_private { + __kind: 'thaw_private' + index: number + maybeProportion?: (Perquintill | undefined) +} + +export type Perquintill = bigint + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const MultisigCall: sts.Type = sts.closedEnum(() => { + return { + approve_as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + maybeTimepoint: sts.option(() => Timepoint), + callHash: sts.bytes(), + maxWeight: Weight, + }), + as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + maybeTimepoint: sts.option(() => Timepoint), + call: Call, + maxWeight: Weight, + }), + as_multi_threshold_1: sts.enumStruct({ + otherSignatories: sts.array(() => AccountId32), + call: Call, + }), + cancel_as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + timepoint: Timepoint, + callHash: sts.bytes(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type MultisigCall = MultisigCall_approve_as_multi | MultisigCall_as_multi | MultisigCall_as_multi_threshold_1 | MultisigCall_cancel_as_multi + +/** + * See [`Pallet::approve_as_multi`]. + */ +export interface MultisigCall_approve_as_multi { + __kind: 'approve_as_multi' + threshold: number + otherSignatories: AccountId32[] + maybeTimepoint?: (Timepoint | undefined) + callHash: Bytes + maxWeight: Weight +} + +/** + * See [`Pallet::as_multi`]. + */ +export interface MultisigCall_as_multi { + __kind: 'as_multi' + threshold: number + otherSignatories: AccountId32[] + maybeTimepoint?: (Timepoint | undefined) + call: Call + maxWeight: Weight +} + +/** + * See [`Pallet::as_multi_threshold_1`]. + */ +export interface MultisigCall_as_multi_threshold_1 { + __kind: 'as_multi_threshold_1' + otherSignatories: AccountId32[] + call: Call +} + +/** + * See [`Pallet::cancel_as_multi`]. + */ +export interface MultisigCall_cancel_as_multi { + __kind: 'cancel_as_multi' + threshold: number + otherSignatories: AccountId32[] + timepoint: Timepoint + callHash: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const MessageQueueCall: sts.Type = sts.closedEnum(() => { + return { + execute_overweight: sts.enumStruct({ + messageOrigin: AggregateMessageOrigin, + page: sts.number(), + index: sts.number(), + weightLimit: Weight, + }), + reap_page: sts.enumStruct({ + messageOrigin: AggregateMessageOrigin, + pageIndex: sts.number(), + }), + } +}) + +export const AggregateMessageOrigin: sts.Type = sts.closedEnum(() => { + return { + Ump: UmpQueueId, + } +}) + +export const UmpQueueId: sts.Type = sts.closedEnum(() => { + return { + Para: Id, + } +}) + +export type UmpQueueId = UmpQueueId_Para + +export interface UmpQueueId_Para { + __kind: 'Para' + value: Id +} + +export type AggregateMessageOrigin = AggregateMessageOrigin_Ump + +export interface AggregateMessageOrigin_Ump { + __kind: 'Ump' + value: UmpQueueId +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type MessageQueueCall = MessageQueueCall_execute_overweight | MessageQueueCall_reap_page + +/** + * See [`Pallet::execute_overweight`]. + */ +export interface MessageQueueCall_execute_overweight { + __kind: 'execute_overweight' + messageOrigin: AggregateMessageOrigin + page: number + index: number + weightLimit: Weight +} + +/** + * See [`Pallet::reap_page`]. + */ +export interface MessageQueueCall_reap_page { + __kind: 'reap_page' + messageOrigin: AggregateMessageOrigin + pageIndex: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const InitializerCall: sts.Type = sts.closedEnum(() => { + return { + force_approve: sts.enumStruct({ + upTo: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type InitializerCall = InitializerCall_force_approve + +/** + * See [`Pallet::force_approve`]. + */ +export interface InitializerCall_force_approve { + __kind: 'force_approve' + upTo: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const IndicesCall: sts.Type = sts.closedEnum(() => { + return { + claim: sts.enumStruct({ + index: sts.number(), + }), + force_transfer: sts.enumStruct({ + new: MultiAddress, + index: sts.number(), + freeze: sts.boolean(), + }), + free: sts.enumStruct({ + index: sts.number(), + }), + freeze: sts.enumStruct({ + index: sts.number(), + }), + transfer: sts.enumStruct({ + new: MultiAddress, + index: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type IndicesCall = IndicesCall_claim | IndicesCall_force_transfer | IndicesCall_free | IndicesCall_freeze | IndicesCall_transfer + +/** + * See [`Pallet::claim`]. + */ +export interface IndicesCall_claim { + __kind: 'claim' + index: number +} + +/** + * See [`Pallet::force_transfer`]. + */ +export interface IndicesCall_force_transfer { + __kind: 'force_transfer' + new: MultiAddress + index: number + freeze: boolean +} + +/** + * See [`Pallet::free`]. + */ +export interface IndicesCall_free { + __kind: 'free' + index: number +} + +/** + * See [`Pallet::freeze`]. + */ +export interface IndicesCall_freeze { + __kind: 'freeze' + index: number +} + +/** + * See [`Pallet::transfer`]. + */ +export interface IndicesCall_transfer { + __kind: 'transfer' + new: MultiAddress + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const IdentityMigratorCall: sts.Type = sts.closedEnum(() => { + return { + poke_deposit: sts.enumStruct({ + who: AccountId32, + }), + reap_identity: sts.enumStruct({ + who: AccountId32, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type IdentityMigratorCall = IdentityMigratorCall_poke_deposit | IdentityMigratorCall_reap_identity + +/** + * See [`Pallet::poke_deposit`]. + */ +export interface IdentityMigratorCall_poke_deposit { + __kind: 'poke_deposit' + who: AccountId32 +} + +/** + * See [`Pallet::reap_identity`]. + */ +export interface IdentityMigratorCall_reap_identity { + __kind: 'reap_identity' + who: AccountId32 +} + +/** + * Identity pallet declaration. + */ +export const IdentityCall: sts.Type = sts.closedEnum(() => { + return { + accept_username: sts.enumStruct({ + username: BoundedVec, + }), + add_registrar: sts.enumStruct({ + account: MultiAddress, + }), + add_sub: sts.enumStruct({ + sub: MultiAddress, + data: Data, + }), + add_username_authority: sts.enumStruct({ + authority: MultiAddress, + suffix: sts.bytes(), + allocation: sts.number(), + }), + cancel_request: sts.enumStruct({ + regIndex: sts.number(), + }), + clear_identity: sts.unit(), + kill_identity: sts.enumStruct({ + target: MultiAddress, + }), + provide_judgement: sts.enumStruct({ + regIndex: sts.number(), + target: MultiAddress, + judgement: Judgement, + identity: H256, + }), + quit_sub: sts.unit(), + remove_dangling_username: sts.enumStruct({ + username: BoundedVec, + }), + remove_expired_approval: sts.enumStruct({ + username: BoundedVec, + }), + remove_sub: sts.enumStruct({ + sub: MultiAddress, + }), + remove_username_authority: sts.enumStruct({ + authority: MultiAddress, + }), + rename_sub: sts.enumStruct({ + sub: MultiAddress, + data: Data, + }), + request_judgement: sts.enumStruct({ + regIndex: sts.number(), + maxFee: sts.bigint(), + }), + set_account_id: sts.enumStruct({ + index: sts.number(), + new: MultiAddress, + }), + set_fee: sts.enumStruct({ + index: sts.number(), + fee: sts.bigint(), + }), + set_fields: sts.enumStruct({ + index: sts.number(), + fields: sts.bigint(), + }), + set_identity: sts.enumStruct({ + info: IdentityInfo, + }), + set_primary_username: sts.enumStruct({ + username: BoundedVec, + }), + set_subs: sts.enumStruct({ + subs: sts.array(() => sts.tuple(() => [AccountId32, Data])), + }), + set_username_for: sts.enumStruct({ + who: MultiAddress, + username: sts.bytes(), + signature: sts.option(() => MultiSignature), + }), + } +}) + +export const MultiSignature: sts.Type = sts.closedEnum(() => { + return { + Ecdsa: sts.bytes(), + Ed25519: sts.bytes(), + Sr25519: sts.bytes(), + } +}) + +export type MultiSignature = MultiSignature_Ecdsa | MultiSignature_Ed25519 | MultiSignature_Sr25519 + +export interface MultiSignature_Ecdsa { + __kind: 'Ecdsa' + value: Bytes +} + +export interface MultiSignature_Ed25519 { + __kind: 'Ed25519' + value: Bytes +} + +export interface MultiSignature_Sr25519 { + __kind: 'Sr25519' + value: Bytes +} + +export const IdentityInfo: sts.Type = sts.struct(() => { + return { + additional: sts.array(() => sts.tuple(() => [Data, Data])), + display: Data, + legal: Data, + web: Data, + riot: Data, + email: Data, + pgpFingerprint: sts.option(() => sts.bytes()), + image: Data, + twitter: Data, + } +}) + +export interface IdentityInfo { + additional: [Data, Data][] + display: Data + legal: Data + web: Data + riot: Data + email: Data + pgpFingerprint?: (Bytes | undefined) + image: Data + twitter: Data +} + +export type Data = Data_BlakeTwo256 | Data_Keccak256 | Data_None | Data_Raw0 | Data_Raw1 | Data_Raw10 | Data_Raw11 | Data_Raw12 | Data_Raw13 | Data_Raw14 | Data_Raw15 | Data_Raw16 | Data_Raw17 | Data_Raw18 | Data_Raw19 | Data_Raw2 | Data_Raw20 | Data_Raw21 | Data_Raw22 | Data_Raw23 | Data_Raw24 | Data_Raw25 | Data_Raw26 | Data_Raw27 | Data_Raw28 | Data_Raw29 | Data_Raw3 | Data_Raw30 | Data_Raw31 | Data_Raw32 | Data_Raw4 | Data_Raw5 | Data_Raw6 | Data_Raw7 | Data_Raw8 | Data_Raw9 | Data_Sha256 | Data_ShaThree256 + +export interface Data_BlakeTwo256 { + __kind: 'BlakeTwo256' + value: Bytes +} + +export interface Data_Keccak256 { + __kind: 'Keccak256' + value: Bytes +} + +export interface Data_None { + __kind: 'None' +} + +export interface Data_Raw0 { + __kind: 'Raw0' + value: Bytes +} + +export interface Data_Raw1 { + __kind: 'Raw1' + value: Bytes +} + +export interface Data_Raw10 { + __kind: 'Raw10' + value: Bytes +} + +export interface Data_Raw11 { + __kind: 'Raw11' + value: Bytes +} + +export interface Data_Raw12 { + __kind: 'Raw12' + value: Bytes +} + +export interface Data_Raw13 { + __kind: 'Raw13' + value: Bytes +} + +export interface Data_Raw14 { + __kind: 'Raw14' + value: Bytes +} + +export interface Data_Raw15 { + __kind: 'Raw15' + value: Bytes +} + +export interface Data_Raw16 { + __kind: 'Raw16' + value: Bytes +} + +export interface Data_Raw17 { + __kind: 'Raw17' + value: Bytes +} + +export interface Data_Raw18 { + __kind: 'Raw18' + value: Bytes +} + +export interface Data_Raw19 { + __kind: 'Raw19' + value: Bytes +} + +export interface Data_Raw2 { + __kind: 'Raw2' + value: Bytes +} + +export interface Data_Raw20 { + __kind: 'Raw20' + value: Bytes +} + +export interface Data_Raw21 { + __kind: 'Raw21' + value: Bytes +} + +export interface Data_Raw22 { + __kind: 'Raw22' + value: Bytes +} + +export interface Data_Raw23 { + __kind: 'Raw23' + value: Bytes +} + +export interface Data_Raw24 { + __kind: 'Raw24' + value: Bytes +} + +export interface Data_Raw25 { + __kind: 'Raw25' + value: Bytes +} + +export interface Data_Raw26 { + __kind: 'Raw26' + value: Bytes +} + +export interface Data_Raw27 { + __kind: 'Raw27' + value: Bytes +} + +export interface Data_Raw28 { + __kind: 'Raw28' + value: Bytes +} + +export interface Data_Raw29 { + __kind: 'Raw29' + value: Bytes +} + +export interface Data_Raw3 { + __kind: 'Raw3' + value: Bytes +} + +export interface Data_Raw30 { + __kind: 'Raw30' + value: Bytes +} + +export interface Data_Raw31 { + __kind: 'Raw31' + value: Bytes +} + +export interface Data_Raw32 { + __kind: 'Raw32' + value: Bytes +} + +export interface Data_Raw4 { + __kind: 'Raw4' + value: Bytes +} + +export interface Data_Raw5 { + __kind: 'Raw5' + value: Bytes +} + +export interface Data_Raw6 { + __kind: 'Raw6' + value: Bytes +} + +export interface Data_Raw7 { + __kind: 'Raw7' + value: Bytes +} + +export interface Data_Raw8 { + __kind: 'Raw8' + value: Bytes +} + +export interface Data_Raw9 { + __kind: 'Raw9' + value: Bytes +} + +export interface Data_Sha256 { + __kind: 'Sha256' + value: Bytes +} + +export interface Data_ShaThree256 { + __kind: 'ShaThree256' + value: Bytes +} + +export const Judgement: sts.Type = sts.closedEnum(() => { + return { + Erroneous: sts.unit(), + FeePaid: sts.bigint(), + KnownGood: sts.unit(), + LowQuality: sts.unit(), + OutOfDate: sts.unit(), + Reasonable: sts.unit(), + Unknown: sts.unit(), + } +}) + +export type Judgement = Judgement_Erroneous | Judgement_FeePaid | Judgement_KnownGood | Judgement_LowQuality | Judgement_OutOfDate | Judgement_Reasonable | Judgement_Unknown + +export interface Judgement_Erroneous { + __kind: 'Erroneous' +} + +export interface Judgement_FeePaid { + __kind: 'FeePaid' + value: bigint +} + +export interface Judgement_KnownGood { + __kind: 'KnownGood' +} + +export interface Judgement_LowQuality { + __kind: 'LowQuality' +} + +export interface Judgement_OutOfDate { + __kind: 'OutOfDate' +} + +export interface Judgement_Reasonable { + __kind: 'Reasonable' +} + +export interface Judgement_Unknown { + __kind: 'Unknown' +} + +export const Data: sts.Type = sts.closedEnum(() => { + return { + BlakeTwo256: sts.bytes(), + Keccak256: sts.bytes(), + None: sts.unit(), + Raw0: sts.bytes(), + Raw1: sts.bytes(), + Raw10: sts.bytes(), + Raw11: sts.bytes(), + Raw12: sts.bytes(), + Raw13: sts.bytes(), + Raw14: sts.bytes(), + Raw15: sts.bytes(), + Raw16: sts.bytes(), + Raw17: sts.bytes(), + Raw18: sts.bytes(), + Raw19: sts.bytes(), + Raw2: sts.bytes(), + Raw20: sts.bytes(), + Raw21: sts.bytes(), + Raw22: sts.bytes(), + Raw23: sts.bytes(), + Raw24: sts.bytes(), + Raw25: sts.bytes(), + Raw26: sts.bytes(), + Raw27: sts.bytes(), + Raw28: sts.bytes(), + Raw29: sts.bytes(), + Raw3: sts.bytes(), + Raw30: sts.bytes(), + Raw31: sts.bytes(), + Raw32: sts.bytes(), + Raw4: sts.bytes(), + Raw5: sts.bytes(), + Raw6: sts.bytes(), + Raw7: sts.bytes(), + Raw8: sts.bytes(), + Raw9: sts.bytes(), + Sha256: sts.bytes(), + ShaThree256: sts.bytes(), + } +}) + +export const BoundedVec = sts.bytes() + +/** + * Identity pallet declaration. + */ +export type IdentityCall = IdentityCall_accept_username | IdentityCall_add_registrar | IdentityCall_add_sub | IdentityCall_add_username_authority | IdentityCall_cancel_request | IdentityCall_clear_identity | IdentityCall_kill_identity | IdentityCall_provide_judgement | IdentityCall_quit_sub | IdentityCall_remove_dangling_username | IdentityCall_remove_expired_approval | IdentityCall_remove_sub | IdentityCall_remove_username_authority | IdentityCall_rename_sub | IdentityCall_request_judgement | IdentityCall_set_account_id | IdentityCall_set_fee | IdentityCall_set_fields | IdentityCall_set_identity | IdentityCall_set_primary_username | IdentityCall_set_subs | IdentityCall_set_username_for + +/** + * See [`Pallet::accept_username`]. + */ +export interface IdentityCall_accept_username { + __kind: 'accept_username' + username: BoundedVec +} + +/** + * See [`Pallet::add_registrar`]. + */ +export interface IdentityCall_add_registrar { + __kind: 'add_registrar' + account: MultiAddress +} + +/** + * See [`Pallet::add_sub`]. + */ +export interface IdentityCall_add_sub { + __kind: 'add_sub' + sub: MultiAddress + data: Data +} + +/** + * See [`Pallet::add_username_authority`]. + */ +export interface IdentityCall_add_username_authority { + __kind: 'add_username_authority' + authority: MultiAddress + suffix: Bytes + allocation: number +} + +/** + * See [`Pallet::cancel_request`]. + */ +export interface IdentityCall_cancel_request { + __kind: 'cancel_request' + regIndex: number +} + +/** + * See [`Pallet::clear_identity`]. + */ +export interface IdentityCall_clear_identity { + __kind: 'clear_identity' +} + +/** + * See [`Pallet::kill_identity`]. + */ +export interface IdentityCall_kill_identity { + __kind: 'kill_identity' + target: MultiAddress +} + +/** + * See [`Pallet::provide_judgement`]. + */ +export interface IdentityCall_provide_judgement { + __kind: 'provide_judgement' + regIndex: number + target: MultiAddress + judgement: Judgement + identity: H256 +} + +/** + * See [`Pallet::quit_sub`]. + */ +export interface IdentityCall_quit_sub { + __kind: 'quit_sub' +} + +/** + * See [`Pallet::remove_dangling_username`]. + */ +export interface IdentityCall_remove_dangling_username { + __kind: 'remove_dangling_username' + username: BoundedVec +} + +/** + * See [`Pallet::remove_expired_approval`]. + */ +export interface IdentityCall_remove_expired_approval { + __kind: 'remove_expired_approval' + username: BoundedVec +} + +/** + * See [`Pallet::remove_sub`]. + */ +export interface IdentityCall_remove_sub { + __kind: 'remove_sub' + sub: MultiAddress +} + +/** + * See [`Pallet::remove_username_authority`]. + */ +export interface IdentityCall_remove_username_authority { + __kind: 'remove_username_authority' + authority: MultiAddress +} + +/** + * See [`Pallet::rename_sub`]. + */ +export interface IdentityCall_rename_sub { + __kind: 'rename_sub' + sub: MultiAddress + data: Data +} + +/** + * See [`Pallet::request_judgement`]. + */ +export interface IdentityCall_request_judgement { + __kind: 'request_judgement' + regIndex: number + maxFee: bigint +} + +/** + * See [`Pallet::set_account_id`]. + */ +export interface IdentityCall_set_account_id { + __kind: 'set_account_id' + index: number + new: MultiAddress +} + +/** + * See [`Pallet::set_fee`]. + */ +export interface IdentityCall_set_fee { + __kind: 'set_fee' + index: number + fee: bigint +} + +/** + * See [`Pallet::set_fields`]. + */ +export interface IdentityCall_set_fields { + __kind: 'set_fields' + index: number + fields: bigint +} + +/** + * See [`Pallet::set_identity`]. + */ +export interface IdentityCall_set_identity { + __kind: 'set_identity' + info: IdentityInfo +} + +/** + * See [`Pallet::set_primary_username`]. + */ +export interface IdentityCall_set_primary_username { + __kind: 'set_primary_username' + username: BoundedVec +} + +/** + * See [`Pallet::set_subs`]. + */ +export interface IdentityCall_set_subs { + __kind: 'set_subs' + subs: [AccountId32, Data][] +} + +/** + * See [`Pallet::set_username_for`]. + */ +export interface IdentityCall_set_username_for { + __kind: 'set_username_for' + who: MultiAddress + username: Bytes + signature?: (MultiSignature | undefined) +} + +export type BoundedVec = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const HrmpCall: sts.Type = sts.closedEnum(() => { + return { + establish_system_channel: sts.enumStruct({ + sender: Id, + recipient: Id, + }), + force_clean_hrmp: sts.enumStruct({ + para: Id, + numInbound: sts.number(), + numOutbound: sts.number(), + }), + force_open_hrmp_channel: sts.enumStruct({ + sender: Id, + recipient: Id, + maxCapacity: sts.number(), + maxMessageSize: sts.number(), + }), + force_process_hrmp_close: sts.enumStruct({ + channels: sts.number(), + }), + force_process_hrmp_open: sts.enumStruct({ + channels: sts.number(), + }), + hrmp_accept_open_channel: sts.enumStruct({ + sender: Id, + }), + hrmp_cancel_open_request: sts.enumStruct({ + channelId: HrmpChannelId, + openRequests: sts.number(), + }), + hrmp_close_channel: sts.enumStruct({ + channelId: HrmpChannelId, + }), + hrmp_init_open_channel: sts.enumStruct({ + recipient: Id, + proposedMaxCapacity: sts.number(), + proposedMaxMessageSize: sts.number(), + }), + poke_channel_deposits: sts.enumStruct({ + sender: Id, + recipient: Id, + }), + } +}) + +export const HrmpChannelId: sts.Type = sts.struct(() => { + return { + sender: Id, + recipient: Id, + } +}) + +export interface HrmpChannelId { + sender: Id + recipient: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type HrmpCall = HrmpCall_establish_system_channel | HrmpCall_force_clean_hrmp | HrmpCall_force_open_hrmp_channel | HrmpCall_force_process_hrmp_close | HrmpCall_force_process_hrmp_open | HrmpCall_hrmp_accept_open_channel | HrmpCall_hrmp_cancel_open_request | HrmpCall_hrmp_close_channel | HrmpCall_hrmp_init_open_channel | HrmpCall_poke_channel_deposits + +/** + * See [`Pallet::establish_system_channel`]. + */ +export interface HrmpCall_establish_system_channel { + __kind: 'establish_system_channel' + sender: Id + recipient: Id +} + +/** + * See [`Pallet::force_clean_hrmp`]. + */ +export interface HrmpCall_force_clean_hrmp { + __kind: 'force_clean_hrmp' + para: Id + numInbound: number + numOutbound: number +} + +/** + * See [`Pallet::force_open_hrmp_channel`]. + */ +export interface HrmpCall_force_open_hrmp_channel { + __kind: 'force_open_hrmp_channel' + sender: Id + recipient: Id + maxCapacity: number + maxMessageSize: number +} + +/** + * See [`Pallet::force_process_hrmp_close`]. + */ +export interface HrmpCall_force_process_hrmp_close { + __kind: 'force_process_hrmp_close' + channels: number +} + +/** + * See [`Pallet::force_process_hrmp_open`]. + */ +export interface HrmpCall_force_process_hrmp_open { + __kind: 'force_process_hrmp_open' + channels: number +} + +/** + * See [`Pallet::hrmp_accept_open_channel`]. + */ +export interface HrmpCall_hrmp_accept_open_channel { + __kind: 'hrmp_accept_open_channel' + sender: Id +} + +/** + * See [`Pallet::hrmp_cancel_open_request`]. + */ +export interface HrmpCall_hrmp_cancel_open_request { + __kind: 'hrmp_cancel_open_request' + channelId: HrmpChannelId + openRequests: number +} + +/** + * See [`Pallet::hrmp_close_channel`]. + */ +export interface HrmpCall_hrmp_close_channel { + __kind: 'hrmp_close_channel' + channelId: HrmpChannelId +} + +/** + * See [`Pallet::hrmp_init_open_channel`]. + */ +export interface HrmpCall_hrmp_init_open_channel { + __kind: 'hrmp_init_open_channel' + recipient: Id + proposedMaxCapacity: number + proposedMaxMessageSize: number +} + +/** + * See [`Pallet::poke_channel_deposits`]. + */ +export interface HrmpCall_poke_channel_deposits { + __kind: 'poke_channel_deposits' + sender: Id + recipient: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const GrandpaCall: sts.Type = sts.closedEnum(() => { + return { + note_stalled: sts.enumStruct({ + delay: sts.number(), + bestFinalizedBlockNumber: sts.number(), + }), + report_equivocation: sts.enumStruct({ + equivocationProof: Type_142, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: Type_142, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const Type_142: sts.Type = sts.struct(() => { + return { + setId: sts.bigint(), + equivocation: Equivocation, + } +}) + +export const Equivocation: sts.Type = sts.closedEnum(() => { + return { + Precommit: Type_150, + Prevote: Type_144, + } +}) + +export const Type_144: sts.Type = sts.struct(() => { + return { + roundNumber: sts.bigint(), + identity: Public, + first: sts.tuple(() => [Prevote, Signature]), + second: sts.tuple(() => [Prevote, Signature]), + } +}) + +export const Signature = sts.bytes() + +export const Prevote: sts.Type = sts.struct(() => { + return { + targetHash: H256, + targetNumber: sts.number(), + } +}) + +export interface Prevote { + targetHash: H256 + targetNumber: number +} + +export interface Type_144 { + roundNumber: bigint + identity: Public + first: [Prevote, Signature] + second: [Prevote, Signature] +} + +export type Signature = Bytes + +export const Type_150: sts.Type = sts.struct(() => { + return { + roundNumber: sts.bigint(), + identity: Public, + first: sts.tuple(() => [Precommit, Signature]), + second: sts.tuple(() => [Precommit, Signature]), + } +}) + +export const Precommit: sts.Type = sts.struct(() => { + return { + targetHash: H256, + targetNumber: sts.number(), + } +}) + +export interface Precommit { + targetHash: H256 + targetNumber: number +} + +export interface Type_150 { + roundNumber: bigint + identity: Public + first: [Precommit, Signature] + second: [Precommit, Signature] +} + +export type Equivocation = Equivocation_Precommit | Equivocation_Prevote + +export interface Equivocation_Precommit { + __kind: 'Precommit' + value: Type_150 +} + +export interface Equivocation_Prevote { + __kind: 'Prevote' + value: Type_144 +} + +export interface Type_142 { + setId: bigint + equivocation: Equivocation +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type GrandpaCall = GrandpaCall_note_stalled | GrandpaCall_report_equivocation | GrandpaCall_report_equivocation_unsigned + +/** + * See [`Pallet::note_stalled`]. + */ +export interface GrandpaCall_note_stalled { + __kind: 'note_stalled' + delay: number + bestFinalizedBlockNumber: number +} + +/** + * See [`Pallet::report_equivocation`]. + */ +export interface GrandpaCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: Type_142 + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::report_equivocation_unsigned`]. + */ +export interface GrandpaCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: Type_142 + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FellowshipReferendaCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + index: sts.number(), + }), + kill: sts.enumStruct({ + index: sts.number(), + }), + nudge_referendum: sts.enumStruct({ + index: sts.number(), + }), + one_fewer_deciding: sts.enumStruct({ + track: sts.number(), + }), + place_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_submission_deposit: sts.enumStruct({ + index: sts.number(), + }), + set_metadata: sts.enumStruct({ + index: sts.number(), + maybeHash: sts.option(() => H256), + }), + submit: sts.enumStruct({ + proposalOrigin: OriginCaller, + proposal: Bounded, + enactmentMoment: DispatchTime, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FellowshipReferendaCall = FellowshipReferendaCall_cancel | FellowshipReferendaCall_kill | FellowshipReferendaCall_nudge_referendum | FellowshipReferendaCall_one_fewer_deciding | FellowshipReferendaCall_place_decision_deposit | FellowshipReferendaCall_refund_decision_deposit | FellowshipReferendaCall_refund_submission_deposit | FellowshipReferendaCall_set_metadata | FellowshipReferendaCall_submit + +/** + * See [`Pallet::cancel`]. + */ +export interface FellowshipReferendaCall_cancel { + __kind: 'cancel' + index: number +} + +/** + * See [`Pallet::kill`]. + */ +export interface FellowshipReferendaCall_kill { + __kind: 'kill' + index: number +} + +/** + * See [`Pallet::nudge_referendum`]. + */ +export interface FellowshipReferendaCall_nudge_referendum { + __kind: 'nudge_referendum' + index: number +} + +/** + * See [`Pallet::one_fewer_deciding`]. + */ +export interface FellowshipReferendaCall_one_fewer_deciding { + __kind: 'one_fewer_deciding' + track: number +} + +/** + * See [`Pallet::place_decision_deposit`]. + */ +export interface FellowshipReferendaCall_place_decision_deposit { + __kind: 'place_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_decision_deposit`]. + */ +export interface FellowshipReferendaCall_refund_decision_deposit { + __kind: 'refund_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_submission_deposit`]. + */ +export interface FellowshipReferendaCall_refund_submission_deposit { + __kind: 'refund_submission_deposit' + index: number +} + +/** + * See [`Pallet::set_metadata`]. + */ +export interface FellowshipReferendaCall_set_metadata { + __kind: 'set_metadata' + index: number + maybeHash?: (H256 | undefined) +} + +/** + * See [`Pallet::submit`]. + */ +export interface FellowshipReferendaCall_submit { + __kind: 'submit' + proposalOrigin: OriginCaller + proposal: Bounded + enactmentMoment: DispatchTime +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FellowshipCollectiveCall: sts.Type = sts.closedEnum(() => { + return { + add_member: sts.enumStruct({ + who: MultiAddress, + }), + cleanup_poll: sts.enumStruct({ + pollIndex: sts.number(), + max: sts.number(), + }), + demote_member: sts.enumStruct({ + who: MultiAddress, + }), + exchange_member: sts.enumStruct({ + who: MultiAddress, + newWho: MultiAddress, + }), + promote_member: sts.enumStruct({ + who: MultiAddress, + }), + remove_member: sts.enumStruct({ + who: MultiAddress, + minRank: sts.number(), + }), + vote: sts.enumStruct({ + poll: sts.number(), + aye: sts.boolean(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FellowshipCollectiveCall = FellowshipCollectiveCall_add_member | FellowshipCollectiveCall_cleanup_poll | FellowshipCollectiveCall_demote_member | FellowshipCollectiveCall_exchange_member | FellowshipCollectiveCall_promote_member | FellowshipCollectiveCall_remove_member | FellowshipCollectiveCall_vote + +/** + * See [`Pallet::add_member`]. + */ +export interface FellowshipCollectiveCall_add_member { + __kind: 'add_member' + who: MultiAddress +} + +/** + * See [`Pallet::cleanup_poll`]. + */ +export interface FellowshipCollectiveCall_cleanup_poll { + __kind: 'cleanup_poll' + pollIndex: number + max: number +} + +/** + * See [`Pallet::demote_member`]. + */ +export interface FellowshipCollectiveCall_demote_member { + __kind: 'demote_member' + who: MultiAddress +} + +/** + * See [`Pallet::exchange_member`]. + */ +export interface FellowshipCollectiveCall_exchange_member { + __kind: 'exchange_member' + who: MultiAddress + newWho: MultiAddress +} + +/** + * See [`Pallet::promote_member`]. + */ +export interface FellowshipCollectiveCall_promote_member { + __kind: 'promote_member' + who: MultiAddress +} + +/** + * See [`Pallet::remove_member`]. + */ +export interface FellowshipCollectiveCall_remove_member { + __kind: 'remove_member' + who: MultiAddress + minRank: number +} + +/** + * See [`Pallet::vote`]. + */ +export interface FellowshipCollectiveCall_vote { + __kind: 'vote' + poll: number + aye: boolean +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FastUnstakeCall: sts.Type = sts.closedEnum(() => { + return { + control: sts.enumStruct({ + erasToCheck: sts.number(), + }), + deregister: sts.unit(), + register_fast_unstake: sts.unit(), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FastUnstakeCall = FastUnstakeCall_control | FastUnstakeCall_deregister | FastUnstakeCall_register_fast_unstake + +/** + * See [`Pallet::control`]. + */ +export interface FastUnstakeCall_control { + __kind: 'control' + erasToCheck: number +} + +/** + * See [`Pallet::deregister`]. + */ +export interface FastUnstakeCall_deregister { + __kind: 'deregister' +} + +/** + * See [`Pallet::register_fast_unstake`]. + */ +export interface FastUnstakeCall_register_fast_unstake { + __kind: 'register_fast_unstake' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ElectionProviderMultiPhaseCall: sts.Type = sts.closedEnum(() => { + return { + governance_fallback: sts.enumStruct({ + maybeMaxVoters: sts.option(() => sts.number()), + maybeMaxTargets: sts.option(() => sts.number()), + }), + set_emergency_election_result: sts.enumStruct({ + supports: sts.array(() => sts.tuple(() => [AccountId32, Support])), + }), + set_minimum_untrusted_score: sts.enumStruct({ + maybeNextScore: sts.option(() => ElectionScore), + }), + submit: sts.enumStruct({ + rawSolution: RawSolution, + }), + submit_unsigned: sts.enumStruct({ + rawSolution: RawSolution, + witness: SolutionOrSnapshotSize, + }), + } +}) + +export const SolutionOrSnapshotSize: sts.Type = sts.struct(() => { + return { + voters: sts.number(), + targets: sts.number(), + } +}) + +export interface SolutionOrSnapshotSize { + voters: number + targets: number +} + +export const RawSolution: sts.Type = sts.struct(() => { + return { + solution: NposCompactSolution24, + score: ElectionScore, + round: sts.number(), + } +}) + +export const NposCompactSolution24: sts.Type = sts.struct(() => { + return { + votes1: sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), + votes2: sts.array(() => sts.tuple(() => [sts.number(), sts.tuple(() => [sts.number(), sts.number()]), sts.number()])), + votes3: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes4: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes5: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes6: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes7: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes8: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes9: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes10: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes11: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes12: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes13: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes14: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes15: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes16: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes17: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes18: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes19: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes20: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes21: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes22: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes23: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes24: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + } +}) + +export interface NposCompactSolution24 { + votes1: [number, number][] + votes2: [number, [number, number], number][] + votes3: [number, [number, number][], number][] + votes4: [number, [number, number][], number][] + votes5: [number, [number, number][], number][] + votes6: [number, [number, number][], number][] + votes7: [number, [number, number][], number][] + votes8: [number, [number, number][], number][] + votes9: [number, [number, number][], number][] + votes10: [number, [number, number][], number][] + votes11: [number, [number, number][], number][] + votes12: [number, [number, number][], number][] + votes13: [number, [number, number][], number][] + votes14: [number, [number, number][], number][] + votes15: [number, [number, number][], number][] + votes16: [number, [number, number][], number][] + votes17: [number, [number, number][], number][] + votes18: [number, [number, number][], number][] + votes19: [number, [number, number][], number][] + votes20: [number, [number, number][], number][] + votes21: [number, [number, number][], number][] + votes22: [number, [number, number][], number][] + votes23: [number, [number, number][], number][] + votes24: [number, [number, number][], number][] +} + +export interface RawSolution { + solution: NposCompactSolution24 + score: ElectionScore + round: number +} + +export interface ElectionScore { + minimalStake: bigint + sumStake: bigint + sumStakeSquared: bigint +} + +export const ElectionScore: sts.Type = sts.struct(() => { + return { + minimalStake: sts.bigint(), + sumStake: sts.bigint(), + sumStakeSquared: sts.bigint(), + } +}) + +export const Support: sts.Type = sts.struct(() => { + return { + total: sts.bigint(), + voters: sts.array(() => sts.tuple(() => [AccountId32, sts.bigint()])), + } +}) + +export interface Support { + total: bigint + voters: [AccountId32, bigint][] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ElectionProviderMultiPhaseCall = ElectionProviderMultiPhaseCall_governance_fallback | ElectionProviderMultiPhaseCall_set_emergency_election_result | ElectionProviderMultiPhaseCall_set_minimum_untrusted_score | ElectionProviderMultiPhaseCall_submit | ElectionProviderMultiPhaseCall_submit_unsigned + +/** + * See [`Pallet::governance_fallback`]. + */ +export interface ElectionProviderMultiPhaseCall_governance_fallback { + __kind: 'governance_fallback' + maybeMaxVoters?: (number | undefined) + maybeMaxTargets?: (number | undefined) +} + +/** + * See [`Pallet::set_emergency_election_result`]. + */ +export interface ElectionProviderMultiPhaseCall_set_emergency_election_result { + __kind: 'set_emergency_election_result' + supports: [AccountId32, Support][] +} + +/** + * See [`Pallet::set_minimum_untrusted_score`]. + */ +export interface ElectionProviderMultiPhaseCall_set_minimum_untrusted_score { + __kind: 'set_minimum_untrusted_score' + maybeNextScore?: (ElectionScore | undefined) +} + +/** + * See [`Pallet::submit`]. + */ +export interface ElectionProviderMultiPhaseCall_submit { + __kind: 'submit' + rawSolution: RawSolution +} + +/** + * See [`Pallet::submit_unsigned`]. + */ +export interface ElectionProviderMultiPhaseCall_submit_unsigned { + __kind: 'submit_unsigned' + rawSolution: RawSolution + witness: SolutionOrSnapshotSize +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const CrowdloanCall: sts.Type = sts.closedEnum(() => { + return { + add_memo: sts.enumStruct({ + index: Id, + memo: sts.bytes(), + }), + contribute: sts.enumStruct({ + index: sts.number(), + value: sts.bigint(), + signature: sts.option(() => MultiSignature), + }), + contribute_all: sts.enumStruct({ + index: sts.number(), + signature: sts.option(() => MultiSignature), + }), + create: sts.enumStruct({ + index: sts.number(), + cap: sts.bigint(), + firstPeriod: sts.number(), + lastPeriod: sts.number(), + end: sts.number(), + verifier: sts.option(() => MultiSigner), + }), + dissolve: sts.enumStruct({ + index: sts.number(), + }), + edit: sts.enumStruct({ + index: sts.number(), + cap: sts.bigint(), + firstPeriod: sts.number(), + lastPeriod: sts.number(), + end: sts.number(), + verifier: sts.option(() => MultiSigner), + }), + poke: sts.enumStruct({ + index: Id, + }), + refund: sts.enumStruct({ + index: sts.number(), + }), + withdraw: sts.enumStruct({ + who: AccountId32, + index: sts.number(), + }), + } +}) + +export const MultiSigner: sts.Type = sts.closedEnum(() => { + return { + Ecdsa: sts.bytes(), + Ed25519: sts.bytes(), + Sr25519: sts.bytes(), + } +}) + +export type MultiSigner = MultiSigner_Ecdsa | MultiSigner_Ed25519 | MultiSigner_Sr25519 + +export interface MultiSigner_Ecdsa { + __kind: 'Ecdsa' + value: Bytes +} + +export interface MultiSigner_Ed25519 { + __kind: 'Ed25519' + value: Bytes +} + +export interface MultiSigner_Sr25519 { + __kind: 'Sr25519' + value: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type CrowdloanCall = CrowdloanCall_add_memo | CrowdloanCall_contribute | CrowdloanCall_contribute_all | CrowdloanCall_create | CrowdloanCall_dissolve | CrowdloanCall_edit | CrowdloanCall_poke | CrowdloanCall_refund | CrowdloanCall_withdraw + +/** + * See [`Pallet::add_memo`]. + */ +export interface CrowdloanCall_add_memo { + __kind: 'add_memo' + index: Id + memo: Bytes +} + +/** + * See [`Pallet::contribute`]. + */ +export interface CrowdloanCall_contribute { + __kind: 'contribute' + index: number + value: bigint + signature?: (MultiSignature | undefined) +} + +/** + * See [`Pallet::contribute_all`]. + */ +export interface CrowdloanCall_contribute_all { + __kind: 'contribute_all' + index: number + signature?: (MultiSignature | undefined) +} + +/** + * See [`Pallet::create`]. + */ +export interface CrowdloanCall_create { + __kind: 'create' + index: number + cap: bigint + firstPeriod: number + lastPeriod: number + end: number + verifier?: (MultiSigner | undefined) +} + +/** + * See [`Pallet::dissolve`]. + */ +export interface CrowdloanCall_dissolve { + __kind: 'dissolve' + index: number +} + +/** + * See [`Pallet::edit`]. + */ +export interface CrowdloanCall_edit { + __kind: 'edit' + index: number + cap: bigint + firstPeriod: number + lastPeriod: number + end: number + verifier?: (MultiSigner | undefined) +} + +/** + * See [`Pallet::poke`]. + */ +export interface CrowdloanCall_poke { + __kind: 'poke' + index: Id +} + +/** + * See [`Pallet::refund`]. + */ +export interface CrowdloanCall_refund { + __kind: 'refund' + index: number +} + +/** + * See [`Pallet::withdraw`]. + */ +export interface CrowdloanCall_withdraw { + __kind: 'withdraw' + who: AccountId32 + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const CoretimeCall: sts.Type = sts.closedEnum(() => { + return { + assign_core: sts.enumStruct({ + core: sts.number(), + begin: sts.number(), + assignment: sts.array(() => sts.tuple(() => [CoreAssignment, PartsOf57600])), + endHint: sts.option(() => sts.number()), + }), + request_core_count: sts.enumStruct({ + count: sts.number(), + }), + } +}) + +export const PartsOf57600 = sts.number() + +export const CoreAssignment: sts.Type = sts.closedEnum(() => { + return { + Idle: sts.unit(), + Pool: sts.unit(), + Task: sts.number(), + } +}) + +export type CoreAssignment = CoreAssignment_Idle | CoreAssignment_Pool | CoreAssignment_Task + +export interface CoreAssignment_Idle { + __kind: 'Idle' +} + +export interface CoreAssignment_Pool { + __kind: 'Pool' +} + +export interface CoreAssignment_Task { + __kind: 'Task' + value: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type CoretimeCall = CoretimeCall_assign_core | CoretimeCall_request_core_count + +/** + * See [`Pallet::assign_core`]. + */ +export interface CoretimeCall_assign_core { + __kind: 'assign_core' + core: number + begin: number + assignment: [CoreAssignment, PartsOf57600][] + endHint?: (number | undefined) +} + +/** + * See [`Pallet::request_core_count`]. + */ +export interface CoretimeCall_request_core_count { + __kind: 'request_core_count' + count: number +} + +export type PartsOf57600 = number + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ConvictionVotingCall: sts.Type = sts.closedEnum(() => { + return { + delegate: sts.enumStruct({ + class: sts.number(), + to: MultiAddress, + conviction: Conviction, + balance: sts.bigint(), + }), + remove_other_vote: sts.enumStruct({ + target: MultiAddress, + class: sts.number(), + index: sts.number(), + }), + remove_vote: sts.enumStruct({ + class: sts.option(() => sts.number()), + index: sts.number(), + }), + undelegate: sts.enumStruct({ + class: sts.number(), + }), + unlock: sts.enumStruct({ + class: sts.number(), + target: MultiAddress, + }), + vote: sts.enumStruct({ + pollIndex: sts.number(), + vote: AccountVote, + }), + } +}) + +export const AccountVote: sts.Type = sts.closedEnum(() => { + return { + Split: sts.enumStruct({ + aye: sts.bigint(), + nay: sts.bigint(), + }), + SplitAbstain: sts.enumStruct({ + aye: sts.bigint(), + nay: sts.bigint(), + abstain: sts.bigint(), + }), + Standard: sts.enumStruct({ + vote: sts.number(), + balance: sts.bigint(), + }), + } +}) + +export type AccountVote = AccountVote_Split | AccountVote_SplitAbstain | AccountVote_Standard + +export interface AccountVote_Split { + __kind: 'Split' + aye: bigint + nay: bigint +} + +export interface AccountVote_SplitAbstain { + __kind: 'SplitAbstain' + aye: bigint + nay: bigint + abstain: bigint +} + +export interface AccountVote_Standard { + __kind: 'Standard' + vote: number + balance: bigint +} + +export const Conviction: sts.Type = sts.closedEnum(() => { + return { + Locked1x: sts.unit(), + Locked2x: sts.unit(), + Locked3x: sts.unit(), + Locked4x: sts.unit(), + Locked5x: sts.unit(), + Locked6x: sts.unit(), + None: sts.unit(), + } +}) + +export type Conviction = Conviction_Locked1x | Conviction_Locked2x | Conviction_Locked3x | Conviction_Locked4x | Conviction_Locked5x | Conviction_Locked6x | Conviction_None + +export interface Conviction_Locked1x { + __kind: 'Locked1x' +} + +export interface Conviction_Locked2x { + __kind: 'Locked2x' +} + +export interface Conviction_Locked3x { + __kind: 'Locked3x' +} + +export interface Conviction_Locked4x { + __kind: 'Locked4x' +} + +export interface Conviction_Locked5x { + __kind: 'Locked5x' +} + +export interface Conviction_Locked6x { + __kind: 'Locked6x' +} + +export interface Conviction_None { + __kind: 'None' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ConvictionVotingCall = ConvictionVotingCall_delegate | ConvictionVotingCall_remove_other_vote | ConvictionVotingCall_remove_vote | ConvictionVotingCall_undelegate | ConvictionVotingCall_unlock | ConvictionVotingCall_vote + +/** + * See [`Pallet::delegate`]. + */ +export interface ConvictionVotingCall_delegate { + __kind: 'delegate' + class: number + to: MultiAddress + conviction: Conviction + balance: bigint +} + +/** + * See [`Pallet::remove_other_vote`]. + */ +export interface ConvictionVotingCall_remove_other_vote { + __kind: 'remove_other_vote' + target: MultiAddress + class: number + index: number +} + +/** + * See [`Pallet::remove_vote`]. + */ +export interface ConvictionVotingCall_remove_vote { + __kind: 'remove_vote' + class?: (number | undefined) + index: number +} + +/** + * See [`Pallet::undelegate`]. + */ +export interface ConvictionVotingCall_undelegate { + __kind: 'undelegate' + class: number +} + +/** + * See [`Pallet::unlock`]. + */ +export interface ConvictionVotingCall_unlock { + __kind: 'unlock' + class: number + target: MultiAddress +} + +/** + * See [`Pallet::vote`]. + */ +export interface ConvictionVotingCall_vote { + __kind: 'vote' + pollIndex: number + vote: AccountVote +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ConfigurationCall: sts.Type = sts.closedEnum(() => { + return { + set_approval_voting_params: sts.enumStruct({ + new: ApprovalVotingParams, + }), + set_async_backing_params: sts.enumStruct({ + new: V6AsyncBackingParams, + }), + set_bypass_consistency_check: sts.enumStruct({ + new: sts.boolean(), + }), + set_code_retention_period: sts.enumStruct({ + new: sts.number(), + }), + set_coretime_cores: sts.enumStruct({ + new: sts.number(), + }), + set_dispute_period: sts.enumStruct({ + new: sts.number(), + }), + set_dispute_post_conclusion_acceptance_period: sts.enumStruct({ + new: sts.number(), + }), + set_executor_params: sts.enumStruct({ + new: sts.array(() => V6ExecutorParam), + }), + set_group_rotation_frequency: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_capacity: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_total_size: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_message_num_per_candidate: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_parachain_inbound_channels: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_parachain_outbound_channels: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_open_request_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_recipient_deposit: sts.enumStruct({ + new: sts.bigint(), + }), + set_hrmp_sender_deposit: sts.enumStruct({ + new: sts.bigint(), + }), + set_max_code_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_downward_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_head_data_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_pov_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_message_num_per_candidate: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_queue_count: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_queue_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_validators: sts.enumStruct({ + new: sts.option(() => sts.number()), + }), + set_max_validators_per_core: sts.enumStruct({ + new: sts.option(() => sts.number()), + }), + set_minimum_backing_votes: sts.enumStruct({ + new: sts.number(), + }), + set_minimum_validation_upgrade_delay: sts.enumStruct({ + new: sts.number(), + }), + set_n_delay_tranches: sts.enumStruct({ + new: sts.number(), + }), + set_needed_approvals: sts.enumStruct({ + new: sts.number(), + }), + set_no_show_slots: sts.enumStruct({ + new: sts.number(), + }), + set_node_feature: sts.enumStruct({ + index: sts.number(), + value: sts.boolean(), + }), + set_on_demand_base_fee: sts.enumStruct({ + new: sts.bigint(), + }), + set_on_demand_fee_variability: sts.enumStruct({ + new: Perbill, + }), + set_on_demand_queue_max_size: sts.enumStruct({ + new: sts.number(), + }), + set_on_demand_retries: sts.enumStruct({ + new: sts.number(), + }), + set_on_demand_target_queue_utilization: sts.enumStruct({ + new: Perbill, + }), + set_on_demand_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_paras_availability_period: sts.enumStruct({ + new: sts.number(), + }), + set_pvf_voting_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_relay_vrf_modulo_samples: sts.enumStruct({ + new: sts.number(), + }), + set_scheduling_lookahead: sts.enumStruct({ + new: sts.number(), + }), + set_validation_upgrade_cooldown: sts.enumStruct({ + new: sts.number(), + }), + set_validation_upgrade_delay: sts.enumStruct({ + new: sts.number(), + }), + set_zeroth_delay_tranche_width: sts.enumStruct({ + new: sts.number(), + }), + } +}) + +export const V6ExecutorParam: sts.Type = sts.closedEnum(() => { + return { + MaxMemoryPages: sts.number(), + PrecheckingMaxMemory: sts.bigint(), + PvfExecTimeout: sts.tuple(() => [V6PvfExecKind, sts.bigint()]), + PvfPrepTimeout: sts.tuple(() => [V6PvfPrepKind, sts.bigint()]), + StackLogicalMax: sts.number(), + StackNativeMax: sts.number(), + WasmExtBulkMemory: sts.unit(), + } +}) + +export const V6PvfPrepKind: sts.Type = sts.closedEnum(() => { + return { + Precheck: sts.unit(), + Prepare: sts.unit(), + } +}) + +export type V6PvfPrepKind = V6PvfPrepKind_Precheck | V6PvfPrepKind_Prepare + +export interface V6PvfPrepKind_Precheck { + __kind: 'Precheck' +} + +export interface V6PvfPrepKind_Prepare { + __kind: 'Prepare' +} + +export const V6PvfExecKind: sts.Type = sts.closedEnum(() => { + return { + Approval: sts.unit(), + Backing: sts.unit(), + } +}) + +export type V6PvfExecKind = V6PvfExecKind_Approval | V6PvfExecKind_Backing + +export interface V6PvfExecKind_Approval { + __kind: 'Approval' +} + +export interface V6PvfExecKind_Backing { + __kind: 'Backing' +} + +export type V6ExecutorParam = V6ExecutorParam_MaxMemoryPages | V6ExecutorParam_PrecheckingMaxMemory | V6ExecutorParam_PvfExecTimeout | V6ExecutorParam_PvfPrepTimeout | V6ExecutorParam_StackLogicalMax | V6ExecutorParam_StackNativeMax | V6ExecutorParam_WasmExtBulkMemory + +export interface V6ExecutorParam_MaxMemoryPages { + __kind: 'MaxMemoryPages' + value: number +} + +export interface V6ExecutorParam_PrecheckingMaxMemory { + __kind: 'PrecheckingMaxMemory' + value: bigint +} + +export interface V6ExecutorParam_PvfExecTimeout { + __kind: 'PvfExecTimeout' + value: [V6PvfExecKind, bigint] +} + +export interface V6ExecutorParam_PvfPrepTimeout { + __kind: 'PvfPrepTimeout' + value: [V6PvfPrepKind, bigint] +} + +export interface V6ExecutorParam_StackLogicalMax { + __kind: 'StackLogicalMax' + value: number +} + +export interface V6ExecutorParam_StackNativeMax { + __kind: 'StackNativeMax' + value: number +} + +export interface V6ExecutorParam_WasmExtBulkMemory { + __kind: 'WasmExtBulkMemory' +} + +export const V6AsyncBackingParams: sts.Type = sts.struct(() => { + return { + maxCandidateDepth: sts.number(), + allowedAncestryLen: sts.number(), + } +}) + +export interface V6AsyncBackingParams { + maxCandidateDepth: number + allowedAncestryLen: number +} + +export const ApprovalVotingParams: sts.Type = sts.struct(() => { + return { + maxApprovalCoalesceCount: sts.number(), + } +}) + +export interface ApprovalVotingParams { + maxApprovalCoalesceCount: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ConfigurationCall = ConfigurationCall_set_approval_voting_params | ConfigurationCall_set_async_backing_params | ConfigurationCall_set_bypass_consistency_check | ConfigurationCall_set_code_retention_period | ConfigurationCall_set_coretime_cores | ConfigurationCall_set_dispute_period | ConfigurationCall_set_dispute_post_conclusion_acceptance_period | ConfigurationCall_set_executor_params | ConfigurationCall_set_group_rotation_frequency | ConfigurationCall_set_hrmp_channel_max_capacity | ConfigurationCall_set_hrmp_channel_max_message_size | ConfigurationCall_set_hrmp_channel_max_total_size | ConfigurationCall_set_hrmp_max_message_num_per_candidate | ConfigurationCall_set_hrmp_max_parachain_inbound_channels | ConfigurationCall_set_hrmp_max_parachain_outbound_channels | ConfigurationCall_set_hrmp_open_request_ttl | ConfigurationCall_set_hrmp_recipient_deposit | ConfigurationCall_set_hrmp_sender_deposit | ConfigurationCall_set_max_code_size | ConfigurationCall_set_max_downward_message_size | ConfigurationCall_set_max_head_data_size | ConfigurationCall_set_max_pov_size | ConfigurationCall_set_max_upward_message_num_per_candidate | ConfigurationCall_set_max_upward_message_size | ConfigurationCall_set_max_upward_queue_count | ConfigurationCall_set_max_upward_queue_size | ConfigurationCall_set_max_validators | ConfigurationCall_set_max_validators_per_core | ConfigurationCall_set_minimum_backing_votes | ConfigurationCall_set_minimum_validation_upgrade_delay | ConfigurationCall_set_n_delay_tranches | ConfigurationCall_set_needed_approvals | ConfigurationCall_set_no_show_slots | ConfigurationCall_set_node_feature | ConfigurationCall_set_on_demand_base_fee | ConfigurationCall_set_on_demand_fee_variability | ConfigurationCall_set_on_demand_queue_max_size | ConfigurationCall_set_on_demand_retries | ConfigurationCall_set_on_demand_target_queue_utilization | ConfigurationCall_set_on_demand_ttl | ConfigurationCall_set_paras_availability_period | ConfigurationCall_set_pvf_voting_ttl | ConfigurationCall_set_relay_vrf_modulo_samples | ConfigurationCall_set_scheduling_lookahead | ConfigurationCall_set_validation_upgrade_cooldown | ConfigurationCall_set_validation_upgrade_delay | ConfigurationCall_set_zeroth_delay_tranche_width + +/** + * See [`Pallet::set_approval_voting_params`]. + */ +export interface ConfigurationCall_set_approval_voting_params { + __kind: 'set_approval_voting_params' + new: ApprovalVotingParams +} + +/** + * See [`Pallet::set_async_backing_params`]. + */ +export interface ConfigurationCall_set_async_backing_params { + __kind: 'set_async_backing_params' + new: V6AsyncBackingParams +} + +/** + * See [`Pallet::set_bypass_consistency_check`]. + */ +export interface ConfigurationCall_set_bypass_consistency_check { + __kind: 'set_bypass_consistency_check' + new: boolean +} + +/** + * See [`Pallet::set_code_retention_period`]. + */ +export interface ConfigurationCall_set_code_retention_period { + __kind: 'set_code_retention_period' + new: number +} + +/** + * See [`Pallet::set_coretime_cores`]. + */ +export interface ConfigurationCall_set_coretime_cores { + __kind: 'set_coretime_cores' + new: number +} + +/** + * See [`Pallet::set_dispute_period`]. + */ +export interface ConfigurationCall_set_dispute_period { + __kind: 'set_dispute_period' + new: number +} + +/** + * See [`Pallet::set_dispute_post_conclusion_acceptance_period`]. + */ +export interface ConfigurationCall_set_dispute_post_conclusion_acceptance_period { + __kind: 'set_dispute_post_conclusion_acceptance_period' + new: number +} + +/** + * See [`Pallet::set_executor_params`]. + */ +export interface ConfigurationCall_set_executor_params { + __kind: 'set_executor_params' + new: V6ExecutorParam[] +} + +/** + * See [`Pallet::set_group_rotation_frequency`]. + */ +export interface ConfigurationCall_set_group_rotation_frequency { + __kind: 'set_group_rotation_frequency' + new: number +} + +/** + * See [`Pallet::set_hrmp_channel_max_capacity`]. + */ +export interface ConfigurationCall_set_hrmp_channel_max_capacity { + __kind: 'set_hrmp_channel_max_capacity' + new: number +} + +/** + * See [`Pallet::set_hrmp_channel_max_message_size`]. + */ +export interface ConfigurationCall_set_hrmp_channel_max_message_size { + __kind: 'set_hrmp_channel_max_message_size' + new: number +} + +/** + * See [`Pallet::set_hrmp_channel_max_total_size`]. + */ +export interface ConfigurationCall_set_hrmp_channel_max_total_size { + __kind: 'set_hrmp_channel_max_total_size' + new: number +} + +/** + * See [`Pallet::set_hrmp_max_message_num_per_candidate`]. + */ +export interface ConfigurationCall_set_hrmp_max_message_num_per_candidate { + __kind: 'set_hrmp_max_message_num_per_candidate' + new: number +} + +/** + * See [`Pallet::set_hrmp_max_parachain_inbound_channels`]. + */ +export interface ConfigurationCall_set_hrmp_max_parachain_inbound_channels { + __kind: 'set_hrmp_max_parachain_inbound_channels' + new: number +} + +/** + * See [`Pallet::set_hrmp_max_parachain_outbound_channels`]. + */ +export interface ConfigurationCall_set_hrmp_max_parachain_outbound_channels { + __kind: 'set_hrmp_max_parachain_outbound_channels' + new: number +} + +/** + * See [`Pallet::set_hrmp_open_request_ttl`]. + */ +export interface ConfigurationCall_set_hrmp_open_request_ttl { + __kind: 'set_hrmp_open_request_ttl' + new: number +} + +/** + * See [`Pallet::set_hrmp_recipient_deposit`]. + */ +export interface ConfigurationCall_set_hrmp_recipient_deposit { + __kind: 'set_hrmp_recipient_deposit' + new: bigint +} + +/** + * See [`Pallet::set_hrmp_sender_deposit`]. + */ +export interface ConfigurationCall_set_hrmp_sender_deposit { + __kind: 'set_hrmp_sender_deposit' + new: bigint +} + +/** + * See [`Pallet::set_max_code_size`]. + */ +export interface ConfigurationCall_set_max_code_size { + __kind: 'set_max_code_size' + new: number +} + +/** + * See [`Pallet::set_max_downward_message_size`]. + */ +export interface ConfigurationCall_set_max_downward_message_size { + __kind: 'set_max_downward_message_size' + new: number +} + +/** + * See [`Pallet::set_max_head_data_size`]. + */ +export interface ConfigurationCall_set_max_head_data_size { + __kind: 'set_max_head_data_size' + new: number +} + +/** + * See [`Pallet::set_max_pov_size`]. + */ +export interface ConfigurationCall_set_max_pov_size { + __kind: 'set_max_pov_size' + new: number +} + +/** + * See [`Pallet::set_max_upward_message_num_per_candidate`]. + */ +export interface ConfigurationCall_set_max_upward_message_num_per_candidate { + __kind: 'set_max_upward_message_num_per_candidate' + new: number +} + +/** + * See [`Pallet::set_max_upward_message_size`]. + */ +export interface ConfigurationCall_set_max_upward_message_size { + __kind: 'set_max_upward_message_size' + new: number +} + +/** + * See [`Pallet::set_max_upward_queue_count`]. + */ +export interface ConfigurationCall_set_max_upward_queue_count { + __kind: 'set_max_upward_queue_count' + new: number +} + +/** + * See [`Pallet::set_max_upward_queue_size`]. + */ +export interface ConfigurationCall_set_max_upward_queue_size { + __kind: 'set_max_upward_queue_size' + new: number +} + +/** + * See [`Pallet::set_max_validators`]. + */ +export interface ConfigurationCall_set_max_validators { + __kind: 'set_max_validators' + new?: (number | undefined) +} + +/** + * See [`Pallet::set_max_validators_per_core`]. + */ +export interface ConfigurationCall_set_max_validators_per_core { + __kind: 'set_max_validators_per_core' + new?: (number | undefined) +} + +/** + * See [`Pallet::set_minimum_backing_votes`]. + */ +export interface ConfigurationCall_set_minimum_backing_votes { + __kind: 'set_minimum_backing_votes' + new: number +} + +/** + * See [`Pallet::set_minimum_validation_upgrade_delay`]. + */ +export interface ConfigurationCall_set_minimum_validation_upgrade_delay { + __kind: 'set_minimum_validation_upgrade_delay' + new: number +} + +/** + * See [`Pallet::set_n_delay_tranches`]. + */ +export interface ConfigurationCall_set_n_delay_tranches { + __kind: 'set_n_delay_tranches' + new: number +} + +/** + * See [`Pallet::set_needed_approvals`]. + */ +export interface ConfigurationCall_set_needed_approvals { + __kind: 'set_needed_approvals' + new: number +} + +/** + * See [`Pallet::set_no_show_slots`]. + */ +export interface ConfigurationCall_set_no_show_slots { + __kind: 'set_no_show_slots' + new: number +} + +/** + * See [`Pallet::set_node_feature`]. + */ +export interface ConfigurationCall_set_node_feature { + __kind: 'set_node_feature' + index: number + value: boolean +} + +/** + * See [`Pallet::set_on_demand_base_fee`]. + */ +export interface ConfigurationCall_set_on_demand_base_fee { + __kind: 'set_on_demand_base_fee' + new: bigint +} + +/** + * See [`Pallet::set_on_demand_fee_variability`]. + */ +export interface ConfigurationCall_set_on_demand_fee_variability { + __kind: 'set_on_demand_fee_variability' + new: Perbill +} + +/** + * See [`Pallet::set_on_demand_queue_max_size`]. + */ +export interface ConfigurationCall_set_on_demand_queue_max_size { + __kind: 'set_on_demand_queue_max_size' + new: number +} + +/** + * See [`Pallet::set_on_demand_retries`]. + */ +export interface ConfigurationCall_set_on_demand_retries { + __kind: 'set_on_demand_retries' + new: number +} + +/** + * See [`Pallet::set_on_demand_target_queue_utilization`]. + */ +export interface ConfigurationCall_set_on_demand_target_queue_utilization { + __kind: 'set_on_demand_target_queue_utilization' + new: Perbill +} + +/** + * See [`Pallet::set_on_demand_ttl`]. + */ +export interface ConfigurationCall_set_on_demand_ttl { + __kind: 'set_on_demand_ttl' + new: number +} + +/** + * See [`Pallet::set_paras_availability_period`]. + */ +export interface ConfigurationCall_set_paras_availability_period { + __kind: 'set_paras_availability_period' + new: number +} + +/** + * See [`Pallet::set_pvf_voting_ttl`]. + */ +export interface ConfigurationCall_set_pvf_voting_ttl { + __kind: 'set_pvf_voting_ttl' + new: number +} + +/** + * See [`Pallet::set_relay_vrf_modulo_samples`]. + */ +export interface ConfigurationCall_set_relay_vrf_modulo_samples { + __kind: 'set_relay_vrf_modulo_samples' + new: number +} + +/** + * See [`Pallet::set_scheduling_lookahead`]. + */ +export interface ConfigurationCall_set_scheduling_lookahead { + __kind: 'set_scheduling_lookahead' + new: number +} + +/** + * See [`Pallet::set_validation_upgrade_cooldown`]. + */ +export interface ConfigurationCall_set_validation_upgrade_cooldown { + __kind: 'set_validation_upgrade_cooldown' + new: number +} + +/** + * See [`Pallet::set_validation_upgrade_delay`]. + */ +export interface ConfigurationCall_set_validation_upgrade_delay { + __kind: 'set_validation_upgrade_delay' + new: number +} + +/** + * See [`Pallet::set_zeroth_delay_tranche_width`]. + */ +export interface ConfigurationCall_set_zeroth_delay_tranche_width { + __kind: 'set_zeroth_delay_tranche_width' + new: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ClaimsCall: sts.Type = sts.closedEnum(() => { + return { + attest: sts.enumStruct({ + statement: sts.bytes(), + }), + claim: sts.enumStruct({ + dest: AccountId32, + ethereumSignature: EcdsaSignature, + }), + claim_attest: sts.enumStruct({ + dest: AccountId32, + ethereumSignature: EcdsaSignature, + statement: sts.bytes(), + }), + mint_claim: sts.enumStruct({ + who: EthereumAddress, + value: sts.bigint(), + vestingSchedule: sts.option(() => sts.tuple(() => [sts.bigint(), sts.bigint(), sts.number()])), + statement: sts.option(() => StatementKind), + }), + move_claim: sts.enumStruct({ + old: EthereumAddress, + new: EthereumAddress, + maybePreclaim: sts.option(() => AccountId32), + }), + } +}) + +export const StatementKind: sts.Type = sts.closedEnum(() => { + return { + Regular: sts.unit(), + Saft: sts.unit(), + } +}) + +export type StatementKind = StatementKind_Regular | StatementKind_Saft + +export interface StatementKind_Regular { + __kind: 'Regular' +} + +export interface StatementKind_Saft { + __kind: 'Saft' +} + +export const EthereumAddress = sts.bytes() + +export const EcdsaSignature = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ClaimsCall = ClaimsCall_attest | ClaimsCall_claim | ClaimsCall_claim_attest | ClaimsCall_mint_claim | ClaimsCall_move_claim + +/** + * See [`Pallet::attest`]. + */ +export interface ClaimsCall_attest { + __kind: 'attest' + statement: Bytes +} + +/** + * See [`Pallet::claim`]. + */ +export interface ClaimsCall_claim { + __kind: 'claim' + dest: AccountId32 + ethereumSignature: EcdsaSignature +} + +/** + * See [`Pallet::claim_attest`]. + */ +export interface ClaimsCall_claim_attest { + __kind: 'claim_attest' + dest: AccountId32 + ethereumSignature: EcdsaSignature + statement: Bytes +} + +/** + * See [`Pallet::mint_claim`]. + */ +export interface ClaimsCall_mint_claim { + __kind: 'mint_claim' + who: EthereumAddress + value: bigint + vestingSchedule?: ([bigint, bigint, number] | undefined) + statement?: (StatementKind | undefined) +} + +/** + * See [`Pallet::move_claim`]. + */ +export interface ClaimsCall_move_claim { + __kind: 'move_claim' + old: EthereumAddress + new: EthereumAddress + maybePreclaim?: (AccountId32 | undefined) +} + +export type EthereumAddress = Bytes + +export type EcdsaSignature = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ChildBountiesCall: sts.Type = sts.closedEnum(() => { + return { + accept_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + add_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + value: sts.bigint(), + description: sts.bytes(), + }), + award_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + beneficiary: MultiAddress, + }), + claim_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + close_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + propose_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + curator: MultiAddress, + fee: sts.bigint(), + }), + unassign_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ChildBountiesCall = ChildBountiesCall_accept_curator | ChildBountiesCall_add_child_bounty | ChildBountiesCall_award_child_bounty | ChildBountiesCall_claim_child_bounty | ChildBountiesCall_close_child_bounty | ChildBountiesCall_propose_curator | ChildBountiesCall_unassign_curator + +/** + * See [`Pallet::accept_curator`]. + */ +export interface ChildBountiesCall_accept_curator { + __kind: 'accept_curator' + parentBountyId: number + childBountyId: number +} + +/** + * See [`Pallet::add_child_bounty`]. + */ +export interface ChildBountiesCall_add_child_bounty { + __kind: 'add_child_bounty' + parentBountyId: number + value: bigint + description: Bytes +} + +/** + * See [`Pallet::award_child_bounty`]. + */ +export interface ChildBountiesCall_award_child_bounty { + __kind: 'award_child_bounty' + parentBountyId: number + childBountyId: number + beneficiary: MultiAddress +} + +/** + * See [`Pallet::claim_child_bounty`]. + */ +export interface ChildBountiesCall_claim_child_bounty { + __kind: 'claim_child_bounty' + parentBountyId: number + childBountyId: number +} + +/** + * See [`Pallet::close_child_bounty`]. + */ +export interface ChildBountiesCall_close_child_bounty { + __kind: 'close_child_bounty' + parentBountyId: number + childBountyId: number +} + +/** + * See [`Pallet::propose_curator`]. + */ +export interface ChildBountiesCall_propose_curator { + __kind: 'propose_curator' + parentBountyId: number + childBountyId: number + curator: MultiAddress + fee: bigint +} + +/** + * See [`Pallet::unassign_curator`]. + */ +export interface ChildBountiesCall_unassign_curator { + __kind: 'unassign_curator' + parentBountyId: number + childBountyId: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BountiesCall: sts.Type = sts.closedEnum(() => { + return { + accept_curator: sts.enumStruct({ + bountyId: sts.number(), + }), + approve_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + award_bounty: sts.enumStruct({ + bountyId: sts.number(), + beneficiary: MultiAddress, + }), + claim_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + close_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + extend_bounty_expiry: sts.enumStruct({ + bountyId: sts.number(), + remark: sts.bytes(), + }), + propose_bounty: sts.enumStruct({ + value: sts.bigint(), + description: sts.bytes(), + }), + propose_curator: sts.enumStruct({ + bountyId: sts.number(), + curator: MultiAddress, + fee: sts.bigint(), + }), + unassign_curator: sts.enumStruct({ + bountyId: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BountiesCall = BountiesCall_accept_curator | BountiesCall_approve_bounty | BountiesCall_award_bounty | BountiesCall_claim_bounty | BountiesCall_close_bounty | BountiesCall_extend_bounty_expiry | BountiesCall_propose_bounty | BountiesCall_propose_curator | BountiesCall_unassign_curator + +/** + * See [`Pallet::accept_curator`]. + */ +export interface BountiesCall_accept_curator { + __kind: 'accept_curator' + bountyId: number +} + +/** + * See [`Pallet::approve_bounty`]. + */ +export interface BountiesCall_approve_bounty { + __kind: 'approve_bounty' + bountyId: number +} + +/** + * See [`Pallet::award_bounty`]. + */ +export interface BountiesCall_award_bounty { + __kind: 'award_bounty' + bountyId: number + beneficiary: MultiAddress +} + +/** + * See [`Pallet::claim_bounty`]. + */ +export interface BountiesCall_claim_bounty { + __kind: 'claim_bounty' + bountyId: number +} + +/** + * See [`Pallet::close_bounty`]. + */ +export interface BountiesCall_close_bounty { + __kind: 'close_bounty' + bountyId: number +} + +/** + * See [`Pallet::extend_bounty_expiry`]. + */ +export interface BountiesCall_extend_bounty_expiry { + __kind: 'extend_bounty_expiry' + bountyId: number + remark: Bytes +} + +/** + * See [`Pallet::propose_bounty`]. + */ +export interface BountiesCall_propose_bounty { + __kind: 'propose_bounty' + value: bigint + description: Bytes +} + +/** + * See [`Pallet::propose_curator`]. + */ +export interface BountiesCall_propose_curator { + __kind: 'propose_curator' + bountyId: number + curator: MultiAddress + fee: bigint +} + +/** + * See [`Pallet::unassign_curator`]. + */ +export interface BountiesCall_unassign_curator { + __kind: 'unassign_curator' + bountyId: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BeefyCall: sts.Type = sts.closedEnum(() => { + return { + report_equivocation: sts.enumStruct({ + equivocationProof: Type_499, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: Type_499, + keyOwnerProof: MembershipProof, + }), + set_new_genesis: sts.enumStruct({ + delayInBlocks: sts.number(), + }), + } +}) + +export const Type_499: sts.Type = sts.struct(() => { + return { + first: VoteMessage, + second: VoteMessage, + } +}) + +export const VoteMessage: sts.Type = sts.struct(() => { + return { + commitment: Commitment, + id: sts.bytes(), + signature: sts.bytes(), + } +}) + +export const Commitment: sts.Type = sts.struct(() => { + return { + payload: sts.array(() => sts.tuple(() => [sts.bytes(), sts.bytes()])), + blockNumber: sts.number(), + validatorSetId: sts.bigint(), + } +}) + +export interface Commitment { + payload: [Bytes, Bytes][] + blockNumber: number + validatorSetId: bigint +} + +export interface VoteMessage { + commitment: Commitment + id: Bytes + signature: Bytes +} + +export interface Type_499 { + first: VoteMessage + second: VoteMessage +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BeefyCall = BeefyCall_report_equivocation | BeefyCall_report_equivocation_unsigned | BeefyCall_set_new_genesis + +/** + * See [`Pallet::report_equivocation`]. + */ +export interface BeefyCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: Type_499 + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::report_equivocation_unsigned`]. + */ +export interface BeefyCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: Type_499 + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::set_new_genesis`]. + */ +export interface BeefyCall_set_new_genesis { + __kind: 'set_new_genesis' + delayInBlocks: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BalancesCall: sts.Type = sts.closedEnum(() => { + return { + force_adjust_total_issuance: sts.enumStruct({ + direction: AdjustmentDirection, + delta: sts.bigint(), + }), + force_set_balance: sts.enumStruct({ + who: MultiAddress, + newFree: sts.bigint(), + }), + force_transfer: sts.enumStruct({ + source: MultiAddress, + dest: MultiAddress, + value: sts.bigint(), + }), + force_unreserve: sts.enumStruct({ + who: MultiAddress, + amount: sts.bigint(), + }), + transfer_all: sts.enumStruct({ + dest: MultiAddress, + keepAlive: sts.boolean(), + }), + transfer_allow_death: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + transfer_keep_alive: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + upgrade_accounts: sts.enumStruct({ + who: sts.array(() => AccountId32), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BalancesCall = BalancesCall_force_adjust_total_issuance | BalancesCall_force_set_balance | BalancesCall_force_transfer | BalancesCall_force_unreserve | BalancesCall_transfer_all | BalancesCall_transfer_allow_death | BalancesCall_transfer_keep_alive | BalancesCall_upgrade_accounts + +/** + * See [`Pallet::force_adjust_total_issuance`]. + */ +export interface BalancesCall_force_adjust_total_issuance { + __kind: 'force_adjust_total_issuance' + direction: AdjustmentDirection + delta: bigint +} + +/** + * See [`Pallet::force_set_balance`]. + */ +export interface BalancesCall_force_set_balance { + __kind: 'force_set_balance' + who: MultiAddress + newFree: bigint +} + +/** + * See [`Pallet::force_transfer`]. + */ +export interface BalancesCall_force_transfer { + __kind: 'force_transfer' + source: MultiAddress + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::force_unreserve`]. + */ +export interface BalancesCall_force_unreserve { + __kind: 'force_unreserve' + who: MultiAddress + amount: bigint +} + +/** + * See [`Pallet::transfer_all`]. + */ +export interface BalancesCall_transfer_all { + __kind: 'transfer_all' + dest: MultiAddress + keepAlive: boolean +} + +/** + * See [`Pallet::transfer_allow_death`]. + */ +export interface BalancesCall_transfer_allow_death { + __kind: 'transfer_allow_death' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::transfer_keep_alive`]. + */ +export interface BalancesCall_transfer_keep_alive { + __kind: 'transfer_keep_alive' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::upgrade_accounts`]. + */ +export interface BalancesCall_upgrade_accounts { + __kind: 'upgrade_accounts' + who: AccountId32[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BabeCall: sts.Type = sts.closedEnum(() => { + return { + plan_config_change: sts.enumStruct({ + config: NextConfigDescriptor, + }), + report_equivocation: sts.enumStruct({ + equivocationProof: EquivocationProof, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: EquivocationProof, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const EquivocationProof: sts.Type = sts.struct(() => { + return { + offender: sts.bytes(), + slot: Slot, + firstHeader: Header, + secondHeader: Header, + } +}) + +export const Slot = sts.bigint() + +export interface EquivocationProof { + offender: Bytes + slot: Slot + firstHeader: Header + secondHeader: Header +} + +export type Slot = bigint + +export const NextConfigDescriptor: sts.Type = sts.closedEnum(() => { + return { + V1: sts.enumStruct({ + c: sts.tuple(() => [sts.bigint(), sts.bigint()]), + allowedSlots: AllowedSlots, + }), + } +}) + +export const AllowedSlots: sts.Type = sts.closedEnum(() => { + return { + PrimaryAndSecondaryPlainSlots: sts.unit(), + PrimaryAndSecondaryVRFSlots: sts.unit(), + PrimarySlots: sts.unit(), + } +}) + +export type AllowedSlots = AllowedSlots_PrimaryAndSecondaryPlainSlots | AllowedSlots_PrimaryAndSecondaryVRFSlots | AllowedSlots_PrimarySlots + +export interface AllowedSlots_PrimaryAndSecondaryPlainSlots { + __kind: 'PrimaryAndSecondaryPlainSlots' +} + +export interface AllowedSlots_PrimaryAndSecondaryVRFSlots { + __kind: 'PrimaryAndSecondaryVRFSlots' +} + +export interface AllowedSlots_PrimarySlots { + __kind: 'PrimarySlots' +} + +export type NextConfigDescriptor = NextConfigDescriptor_V1 + +export interface NextConfigDescriptor_V1 { + __kind: 'V1' + c: [bigint, bigint] + allowedSlots: AllowedSlots +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BabeCall = BabeCall_plan_config_change | BabeCall_report_equivocation | BabeCall_report_equivocation_unsigned + +/** + * See [`Pallet::plan_config_change`]. + */ +export interface BabeCall_plan_config_change { + __kind: 'plan_config_change' + config: NextConfigDescriptor +} + +/** + * See [`Pallet::report_equivocation`]. + */ +export interface BabeCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: EquivocationProof + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::report_equivocation_unsigned`]. + */ +export interface BabeCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: EquivocationProof + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const AuctionsCall: sts.Type = sts.closedEnum(() => { + return { + bid: sts.enumStruct({ + para: sts.number(), + auctionIndex: sts.number(), + firstSlot: sts.number(), + lastSlot: sts.number(), + amount: sts.bigint(), + }), + cancel_auction: sts.unit(), + new_auction: sts.enumStruct({ + duration: sts.number(), + leasePeriodIndex: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type AuctionsCall = AuctionsCall_bid | AuctionsCall_cancel_auction | AuctionsCall_new_auction + +/** + * See [`Pallet::bid`]. + */ +export interface AuctionsCall_bid { + __kind: 'bid' + para: number + auctionIndex: number + firstSlot: number + lastSlot: number + amount: bigint +} + +/** + * See [`Pallet::cancel_auction`]. + */ +export interface AuctionsCall_cancel_auction { + __kind: 'cancel_auction' +} + +/** + * See [`Pallet::new_auction`]. + */ +export interface AuctionsCall_new_auction { + __kind: 'new_auction' + duration: number + leasePeriodIndex: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const AssetRateCall: sts.Type = sts.closedEnum(() => { + return { + create: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + rate: FixedU128, + }), + remove: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + }), + update: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + rate: FixedU128, + }), + } +}) + +export const FixedU128 = sts.bigint() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type AssetRateCall = AssetRateCall_create | AssetRateCall_remove | AssetRateCall_update + +/** + * See [`Pallet::create`]. + */ +export interface AssetRateCall_create { + __kind: 'create' + assetKind: VersionedLocatableAsset + rate: FixedU128 +} + +/** + * See [`Pallet::remove`]. + */ +export interface AssetRateCall_remove { + __kind: 'remove' + assetKind: VersionedLocatableAsset +} + +/** + * See [`Pallet::update`]. + */ +export interface AssetRateCall_update { + __kind: 'update' + assetKind: VersionedLocatableAsset + rate: FixedU128 +} + +export type FixedU128 = bigint + +export type Call = Call_AssetRate | Call_Auctions | Call_Babe | Call_Balances | Call_Beefy | Call_Bounties | Call_ChildBounties | Call_Claims | Call_Configuration | Call_ConvictionVoting | Call_Coretime | Call_Crowdloan | Call_ElectionProviderMultiPhase | Call_FastUnstake | Call_FellowshipCollective | Call_FellowshipReferenda | Call_Grandpa | Call_Hrmp | Call_Identity | Call_IdentityMigrator | Call_Indices | Call_Initializer | Call_MessageQueue | Call_Multisig | Call_Nis | Call_NisCounterpartBalances | Call_NominationPools | Call_OnDemandAssignmentProvider | Call_ParaInclusion | Call_ParaInherent | Call_Paras | Call_ParasDisputes | Call_ParasShared | Call_ParasSlashing | Call_Preimage | Call_Proxy | Call_Recovery | Call_Referenda | Call_Registrar | Call_Scheduler | Call_Session | Call_Slots | Call_Society | Call_Staking | Call_System | Call_Timestamp | Call_Treasury | Call_Utility | Call_Vesting | Call_VoterList | Call_Whitelist | Call_XcmPallet + +export interface Call_AssetRate { + __kind: 'AssetRate' + value: AssetRateCall +} + +export interface Call_Auctions { + __kind: 'Auctions' + value: AuctionsCall +} + +export interface Call_Babe { + __kind: 'Babe' + value: BabeCall +} + +export interface Call_Balances { + __kind: 'Balances' + value: BalancesCall +} + +export interface Call_Beefy { + __kind: 'Beefy' + value: BeefyCall +} + +export interface Call_Bounties { + __kind: 'Bounties' + value: BountiesCall +} + +export interface Call_ChildBounties { + __kind: 'ChildBounties' + value: ChildBountiesCall +} + +export interface Call_Claims { + __kind: 'Claims' + value: ClaimsCall +} + +export interface Call_Configuration { + __kind: 'Configuration' + value: ConfigurationCall +} + +export interface Call_ConvictionVoting { + __kind: 'ConvictionVoting' + value: ConvictionVotingCall +} + +export interface Call_Coretime { + __kind: 'Coretime' + value: CoretimeCall +} + +export interface Call_Crowdloan { + __kind: 'Crowdloan' + value: CrowdloanCall +} + +export interface Call_ElectionProviderMultiPhase { + __kind: 'ElectionProviderMultiPhase' + value: ElectionProviderMultiPhaseCall +} + +export interface Call_FastUnstake { + __kind: 'FastUnstake' + value: FastUnstakeCall +} + +export interface Call_FellowshipCollective { + __kind: 'FellowshipCollective' + value: FellowshipCollectiveCall +} + +export interface Call_FellowshipReferenda { + __kind: 'FellowshipReferenda' + value: FellowshipReferendaCall +} + +export interface Call_Grandpa { + __kind: 'Grandpa' + value: GrandpaCall +} + +export interface Call_Hrmp { + __kind: 'Hrmp' + value: HrmpCall +} + +export interface Call_Identity { + __kind: 'Identity' + value: IdentityCall +} + +export interface Call_IdentityMigrator { + __kind: 'IdentityMigrator' + value: IdentityMigratorCall +} + +export interface Call_Indices { + __kind: 'Indices' + value: IndicesCall +} + +export interface Call_Initializer { + __kind: 'Initializer' + value: InitializerCall +} + +export interface Call_MessageQueue { + __kind: 'MessageQueue' + value: MessageQueueCall +} + +export interface Call_Multisig { + __kind: 'Multisig' + value: MultisigCall +} + +export interface Call_Nis { + __kind: 'Nis' + value: NisCall +} + +export interface Call_NisCounterpartBalances { + __kind: 'NisCounterpartBalances' + value: NisCounterpartBalancesCall +} + +export interface Call_NominationPools { + __kind: 'NominationPools' + value: NominationPoolsCall +} + +export interface Call_OnDemandAssignmentProvider { + __kind: 'OnDemandAssignmentProvider' + value: OnDemandAssignmentProviderCall +} + +export interface Call_ParaInclusion { + __kind: 'ParaInclusion' + value: ParaInclusionCall +} + +export interface Call_ParaInherent { + __kind: 'ParaInherent' + value: ParaInherentCall +} + +export interface Call_Paras { + __kind: 'Paras' + value: ParasCall +} + +export interface Call_ParasDisputes { + __kind: 'ParasDisputes' + value: ParasDisputesCall +} + +export interface Call_ParasShared { + __kind: 'ParasShared' + value: ParasSharedCall +} + +export interface Call_ParasSlashing { + __kind: 'ParasSlashing' + value: ParasSlashingCall +} + +export interface Call_Preimage { + __kind: 'Preimage' + value: PreimageCall +} + +export interface Call_Proxy { + __kind: 'Proxy' + value: ProxyCall +} + +export interface Call_Recovery { + __kind: 'Recovery' + value: RecoveryCall +} + +export interface Call_Referenda { + __kind: 'Referenda' + value: ReferendaCall +} + +export interface Call_Registrar { + __kind: 'Registrar' + value: RegistrarCall +} + +export interface Call_Scheduler { + __kind: 'Scheduler' + value: SchedulerCall +} + +export interface Call_Session { + __kind: 'Session' + value: SessionCall +} + +export interface Call_Slots { + __kind: 'Slots' + value: SlotsCall +} + +export interface Call_Society { + __kind: 'Society' + value: SocietyCall +} + +export interface Call_Staking { + __kind: 'Staking' + value: StakingCall +} + +export interface Call_System { + __kind: 'System' + value: SystemCall +} + +export interface Call_Timestamp { + __kind: 'Timestamp' + value: TimestampCall +} + +export interface Call_Treasury { + __kind: 'Treasury' + value: TreasuryCall +} + +export interface Call_Utility { + __kind: 'Utility' + value: UtilityCall +} + +export interface Call_Vesting { + __kind: 'Vesting' + value: VestingCall +} + +export interface Call_VoterList { + __kind: 'VoterList' + value: VoterListCall +} + +export interface Call_Whitelist { + __kind: 'Whitelist' + value: WhitelistCall +} + +export interface Call_XcmPallet { + __kind: 'XcmPallet' + value: XcmPalletCall +} + +export const ProxyType: sts.Type = sts.closedEnum(() => { + return { + Any: sts.unit(), + Auction: sts.unit(), + CancelProxy: sts.unit(), + Governance: sts.unit(), + IdentityJudgement: sts.unit(), + NominationPools: sts.unit(), + NonTransfer: sts.unit(), + Society: sts.unit(), + Staking: sts.unit(), + } +}) + +export const MultiAddress: sts.Type = sts.closedEnum(() => { + return { + Address20: sts.bytes(), + Address32: sts.bytes(), + Id: AccountId32, + Index: sts.unit(), + Raw: sts.bytes(), + } +}) diff --git a/squid/src/types/v1002005.ts b/squid/src/types/v1002005.ts new file mode 100644 index 00000000..9d880750 --- /dev/null +++ b/squid/src/types/v1002005.ts @@ -0,0 +1,12264 @@ +import {sts, Result, Option, Bytes, BitSequence} from './support' + +export const Weight: sts.Type = sts.struct(() => { + return { + refTime: sts.bigint(), + proofSize: sts.bigint(), + } +}) + +export interface Weight { + refTime: bigint + proofSize: bigint +} + +export const Timepoint: sts.Type = sts.struct(() => { + return { + height: sts.number(), + index: sts.number(), + } +}) + +export interface Timepoint { + height: number + index: number +} + +export const AccountId32 = sts.bytes() + +export const Call: sts.Type = sts.closedEnum(() => { + return { + AssetRate: AssetRateCall, + Auctions: AuctionsCall, + Babe: BabeCall, + Balances: BalancesCall, + Beefy: BeefyCall, + Bounties: BountiesCall, + ChildBounties: ChildBountiesCall, + Claims: ClaimsCall, + Configuration: ConfigurationCall, + ConvictionVoting: ConvictionVotingCall, + Coretime: CoretimeCall, + Crowdloan: CrowdloanCall, + ElectionProviderMultiPhase: ElectionProviderMultiPhaseCall, + FastUnstake: FastUnstakeCall, + FellowshipCollective: FellowshipCollectiveCall, + FellowshipReferenda: FellowshipReferendaCall, + Grandpa: GrandpaCall, + Hrmp: HrmpCall, + Identity: IdentityCall, + IdentityMigrator: IdentityMigratorCall, + Indices: IndicesCall, + Initializer: InitializerCall, + MessageQueue: MessageQueueCall, + Multisig: MultisigCall, + Nis: NisCall, + NisCounterpartBalances: NisCounterpartBalancesCall, + NominationPools: NominationPoolsCall, + OnDemandAssignmentProvider: OnDemandAssignmentProviderCall, + ParaInclusion: ParaInclusionCall, + ParaInherent: ParaInherentCall, + Paras: ParasCall, + ParasDisputes: ParasDisputesCall, + ParasShared: ParasSharedCall, + ParasSlashing: ParasSlashingCall, + Preimage: PreimageCall, + Proxy: ProxyCall, + Recovery: RecoveryCall, + Referenda: ReferendaCall, + Registrar: RegistrarCall, + Scheduler: SchedulerCall, + Session: SessionCall, + Slots: SlotsCall, + Society: SocietyCall, + Staking: StakingCall, + System: SystemCall, + Timestamp: TimestampCall, + Treasury: TreasuryCall, + Utility: UtilityCall, + Vesting: VestingCall, + VoterList: VoterListCall, + Whitelist: WhitelistCall, + XcmPallet: XcmPalletCall, + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const XcmPalletCall: sts.Type = sts.closedEnum(() => { + return { + claim_assets: sts.enumStruct({ + assets: VersionedAssets, + beneficiary: VersionedLocation, + }), + execute: sts.enumStruct({ + message: Type_480, + maxWeight: Weight, + }), + force_default_xcm_version: sts.enumStruct({ + maybeXcmVersion: sts.option(() => sts.number()), + }), + force_subscribe_version_notify: sts.enumStruct({ + location: VersionedLocation, + }), + force_suspension: sts.enumStruct({ + suspended: sts.boolean(), + }), + force_unsubscribe_version_notify: sts.enumStruct({ + location: VersionedLocation, + }), + force_xcm_version: sts.enumStruct({ + location: V4Location, + version: sts.number(), + }), + limited_reserve_transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + limited_teleport_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + reserve_transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + }), + send: sts.enumStruct({ + dest: VersionedLocation, + message: VersionedXcm, + }), + teleport_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + }), + transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + transfer_assets_using_type_and_then: sts.enumStruct({ + dest: VersionedLocation, + assets: VersionedAssets, + assetsTransferType: TransferType, + remoteFeesId: VersionedAssetId, + feesTransferType: TransferType, + customXcmOnDest: VersionedXcm, + weightLimit: V3WeightLimit, + }), + } +}) + +export const VersionedAssetId: sts.Type = sts.closedEnum(() => { + return { + V3: V3AssetId, + V4: V4AssetId, + } +}) + +export const V4AssetId: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V4Junctions, + } +}) + +export const V4Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: sts.array(() => V4Junction), + X2: sts.array(() => V4Junction), + X3: sts.array(() => V4Junction), + X4: sts.array(() => V4Junction), + X5: sts.array(() => V4Junction), + X6: sts.array(() => V4Junction), + X7: sts.array(() => V4Junction), + X8: sts.array(() => V4Junction), + } +}) + +export const V4Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: sts.enumStruct({ + length: sts.number(), + data: sts.bytes(), + }), + GlobalConsensus: V4NetworkId, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V3BodyId, + part: V3BodyPart, + }), + } +}) + +export const V3BodyPart: sts.Type = sts.closedEnum(() => { + return { + AtLeastProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Fraction: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Members: sts.enumStruct({ + count: sts.number(), + }), + MoreThanProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Voice: sts.unit(), + } +}) + +export type V3BodyPart = V3BodyPart_AtLeastProportion | V3BodyPart_Fraction | V3BodyPart_Members | V3BodyPart_MoreThanProportion | V3BodyPart_Voice + +export interface V3BodyPart_AtLeastProportion { + __kind: 'AtLeastProportion' + nom: number + denom: number +} + +export interface V3BodyPart_Fraction { + __kind: 'Fraction' + nom: number + denom: number +} + +export interface V3BodyPart_Members { + __kind: 'Members' + count: number +} + +export interface V3BodyPart_MoreThanProportion { + __kind: 'MoreThanProportion' + nom: number + denom: number +} + +export interface V3BodyPart_Voice { + __kind: 'Voice' +} + +export const V3BodyId: sts.Type = sts.closedEnum(() => { + return { + Administration: sts.unit(), + Defense: sts.unit(), + Executive: sts.unit(), + Index: sts.number(), + Judicial: sts.unit(), + Legislative: sts.unit(), + Moniker: sts.bytes(), + Technical: sts.unit(), + Treasury: sts.unit(), + Unit: sts.unit(), + } +}) + +export type V3BodyId = V3BodyId_Administration | V3BodyId_Defense | V3BodyId_Executive | V3BodyId_Index | V3BodyId_Judicial | V3BodyId_Legislative | V3BodyId_Moniker | V3BodyId_Technical | V3BodyId_Treasury | V3BodyId_Unit + +export interface V3BodyId_Administration { + __kind: 'Administration' +} + +export interface V3BodyId_Defense { + __kind: 'Defense' +} + +export interface V3BodyId_Executive { + __kind: 'Executive' +} + +export interface V3BodyId_Index { + __kind: 'Index' + value: number +} + +export interface V3BodyId_Judicial { + __kind: 'Judicial' +} + +export interface V3BodyId_Legislative { + __kind: 'Legislative' +} + +export interface V3BodyId_Moniker { + __kind: 'Moniker' + value: Bytes +} + +export interface V3BodyId_Technical { + __kind: 'Technical' +} + +export interface V3BodyId_Treasury { + __kind: 'Treasury' +} + +export interface V3BodyId_Unit { + __kind: 'Unit' +} + +export const V4NetworkId: sts.Type = sts.closedEnum(() => { + return { + BitcoinCash: sts.unit(), + BitcoinCore: sts.unit(), + ByFork: sts.enumStruct({ + blockNumber: sts.bigint(), + blockHash: sts.bytes(), + }), + ByGenesis: sts.bytes(), + Ethereum: sts.enumStruct({ + chainId: sts.bigint(), + }), + Kusama: sts.unit(), + Polkadot: sts.unit(), + PolkadotBulletin: sts.unit(), + Rococo: sts.unit(), + Westend: sts.unit(), + Wococo: sts.unit(), + } +}) + +export type V4NetworkId = V4NetworkId_BitcoinCash | V4NetworkId_BitcoinCore | V4NetworkId_ByFork | V4NetworkId_ByGenesis | V4NetworkId_Ethereum | V4NetworkId_Kusama | V4NetworkId_Polkadot | V4NetworkId_PolkadotBulletin | V4NetworkId_Rococo | V4NetworkId_Westend | V4NetworkId_Wococo + +export interface V4NetworkId_BitcoinCash { + __kind: 'BitcoinCash' +} + +export interface V4NetworkId_BitcoinCore { + __kind: 'BitcoinCore' +} + +export interface V4NetworkId_ByFork { + __kind: 'ByFork' + blockNumber: bigint + blockHash: Bytes +} + +export interface V4NetworkId_ByGenesis { + __kind: 'ByGenesis' + value: Bytes +} + +export interface V4NetworkId_Ethereum { + __kind: 'Ethereum' + chainId: bigint +} + +export interface V4NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V4NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export interface V4NetworkId_PolkadotBulletin { + __kind: 'PolkadotBulletin' +} + +export interface V4NetworkId_Rococo { + __kind: 'Rococo' +} + +export interface V4NetworkId_Westend { + __kind: 'Westend' +} + +export interface V4NetworkId_Wococo { + __kind: 'Wococo' +} + +export type V4Junction = V4Junction_AccountId32 | V4Junction_AccountIndex64 | V4Junction_AccountKey20 | V4Junction_GeneralIndex | V4Junction_GeneralKey | V4Junction_GlobalConsensus | V4Junction_OnlyChild | V4Junction_PalletInstance | V4Junction_Parachain | V4Junction_Plurality + +export interface V4Junction_AccountId32 { + __kind: 'AccountId32' + network?: (V4NetworkId | undefined) + id: Bytes +} + +export interface V4Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network?: (V4NetworkId | undefined) + index: bigint +} + +export interface V4Junction_AccountKey20 { + __kind: 'AccountKey20' + network?: (V4NetworkId | undefined) + key: Bytes +} + +export interface V4Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V4Junction_GeneralKey { + __kind: 'GeneralKey' + length: number + data: Bytes +} + +export interface V4Junction_GlobalConsensus { + __kind: 'GlobalConsensus' + value: V4NetworkId +} + +export interface V4Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V4Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V4Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V4Junction_Plurality { + __kind: 'Plurality' + id: V3BodyId + part: V3BodyPart +} + +export type V4Junctions = V4Junctions_Here | V4Junctions_X1 | V4Junctions_X2 | V4Junctions_X3 | V4Junctions_X4 | V4Junctions_X5 | V4Junctions_X6 | V4Junctions_X7 | V4Junctions_X8 + +export interface V4Junctions_Here { + __kind: 'Here' +} + +export interface V4Junctions_X1 { + __kind: 'X1' + value: V4Junction[] +} + +export interface V4Junctions_X2 { + __kind: 'X2' + value: V4Junction[] +} + +export interface V4Junctions_X3 { + __kind: 'X3' + value: V4Junction[] +} + +export interface V4Junctions_X4 { + __kind: 'X4' + value: V4Junction[] +} + +export interface V4Junctions_X5 { + __kind: 'X5' + value: V4Junction[] +} + +export interface V4Junctions_X6 { + __kind: 'X6' + value: V4Junction[] +} + +export interface V4Junctions_X7 { + __kind: 'X7' + value: V4Junction[] +} + +export interface V4Junctions_X8 { + __kind: 'X8' + value: V4Junction[] +} + +export interface V4AssetId { + parents: number + interior: V4Junctions +} + +export const V3AssetId: sts.Type = sts.closedEnum(() => { + return { + Abstract: sts.bytes(), + Concrete: V3MultiLocation, + } +}) + +export const V3MultiLocation: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V3Junctions, + } +}) + +export const V3Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: V3Junction, + X2: sts.tuple(() => [V3Junction, V3Junction]), + X3: sts.tuple(() => [V3Junction, V3Junction, V3Junction]), + X4: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction]), + X5: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X6: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X7: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X8: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + } +}) + +export const V3Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: sts.enumStruct({ + length: sts.number(), + data: sts.bytes(), + }), + GlobalConsensus: V3NetworkId, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V3BodyId, + part: V3BodyPart, + }), + } +}) + +export const V3NetworkId: sts.Type = sts.closedEnum(() => { + return { + BitcoinCash: sts.unit(), + BitcoinCore: sts.unit(), + ByFork: sts.enumStruct({ + blockNumber: sts.bigint(), + blockHash: sts.bytes(), + }), + ByGenesis: sts.bytes(), + Ethereum: sts.enumStruct({ + chainId: sts.bigint(), + }), + Kusama: sts.unit(), + Polkadot: sts.unit(), + PolkadotBulletin: sts.unit(), + Rococo: sts.unit(), + Westend: sts.unit(), + Wococo: sts.unit(), + } +}) + +export type V3NetworkId = V3NetworkId_BitcoinCash | V3NetworkId_BitcoinCore | V3NetworkId_ByFork | V3NetworkId_ByGenesis | V3NetworkId_Ethereum | V3NetworkId_Kusama | V3NetworkId_Polkadot | V3NetworkId_PolkadotBulletin | V3NetworkId_Rococo | V3NetworkId_Westend | V3NetworkId_Wococo + +export interface V3NetworkId_BitcoinCash { + __kind: 'BitcoinCash' +} + +export interface V3NetworkId_BitcoinCore { + __kind: 'BitcoinCore' +} + +export interface V3NetworkId_ByFork { + __kind: 'ByFork' + blockNumber: bigint + blockHash: Bytes +} + +export interface V3NetworkId_ByGenesis { + __kind: 'ByGenesis' + value: Bytes +} + +export interface V3NetworkId_Ethereum { + __kind: 'Ethereum' + chainId: bigint +} + +export interface V3NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V3NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export interface V3NetworkId_PolkadotBulletin { + __kind: 'PolkadotBulletin' +} + +export interface V3NetworkId_Rococo { + __kind: 'Rococo' +} + +export interface V3NetworkId_Westend { + __kind: 'Westend' +} + +export interface V3NetworkId_Wococo { + __kind: 'Wococo' +} + +export type V3Junction = V3Junction_AccountId32 | V3Junction_AccountIndex64 | V3Junction_AccountKey20 | V3Junction_GeneralIndex | V3Junction_GeneralKey | V3Junction_GlobalConsensus | V3Junction_OnlyChild | V3Junction_PalletInstance | V3Junction_Parachain | V3Junction_Plurality + +export interface V3Junction_AccountId32 { + __kind: 'AccountId32' + network?: (V3NetworkId | undefined) + id: Bytes +} + +export interface V3Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network?: (V3NetworkId | undefined) + index: bigint +} + +export interface V3Junction_AccountKey20 { + __kind: 'AccountKey20' + network?: (V3NetworkId | undefined) + key: Bytes +} + +export interface V3Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V3Junction_GeneralKey { + __kind: 'GeneralKey' + length: number + data: Bytes +} + +export interface V3Junction_GlobalConsensus { + __kind: 'GlobalConsensus' + value: V3NetworkId +} + +export interface V3Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V3Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V3Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V3Junction_Plurality { + __kind: 'Plurality' + id: V3BodyId + part: V3BodyPart +} + +export type V3Junctions = V3Junctions_Here | V3Junctions_X1 | V3Junctions_X2 | V3Junctions_X3 | V3Junctions_X4 | V3Junctions_X5 | V3Junctions_X6 | V3Junctions_X7 | V3Junctions_X8 + +export interface V3Junctions_Here { + __kind: 'Here' +} + +export interface V3Junctions_X1 { + __kind: 'X1' + value: V3Junction +} + +export interface V3Junctions_X2 { + __kind: 'X2' + value: [V3Junction, V3Junction] +} + +export interface V3Junctions_X3 { + __kind: 'X3' + value: [V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X4 { + __kind: 'X4' + value: [V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X5 { + __kind: 'X5' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X6 { + __kind: 'X6' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X7 { + __kind: 'X7' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X8 { + __kind: 'X8' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3MultiLocation { + parents: number + interior: V3Junctions +} + +export type V3AssetId = V3AssetId_Abstract | V3AssetId_Concrete + +export interface V3AssetId_Abstract { + __kind: 'Abstract' + value: Bytes +} + +export interface V3AssetId_Concrete { + __kind: 'Concrete' + value: V3MultiLocation +} + +export type VersionedAssetId = VersionedAssetId_V3 | VersionedAssetId_V4 + +export interface VersionedAssetId_V3 { + __kind: 'V3' + value: V3AssetId +} + +export interface VersionedAssetId_V4 { + __kind: 'V4' + value: V4AssetId +} + +export const TransferType: sts.Type = sts.closedEnum(() => { + return { + DestinationReserve: sts.unit(), + LocalReserve: sts.unit(), + RemoteReserve: VersionedLocation, + Teleport: sts.unit(), + } +}) + +export type TransferType = TransferType_DestinationReserve | TransferType_LocalReserve | TransferType_RemoteReserve | TransferType_Teleport + +export interface TransferType_DestinationReserve { + __kind: 'DestinationReserve' +} + +export interface TransferType_LocalReserve { + __kind: 'LocalReserve' +} + +export interface TransferType_RemoteReserve { + __kind: 'RemoteReserve' + value: VersionedLocation +} + +export interface TransferType_Teleport { + __kind: 'Teleport' +} + +export type VersionedLocation = VersionedLocation_V2 | VersionedLocation_V3 | VersionedLocation_V4 + +export interface VersionedLocation_V2 { + __kind: 'V2' + value: V2MultiLocation +} + +export interface VersionedLocation_V3 { + __kind: 'V3' + value: V3MultiLocation +} + +export interface VersionedLocation_V4 { + __kind: 'V4' + value: V4Location +} + +export interface V4Location { + parents: number + interior: V4Junctions +} + +export interface V2MultiLocation { + parents: number + interior: V2Junctions +} + +export type V2Junctions = V2Junctions_Here | V2Junctions_X1 | V2Junctions_X2 | V2Junctions_X3 | V2Junctions_X4 | V2Junctions_X5 | V2Junctions_X6 | V2Junctions_X7 | V2Junctions_X8 + +export interface V2Junctions_Here { + __kind: 'Here' +} + +export interface V2Junctions_X1 { + __kind: 'X1' + value: V2Junction +} + +export interface V2Junctions_X2 { + __kind: 'X2' + value: [V2Junction, V2Junction] +} + +export interface V2Junctions_X3 { + __kind: 'X3' + value: [V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X4 { + __kind: 'X4' + value: [V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X5 { + __kind: 'X5' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X6 { + __kind: 'X6' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X7 { + __kind: 'X7' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X8 { + __kind: 'X8' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export type V2Junction = V2Junction_AccountId32 | V2Junction_AccountIndex64 | V2Junction_AccountKey20 | V2Junction_GeneralIndex | V2Junction_GeneralKey | V2Junction_OnlyChild | V2Junction_PalletInstance | V2Junction_Parachain | V2Junction_Plurality + +export interface V2Junction_AccountId32 { + __kind: 'AccountId32' + network: V2NetworkId + id: Bytes +} + +export interface V2Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network: V2NetworkId + index: bigint +} + +export interface V2Junction_AccountKey20 { + __kind: 'AccountKey20' + network: V2NetworkId + key: Bytes +} + +export interface V2Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V2Junction_GeneralKey { + __kind: 'GeneralKey' + value: WeakBoundedVec +} + +export interface V2Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V2Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V2Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V2Junction_Plurality { + __kind: 'Plurality' + id: V2BodyId + part: V2BodyPart +} + +export type V2BodyPart = V2BodyPart_AtLeastProportion | V2BodyPart_Fraction | V2BodyPart_Members | V2BodyPart_MoreThanProportion | V2BodyPart_Voice + +export interface V2BodyPart_AtLeastProportion { + __kind: 'AtLeastProportion' + nom: number + denom: number +} + +export interface V2BodyPart_Fraction { + __kind: 'Fraction' + nom: number + denom: number +} + +export interface V2BodyPart_Members { + __kind: 'Members' + count: number +} + +export interface V2BodyPart_MoreThanProportion { + __kind: 'MoreThanProportion' + nom: number + denom: number +} + +export interface V2BodyPart_Voice { + __kind: 'Voice' +} + +export type V2BodyId = V2BodyId_Administration | V2BodyId_Defense | V2BodyId_Executive | V2BodyId_Index | V2BodyId_Judicial | V2BodyId_Legislative | V2BodyId_Named | V2BodyId_Technical | V2BodyId_Treasury | V2BodyId_Unit + +export interface V2BodyId_Administration { + __kind: 'Administration' +} + +export interface V2BodyId_Defense { + __kind: 'Defense' +} + +export interface V2BodyId_Executive { + __kind: 'Executive' +} + +export interface V2BodyId_Index { + __kind: 'Index' + value: number +} + +export interface V2BodyId_Judicial { + __kind: 'Judicial' +} + +export interface V2BodyId_Legislative { + __kind: 'Legislative' +} + +export interface V2BodyId_Named { + __kind: 'Named' + value: WeakBoundedVec +} + +export interface V2BodyId_Technical { + __kind: 'Technical' +} + +export interface V2BodyId_Treasury { + __kind: 'Treasury' +} + +export interface V2BodyId_Unit { + __kind: 'Unit' +} + +export type WeakBoundedVec = Bytes + +export type V2NetworkId = V2NetworkId_Any | V2NetworkId_Kusama | V2NetworkId_Named | V2NetworkId_Polkadot + +export interface V2NetworkId_Any { + __kind: 'Any' +} + +export interface V2NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V2NetworkId_Named { + __kind: 'Named' + value: WeakBoundedVec +} + +export interface V2NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export const VersionedXcm: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => V2Instruction), + V3: sts.array(() => V3Instruction), + V4: sts.array(() => V4Instruction), + } +}) + +export const V4Instruction: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V4Location, + BurnAsset: sts.array(() => V4Asset), + BuyExecution: sts.enumStruct({ + fees: V4Asset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + ticket: V4Location, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V4AssetFilter, + beneficiary: V4Location, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + DescendOrigin: V4Junctions, + ExchangeAsset: sts.enumStruct({ + give: V4AssetFilter, + want: sts.array(() => V4Asset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V4Asset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V4Location), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V4NetworkId, + destination: V4Junctions, + xcm: sts.array(() => V4Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V4AssetFilter, + reserve: V4Location, + xcm: sts.array(() => V4Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V4Asset, + unlocker: V4Location, + }), + NoteUnlockable: sts.enumStruct({ + asset: V4Asset, + owner: V4Location, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V4QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V4Response, + maxWeight: Weight, + querier: sts.option(() => V4Location), + }), + ReceiveTeleportedAsset: sts.array(() => V4Asset), + RefundSurplus: sts.unit(), + ReportError: V4QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V4QueryResponseInfo, + assets: V4AssetFilter, + }), + ReportTransactStatus: V4QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V4Asset, + locker: V4Location, + }), + ReserveAssetDeposited: sts.array(() => V4Asset), + SetAppendix: sts.array(() => V4Instruction), + SetErrorHandler: sts.array(() => V4Instruction), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + beneficiary: V4Location, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V4Junction, + UnlockAsset: sts.enumStruct({ + asset: V4Asset, + target: V4Location, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V4Location), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V4Asset), + } +}) + +export const DoubleEncoded: sts.Type = sts.struct(() => { + return { + encoded: sts.bytes(), + } +}) + +export interface DoubleEncoded { + encoded: Bytes +} + +export const V2OriginKind: sts.Type = sts.closedEnum(() => { + return { + Native: sts.unit(), + SovereignAccount: sts.unit(), + Superuser: sts.unit(), + Xcm: sts.unit(), + } +}) + +export type V2OriginKind = V2OriginKind_Native | V2OriginKind_SovereignAccount | V2OriginKind_Superuser | V2OriginKind_Xcm + +export interface V2OriginKind_Native { + __kind: 'Native' +} + +export interface V2OriginKind_SovereignAccount { + __kind: 'SovereignAccount' +} + +export interface V2OriginKind_Superuser { + __kind: 'Superuser' +} + +export interface V2OriginKind_Xcm { + __kind: 'Xcm' +} + +export const V4Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V4Asset), + DispatchResult: V3MaybeErrorCode, + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + Null: sts.unit(), + PalletsInfo: sts.array(() => V4PalletInfo), + Version: sts.number(), + } +}) + +export const V4PalletInfo: sts.Type = sts.struct(() => { + return { + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + major: sts.number(), + minor: sts.number(), + patch: sts.number(), + } +}) + +export interface V4PalletInfo { + index: number + name: Bytes + moduleName: Bytes + major: number + minor: number + patch: number +} + +export type V4Response = V4Response_Assets | V4Response_DispatchResult | V4Response_ExecutionResult | V4Response_Null | V4Response_PalletsInfo | V4Response_Version + +export interface V4Response_Assets { + __kind: 'Assets' + value: V4Asset[] +} + +export interface V4Response_DispatchResult { + __kind: 'DispatchResult' + value: V3MaybeErrorCode +} + +export interface V4Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V3Error] | undefined) +} + +export interface V4Response_Null { + __kind: 'Null' +} + +export interface V4Response_PalletsInfo { + __kind: 'PalletsInfo' + value: V4PalletInfo[] +} + +export interface V4Response_Version { + __kind: 'Version' + value: number +} + +export type V3Error = V3Error_AssetNotFound | V3Error_BadOrigin | V3Error_Barrier | V3Error_DestinationUnsupported | V3Error_ExceedsMaxMessageSize | V3Error_ExceedsStackLimit | V3Error_ExpectationFalse | V3Error_ExportError | V3Error_FailedToDecode | V3Error_FailedToTransactAsset | V3Error_FeesNotMet | V3Error_HoldingWouldOverflow | V3Error_InvalidLocation | V3Error_LocationCannotHold | V3Error_LocationFull | V3Error_LocationNotInvertible | V3Error_LockError | V3Error_MaxWeightInvalid | V3Error_NameMismatch | V3Error_NoDeal | V3Error_NoPermission | V3Error_NotDepositable | V3Error_NotHoldingFees | V3Error_NotWithdrawable | V3Error_Overflow | V3Error_PalletNotFound | V3Error_ReanchorFailed | V3Error_TooExpensive | V3Error_Transport | V3Error_Trap | V3Error_Unanchored | V3Error_UnhandledXcmVersion | V3Error_Unimplemented | V3Error_UnknownClaim | V3Error_Unroutable | V3Error_UntrustedReserveLocation | V3Error_UntrustedTeleportLocation | V3Error_VersionIncompatible | V3Error_WeightLimitReached | V3Error_WeightNotComputable + +export interface V3Error_AssetNotFound { + __kind: 'AssetNotFound' +} + +export interface V3Error_BadOrigin { + __kind: 'BadOrigin' +} + +export interface V3Error_Barrier { + __kind: 'Barrier' +} + +export interface V3Error_DestinationUnsupported { + __kind: 'DestinationUnsupported' +} + +export interface V3Error_ExceedsMaxMessageSize { + __kind: 'ExceedsMaxMessageSize' +} + +export interface V3Error_ExceedsStackLimit { + __kind: 'ExceedsStackLimit' +} + +export interface V3Error_ExpectationFalse { + __kind: 'ExpectationFalse' +} + +export interface V3Error_ExportError { + __kind: 'ExportError' +} + +export interface V3Error_FailedToDecode { + __kind: 'FailedToDecode' +} + +export interface V3Error_FailedToTransactAsset { + __kind: 'FailedToTransactAsset' +} + +export interface V3Error_FeesNotMet { + __kind: 'FeesNotMet' +} + +export interface V3Error_HoldingWouldOverflow { + __kind: 'HoldingWouldOverflow' +} + +export interface V3Error_InvalidLocation { + __kind: 'InvalidLocation' +} + +export interface V3Error_LocationCannotHold { + __kind: 'LocationCannotHold' +} + +export interface V3Error_LocationFull { + __kind: 'LocationFull' +} + +export interface V3Error_LocationNotInvertible { + __kind: 'LocationNotInvertible' +} + +export interface V3Error_LockError { + __kind: 'LockError' +} + +export interface V3Error_MaxWeightInvalid { + __kind: 'MaxWeightInvalid' +} + +export interface V3Error_NameMismatch { + __kind: 'NameMismatch' +} + +export interface V3Error_NoDeal { + __kind: 'NoDeal' +} + +export interface V3Error_NoPermission { + __kind: 'NoPermission' +} + +export interface V3Error_NotDepositable { + __kind: 'NotDepositable' +} + +export interface V3Error_NotHoldingFees { + __kind: 'NotHoldingFees' +} + +export interface V3Error_NotWithdrawable { + __kind: 'NotWithdrawable' +} + +export interface V3Error_Overflow { + __kind: 'Overflow' +} + +export interface V3Error_PalletNotFound { + __kind: 'PalletNotFound' +} + +export interface V3Error_ReanchorFailed { + __kind: 'ReanchorFailed' +} + +export interface V3Error_TooExpensive { + __kind: 'TooExpensive' +} + +export interface V3Error_Transport { + __kind: 'Transport' +} + +export interface V3Error_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V3Error_Unanchored { + __kind: 'Unanchored' +} + +export interface V3Error_UnhandledXcmVersion { + __kind: 'UnhandledXcmVersion' +} + +export interface V3Error_Unimplemented { + __kind: 'Unimplemented' +} + +export interface V3Error_UnknownClaim { + __kind: 'UnknownClaim' +} + +export interface V3Error_Unroutable { + __kind: 'Unroutable' +} + +export interface V3Error_UntrustedReserveLocation { + __kind: 'UntrustedReserveLocation' +} + +export interface V3Error_UntrustedTeleportLocation { + __kind: 'UntrustedTeleportLocation' +} + +export interface V3Error_VersionIncompatible { + __kind: 'VersionIncompatible' +} + +export interface V3Error_WeightLimitReached { + __kind: 'WeightLimitReached' + value: Weight +} + +export interface V3Error_WeightNotComputable { + __kind: 'WeightNotComputable' +} + +export type V3MaybeErrorCode = V3MaybeErrorCode_Error | V3MaybeErrorCode_Success | V3MaybeErrorCode_TruncatedError + +export interface V3MaybeErrorCode_Error { + __kind: 'Error' + value: Bytes +} + +export interface V3MaybeErrorCode_Success { + __kind: 'Success' +} + +export interface V3MaybeErrorCode_TruncatedError { + __kind: 'TruncatedError' + value: Bytes +} + +export interface V4Asset { + id: V4AssetId + fun: V4Fungibility +} + +export type V4Fungibility = V4Fungibility_Fungible | V4Fungibility_NonFungible + +export interface V4Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V4Fungibility_NonFungible { + __kind: 'NonFungible' + value: V4AssetInstance +} + +export type V4AssetInstance = V4AssetInstance_Array16 | V4AssetInstance_Array32 | V4AssetInstance_Array4 | V4AssetInstance_Array8 | V4AssetInstance_Index | V4AssetInstance_Undefined + +export interface V4AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V4AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V4AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V4AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V4AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V4AssetInstance_Undefined { + __kind: 'Undefined' +} + +export const V4QueryResponseInfo: sts.Type = sts.struct(() => { + return { + destination: V4Location, + queryId: sts.bigint(), + maxWeight: Weight, + } +}) + +export interface V4QueryResponseInfo { + destination: V4Location + queryId: bigint + maxWeight: Weight +} + +export const V3MaybeErrorCode: sts.Type = sts.closedEnum(() => { + return { + Error: sts.bytes(), + Success: sts.unit(), + TruncatedError: sts.bytes(), + } +}) + +export const V3Error: sts.Type = sts.closedEnum(() => { + return { + AssetNotFound: sts.unit(), + BadOrigin: sts.unit(), + Barrier: sts.unit(), + DestinationUnsupported: sts.unit(), + ExceedsMaxMessageSize: sts.unit(), + ExceedsStackLimit: sts.unit(), + ExpectationFalse: sts.unit(), + ExportError: sts.unit(), + FailedToDecode: sts.unit(), + FailedToTransactAsset: sts.unit(), + FeesNotMet: sts.unit(), + HoldingWouldOverflow: sts.unit(), + InvalidLocation: sts.unit(), + LocationCannotHold: sts.unit(), + LocationFull: sts.unit(), + LocationNotInvertible: sts.unit(), + LockError: sts.unit(), + MaxWeightInvalid: sts.unit(), + NameMismatch: sts.unit(), + NoDeal: sts.unit(), + NoPermission: sts.unit(), + NotDepositable: sts.unit(), + NotHoldingFees: sts.unit(), + NotWithdrawable: sts.unit(), + Overflow: sts.unit(), + PalletNotFound: sts.unit(), + ReanchorFailed: sts.unit(), + TooExpensive: sts.unit(), + Transport: sts.unit(), + Trap: sts.bigint(), + Unanchored: sts.unit(), + UnhandledXcmVersion: sts.unit(), + Unimplemented: sts.unit(), + UnknownClaim: sts.unit(), + Unroutable: sts.unit(), + UntrustedReserveLocation: sts.unit(), + UntrustedTeleportLocation: sts.unit(), + VersionIncompatible: sts.unit(), + WeightLimitReached: Weight, + WeightNotComputable: sts.unit(), + } +}) + +export const V4AssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V4Asset), + Wild: V4WildAsset, + } +}) + +export const V4WildAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllCounted: sts.number(), + AllOf: sts.enumStruct({ + id: V4AssetId, + fun: V4WildFungibility, + }), + AllOfCounted: sts.enumStruct({ + id: V4AssetId, + fun: V4WildFungibility, + count: sts.number(), + }), + } +}) + +export const V4WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V4WildFungibility = V4WildFungibility_Fungible | V4WildFungibility_NonFungible + +export interface V4WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V4WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export type V4WildAsset = V4WildAsset_All | V4WildAsset_AllCounted | V4WildAsset_AllOf | V4WildAsset_AllOfCounted + +export interface V4WildAsset_All { + __kind: 'All' +} + +export interface V4WildAsset_AllCounted { + __kind: 'AllCounted' + value: number +} + +export interface V4WildAsset_AllOf { + __kind: 'AllOf' + id: V4AssetId + fun: V4WildFungibility +} + +export interface V4WildAsset_AllOfCounted { + __kind: 'AllOfCounted' + id: V4AssetId + fun: V4WildFungibility + count: number +} + +export type V4AssetFilter = V4AssetFilter_Definite | V4AssetFilter_Wild + +export interface V4AssetFilter_Definite { + __kind: 'Definite' + value: V4Asset[] +} + +export interface V4AssetFilter_Wild { + __kind: 'Wild' + value: V4WildAsset +} + +export const V4Asset: sts.Type = sts.struct(() => { + return { + id: V4AssetId, + fun: V4Fungibility, + } +}) + +export const V4Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V4AssetInstance, + } +}) + +export const V4AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V4Instruction = V4Instruction_AliasOrigin | V4Instruction_BurnAsset | V4Instruction_BuyExecution | V4Instruction_ClaimAsset | V4Instruction_ClearError | V4Instruction_ClearOrigin | V4Instruction_ClearTopic | V4Instruction_ClearTransactStatus | V4Instruction_DepositAsset | V4Instruction_DepositReserveAsset | V4Instruction_DescendOrigin | V4Instruction_ExchangeAsset | V4Instruction_ExpectAsset | V4Instruction_ExpectError | V4Instruction_ExpectOrigin | V4Instruction_ExpectPallet | V4Instruction_ExpectTransactStatus | V4Instruction_ExportMessage | V4Instruction_HrmpChannelAccepted | V4Instruction_HrmpChannelClosing | V4Instruction_HrmpNewChannelOpenRequest | V4Instruction_InitiateReserveWithdraw | V4Instruction_InitiateTeleport | V4Instruction_LockAsset | V4Instruction_NoteUnlockable | V4Instruction_QueryPallet | V4Instruction_QueryResponse | V4Instruction_ReceiveTeleportedAsset | V4Instruction_RefundSurplus | V4Instruction_ReportError | V4Instruction_ReportHolding | V4Instruction_ReportTransactStatus | V4Instruction_RequestUnlock | V4Instruction_ReserveAssetDeposited | V4Instruction_SetAppendix | V4Instruction_SetErrorHandler | V4Instruction_SetFeesMode | V4Instruction_SetTopic | V4Instruction_SubscribeVersion | V4Instruction_Transact | V4Instruction_TransferAsset | V4Instruction_TransferReserveAsset | V4Instruction_Trap | V4Instruction_UniversalOrigin | V4Instruction_UnlockAsset | V4Instruction_UnpaidExecution | V4Instruction_UnsubscribeVersion | V4Instruction_WithdrawAsset + +export interface V4Instruction_AliasOrigin { + __kind: 'AliasOrigin' + value: V4Location +} + +export interface V4Instruction_BurnAsset { + __kind: 'BurnAsset' + value: V4Asset[] +} + +export interface V4Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V4Asset + weightLimit: V3WeightLimit +} + +export interface V4Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V4Asset[] + ticket: V4Location +} + +export interface V4Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V4Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V4Instruction_ClearTopic { + __kind: 'ClearTopic' +} + +export interface V4Instruction_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface V4Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V4AssetFilter + beneficiary: V4Location +} + +export interface V4Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V4Junctions +} + +export interface V4Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V4AssetFilter + want: V4Asset[] + maximal: boolean +} + +export interface V4Instruction_ExpectAsset { + __kind: 'ExpectAsset' + value: V4Asset[] +} + +export interface V4Instruction_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface V4Instruction_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V4Location | undefined) +} + +export interface V4Instruction_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface V4Instruction_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface V4Instruction_ExportMessage { + __kind: 'ExportMessage' + network: V4NetworkId + destination: V4Junctions + xcm: V4Instruction[] +} + +export interface V4Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V4Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V4Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V4Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V4AssetFilter + reserve: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_LockAsset { + __kind: 'LockAsset' + asset: V4Asset + unlocker: V4Location +} + +export interface V4Instruction_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V4Asset + owner: V4Location +} + +export interface V4Instruction_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V4QueryResponseInfo +} + +export interface V4Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V4Response + maxWeight: Weight + querier?: (V4Location | undefined) +} + +export interface V4Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V4Asset[] +} + +export interface V4Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V4Instruction_ReportError { + __kind: 'ReportError' + value: V4QueryResponseInfo +} + +export interface V4Instruction_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V4QueryResponseInfo + assets: V4AssetFilter +} + +export interface V4Instruction_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V4QueryResponseInfo +} + +export interface V4Instruction_RequestUnlock { + __kind: 'RequestUnlock' + asset: V4Asset + locker: V4Location +} + +export interface V4Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V4Asset[] +} + +export interface V4Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V4Instruction[] +} + +export interface V4Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V4Instruction[] +} + +export interface V4Instruction_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface V4Instruction_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface V4Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface V4Instruction_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: DoubleEncoded +} + +export interface V4Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V4Asset[] + beneficiary: V4Location +} + +export interface V4Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V4Asset[] + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V4Instruction_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V4Junction +} + +export interface V4Instruction_UnlockAsset { + __kind: 'UnlockAsset' + asset: V4Asset + target: V4Location +} + +export interface V4Instruction_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V4Location | undefined) +} + +export interface V4Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V4Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V4Asset[] +} + +export type V3WeightLimit = V3WeightLimit_Limited | V3WeightLimit_Unlimited + +export interface V3WeightLimit_Limited { + __kind: 'Limited' + value: Weight +} + +export interface V3WeightLimit_Unlimited { + __kind: 'Unlimited' +} + +export const V3Instruction: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V3MultiLocation, + BurnAsset: sts.array(() => V3MultiAsset), + BuyExecution: sts.enumStruct({ + fees: V3MultiAsset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + ticket: V3MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + beneficiary: V3MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + DescendOrigin: V3Junctions, + ExchangeAsset: sts.enumStruct({ + give: V3MultiAssetFilter, + want: sts.array(() => V3MultiAsset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V3MultiAsset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V3MultiLocation), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V3NetworkId, + destination: V3Junctions, + xcm: sts.array(() => V3Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V3MultiAssetFilter, + reserve: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V3MultiAsset, + unlocker: V3MultiLocation, + }), + NoteUnlockable: sts.enumStruct({ + asset: V3MultiAsset, + owner: V3MultiLocation, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V3QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V3Response, + maxWeight: Weight, + querier: sts.option(() => V3MultiLocation), + }), + ReceiveTeleportedAsset: sts.array(() => V3MultiAsset), + RefundSurplus: sts.unit(), + ReportError: V3QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V3QueryResponseInfo, + assets: V3MultiAssetFilter, + }), + ReportTransactStatus: V3QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V3MultiAsset, + locker: V3MultiLocation, + }), + ReserveAssetDeposited: sts.array(() => V3MultiAsset), + SetAppendix: sts.array(() => V3Instruction), + SetErrorHandler: sts.array(() => V3Instruction), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + beneficiary: V3MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V3Junction, + UnlockAsset: sts.enumStruct({ + asset: V3MultiAsset, + target: V3MultiLocation, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V3MultiLocation), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V3MultiAsset), + } +}) + +export const V3Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V3MultiAsset), + DispatchResult: V3MaybeErrorCode, + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + Null: sts.unit(), + PalletsInfo: sts.array(() => V3PalletInfo), + Version: sts.number(), + } +}) + +export const V3PalletInfo: sts.Type = sts.struct(() => { + return { + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + major: sts.number(), + minor: sts.number(), + patch: sts.number(), + } +}) + +export interface V3PalletInfo { + index: number + name: Bytes + moduleName: Bytes + major: number + minor: number + patch: number +} + +export type V3Response = V3Response_Assets | V3Response_DispatchResult | V3Response_ExecutionResult | V3Response_Null | V3Response_PalletsInfo | V3Response_Version + +export interface V3Response_Assets { + __kind: 'Assets' + value: V3MultiAsset[] +} + +export interface V3Response_DispatchResult { + __kind: 'DispatchResult' + value: V3MaybeErrorCode +} + +export interface V3Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V3Error] | undefined) +} + +export interface V3Response_Null { + __kind: 'Null' +} + +export interface V3Response_PalletsInfo { + __kind: 'PalletsInfo' + value: V3PalletInfo[] +} + +export interface V3Response_Version { + __kind: 'Version' + value: number +} + +export interface V3MultiAsset { + id: V3AssetId + fun: V3Fungibility +} + +export type V3Fungibility = V3Fungibility_Fungible | V3Fungibility_NonFungible + +export interface V3Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V3Fungibility_NonFungible { + __kind: 'NonFungible' + value: V3AssetInstance +} + +export type V3AssetInstance = V3AssetInstance_Array16 | V3AssetInstance_Array32 | V3AssetInstance_Array4 | V3AssetInstance_Array8 | V3AssetInstance_Index | V3AssetInstance_Undefined + +export interface V3AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V3AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V3AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V3AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V3AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V3AssetInstance_Undefined { + __kind: 'Undefined' +} + +export const V3QueryResponseInfo: sts.Type = sts.struct(() => { + return { + destination: V3MultiLocation, + queryId: sts.bigint(), + maxWeight: Weight, + } +}) + +export interface V3QueryResponseInfo { + destination: V3MultiLocation + queryId: bigint + maxWeight: Weight +} + +export const V3MultiAssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V3MultiAsset), + Wild: V3WildMultiAsset, + } +}) + +export const V3WildMultiAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllCounted: sts.number(), + AllOf: sts.enumStruct({ + id: V3AssetId, + fun: V3WildFungibility, + }), + AllOfCounted: sts.enumStruct({ + id: V3AssetId, + fun: V3WildFungibility, + count: sts.number(), + }), + } +}) + +export const V3WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V3WildFungibility = V3WildFungibility_Fungible | V3WildFungibility_NonFungible + +export interface V3WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V3WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export type V3WildMultiAsset = V3WildMultiAsset_All | V3WildMultiAsset_AllCounted | V3WildMultiAsset_AllOf | V3WildMultiAsset_AllOfCounted + +export interface V3WildMultiAsset_All { + __kind: 'All' +} + +export interface V3WildMultiAsset_AllCounted { + __kind: 'AllCounted' + value: number +} + +export interface V3WildMultiAsset_AllOf { + __kind: 'AllOf' + id: V3AssetId + fun: V3WildFungibility +} + +export interface V3WildMultiAsset_AllOfCounted { + __kind: 'AllOfCounted' + id: V3AssetId + fun: V3WildFungibility + count: number +} + +export type V3MultiAssetFilter = V3MultiAssetFilter_Definite | V3MultiAssetFilter_Wild + +export interface V3MultiAssetFilter_Definite { + __kind: 'Definite' + value: V3MultiAsset[] +} + +export interface V3MultiAssetFilter_Wild { + __kind: 'Wild' + value: V3WildMultiAsset +} + +export const V3MultiAsset: sts.Type = sts.struct(() => { + return { + id: V3AssetId, + fun: V3Fungibility, + } +}) + +export const V3Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V3AssetInstance, + } +}) + +export const V3AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V3Instruction = V3Instruction_AliasOrigin | V3Instruction_BurnAsset | V3Instruction_BuyExecution | V3Instruction_ClaimAsset | V3Instruction_ClearError | V3Instruction_ClearOrigin | V3Instruction_ClearTopic | V3Instruction_ClearTransactStatus | V3Instruction_DepositAsset | V3Instruction_DepositReserveAsset | V3Instruction_DescendOrigin | V3Instruction_ExchangeAsset | V3Instruction_ExpectAsset | V3Instruction_ExpectError | V3Instruction_ExpectOrigin | V3Instruction_ExpectPallet | V3Instruction_ExpectTransactStatus | V3Instruction_ExportMessage | V3Instruction_HrmpChannelAccepted | V3Instruction_HrmpChannelClosing | V3Instruction_HrmpNewChannelOpenRequest | V3Instruction_InitiateReserveWithdraw | V3Instruction_InitiateTeleport | V3Instruction_LockAsset | V3Instruction_NoteUnlockable | V3Instruction_QueryPallet | V3Instruction_QueryResponse | V3Instruction_ReceiveTeleportedAsset | V3Instruction_RefundSurplus | V3Instruction_ReportError | V3Instruction_ReportHolding | V3Instruction_ReportTransactStatus | V3Instruction_RequestUnlock | V3Instruction_ReserveAssetDeposited | V3Instruction_SetAppendix | V3Instruction_SetErrorHandler | V3Instruction_SetFeesMode | V3Instruction_SetTopic | V3Instruction_SubscribeVersion | V3Instruction_Transact | V3Instruction_TransferAsset | V3Instruction_TransferReserveAsset | V3Instruction_Trap | V3Instruction_UniversalOrigin | V3Instruction_UnlockAsset | V3Instruction_UnpaidExecution | V3Instruction_UnsubscribeVersion | V3Instruction_WithdrawAsset + +export interface V3Instruction_AliasOrigin { + __kind: 'AliasOrigin' + value: V3MultiLocation +} + +export interface V3Instruction_BurnAsset { + __kind: 'BurnAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V3MultiAsset + weightLimit: V3WeightLimit +} + +export interface V3Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V3MultiAsset[] + ticket: V3MultiLocation +} + +export interface V3Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V3Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V3Instruction_ClearTopic { + __kind: 'ClearTopic' +} + +export interface V3Instruction_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface V3Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V3MultiAssetFilter + beneficiary: V3MultiLocation +} + +export interface V3Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V3Junctions +} + +export interface V3Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V3MultiAssetFilter + want: V3MultiAsset[] + maximal: boolean +} + +export interface V3Instruction_ExpectAsset { + __kind: 'ExpectAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface V3Instruction_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface V3Instruction_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface V3Instruction_ExportMessage { + __kind: 'ExportMessage' + network: V3NetworkId + destination: V3Junctions + xcm: V3Instruction[] +} + +export interface V3Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V3Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V3Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V3Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V3MultiAssetFilter + reserve: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_LockAsset { + __kind: 'LockAsset' + asset: V3MultiAsset + unlocker: V3MultiLocation +} + +export interface V3Instruction_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V3MultiAsset + owner: V3MultiLocation +} + +export interface V3Instruction_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V3QueryResponseInfo +} + +export interface V3Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V3Response + maxWeight: Weight + querier?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V3Instruction_ReportError { + __kind: 'ReportError' + value: V3QueryResponseInfo +} + +export interface V3Instruction_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V3QueryResponseInfo + assets: V3MultiAssetFilter +} + +export interface V3Instruction_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V3QueryResponseInfo +} + +export interface V3Instruction_RequestUnlock { + __kind: 'RequestUnlock' + asset: V3MultiAsset + locker: V3MultiLocation +} + +export interface V3Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V3MultiAsset[] +} + +export interface V3Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V3Instruction[] +} + +export interface V3Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V3Instruction[] +} + +export interface V3Instruction_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface V3Instruction_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface V3Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface V3Instruction_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: DoubleEncoded +} + +export interface V3Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V3MultiAsset[] + beneficiary: V3MultiLocation +} + +export interface V3Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V3MultiAsset[] + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V3Instruction_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V3Junction +} + +export interface V3Instruction_UnlockAsset { + __kind: 'UnlockAsset' + asset: V3MultiAsset + target: V3MultiLocation +} + +export interface V3Instruction_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V3Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V3MultiAsset[] +} + +export const V2Instruction: sts.Type = sts.closedEnum(() => { + return { + BuyExecution: sts.enumStruct({ + fees: V2MultiAsset, + weightLimit: V2WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + ticket: V2MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + beneficiary: V2MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + DescendOrigin: V2Junctions, + ExchangeAsset: sts.enumStruct({ + give: V2MultiAssetFilter, + receive: sts.array(() => V2MultiAsset), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V2MultiAssetFilter, + reserve: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V2MultiAssetFilter, + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + QueryHolding: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + assets: V2MultiAssetFilter, + maxResponseWeight: sts.bigint(), + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V2Response, + maxWeight: sts.bigint(), + }), + ReceiveTeleportedAsset: sts.array(() => V2MultiAsset), + RefundSurplus: sts.unit(), + ReportError: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + maxResponseWeight: sts.bigint(), + }), + ReserveAssetDeposited: sts.array(() => V2MultiAsset), + SetAppendix: sts.array(() => V2Instruction), + SetErrorHandler: sts.array(() => V2Instruction), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: sts.bigint(), + }), + Transact: sts.enumStruct({ + originType: V2OriginKind, + requireWeightAtMost: sts.bigint(), + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + beneficiary: V2MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + Trap: sts.bigint(), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V2MultiAsset), + } +}) + +export const V2Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V2MultiAsset), + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V2Error])), + Null: sts.unit(), + Version: sts.number(), + } +}) + +export const V2Error: sts.Type = sts.closedEnum(() => { + return { + AssetNotFound: sts.unit(), + BadOrigin: sts.unit(), + Barrier: sts.unit(), + DestinationUnsupported: sts.unit(), + ExceedsMaxMessageSize: sts.unit(), + FailedToDecode: sts.unit(), + FailedToTransactAsset: sts.unit(), + InvalidLocation: sts.unit(), + LocationCannotHold: sts.unit(), + MaxWeightInvalid: sts.unit(), + MultiLocationFull: sts.unit(), + MultiLocationNotInvertible: sts.unit(), + NotHoldingFees: sts.unit(), + NotWithdrawable: sts.unit(), + Overflow: sts.unit(), + TooExpensive: sts.unit(), + Transport: sts.unit(), + Trap: sts.bigint(), + UnhandledXcmVersion: sts.unit(), + Unimplemented: sts.unit(), + UnknownClaim: sts.unit(), + Unroutable: sts.unit(), + UntrustedReserveLocation: sts.unit(), + UntrustedTeleportLocation: sts.unit(), + WeightLimitReached: sts.bigint(), + WeightNotComputable: sts.unit(), + } +}) + +export type V2Error = V2Error_AssetNotFound | V2Error_BadOrigin | V2Error_Barrier | V2Error_DestinationUnsupported | V2Error_ExceedsMaxMessageSize | V2Error_FailedToDecode | V2Error_FailedToTransactAsset | V2Error_InvalidLocation | V2Error_LocationCannotHold | V2Error_MaxWeightInvalid | V2Error_MultiLocationFull | V2Error_MultiLocationNotInvertible | V2Error_NotHoldingFees | V2Error_NotWithdrawable | V2Error_Overflow | V2Error_TooExpensive | V2Error_Transport | V2Error_Trap | V2Error_UnhandledXcmVersion | V2Error_Unimplemented | V2Error_UnknownClaim | V2Error_Unroutable | V2Error_UntrustedReserveLocation | V2Error_UntrustedTeleportLocation | V2Error_WeightLimitReached | V2Error_WeightNotComputable + +export interface V2Error_AssetNotFound { + __kind: 'AssetNotFound' +} + +export interface V2Error_BadOrigin { + __kind: 'BadOrigin' +} + +export interface V2Error_Barrier { + __kind: 'Barrier' +} + +export interface V2Error_DestinationUnsupported { + __kind: 'DestinationUnsupported' +} + +export interface V2Error_ExceedsMaxMessageSize { + __kind: 'ExceedsMaxMessageSize' +} + +export interface V2Error_FailedToDecode { + __kind: 'FailedToDecode' +} + +export interface V2Error_FailedToTransactAsset { + __kind: 'FailedToTransactAsset' +} + +export interface V2Error_InvalidLocation { + __kind: 'InvalidLocation' +} + +export interface V2Error_LocationCannotHold { + __kind: 'LocationCannotHold' +} + +export interface V2Error_MaxWeightInvalid { + __kind: 'MaxWeightInvalid' +} + +export interface V2Error_MultiLocationFull { + __kind: 'MultiLocationFull' +} + +export interface V2Error_MultiLocationNotInvertible { + __kind: 'MultiLocationNotInvertible' +} + +export interface V2Error_NotHoldingFees { + __kind: 'NotHoldingFees' +} + +export interface V2Error_NotWithdrawable { + __kind: 'NotWithdrawable' +} + +export interface V2Error_Overflow { + __kind: 'Overflow' +} + +export interface V2Error_TooExpensive { + __kind: 'TooExpensive' +} + +export interface V2Error_Transport { + __kind: 'Transport' +} + +export interface V2Error_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V2Error_UnhandledXcmVersion { + __kind: 'UnhandledXcmVersion' +} + +export interface V2Error_Unimplemented { + __kind: 'Unimplemented' +} + +export interface V2Error_UnknownClaim { + __kind: 'UnknownClaim' +} + +export interface V2Error_Unroutable { + __kind: 'Unroutable' +} + +export interface V2Error_UntrustedReserveLocation { + __kind: 'UntrustedReserveLocation' +} + +export interface V2Error_UntrustedTeleportLocation { + __kind: 'UntrustedTeleportLocation' +} + +export interface V2Error_WeightLimitReached { + __kind: 'WeightLimitReached' + value: bigint +} + +export interface V2Error_WeightNotComputable { + __kind: 'WeightNotComputable' +} + +export type V2Response = V2Response_Assets | V2Response_ExecutionResult | V2Response_Null | V2Response_Version + +export interface V2Response_Assets { + __kind: 'Assets' + value: V2MultiAsset[] +} + +export interface V2Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V2Error] | undefined) +} + +export interface V2Response_Null { + __kind: 'Null' +} + +export interface V2Response_Version { + __kind: 'Version' + value: number +} + +export interface V2MultiAsset { + id: V2AssetId + fun: V2Fungibility +} + +export type V2Fungibility = V2Fungibility_Fungible | V2Fungibility_NonFungible + +export interface V2Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V2Fungibility_NonFungible { + __kind: 'NonFungible' + value: V2AssetInstance +} + +export type V2AssetInstance = V2AssetInstance_Array16 | V2AssetInstance_Array32 | V2AssetInstance_Array4 | V2AssetInstance_Array8 | V2AssetInstance_Blob | V2AssetInstance_Index | V2AssetInstance_Undefined + +export interface V2AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V2AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V2AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V2AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V2AssetInstance_Blob { + __kind: 'Blob' + value: Bytes +} + +export interface V2AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V2AssetInstance_Undefined { + __kind: 'Undefined' +} + +export type V2AssetId = V2AssetId_Abstract | V2AssetId_Concrete + +export interface V2AssetId_Abstract { + __kind: 'Abstract' + value: Bytes +} + +export interface V2AssetId_Concrete { + __kind: 'Concrete' + value: V2MultiLocation +} + +export const V2Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: V2Junction, + X2: sts.tuple(() => [V2Junction, V2Junction]), + X3: sts.tuple(() => [V2Junction, V2Junction, V2Junction]), + X4: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction]), + X5: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X6: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X7: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X8: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + } +}) + +export const V2Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: V2NetworkId, + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: V2NetworkId, + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: V2NetworkId, + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: WeakBoundedVec, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V2BodyId, + part: V2BodyPart, + }), + } +}) + +export const V2BodyPart: sts.Type = sts.closedEnum(() => { + return { + AtLeastProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Fraction: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Members: sts.enumStruct({ + count: sts.number(), + }), + MoreThanProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Voice: sts.unit(), + } +}) + +export const V2BodyId: sts.Type = sts.closedEnum(() => { + return { + Administration: sts.unit(), + Defense: sts.unit(), + Executive: sts.unit(), + Index: sts.number(), + Judicial: sts.unit(), + Legislative: sts.unit(), + Named: WeakBoundedVec, + Technical: sts.unit(), + Treasury: sts.unit(), + Unit: sts.unit(), + } +}) + +export const WeakBoundedVec = sts.bytes() + +export const V2NetworkId: sts.Type = sts.closedEnum(() => { + return { + Any: sts.unit(), + Kusama: sts.unit(), + Named: WeakBoundedVec, + Polkadot: sts.unit(), + } +}) + +export const V2MultiAssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V2MultiAsset), + Wild: V2WildMultiAsset, + } +}) + +export const V2WildMultiAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllOf: sts.enumStruct({ + id: V2AssetId, + fun: V2WildFungibility, + }), + } +}) + +export const V2WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V2WildFungibility = V2WildFungibility_Fungible | V2WildFungibility_NonFungible + +export interface V2WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V2WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export const V2AssetId: sts.Type = sts.closedEnum(() => { + return { + Abstract: sts.bytes(), + Concrete: V2MultiLocation, + } +}) + +export type V2WildMultiAsset = V2WildMultiAsset_All | V2WildMultiAsset_AllOf + +export interface V2WildMultiAsset_All { + __kind: 'All' +} + +export interface V2WildMultiAsset_AllOf { + __kind: 'AllOf' + id: V2AssetId + fun: V2WildFungibility +} + +export type V2MultiAssetFilter = V2MultiAssetFilter_Definite | V2MultiAssetFilter_Wild + +export interface V2MultiAssetFilter_Definite { + __kind: 'Definite' + value: V2MultiAsset[] +} + +export interface V2MultiAssetFilter_Wild { + __kind: 'Wild' + value: V2WildMultiAsset +} + +export const V2MultiLocation: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V2Junctions, + } +}) + +export const V2WeightLimit: sts.Type = sts.closedEnum(() => { + return { + Limited: sts.bigint(), + Unlimited: sts.unit(), + } +}) + +export type V2WeightLimit = V2WeightLimit_Limited | V2WeightLimit_Unlimited + +export interface V2WeightLimit_Limited { + __kind: 'Limited' + value: bigint +} + +export interface V2WeightLimit_Unlimited { + __kind: 'Unlimited' +} + +export const V2MultiAsset: sts.Type = sts.struct(() => { + return { + id: V2AssetId, + fun: V2Fungibility, + } +}) + +export const V2Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V2AssetInstance, + } +}) + +export const V2AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Blob: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V2Instruction = V2Instruction_BuyExecution | V2Instruction_ClaimAsset | V2Instruction_ClearError | V2Instruction_ClearOrigin | V2Instruction_DepositAsset | V2Instruction_DepositReserveAsset | V2Instruction_DescendOrigin | V2Instruction_ExchangeAsset | V2Instruction_HrmpChannelAccepted | V2Instruction_HrmpChannelClosing | V2Instruction_HrmpNewChannelOpenRequest | V2Instruction_InitiateReserveWithdraw | V2Instruction_InitiateTeleport | V2Instruction_QueryHolding | V2Instruction_QueryResponse | V2Instruction_ReceiveTeleportedAsset | V2Instruction_RefundSurplus | V2Instruction_ReportError | V2Instruction_ReserveAssetDeposited | V2Instruction_SetAppendix | V2Instruction_SetErrorHandler | V2Instruction_SubscribeVersion | V2Instruction_Transact | V2Instruction_TransferAsset | V2Instruction_TransferReserveAsset | V2Instruction_Trap | V2Instruction_UnsubscribeVersion | V2Instruction_WithdrawAsset + +export interface V2Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V2MultiAsset + weightLimit: V2WeightLimit +} + +export interface V2Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V2MultiAsset[] + ticket: V2MultiLocation +} + +export interface V2Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V2Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V2Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V2MultiAssetFilter + maxAssets: number + beneficiary: V2MultiLocation +} + +export interface V2Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V2MultiAssetFilter + maxAssets: number + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V2Junctions +} + +export interface V2Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V2MultiAssetFilter + receive: V2MultiAsset[] +} + +export interface V2Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V2Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V2Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V2Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V2MultiAssetFilter + reserve: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V2MultiAssetFilter + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_QueryHolding { + __kind: 'QueryHolding' + queryId: bigint + dest: V2MultiLocation + assets: V2MultiAssetFilter + maxResponseWeight: bigint +} + +export interface V2Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V2Response + maxWeight: bigint +} + +export interface V2Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V2MultiAsset[] +} + +export interface V2Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V2Instruction_ReportError { + __kind: 'ReportError' + queryId: bigint + dest: V2MultiLocation + maxResponseWeight: bigint +} + +export interface V2Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V2MultiAsset[] +} + +export interface V2Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V2Instruction[] +} + +export interface V2Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V2Instruction[] +} + +export interface V2Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: bigint +} + +export interface V2Instruction_Transact { + __kind: 'Transact' + originType: V2OriginKind + requireWeightAtMost: bigint + call: DoubleEncoded +} + +export interface V2Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V2MultiAsset[] + beneficiary: V2MultiLocation +} + +export interface V2Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V2MultiAsset[] + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V2Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V2Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V2MultiAsset[] +} + +export type VersionedXcm = VersionedXcm_V2 | VersionedXcm_V3 | VersionedXcm_V4 + +export interface VersionedXcm_V2 { + __kind: 'V2' + value: V2Instruction[] +} + +export interface VersionedXcm_V3 { + __kind: 'V3' + value: V3Instruction[] +} + +export interface VersionedXcm_V4 { + __kind: 'V4' + value: V4Instruction[] +} + +export const V3WeightLimit: sts.Type = sts.closedEnum(() => { + return { + Limited: Weight, + Unlimited: sts.unit(), + } +}) + +export const V4Location: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V4Junctions, + } +}) + +export const Type_480: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => Type_483), + V3: sts.array(() => Type_487), + V4: sts.array(() => Type_490), + } +}) + +export const Type_490: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V4Location, + BurnAsset: sts.array(() => V4Asset), + BuyExecution: sts.enumStruct({ + fees: V4Asset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + ticket: V4Location, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V4AssetFilter, + beneficiary: V4Location, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + DescendOrigin: V4Junctions, + ExchangeAsset: sts.enumStruct({ + give: V4AssetFilter, + want: sts.array(() => V4Asset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V4Asset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V4Location), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V4NetworkId, + destination: V4Junctions, + xcm: sts.array(() => V4Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V4AssetFilter, + reserve: V4Location, + xcm: sts.array(() => V4Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V4Asset, + unlocker: V4Location, + }), + NoteUnlockable: sts.enumStruct({ + asset: V4Asset, + owner: V4Location, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V4QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V4Response, + maxWeight: Weight, + querier: sts.option(() => V4Location), + }), + ReceiveTeleportedAsset: sts.array(() => V4Asset), + RefundSurplus: sts.unit(), + ReportError: V4QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V4QueryResponseInfo, + assets: V4AssetFilter, + }), + ReportTransactStatus: V4QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V4Asset, + locker: V4Location, + }), + ReserveAssetDeposited: sts.array(() => V4Asset), + SetAppendix: sts.array(() => Type_490), + SetErrorHandler: sts.array(() => Type_490), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: Type_484, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + beneficiary: V4Location, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V4Junction, + UnlockAsset: sts.enumStruct({ + asset: V4Asset, + target: V4Location, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V4Location), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V4Asset), + } +}) + +export const Type_484: sts.Type = sts.struct(() => { + return { + encoded: sts.bytes(), + } +}) + +export interface Type_484 { + encoded: Bytes +} + +export type Type_490 = Type_490_AliasOrigin | Type_490_BurnAsset | Type_490_BuyExecution | Type_490_ClaimAsset | Type_490_ClearError | Type_490_ClearOrigin | Type_490_ClearTopic | Type_490_ClearTransactStatus | Type_490_DepositAsset | Type_490_DepositReserveAsset | Type_490_DescendOrigin | Type_490_ExchangeAsset | Type_490_ExpectAsset | Type_490_ExpectError | Type_490_ExpectOrigin | Type_490_ExpectPallet | Type_490_ExpectTransactStatus | Type_490_ExportMessage | Type_490_HrmpChannelAccepted | Type_490_HrmpChannelClosing | Type_490_HrmpNewChannelOpenRequest | Type_490_InitiateReserveWithdraw | Type_490_InitiateTeleport | Type_490_LockAsset | Type_490_NoteUnlockable | Type_490_QueryPallet | Type_490_QueryResponse | Type_490_ReceiveTeleportedAsset | Type_490_RefundSurplus | Type_490_ReportError | Type_490_ReportHolding | Type_490_ReportTransactStatus | Type_490_RequestUnlock | Type_490_ReserveAssetDeposited | Type_490_SetAppendix | Type_490_SetErrorHandler | Type_490_SetFeesMode | Type_490_SetTopic | Type_490_SubscribeVersion | Type_490_Transact | Type_490_TransferAsset | Type_490_TransferReserveAsset | Type_490_Trap | Type_490_UniversalOrigin | Type_490_UnlockAsset | Type_490_UnpaidExecution | Type_490_UnsubscribeVersion | Type_490_WithdrawAsset + +export interface Type_490_AliasOrigin { + __kind: 'AliasOrigin' + value: V4Location +} + +export interface Type_490_BurnAsset { + __kind: 'BurnAsset' + value: V4Asset[] +} + +export interface Type_490_BuyExecution { + __kind: 'BuyExecution' + fees: V4Asset + weightLimit: V3WeightLimit +} + +export interface Type_490_ClaimAsset { + __kind: 'ClaimAsset' + assets: V4Asset[] + ticket: V4Location +} + +export interface Type_490_ClearError { + __kind: 'ClearError' +} + +export interface Type_490_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_490_ClearTopic { + __kind: 'ClearTopic' +} + +export interface Type_490_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface Type_490_DepositAsset { + __kind: 'DepositAsset' + assets: V4AssetFilter + beneficiary: V4Location +} + +export interface Type_490_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_490_DescendOrigin { + __kind: 'DescendOrigin' + value: V4Junctions +} + +export interface Type_490_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V4AssetFilter + want: V4Asset[] + maximal: boolean +} + +export interface Type_490_ExpectAsset { + __kind: 'ExpectAsset' + value: V4Asset[] +} + +export interface Type_490_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface Type_490_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V4Location | undefined) +} + +export interface Type_490_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface Type_490_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface Type_490_ExportMessage { + __kind: 'ExportMessage' + network: V4NetworkId + destination: V4Junctions + xcm: V4Instruction[] +} + +export interface Type_490_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_490_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_490_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_490_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V4AssetFilter + reserve: V4Location + xcm: V4Instruction[] +} + +export interface Type_490_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_490_LockAsset { + __kind: 'LockAsset' + asset: V4Asset + unlocker: V4Location +} + +export interface Type_490_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V4Asset + owner: V4Location +} + +export interface Type_490_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V4QueryResponseInfo +} + +export interface Type_490_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V4Response + maxWeight: Weight + querier?: (V4Location | undefined) +} + +export interface Type_490_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V4Asset[] +} + +export interface Type_490_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_490_ReportError { + __kind: 'ReportError' + value: V4QueryResponseInfo +} + +export interface Type_490_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V4QueryResponseInfo + assets: V4AssetFilter +} + +export interface Type_490_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V4QueryResponseInfo +} + +export interface Type_490_RequestUnlock { + __kind: 'RequestUnlock' + asset: V4Asset + locker: V4Location +} + +export interface Type_490_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V4Asset[] +} + +export interface Type_490_SetAppendix { + __kind: 'SetAppendix' + value: Type_490[] +} + +export interface Type_490_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_490[] +} + +export interface Type_490_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface Type_490_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface Type_490_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface Type_490_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: Type_484 +} + +export interface Type_490_TransferAsset { + __kind: 'TransferAsset' + assets: V4Asset[] + beneficiary: V4Location +} + +export interface Type_490_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V4Asset[] + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_490_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_490_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V4Junction +} + +export interface Type_490_UnlockAsset { + __kind: 'UnlockAsset' + asset: V4Asset + target: V4Location +} + +export interface Type_490_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V4Location | undefined) +} + +export interface Type_490_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_490_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V4Asset[] +} + +export const Type_487: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V3MultiLocation, + BurnAsset: sts.array(() => V3MultiAsset), + BuyExecution: sts.enumStruct({ + fees: V3MultiAsset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + ticket: V3MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + beneficiary: V3MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + DescendOrigin: V3Junctions, + ExchangeAsset: sts.enumStruct({ + give: V3MultiAssetFilter, + want: sts.array(() => V3MultiAsset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V3MultiAsset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V3MultiLocation), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V3NetworkId, + destination: V3Junctions, + xcm: sts.array(() => V3Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V3MultiAssetFilter, + reserve: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V3MultiAsset, + unlocker: V3MultiLocation, + }), + NoteUnlockable: sts.enumStruct({ + asset: V3MultiAsset, + owner: V3MultiLocation, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V3QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V3Response, + maxWeight: Weight, + querier: sts.option(() => V3MultiLocation), + }), + ReceiveTeleportedAsset: sts.array(() => V3MultiAsset), + RefundSurplus: sts.unit(), + ReportError: V3QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V3QueryResponseInfo, + assets: V3MultiAssetFilter, + }), + ReportTransactStatus: V3QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V3MultiAsset, + locker: V3MultiLocation, + }), + ReserveAssetDeposited: sts.array(() => V3MultiAsset), + SetAppendix: sts.array(() => Type_487), + SetErrorHandler: sts.array(() => Type_487), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: Type_484, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + beneficiary: V3MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V3Junction, + UnlockAsset: sts.enumStruct({ + asset: V3MultiAsset, + target: V3MultiLocation, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V3MultiLocation), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V3MultiAsset), + } +}) + +export type Type_487 = Type_487_AliasOrigin | Type_487_BurnAsset | Type_487_BuyExecution | Type_487_ClaimAsset | Type_487_ClearError | Type_487_ClearOrigin | Type_487_ClearTopic | Type_487_ClearTransactStatus | Type_487_DepositAsset | Type_487_DepositReserveAsset | Type_487_DescendOrigin | Type_487_ExchangeAsset | Type_487_ExpectAsset | Type_487_ExpectError | Type_487_ExpectOrigin | Type_487_ExpectPallet | Type_487_ExpectTransactStatus | Type_487_ExportMessage | Type_487_HrmpChannelAccepted | Type_487_HrmpChannelClosing | Type_487_HrmpNewChannelOpenRequest | Type_487_InitiateReserveWithdraw | Type_487_InitiateTeleport | Type_487_LockAsset | Type_487_NoteUnlockable | Type_487_QueryPallet | Type_487_QueryResponse | Type_487_ReceiveTeleportedAsset | Type_487_RefundSurplus | Type_487_ReportError | Type_487_ReportHolding | Type_487_ReportTransactStatus | Type_487_RequestUnlock | Type_487_ReserveAssetDeposited | Type_487_SetAppendix | Type_487_SetErrorHandler | Type_487_SetFeesMode | Type_487_SetTopic | Type_487_SubscribeVersion | Type_487_Transact | Type_487_TransferAsset | Type_487_TransferReserveAsset | Type_487_Trap | Type_487_UniversalOrigin | Type_487_UnlockAsset | Type_487_UnpaidExecution | Type_487_UnsubscribeVersion | Type_487_WithdrawAsset + +export interface Type_487_AliasOrigin { + __kind: 'AliasOrigin' + value: V3MultiLocation +} + +export interface Type_487_BurnAsset { + __kind: 'BurnAsset' + value: V3MultiAsset[] +} + +export interface Type_487_BuyExecution { + __kind: 'BuyExecution' + fees: V3MultiAsset + weightLimit: V3WeightLimit +} + +export interface Type_487_ClaimAsset { + __kind: 'ClaimAsset' + assets: V3MultiAsset[] + ticket: V3MultiLocation +} + +export interface Type_487_ClearError { + __kind: 'ClearError' +} + +export interface Type_487_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_487_ClearTopic { + __kind: 'ClearTopic' +} + +export interface Type_487_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface Type_487_DepositAsset { + __kind: 'DepositAsset' + assets: V3MultiAssetFilter + beneficiary: V3MultiLocation +} + +export interface Type_487_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_487_DescendOrigin { + __kind: 'DescendOrigin' + value: V3Junctions +} + +export interface Type_487_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V3MultiAssetFilter + want: V3MultiAsset[] + maximal: boolean +} + +export interface Type_487_ExpectAsset { + __kind: 'ExpectAsset' + value: V3MultiAsset[] +} + +export interface Type_487_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface Type_487_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V3MultiLocation | undefined) +} + +export interface Type_487_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface Type_487_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface Type_487_ExportMessage { + __kind: 'ExportMessage' + network: V3NetworkId + destination: V3Junctions + xcm: V3Instruction[] +} + +export interface Type_487_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_487_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_487_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_487_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V3MultiAssetFilter + reserve: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_487_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_487_LockAsset { + __kind: 'LockAsset' + asset: V3MultiAsset + unlocker: V3MultiLocation +} + +export interface Type_487_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V3MultiAsset + owner: V3MultiLocation +} + +export interface Type_487_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V3QueryResponseInfo +} + +export interface Type_487_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V3Response + maxWeight: Weight + querier?: (V3MultiLocation | undefined) +} + +export interface Type_487_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V3MultiAsset[] +} + +export interface Type_487_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_487_ReportError { + __kind: 'ReportError' + value: V3QueryResponseInfo +} + +export interface Type_487_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V3QueryResponseInfo + assets: V3MultiAssetFilter +} + +export interface Type_487_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V3QueryResponseInfo +} + +export interface Type_487_RequestUnlock { + __kind: 'RequestUnlock' + asset: V3MultiAsset + locker: V3MultiLocation +} + +export interface Type_487_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V3MultiAsset[] +} + +export interface Type_487_SetAppendix { + __kind: 'SetAppendix' + value: Type_487[] +} + +export interface Type_487_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_487[] +} + +export interface Type_487_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface Type_487_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface Type_487_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface Type_487_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: Type_484 +} + +export interface Type_487_TransferAsset { + __kind: 'TransferAsset' + assets: V3MultiAsset[] + beneficiary: V3MultiLocation +} + +export interface Type_487_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V3MultiAsset[] + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_487_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_487_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V3Junction +} + +export interface Type_487_UnlockAsset { + __kind: 'UnlockAsset' + asset: V3MultiAsset + target: V3MultiLocation +} + +export interface Type_487_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V3MultiLocation | undefined) +} + +export interface Type_487_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_487_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V3MultiAsset[] +} + +export const Type_483: sts.Type = sts.closedEnum(() => { + return { + BuyExecution: sts.enumStruct({ + fees: V2MultiAsset, + weightLimit: V2WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + ticket: V2MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + beneficiary: V2MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + DescendOrigin: V2Junctions, + ExchangeAsset: sts.enumStruct({ + give: V2MultiAssetFilter, + receive: sts.array(() => V2MultiAsset), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V2MultiAssetFilter, + reserve: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V2MultiAssetFilter, + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + QueryHolding: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + assets: V2MultiAssetFilter, + maxResponseWeight: sts.bigint(), + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V2Response, + maxWeight: sts.bigint(), + }), + ReceiveTeleportedAsset: sts.array(() => V2MultiAsset), + RefundSurplus: sts.unit(), + ReportError: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + maxResponseWeight: sts.bigint(), + }), + ReserveAssetDeposited: sts.array(() => V2MultiAsset), + SetAppendix: sts.array(() => Type_483), + SetErrorHandler: sts.array(() => Type_483), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: sts.bigint(), + }), + Transact: sts.enumStruct({ + originType: V2OriginKind, + requireWeightAtMost: sts.bigint(), + call: Type_484, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + beneficiary: V2MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + Trap: sts.bigint(), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V2MultiAsset), + } +}) + +export type Type_483 = Type_483_BuyExecution | Type_483_ClaimAsset | Type_483_ClearError | Type_483_ClearOrigin | Type_483_DepositAsset | Type_483_DepositReserveAsset | Type_483_DescendOrigin | Type_483_ExchangeAsset | Type_483_HrmpChannelAccepted | Type_483_HrmpChannelClosing | Type_483_HrmpNewChannelOpenRequest | Type_483_InitiateReserveWithdraw | Type_483_InitiateTeleport | Type_483_QueryHolding | Type_483_QueryResponse | Type_483_ReceiveTeleportedAsset | Type_483_RefundSurplus | Type_483_ReportError | Type_483_ReserveAssetDeposited | Type_483_SetAppendix | Type_483_SetErrorHandler | Type_483_SubscribeVersion | Type_483_Transact | Type_483_TransferAsset | Type_483_TransferReserveAsset | Type_483_Trap | Type_483_UnsubscribeVersion | Type_483_WithdrawAsset + +export interface Type_483_BuyExecution { + __kind: 'BuyExecution' + fees: V2MultiAsset + weightLimit: V2WeightLimit +} + +export interface Type_483_ClaimAsset { + __kind: 'ClaimAsset' + assets: V2MultiAsset[] + ticket: V2MultiLocation +} + +export interface Type_483_ClearError { + __kind: 'ClearError' +} + +export interface Type_483_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_483_DepositAsset { + __kind: 'DepositAsset' + assets: V2MultiAssetFilter + maxAssets: number + beneficiary: V2MultiLocation +} + +export interface Type_483_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V2MultiAssetFilter + maxAssets: number + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_483_DescendOrigin { + __kind: 'DescendOrigin' + value: V2Junctions +} + +export interface Type_483_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V2MultiAssetFilter + receive: V2MultiAsset[] +} + +export interface Type_483_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_483_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_483_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_483_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V2MultiAssetFilter + reserve: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_483_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V2MultiAssetFilter + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_483_QueryHolding { + __kind: 'QueryHolding' + queryId: bigint + dest: V2MultiLocation + assets: V2MultiAssetFilter + maxResponseWeight: bigint +} + +export interface Type_483_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V2Response + maxWeight: bigint +} + +export interface Type_483_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V2MultiAsset[] +} + +export interface Type_483_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_483_ReportError { + __kind: 'ReportError' + queryId: bigint + dest: V2MultiLocation + maxResponseWeight: bigint +} + +export interface Type_483_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V2MultiAsset[] +} + +export interface Type_483_SetAppendix { + __kind: 'SetAppendix' + value: Type_483[] +} + +export interface Type_483_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_483[] +} + +export interface Type_483_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: bigint +} + +export interface Type_483_Transact { + __kind: 'Transact' + originType: V2OriginKind + requireWeightAtMost: bigint + call: Type_484 +} + +export interface Type_483_TransferAsset { + __kind: 'TransferAsset' + assets: V2MultiAsset[] + beneficiary: V2MultiLocation +} + +export interface Type_483_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V2MultiAsset[] + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_483_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_483_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_483_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V2MultiAsset[] +} + +export type Type_480 = Type_480_V2 | Type_480_V3 | Type_480_V4 + +export interface Type_480_V2 { + __kind: 'V2' + value: Type_483[] +} + +export interface Type_480_V3 { + __kind: 'V3' + value: Type_487[] +} + +export interface Type_480_V4 { + __kind: 'V4' + value: Type_490[] +} + +export const VersionedLocation: sts.Type = sts.closedEnum(() => { + return { + V2: V2MultiLocation, + V3: V3MultiLocation, + V4: V4Location, + } +}) + +export const VersionedAssets: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => V2MultiAsset), + V3: sts.array(() => V3MultiAsset), + V4: sts.array(() => V4Asset), + } +}) + +export type VersionedAssets = VersionedAssets_V2 | VersionedAssets_V3 | VersionedAssets_V4 + +export interface VersionedAssets_V2 { + __kind: 'V2' + value: V2MultiAsset[] +} + +export interface VersionedAssets_V3 { + __kind: 'V3' + value: V3MultiAsset[] +} + +export interface VersionedAssets_V4 { + __kind: 'V4' + value: V4Asset[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type XcmPalletCall = XcmPalletCall_claim_assets | XcmPalletCall_execute | XcmPalletCall_force_default_xcm_version | XcmPalletCall_force_subscribe_version_notify | XcmPalletCall_force_suspension | XcmPalletCall_force_unsubscribe_version_notify | XcmPalletCall_force_xcm_version | XcmPalletCall_limited_reserve_transfer_assets | XcmPalletCall_limited_teleport_assets | XcmPalletCall_reserve_transfer_assets | XcmPalletCall_send | XcmPalletCall_teleport_assets | XcmPalletCall_transfer_assets | XcmPalletCall_transfer_assets_using_type_and_then + +/** + * See [`Pallet::claim_assets`]. + */ +export interface XcmPalletCall_claim_assets { + __kind: 'claim_assets' + assets: VersionedAssets + beneficiary: VersionedLocation +} + +/** + * See [`Pallet::execute`]. + */ +export interface XcmPalletCall_execute { + __kind: 'execute' + message: Type_480 + maxWeight: Weight +} + +/** + * See [`Pallet::force_default_xcm_version`]. + */ +export interface XcmPalletCall_force_default_xcm_version { + __kind: 'force_default_xcm_version' + maybeXcmVersion?: (number | undefined) +} + +/** + * See [`Pallet::force_subscribe_version_notify`]. + */ +export interface XcmPalletCall_force_subscribe_version_notify { + __kind: 'force_subscribe_version_notify' + location: VersionedLocation +} + +/** + * See [`Pallet::force_suspension`]. + */ +export interface XcmPalletCall_force_suspension { + __kind: 'force_suspension' + suspended: boolean +} + +/** + * See [`Pallet::force_unsubscribe_version_notify`]. + */ +export interface XcmPalletCall_force_unsubscribe_version_notify { + __kind: 'force_unsubscribe_version_notify' + location: VersionedLocation +} + +/** + * See [`Pallet::force_xcm_version`]. + */ +export interface XcmPalletCall_force_xcm_version { + __kind: 'force_xcm_version' + location: V4Location + version: number +} + +/** + * See [`Pallet::limited_reserve_transfer_assets`]. + */ +export interface XcmPalletCall_limited_reserve_transfer_assets { + __kind: 'limited_reserve_transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * See [`Pallet::limited_teleport_assets`]. + */ +export interface XcmPalletCall_limited_teleport_assets { + __kind: 'limited_teleport_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * See [`Pallet::reserve_transfer_assets`]. + */ +export interface XcmPalletCall_reserve_transfer_assets { + __kind: 'reserve_transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number +} + +/** + * See [`Pallet::send`]. + */ +export interface XcmPalletCall_send { + __kind: 'send' + dest: VersionedLocation + message: VersionedXcm +} + +/** + * See [`Pallet::teleport_assets`]. + */ +export interface XcmPalletCall_teleport_assets { + __kind: 'teleport_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number +} + +/** + * See [`Pallet::transfer_assets`]. + */ +export interface XcmPalletCall_transfer_assets { + __kind: 'transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * See [`Pallet::transfer_assets_using_type_and_then`]. + */ +export interface XcmPalletCall_transfer_assets_using_type_and_then { + __kind: 'transfer_assets_using_type_and_then' + dest: VersionedLocation + assets: VersionedAssets + assetsTransferType: TransferType + remoteFeesId: VersionedAssetId + feesTransferType: TransferType + customXcmOnDest: VersionedXcm + weightLimit: V3WeightLimit +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const WhitelistCall: sts.Type = sts.closedEnum(() => { + return { + dispatch_whitelisted_call: sts.enumStruct({ + callHash: H256, + callEncodedLen: sts.number(), + callWeightWitness: Weight, + }), + dispatch_whitelisted_call_with_preimage: sts.enumStruct({ + call: Call, + }), + remove_whitelisted_call: sts.enumStruct({ + callHash: H256, + }), + whitelist_call: sts.enumStruct({ + callHash: H256, + }), + } +}) + +export const H256 = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type WhitelistCall = WhitelistCall_dispatch_whitelisted_call | WhitelistCall_dispatch_whitelisted_call_with_preimage | WhitelistCall_remove_whitelisted_call | WhitelistCall_whitelist_call + +/** + * See [`Pallet::dispatch_whitelisted_call`]. + */ +export interface WhitelistCall_dispatch_whitelisted_call { + __kind: 'dispatch_whitelisted_call' + callHash: H256 + callEncodedLen: number + callWeightWitness: Weight +} + +/** + * See [`Pallet::dispatch_whitelisted_call_with_preimage`]. + */ +export interface WhitelistCall_dispatch_whitelisted_call_with_preimage { + __kind: 'dispatch_whitelisted_call_with_preimage' + call: Call +} + +/** + * See [`Pallet::remove_whitelisted_call`]. + */ +export interface WhitelistCall_remove_whitelisted_call { + __kind: 'remove_whitelisted_call' + callHash: H256 +} + +/** + * See [`Pallet::whitelist_call`]. + */ +export interface WhitelistCall_whitelist_call { + __kind: 'whitelist_call' + callHash: H256 +} + +export type H256 = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const VoterListCall: sts.Type = sts.closedEnum(() => { + return { + put_in_front_of: sts.enumStruct({ + lighter: MultiAddress, + }), + put_in_front_of_other: sts.enumStruct({ + heavier: MultiAddress, + lighter: MultiAddress, + }), + rebag: sts.enumStruct({ + dislocated: MultiAddress, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type VoterListCall = VoterListCall_put_in_front_of | VoterListCall_put_in_front_of_other | VoterListCall_rebag + +/** + * See [`Pallet::put_in_front_of`]. + */ +export interface VoterListCall_put_in_front_of { + __kind: 'put_in_front_of' + lighter: MultiAddress +} + +/** + * See [`Pallet::put_in_front_of_other`]. + */ +export interface VoterListCall_put_in_front_of_other { + __kind: 'put_in_front_of_other' + heavier: MultiAddress + lighter: MultiAddress +} + +/** + * See [`Pallet::rebag`]. + */ +export interface VoterListCall_rebag { + __kind: 'rebag' + dislocated: MultiAddress +} + +export type MultiAddress = MultiAddress_Address20 | MultiAddress_Address32 | MultiAddress_Id | MultiAddress_Index | MultiAddress_Raw + +export interface MultiAddress_Address20 { + __kind: 'Address20' + value: Bytes +} + +export interface MultiAddress_Address32 { + __kind: 'Address32' + value: Bytes +} + +export interface MultiAddress_Id { + __kind: 'Id' + value: AccountId32 +} + +export interface MultiAddress_Index { + __kind: 'Index' +} + +export interface MultiAddress_Raw { + __kind: 'Raw' + value: Bytes +} + +export type AccountId32 = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const VestingCall: sts.Type = sts.closedEnum(() => { + return { + force_remove_vesting_schedule: sts.enumStruct({ + target: MultiAddress, + scheduleIndex: sts.number(), + }), + force_vested_transfer: sts.enumStruct({ + source: MultiAddress, + target: MultiAddress, + schedule: VestingInfo, + }), + merge_schedules: sts.enumStruct({ + schedule1Index: sts.number(), + schedule2Index: sts.number(), + }), + vest: sts.unit(), + vest_other: sts.enumStruct({ + target: MultiAddress, + }), + vested_transfer: sts.enumStruct({ + target: MultiAddress, + schedule: VestingInfo, + }), + } +}) + +export const VestingInfo: sts.Type = sts.struct(() => { + return { + locked: sts.bigint(), + perBlock: sts.bigint(), + startingBlock: sts.number(), + } +}) + +export interface VestingInfo { + locked: bigint + perBlock: bigint + startingBlock: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type VestingCall = VestingCall_force_remove_vesting_schedule | VestingCall_force_vested_transfer | VestingCall_merge_schedules | VestingCall_vest | VestingCall_vest_other | VestingCall_vested_transfer + +/** + * See [`Pallet::force_remove_vesting_schedule`]. + */ +export interface VestingCall_force_remove_vesting_schedule { + __kind: 'force_remove_vesting_schedule' + target: MultiAddress + scheduleIndex: number +} + +/** + * See [`Pallet::force_vested_transfer`]. + */ +export interface VestingCall_force_vested_transfer { + __kind: 'force_vested_transfer' + source: MultiAddress + target: MultiAddress + schedule: VestingInfo +} + +/** + * See [`Pallet::merge_schedules`]. + */ +export interface VestingCall_merge_schedules { + __kind: 'merge_schedules' + schedule1Index: number + schedule2Index: number +} + +/** + * See [`Pallet::vest`]. + */ +export interface VestingCall_vest { + __kind: 'vest' +} + +/** + * See [`Pallet::vest_other`]. + */ +export interface VestingCall_vest_other { + __kind: 'vest_other' + target: MultiAddress +} + +/** + * See [`Pallet::vested_transfer`]. + */ +export interface VestingCall_vested_transfer { + __kind: 'vested_transfer' + target: MultiAddress + schedule: VestingInfo +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const UtilityCall: sts.Type = sts.closedEnum(() => { + return { + as_derivative: sts.enumStruct({ + index: sts.number(), + call: Call, + }), + batch: sts.enumStruct({ + calls: sts.array(() => Call), + }), + batch_all: sts.enumStruct({ + calls: sts.array(() => Call), + }), + dispatch_as: sts.enumStruct({ + asOrigin: OriginCaller, + call: Call, + }), + force_batch: sts.enumStruct({ + calls: sts.array(() => Call), + }), + with_weight: sts.enumStruct({ + call: Call, + weight: Weight, + }), + } +}) + +export const OriginCaller: sts.Type = sts.closedEnum(() => { + return { + Origins: Origin, + ParachainsOrigin: Type_164, + Void: Void, + XcmPallet: Type_166, + system: RawOrigin, + } +}) + +export const RawOrigin: sts.Type = sts.closedEnum(() => { + return { + None: sts.unit(), + Root: sts.unit(), + Signed: AccountId32, + } +}) + +export type RawOrigin = RawOrigin_None | RawOrigin_Root | RawOrigin_Signed + +export interface RawOrigin_None { + __kind: 'None' +} + +export interface RawOrigin_Root { + __kind: 'Root' +} + +export interface RawOrigin_Signed { + __kind: 'Signed' + value: AccountId32 +} + +export const Type_166: sts.Type = sts.closedEnum(() => { + return { + Response: V4Location, + Xcm: V4Location, + } +}) + +export type Type_166 = Type_166_Response | Type_166_Xcm + +export interface Type_166_Response { + __kind: 'Response' + value: V4Location +} + +export interface Type_166_Xcm { + __kind: 'Xcm' + value: V4Location +} + +export const Void: sts.Type = sts.closedEnum(() => { + return { + } +}) + +export type Void = never + +export const Type_164: sts.Type = sts.closedEnum(() => { + return { + Parachain: Id, + } +}) + +export const Id = sts.number() + +export type Type_164 = Type_164_Parachain + +export interface Type_164_Parachain { + __kind: 'Parachain' + value: Id +} + +export type Id = number + +export const Origin: sts.Type = sts.closedEnum(() => { + return { + AuctionAdmin: sts.unit(), + BigSpender: sts.unit(), + BigTipper: sts.unit(), + Fellows: sts.unit(), + Fellowship1Dan: sts.unit(), + Fellowship2Dan: sts.unit(), + Fellowship3Dan: sts.unit(), + Fellowship4Dan: sts.unit(), + Fellowship5Dan: sts.unit(), + Fellowship6Dan: sts.unit(), + Fellowship7Dan: sts.unit(), + Fellowship8Dan: sts.unit(), + Fellowship9Dan: sts.unit(), + FellowshipAdmin: sts.unit(), + FellowshipExperts: sts.unit(), + FellowshipInitiates: sts.unit(), + FellowshipMasters: sts.unit(), + GeneralAdmin: sts.unit(), + LeaseAdmin: sts.unit(), + MediumSpender: sts.unit(), + ReferendumCanceller: sts.unit(), + ReferendumKiller: sts.unit(), + SmallSpender: sts.unit(), + SmallTipper: sts.unit(), + StakingAdmin: sts.unit(), + Treasurer: sts.unit(), + WhitelistedCaller: sts.unit(), + WishForChange: sts.unit(), + } +}) + +export type Origin = Origin_AuctionAdmin | Origin_BigSpender | Origin_BigTipper | Origin_Fellows | Origin_Fellowship1Dan | Origin_Fellowship2Dan | Origin_Fellowship3Dan | Origin_Fellowship4Dan | Origin_Fellowship5Dan | Origin_Fellowship6Dan | Origin_Fellowship7Dan | Origin_Fellowship8Dan | Origin_Fellowship9Dan | Origin_FellowshipAdmin | Origin_FellowshipExperts | Origin_FellowshipInitiates | Origin_FellowshipMasters | Origin_GeneralAdmin | Origin_LeaseAdmin | Origin_MediumSpender | Origin_ReferendumCanceller | Origin_ReferendumKiller | Origin_SmallSpender | Origin_SmallTipper | Origin_StakingAdmin | Origin_Treasurer | Origin_WhitelistedCaller | Origin_WishForChange + +export interface Origin_AuctionAdmin { + __kind: 'AuctionAdmin' +} + +export interface Origin_BigSpender { + __kind: 'BigSpender' +} + +export interface Origin_BigTipper { + __kind: 'BigTipper' +} + +export interface Origin_Fellows { + __kind: 'Fellows' +} + +export interface Origin_Fellowship1Dan { + __kind: 'Fellowship1Dan' +} + +export interface Origin_Fellowship2Dan { + __kind: 'Fellowship2Dan' +} + +export interface Origin_Fellowship3Dan { + __kind: 'Fellowship3Dan' +} + +export interface Origin_Fellowship4Dan { + __kind: 'Fellowship4Dan' +} + +export interface Origin_Fellowship5Dan { + __kind: 'Fellowship5Dan' +} + +export interface Origin_Fellowship6Dan { + __kind: 'Fellowship6Dan' +} + +export interface Origin_Fellowship7Dan { + __kind: 'Fellowship7Dan' +} + +export interface Origin_Fellowship8Dan { + __kind: 'Fellowship8Dan' +} + +export interface Origin_Fellowship9Dan { + __kind: 'Fellowship9Dan' +} + +export interface Origin_FellowshipAdmin { + __kind: 'FellowshipAdmin' +} + +export interface Origin_FellowshipExperts { + __kind: 'FellowshipExperts' +} + +export interface Origin_FellowshipInitiates { + __kind: 'FellowshipInitiates' +} + +export interface Origin_FellowshipMasters { + __kind: 'FellowshipMasters' +} + +export interface Origin_GeneralAdmin { + __kind: 'GeneralAdmin' +} + +export interface Origin_LeaseAdmin { + __kind: 'LeaseAdmin' +} + +export interface Origin_MediumSpender { + __kind: 'MediumSpender' +} + +export interface Origin_ReferendumCanceller { + __kind: 'ReferendumCanceller' +} + +export interface Origin_ReferendumKiller { + __kind: 'ReferendumKiller' +} + +export interface Origin_SmallSpender { + __kind: 'SmallSpender' +} + +export interface Origin_SmallTipper { + __kind: 'SmallTipper' +} + +export interface Origin_StakingAdmin { + __kind: 'StakingAdmin' +} + +export interface Origin_Treasurer { + __kind: 'Treasurer' +} + +export interface Origin_WhitelistedCaller { + __kind: 'WhitelistedCaller' +} + +export interface Origin_WishForChange { + __kind: 'WishForChange' +} + +export type OriginCaller = OriginCaller_Origins | OriginCaller_ParachainsOrigin | OriginCaller_Void | OriginCaller_XcmPallet | OriginCaller_system + +export interface OriginCaller_Origins { + __kind: 'Origins' + value: Origin +} + +export interface OriginCaller_ParachainsOrigin { + __kind: 'ParachainsOrigin' + value: Type_164 +} + +export interface OriginCaller_Void { + __kind: 'Void' + value: Void +} + +export interface OriginCaller_XcmPallet { + __kind: 'XcmPallet' + value: Type_166 +} + +export interface OriginCaller_system { + __kind: 'system' + value: RawOrigin +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type UtilityCall = UtilityCall_as_derivative | UtilityCall_batch | UtilityCall_batch_all | UtilityCall_dispatch_as | UtilityCall_force_batch | UtilityCall_with_weight + +/** + * See [`Pallet::as_derivative`]. + */ +export interface UtilityCall_as_derivative { + __kind: 'as_derivative' + index: number + call: Call +} + +/** + * See [`Pallet::batch`]. + */ +export interface UtilityCall_batch { + __kind: 'batch' + calls: Call[] +} + +/** + * See [`Pallet::batch_all`]. + */ +export interface UtilityCall_batch_all { + __kind: 'batch_all' + calls: Call[] +} + +/** + * See [`Pallet::dispatch_as`]. + */ +export interface UtilityCall_dispatch_as { + __kind: 'dispatch_as' + asOrigin: OriginCaller + call: Call +} + +/** + * See [`Pallet::force_batch`]. + */ +export interface UtilityCall_force_batch { + __kind: 'force_batch' + calls: Call[] +} + +/** + * See [`Pallet::with_weight`]. + */ +export interface UtilityCall_with_weight { + __kind: 'with_weight' + call: Call + weight: Weight +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const TreasuryCall: sts.Type = sts.closedEnum(() => { + return { + approve_proposal: sts.enumStruct({ + proposalId: sts.number(), + }), + check_status: sts.enumStruct({ + index: sts.number(), + }), + payout: sts.enumStruct({ + index: sts.number(), + }), + propose_spend: sts.enumStruct({ + value: sts.bigint(), + beneficiary: MultiAddress, + }), + reject_proposal: sts.enumStruct({ + proposalId: sts.number(), + }), + remove_approval: sts.enumStruct({ + proposalId: sts.number(), + }), + spend: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + amount: sts.bigint(), + beneficiary: VersionedLocation, + validFrom: sts.option(() => sts.number()), + }), + spend_local: sts.enumStruct({ + amount: sts.bigint(), + beneficiary: MultiAddress, + }), + void_spend: sts.enumStruct({ + index: sts.number(), + }), + } +}) + +export const VersionedLocatableAsset: sts.Type = sts.closedEnum(() => { + return { + V3: sts.enumStruct({ + location: V3MultiLocation, + assetId: V3AssetId, + }), + V4: sts.enumStruct({ + location: V4Location, + assetId: V4AssetId, + }), + } +}) + +export type VersionedLocatableAsset = VersionedLocatableAsset_V3 | VersionedLocatableAsset_V4 + +export interface VersionedLocatableAsset_V3 { + __kind: 'V3' + location: V3MultiLocation + assetId: V3AssetId +} + +export interface VersionedLocatableAsset_V4 { + __kind: 'V4' + location: V4Location + assetId: V4AssetId +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type TreasuryCall = TreasuryCall_approve_proposal | TreasuryCall_check_status | TreasuryCall_payout | TreasuryCall_propose_spend | TreasuryCall_reject_proposal | TreasuryCall_remove_approval | TreasuryCall_spend | TreasuryCall_spend_local | TreasuryCall_void_spend + +/** + * See [`Pallet::approve_proposal`]. + */ +export interface TreasuryCall_approve_proposal { + __kind: 'approve_proposal' + proposalId: number +} + +/** + * See [`Pallet::check_status`]. + */ +export interface TreasuryCall_check_status { + __kind: 'check_status' + index: number +} + +/** + * See [`Pallet::payout`]. + */ +export interface TreasuryCall_payout { + __kind: 'payout' + index: number +} + +/** + * See [`Pallet::propose_spend`]. + */ +export interface TreasuryCall_propose_spend { + __kind: 'propose_spend' + value: bigint + beneficiary: MultiAddress +} + +/** + * See [`Pallet::reject_proposal`]. + */ +export interface TreasuryCall_reject_proposal { + __kind: 'reject_proposal' + proposalId: number +} + +/** + * See [`Pallet::remove_approval`]. + */ +export interface TreasuryCall_remove_approval { + __kind: 'remove_approval' + proposalId: number +} + +/** + * See [`Pallet::spend`]. + */ +export interface TreasuryCall_spend { + __kind: 'spend' + assetKind: VersionedLocatableAsset + amount: bigint + beneficiary: VersionedLocation + validFrom?: (number | undefined) +} + +/** + * See [`Pallet::spend_local`]. + */ +export interface TreasuryCall_spend_local { + __kind: 'spend_local' + amount: bigint + beneficiary: MultiAddress +} + +/** + * See [`Pallet::void_spend`]. + */ +export interface TreasuryCall_void_spend { + __kind: 'void_spend' + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const TimestampCall: sts.Type = sts.closedEnum(() => { + return { + set: sts.enumStruct({ + now: sts.bigint(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type TimestampCall = TimestampCall_set + +/** + * See [`Pallet::set`]. + */ +export interface TimestampCall_set { + __kind: 'set' + now: bigint +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SystemCall: sts.Type = sts.closedEnum(() => { + return { + apply_authorized_upgrade: sts.enumStruct({ + code: sts.bytes(), + }), + authorize_upgrade: sts.enumStruct({ + codeHash: H256, + }), + authorize_upgrade_without_checks: sts.enumStruct({ + codeHash: H256, + }), + kill_prefix: sts.enumStruct({ + prefix: sts.bytes(), + subkeys: sts.number(), + }), + kill_storage: sts.enumStruct({ + keys: sts.array(() => sts.bytes()), + }), + remark: sts.enumStruct({ + remark: sts.bytes(), + }), + remark_with_event: sts.enumStruct({ + remark: sts.bytes(), + }), + set_code: sts.enumStruct({ + code: sts.bytes(), + }), + set_code_without_checks: sts.enumStruct({ + code: sts.bytes(), + }), + set_heap_pages: sts.enumStruct({ + pages: sts.bigint(), + }), + set_storage: sts.enumStruct({ + items: sts.array(() => sts.tuple(() => [sts.bytes(), sts.bytes()])), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SystemCall = SystemCall_apply_authorized_upgrade | SystemCall_authorize_upgrade | SystemCall_authorize_upgrade_without_checks | SystemCall_kill_prefix | SystemCall_kill_storage | SystemCall_remark | SystemCall_remark_with_event | SystemCall_set_code | SystemCall_set_code_without_checks | SystemCall_set_heap_pages | SystemCall_set_storage + +/** + * See [`Pallet::apply_authorized_upgrade`]. + */ +export interface SystemCall_apply_authorized_upgrade { + __kind: 'apply_authorized_upgrade' + code: Bytes +} + +/** + * See [`Pallet::authorize_upgrade`]. + */ +export interface SystemCall_authorize_upgrade { + __kind: 'authorize_upgrade' + codeHash: H256 +} + +/** + * See [`Pallet::authorize_upgrade_without_checks`]. + */ +export interface SystemCall_authorize_upgrade_without_checks { + __kind: 'authorize_upgrade_without_checks' + codeHash: H256 +} + +/** + * See [`Pallet::kill_prefix`]. + */ +export interface SystemCall_kill_prefix { + __kind: 'kill_prefix' + prefix: Bytes + subkeys: number +} + +/** + * See [`Pallet::kill_storage`]. + */ +export interface SystemCall_kill_storage { + __kind: 'kill_storage' + keys: Bytes[] +} + +/** + * See [`Pallet::remark`]. + */ +export interface SystemCall_remark { + __kind: 'remark' + remark: Bytes +} + +/** + * See [`Pallet::remark_with_event`]. + */ +export interface SystemCall_remark_with_event { + __kind: 'remark_with_event' + remark: Bytes +} + +/** + * See [`Pallet::set_code`]. + */ +export interface SystemCall_set_code { + __kind: 'set_code' + code: Bytes +} + +/** + * See [`Pallet::set_code_without_checks`]. + */ +export interface SystemCall_set_code_without_checks { + __kind: 'set_code_without_checks' + code: Bytes +} + +/** + * See [`Pallet::set_heap_pages`]. + */ +export interface SystemCall_set_heap_pages { + __kind: 'set_heap_pages' + pages: bigint +} + +/** + * See [`Pallet::set_storage`]. + */ +export interface SystemCall_set_storage { + __kind: 'set_storage' + items: [Bytes, Bytes][] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const StakingCall: sts.Type = sts.closedEnum(() => { + return { + bond: sts.enumStruct({ + value: sts.bigint(), + payee: RewardDestination, + }), + bond_extra: sts.enumStruct({ + maxAdditional: sts.bigint(), + }), + cancel_deferred_slash: sts.enumStruct({ + era: sts.number(), + slashIndices: sts.array(() => sts.number()), + }), + chill: sts.unit(), + chill_other: sts.enumStruct({ + stash: AccountId32, + }), + deprecate_controller_batch: sts.enumStruct({ + controllers: sts.array(() => AccountId32), + }), + force_apply_min_commission: sts.enumStruct({ + validatorStash: AccountId32, + }), + force_new_era: sts.unit(), + force_new_era_always: sts.unit(), + force_no_eras: sts.unit(), + force_unstake: sts.enumStruct({ + stash: AccountId32, + numSlashingSpans: sts.number(), + }), + increase_validator_count: sts.enumStruct({ + additional: sts.number(), + }), + kick: sts.enumStruct({ + who: sts.array(() => MultiAddress), + }), + nominate: sts.enumStruct({ + targets: sts.array(() => MultiAddress), + }), + payout_stakers: sts.enumStruct({ + validatorStash: AccountId32, + era: sts.number(), + }), + payout_stakers_by_page: sts.enumStruct({ + validatorStash: AccountId32, + era: sts.number(), + page: sts.number(), + }), + reap_stash: sts.enumStruct({ + stash: AccountId32, + numSlashingSpans: sts.number(), + }), + rebond: sts.enumStruct({ + value: sts.bigint(), + }), + restore_ledger: sts.enumStruct({ + stash: AccountId32, + maybeController: sts.option(() => AccountId32), + maybeTotal: sts.option(() => sts.bigint()), + maybeUnlocking: sts.option(() => sts.array(() => UnlockChunk)), + }), + scale_validator_count: sts.enumStruct({ + factor: Percent, + }), + set_controller: sts.unit(), + set_invulnerables: sts.enumStruct({ + invulnerables: sts.array(() => AccountId32), + }), + set_min_commission: sts.enumStruct({ + new: Perbill, + }), + set_payee: sts.enumStruct({ + payee: RewardDestination, + }), + set_staking_configs: sts.enumStruct({ + minNominatorBond: ConfigOp, + minValidatorBond: ConfigOp, + maxNominatorCount: Type_123, + maxValidatorCount: Type_123, + chillThreshold: Type_124, + minCommission: Type_125, + }), + set_validator_count: sts.enumStruct({ + new: sts.number(), + }), + unbond: sts.enumStruct({ + value: sts.bigint(), + }), + update_payee: sts.enumStruct({ + controller: AccountId32, + }), + validate: sts.enumStruct({ + prefs: ValidatorPrefs, + }), + withdraw_unbonded: sts.enumStruct({ + numSlashingSpans: sts.number(), + }), + } +}) + +export const ValidatorPrefs: sts.Type = sts.struct(() => { + return { + commission: sts.number(), + blocked: sts.boolean(), + } +}) + +export interface ValidatorPrefs { + commission: number + blocked: boolean +} + +export const Type_125: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Perbill, + } +}) + +export type Type_125 = Type_125_Noop | Type_125_Remove | Type_125_Set + +export interface Type_125_Noop { + __kind: 'Noop' +} + +export interface Type_125_Remove { + __kind: 'Remove' +} + +export interface Type_125_Set { + __kind: 'Set' + value: Perbill +} + +export type Perbill = number + +export const Type_124: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Percent, + } +}) + +export type Type_124 = Type_124_Noop | Type_124_Remove | Type_124_Set + +export interface Type_124_Noop { + __kind: 'Noop' +} + +export interface Type_124_Remove { + __kind: 'Remove' +} + +export interface Type_124_Set { + __kind: 'Set' + value: Percent +} + +export type Percent = number + +export const Type_123: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.number(), + } +}) + +export type Type_123 = Type_123_Noop | Type_123_Remove | Type_123_Set + +export interface Type_123_Noop { + __kind: 'Noop' +} + +export interface Type_123_Remove { + __kind: 'Remove' +} + +export interface Type_123_Set { + __kind: 'Set' + value: number +} + +export const ConfigOp: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.bigint(), + } +}) + +export type ConfigOp = ConfigOp_Noop | ConfigOp_Remove | ConfigOp_Set + +export interface ConfigOp_Noop { + __kind: 'Noop' +} + +export interface ConfigOp_Remove { + __kind: 'Remove' +} + +export interface ConfigOp_Set { + __kind: 'Set' + value: bigint +} + +export const Perbill = sts.number() + +export const Percent = sts.number() + +export const UnlockChunk: sts.Type = sts.struct(() => { + return { + value: sts.bigint(), + era: sts.number(), + } +}) + +export interface UnlockChunk { + value: bigint + era: number +} + +export const RewardDestination: sts.Type = sts.closedEnum(() => { + return { + Account: AccountId32, + Controller: sts.unit(), + None: sts.unit(), + Staked: sts.unit(), + Stash: sts.unit(), + } +}) + +export type RewardDestination = RewardDestination_Account | RewardDestination_Controller | RewardDestination_None | RewardDestination_Staked | RewardDestination_Stash + +export interface RewardDestination_Account { + __kind: 'Account' + value: AccountId32 +} + +export interface RewardDestination_Controller { + __kind: 'Controller' +} + +export interface RewardDestination_None { + __kind: 'None' +} + +export interface RewardDestination_Staked { + __kind: 'Staked' +} + +export interface RewardDestination_Stash { + __kind: 'Stash' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type StakingCall = StakingCall_bond | StakingCall_bond_extra | StakingCall_cancel_deferred_slash | StakingCall_chill | StakingCall_chill_other | StakingCall_deprecate_controller_batch | StakingCall_force_apply_min_commission | StakingCall_force_new_era | StakingCall_force_new_era_always | StakingCall_force_no_eras | StakingCall_force_unstake | StakingCall_increase_validator_count | StakingCall_kick | StakingCall_nominate | StakingCall_payout_stakers | StakingCall_payout_stakers_by_page | StakingCall_reap_stash | StakingCall_rebond | StakingCall_restore_ledger | StakingCall_scale_validator_count | StakingCall_set_controller | StakingCall_set_invulnerables | StakingCall_set_min_commission | StakingCall_set_payee | StakingCall_set_staking_configs | StakingCall_set_validator_count | StakingCall_unbond | StakingCall_update_payee | StakingCall_validate | StakingCall_withdraw_unbonded + +/** + * See [`Pallet::bond`]. + */ +export interface StakingCall_bond { + __kind: 'bond' + value: bigint + payee: RewardDestination +} + +/** + * See [`Pallet::bond_extra`]. + */ +export interface StakingCall_bond_extra { + __kind: 'bond_extra' + maxAdditional: bigint +} + +/** + * See [`Pallet::cancel_deferred_slash`]. + */ +export interface StakingCall_cancel_deferred_slash { + __kind: 'cancel_deferred_slash' + era: number + slashIndices: number[] +} + +/** + * See [`Pallet::chill`]. + */ +export interface StakingCall_chill { + __kind: 'chill' +} + +/** + * See [`Pallet::chill_other`]. + */ +export interface StakingCall_chill_other { + __kind: 'chill_other' + stash: AccountId32 +} + +/** + * See [`Pallet::deprecate_controller_batch`]. + */ +export interface StakingCall_deprecate_controller_batch { + __kind: 'deprecate_controller_batch' + controllers: AccountId32[] +} + +/** + * See [`Pallet::force_apply_min_commission`]. + */ +export interface StakingCall_force_apply_min_commission { + __kind: 'force_apply_min_commission' + validatorStash: AccountId32 +} + +/** + * See [`Pallet::force_new_era`]. + */ +export interface StakingCall_force_new_era { + __kind: 'force_new_era' +} + +/** + * See [`Pallet::force_new_era_always`]. + */ +export interface StakingCall_force_new_era_always { + __kind: 'force_new_era_always' +} + +/** + * See [`Pallet::force_no_eras`]. + */ +export interface StakingCall_force_no_eras { + __kind: 'force_no_eras' +} + +/** + * See [`Pallet::force_unstake`]. + */ +export interface StakingCall_force_unstake { + __kind: 'force_unstake' + stash: AccountId32 + numSlashingSpans: number +} + +/** + * See [`Pallet::increase_validator_count`]. + */ +export interface StakingCall_increase_validator_count { + __kind: 'increase_validator_count' + additional: number +} + +/** + * See [`Pallet::kick`]. + */ +export interface StakingCall_kick { + __kind: 'kick' + who: MultiAddress[] +} + +/** + * See [`Pallet::nominate`]. + */ +export interface StakingCall_nominate { + __kind: 'nominate' + targets: MultiAddress[] +} + +/** + * See [`Pallet::payout_stakers`]. + */ +export interface StakingCall_payout_stakers { + __kind: 'payout_stakers' + validatorStash: AccountId32 + era: number +} + +/** + * See [`Pallet::payout_stakers_by_page`]. + */ +export interface StakingCall_payout_stakers_by_page { + __kind: 'payout_stakers_by_page' + validatorStash: AccountId32 + era: number + page: number +} + +/** + * See [`Pallet::reap_stash`]. + */ +export interface StakingCall_reap_stash { + __kind: 'reap_stash' + stash: AccountId32 + numSlashingSpans: number +} + +/** + * See [`Pallet::rebond`]. + */ +export interface StakingCall_rebond { + __kind: 'rebond' + value: bigint +} + +/** + * See [`Pallet::restore_ledger`]. + */ +export interface StakingCall_restore_ledger { + __kind: 'restore_ledger' + stash: AccountId32 + maybeController?: (AccountId32 | undefined) + maybeTotal?: (bigint | undefined) + maybeUnlocking?: (UnlockChunk[] | undefined) +} + +/** + * See [`Pallet::scale_validator_count`]. + */ +export interface StakingCall_scale_validator_count { + __kind: 'scale_validator_count' + factor: Percent +} + +/** + * See [`Pallet::set_controller`]. + */ +export interface StakingCall_set_controller { + __kind: 'set_controller' +} + +/** + * See [`Pallet::set_invulnerables`]. + */ +export interface StakingCall_set_invulnerables { + __kind: 'set_invulnerables' + invulnerables: AccountId32[] +} + +/** + * See [`Pallet::set_min_commission`]. + */ +export interface StakingCall_set_min_commission { + __kind: 'set_min_commission' + new: Perbill +} + +/** + * See [`Pallet::set_payee`]. + */ +export interface StakingCall_set_payee { + __kind: 'set_payee' + payee: RewardDestination +} + +/** + * See [`Pallet::set_staking_configs`]. + */ +export interface StakingCall_set_staking_configs { + __kind: 'set_staking_configs' + minNominatorBond: ConfigOp + minValidatorBond: ConfigOp + maxNominatorCount: Type_123 + maxValidatorCount: Type_123 + chillThreshold: Type_124 + minCommission: Type_125 +} + +/** + * See [`Pallet::set_validator_count`]. + */ +export interface StakingCall_set_validator_count { + __kind: 'set_validator_count' + new: number +} + +/** + * See [`Pallet::unbond`]. + */ +export interface StakingCall_unbond { + __kind: 'unbond' + value: bigint +} + +/** + * See [`Pallet::update_payee`]. + */ +export interface StakingCall_update_payee { + __kind: 'update_payee' + controller: AccountId32 +} + +/** + * See [`Pallet::validate`]. + */ +export interface StakingCall_validate { + __kind: 'validate' + prefs: ValidatorPrefs +} + +/** + * See [`Pallet::withdraw_unbonded`]. + */ +export interface StakingCall_withdraw_unbonded { + __kind: 'withdraw_unbonded' + numSlashingSpans: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SocietyCall: sts.Type = sts.closedEnum(() => { + return { + bestow_membership: sts.enumStruct({ + candidate: AccountId32, + }), + bid: sts.enumStruct({ + value: sts.bigint(), + }), + claim_membership: sts.unit(), + cleanup_candidacy: sts.enumStruct({ + candidate: AccountId32, + max: sts.number(), + }), + cleanup_challenge: sts.enumStruct({ + challengeRound: sts.number(), + max: sts.number(), + }), + defender_vote: sts.enumStruct({ + approve: sts.boolean(), + }), + dissolve: sts.unit(), + drop_candidate: sts.enumStruct({ + candidate: AccountId32, + }), + found_society: sts.enumStruct({ + founder: MultiAddress, + maxMembers: sts.number(), + maxIntake: sts.number(), + maxStrikes: sts.number(), + candidateDeposit: sts.bigint(), + rules: sts.bytes(), + }), + judge_suspended_member: sts.enumStruct({ + who: MultiAddress, + forgive: sts.boolean(), + }), + kick_candidate: sts.enumStruct({ + candidate: AccountId32, + }), + payout: sts.unit(), + punish_skeptic: sts.unit(), + resign_candidacy: sts.unit(), + set_parameters: sts.enumStruct({ + maxMembers: sts.number(), + maxIntake: sts.number(), + maxStrikes: sts.number(), + candidateDeposit: sts.bigint(), + }), + unbid: sts.unit(), + unvouch: sts.unit(), + vote: sts.enumStruct({ + candidate: MultiAddress, + approve: sts.boolean(), + }), + vouch: sts.enumStruct({ + who: MultiAddress, + value: sts.bigint(), + tip: sts.bigint(), + }), + waive_repay: sts.enumStruct({ + amount: sts.bigint(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SocietyCall = SocietyCall_bestow_membership | SocietyCall_bid | SocietyCall_claim_membership | SocietyCall_cleanup_candidacy | SocietyCall_cleanup_challenge | SocietyCall_defender_vote | SocietyCall_dissolve | SocietyCall_drop_candidate | SocietyCall_found_society | SocietyCall_judge_suspended_member | SocietyCall_kick_candidate | SocietyCall_payout | SocietyCall_punish_skeptic | SocietyCall_resign_candidacy | SocietyCall_set_parameters | SocietyCall_unbid | SocietyCall_unvouch | SocietyCall_vote | SocietyCall_vouch | SocietyCall_waive_repay + +/** + * See [`Pallet::bestow_membership`]. + */ +export interface SocietyCall_bestow_membership { + __kind: 'bestow_membership' + candidate: AccountId32 +} + +/** + * See [`Pallet::bid`]. + */ +export interface SocietyCall_bid { + __kind: 'bid' + value: bigint +} + +/** + * See [`Pallet::claim_membership`]. + */ +export interface SocietyCall_claim_membership { + __kind: 'claim_membership' +} + +/** + * See [`Pallet::cleanup_candidacy`]. + */ +export interface SocietyCall_cleanup_candidacy { + __kind: 'cleanup_candidacy' + candidate: AccountId32 + max: number +} + +/** + * See [`Pallet::cleanup_challenge`]. + */ +export interface SocietyCall_cleanup_challenge { + __kind: 'cleanup_challenge' + challengeRound: number + max: number +} + +/** + * See [`Pallet::defender_vote`]. + */ +export interface SocietyCall_defender_vote { + __kind: 'defender_vote' + approve: boolean +} + +/** + * See [`Pallet::dissolve`]. + */ +export interface SocietyCall_dissolve { + __kind: 'dissolve' +} + +/** + * See [`Pallet::drop_candidate`]. + */ +export interface SocietyCall_drop_candidate { + __kind: 'drop_candidate' + candidate: AccountId32 +} + +/** + * See [`Pallet::found_society`]. + */ +export interface SocietyCall_found_society { + __kind: 'found_society' + founder: MultiAddress + maxMembers: number + maxIntake: number + maxStrikes: number + candidateDeposit: bigint + rules: Bytes +} + +/** + * See [`Pallet::judge_suspended_member`]. + */ +export interface SocietyCall_judge_suspended_member { + __kind: 'judge_suspended_member' + who: MultiAddress + forgive: boolean +} + +/** + * See [`Pallet::kick_candidate`]. + */ +export interface SocietyCall_kick_candidate { + __kind: 'kick_candidate' + candidate: AccountId32 +} + +/** + * See [`Pallet::payout`]. + */ +export interface SocietyCall_payout { + __kind: 'payout' +} + +/** + * See [`Pallet::punish_skeptic`]. + */ +export interface SocietyCall_punish_skeptic { + __kind: 'punish_skeptic' +} + +/** + * See [`Pallet::resign_candidacy`]. + */ +export interface SocietyCall_resign_candidacy { + __kind: 'resign_candidacy' +} + +/** + * See [`Pallet::set_parameters`]. + */ +export interface SocietyCall_set_parameters { + __kind: 'set_parameters' + maxMembers: number + maxIntake: number + maxStrikes: number + candidateDeposit: bigint +} + +/** + * See [`Pallet::unbid`]. + */ +export interface SocietyCall_unbid { + __kind: 'unbid' +} + +/** + * See [`Pallet::unvouch`]. + */ +export interface SocietyCall_unvouch { + __kind: 'unvouch' +} + +/** + * See [`Pallet::vote`]. + */ +export interface SocietyCall_vote { + __kind: 'vote' + candidate: MultiAddress + approve: boolean +} + +/** + * See [`Pallet::vouch`]. + */ +export interface SocietyCall_vouch { + __kind: 'vouch' + who: MultiAddress + value: bigint + tip: bigint +} + +/** + * See [`Pallet::waive_repay`]. + */ +export interface SocietyCall_waive_repay { + __kind: 'waive_repay' + amount: bigint +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SlotsCall: sts.Type = sts.closedEnum(() => { + return { + clear_all_leases: sts.enumStruct({ + para: Id, + }), + force_lease: sts.enumStruct({ + para: Id, + leaser: AccountId32, + amount: sts.bigint(), + periodBegin: sts.number(), + periodCount: sts.number(), + }), + trigger_onboard: sts.enumStruct({ + para: Id, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SlotsCall = SlotsCall_clear_all_leases | SlotsCall_force_lease | SlotsCall_trigger_onboard + +/** + * See [`Pallet::clear_all_leases`]. + */ +export interface SlotsCall_clear_all_leases { + __kind: 'clear_all_leases' + para: Id +} + +/** + * See [`Pallet::force_lease`]. + */ +export interface SlotsCall_force_lease { + __kind: 'force_lease' + para: Id + leaser: AccountId32 + amount: bigint + periodBegin: number + periodCount: number +} + +/** + * See [`Pallet::trigger_onboard`]. + */ +export interface SlotsCall_trigger_onboard { + __kind: 'trigger_onboard' + para: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SessionCall: sts.Type = sts.closedEnum(() => { + return { + purge_keys: sts.unit(), + set_keys: sts.enumStruct({ + keys: SessionKeys, + proof: sts.bytes(), + }), + } +}) + +export const SessionKeys: sts.Type = sts.struct(() => { + return { + grandpa: Public, + babe: sts.bytes(), + paraValidator: V6Public, + paraAssignment: sts.bytes(), + authorityDiscovery: sts.bytes(), + beefy: sts.bytes(), + } +}) + +export const V6Public = sts.bytes() + +export const Public = sts.bytes() + +export interface SessionKeys { + grandpa: Public + babe: Bytes + paraValidator: V6Public + paraAssignment: Bytes + authorityDiscovery: Bytes + beefy: Bytes +} + +export type V6Public = Bytes + +export type Public = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SessionCall = SessionCall_purge_keys | SessionCall_set_keys + +/** + * See [`Pallet::purge_keys`]. + */ +export interface SessionCall_purge_keys { + __kind: 'purge_keys' +} + +/** + * See [`Pallet::set_keys`]. + */ +export interface SessionCall_set_keys { + __kind: 'set_keys' + keys: SessionKeys + proof: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SchedulerCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + when: sts.number(), + index: sts.number(), + }), + cancel_named: sts.enumStruct({ + id: sts.bytes(), + }), + schedule: sts.enumStruct({ + when: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_after: sts.enumStruct({ + after: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_named: sts.enumStruct({ + id: sts.bytes(), + when: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_named_after: sts.enumStruct({ + id: sts.bytes(), + after: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SchedulerCall = SchedulerCall_cancel | SchedulerCall_cancel_named | SchedulerCall_schedule | SchedulerCall_schedule_after | SchedulerCall_schedule_named | SchedulerCall_schedule_named_after + +/** + * See [`Pallet::cancel`]. + */ +export interface SchedulerCall_cancel { + __kind: 'cancel' + when: number + index: number +} + +/** + * See [`Pallet::cancel_named`]. + */ +export interface SchedulerCall_cancel_named { + __kind: 'cancel_named' + id: Bytes +} + +/** + * See [`Pallet::schedule`]. + */ +export interface SchedulerCall_schedule { + __kind: 'schedule' + when: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * See [`Pallet::schedule_after`]. + */ +export interface SchedulerCall_schedule_after { + __kind: 'schedule_after' + after: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * See [`Pallet::schedule_named`]. + */ +export interface SchedulerCall_schedule_named { + __kind: 'schedule_named' + id: Bytes + when: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * See [`Pallet::schedule_named_after`]. + */ +export interface SchedulerCall_schedule_named_after { + __kind: 'schedule_named_after' + id: Bytes + after: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const RegistrarCall: sts.Type = sts.closedEnum(() => { + return { + add_lock: sts.enumStruct({ + para: Id, + }), + deregister: sts.enumStruct({ + id: Id, + }), + force_register: sts.enumStruct({ + who: AccountId32, + deposit: sts.bigint(), + id: Id, + genesisHead: HeadData, + validationCode: ValidationCode, + }), + register: sts.enumStruct({ + id: Id, + genesisHead: HeadData, + validationCode: ValidationCode, + }), + remove_lock: sts.enumStruct({ + para: Id, + }), + reserve: sts.unit(), + schedule_code_upgrade: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + }), + set_current_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + swap: sts.enumStruct({ + id: Id, + other: Id, + }), + } +}) + +export const ValidationCode = sts.bytes() + +export const HeadData = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type RegistrarCall = RegistrarCall_add_lock | RegistrarCall_deregister | RegistrarCall_force_register | RegistrarCall_register | RegistrarCall_remove_lock | RegistrarCall_reserve | RegistrarCall_schedule_code_upgrade | RegistrarCall_set_current_head | RegistrarCall_swap + +/** + * See [`Pallet::add_lock`]. + */ +export interface RegistrarCall_add_lock { + __kind: 'add_lock' + para: Id +} + +/** + * See [`Pallet::deregister`]. + */ +export interface RegistrarCall_deregister { + __kind: 'deregister' + id: Id +} + +/** + * See [`Pallet::force_register`]. + */ +export interface RegistrarCall_force_register { + __kind: 'force_register' + who: AccountId32 + deposit: bigint + id: Id + genesisHead: HeadData + validationCode: ValidationCode +} + +/** + * See [`Pallet::register`]. + */ +export interface RegistrarCall_register { + __kind: 'register' + id: Id + genesisHead: HeadData + validationCode: ValidationCode +} + +/** + * See [`Pallet::remove_lock`]. + */ +export interface RegistrarCall_remove_lock { + __kind: 'remove_lock' + para: Id +} + +/** + * See [`Pallet::reserve`]. + */ +export interface RegistrarCall_reserve { + __kind: 'reserve' +} + +/** + * See [`Pallet::schedule_code_upgrade`]. + */ +export interface RegistrarCall_schedule_code_upgrade { + __kind: 'schedule_code_upgrade' + para: Id + newCode: ValidationCode +} + +/** + * See [`Pallet::set_current_head`]. + */ +export interface RegistrarCall_set_current_head { + __kind: 'set_current_head' + para: Id + newHead: HeadData +} + +/** + * See [`Pallet::swap`]. + */ +export interface RegistrarCall_swap { + __kind: 'swap' + id: Id + other: Id +} + +export type ValidationCode = Bytes + +export type HeadData = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ReferendaCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + index: sts.number(), + }), + kill: sts.enumStruct({ + index: sts.number(), + }), + nudge_referendum: sts.enumStruct({ + index: sts.number(), + }), + one_fewer_deciding: sts.enumStruct({ + track: sts.number(), + }), + place_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_submission_deposit: sts.enumStruct({ + index: sts.number(), + }), + set_metadata: sts.enumStruct({ + index: sts.number(), + maybeHash: sts.option(() => H256), + }), + submit: sts.enumStruct({ + proposalOrigin: OriginCaller, + proposal: Bounded, + enactmentMoment: DispatchTime, + }), + } +}) + +export const DispatchTime: sts.Type = sts.closedEnum(() => { + return { + After: sts.number(), + At: sts.number(), + } +}) + +export type DispatchTime = DispatchTime_After | DispatchTime_At + +export interface DispatchTime_After { + __kind: 'After' + value: number +} + +export interface DispatchTime_At { + __kind: 'At' + value: number +} + +export const Bounded: sts.Type = sts.closedEnum(() => { + return { + Inline: sts.bytes(), + Legacy: sts.enumStruct({ + hash: H256, + }), + Lookup: sts.enumStruct({ + hash: H256, + len: sts.number(), + }), + } +}) + +export type Bounded = Bounded_Inline | Bounded_Legacy | Bounded_Lookup + +export interface Bounded_Inline { + __kind: 'Inline' + value: Bytes +} + +export interface Bounded_Legacy { + __kind: 'Legacy' + hash: H256 +} + +export interface Bounded_Lookup { + __kind: 'Lookup' + hash: H256 + len: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ReferendaCall = ReferendaCall_cancel | ReferendaCall_kill | ReferendaCall_nudge_referendum | ReferendaCall_one_fewer_deciding | ReferendaCall_place_decision_deposit | ReferendaCall_refund_decision_deposit | ReferendaCall_refund_submission_deposit | ReferendaCall_set_metadata | ReferendaCall_submit + +/** + * See [`Pallet::cancel`]. + */ +export interface ReferendaCall_cancel { + __kind: 'cancel' + index: number +} + +/** + * See [`Pallet::kill`]. + */ +export interface ReferendaCall_kill { + __kind: 'kill' + index: number +} + +/** + * See [`Pallet::nudge_referendum`]. + */ +export interface ReferendaCall_nudge_referendum { + __kind: 'nudge_referendum' + index: number +} + +/** + * See [`Pallet::one_fewer_deciding`]. + */ +export interface ReferendaCall_one_fewer_deciding { + __kind: 'one_fewer_deciding' + track: number +} + +/** + * See [`Pallet::place_decision_deposit`]. + */ +export interface ReferendaCall_place_decision_deposit { + __kind: 'place_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_decision_deposit`]. + */ +export interface ReferendaCall_refund_decision_deposit { + __kind: 'refund_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_submission_deposit`]. + */ +export interface ReferendaCall_refund_submission_deposit { + __kind: 'refund_submission_deposit' + index: number +} + +/** + * See [`Pallet::set_metadata`]. + */ +export interface ReferendaCall_set_metadata { + __kind: 'set_metadata' + index: number + maybeHash?: (H256 | undefined) +} + +/** + * See [`Pallet::submit`]. + */ +export interface ReferendaCall_submit { + __kind: 'submit' + proposalOrigin: OriginCaller + proposal: Bounded + enactmentMoment: DispatchTime +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const RecoveryCall: sts.Type = sts.closedEnum(() => { + return { + as_recovered: sts.enumStruct({ + account: MultiAddress, + call: Call, + }), + cancel_recovered: sts.enumStruct({ + account: MultiAddress, + }), + claim_recovery: sts.enumStruct({ + account: MultiAddress, + }), + close_recovery: sts.enumStruct({ + rescuer: MultiAddress, + }), + create_recovery: sts.enumStruct({ + friends: sts.array(() => AccountId32), + threshold: sts.number(), + delayPeriod: sts.number(), + }), + initiate_recovery: sts.enumStruct({ + account: MultiAddress, + }), + remove_recovery: sts.unit(), + set_recovered: sts.enumStruct({ + lost: MultiAddress, + rescuer: MultiAddress, + }), + vouch_recovery: sts.enumStruct({ + lost: MultiAddress, + rescuer: MultiAddress, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type RecoveryCall = RecoveryCall_as_recovered | RecoveryCall_cancel_recovered | RecoveryCall_claim_recovery | RecoveryCall_close_recovery | RecoveryCall_create_recovery | RecoveryCall_initiate_recovery | RecoveryCall_remove_recovery | RecoveryCall_set_recovered | RecoveryCall_vouch_recovery + +/** + * See [`Pallet::as_recovered`]. + */ +export interface RecoveryCall_as_recovered { + __kind: 'as_recovered' + account: MultiAddress + call: Call +} + +/** + * See [`Pallet::cancel_recovered`]. + */ +export interface RecoveryCall_cancel_recovered { + __kind: 'cancel_recovered' + account: MultiAddress +} + +/** + * See [`Pallet::claim_recovery`]. + */ +export interface RecoveryCall_claim_recovery { + __kind: 'claim_recovery' + account: MultiAddress +} + +/** + * See [`Pallet::close_recovery`]. + */ +export interface RecoveryCall_close_recovery { + __kind: 'close_recovery' + rescuer: MultiAddress +} + +/** + * See [`Pallet::create_recovery`]. + */ +export interface RecoveryCall_create_recovery { + __kind: 'create_recovery' + friends: AccountId32[] + threshold: number + delayPeriod: number +} + +/** + * See [`Pallet::initiate_recovery`]. + */ +export interface RecoveryCall_initiate_recovery { + __kind: 'initiate_recovery' + account: MultiAddress +} + +/** + * See [`Pallet::remove_recovery`]. + */ +export interface RecoveryCall_remove_recovery { + __kind: 'remove_recovery' +} + +/** + * See [`Pallet::set_recovered`]. + */ +export interface RecoveryCall_set_recovered { + __kind: 'set_recovered' + lost: MultiAddress + rescuer: MultiAddress +} + +/** + * See [`Pallet::vouch_recovery`]. + */ +export interface RecoveryCall_vouch_recovery { + __kind: 'vouch_recovery' + lost: MultiAddress + rescuer: MultiAddress +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ProxyCall: sts.Type = sts.closedEnum(() => { + return { + add_proxy: sts.enumStruct({ + delegate: MultiAddress, + proxyType: ProxyType, + delay: sts.number(), + }), + announce: sts.enumStruct({ + real: MultiAddress, + callHash: H256, + }), + create_pure: sts.enumStruct({ + proxyType: ProxyType, + delay: sts.number(), + index: sts.number(), + }), + kill_pure: sts.enumStruct({ + spawner: MultiAddress, + proxyType: ProxyType, + index: sts.number(), + height: sts.number(), + extIndex: sts.number(), + }), + proxy: sts.enumStruct({ + real: MultiAddress, + forceProxyType: sts.option(() => ProxyType), + call: Call, + }), + proxy_announced: sts.enumStruct({ + delegate: MultiAddress, + real: MultiAddress, + forceProxyType: sts.option(() => ProxyType), + call: Call, + }), + reject_announcement: sts.enumStruct({ + delegate: MultiAddress, + callHash: H256, + }), + remove_announcement: sts.enumStruct({ + real: MultiAddress, + callHash: H256, + }), + remove_proxies: sts.unit(), + remove_proxy: sts.enumStruct({ + delegate: MultiAddress, + proxyType: ProxyType, + delay: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ProxyCall = ProxyCall_add_proxy | ProxyCall_announce | ProxyCall_create_pure | ProxyCall_kill_pure | ProxyCall_proxy | ProxyCall_proxy_announced | ProxyCall_reject_announcement | ProxyCall_remove_announcement | ProxyCall_remove_proxies | ProxyCall_remove_proxy + +/** + * See [`Pallet::add_proxy`]. + */ +export interface ProxyCall_add_proxy { + __kind: 'add_proxy' + delegate: MultiAddress + proxyType: ProxyType + delay: number +} + +/** + * See [`Pallet::announce`]. + */ +export interface ProxyCall_announce { + __kind: 'announce' + real: MultiAddress + callHash: H256 +} + +/** + * See [`Pallet::create_pure`]. + */ +export interface ProxyCall_create_pure { + __kind: 'create_pure' + proxyType: ProxyType + delay: number + index: number +} + +/** + * See [`Pallet::kill_pure`]. + */ +export interface ProxyCall_kill_pure { + __kind: 'kill_pure' + spawner: MultiAddress + proxyType: ProxyType + index: number + height: number + extIndex: number +} + +/** + * See [`Pallet::proxy`]. + */ +export interface ProxyCall_proxy { + __kind: 'proxy' + real: MultiAddress + forceProxyType?: (ProxyType | undefined) + call: Call +} + +/** + * See [`Pallet::proxy_announced`]. + */ +export interface ProxyCall_proxy_announced { + __kind: 'proxy_announced' + delegate: MultiAddress + real: MultiAddress + forceProxyType?: (ProxyType | undefined) + call: Call +} + +/** + * See [`Pallet::reject_announcement`]. + */ +export interface ProxyCall_reject_announcement { + __kind: 'reject_announcement' + delegate: MultiAddress + callHash: H256 +} + +/** + * See [`Pallet::remove_announcement`]. + */ +export interface ProxyCall_remove_announcement { + __kind: 'remove_announcement' + real: MultiAddress + callHash: H256 +} + +/** + * See [`Pallet::remove_proxies`]. + */ +export interface ProxyCall_remove_proxies { + __kind: 'remove_proxies' +} + +/** + * See [`Pallet::remove_proxy`]. + */ +export interface ProxyCall_remove_proxy { + __kind: 'remove_proxy' + delegate: MultiAddress + proxyType: ProxyType + delay: number +} + +export type ProxyType = ProxyType_Any | ProxyType_Auction | ProxyType_CancelProxy | ProxyType_Governance | ProxyType_IdentityJudgement | ProxyType_NominationPools | ProxyType_NonTransfer | ProxyType_Society | ProxyType_Staking + +export interface ProxyType_Any { + __kind: 'Any' +} + +export interface ProxyType_Auction { + __kind: 'Auction' +} + +export interface ProxyType_CancelProxy { + __kind: 'CancelProxy' +} + +export interface ProxyType_Governance { + __kind: 'Governance' +} + +export interface ProxyType_IdentityJudgement { + __kind: 'IdentityJudgement' +} + +export interface ProxyType_NominationPools { + __kind: 'NominationPools' +} + +export interface ProxyType_NonTransfer { + __kind: 'NonTransfer' +} + +export interface ProxyType_Society { + __kind: 'Society' +} + +export interface ProxyType_Staking { + __kind: 'Staking' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const PreimageCall: sts.Type = sts.closedEnum(() => { + return { + ensure_updated: sts.enumStruct({ + hashes: sts.array(() => H256), + }), + note_preimage: sts.enumStruct({ + bytes: sts.bytes(), + }), + request_preimage: sts.enumStruct({ + hash: H256, + }), + unnote_preimage: sts.enumStruct({ + hash: H256, + }), + unrequest_preimage: sts.enumStruct({ + hash: H256, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type PreimageCall = PreimageCall_ensure_updated | PreimageCall_note_preimage | PreimageCall_request_preimage | PreimageCall_unnote_preimage | PreimageCall_unrequest_preimage + +/** + * See [`Pallet::ensure_updated`]. + */ +export interface PreimageCall_ensure_updated { + __kind: 'ensure_updated' + hashes: H256[] +} + +/** + * See [`Pallet::note_preimage`]. + */ +export interface PreimageCall_note_preimage { + __kind: 'note_preimage' + bytes: Bytes +} + +/** + * See [`Pallet::request_preimage`]. + */ +export interface PreimageCall_request_preimage { + __kind: 'request_preimage' + hash: H256 +} + +/** + * See [`Pallet::unnote_preimage`]. + */ +export interface PreimageCall_unnote_preimage { + __kind: 'unnote_preimage' + hash: H256 +} + +/** + * See [`Pallet::unrequest_preimage`]. + */ +export interface PreimageCall_unrequest_preimage { + __kind: 'unrequest_preimage' + hash: H256 +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasSlashingCall: sts.Type = sts.closedEnum(() => { + return { + report_dispute_lost_unsigned: sts.enumStruct({ + disputeProof: V6DisputeProof, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const MembershipProof: sts.Type = sts.struct(() => { + return { + session: sts.number(), + trieNodes: sts.array(() => sts.bytes()), + validatorCount: sts.number(), + } +}) + +export interface MembershipProof { + session: number + trieNodes: Bytes[] + validatorCount: number +} + +export const V6DisputeProof: sts.Type = sts.struct(() => { + return { + timeSlot: V6DisputesTimeSlot, + kind: V6SlashingOffenceKind, + validatorIndex: V6ValidatorIndex, + validatorId: V6Public, + } +}) + +export const V6ValidatorIndex = sts.number() + +export const V6SlashingOffenceKind: sts.Type = sts.closedEnum(() => { + return { + AgainstValid: sts.unit(), + ForInvalid: sts.unit(), + } +}) + +export type V6SlashingOffenceKind = V6SlashingOffenceKind_AgainstValid | V6SlashingOffenceKind_ForInvalid + +export interface V6SlashingOffenceKind_AgainstValid { + __kind: 'AgainstValid' +} + +export interface V6SlashingOffenceKind_ForInvalid { + __kind: 'ForInvalid' +} + +export const V6DisputesTimeSlot: sts.Type = sts.struct(() => { + return { + sessionIndex: sts.number(), + candidateHash: CandidateHash, + } +}) + +export const CandidateHash = sts.bytes() + +export interface V6DisputesTimeSlot { + sessionIndex: number + candidateHash: CandidateHash +} + +export type CandidateHash = Bytes + +export interface V6DisputeProof { + timeSlot: V6DisputesTimeSlot + kind: V6SlashingOffenceKind + validatorIndex: V6ValidatorIndex + validatorId: V6Public +} + +export type V6ValidatorIndex = number + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasSlashingCall = ParasSlashingCall_report_dispute_lost_unsigned + +/** + * See [`Pallet::report_dispute_lost_unsigned`]. + */ +export interface ParasSlashingCall_report_dispute_lost_unsigned { + __kind: 'report_dispute_lost_unsigned' + disputeProof: V6DisputeProof + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasSharedCall: sts.Type = sts.closedEnum(() => { + return { + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasSharedCall = never + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasDisputesCall: sts.Type = sts.closedEnum(() => { + return { + force_unfreeze: sts.unit(), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasDisputesCall = ParasDisputesCall_force_unfreeze + +/** + * See [`Pallet::force_unfreeze`]. + */ +export interface ParasDisputesCall_force_unfreeze { + __kind: 'force_unfreeze' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasCall: sts.Type = sts.closedEnum(() => { + return { + add_trusted_validation_code: sts.enumStruct({ + validationCode: ValidationCode, + }), + force_note_new_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + force_queue_action: sts.enumStruct({ + para: Id, + }), + force_schedule_code_upgrade: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + relayParentNumber: sts.number(), + }), + force_set_current_code: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + }), + force_set_current_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + force_set_most_recent_context: sts.enumStruct({ + para: Id, + context: sts.number(), + }), + include_pvf_check_statement: sts.enumStruct({ + stmt: V6PvfCheckStatement, + signature: V6Signature, + }), + poke_unused_validation_code: sts.enumStruct({ + validationCodeHash: ValidationCodeHash, + }), + } +}) + +export const ValidationCodeHash = sts.bytes() + +export const V6Signature = sts.bytes() + +export const V6PvfCheckStatement: sts.Type = sts.struct(() => { + return { + accept: sts.boolean(), + subject: ValidationCodeHash, + sessionIndex: sts.number(), + validatorIndex: V6ValidatorIndex, + } +}) + +export interface V6PvfCheckStatement { + accept: boolean + subject: ValidationCodeHash + sessionIndex: number + validatorIndex: V6ValidatorIndex +} + +export type ValidationCodeHash = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasCall = ParasCall_add_trusted_validation_code | ParasCall_force_note_new_head | ParasCall_force_queue_action | ParasCall_force_schedule_code_upgrade | ParasCall_force_set_current_code | ParasCall_force_set_current_head | ParasCall_force_set_most_recent_context | ParasCall_include_pvf_check_statement | ParasCall_poke_unused_validation_code + +/** + * See [`Pallet::add_trusted_validation_code`]. + */ +export interface ParasCall_add_trusted_validation_code { + __kind: 'add_trusted_validation_code' + validationCode: ValidationCode +} + +/** + * See [`Pallet::force_note_new_head`]. + */ +export interface ParasCall_force_note_new_head { + __kind: 'force_note_new_head' + para: Id + newHead: HeadData +} + +/** + * See [`Pallet::force_queue_action`]. + */ +export interface ParasCall_force_queue_action { + __kind: 'force_queue_action' + para: Id +} + +/** + * See [`Pallet::force_schedule_code_upgrade`]. + */ +export interface ParasCall_force_schedule_code_upgrade { + __kind: 'force_schedule_code_upgrade' + para: Id + newCode: ValidationCode + relayParentNumber: number +} + +/** + * See [`Pallet::force_set_current_code`]. + */ +export interface ParasCall_force_set_current_code { + __kind: 'force_set_current_code' + para: Id + newCode: ValidationCode +} + +/** + * See [`Pallet::force_set_current_head`]. + */ +export interface ParasCall_force_set_current_head { + __kind: 'force_set_current_head' + para: Id + newHead: HeadData +} + +/** + * See [`Pallet::force_set_most_recent_context`]. + */ +export interface ParasCall_force_set_most_recent_context { + __kind: 'force_set_most_recent_context' + para: Id + context: number +} + +/** + * See [`Pallet::include_pvf_check_statement`]. + */ +export interface ParasCall_include_pvf_check_statement { + __kind: 'include_pvf_check_statement' + stmt: V6PvfCheckStatement + signature: V6Signature +} + +/** + * See [`Pallet::poke_unused_validation_code`]. + */ +export interface ParasCall_poke_unused_validation_code { + __kind: 'poke_unused_validation_code' + validationCodeHash: ValidationCodeHash +} + +export type V6Signature = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParaInherentCall: sts.Type = sts.closedEnum(() => { + return { + enter: sts.enumStruct({ + data: V6InherentData, + }), + } +}) + +export const V6InherentData: sts.Type = sts.struct(() => { + return { + bitfields: sts.array(() => V6UncheckedSigned), + backedCandidates: sts.array(() => V6BackedCandidate), + disputes: sts.array(() => V6DisputeStatementSet), + parentHeader: Header, + } +}) + +export const Header: sts.Type
    = sts.struct(() => { + return { + parentHash: H256, + number: sts.number(), + stateRoot: H256, + extrinsicsRoot: H256, + digest: Digest, + } +}) + +export const Digest: sts.Type = sts.struct(() => { + return { + logs: sts.array(() => DigestItem), + } +}) + +export const DigestItem: sts.Type = sts.closedEnum(() => { + return { + Consensus: sts.tuple(() => [sts.bytes(), sts.bytes()]), + Other: sts.bytes(), + PreRuntime: sts.tuple(() => [sts.bytes(), sts.bytes()]), + RuntimeEnvironmentUpdated: sts.unit(), + Seal: sts.tuple(() => [sts.bytes(), sts.bytes()]), + } +}) + +export type DigestItem = DigestItem_Consensus | DigestItem_Other | DigestItem_PreRuntime | DigestItem_RuntimeEnvironmentUpdated | DigestItem_Seal + +export interface DigestItem_Consensus { + __kind: 'Consensus' + value: [Bytes, Bytes] +} + +export interface DigestItem_Other { + __kind: 'Other' + value: Bytes +} + +export interface DigestItem_PreRuntime { + __kind: 'PreRuntime' + value: [Bytes, Bytes] +} + +export interface DigestItem_RuntimeEnvironmentUpdated { + __kind: 'RuntimeEnvironmentUpdated' +} + +export interface DigestItem_Seal { + __kind: 'Seal' + value: [Bytes, Bytes] +} + +export interface Digest { + logs: DigestItem[] +} + +export interface Header { + parentHash: H256 + number: number + stateRoot: H256 + extrinsicsRoot: H256 + digest: Digest +} + +export const V6DisputeStatementSet: sts.Type = sts.struct(() => { + return { + candidateHash: CandidateHash, + session: sts.number(), + statements: sts.array(() => sts.tuple(() => [V6DisputeStatement, V6ValidatorIndex, V6Signature])), + } +}) + +export const V6DisputeStatement: sts.Type = sts.closedEnum(() => { + return { + Invalid: V6InvalidDisputeStatementKind, + Valid: V6ValidDisputeStatementKind, + } +}) + +export const V6ValidDisputeStatementKind: sts.Type = sts.closedEnum(() => { + return { + ApprovalChecking: sts.unit(), + ApprovalCheckingMultipleCandidates: sts.array(() => CandidateHash), + BackingSeconded: H256, + BackingValid: H256, + Explicit: sts.unit(), + } +}) + +export type V6ValidDisputeStatementKind = V6ValidDisputeStatementKind_ApprovalChecking | V6ValidDisputeStatementKind_ApprovalCheckingMultipleCandidates | V6ValidDisputeStatementKind_BackingSeconded | V6ValidDisputeStatementKind_BackingValid | V6ValidDisputeStatementKind_Explicit + +export interface V6ValidDisputeStatementKind_ApprovalChecking { + __kind: 'ApprovalChecking' +} + +export interface V6ValidDisputeStatementKind_ApprovalCheckingMultipleCandidates { + __kind: 'ApprovalCheckingMultipleCandidates' + value: CandidateHash[] +} + +export interface V6ValidDisputeStatementKind_BackingSeconded { + __kind: 'BackingSeconded' + value: H256 +} + +export interface V6ValidDisputeStatementKind_BackingValid { + __kind: 'BackingValid' + value: H256 +} + +export interface V6ValidDisputeStatementKind_Explicit { + __kind: 'Explicit' +} + +export const V6InvalidDisputeStatementKind: sts.Type = sts.closedEnum(() => { + return { + Explicit: sts.unit(), + } +}) + +export type V6InvalidDisputeStatementKind = V6InvalidDisputeStatementKind_Explicit + +export interface V6InvalidDisputeStatementKind_Explicit { + __kind: 'Explicit' +} + +export type V6DisputeStatement = V6DisputeStatement_Invalid | V6DisputeStatement_Valid + +export interface V6DisputeStatement_Invalid { + __kind: 'Invalid' + value: V6InvalidDisputeStatementKind +} + +export interface V6DisputeStatement_Valid { + __kind: 'Valid' + value: V6ValidDisputeStatementKind +} + +export interface V6DisputeStatementSet { + candidateHash: CandidateHash + session: number + statements: [V6DisputeStatement, V6ValidatorIndex, V6Signature][] +} + +export const V6BackedCandidate: sts.Type = sts.struct(() => { + return { + candidate: V6CommittedCandidateReceipt, + validityVotes: sts.array(() => V6ValidityAttestation), + validatorIndices: sts.bitseq(), + } +}) + +export const V6ValidityAttestation: sts.Type = sts.closedEnum(() => { + return { + Explicit: V6Signature, + Implicit: V6Signature, + } +}) + +export type V6ValidityAttestation = V6ValidityAttestation_Explicit | V6ValidityAttestation_Implicit + +export interface V6ValidityAttestation_Explicit { + __kind: 'Explicit' + value: V6Signature +} + +export interface V6ValidityAttestation_Implicit { + __kind: 'Implicit' + value: V6Signature +} + +export const V6CommittedCandidateReceipt: sts.Type = sts.struct(() => { + return { + descriptor: V6CandidateDescriptor, + commitments: V6CandidateCommitments, + } +}) + +export const V6CandidateCommitments: sts.Type = sts.struct(() => { + return { + upwardMessages: sts.array(() => sts.bytes()), + horizontalMessages: sts.array(() => OutboundHrmpMessage), + newValidationCode: sts.option(() => ValidationCode), + headData: HeadData, + processedDownwardMessages: sts.number(), + hrmpWatermark: sts.number(), + } +}) + +export const OutboundHrmpMessage: sts.Type = sts.struct(() => { + return { + recipient: Id, + data: sts.bytes(), + } +}) + +export interface OutboundHrmpMessage { + recipient: Id + data: Bytes +} + +export interface V6CandidateCommitments { + upwardMessages: Bytes[] + horizontalMessages: OutboundHrmpMessage[] + newValidationCode?: (ValidationCode | undefined) + headData: HeadData + processedDownwardMessages: number + hrmpWatermark: number +} + +export const V6CandidateDescriptor: sts.Type = sts.struct(() => { + return { + paraId: Id, + relayParent: H256, + collator: sts.bytes(), + persistedValidationDataHash: H256, + povHash: H256, + erasureRoot: H256, + signature: sts.bytes(), + paraHead: H256, + validationCodeHash: ValidationCodeHash, + } +}) + +export interface V6CandidateDescriptor { + paraId: Id + relayParent: H256 + collator: Bytes + persistedValidationDataHash: H256 + povHash: H256 + erasureRoot: H256 + signature: Bytes + paraHead: H256 + validationCodeHash: ValidationCodeHash +} + +export interface V6CommittedCandidateReceipt { + descriptor: V6CandidateDescriptor + commitments: V6CandidateCommitments +} + +export interface V6BackedCandidate { + candidate: V6CommittedCandidateReceipt + validityVotes: V6ValidityAttestation[] + validatorIndices: BitSequence +} + +export const V6UncheckedSigned: sts.Type = sts.struct(() => { + return { + payload: V6AvailabilityBitfield, + validatorIndex: V6ValidatorIndex, + signature: V6Signature, + } +}) + +export const V6AvailabilityBitfield = sts.bitseq() + +export interface V6UncheckedSigned { + payload: V6AvailabilityBitfield + validatorIndex: V6ValidatorIndex + signature: V6Signature +} + +export type V6AvailabilityBitfield = BitSequence + +export interface V6InherentData { + bitfields: V6UncheckedSigned[] + backedCandidates: V6BackedCandidate[] + disputes: V6DisputeStatementSet[] + parentHeader: Header +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParaInherentCall = ParaInherentCall_enter + +/** + * See [`Pallet::enter`]. + */ +export interface ParaInherentCall_enter { + __kind: 'enter' + data: V6InherentData +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParaInclusionCall: sts.Type = sts.closedEnum(() => { + return { + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParaInclusionCall = never + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const OnDemandAssignmentProviderCall: sts.Type = sts.closedEnum(() => { + return { + place_order_allow_death: sts.enumStruct({ + maxAmount: sts.bigint(), + paraId: Id, + }), + place_order_keep_alive: sts.enumStruct({ + maxAmount: sts.bigint(), + paraId: Id, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type OnDemandAssignmentProviderCall = OnDemandAssignmentProviderCall_place_order_allow_death | OnDemandAssignmentProviderCall_place_order_keep_alive + +/** + * See [`Pallet::place_order_allow_death`]. + */ +export interface OnDemandAssignmentProviderCall_place_order_allow_death { + __kind: 'place_order_allow_death' + maxAmount: bigint + paraId: Id +} + +/** + * See [`Pallet::place_order_keep_alive`]. + */ +export interface OnDemandAssignmentProviderCall_place_order_keep_alive { + __kind: 'place_order_keep_alive' + maxAmount: bigint + paraId: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NominationPoolsCall: sts.Type = sts.closedEnum(() => { + return { + adjust_pool_deposit: sts.enumStruct({ + poolId: sts.number(), + }), + bond_extra: sts.enumStruct({ + extra: BondExtra, + }), + bond_extra_other: sts.enumStruct({ + member: MultiAddress, + extra: BondExtra, + }), + chill: sts.enumStruct({ + poolId: sts.number(), + }), + claim_commission: sts.enumStruct({ + poolId: sts.number(), + }), + claim_payout: sts.unit(), + claim_payout_other: sts.enumStruct({ + other: AccountId32, + }), + create: sts.enumStruct({ + amount: sts.bigint(), + root: MultiAddress, + nominator: MultiAddress, + bouncer: MultiAddress, + }), + create_with_pool_id: sts.enumStruct({ + amount: sts.bigint(), + root: MultiAddress, + nominator: MultiAddress, + bouncer: MultiAddress, + poolId: sts.number(), + }), + join: sts.enumStruct({ + amount: sts.bigint(), + poolId: sts.number(), + }), + nominate: sts.enumStruct({ + poolId: sts.number(), + validators: sts.array(() => AccountId32), + }), + pool_withdraw_unbonded: sts.enumStruct({ + poolId: sts.number(), + numSlashingSpans: sts.number(), + }), + set_claim_permission: sts.enumStruct({ + permission: ClaimPermission, + }), + set_commission: sts.enumStruct({ + poolId: sts.number(), + newCommission: sts.option(() => sts.tuple(() => [Perbill, AccountId32])), + }), + set_commission_change_rate: sts.enumStruct({ + poolId: sts.number(), + changeRate: CommissionChangeRate, + }), + set_commission_claim_permission: sts.enumStruct({ + poolId: sts.number(), + permission: sts.option(() => CommissionClaimPermission), + }), + set_commission_max: sts.enumStruct({ + poolId: sts.number(), + maxCommission: Perbill, + }), + set_configs: sts.enumStruct({ + minJoinBond: Type_337, + minCreateBond: Type_337, + maxPools: Type_338, + maxMembers: Type_338, + maxMembersPerPool: Type_338, + globalMaxCommission: Type_339, + }), + set_metadata: sts.enumStruct({ + poolId: sts.number(), + metadata: sts.bytes(), + }), + set_state: sts.enumStruct({ + poolId: sts.number(), + state: PoolState, + }), + unbond: sts.enumStruct({ + memberAccount: MultiAddress, + unbondingPoints: sts.bigint(), + }), + update_roles: sts.enumStruct({ + poolId: sts.number(), + newRoot: Type_340, + newNominator: Type_340, + newBouncer: Type_340, + }), + withdraw_unbonded: sts.enumStruct({ + memberAccount: MultiAddress, + numSlashingSpans: sts.number(), + }), + } +}) + +export const Type_340: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: AccountId32, + } +}) + +export type Type_340 = Type_340_Noop | Type_340_Remove | Type_340_Set + +export interface Type_340_Noop { + __kind: 'Noop' +} + +export interface Type_340_Remove { + __kind: 'Remove' +} + +export interface Type_340_Set { + __kind: 'Set' + value: AccountId32 +} + +export const PoolState: sts.Type = sts.closedEnum(() => { + return { + Blocked: sts.unit(), + Destroying: sts.unit(), + Open: sts.unit(), + } +}) + +export type PoolState = PoolState_Blocked | PoolState_Destroying | PoolState_Open + +export interface PoolState_Blocked { + __kind: 'Blocked' +} + +export interface PoolState_Destroying { + __kind: 'Destroying' +} + +export interface PoolState_Open { + __kind: 'Open' +} + +export const Type_339: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Perbill, + } +}) + +export type Type_339 = Type_339_Noop | Type_339_Remove | Type_339_Set + +export interface Type_339_Noop { + __kind: 'Noop' +} + +export interface Type_339_Remove { + __kind: 'Remove' +} + +export interface Type_339_Set { + __kind: 'Set' + value: Perbill +} + +export const Type_338: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.number(), + } +}) + +export type Type_338 = Type_338_Noop | Type_338_Remove | Type_338_Set + +export interface Type_338_Noop { + __kind: 'Noop' +} + +export interface Type_338_Remove { + __kind: 'Remove' +} + +export interface Type_338_Set { + __kind: 'Set' + value: number +} + +export const Type_337: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.bigint(), + } +}) + +export type Type_337 = Type_337_Noop | Type_337_Remove | Type_337_Set + +export interface Type_337_Noop { + __kind: 'Noop' +} + +export interface Type_337_Remove { + __kind: 'Remove' +} + +export interface Type_337_Set { + __kind: 'Set' + value: bigint +} + +export const CommissionClaimPermission: sts.Type = sts.closedEnum(() => { + return { + Account: AccountId32, + Permissionless: sts.unit(), + } +}) + +export type CommissionClaimPermission = CommissionClaimPermission_Account | CommissionClaimPermission_Permissionless + +export interface CommissionClaimPermission_Account { + __kind: 'Account' + value: AccountId32 +} + +export interface CommissionClaimPermission_Permissionless { + __kind: 'Permissionless' +} + +export const CommissionChangeRate: sts.Type = sts.struct(() => { + return { + maxIncrease: Perbill, + minDelay: sts.number(), + } +}) + +export interface CommissionChangeRate { + maxIncrease: Perbill + minDelay: number +} + +export const ClaimPermission: sts.Type = sts.closedEnum(() => { + return { + Permissioned: sts.unit(), + PermissionlessAll: sts.unit(), + PermissionlessCompound: sts.unit(), + PermissionlessWithdraw: sts.unit(), + } +}) + +export type ClaimPermission = ClaimPermission_Permissioned | ClaimPermission_PermissionlessAll | ClaimPermission_PermissionlessCompound | ClaimPermission_PermissionlessWithdraw + +export interface ClaimPermission_Permissioned { + __kind: 'Permissioned' +} + +export interface ClaimPermission_PermissionlessAll { + __kind: 'PermissionlessAll' +} + +export interface ClaimPermission_PermissionlessCompound { + __kind: 'PermissionlessCompound' +} + +export interface ClaimPermission_PermissionlessWithdraw { + __kind: 'PermissionlessWithdraw' +} + +export const BondExtra: sts.Type = sts.closedEnum(() => { + return { + FreeBalance: sts.bigint(), + Rewards: sts.unit(), + } +}) + +export type BondExtra = BondExtra_FreeBalance | BondExtra_Rewards + +export interface BondExtra_FreeBalance { + __kind: 'FreeBalance' + value: bigint +} + +export interface BondExtra_Rewards { + __kind: 'Rewards' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NominationPoolsCall = NominationPoolsCall_adjust_pool_deposit | NominationPoolsCall_bond_extra | NominationPoolsCall_bond_extra_other | NominationPoolsCall_chill | NominationPoolsCall_claim_commission | NominationPoolsCall_claim_payout | NominationPoolsCall_claim_payout_other | NominationPoolsCall_create | NominationPoolsCall_create_with_pool_id | NominationPoolsCall_join | NominationPoolsCall_nominate | NominationPoolsCall_pool_withdraw_unbonded | NominationPoolsCall_set_claim_permission | NominationPoolsCall_set_commission | NominationPoolsCall_set_commission_change_rate | NominationPoolsCall_set_commission_claim_permission | NominationPoolsCall_set_commission_max | NominationPoolsCall_set_configs | NominationPoolsCall_set_metadata | NominationPoolsCall_set_state | NominationPoolsCall_unbond | NominationPoolsCall_update_roles | NominationPoolsCall_withdraw_unbonded + +/** + * See [`Pallet::adjust_pool_deposit`]. + */ +export interface NominationPoolsCall_adjust_pool_deposit { + __kind: 'adjust_pool_deposit' + poolId: number +} + +/** + * See [`Pallet::bond_extra`]. + */ +export interface NominationPoolsCall_bond_extra { + __kind: 'bond_extra' + extra: BondExtra +} + +/** + * See [`Pallet::bond_extra_other`]. + */ +export interface NominationPoolsCall_bond_extra_other { + __kind: 'bond_extra_other' + member: MultiAddress + extra: BondExtra +} + +/** + * See [`Pallet::chill`]. + */ +export interface NominationPoolsCall_chill { + __kind: 'chill' + poolId: number +} + +/** + * See [`Pallet::claim_commission`]. + */ +export interface NominationPoolsCall_claim_commission { + __kind: 'claim_commission' + poolId: number +} + +/** + * See [`Pallet::claim_payout`]. + */ +export interface NominationPoolsCall_claim_payout { + __kind: 'claim_payout' +} + +/** + * See [`Pallet::claim_payout_other`]. + */ +export interface NominationPoolsCall_claim_payout_other { + __kind: 'claim_payout_other' + other: AccountId32 +} + +/** + * See [`Pallet::create`]. + */ +export interface NominationPoolsCall_create { + __kind: 'create' + amount: bigint + root: MultiAddress + nominator: MultiAddress + bouncer: MultiAddress +} + +/** + * See [`Pallet::create_with_pool_id`]. + */ +export interface NominationPoolsCall_create_with_pool_id { + __kind: 'create_with_pool_id' + amount: bigint + root: MultiAddress + nominator: MultiAddress + bouncer: MultiAddress + poolId: number +} + +/** + * See [`Pallet::join`]. + */ +export interface NominationPoolsCall_join { + __kind: 'join' + amount: bigint + poolId: number +} + +/** + * See [`Pallet::nominate`]. + */ +export interface NominationPoolsCall_nominate { + __kind: 'nominate' + poolId: number + validators: AccountId32[] +} + +/** + * See [`Pallet::pool_withdraw_unbonded`]. + */ +export interface NominationPoolsCall_pool_withdraw_unbonded { + __kind: 'pool_withdraw_unbonded' + poolId: number + numSlashingSpans: number +} + +/** + * See [`Pallet::set_claim_permission`]. + */ +export interface NominationPoolsCall_set_claim_permission { + __kind: 'set_claim_permission' + permission: ClaimPermission +} + +/** + * See [`Pallet::set_commission`]. + */ +export interface NominationPoolsCall_set_commission { + __kind: 'set_commission' + poolId: number + newCommission?: ([Perbill, AccountId32] | undefined) +} + +/** + * See [`Pallet::set_commission_change_rate`]. + */ +export interface NominationPoolsCall_set_commission_change_rate { + __kind: 'set_commission_change_rate' + poolId: number + changeRate: CommissionChangeRate +} + +/** + * See [`Pallet::set_commission_claim_permission`]. + */ +export interface NominationPoolsCall_set_commission_claim_permission { + __kind: 'set_commission_claim_permission' + poolId: number + permission?: (CommissionClaimPermission | undefined) +} + +/** + * See [`Pallet::set_commission_max`]. + */ +export interface NominationPoolsCall_set_commission_max { + __kind: 'set_commission_max' + poolId: number + maxCommission: Perbill +} + +/** + * See [`Pallet::set_configs`]. + */ +export interface NominationPoolsCall_set_configs { + __kind: 'set_configs' + minJoinBond: Type_337 + minCreateBond: Type_337 + maxPools: Type_338 + maxMembers: Type_338 + maxMembersPerPool: Type_338 + globalMaxCommission: Type_339 +} + +/** + * See [`Pallet::set_metadata`]. + */ +export interface NominationPoolsCall_set_metadata { + __kind: 'set_metadata' + poolId: number + metadata: Bytes +} + +/** + * See [`Pallet::set_state`]. + */ +export interface NominationPoolsCall_set_state { + __kind: 'set_state' + poolId: number + state: PoolState +} + +/** + * See [`Pallet::unbond`]. + */ +export interface NominationPoolsCall_unbond { + __kind: 'unbond' + memberAccount: MultiAddress + unbondingPoints: bigint +} + +/** + * See [`Pallet::update_roles`]. + */ +export interface NominationPoolsCall_update_roles { + __kind: 'update_roles' + poolId: number + newRoot: Type_340 + newNominator: Type_340 + newBouncer: Type_340 +} + +/** + * See [`Pallet::withdraw_unbonded`]. + */ +export interface NominationPoolsCall_withdraw_unbonded { + __kind: 'withdraw_unbonded' + memberAccount: MultiAddress + numSlashingSpans: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NisCounterpartBalancesCall: sts.Type = sts.closedEnum(() => { + return { + force_adjust_total_issuance: sts.enumStruct({ + direction: AdjustmentDirection, + delta: sts.bigint(), + }), + force_set_balance: sts.enumStruct({ + who: MultiAddress, + newFree: sts.bigint(), + }), + force_transfer: sts.enumStruct({ + source: MultiAddress, + dest: MultiAddress, + value: sts.bigint(), + }), + force_unreserve: sts.enumStruct({ + who: MultiAddress, + amount: sts.bigint(), + }), + transfer_all: sts.enumStruct({ + dest: MultiAddress, + keepAlive: sts.boolean(), + }), + transfer_allow_death: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + transfer_keep_alive: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + upgrade_accounts: sts.enumStruct({ + who: sts.array(() => AccountId32), + }), + } +}) + +export const AdjustmentDirection: sts.Type = sts.closedEnum(() => { + return { + Decrease: sts.unit(), + Increase: sts.unit(), + } +}) + +export type AdjustmentDirection = AdjustmentDirection_Decrease | AdjustmentDirection_Increase + +export interface AdjustmentDirection_Decrease { + __kind: 'Decrease' +} + +export interface AdjustmentDirection_Increase { + __kind: 'Increase' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NisCounterpartBalancesCall = NisCounterpartBalancesCall_force_adjust_total_issuance | NisCounterpartBalancesCall_force_set_balance | NisCounterpartBalancesCall_force_transfer | NisCounterpartBalancesCall_force_unreserve | NisCounterpartBalancesCall_transfer_all | NisCounterpartBalancesCall_transfer_allow_death | NisCounterpartBalancesCall_transfer_keep_alive | NisCounterpartBalancesCall_upgrade_accounts + +/** + * See [`Pallet::force_adjust_total_issuance`]. + */ +export interface NisCounterpartBalancesCall_force_adjust_total_issuance { + __kind: 'force_adjust_total_issuance' + direction: AdjustmentDirection + delta: bigint +} + +/** + * See [`Pallet::force_set_balance`]. + */ +export interface NisCounterpartBalancesCall_force_set_balance { + __kind: 'force_set_balance' + who: MultiAddress + newFree: bigint +} + +/** + * See [`Pallet::force_transfer`]. + */ +export interface NisCounterpartBalancesCall_force_transfer { + __kind: 'force_transfer' + source: MultiAddress + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::force_unreserve`]. + */ +export interface NisCounterpartBalancesCall_force_unreserve { + __kind: 'force_unreserve' + who: MultiAddress + amount: bigint +} + +/** + * See [`Pallet::transfer_all`]. + */ +export interface NisCounterpartBalancesCall_transfer_all { + __kind: 'transfer_all' + dest: MultiAddress + keepAlive: boolean +} + +/** + * See [`Pallet::transfer_allow_death`]. + */ +export interface NisCounterpartBalancesCall_transfer_allow_death { + __kind: 'transfer_allow_death' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::transfer_keep_alive`]. + */ +export interface NisCounterpartBalancesCall_transfer_keep_alive { + __kind: 'transfer_keep_alive' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::upgrade_accounts`]. + */ +export interface NisCounterpartBalancesCall_upgrade_accounts { + __kind: 'upgrade_accounts' + who: AccountId32[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NisCall: sts.Type = sts.closedEnum(() => { + return { + communify: sts.enumStruct({ + index: sts.number(), + }), + fund_deficit: sts.unit(), + place_bid: sts.enumStruct({ + amount: sts.bigint(), + duration: sts.number(), + }), + privatize: sts.enumStruct({ + index: sts.number(), + }), + retract_bid: sts.enumStruct({ + amount: sts.bigint(), + duration: sts.number(), + }), + thaw_communal: sts.enumStruct({ + index: sts.number(), + }), + thaw_private: sts.enumStruct({ + index: sts.number(), + maybeProportion: sts.option(() => Perquintill), + }), + } +}) + +export const Perquintill = sts.bigint() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NisCall = NisCall_communify | NisCall_fund_deficit | NisCall_place_bid | NisCall_privatize | NisCall_retract_bid | NisCall_thaw_communal | NisCall_thaw_private + +/** + * See [`Pallet::communify`]. + */ +export interface NisCall_communify { + __kind: 'communify' + index: number +} + +/** + * See [`Pallet::fund_deficit`]. + */ +export interface NisCall_fund_deficit { + __kind: 'fund_deficit' +} + +/** + * See [`Pallet::place_bid`]. + */ +export interface NisCall_place_bid { + __kind: 'place_bid' + amount: bigint + duration: number +} + +/** + * See [`Pallet::privatize`]. + */ +export interface NisCall_privatize { + __kind: 'privatize' + index: number +} + +/** + * See [`Pallet::retract_bid`]. + */ +export interface NisCall_retract_bid { + __kind: 'retract_bid' + amount: bigint + duration: number +} + +/** + * See [`Pallet::thaw_communal`]. + */ +export interface NisCall_thaw_communal { + __kind: 'thaw_communal' + index: number +} + +/** + * See [`Pallet::thaw_private`]. + */ +export interface NisCall_thaw_private { + __kind: 'thaw_private' + index: number + maybeProportion?: (Perquintill | undefined) +} + +export type Perquintill = bigint + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const MultisigCall: sts.Type = sts.closedEnum(() => { + return { + approve_as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + maybeTimepoint: sts.option(() => Timepoint), + callHash: sts.bytes(), + maxWeight: Weight, + }), + as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + maybeTimepoint: sts.option(() => Timepoint), + call: Call, + maxWeight: Weight, + }), + as_multi_threshold_1: sts.enumStruct({ + otherSignatories: sts.array(() => AccountId32), + call: Call, + }), + cancel_as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + timepoint: Timepoint, + callHash: sts.bytes(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type MultisigCall = MultisigCall_approve_as_multi | MultisigCall_as_multi | MultisigCall_as_multi_threshold_1 | MultisigCall_cancel_as_multi + +/** + * See [`Pallet::approve_as_multi`]. + */ +export interface MultisigCall_approve_as_multi { + __kind: 'approve_as_multi' + threshold: number + otherSignatories: AccountId32[] + maybeTimepoint?: (Timepoint | undefined) + callHash: Bytes + maxWeight: Weight +} + +/** + * See [`Pallet::as_multi`]. + */ +export interface MultisigCall_as_multi { + __kind: 'as_multi' + threshold: number + otherSignatories: AccountId32[] + maybeTimepoint?: (Timepoint | undefined) + call: Call + maxWeight: Weight +} + +/** + * See [`Pallet::as_multi_threshold_1`]. + */ +export interface MultisigCall_as_multi_threshold_1 { + __kind: 'as_multi_threshold_1' + otherSignatories: AccountId32[] + call: Call +} + +/** + * See [`Pallet::cancel_as_multi`]. + */ +export interface MultisigCall_cancel_as_multi { + __kind: 'cancel_as_multi' + threshold: number + otherSignatories: AccountId32[] + timepoint: Timepoint + callHash: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const MessageQueueCall: sts.Type = sts.closedEnum(() => { + return { + execute_overweight: sts.enumStruct({ + messageOrigin: AggregateMessageOrigin, + page: sts.number(), + index: sts.number(), + weightLimit: Weight, + }), + reap_page: sts.enumStruct({ + messageOrigin: AggregateMessageOrigin, + pageIndex: sts.number(), + }), + } +}) + +export const AggregateMessageOrigin: sts.Type = sts.closedEnum(() => { + return { + Ump: UmpQueueId, + } +}) + +export const UmpQueueId: sts.Type = sts.closedEnum(() => { + return { + Para: Id, + } +}) + +export type UmpQueueId = UmpQueueId_Para + +export interface UmpQueueId_Para { + __kind: 'Para' + value: Id +} + +export type AggregateMessageOrigin = AggregateMessageOrigin_Ump + +export interface AggregateMessageOrigin_Ump { + __kind: 'Ump' + value: UmpQueueId +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type MessageQueueCall = MessageQueueCall_execute_overweight | MessageQueueCall_reap_page + +/** + * See [`Pallet::execute_overweight`]. + */ +export interface MessageQueueCall_execute_overweight { + __kind: 'execute_overweight' + messageOrigin: AggregateMessageOrigin + page: number + index: number + weightLimit: Weight +} + +/** + * See [`Pallet::reap_page`]. + */ +export interface MessageQueueCall_reap_page { + __kind: 'reap_page' + messageOrigin: AggregateMessageOrigin + pageIndex: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const InitializerCall: sts.Type = sts.closedEnum(() => { + return { + force_approve: sts.enumStruct({ + upTo: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type InitializerCall = InitializerCall_force_approve + +/** + * See [`Pallet::force_approve`]. + */ +export interface InitializerCall_force_approve { + __kind: 'force_approve' + upTo: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const IndicesCall: sts.Type = sts.closedEnum(() => { + return { + claim: sts.enumStruct({ + index: sts.number(), + }), + force_transfer: sts.enumStruct({ + new: MultiAddress, + index: sts.number(), + freeze: sts.boolean(), + }), + free: sts.enumStruct({ + index: sts.number(), + }), + freeze: sts.enumStruct({ + index: sts.number(), + }), + transfer: sts.enumStruct({ + new: MultiAddress, + index: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type IndicesCall = IndicesCall_claim | IndicesCall_force_transfer | IndicesCall_free | IndicesCall_freeze | IndicesCall_transfer + +/** + * See [`Pallet::claim`]. + */ +export interface IndicesCall_claim { + __kind: 'claim' + index: number +} + +/** + * See [`Pallet::force_transfer`]. + */ +export interface IndicesCall_force_transfer { + __kind: 'force_transfer' + new: MultiAddress + index: number + freeze: boolean +} + +/** + * See [`Pallet::free`]. + */ +export interface IndicesCall_free { + __kind: 'free' + index: number +} + +/** + * See [`Pallet::freeze`]. + */ +export interface IndicesCall_freeze { + __kind: 'freeze' + index: number +} + +/** + * See [`Pallet::transfer`]. + */ +export interface IndicesCall_transfer { + __kind: 'transfer' + new: MultiAddress + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const IdentityMigratorCall: sts.Type = sts.closedEnum(() => { + return { + poke_deposit: sts.enumStruct({ + who: AccountId32, + }), + reap_identity: sts.enumStruct({ + who: AccountId32, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type IdentityMigratorCall = IdentityMigratorCall_poke_deposit | IdentityMigratorCall_reap_identity + +/** + * See [`Pallet::poke_deposit`]. + */ +export interface IdentityMigratorCall_poke_deposit { + __kind: 'poke_deposit' + who: AccountId32 +} + +/** + * See [`Pallet::reap_identity`]. + */ +export interface IdentityMigratorCall_reap_identity { + __kind: 'reap_identity' + who: AccountId32 +} + +/** + * Identity pallet declaration. + */ +export const IdentityCall: sts.Type = sts.closedEnum(() => { + return { + accept_username: sts.enumStruct({ + username: BoundedVec, + }), + add_registrar: sts.enumStruct({ + account: MultiAddress, + }), + add_sub: sts.enumStruct({ + sub: MultiAddress, + data: Data, + }), + add_username_authority: sts.enumStruct({ + authority: MultiAddress, + suffix: sts.bytes(), + allocation: sts.number(), + }), + cancel_request: sts.enumStruct({ + regIndex: sts.number(), + }), + clear_identity: sts.unit(), + kill_identity: sts.enumStruct({ + target: MultiAddress, + }), + provide_judgement: sts.enumStruct({ + regIndex: sts.number(), + target: MultiAddress, + judgement: Judgement, + identity: H256, + }), + quit_sub: sts.unit(), + remove_dangling_username: sts.enumStruct({ + username: BoundedVec, + }), + remove_expired_approval: sts.enumStruct({ + username: BoundedVec, + }), + remove_sub: sts.enumStruct({ + sub: MultiAddress, + }), + remove_username_authority: sts.enumStruct({ + authority: MultiAddress, + }), + rename_sub: sts.enumStruct({ + sub: MultiAddress, + data: Data, + }), + request_judgement: sts.enumStruct({ + regIndex: sts.number(), + maxFee: sts.bigint(), + }), + set_account_id: sts.enumStruct({ + index: sts.number(), + new: MultiAddress, + }), + set_fee: sts.enumStruct({ + index: sts.number(), + fee: sts.bigint(), + }), + set_fields: sts.enumStruct({ + index: sts.number(), + fields: sts.bigint(), + }), + set_identity: sts.enumStruct({ + info: IdentityInfo, + }), + set_primary_username: sts.enumStruct({ + username: BoundedVec, + }), + set_subs: sts.enumStruct({ + subs: sts.array(() => sts.tuple(() => [AccountId32, Data])), + }), + set_username_for: sts.enumStruct({ + who: MultiAddress, + username: sts.bytes(), + signature: sts.option(() => MultiSignature), + }), + } +}) + +export const MultiSignature: sts.Type = sts.closedEnum(() => { + return { + Ecdsa: sts.bytes(), + Ed25519: sts.bytes(), + Sr25519: sts.bytes(), + } +}) + +export type MultiSignature = MultiSignature_Ecdsa | MultiSignature_Ed25519 | MultiSignature_Sr25519 + +export interface MultiSignature_Ecdsa { + __kind: 'Ecdsa' + value: Bytes +} + +export interface MultiSignature_Ed25519 { + __kind: 'Ed25519' + value: Bytes +} + +export interface MultiSignature_Sr25519 { + __kind: 'Sr25519' + value: Bytes +} + +export const IdentityInfo: sts.Type = sts.struct(() => { + return { + additional: sts.array(() => sts.tuple(() => [Data, Data])), + display: Data, + legal: Data, + web: Data, + riot: Data, + email: Data, + pgpFingerprint: sts.option(() => sts.bytes()), + image: Data, + twitter: Data, + } +}) + +export interface IdentityInfo { + additional: [Data, Data][] + display: Data + legal: Data + web: Data + riot: Data + email: Data + pgpFingerprint?: (Bytes | undefined) + image: Data + twitter: Data +} + +export type Data = Data_BlakeTwo256 | Data_Keccak256 | Data_None | Data_Raw0 | Data_Raw1 | Data_Raw10 | Data_Raw11 | Data_Raw12 | Data_Raw13 | Data_Raw14 | Data_Raw15 | Data_Raw16 | Data_Raw17 | Data_Raw18 | Data_Raw19 | Data_Raw2 | Data_Raw20 | Data_Raw21 | Data_Raw22 | Data_Raw23 | Data_Raw24 | Data_Raw25 | Data_Raw26 | Data_Raw27 | Data_Raw28 | Data_Raw29 | Data_Raw3 | Data_Raw30 | Data_Raw31 | Data_Raw32 | Data_Raw4 | Data_Raw5 | Data_Raw6 | Data_Raw7 | Data_Raw8 | Data_Raw9 | Data_Sha256 | Data_ShaThree256 + +export interface Data_BlakeTwo256 { + __kind: 'BlakeTwo256' + value: Bytes +} + +export interface Data_Keccak256 { + __kind: 'Keccak256' + value: Bytes +} + +export interface Data_None { + __kind: 'None' +} + +export interface Data_Raw0 { + __kind: 'Raw0' + value: Bytes +} + +export interface Data_Raw1 { + __kind: 'Raw1' + value: Bytes +} + +export interface Data_Raw10 { + __kind: 'Raw10' + value: Bytes +} + +export interface Data_Raw11 { + __kind: 'Raw11' + value: Bytes +} + +export interface Data_Raw12 { + __kind: 'Raw12' + value: Bytes +} + +export interface Data_Raw13 { + __kind: 'Raw13' + value: Bytes +} + +export interface Data_Raw14 { + __kind: 'Raw14' + value: Bytes +} + +export interface Data_Raw15 { + __kind: 'Raw15' + value: Bytes +} + +export interface Data_Raw16 { + __kind: 'Raw16' + value: Bytes +} + +export interface Data_Raw17 { + __kind: 'Raw17' + value: Bytes +} + +export interface Data_Raw18 { + __kind: 'Raw18' + value: Bytes +} + +export interface Data_Raw19 { + __kind: 'Raw19' + value: Bytes +} + +export interface Data_Raw2 { + __kind: 'Raw2' + value: Bytes +} + +export interface Data_Raw20 { + __kind: 'Raw20' + value: Bytes +} + +export interface Data_Raw21 { + __kind: 'Raw21' + value: Bytes +} + +export interface Data_Raw22 { + __kind: 'Raw22' + value: Bytes +} + +export interface Data_Raw23 { + __kind: 'Raw23' + value: Bytes +} + +export interface Data_Raw24 { + __kind: 'Raw24' + value: Bytes +} + +export interface Data_Raw25 { + __kind: 'Raw25' + value: Bytes +} + +export interface Data_Raw26 { + __kind: 'Raw26' + value: Bytes +} + +export interface Data_Raw27 { + __kind: 'Raw27' + value: Bytes +} + +export interface Data_Raw28 { + __kind: 'Raw28' + value: Bytes +} + +export interface Data_Raw29 { + __kind: 'Raw29' + value: Bytes +} + +export interface Data_Raw3 { + __kind: 'Raw3' + value: Bytes +} + +export interface Data_Raw30 { + __kind: 'Raw30' + value: Bytes +} + +export interface Data_Raw31 { + __kind: 'Raw31' + value: Bytes +} + +export interface Data_Raw32 { + __kind: 'Raw32' + value: Bytes +} + +export interface Data_Raw4 { + __kind: 'Raw4' + value: Bytes +} + +export interface Data_Raw5 { + __kind: 'Raw5' + value: Bytes +} + +export interface Data_Raw6 { + __kind: 'Raw6' + value: Bytes +} + +export interface Data_Raw7 { + __kind: 'Raw7' + value: Bytes +} + +export interface Data_Raw8 { + __kind: 'Raw8' + value: Bytes +} + +export interface Data_Raw9 { + __kind: 'Raw9' + value: Bytes +} + +export interface Data_Sha256 { + __kind: 'Sha256' + value: Bytes +} + +export interface Data_ShaThree256 { + __kind: 'ShaThree256' + value: Bytes +} + +export const Judgement: sts.Type = sts.closedEnum(() => { + return { + Erroneous: sts.unit(), + FeePaid: sts.bigint(), + KnownGood: sts.unit(), + LowQuality: sts.unit(), + OutOfDate: sts.unit(), + Reasonable: sts.unit(), + Unknown: sts.unit(), + } +}) + +export type Judgement = Judgement_Erroneous | Judgement_FeePaid | Judgement_KnownGood | Judgement_LowQuality | Judgement_OutOfDate | Judgement_Reasonable | Judgement_Unknown + +export interface Judgement_Erroneous { + __kind: 'Erroneous' +} + +export interface Judgement_FeePaid { + __kind: 'FeePaid' + value: bigint +} + +export interface Judgement_KnownGood { + __kind: 'KnownGood' +} + +export interface Judgement_LowQuality { + __kind: 'LowQuality' +} + +export interface Judgement_OutOfDate { + __kind: 'OutOfDate' +} + +export interface Judgement_Reasonable { + __kind: 'Reasonable' +} + +export interface Judgement_Unknown { + __kind: 'Unknown' +} + +export const Data: sts.Type = sts.closedEnum(() => { + return { + BlakeTwo256: sts.bytes(), + Keccak256: sts.bytes(), + None: sts.unit(), + Raw0: sts.bytes(), + Raw1: sts.bytes(), + Raw10: sts.bytes(), + Raw11: sts.bytes(), + Raw12: sts.bytes(), + Raw13: sts.bytes(), + Raw14: sts.bytes(), + Raw15: sts.bytes(), + Raw16: sts.bytes(), + Raw17: sts.bytes(), + Raw18: sts.bytes(), + Raw19: sts.bytes(), + Raw2: sts.bytes(), + Raw20: sts.bytes(), + Raw21: sts.bytes(), + Raw22: sts.bytes(), + Raw23: sts.bytes(), + Raw24: sts.bytes(), + Raw25: sts.bytes(), + Raw26: sts.bytes(), + Raw27: sts.bytes(), + Raw28: sts.bytes(), + Raw29: sts.bytes(), + Raw3: sts.bytes(), + Raw30: sts.bytes(), + Raw31: sts.bytes(), + Raw32: sts.bytes(), + Raw4: sts.bytes(), + Raw5: sts.bytes(), + Raw6: sts.bytes(), + Raw7: sts.bytes(), + Raw8: sts.bytes(), + Raw9: sts.bytes(), + Sha256: sts.bytes(), + ShaThree256: sts.bytes(), + } +}) + +export const BoundedVec = sts.bytes() + +/** + * Identity pallet declaration. + */ +export type IdentityCall = IdentityCall_accept_username | IdentityCall_add_registrar | IdentityCall_add_sub | IdentityCall_add_username_authority | IdentityCall_cancel_request | IdentityCall_clear_identity | IdentityCall_kill_identity | IdentityCall_provide_judgement | IdentityCall_quit_sub | IdentityCall_remove_dangling_username | IdentityCall_remove_expired_approval | IdentityCall_remove_sub | IdentityCall_remove_username_authority | IdentityCall_rename_sub | IdentityCall_request_judgement | IdentityCall_set_account_id | IdentityCall_set_fee | IdentityCall_set_fields | IdentityCall_set_identity | IdentityCall_set_primary_username | IdentityCall_set_subs | IdentityCall_set_username_for + +/** + * See [`Pallet::accept_username`]. + */ +export interface IdentityCall_accept_username { + __kind: 'accept_username' + username: BoundedVec +} + +/** + * See [`Pallet::add_registrar`]. + */ +export interface IdentityCall_add_registrar { + __kind: 'add_registrar' + account: MultiAddress +} + +/** + * See [`Pallet::add_sub`]. + */ +export interface IdentityCall_add_sub { + __kind: 'add_sub' + sub: MultiAddress + data: Data +} + +/** + * See [`Pallet::add_username_authority`]. + */ +export interface IdentityCall_add_username_authority { + __kind: 'add_username_authority' + authority: MultiAddress + suffix: Bytes + allocation: number +} + +/** + * See [`Pallet::cancel_request`]. + */ +export interface IdentityCall_cancel_request { + __kind: 'cancel_request' + regIndex: number +} + +/** + * See [`Pallet::clear_identity`]. + */ +export interface IdentityCall_clear_identity { + __kind: 'clear_identity' +} + +/** + * See [`Pallet::kill_identity`]. + */ +export interface IdentityCall_kill_identity { + __kind: 'kill_identity' + target: MultiAddress +} + +/** + * See [`Pallet::provide_judgement`]. + */ +export interface IdentityCall_provide_judgement { + __kind: 'provide_judgement' + regIndex: number + target: MultiAddress + judgement: Judgement + identity: H256 +} + +/** + * See [`Pallet::quit_sub`]. + */ +export interface IdentityCall_quit_sub { + __kind: 'quit_sub' +} + +/** + * See [`Pallet::remove_dangling_username`]. + */ +export interface IdentityCall_remove_dangling_username { + __kind: 'remove_dangling_username' + username: BoundedVec +} + +/** + * See [`Pallet::remove_expired_approval`]. + */ +export interface IdentityCall_remove_expired_approval { + __kind: 'remove_expired_approval' + username: BoundedVec +} + +/** + * See [`Pallet::remove_sub`]. + */ +export interface IdentityCall_remove_sub { + __kind: 'remove_sub' + sub: MultiAddress +} + +/** + * See [`Pallet::remove_username_authority`]. + */ +export interface IdentityCall_remove_username_authority { + __kind: 'remove_username_authority' + authority: MultiAddress +} + +/** + * See [`Pallet::rename_sub`]. + */ +export interface IdentityCall_rename_sub { + __kind: 'rename_sub' + sub: MultiAddress + data: Data +} + +/** + * See [`Pallet::request_judgement`]. + */ +export interface IdentityCall_request_judgement { + __kind: 'request_judgement' + regIndex: number + maxFee: bigint +} + +/** + * See [`Pallet::set_account_id`]. + */ +export interface IdentityCall_set_account_id { + __kind: 'set_account_id' + index: number + new: MultiAddress +} + +/** + * See [`Pallet::set_fee`]. + */ +export interface IdentityCall_set_fee { + __kind: 'set_fee' + index: number + fee: bigint +} + +/** + * See [`Pallet::set_fields`]. + */ +export interface IdentityCall_set_fields { + __kind: 'set_fields' + index: number + fields: bigint +} + +/** + * See [`Pallet::set_identity`]. + */ +export interface IdentityCall_set_identity { + __kind: 'set_identity' + info: IdentityInfo +} + +/** + * See [`Pallet::set_primary_username`]. + */ +export interface IdentityCall_set_primary_username { + __kind: 'set_primary_username' + username: BoundedVec +} + +/** + * See [`Pallet::set_subs`]. + */ +export interface IdentityCall_set_subs { + __kind: 'set_subs' + subs: [AccountId32, Data][] +} + +/** + * See [`Pallet::set_username_for`]. + */ +export interface IdentityCall_set_username_for { + __kind: 'set_username_for' + who: MultiAddress + username: Bytes + signature?: (MultiSignature | undefined) +} + +export type BoundedVec = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const HrmpCall: sts.Type = sts.closedEnum(() => { + return { + establish_channel_with_system: sts.enumStruct({ + targetSystemChain: Id, + }), + establish_system_channel: sts.enumStruct({ + sender: Id, + recipient: Id, + }), + force_clean_hrmp: sts.enumStruct({ + para: Id, + numInbound: sts.number(), + numOutbound: sts.number(), + }), + force_open_hrmp_channel: sts.enumStruct({ + sender: Id, + recipient: Id, + maxCapacity: sts.number(), + maxMessageSize: sts.number(), + }), + force_process_hrmp_close: sts.enumStruct({ + channels: sts.number(), + }), + force_process_hrmp_open: sts.enumStruct({ + channels: sts.number(), + }), + hrmp_accept_open_channel: sts.enumStruct({ + sender: Id, + }), + hrmp_cancel_open_request: sts.enumStruct({ + channelId: HrmpChannelId, + openRequests: sts.number(), + }), + hrmp_close_channel: sts.enumStruct({ + channelId: HrmpChannelId, + }), + hrmp_init_open_channel: sts.enumStruct({ + recipient: Id, + proposedMaxCapacity: sts.number(), + proposedMaxMessageSize: sts.number(), + }), + poke_channel_deposits: sts.enumStruct({ + sender: Id, + recipient: Id, + }), + } +}) + +export const HrmpChannelId: sts.Type = sts.struct(() => { + return { + sender: Id, + recipient: Id, + } +}) + +export interface HrmpChannelId { + sender: Id + recipient: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type HrmpCall = HrmpCall_establish_channel_with_system | HrmpCall_establish_system_channel | HrmpCall_force_clean_hrmp | HrmpCall_force_open_hrmp_channel | HrmpCall_force_process_hrmp_close | HrmpCall_force_process_hrmp_open | HrmpCall_hrmp_accept_open_channel | HrmpCall_hrmp_cancel_open_request | HrmpCall_hrmp_close_channel | HrmpCall_hrmp_init_open_channel | HrmpCall_poke_channel_deposits + +/** + * See [`Pallet::establish_channel_with_system`]. + */ +export interface HrmpCall_establish_channel_with_system { + __kind: 'establish_channel_with_system' + targetSystemChain: Id +} + +/** + * See [`Pallet::establish_system_channel`]. + */ +export interface HrmpCall_establish_system_channel { + __kind: 'establish_system_channel' + sender: Id + recipient: Id +} + +/** + * See [`Pallet::force_clean_hrmp`]. + */ +export interface HrmpCall_force_clean_hrmp { + __kind: 'force_clean_hrmp' + para: Id + numInbound: number + numOutbound: number +} + +/** + * See [`Pallet::force_open_hrmp_channel`]. + */ +export interface HrmpCall_force_open_hrmp_channel { + __kind: 'force_open_hrmp_channel' + sender: Id + recipient: Id + maxCapacity: number + maxMessageSize: number +} + +/** + * See [`Pallet::force_process_hrmp_close`]. + */ +export interface HrmpCall_force_process_hrmp_close { + __kind: 'force_process_hrmp_close' + channels: number +} + +/** + * See [`Pallet::force_process_hrmp_open`]. + */ +export interface HrmpCall_force_process_hrmp_open { + __kind: 'force_process_hrmp_open' + channels: number +} + +/** + * See [`Pallet::hrmp_accept_open_channel`]. + */ +export interface HrmpCall_hrmp_accept_open_channel { + __kind: 'hrmp_accept_open_channel' + sender: Id +} + +/** + * See [`Pallet::hrmp_cancel_open_request`]. + */ +export interface HrmpCall_hrmp_cancel_open_request { + __kind: 'hrmp_cancel_open_request' + channelId: HrmpChannelId + openRequests: number +} + +/** + * See [`Pallet::hrmp_close_channel`]. + */ +export interface HrmpCall_hrmp_close_channel { + __kind: 'hrmp_close_channel' + channelId: HrmpChannelId +} + +/** + * See [`Pallet::hrmp_init_open_channel`]. + */ +export interface HrmpCall_hrmp_init_open_channel { + __kind: 'hrmp_init_open_channel' + recipient: Id + proposedMaxCapacity: number + proposedMaxMessageSize: number +} + +/** + * See [`Pallet::poke_channel_deposits`]. + */ +export interface HrmpCall_poke_channel_deposits { + __kind: 'poke_channel_deposits' + sender: Id + recipient: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const GrandpaCall: sts.Type = sts.closedEnum(() => { + return { + note_stalled: sts.enumStruct({ + delay: sts.number(), + bestFinalizedBlockNumber: sts.number(), + }), + report_equivocation: sts.enumStruct({ + equivocationProof: Type_142, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: Type_142, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const Type_142: sts.Type = sts.struct(() => { + return { + setId: sts.bigint(), + equivocation: Equivocation, + } +}) + +export const Equivocation: sts.Type = sts.closedEnum(() => { + return { + Precommit: Type_150, + Prevote: Type_144, + } +}) + +export const Type_144: sts.Type = sts.struct(() => { + return { + roundNumber: sts.bigint(), + identity: Public, + first: sts.tuple(() => [Prevote, Signature]), + second: sts.tuple(() => [Prevote, Signature]), + } +}) + +export const Signature = sts.bytes() + +export const Prevote: sts.Type = sts.struct(() => { + return { + targetHash: H256, + targetNumber: sts.number(), + } +}) + +export interface Prevote { + targetHash: H256 + targetNumber: number +} + +export interface Type_144 { + roundNumber: bigint + identity: Public + first: [Prevote, Signature] + second: [Prevote, Signature] +} + +export type Signature = Bytes + +export const Type_150: sts.Type = sts.struct(() => { + return { + roundNumber: sts.bigint(), + identity: Public, + first: sts.tuple(() => [Precommit, Signature]), + second: sts.tuple(() => [Precommit, Signature]), + } +}) + +export const Precommit: sts.Type = sts.struct(() => { + return { + targetHash: H256, + targetNumber: sts.number(), + } +}) + +export interface Precommit { + targetHash: H256 + targetNumber: number +} + +export interface Type_150 { + roundNumber: bigint + identity: Public + first: [Precommit, Signature] + second: [Precommit, Signature] +} + +export type Equivocation = Equivocation_Precommit | Equivocation_Prevote + +export interface Equivocation_Precommit { + __kind: 'Precommit' + value: Type_150 +} + +export interface Equivocation_Prevote { + __kind: 'Prevote' + value: Type_144 +} + +export interface Type_142 { + setId: bigint + equivocation: Equivocation +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type GrandpaCall = GrandpaCall_note_stalled | GrandpaCall_report_equivocation | GrandpaCall_report_equivocation_unsigned + +/** + * See [`Pallet::note_stalled`]. + */ +export interface GrandpaCall_note_stalled { + __kind: 'note_stalled' + delay: number + bestFinalizedBlockNumber: number +} + +/** + * See [`Pallet::report_equivocation`]. + */ +export interface GrandpaCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: Type_142 + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::report_equivocation_unsigned`]. + */ +export interface GrandpaCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: Type_142 + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FellowshipReferendaCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + index: sts.number(), + }), + kill: sts.enumStruct({ + index: sts.number(), + }), + nudge_referendum: sts.enumStruct({ + index: sts.number(), + }), + one_fewer_deciding: sts.enumStruct({ + track: sts.number(), + }), + place_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_submission_deposit: sts.enumStruct({ + index: sts.number(), + }), + set_metadata: sts.enumStruct({ + index: sts.number(), + maybeHash: sts.option(() => H256), + }), + submit: sts.enumStruct({ + proposalOrigin: OriginCaller, + proposal: Bounded, + enactmentMoment: DispatchTime, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FellowshipReferendaCall = FellowshipReferendaCall_cancel | FellowshipReferendaCall_kill | FellowshipReferendaCall_nudge_referendum | FellowshipReferendaCall_one_fewer_deciding | FellowshipReferendaCall_place_decision_deposit | FellowshipReferendaCall_refund_decision_deposit | FellowshipReferendaCall_refund_submission_deposit | FellowshipReferendaCall_set_metadata | FellowshipReferendaCall_submit + +/** + * See [`Pallet::cancel`]. + */ +export interface FellowshipReferendaCall_cancel { + __kind: 'cancel' + index: number +} + +/** + * See [`Pallet::kill`]. + */ +export interface FellowshipReferendaCall_kill { + __kind: 'kill' + index: number +} + +/** + * See [`Pallet::nudge_referendum`]. + */ +export interface FellowshipReferendaCall_nudge_referendum { + __kind: 'nudge_referendum' + index: number +} + +/** + * See [`Pallet::one_fewer_deciding`]. + */ +export interface FellowshipReferendaCall_one_fewer_deciding { + __kind: 'one_fewer_deciding' + track: number +} + +/** + * See [`Pallet::place_decision_deposit`]. + */ +export interface FellowshipReferendaCall_place_decision_deposit { + __kind: 'place_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_decision_deposit`]. + */ +export interface FellowshipReferendaCall_refund_decision_deposit { + __kind: 'refund_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_submission_deposit`]. + */ +export interface FellowshipReferendaCall_refund_submission_deposit { + __kind: 'refund_submission_deposit' + index: number +} + +/** + * See [`Pallet::set_metadata`]. + */ +export interface FellowshipReferendaCall_set_metadata { + __kind: 'set_metadata' + index: number + maybeHash?: (H256 | undefined) +} + +/** + * See [`Pallet::submit`]. + */ +export interface FellowshipReferendaCall_submit { + __kind: 'submit' + proposalOrigin: OriginCaller + proposal: Bounded + enactmentMoment: DispatchTime +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FellowshipCollectiveCall: sts.Type = sts.closedEnum(() => { + return { + add_member: sts.enumStruct({ + who: MultiAddress, + }), + cleanup_poll: sts.enumStruct({ + pollIndex: sts.number(), + max: sts.number(), + }), + demote_member: sts.enumStruct({ + who: MultiAddress, + }), + exchange_member: sts.enumStruct({ + who: MultiAddress, + newWho: MultiAddress, + }), + promote_member: sts.enumStruct({ + who: MultiAddress, + }), + remove_member: sts.enumStruct({ + who: MultiAddress, + minRank: sts.number(), + }), + vote: sts.enumStruct({ + poll: sts.number(), + aye: sts.boolean(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FellowshipCollectiveCall = FellowshipCollectiveCall_add_member | FellowshipCollectiveCall_cleanup_poll | FellowshipCollectiveCall_demote_member | FellowshipCollectiveCall_exchange_member | FellowshipCollectiveCall_promote_member | FellowshipCollectiveCall_remove_member | FellowshipCollectiveCall_vote + +/** + * See [`Pallet::add_member`]. + */ +export interface FellowshipCollectiveCall_add_member { + __kind: 'add_member' + who: MultiAddress +} + +/** + * See [`Pallet::cleanup_poll`]. + */ +export interface FellowshipCollectiveCall_cleanup_poll { + __kind: 'cleanup_poll' + pollIndex: number + max: number +} + +/** + * See [`Pallet::demote_member`]. + */ +export interface FellowshipCollectiveCall_demote_member { + __kind: 'demote_member' + who: MultiAddress +} + +/** + * See [`Pallet::exchange_member`]. + */ +export interface FellowshipCollectiveCall_exchange_member { + __kind: 'exchange_member' + who: MultiAddress + newWho: MultiAddress +} + +/** + * See [`Pallet::promote_member`]. + */ +export interface FellowshipCollectiveCall_promote_member { + __kind: 'promote_member' + who: MultiAddress +} + +/** + * See [`Pallet::remove_member`]. + */ +export interface FellowshipCollectiveCall_remove_member { + __kind: 'remove_member' + who: MultiAddress + minRank: number +} + +/** + * See [`Pallet::vote`]. + */ +export interface FellowshipCollectiveCall_vote { + __kind: 'vote' + poll: number + aye: boolean +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FastUnstakeCall: sts.Type = sts.closedEnum(() => { + return { + control: sts.enumStruct({ + erasToCheck: sts.number(), + }), + deregister: sts.unit(), + register_fast_unstake: sts.unit(), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FastUnstakeCall = FastUnstakeCall_control | FastUnstakeCall_deregister | FastUnstakeCall_register_fast_unstake + +/** + * See [`Pallet::control`]. + */ +export interface FastUnstakeCall_control { + __kind: 'control' + erasToCheck: number +} + +/** + * See [`Pallet::deregister`]. + */ +export interface FastUnstakeCall_deregister { + __kind: 'deregister' +} + +/** + * See [`Pallet::register_fast_unstake`]. + */ +export interface FastUnstakeCall_register_fast_unstake { + __kind: 'register_fast_unstake' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ElectionProviderMultiPhaseCall: sts.Type = sts.closedEnum(() => { + return { + governance_fallback: sts.enumStruct({ + maybeMaxVoters: sts.option(() => sts.number()), + maybeMaxTargets: sts.option(() => sts.number()), + }), + set_emergency_election_result: sts.enumStruct({ + supports: sts.array(() => sts.tuple(() => [AccountId32, Support])), + }), + set_minimum_untrusted_score: sts.enumStruct({ + maybeNextScore: sts.option(() => ElectionScore), + }), + submit: sts.enumStruct({ + rawSolution: RawSolution, + }), + submit_unsigned: sts.enumStruct({ + rawSolution: RawSolution, + witness: SolutionOrSnapshotSize, + }), + } +}) + +export const SolutionOrSnapshotSize: sts.Type = sts.struct(() => { + return { + voters: sts.number(), + targets: sts.number(), + } +}) + +export interface SolutionOrSnapshotSize { + voters: number + targets: number +} + +export const RawSolution: sts.Type = sts.struct(() => { + return { + solution: NposCompactSolution24, + score: ElectionScore, + round: sts.number(), + } +}) + +export const NposCompactSolution24: sts.Type = sts.struct(() => { + return { + votes1: sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), + votes2: sts.array(() => sts.tuple(() => [sts.number(), sts.tuple(() => [sts.number(), sts.number()]), sts.number()])), + votes3: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes4: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes5: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes6: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes7: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes8: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes9: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes10: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes11: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes12: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes13: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes14: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes15: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes16: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes17: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes18: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes19: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes20: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes21: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes22: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes23: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes24: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + } +}) + +export interface NposCompactSolution24 { + votes1: [number, number][] + votes2: [number, [number, number], number][] + votes3: [number, [number, number][], number][] + votes4: [number, [number, number][], number][] + votes5: [number, [number, number][], number][] + votes6: [number, [number, number][], number][] + votes7: [number, [number, number][], number][] + votes8: [number, [number, number][], number][] + votes9: [number, [number, number][], number][] + votes10: [number, [number, number][], number][] + votes11: [number, [number, number][], number][] + votes12: [number, [number, number][], number][] + votes13: [number, [number, number][], number][] + votes14: [number, [number, number][], number][] + votes15: [number, [number, number][], number][] + votes16: [number, [number, number][], number][] + votes17: [number, [number, number][], number][] + votes18: [number, [number, number][], number][] + votes19: [number, [number, number][], number][] + votes20: [number, [number, number][], number][] + votes21: [number, [number, number][], number][] + votes22: [number, [number, number][], number][] + votes23: [number, [number, number][], number][] + votes24: [number, [number, number][], number][] +} + +export interface RawSolution { + solution: NposCompactSolution24 + score: ElectionScore + round: number +} + +export interface ElectionScore { + minimalStake: bigint + sumStake: bigint + sumStakeSquared: bigint +} + +export const ElectionScore: sts.Type = sts.struct(() => { + return { + minimalStake: sts.bigint(), + sumStake: sts.bigint(), + sumStakeSquared: sts.bigint(), + } +}) + +export const Support: sts.Type = sts.struct(() => { + return { + total: sts.bigint(), + voters: sts.array(() => sts.tuple(() => [AccountId32, sts.bigint()])), + } +}) + +export interface Support { + total: bigint + voters: [AccountId32, bigint][] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ElectionProviderMultiPhaseCall = ElectionProviderMultiPhaseCall_governance_fallback | ElectionProviderMultiPhaseCall_set_emergency_election_result | ElectionProviderMultiPhaseCall_set_minimum_untrusted_score | ElectionProviderMultiPhaseCall_submit | ElectionProviderMultiPhaseCall_submit_unsigned + +/** + * See [`Pallet::governance_fallback`]. + */ +export interface ElectionProviderMultiPhaseCall_governance_fallback { + __kind: 'governance_fallback' + maybeMaxVoters?: (number | undefined) + maybeMaxTargets?: (number | undefined) +} + +/** + * See [`Pallet::set_emergency_election_result`]. + */ +export interface ElectionProviderMultiPhaseCall_set_emergency_election_result { + __kind: 'set_emergency_election_result' + supports: [AccountId32, Support][] +} + +/** + * See [`Pallet::set_minimum_untrusted_score`]. + */ +export interface ElectionProviderMultiPhaseCall_set_minimum_untrusted_score { + __kind: 'set_minimum_untrusted_score' + maybeNextScore?: (ElectionScore | undefined) +} + +/** + * See [`Pallet::submit`]. + */ +export interface ElectionProviderMultiPhaseCall_submit { + __kind: 'submit' + rawSolution: RawSolution +} + +/** + * See [`Pallet::submit_unsigned`]. + */ +export interface ElectionProviderMultiPhaseCall_submit_unsigned { + __kind: 'submit_unsigned' + rawSolution: RawSolution + witness: SolutionOrSnapshotSize +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const CrowdloanCall: sts.Type = sts.closedEnum(() => { + return { + add_memo: sts.enumStruct({ + index: Id, + memo: sts.bytes(), + }), + contribute: sts.enumStruct({ + index: sts.number(), + value: sts.bigint(), + signature: sts.option(() => MultiSignature), + }), + contribute_all: sts.enumStruct({ + index: sts.number(), + signature: sts.option(() => MultiSignature), + }), + create: sts.enumStruct({ + index: sts.number(), + cap: sts.bigint(), + firstPeriod: sts.number(), + lastPeriod: sts.number(), + end: sts.number(), + verifier: sts.option(() => MultiSigner), + }), + dissolve: sts.enumStruct({ + index: sts.number(), + }), + edit: sts.enumStruct({ + index: sts.number(), + cap: sts.bigint(), + firstPeriod: sts.number(), + lastPeriod: sts.number(), + end: sts.number(), + verifier: sts.option(() => MultiSigner), + }), + poke: sts.enumStruct({ + index: Id, + }), + refund: sts.enumStruct({ + index: sts.number(), + }), + withdraw: sts.enumStruct({ + who: AccountId32, + index: sts.number(), + }), + } +}) + +export const MultiSigner: sts.Type = sts.closedEnum(() => { + return { + Ecdsa: sts.bytes(), + Ed25519: sts.bytes(), + Sr25519: sts.bytes(), + } +}) + +export type MultiSigner = MultiSigner_Ecdsa | MultiSigner_Ed25519 | MultiSigner_Sr25519 + +export interface MultiSigner_Ecdsa { + __kind: 'Ecdsa' + value: Bytes +} + +export interface MultiSigner_Ed25519 { + __kind: 'Ed25519' + value: Bytes +} + +export interface MultiSigner_Sr25519 { + __kind: 'Sr25519' + value: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type CrowdloanCall = CrowdloanCall_add_memo | CrowdloanCall_contribute | CrowdloanCall_contribute_all | CrowdloanCall_create | CrowdloanCall_dissolve | CrowdloanCall_edit | CrowdloanCall_poke | CrowdloanCall_refund | CrowdloanCall_withdraw + +/** + * See [`Pallet::add_memo`]. + */ +export interface CrowdloanCall_add_memo { + __kind: 'add_memo' + index: Id + memo: Bytes +} + +/** + * See [`Pallet::contribute`]. + */ +export interface CrowdloanCall_contribute { + __kind: 'contribute' + index: number + value: bigint + signature?: (MultiSignature | undefined) +} + +/** + * See [`Pallet::contribute_all`]. + */ +export interface CrowdloanCall_contribute_all { + __kind: 'contribute_all' + index: number + signature?: (MultiSignature | undefined) +} + +/** + * See [`Pallet::create`]. + */ +export interface CrowdloanCall_create { + __kind: 'create' + index: number + cap: bigint + firstPeriod: number + lastPeriod: number + end: number + verifier?: (MultiSigner | undefined) +} + +/** + * See [`Pallet::dissolve`]. + */ +export interface CrowdloanCall_dissolve { + __kind: 'dissolve' + index: number +} + +/** + * See [`Pallet::edit`]. + */ +export interface CrowdloanCall_edit { + __kind: 'edit' + index: number + cap: bigint + firstPeriod: number + lastPeriod: number + end: number + verifier?: (MultiSigner | undefined) +} + +/** + * See [`Pallet::poke`]. + */ +export interface CrowdloanCall_poke { + __kind: 'poke' + index: Id +} + +/** + * See [`Pallet::refund`]. + */ +export interface CrowdloanCall_refund { + __kind: 'refund' + index: number +} + +/** + * See [`Pallet::withdraw`]. + */ +export interface CrowdloanCall_withdraw { + __kind: 'withdraw' + who: AccountId32 + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const CoretimeCall: sts.Type = sts.closedEnum(() => { + return { + assign_core: sts.enumStruct({ + core: sts.number(), + begin: sts.number(), + assignment: sts.array(() => sts.tuple(() => [CoreAssignment, PartsOf57600])), + endHint: sts.option(() => sts.number()), + }), + request_core_count: sts.enumStruct({ + count: sts.number(), + }), + } +}) + +export const PartsOf57600 = sts.number() + +export const CoreAssignment: sts.Type = sts.closedEnum(() => { + return { + Idle: sts.unit(), + Pool: sts.unit(), + Task: sts.number(), + } +}) + +export type CoreAssignment = CoreAssignment_Idle | CoreAssignment_Pool | CoreAssignment_Task + +export interface CoreAssignment_Idle { + __kind: 'Idle' +} + +export interface CoreAssignment_Pool { + __kind: 'Pool' +} + +export interface CoreAssignment_Task { + __kind: 'Task' + value: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type CoretimeCall = CoretimeCall_assign_core | CoretimeCall_request_core_count + +/** + * See [`Pallet::assign_core`]. + */ +export interface CoretimeCall_assign_core { + __kind: 'assign_core' + core: number + begin: number + assignment: [CoreAssignment, PartsOf57600][] + endHint?: (number | undefined) +} + +/** + * See [`Pallet::request_core_count`]. + */ +export interface CoretimeCall_request_core_count { + __kind: 'request_core_count' + count: number +} + +export type PartsOf57600 = number + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ConvictionVotingCall: sts.Type = sts.closedEnum(() => { + return { + delegate: sts.enumStruct({ + class: sts.number(), + to: MultiAddress, + conviction: Conviction, + balance: sts.bigint(), + }), + remove_other_vote: sts.enumStruct({ + target: MultiAddress, + class: sts.number(), + index: sts.number(), + }), + remove_vote: sts.enumStruct({ + class: sts.option(() => sts.number()), + index: sts.number(), + }), + undelegate: sts.enumStruct({ + class: sts.number(), + }), + unlock: sts.enumStruct({ + class: sts.number(), + target: MultiAddress, + }), + vote: sts.enumStruct({ + pollIndex: sts.number(), + vote: AccountVote, + }), + } +}) + +export const AccountVote: sts.Type = sts.closedEnum(() => { + return { + Split: sts.enumStruct({ + aye: sts.bigint(), + nay: sts.bigint(), + }), + SplitAbstain: sts.enumStruct({ + aye: sts.bigint(), + nay: sts.bigint(), + abstain: sts.bigint(), + }), + Standard: sts.enumStruct({ + vote: sts.number(), + balance: sts.bigint(), + }), + } +}) + +export type AccountVote = AccountVote_Split | AccountVote_SplitAbstain | AccountVote_Standard + +export interface AccountVote_Split { + __kind: 'Split' + aye: bigint + nay: bigint +} + +export interface AccountVote_SplitAbstain { + __kind: 'SplitAbstain' + aye: bigint + nay: bigint + abstain: bigint +} + +export interface AccountVote_Standard { + __kind: 'Standard' + vote: number + balance: bigint +} + +export const Conviction: sts.Type = sts.closedEnum(() => { + return { + Locked1x: sts.unit(), + Locked2x: sts.unit(), + Locked3x: sts.unit(), + Locked4x: sts.unit(), + Locked5x: sts.unit(), + Locked6x: sts.unit(), + None: sts.unit(), + } +}) + +export type Conviction = Conviction_Locked1x | Conviction_Locked2x | Conviction_Locked3x | Conviction_Locked4x | Conviction_Locked5x | Conviction_Locked6x | Conviction_None + +export interface Conviction_Locked1x { + __kind: 'Locked1x' +} + +export interface Conviction_Locked2x { + __kind: 'Locked2x' +} + +export interface Conviction_Locked3x { + __kind: 'Locked3x' +} + +export interface Conviction_Locked4x { + __kind: 'Locked4x' +} + +export interface Conviction_Locked5x { + __kind: 'Locked5x' +} + +export interface Conviction_Locked6x { + __kind: 'Locked6x' +} + +export interface Conviction_None { + __kind: 'None' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ConvictionVotingCall = ConvictionVotingCall_delegate | ConvictionVotingCall_remove_other_vote | ConvictionVotingCall_remove_vote | ConvictionVotingCall_undelegate | ConvictionVotingCall_unlock | ConvictionVotingCall_vote + +/** + * See [`Pallet::delegate`]. + */ +export interface ConvictionVotingCall_delegate { + __kind: 'delegate' + class: number + to: MultiAddress + conviction: Conviction + balance: bigint +} + +/** + * See [`Pallet::remove_other_vote`]. + */ +export interface ConvictionVotingCall_remove_other_vote { + __kind: 'remove_other_vote' + target: MultiAddress + class: number + index: number +} + +/** + * See [`Pallet::remove_vote`]. + */ +export interface ConvictionVotingCall_remove_vote { + __kind: 'remove_vote' + class?: (number | undefined) + index: number +} + +/** + * See [`Pallet::undelegate`]. + */ +export interface ConvictionVotingCall_undelegate { + __kind: 'undelegate' + class: number +} + +/** + * See [`Pallet::unlock`]. + */ +export interface ConvictionVotingCall_unlock { + __kind: 'unlock' + class: number + target: MultiAddress +} + +/** + * See [`Pallet::vote`]. + */ +export interface ConvictionVotingCall_vote { + __kind: 'vote' + pollIndex: number + vote: AccountVote +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ConfigurationCall: sts.Type = sts.closedEnum(() => { + return { + set_approval_voting_params: sts.enumStruct({ + new: ApprovalVotingParams, + }), + set_async_backing_params: sts.enumStruct({ + new: V6AsyncBackingParams, + }), + set_bypass_consistency_check: sts.enumStruct({ + new: sts.boolean(), + }), + set_code_retention_period: sts.enumStruct({ + new: sts.number(), + }), + set_coretime_cores: sts.enumStruct({ + new: sts.number(), + }), + set_dispute_period: sts.enumStruct({ + new: sts.number(), + }), + set_dispute_post_conclusion_acceptance_period: sts.enumStruct({ + new: sts.number(), + }), + set_executor_params: sts.enumStruct({ + new: sts.array(() => V6ExecutorParam), + }), + set_group_rotation_frequency: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_capacity: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_total_size: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_message_num_per_candidate: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_parachain_inbound_channels: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_parachain_outbound_channels: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_open_request_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_recipient_deposit: sts.enumStruct({ + new: sts.bigint(), + }), + set_hrmp_sender_deposit: sts.enumStruct({ + new: sts.bigint(), + }), + set_max_code_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_downward_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_head_data_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_pov_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_message_num_per_candidate: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_queue_count: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_queue_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_validators: sts.enumStruct({ + new: sts.option(() => sts.number()), + }), + set_max_validators_per_core: sts.enumStruct({ + new: sts.option(() => sts.number()), + }), + set_minimum_backing_votes: sts.enumStruct({ + new: sts.number(), + }), + set_minimum_validation_upgrade_delay: sts.enumStruct({ + new: sts.number(), + }), + set_n_delay_tranches: sts.enumStruct({ + new: sts.number(), + }), + set_needed_approvals: sts.enumStruct({ + new: sts.number(), + }), + set_no_show_slots: sts.enumStruct({ + new: sts.number(), + }), + set_node_feature: sts.enumStruct({ + index: sts.number(), + value: sts.boolean(), + }), + set_on_demand_base_fee: sts.enumStruct({ + new: sts.bigint(), + }), + set_on_demand_fee_variability: sts.enumStruct({ + new: Perbill, + }), + set_on_demand_queue_max_size: sts.enumStruct({ + new: sts.number(), + }), + set_on_demand_retries: sts.enumStruct({ + new: sts.number(), + }), + set_on_demand_target_queue_utilization: sts.enumStruct({ + new: Perbill, + }), + set_on_demand_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_paras_availability_period: sts.enumStruct({ + new: sts.number(), + }), + set_pvf_voting_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_relay_vrf_modulo_samples: sts.enumStruct({ + new: sts.number(), + }), + set_scheduling_lookahead: sts.enumStruct({ + new: sts.number(), + }), + set_validation_upgrade_cooldown: sts.enumStruct({ + new: sts.number(), + }), + set_validation_upgrade_delay: sts.enumStruct({ + new: sts.number(), + }), + set_zeroth_delay_tranche_width: sts.enumStruct({ + new: sts.number(), + }), + } +}) + +export const V6ExecutorParam: sts.Type = sts.closedEnum(() => { + return { + MaxMemoryPages: sts.number(), + PrecheckingMaxMemory: sts.bigint(), + PvfExecTimeout: sts.tuple(() => [V6PvfExecKind, sts.bigint()]), + PvfPrepTimeout: sts.tuple(() => [V6PvfPrepKind, sts.bigint()]), + StackLogicalMax: sts.number(), + StackNativeMax: sts.number(), + WasmExtBulkMemory: sts.unit(), + } +}) + +export const V6PvfPrepKind: sts.Type = sts.closedEnum(() => { + return { + Precheck: sts.unit(), + Prepare: sts.unit(), + } +}) + +export type V6PvfPrepKind = V6PvfPrepKind_Precheck | V6PvfPrepKind_Prepare + +export interface V6PvfPrepKind_Precheck { + __kind: 'Precheck' +} + +export interface V6PvfPrepKind_Prepare { + __kind: 'Prepare' +} + +export const V6PvfExecKind: sts.Type = sts.closedEnum(() => { + return { + Approval: sts.unit(), + Backing: sts.unit(), + } +}) + +export type V6PvfExecKind = V6PvfExecKind_Approval | V6PvfExecKind_Backing + +export interface V6PvfExecKind_Approval { + __kind: 'Approval' +} + +export interface V6PvfExecKind_Backing { + __kind: 'Backing' +} + +export type V6ExecutorParam = V6ExecutorParam_MaxMemoryPages | V6ExecutorParam_PrecheckingMaxMemory | V6ExecutorParam_PvfExecTimeout | V6ExecutorParam_PvfPrepTimeout | V6ExecutorParam_StackLogicalMax | V6ExecutorParam_StackNativeMax | V6ExecutorParam_WasmExtBulkMemory + +export interface V6ExecutorParam_MaxMemoryPages { + __kind: 'MaxMemoryPages' + value: number +} + +export interface V6ExecutorParam_PrecheckingMaxMemory { + __kind: 'PrecheckingMaxMemory' + value: bigint +} + +export interface V6ExecutorParam_PvfExecTimeout { + __kind: 'PvfExecTimeout' + value: [V6PvfExecKind, bigint] +} + +export interface V6ExecutorParam_PvfPrepTimeout { + __kind: 'PvfPrepTimeout' + value: [V6PvfPrepKind, bigint] +} + +export interface V6ExecutorParam_StackLogicalMax { + __kind: 'StackLogicalMax' + value: number +} + +export interface V6ExecutorParam_StackNativeMax { + __kind: 'StackNativeMax' + value: number +} + +export interface V6ExecutorParam_WasmExtBulkMemory { + __kind: 'WasmExtBulkMemory' +} + +export const V6AsyncBackingParams: sts.Type = sts.struct(() => { + return { + maxCandidateDepth: sts.number(), + allowedAncestryLen: sts.number(), + } +}) + +export interface V6AsyncBackingParams { + maxCandidateDepth: number + allowedAncestryLen: number +} + +export const ApprovalVotingParams: sts.Type = sts.struct(() => { + return { + maxApprovalCoalesceCount: sts.number(), + } +}) + +export interface ApprovalVotingParams { + maxApprovalCoalesceCount: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ConfigurationCall = ConfigurationCall_set_approval_voting_params | ConfigurationCall_set_async_backing_params | ConfigurationCall_set_bypass_consistency_check | ConfigurationCall_set_code_retention_period | ConfigurationCall_set_coretime_cores | ConfigurationCall_set_dispute_period | ConfigurationCall_set_dispute_post_conclusion_acceptance_period | ConfigurationCall_set_executor_params | ConfigurationCall_set_group_rotation_frequency | ConfigurationCall_set_hrmp_channel_max_capacity | ConfigurationCall_set_hrmp_channel_max_message_size | ConfigurationCall_set_hrmp_channel_max_total_size | ConfigurationCall_set_hrmp_max_message_num_per_candidate | ConfigurationCall_set_hrmp_max_parachain_inbound_channels | ConfigurationCall_set_hrmp_max_parachain_outbound_channels | ConfigurationCall_set_hrmp_open_request_ttl | ConfigurationCall_set_hrmp_recipient_deposit | ConfigurationCall_set_hrmp_sender_deposit | ConfigurationCall_set_max_code_size | ConfigurationCall_set_max_downward_message_size | ConfigurationCall_set_max_head_data_size | ConfigurationCall_set_max_pov_size | ConfigurationCall_set_max_upward_message_num_per_candidate | ConfigurationCall_set_max_upward_message_size | ConfigurationCall_set_max_upward_queue_count | ConfigurationCall_set_max_upward_queue_size | ConfigurationCall_set_max_validators | ConfigurationCall_set_max_validators_per_core | ConfigurationCall_set_minimum_backing_votes | ConfigurationCall_set_minimum_validation_upgrade_delay | ConfigurationCall_set_n_delay_tranches | ConfigurationCall_set_needed_approvals | ConfigurationCall_set_no_show_slots | ConfigurationCall_set_node_feature | ConfigurationCall_set_on_demand_base_fee | ConfigurationCall_set_on_demand_fee_variability | ConfigurationCall_set_on_demand_queue_max_size | ConfigurationCall_set_on_demand_retries | ConfigurationCall_set_on_demand_target_queue_utilization | ConfigurationCall_set_on_demand_ttl | ConfigurationCall_set_paras_availability_period | ConfigurationCall_set_pvf_voting_ttl | ConfigurationCall_set_relay_vrf_modulo_samples | ConfigurationCall_set_scheduling_lookahead | ConfigurationCall_set_validation_upgrade_cooldown | ConfigurationCall_set_validation_upgrade_delay | ConfigurationCall_set_zeroth_delay_tranche_width + +/** + * See [`Pallet::set_approval_voting_params`]. + */ +export interface ConfigurationCall_set_approval_voting_params { + __kind: 'set_approval_voting_params' + new: ApprovalVotingParams +} + +/** + * See [`Pallet::set_async_backing_params`]. + */ +export interface ConfigurationCall_set_async_backing_params { + __kind: 'set_async_backing_params' + new: V6AsyncBackingParams +} + +/** + * See [`Pallet::set_bypass_consistency_check`]. + */ +export interface ConfigurationCall_set_bypass_consistency_check { + __kind: 'set_bypass_consistency_check' + new: boolean +} + +/** + * See [`Pallet::set_code_retention_period`]. + */ +export interface ConfigurationCall_set_code_retention_period { + __kind: 'set_code_retention_period' + new: number +} + +/** + * See [`Pallet::set_coretime_cores`]. + */ +export interface ConfigurationCall_set_coretime_cores { + __kind: 'set_coretime_cores' + new: number +} + +/** + * See [`Pallet::set_dispute_period`]. + */ +export interface ConfigurationCall_set_dispute_period { + __kind: 'set_dispute_period' + new: number +} + +/** + * See [`Pallet::set_dispute_post_conclusion_acceptance_period`]. + */ +export interface ConfigurationCall_set_dispute_post_conclusion_acceptance_period { + __kind: 'set_dispute_post_conclusion_acceptance_period' + new: number +} + +/** + * See [`Pallet::set_executor_params`]. + */ +export interface ConfigurationCall_set_executor_params { + __kind: 'set_executor_params' + new: V6ExecutorParam[] +} + +/** + * See [`Pallet::set_group_rotation_frequency`]. + */ +export interface ConfigurationCall_set_group_rotation_frequency { + __kind: 'set_group_rotation_frequency' + new: number +} + +/** + * See [`Pallet::set_hrmp_channel_max_capacity`]. + */ +export interface ConfigurationCall_set_hrmp_channel_max_capacity { + __kind: 'set_hrmp_channel_max_capacity' + new: number +} + +/** + * See [`Pallet::set_hrmp_channel_max_message_size`]. + */ +export interface ConfigurationCall_set_hrmp_channel_max_message_size { + __kind: 'set_hrmp_channel_max_message_size' + new: number +} + +/** + * See [`Pallet::set_hrmp_channel_max_total_size`]. + */ +export interface ConfigurationCall_set_hrmp_channel_max_total_size { + __kind: 'set_hrmp_channel_max_total_size' + new: number +} + +/** + * See [`Pallet::set_hrmp_max_message_num_per_candidate`]. + */ +export interface ConfigurationCall_set_hrmp_max_message_num_per_candidate { + __kind: 'set_hrmp_max_message_num_per_candidate' + new: number +} + +/** + * See [`Pallet::set_hrmp_max_parachain_inbound_channels`]. + */ +export interface ConfigurationCall_set_hrmp_max_parachain_inbound_channels { + __kind: 'set_hrmp_max_parachain_inbound_channels' + new: number +} + +/** + * See [`Pallet::set_hrmp_max_parachain_outbound_channels`]. + */ +export interface ConfigurationCall_set_hrmp_max_parachain_outbound_channels { + __kind: 'set_hrmp_max_parachain_outbound_channels' + new: number +} + +/** + * See [`Pallet::set_hrmp_open_request_ttl`]. + */ +export interface ConfigurationCall_set_hrmp_open_request_ttl { + __kind: 'set_hrmp_open_request_ttl' + new: number +} + +/** + * See [`Pallet::set_hrmp_recipient_deposit`]. + */ +export interface ConfigurationCall_set_hrmp_recipient_deposit { + __kind: 'set_hrmp_recipient_deposit' + new: bigint +} + +/** + * See [`Pallet::set_hrmp_sender_deposit`]. + */ +export interface ConfigurationCall_set_hrmp_sender_deposit { + __kind: 'set_hrmp_sender_deposit' + new: bigint +} + +/** + * See [`Pallet::set_max_code_size`]. + */ +export interface ConfigurationCall_set_max_code_size { + __kind: 'set_max_code_size' + new: number +} + +/** + * See [`Pallet::set_max_downward_message_size`]. + */ +export interface ConfigurationCall_set_max_downward_message_size { + __kind: 'set_max_downward_message_size' + new: number +} + +/** + * See [`Pallet::set_max_head_data_size`]. + */ +export interface ConfigurationCall_set_max_head_data_size { + __kind: 'set_max_head_data_size' + new: number +} + +/** + * See [`Pallet::set_max_pov_size`]. + */ +export interface ConfigurationCall_set_max_pov_size { + __kind: 'set_max_pov_size' + new: number +} + +/** + * See [`Pallet::set_max_upward_message_num_per_candidate`]. + */ +export interface ConfigurationCall_set_max_upward_message_num_per_candidate { + __kind: 'set_max_upward_message_num_per_candidate' + new: number +} + +/** + * See [`Pallet::set_max_upward_message_size`]. + */ +export interface ConfigurationCall_set_max_upward_message_size { + __kind: 'set_max_upward_message_size' + new: number +} + +/** + * See [`Pallet::set_max_upward_queue_count`]. + */ +export interface ConfigurationCall_set_max_upward_queue_count { + __kind: 'set_max_upward_queue_count' + new: number +} + +/** + * See [`Pallet::set_max_upward_queue_size`]. + */ +export interface ConfigurationCall_set_max_upward_queue_size { + __kind: 'set_max_upward_queue_size' + new: number +} + +/** + * See [`Pallet::set_max_validators`]. + */ +export interface ConfigurationCall_set_max_validators { + __kind: 'set_max_validators' + new?: (number | undefined) +} + +/** + * See [`Pallet::set_max_validators_per_core`]. + */ +export interface ConfigurationCall_set_max_validators_per_core { + __kind: 'set_max_validators_per_core' + new?: (number | undefined) +} + +/** + * See [`Pallet::set_minimum_backing_votes`]. + */ +export interface ConfigurationCall_set_minimum_backing_votes { + __kind: 'set_minimum_backing_votes' + new: number +} + +/** + * See [`Pallet::set_minimum_validation_upgrade_delay`]. + */ +export interface ConfigurationCall_set_minimum_validation_upgrade_delay { + __kind: 'set_minimum_validation_upgrade_delay' + new: number +} + +/** + * See [`Pallet::set_n_delay_tranches`]. + */ +export interface ConfigurationCall_set_n_delay_tranches { + __kind: 'set_n_delay_tranches' + new: number +} + +/** + * See [`Pallet::set_needed_approvals`]. + */ +export interface ConfigurationCall_set_needed_approvals { + __kind: 'set_needed_approvals' + new: number +} + +/** + * See [`Pallet::set_no_show_slots`]. + */ +export interface ConfigurationCall_set_no_show_slots { + __kind: 'set_no_show_slots' + new: number +} + +/** + * See [`Pallet::set_node_feature`]. + */ +export interface ConfigurationCall_set_node_feature { + __kind: 'set_node_feature' + index: number + value: boolean +} + +/** + * See [`Pallet::set_on_demand_base_fee`]. + */ +export interface ConfigurationCall_set_on_demand_base_fee { + __kind: 'set_on_demand_base_fee' + new: bigint +} + +/** + * See [`Pallet::set_on_demand_fee_variability`]. + */ +export interface ConfigurationCall_set_on_demand_fee_variability { + __kind: 'set_on_demand_fee_variability' + new: Perbill +} + +/** + * See [`Pallet::set_on_demand_queue_max_size`]. + */ +export interface ConfigurationCall_set_on_demand_queue_max_size { + __kind: 'set_on_demand_queue_max_size' + new: number +} + +/** + * See [`Pallet::set_on_demand_retries`]. + */ +export interface ConfigurationCall_set_on_demand_retries { + __kind: 'set_on_demand_retries' + new: number +} + +/** + * See [`Pallet::set_on_demand_target_queue_utilization`]. + */ +export interface ConfigurationCall_set_on_demand_target_queue_utilization { + __kind: 'set_on_demand_target_queue_utilization' + new: Perbill +} + +/** + * See [`Pallet::set_on_demand_ttl`]. + */ +export interface ConfigurationCall_set_on_demand_ttl { + __kind: 'set_on_demand_ttl' + new: number +} + +/** + * See [`Pallet::set_paras_availability_period`]. + */ +export interface ConfigurationCall_set_paras_availability_period { + __kind: 'set_paras_availability_period' + new: number +} + +/** + * See [`Pallet::set_pvf_voting_ttl`]. + */ +export interface ConfigurationCall_set_pvf_voting_ttl { + __kind: 'set_pvf_voting_ttl' + new: number +} + +/** + * See [`Pallet::set_relay_vrf_modulo_samples`]. + */ +export interface ConfigurationCall_set_relay_vrf_modulo_samples { + __kind: 'set_relay_vrf_modulo_samples' + new: number +} + +/** + * See [`Pallet::set_scheduling_lookahead`]. + */ +export interface ConfigurationCall_set_scheduling_lookahead { + __kind: 'set_scheduling_lookahead' + new: number +} + +/** + * See [`Pallet::set_validation_upgrade_cooldown`]. + */ +export interface ConfigurationCall_set_validation_upgrade_cooldown { + __kind: 'set_validation_upgrade_cooldown' + new: number +} + +/** + * See [`Pallet::set_validation_upgrade_delay`]. + */ +export interface ConfigurationCall_set_validation_upgrade_delay { + __kind: 'set_validation_upgrade_delay' + new: number +} + +/** + * See [`Pallet::set_zeroth_delay_tranche_width`]. + */ +export interface ConfigurationCall_set_zeroth_delay_tranche_width { + __kind: 'set_zeroth_delay_tranche_width' + new: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ClaimsCall: sts.Type = sts.closedEnum(() => { + return { + attest: sts.enumStruct({ + statement: sts.bytes(), + }), + claim: sts.enumStruct({ + dest: AccountId32, + ethereumSignature: EcdsaSignature, + }), + claim_attest: sts.enumStruct({ + dest: AccountId32, + ethereumSignature: EcdsaSignature, + statement: sts.bytes(), + }), + mint_claim: sts.enumStruct({ + who: EthereumAddress, + value: sts.bigint(), + vestingSchedule: sts.option(() => sts.tuple(() => [sts.bigint(), sts.bigint(), sts.number()])), + statement: sts.option(() => StatementKind), + }), + move_claim: sts.enumStruct({ + old: EthereumAddress, + new: EthereumAddress, + maybePreclaim: sts.option(() => AccountId32), + }), + } +}) + +export const StatementKind: sts.Type = sts.closedEnum(() => { + return { + Regular: sts.unit(), + Saft: sts.unit(), + } +}) + +export type StatementKind = StatementKind_Regular | StatementKind_Saft + +export interface StatementKind_Regular { + __kind: 'Regular' +} + +export interface StatementKind_Saft { + __kind: 'Saft' +} + +export const EthereumAddress = sts.bytes() + +export const EcdsaSignature = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ClaimsCall = ClaimsCall_attest | ClaimsCall_claim | ClaimsCall_claim_attest | ClaimsCall_mint_claim | ClaimsCall_move_claim + +/** + * See [`Pallet::attest`]. + */ +export interface ClaimsCall_attest { + __kind: 'attest' + statement: Bytes +} + +/** + * See [`Pallet::claim`]. + */ +export interface ClaimsCall_claim { + __kind: 'claim' + dest: AccountId32 + ethereumSignature: EcdsaSignature +} + +/** + * See [`Pallet::claim_attest`]. + */ +export interface ClaimsCall_claim_attest { + __kind: 'claim_attest' + dest: AccountId32 + ethereumSignature: EcdsaSignature + statement: Bytes +} + +/** + * See [`Pallet::mint_claim`]. + */ +export interface ClaimsCall_mint_claim { + __kind: 'mint_claim' + who: EthereumAddress + value: bigint + vestingSchedule?: ([bigint, bigint, number] | undefined) + statement?: (StatementKind | undefined) +} + +/** + * See [`Pallet::move_claim`]. + */ +export interface ClaimsCall_move_claim { + __kind: 'move_claim' + old: EthereumAddress + new: EthereumAddress + maybePreclaim?: (AccountId32 | undefined) +} + +export type EthereumAddress = Bytes + +export type EcdsaSignature = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ChildBountiesCall: sts.Type = sts.closedEnum(() => { + return { + accept_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + add_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + value: sts.bigint(), + description: sts.bytes(), + }), + award_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + beneficiary: MultiAddress, + }), + claim_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + close_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + propose_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + curator: MultiAddress, + fee: sts.bigint(), + }), + unassign_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ChildBountiesCall = ChildBountiesCall_accept_curator | ChildBountiesCall_add_child_bounty | ChildBountiesCall_award_child_bounty | ChildBountiesCall_claim_child_bounty | ChildBountiesCall_close_child_bounty | ChildBountiesCall_propose_curator | ChildBountiesCall_unassign_curator + +/** + * See [`Pallet::accept_curator`]. + */ +export interface ChildBountiesCall_accept_curator { + __kind: 'accept_curator' + parentBountyId: number + childBountyId: number +} + +/** + * See [`Pallet::add_child_bounty`]. + */ +export interface ChildBountiesCall_add_child_bounty { + __kind: 'add_child_bounty' + parentBountyId: number + value: bigint + description: Bytes +} + +/** + * See [`Pallet::award_child_bounty`]. + */ +export interface ChildBountiesCall_award_child_bounty { + __kind: 'award_child_bounty' + parentBountyId: number + childBountyId: number + beneficiary: MultiAddress +} + +/** + * See [`Pallet::claim_child_bounty`]. + */ +export interface ChildBountiesCall_claim_child_bounty { + __kind: 'claim_child_bounty' + parentBountyId: number + childBountyId: number +} + +/** + * See [`Pallet::close_child_bounty`]. + */ +export interface ChildBountiesCall_close_child_bounty { + __kind: 'close_child_bounty' + parentBountyId: number + childBountyId: number +} + +/** + * See [`Pallet::propose_curator`]. + */ +export interface ChildBountiesCall_propose_curator { + __kind: 'propose_curator' + parentBountyId: number + childBountyId: number + curator: MultiAddress + fee: bigint +} + +/** + * See [`Pallet::unassign_curator`]. + */ +export interface ChildBountiesCall_unassign_curator { + __kind: 'unassign_curator' + parentBountyId: number + childBountyId: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BountiesCall: sts.Type = sts.closedEnum(() => { + return { + accept_curator: sts.enumStruct({ + bountyId: sts.number(), + }), + approve_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + award_bounty: sts.enumStruct({ + bountyId: sts.number(), + beneficiary: MultiAddress, + }), + claim_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + close_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + extend_bounty_expiry: sts.enumStruct({ + bountyId: sts.number(), + remark: sts.bytes(), + }), + propose_bounty: sts.enumStruct({ + value: sts.bigint(), + description: sts.bytes(), + }), + propose_curator: sts.enumStruct({ + bountyId: sts.number(), + curator: MultiAddress, + fee: sts.bigint(), + }), + unassign_curator: sts.enumStruct({ + bountyId: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BountiesCall = BountiesCall_accept_curator | BountiesCall_approve_bounty | BountiesCall_award_bounty | BountiesCall_claim_bounty | BountiesCall_close_bounty | BountiesCall_extend_bounty_expiry | BountiesCall_propose_bounty | BountiesCall_propose_curator | BountiesCall_unassign_curator + +/** + * See [`Pallet::accept_curator`]. + */ +export interface BountiesCall_accept_curator { + __kind: 'accept_curator' + bountyId: number +} + +/** + * See [`Pallet::approve_bounty`]. + */ +export interface BountiesCall_approve_bounty { + __kind: 'approve_bounty' + bountyId: number +} + +/** + * See [`Pallet::award_bounty`]. + */ +export interface BountiesCall_award_bounty { + __kind: 'award_bounty' + bountyId: number + beneficiary: MultiAddress +} + +/** + * See [`Pallet::claim_bounty`]. + */ +export interface BountiesCall_claim_bounty { + __kind: 'claim_bounty' + bountyId: number +} + +/** + * See [`Pallet::close_bounty`]. + */ +export interface BountiesCall_close_bounty { + __kind: 'close_bounty' + bountyId: number +} + +/** + * See [`Pallet::extend_bounty_expiry`]. + */ +export interface BountiesCall_extend_bounty_expiry { + __kind: 'extend_bounty_expiry' + bountyId: number + remark: Bytes +} + +/** + * See [`Pallet::propose_bounty`]. + */ +export interface BountiesCall_propose_bounty { + __kind: 'propose_bounty' + value: bigint + description: Bytes +} + +/** + * See [`Pallet::propose_curator`]. + */ +export interface BountiesCall_propose_curator { + __kind: 'propose_curator' + bountyId: number + curator: MultiAddress + fee: bigint +} + +/** + * See [`Pallet::unassign_curator`]. + */ +export interface BountiesCall_unassign_curator { + __kind: 'unassign_curator' + bountyId: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BeefyCall: sts.Type = sts.closedEnum(() => { + return { + report_equivocation: sts.enumStruct({ + equivocationProof: Type_499, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: Type_499, + keyOwnerProof: MembershipProof, + }), + set_new_genesis: sts.enumStruct({ + delayInBlocks: sts.number(), + }), + } +}) + +export const Type_499: sts.Type = sts.struct(() => { + return { + first: VoteMessage, + second: VoteMessage, + } +}) + +export const VoteMessage: sts.Type = sts.struct(() => { + return { + commitment: Commitment, + id: sts.bytes(), + signature: sts.bytes(), + } +}) + +export const Commitment: sts.Type = sts.struct(() => { + return { + payload: sts.array(() => sts.tuple(() => [sts.bytes(), sts.bytes()])), + blockNumber: sts.number(), + validatorSetId: sts.bigint(), + } +}) + +export interface Commitment { + payload: [Bytes, Bytes][] + blockNumber: number + validatorSetId: bigint +} + +export interface VoteMessage { + commitment: Commitment + id: Bytes + signature: Bytes +} + +export interface Type_499 { + first: VoteMessage + second: VoteMessage +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BeefyCall = BeefyCall_report_equivocation | BeefyCall_report_equivocation_unsigned | BeefyCall_set_new_genesis + +/** + * See [`Pallet::report_equivocation`]. + */ +export interface BeefyCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: Type_499 + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::report_equivocation_unsigned`]. + */ +export interface BeefyCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: Type_499 + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::set_new_genesis`]. + */ +export interface BeefyCall_set_new_genesis { + __kind: 'set_new_genesis' + delayInBlocks: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BalancesCall: sts.Type = sts.closedEnum(() => { + return { + force_adjust_total_issuance: sts.enumStruct({ + direction: AdjustmentDirection, + delta: sts.bigint(), + }), + force_set_balance: sts.enumStruct({ + who: MultiAddress, + newFree: sts.bigint(), + }), + force_transfer: sts.enumStruct({ + source: MultiAddress, + dest: MultiAddress, + value: sts.bigint(), + }), + force_unreserve: sts.enumStruct({ + who: MultiAddress, + amount: sts.bigint(), + }), + transfer_all: sts.enumStruct({ + dest: MultiAddress, + keepAlive: sts.boolean(), + }), + transfer_allow_death: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + transfer_keep_alive: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + upgrade_accounts: sts.enumStruct({ + who: sts.array(() => AccountId32), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BalancesCall = BalancesCall_force_adjust_total_issuance | BalancesCall_force_set_balance | BalancesCall_force_transfer | BalancesCall_force_unreserve | BalancesCall_transfer_all | BalancesCall_transfer_allow_death | BalancesCall_transfer_keep_alive | BalancesCall_upgrade_accounts + +/** + * See [`Pallet::force_adjust_total_issuance`]. + */ +export interface BalancesCall_force_adjust_total_issuance { + __kind: 'force_adjust_total_issuance' + direction: AdjustmentDirection + delta: bigint +} + +/** + * See [`Pallet::force_set_balance`]. + */ +export interface BalancesCall_force_set_balance { + __kind: 'force_set_balance' + who: MultiAddress + newFree: bigint +} + +/** + * See [`Pallet::force_transfer`]. + */ +export interface BalancesCall_force_transfer { + __kind: 'force_transfer' + source: MultiAddress + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::force_unreserve`]. + */ +export interface BalancesCall_force_unreserve { + __kind: 'force_unreserve' + who: MultiAddress + amount: bigint +} + +/** + * See [`Pallet::transfer_all`]. + */ +export interface BalancesCall_transfer_all { + __kind: 'transfer_all' + dest: MultiAddress + keepAlive: boolean +} + +/** + * See [`Pallet::transfer_allow_death`]. + */ +export interface BalancesCall_transfer_allow_death { + __kind: 'transfer_allow_death' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::transfer_keep_alive`]. + */ +export interface BalancesCall_transfer_keep_alive { + __kind: 'transfer_keep_alive' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::upgrade_accounts`]. + */ +export interface BalancesCall_upgrade_accounts { + __kind: 'upgrade_accounts' + who: AccountId32[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BabeCall: sts.Type = sts.closedEnum(() => { + return { + plan_config_change: sts.enumStruct({ + config: NextConfigDescriptor, + }), + report_equivocation: sts.enumStruct({ + equivocationProof: EquivocationProof, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: EquivocationProof, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const EquivocationProof: sts.Type = sts.struct(() => { + return { + offender: sts.bytes(), + slot: Slot, + firstHeader: Header, + secondHeader: Header, + } +}) + +export const Slot = sts.bigint() + +export interface EquivocationProof { + offender: Bytes + slot: Slot + firstHeader: Header + secondHeader: Header +} + +export type Slot = bigint + +export const NextConfigDescriptor: sts.Type = sts.closedEnum(() => { + return { + V1: sts.enumStruct({ + c: sts.tuple(() => [sts.bigint(), sts.bigint()]), + allowedSlots: AllowedSlots, + }), + } +}) + +export const AllowedSlots: sts.Type = sts.closedEnum(() => { + return { + PrimaryAndSecondaryPlainSlots: sts.unit(), + PrimaryAndSecondaryVRFSlots: sts.unit(), + PrimarySlots: sts.unit(), + } +}) + +export type AllowedSlots = AllowedSlots_PrimaryAndSecondaryPlainSlots | AllowedSlots_PrimaryAndSecondaryVRFSlots | AllowedSlots_PrimarySlots + +export interface AllowedSlots_PrimaryAndSecondaryPlainSlots { + __kind: 'PrimaryAndSecondaryPlainSlots' +} + +export interface AllowedSlots_PrimaryAndSecondaryVRFSlots { + __kind: 'PrimaryAndSecondaryVRFSlots' +} + +export interface AllowedSlots_PrimarySlots { + __kind: 'PrimarySlots' +} + +export type NextConfigDescriptor = NextConfigDescriptor_V1 + +export interface NextConfigDescriptor_V1 { + __kind: 'V1' + c: [bigint, bigint] + allowedSlots: AllowedSlots +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BabeCall = BabeCall_plan_config_change | BabeCall_report_equivocation | BabeCall_report_equivocation_unsigned + +/** + * See [`Pallet::plan_config_change`]. + */ +export interface BabeCall_plan_config_change { + __kind: 'plan_config_change' + config: NextConfigDescriptor +} + +/** + * See [`Pallet::report_equivocation`]. + */ +export interface BabeCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: EquivocationProof + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::report_equivocation_unsigned`]. + */ +export interface BabeCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: EquivocationProof + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const AuctionsCall: sts.Type = sts.closedEnum(() => { + return { + bid: sts.enumStruct({ + para: sts.number(), + auctionIndex: sts.number(), + firstSlot: sts.number(), + lastSlot: sts.number(), + amount: sts.bigint(), + }), + cancel_auction: sts.unit(), + new_auction: sts.enumStruct({ + duration: sts.number(), + leasePeriodIndex: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type AuctionsCall = AuctionsCall_bid | AuctionsCall_cancel_auction | AuctionsCall_new_auction + +/** + * See [`Pallet::bid`]. + */ +export interface AuctionsCall_bid { + __kind: 'bid' + para: number + auctionIndex: number + firstSlot: number + lastSlot: number + amount: bigint +} + +/** + * See [`Pallet::cancel_auction`]. + */ +export interface AuctionsCall_cancel_auction { + __kind: 'cancel_auction' +} + +/** + * See [`Pallet::new_auction`]. + */ +export interface AuctionsCall_new_auction { + __kind: 'new_auction' + duration: number + leasePeriodIndex: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const AssetRateCall: sts.Type = sts.closedEnum(() => { + return { + create: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + rate: FixedU128, + }), + remove: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + }), + update: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + rate: FixedU128, + }), + } +}) + +export const FixedU128 = sts.bigint() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type AssetRateCall = AssetRateCall_create | AssetRateCall_remove | AssetRateCall_update + +/** + * See [`Pallet::create`]. + */ +export interface AssetRateCall_create { + __kind: 'create' + assetKind: VersionedLocatableAsset + rate: FixedU128 +} + +/** + * See [`Pallet::remove`]. + */ +export interface AssetRateCall_remove { + __kind: 'remove' + assetKind: VersionedLocatableAsset +} + +/** + * See [`Pallet::update`]. + */ +export interface AssetRateCall_update { + __kind: 'update' + assetKind: VersionedLocatableAsset + rate: FixedU128 +} + +export type FixedU128 = bigint + +export type Call = Call_AssetRate | Call_Auctions | Call_Babe | Call_Balances | Call_Beefy | Call_Bounties | Call_ChildBounties | Call_Claims | Call_Configuration | Call_ConvictionVoting | Call_Coretime | Call_Crowdloan | Call_ElectionProviderMultiPhase | Call_FastUnstake | Call_FellowshipCollective | Call_FellowshipReferenda | Call_Grandpa | Call_Hrmp | Call_Identity | Call_IdentityMigrator | Call_Indices | Call_Initializer | Call_MessageQueue | Call_Multisig | Call_Nis | Call_NisCounterpartBalances | Call_NominationPools | Call_OnDemandAssignmentProvider | Call_ParaInclusion | Call_ParaInherent | Call_Paras | Call_ParasDisputes | Call_ParasShared | Call_ParasSlashing | Call_Preimage | Call_Proxy | Call_Recovery | Call_Referenda | Call_Registrar | Call_Scheduler | Call_Session | Call_Slots | Call_Society | Call_Staking | Call_System | Call_Timestamp | Call_Treasury | Call_Utility | Call_Vesting | Call_VoterList | Call_Whitelist | Call_XcmPallet + +export interface Call_AssetRate { + __kind: 'AssetRate' + value: AssetRateCall +} + +export interface Call_Auctions { + __kind: 'Auctions' + value: AuctionsCall +} + +export interface Call_Babe { + __kind: 'Babe' + value: BabeCall +} + +export interface Call_Balances { + __kind: 'Balances' + value: BalancesCall +} + +export interface Call_Beefy { + __kind: 'Beefy' + value: BeefyCall +} + +export interface Call_Bounties { + __kind: 'Bounties' + value: BountiesCall +} + +export interface Call_ChildBounties { + __kind: 'ChildBounties' + value: ChildBountiesCall +} + +export interface Call_Claims { + __kind: 'Claims' + value: ClaimsCall +} + +export interface Call_Configuration { + __kind: 'Configuration' + value: ConfigurationCall +} + +export interface Call_ConvictionVoting { + __kind: 'ConvictionVoting' + value: ConvictionVotingCall +} + +export interface Call_Coretime { + __kind: 'Coretime' + value: CoretimeCall +} + +export interface Call_Crowdloan { + __kind: 'Crowdloan' + value: CrowdloanCall +} + +export interface Call_ElectionProviderMultiPhase { + __kind: 'ElectionProviderMultiPhase' + value: ElectionProviderMultiPhaseCall +} + +export interface Call_FastUnstake { + __kind: 'FastUnstake' + value: FastUnstakeCall +} + +export interface Call_FellowshipCollective { + __kind: 'FellowshipCollective' + value: FellowshipCollectiveCall +} + +export interface Call_FellowshipReferenda { + __kind: 'FellowshipReferenda' + value: FellowshipReferendaCall +} + +export interface Call_Grandpa { + __kind: 'Grandpa' + value: GrandpaCall +} + +export interface Call_Hrmp { + __kind: 'Hrmp' + value: HrmpCall +} + +export interface Call_Identity { + __kind: 'Identity' + value: IdentityCall +} + +export interface Call_IdentityMigrator { + __kind: 'IdentityMigrator' + value: IdentityMigratorCall +} + +export interface Call_Indices { + __kind: 'Indices' + value: IndicesCall +} + +export interface Call_Initializer { + __kind: 'Initializer' + value: InitializerCall +} + +export interface Call_MessageQueue { + __kind: 'MessageQueue' + value: MessageQueueCall +} + +export interface Call_Multisig { + __kind: 'Multisig' + value: MultisigCall +} + +export interface Call_Nis { + __kind: 'Nis' + value: NisCall +} + +export interface Call_NisCounterpartBalances { + __kind: 'NisCounterpartBalances' + value: NisCounterpartBalancesCall +} + +export interface Call_NominationPools { + __kind: 'NominationPools' + value: NominationPoolsCall +} + +export interface Call_OnDemandAssignmentProvider { + __kind: 'OnDemandAssignmentProvider' + value: OnDemandAssignmentProviderCall +} + +export interface Call_ParaInclusion { + __kind: 'ParaInclusion' + value: ParaInclusionCall +} + +export interface Call_ParaInherent { + __kind: 'ParaInherent' + value: ParaInherentCall +} + +export interface Call_Paras { + __kind: 'Paras' + value: ParasCall +} + +export interface Call_ParasDisputes { + __kind: 'ParasDisputes' + value: ParasDisputesCall +} + +export interface Call_ParasShared { + __kind: 'ParasShared' + value: ParasSharedCall +} + +export interface Call_ParasSlashing { + __kind: 'ParasSlashing' + value: ParasSlashingCall +} + +export interface Call_Preimage { + __kind: 'Preimage' + value: PreimageCall +} + +export interface Call_Proxy { + __kind: 'Proxy' + value: ProxyCall +} + +export interface Call_Recovery { + __kind: 'Recovery' + value: RecoveryCall +} + +export interface Call_Referenda { + __kind: 'Referenda' + value: ReferendaCall +} + +export interface Call_Registrar { + __kind: 'Registrar' + value: RegistrarCall +} + +export interface Call_Scheduler { + __kind: 'Scheduler' + value: SchedulerCall +} + +export interface Call_Session { + __kind: 'Session' + value: SessionCall +} + +export interface Call_Slots { + __kind: 'Slots' + value: SlotsCall +} + +export interface Call_Society { + __kind: 'Society' + value: SocietyCall +} + +export interface Call_Staking { + __kind: 'Staking' + value: StakingCall +} + +export interface Call_System { + __kind: 'System' + value: SystemCall +} + +export interface Call_Timestamp { + __kind: 'Timestamp' + value: TimestampCall +} + +export interface Call_Treasury { + __kind: 'Treasury' + value: TreasuryCall +} + +export interface Call_Utility { + __kind: 'Utility' + value: UtilityCall +} + +export interface Call_Vesting { + __kind: 'Vesting' + value: VestingCall +} + +export interface Call_VoterList { + __kind: 'VoterList' + value: VoterListCall +} + +export interface Call_Whitelist { + __kind: 'Whitelist' + value: WhitelistCall +} + +export interface Call_XcmPallet { + __kind: 'XcmPallet' + value: XcmPalletCall +} + +export const ProxyType: sts.Type = sts.closedEnum(() => { + return { + Any: sts.unit(), + Auction: sts.unit(), + CancelProxy: sts.unit(), + Governance: sts.unit(), + IdentityJudgement: sts.unit(), + NominationPools: sts.unit(), + NonTransfer: sts.unit(), + Society: sts.unit(), + Staking: sts.unit(), + } +}) + +export const MultiAddress: sts.Type = sts.closedEnum(() => { + return { + Address20: sts.bytes(), + Address32: sts.bytes(), + Id: AccountId32, + Index: sts.unit(), + Raw: sts.bytes(), + } +}) diff --git a/squid/src/types/v1002006.ts b/squid/src/types/v1002006.ts new file mode 100644 index 00000000..3659f1cc --- /dev/null +++ b/squid/src/types/v1002006.ts @@ -0,0 +1,11634 @@ +import {sts, Result, Option, Bytes, BitSequence} from './support' + +export const Weight: sts.Type = sts.struct(() => { + return { + refTime: sts.bigint(), + proofSize: sts.bigint(), + } +}) + +export interface Weight { + refTime: bigint + proofSize: bigint +} + +export const Timepoint: sts.Type = sts.struct(() => { + return { + height: sts.number(), + index: sts.number(), + } +}) + +export interface Timepoint { + height: number + index: number +} + +export const Call: sts.Type = sts.closedEnum(() => { + return { + AssetRate: AssetRateCall, + Auctions: AuctionsCall, + Babe: BabeCall, + Balances: BalancesCall, + Beefy: BeefyCall, + Bounties: BountiesCall, + ChildBounties: ChildBountiesCall, + Claims: ClaimsCall, + Configuration: ConfigurationCall, + ConvictionVoting: ConvictionVotingCall, + Coretime: CoretimeCall, + Crowdloan: CrowdloanCall, + ElectionProviderMultiPhase: ElectionProviderMultiPhaseCall, + FastUnstake: FastUnstakeCall, + FellowshipCollective: FellowshipCollectiveCall, + FellowshipReferenda: FellowshipReferendaCall, + Grandpa: GrandpaCall, + Hrmp: HrmpCall, + Indices: IndicesCall, + Initializer: InitializerCall, + MessageQueue: MessageQueueCall, + Multisig: MultisigCall, + Nis: NisCall, + NisCounterpartBalances: NisCounterpartBalancesCall, + NominationPools: NominationPoolsCall, + OnDemandAssignmentProvider: OnDemandAssignmentProviderCall, + ParaInclusion: ParaInclusionCall, + ParaInherent: ParaInherentCall, + Paras: ParasCall, + ParasDisputes: ParasDisputesCall, + ParasShared: ParasSharedCall, + ParasSlashing: ParasSlashingCall, + Preimage: PreimageCall, + Proxy: ProxyCall, + Recovery: RecoveryCall, + Referenda: ReferendaCall, + Registrar: RegistrarCall, + Scheduler: SchedulerCall, + Session: SessionCall, + Slots: SlotsCall, + Society: SocietyCall, + Staking: StakingCall, + System: SystemCall, + Timestamp: TimestampCall, + Treasury: TreasuryCall, + Utility: UtilityCall, + Vesting: VestingCall, + VoterList: VoterListCall, + Whitelist: WhitelistCall, + XcmPallet: XcmPalletCall, + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const XcmPalletCall: sts.Type = sts.closedEnum(() => { + return { + claim_assets: sts.enumStruct({ + assets: VersionedAssets, + beneficiary: VersionedLocation, + }), + execute: sts.enumStruct({ + message: Type_441, + maxWeight: Weight, + }), + force_default_xcm_version: sts.enumStruct({ + maybeXcmVersion: sts.option(() => sts.number()), + }), + force_subscribe_version_notify: sts.enumStruct({ + location: VersionedLocation, + }), + force_suspension: sts.enumStruct({ + suspended: sts.boolean(), + }), + force_unsubscribe_version_notify: sts.enumStruct({ + location: VersionedLocation, + }), + force_xcm_version: sts.enumStruct({ + location: V4Location, + version: sts.number(), + }), + limited_reserve_transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + limited_teleport_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + reserve_transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + }), + send: sts.enumStruct({ + dest: VersionedLocation, + message: VersionedXcm, + }), + teleport_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + }), + transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + transfer_assets_using_type_and_then: sts.enumStruct({ + dest: VersionedLocation, + assets: VersionedAssets, + assetsTransferType: TransferType, + remoteFeesId: VersionedAssetId, + feesTransferType: TransferType, + customXcmOnDest: VersionedXcm, + weightLimit: V3WeightLimit, + }), + } +}) + +export const VersionedAssetId: sts.Type = sts.closedEnum(() => { + return { + V3: V3AssetId, + V4: V4AssetId, + } +}) + +export const V4AssetId: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V4Junctions, + } +}) + +export const V4Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: sts.array(() => V4Junction), + X2: sts.array(() => V4Junction), + X3: sts.array(() => V4Junction), + X4: sts.array(() => V4Junction), + X5: sts.array(() => V4Junction), + X6: sts.array(() => V4Junction), + X7: sts.array(() => V4Junction), + X8: sts.array(() => V4Junction), + } +}) + +export const V4Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: sts.enumStruct({ + length: sts.number(), + data: sts.bytes(), + }), + GlobalConsensus: V4NetworkId, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V3BodyId, + part: V3BodyPart, + }), + } +}) + +export const V3BodyPart: sts.Type = sts.closedEnum(() => { + return { + AtLeastProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Fraction: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Members: sts.enumStruct({ + count: sts.number(), + }), + MoreThanProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Voice: sts.unit(), + } +}) + +export type V3BodyPart = V3BodyPart_AtLeastProportion | V3BodyPart_Fraction | V3BodyPart_Members | V3BodyPart_MoreThanProportion | V3BodyPart_Voice + +export interface V3BodyPart_AtLeastProportion { + __kind: 'AtLeastProportion' + nom: number + denom: number +} + +export interface V3BodyPart_Fraction { + __kind: 'Fraction' + nom: number + denom: number +} + +export interface V3BodyPart_Members { + __kind: 'Members' + count: number +} + +export interface V3BodyPart_MoreThanProportion { + __kind: 'MoreThanProportion' + nom: number + denom: number +} + +export interface V3BodyPart_Voice { + __kind: 'Voice' +} + +export const V3BodyId: sts.Type = sts.closedEnum(() => { + return { + Administration: sts.unit(), + Defense: sts.unit(), + Executive: sts.unit(), + Index: sts.number(), + Judicial: sts.unit(), + Legislative: sts.unit(), + Moniker: sts.bytes(), + Technical: sts.unit(), + Treasury: sts.unit(), + Unit: sts.unit(), + } +}) + +export type V3BodyId = V3BodyId_Administration | V3BodyId_Defense | V3BodyId_Executive | V3BodyId_Index | V3BodyId_Judicial | V3BodyId_Legislative | V3BodyId_Moniker | V3BodyId_Technical | V3BodyId_Treasury | V3BodyId_Unit + +export interface V3BodyId_Administration { + __kind: 'Administration' +} + +export interface V3BodyId_Defense { + __kind: 'Defense' +} + +export interface V3BodyId_Executive { + __kind: 'Executive' +} + +export interface V3BodyId_Index { + __kind: 'Index' + value: number +} + +export interface V3BodyId_Judicial { + __kind: 'Judicial' +} + +export interface V3BodyId_Legislative { + __kind: 'Legislative' +} + +export interface V3BodyId_Moniker { + __kind: 'Moniker' + value: Bytes +} + +export interface V3BodyId_Technical { + __kind: 'Technical' +} + +export interface V3BodyId_Treasury { + __kind: 'Treasury' +} + +export interface V3BodyId_Unit { + __kind: 'Unit' +} + +export const V4NetworkId: sts.Type = sts.closedEnum(() => { + return { + BitcoinCash: sts.unit(), + BitcoinCore: sts.unit(), + ByFork: sts.enumStruct({ + blockNumber: sts.bigint(), + blockHash: sts.bytes(), + }), + ByGenesis: sts.bytes(), + Ethereum: sts.enumStruct({ + chainId: sts.bigint(), + }), + Kusama: sts.unit(), + Polkadot: sts.unit(), + PolkadotBulletin: sts.unit(), + Rococo: sts.unit(), + Westend: sts.unit(), + Wococo: sts.unit(), + } +}) + +export type V4NetworkId = V4NetworkId_BitcoinCash | V4NetworkId_BitcoinCore | V4NetworkId_ByFork | V4NetworkId_ByGenesis | V4NetworkId_Ethereum | V4NetworkId_Kusama | V4NetworkId_Polkadot | V4NetworkId_PolkadotBulletin | V4NetworkId_Rococo | V4NetworkId_Westend | V4NetworkId_Wococo + +export interface V4NetworkId_BitcoinCash { + __kind: 'BitcoinCash' +} + +export interface V4NetworkId_BitcoinCore { + __kind: 'BitcoinCore' +} + +export interface V4NetworkId_ByFork { + __kind: 'ByFork' + blockNumber: bigint + blockHash: Bytes +} + +export interface V4NetworkId_ByGenesis { + __kind: 'ByGenesis' + value: Bytes +} + +export interface V4NetworkId_Ethereum { + __kind: 'Ethereum' + chainId: bigint +} + +export interface V4NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V4NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export interface V4NetworkId_PolkadotBulletin { + __kind: 'PolkadotBulletin' +} + +export interface V4NetworkId_Rococo { + __kind: 'Rococo' +} + +export interface V4NetworkId_Westend { + __kind: 'Westend' +} + +export interface V4NetworkId_Wococo { + __kind: 'Wococo' +} + +export type V4Junction = V4Junction_AccountId32 | V4Junction_AccountIndex64 | V4Junction_AccountKey20 | V4Junction_GeneralIndex | V4Junction_GeneralKey | V4Junction_GlobalConsensus | V4Junction_OnlyChild | V4Junction_PalletInstance | V4Junction_Parachain | V4Junction_Plurality + +export interface V4Junction_AccountId32 { + __kind: 'AccountId32' + network?: (V4NetworkId | undefined) + id: Bytes +} + +export interface V4Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network?: (V4NetworkId | undefined) + index: bigint +} + +export interface V4Junction_AccountKey20 { + __kind: 'AccountKey20' + network?: (V4NetworkId | undefined) + key: Bytes +} + +export interface V4Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V4Junction_GeneralKey { + __kind: 'GeneralKey' + length: number + data: Bytes +} + +export interface V4Junction_GlobalConsensus { + __kind: 'GlobalConsensus' + value: V4NetworkId +} + +export interface V4Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V4Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V4Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V4Junction_Plurality { + __kind: 'Plurality' + id: V3BodyId + part: V3BodyPart +} + +export type V4Junctions = V4Junctions_Here | V4Junctions_X1 | V4Junctions_X2 | V4Junctions_X3 | V4Junctions_X4 | V4Junctions_X5 | V4Junctions_X6 | V4Junctions_X7 | V4Junctions_X8 + +export interface V4Junctions_Here { + __kind: 'Here' +} + +export interface V4Junctions_X1 { + __kind: 'X1' + value: V4Junction[] +} + +export interface V4Junctions_X2 { + __kind: 'X2' + value: V4Junction[] +} + +export interface V4Junctions_X3 { + __kind: 'X3' + value: V4Junction[] +} + +export interface V4Junctions_X4 { + __kind: 'X4' + value: V4Junction[] +} + +export interface V4Junctions_X5 { + __kind: 'X5' + value: V4Junction[] +} + +export interface V4Junctions_X6 { + __kind: 'X6' + value: V4Junction[] +} + +export interface V4Junctions_X7 { + __kind: 'X7' + value: V4Junction[] +} + +export interface V4Junctions_X8 { + __kind: 'X8' + value: V4Junction[] +} + +export interface V4AssetId { + parents: number + interior: V4Junctions +} + +export const V3AssetId: sts.Type = sts.closedEnum(() => { + return { + Abstract: sts.bytes(), + Concrete: V3MultiLocation, + } +}) + +export const V3MultiLocation: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V3Junctions, + } +}) + +export const V3Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: V3Junction, + X2: sts.tuple(() => [V3Junction, V3Junction]), + X3: sts.tuple(() => [V3Junction, V3Junction, V3Junction]), + X4: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction]), + X5: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X6: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X7: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X8: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + } +}) + +export const V3Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: sts.enumStruct({ + length: sts.number(), + data: sts.bytes(), + }), + GlobalConsensus: V3NetworkId, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V3BodyId, + part: V3BodyPart, + }), + } +}) + +export const V3NetworkId: sts.Type = sts.closedEnum(() => { + return { + BitcoinCash: sts.unit(), + BitcoinCore: sts.unit(), + ByFork: sts.enumStruct({ + blockNumber: sts.bigint(), + blockHash: sts.bytes(), + }), + ByGenesis: sts.bytes(), + Ethereum: sts.enumStruct({ + chainId: sts.bigint(), + }), + Kusama: sts.unit(), + Polkadot: sts.unit(), + PolkadotBulletin: sts.unit(), + Rococo: sts.unit(), + Westend: sts.unit(), + Wococo: sts.unit(), + } +}) + +export type V3NetworkId = V3NetworkId_BitcoinCash | V3NetworkId_BitcoinCore | V3NetworkId_ByFork | V3NetworkId_ByGenesis | V3NetworkId_Ethereum | V3NetworkId_Kusama | V3NetworkId_Polkadot | V3NetworkId_PolkadotBulletin | V3NetworkId_Rococo | V3NetworkId_Westend | V3NetworkId_Wococo + +export interface V3NetworkId_BitcoinCash { + __kind: 'BitcoinCash' +} + +export interface V3NetworkId_BitcoinCore { + __kind: 'BitcoinCore' +} + +export interface V3NetworkId_ByFork { + __kind: 'ByFork' + blockNumber: bigint + blockHash: Bytes +} + +export interface V3NetworkId_ByGenesis { + __kind: 'ByGenesis' + value: Bytes +} + +export interface V3NetworkId_Ethereum { + __kind: 'Ethereum' + chainId: bigint +} + +export interface V3NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V3NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export interface V3NetworkId_PolkadotBulletin { + __kind: 'PolkadotBulletin' +} + +export interface V3NetworkId_Rococo { + __kind: 'Rococo' +} + +export interface V3NetworkId_Westend { + __kind: 'Westend' +} + +export interface V3NetworkId_Wococo { + __kind: 'Wococo' +} + +export type V3Junction = V3Junction_AccountId32 | V3Junction_AccountIndex64 | V3Junction_AccountKey20 | V3Junction_GeneralIndex | V3Junction_GeneralKey | V3Junction_GlobalConsensus | V3Junction_OnlyChild | V3Junction_PalletInstance | V3Junction_Parachain | V3Junction_Plurality + +export interface V3Junction_AccountId32 { + __kind: 'AccountId32' + network?: (V3NetworkId | undefined) + id: Bytes +} + +export interface V3Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network?: (V3NetworkId | undefined) + index: bigint +} + +export interface V3Junction_AccountKey20 { + __kind: 'AccountKey20' + network?: (V3NetworkId | undefined) + key: Bytes +} + +export interface V3Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V3Junction_GeneralKey { + __kind: 'GeneralKey' + length: number + data: Bytes +} + +export interface V3Junction_GlobalConsensus { + __kind: 'GlobalConsensus' + value: V3NetworkId +} + +export interface V3Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V3Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V3Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V3Junction_Plurality { + __kind: 'Plurality' + id: V3BodyId + part: V3BodyPart +} + +export type V3Junctions = V3Junctions_Here | V3Junctions_X1 | V3Junctions_X2 | V3Junctions_X3 | V3Junctions_X4 | V3Junctions_X5 | V3Junctions_X6 | V3Junctions_X7 | V3Junctions_X8 + +export interface V3Junctions_Here { + __kind: 'Here' +} + +export interface V3Junctions_X1 { + __kind: 'X1' + value: V3Junction +} + +export interface V3Junctions_X2 { + __kind: 'X2' + value: [V3Junction, V3Junction] +} + +export interface V3Junctions_X3 { + __kind: 'X3' + value: [V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X4 { + __kind: 'X4' + value: [V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X5 { + __kind: 'X5' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X6 { + __kind: 'X6' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X7 { + __kind: 'X7' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X8 { + __kind: 'X8' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3MultiLocation { + parents: number + interior: V3Junctions +} + +export type V3AssetId = V3AssetId_Abstract | V3AssetId_Concrete + +export interface V3AssetId_Abstract { + __kind: 'Abstract' + value: Bytes +} + +export interface V3AssetId_Concrete { + __kind: 'Concrete' + value: V3MultiLocation +} + +export type VersionedAssetId = VersionedAssetId_V3 | VersionedAssetId_V4 + +export interface VersionedAssetId_V3 { + __kind: 'V3' + value: V3AssetId +} + +export interface VersionedAssetId_V4 { + __kind: 'V4' + value: V4AssetId +} + +export const TransferType: sts.Type = sts.closedEnum(() => { + return { + DestinationReserve: sts.unit(), + LocalReserve: sts.unit(), + RemoteReserve: VersionedLocation, + Teleport: sts.unit(), + } +}) + +export type TransferType = TransferType_DestinationReserve | TransferType_LocalReserve | TransferType_RemoteReserve | TransferType_Teleport + +export interface TransferType_DestinationReserve { + __kind: 'DestinationReserve' +} + +export interface TransferType_LocalReserve { + __kind: 'LocalReserve' +} + +export interface TransferType_RemoteReserve { + __kind: 'RemoteReserve' + value: VersionedLocation +} + +export interface TransferType_Teleport { + __kind: 'Teleport' +} + +export type VersionedLocation = VersionedLocation_V2 | VersionedLocation_V3 | VersionedLocation_V4 + +export interface VersionedLocation_V2 { + __kind: 'V2' + value: V2MultiLocation +} + +export interface VersionedLocation_V3 { + __kind: 'V3' + value: V3MultiLocation +} + +export interface VersionedLocation_V4 { + __kind: 'V4' + value: V4Location +} + +export interface V4Location { + parents: number + interior: V4Junctions +} + +export interface V2MultiLocation { + parents: number + interior: V2Junctions +} + +export type V2Junctions = V2Junctions_Here | V2Junctions_X1 | V2Junctions_X2 | V2Junctions_X3 | V2Junctions_X4 | V2Junctions_X5 | V2Junctions_X6 | V2Junctions_X7 | V2Junctions_X8 + +export interface V2Junctions_Here { + __kind: 'Here' +} + +export interface V2Junctions_X1 { + __kind: 'X1' + value: V2Junction +} + +export interface V2Junctions_X2 { + __kind: 'X2' + value: [V2Junction, V2Junction] +} + +export interface V2Junctions_X3 { + __kind: 'X3' + value: [V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X4 { + __kind: 'X4' + value: [V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X5 { + __kind: 'X5' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X6 { + __kind: 'X6' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X7 { + __kind: 'X7' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X8 { + __kind: 'X8' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export type V2Junction = V2Junction_AccountId32 | V2Junction_AccountIndex64 | V2Junction_AccountKey20 | V2Junction_GeneralIndex | V2Junction_GeneralKey | V2Junction_OnlyChild | V2Junction_PalletInstance | V2Junction_Parachain | V2Junction_Plurality + +export interface V2Junction_AccountId32 { + __kind: 'AccountId32' + network: V2NetworkId + id: Bytes +} + +export interface V2Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network: V2NetworkId + index: bigint +} + +export interface V2Junction_AccountKey20 { + __kind: 'AccountKey20' + network: V2NetworkId + key: Bytes +} + +export interface V2Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V2Junction_GeneralKey { + __kind: 'GeneralKey' + value: WeakBoundedVec +} + +export interface V2Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V2Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V2Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V2Junction_Plurality { + __kind: 'Plurality' + id: V2BodyId + part: V2BodyPart +} + +export type V2BodyPart = V2BodyPart_AtLeastProportion | V2BodyPart_Fraction | V2BodyPart_Members | V2BodyPart_MoreThanProportion | V2BodyPart_Voice + +export interface V2BodyPart_AtLeastProportion { + __kind: 'AtLeastProportion' + nom: number + denom: number +} + +export interface V2BodyPart_Fraction { + __kind: 'Fraction' + nom: number + denom: number +} + +export interface V2BodyPart_Members { + __kind: 'Members' + count: number +} + +export interface V2BodyPart_MoreThanProportion { + __kind: 'MoreThanProportion' + nom: number + denom: number +} + +export interface V2BodyPart_Voice { + __kind: 'Voice' +} + +export type V2BodyId = V2BodyId_Administration | V2BodyId_Defense | V2BodyId_Executive | V2BodyId_Index | V2BodyId_Judicial | V2BodyId_Legislative | V2BodyId_Named | V2BodyId_Technical | V2BodyId_Treasury | V2BodyId_Unit + +export interface V2BodyId_Administration { + __kind: 'Administration' +} + +export interface V2BodyId_Defense { + __kind: 'Defense' +} + +export interface V2BodyId_Executive { + __kind: 'Executive' +} + +export interface V2BodyId_Index { + __kind: 'Index' + value: number +} + +export interface V2BodyId_Judicial { + __kind: 'Judicial' +} + +export interface V2BodyId_Legislative { + __kind: 'Legislative' +} + +export interface V2BodyId_Named { + __kind: 'Named' + value: WeakBoundedVec +} + +export interface V2BodyId_Technical { + __kind: 'Technical' +} + +export interface V2BodyId_Treasury { + __kind: 'Treasury' +} + +export interface V2BodyId_Unit { + __kind: 'Unit' +} + +export type WeakBoundedVec = Bytes + +export type V2NetworkId = V2NetworkId_Any | V2NetworkId_Kusama | V2NetworkId_Named | V2NetworkId_Polkadot + +export interface V2NetworkId_Any { + __kind: 'Any' +} + +export interface V2NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V2NetworkId_Named { + __kind: 'Named' + value: WeakBoundedVec +} + +export interface V2NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export const VersionedXcm: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => V2Instruction), + V3: sts.array(() => V3Instruction), + V4: sts.array(() => V4Instruction), + } +}) + +export const V4Instruction: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V4Location, + BurnAsset: sts.array(() => V4Asset), + BuyExecution: sts.enumStruct({ + fees: V4Asset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + ticket: V4Location, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V4AssetFilter, + beneficiary: V4Location, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + DescendOrigin: V4Junctions, + ExchangeAsset: sts.enumStruct({ + give: V4AssetFilter, + want: sts.array(() => V4Asset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V4Asset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V4Location), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V4NetworkId, + destination: V4Junctions, + xcm: sts.array(() => V4Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V4AssetFilter, + reserve: V4Location, + xcm: sts.array(() => V4Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V4Asset, + unlocker: V4Location, + }), + NoteUnlockable: sts.enumStruct({ + asset: V4Asset, + owner: V4Location, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V4QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V4Response, + maxWeight: Weight, + querier: sts.option(() => V4Location), + }), + ReceiveTeleportedAsset: sts.array(() => V4Asset), + RefundSurplus: sts.unit(), + ReportError: V4QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V4QueryResponseInfo, + assets: V4AssetFilter, + }), + ReportTransactStatus: V4QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V4Asset, + locker: V4Location, + }), + ReserveAssetDeposited: sts.array(() => V4Asset), + SetAppendix: sts.array(() => V4Instruction), + SetErrorHandler: sts.array(() => V4Instruction), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + beneficiary: V4Location, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V4Junction, + UnlockAsset: sts.enumStruct({ + asset: V4Asset, + target: V4Location, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V4Location), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V4Asset), + } +}) + +export const DoubleEncoded: sts.Type = sts.struct(() => { + return { + encoded: sts.bytes(), + } +}) + +export interface DoubleEncoded { + encoded: Bytes +} + +export const V2OriginKind: sts.Type = sts.closedEnum(() => { + return { + Native: sts.unit(), + SovereignAccount: sts.unit(), + Superuser: sts.unit(), + Xcm: sts.unit(), + } +}) + +export type V2OriginKind = V2OriginKind_Native | V2OriginKind_SovereignAccount | V2OriginKind_Superuser | V2OriginKind_Xcm + +export interface V2OriginKind_Native { + __kind: 'Native' +} + +export interface V2OriginKind_SovereignAccount { + __kind: 'SovereignAccount' +} + +export interface V2OriginKind_Superuser { + __kind: 'Superuser' +} + +export interface V2OriginKind_Xcm { + __kind: 'Xcm' +} + +export const V4Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V4Asset), + DispatchResult: V3MaybeErrorCode, + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + Null: sts.unit(), + PalletsInfo: sts.array(() => V4PalletInfo), + Version: sts.number(), + } +}) + +export const V4PalletInfo: sts.Type = sts.struct(() => { + return { + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + major: sts.number(), + minor: sts.number(), + patch: sts.number(), + } +}) + +export interface V4PalletInfo { + index: number + name: Bytes + moduleName: Bytes + major: number + minor: number + patch: number +} + +export type V4Response = V4Response_Assets | V4Response_DispatchResult | V4Response_ExecutionResult | V4Response_Null | V4Response_PalletsInfo | V4Response_Version + +export interface V4Response_Assets { + __kind: 'Assets' + value: V4Asset[] +} + +export interface V4Response_DispatchResult { + __kind: 'DispatchResult' + value: V3MaybeErrorCode +} + +export interface V4Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V3Error] | undefined) +} + +export interface V4Response_Null { + __kind: 'Null' +} + +export interface V4Response_PalletsInfo { + __kind: 'PalletsInfo' + value: V4PalletInfo[] +} + +export interface V4Response_Version { + __kind: 'Version' + value: number +} + +export type V3Error = V3Error_AssetNotFound | V3Error_BadOrigin | V3Error_Barrier | V3Error_DestinationUnsupported | V3Error_ExceedsMaxMessageSize | V3Error_ExceedsStackLimit | V3Error_ExpectationFalse | V3Error_ExportError | V3Error_FailedToDecode | V3Error_FailedToTransactAsset | V3Error_FeesNotMet | V3Error_HoldingWouldOverflow | V3Error_InvalidLocation | V3Error_LocationCannotHold | V3Error_LocationFull | V3Error_LocationNotInvertible | V3Error_LockError | V3Error_MaxWeightInvalid | V3Error_NameMismatch | V3Error_NoDeal | V3Error_NoPermission | V3Error_NotDepositable | V3Error_NotHoldingFees | V3Error_NotWithdrawable | V3Error_Overflow | V3Error_PalletNotFound | V3Error_ReanchorFailed | V3Error_TooExpensive | V3Error_Transport | V3Error_Trap | V3Error_Unanchored | V3Error_UnhandledXcmVersion | V3Error_Unimplemented | V3Error_UnknownClaim | V3Error_Unroutable | V3Error_UntrustedReserveLocation | V3Error_UntrustedTeleportLocation | V3Error_VersionIncompatible | V3Error_WeightLimitReached | V3Error_WeightNotComputable + +export interface V3Error_AssetNotFound { + __kind: 'AssetNotFound' +} + +export interface V3Error_BadOrigin { + __kind: 'BadOrigin' +} + +export interface V3Error_Barrier { + __kind: 'Barrier' +} + +export interface V3Error_DestinationUnsupported { + __kind: 'DestinationUnsupported' +} + +export interface V3Error_ExceedsMaxMessageSize { + __kind: 'ExceedsMaxMessageSize' +} + +export interface V3Error_ExceedsStackLimit { + __kind: 'ExceedsStackLimit' +} + +export interface V3Error_ExpectationFalse { + __kind: 'ExpectationFalse' +} + +export interface V3Error_ExportError { + __kind: 'ExportError' +} + +export interface V3Error_FailedToDecode { + __kind: 'FailedToDecode' +} + +export interface V3Error_FailedToTransactAsset { + __kind: 'FailedToTransactAsset' +} + +export interface V3Error_FeesNotMet { + __kind: 'FeesNotMet' +} + +export interface V3Error_HoldingWouldOverflow { + __kind: 'HoldingWouldOverflow' +} + +export interface V3Error_InvalidLocation { + __kind: 'InvalidLocation' +} + +export interface V3Error_LocationCannotHold { + __kind: 'LocationCannotHold' +} + +export interface V3Error_LocationFull { + __kind: 'LocationFull' +} + +export interface V3Error_LocationNotInvertible { + __kind: 'LocationNotInvertible' +} + +export interface V3Error_LockError { + __kind: 'LockError' +} + +export interface V3Error_MaxWeightInvalid { + __kind: 'MaxWeightInvalid' +} + +export interface V3Error_NameMismatch { + __kind: 'NameMismatch' +} + +export interface V3Error_NoDeal { + __kind: 'NoDeal' +} + +export interface V3Error_NoPermission { + __kind: 'NoPermission' +} + +export interface V3Error_NotDepositable { + __kind: 'NotDepositable' +} + +export interface V3Error_NotHoldingFees { + __kind: 'NotHoldingFees' +} + +export interface V3Error_NotWithdrawable { + __kind: 'NotWithdrawable' +} + +export interface V3Error_Overflow { + __kind: 'Overflow' +} + +export interface V3Error_PalletNotFound { + __kind: 'PalletNotFound' +} + +export interface V3Error_ReanchorFailed { + __kind: 'ReanchorFailed' +} + +export interface V3Error_TooExpensive { + __kind: 'TooExpensive' +} + +export interface V3Error_Transport { + __kind: 'Transport' +} + +export interface V3Error_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V3Error_Unanchored { + __kind: 'Unanchored' +} + +export interface V3Error_UnhandledXcmVersion { + __kind: 'UnhandledXcmVersion' +} + +export interface V3Error_Unimplemented { + __kind: 'Unimplemented' +} + +export interface V3Error_UnknownClaim { + __kind: 'UnknownClaim' +} + +export interface V3Error_Unroutable { + __kind: 'Unroutable' +} + +export interface V3Error_UntrustedReserveLocation { + __kind: 'UntrustedReserveLocation' +} + +export interface V3Error_UntrustedTeleportLocation { + __kind: 'UntrustedTeleportLocation' +} + +export interface V3Error_VersionIncompatible { + __kind: 'VersionIncompatible' +} + +export interface V3Error_WeightLimitReached { + __kind: 'WeightLimitReached' + value: Weight +} + +export interface V3Error_WeightNotComputable { + __kind: 'WeightNotComputable' +} + +export type V3MaybeErrorCode = V3MaybeErrorCode_Error | V3MaybeErrorCode_Success | V3MaybeErrorCode_TruncatedError + +export interface V3MaybeErrorCode_Error { + __kind: 'Error' + value: Bytes +} + +export interface V3MaybeErrorCode_Success { + __kind: 'Success' +} + +export interface V3MaybeErrorCode_TruncatedError { + __kind: 'TruncatedError' + value: Bytes +} + +export interface V4Asset { + id: V4AssetId + fun: V4Fungibility +} + +export type V4Fungibility = V4Fungibility_Fungible | V4Fungibility_NonFungible + +export interface V4Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V4Fungibility_NonFungible { + __kind: 'NonFungible' + value: V4AssetInstance +} + +export type V4AssetInstance = V4AssetInstance_Array16 | V4AssetInstance_Array32 | V4AssetInstance_Array4 | V4AssetInstance_Array8 | V4AssetInstance_Index | V4AssetInstance_Undefined + +export interface V4AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V4AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V4AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V4AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V4AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V4AssetInstance_Undefined { + __kind: 'Undefined' +} + +export const V4QueryResponseInfo: sts.Type = sts.struct(() => { + return { + destination: V4Location, + queryId: sts.bigint(), + maxWeight: Weight, + } +}) + +export interface V4QueryResponseInfo { + destination: V4Location + queryId: bigint + maxWeight: Weight +} + +export const V3MaybeErrorCode: sts.Type = sts.closedEnum(() => { + return { + Error: sts.bytes(), + Success: sts.unit(), + TruncatedError: sts.bytes(), + } +}) + +export const V3Error: sts.Type = sts.closedEnum(() => { + return { + AssetNotFound: sts.unit(), + BadOrigin: sts.unit(), + Barrier: sts.unit(), + DestinationUnsupported: sts.unit(), + ExceedsMaxMessageSize: sts.unit(), + ExceedsStackLimit: sts.unit(), + ExpectationFalse: sts.unit(), + ExportError: sts.unit(), + FailedToDecode: sts.unit(), + FailedToTransactAsset: sts.unit(), + FeesNotMet: sts.unit(), + HoldingWouldOverflow: sts.unit(), + InvalidLocation: sts.unit(), + LocationCannotHold: sts.unit(), + LocationFull: sts.unit(), + LocationNotInvertible: sts.unit(), + LockError: sts.unit(), + MaxWeightInvalid: sts.unit(), + NameMismatch: sts.unit(), + NoDeal: sts.unit(), + NoPermission: sts.unit(), + NotDepositable: sts.unit(), + NotHoldingFees: sts.unit(), + NotWithdrawable: sts.unit(), + Overflow: sts.unit(), + PalletNotFound: sts.unit(), + ReanchorFailed: sts.unit(), + TooExpensive: sts.unit(), + Transport: sts.unit(), + Trap: sts.bigint(), + Unanchored: sts.unit(), + UnhandledXcmVersion: sts.unit(), + Unimplemented: sts.unit(), + UnknownClaim: sts.unit(), + Unroutable: sts.unit(), + UntrustedReserveLocation: sts.unit(), + UntrustedTeleportLocation: sts.unit(), + VersionIncompatible: sts.unit(), + WeightLimitReached: Weight, + WeightNotComputable: sts.unit(), + } +}) + +export const V4AssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V4Asset), + Wild: V4WildAsset, + } +}) + +export const V4WildAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllCounted: sts.number(), + AllOf: sts.enumStruct({ + id: V4AssetId, + fun: V4WildFungibility, + }), + AllOfCounted: sts.enumStruct({ + id: V4AssetId, + fun: V4WildFungibility, + count: sts.number(), + }), + } +}) + +export const V4WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V4WildFungibility = V4WildFungibility_Fungible | V4WildFungibility_NonFungible + +export interface V4WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V4WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export type V4WildAsset = V4WildAsset_All | V4WildAsset_AllCounted | V4WildAsset_AllOf | V4WildAsset_AllOfCounted + +export interface V4WildAsset_All { + __kind: 'All' +} + +export interface V4WildAsset_AllCounted { + __kind: 'AllCounted' + value: number +} + +export interface V4WildAsset_AllOf { + __kind: 'AllOf' + id: V4AssetId + fun: V4WildFungibility +} + +export interface V4WildAsset_AllOfCounted { + __kind: 'AllOfCounted' + id: V4AssetId + fun: V4WildFungibility + count: number +} + +export type V4AssetFilter = V4AssetFilter_Definite | V4AssetFilter_Wild + +export interface V4AssetFilter_Definite { + __kind: 'Definite' + value: V4Asset[] +} + +export interface V4AssetFilter_Wild { + __kind: 'Wild' + value: V4WildAsset +} + +export const V4Asset: sts.Type = sts.struct(() => { + return { + id: V4AssetId, + fun: V4Fungibility, + } +}) + +export const V4Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V4AssetInstance, + } +}) + +export const V4AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V4Instruction = V4Instruction_AliasOrigin | V4Instruction_BurnAsset | V4Instruction_BuyExecution | V4Instruction_ClaimAsset | V4Instruction_ClearError | V4Instruction_ClearOrigin | V4Instruction_ClearTopic | V4Instruction_ClearTransactStatus | V4Instruction_DepositAsset | V4Instruction_DepositReserveAsset | V4Instruction_DescendOrigin | V4Instruction_ExchangeAsset | V4Instruction_ExpectAsset | V4Instruction_ExpectError | V4Instruction_ExpectOrigin | V4Instruction_ExpectPallet | V4Instruction_ExpectTransactStatus | V4Instruction_ExportMessage | V4Instruction_HrmpChannelAccepted | V4Instruction_HrmpChannelClosing | V4Instruction_HrmpNewChannelOpenRequest | V4Instruction_InitiateReserveWithdraw | V4Instruction_InitiateTeleport | V4Instruction_LockAsset | V4Instruction_NoteUnlockable | V4Instruction_QueryPallet | V4Instruction_QueryResponse | V4Instruction_ReceiveTeleportedAsset | V4Instruction_RefundSurplus | V4Instruction_ReportError | V4Instruction_ReportHolding | V4Instruction_ReportTransactStatus | V4Instruction_RequestUnlock | V4Instruction_ReserveAssetDeposited | V4Instruction_SetAppendix | V4Instruction_SetErrorHandler | V4Instruction_SetFeesMode | V4Instruction_SetTopic | V4Instruction_SubscribeVersion | V4Instruction_Transact | V4Instruction_TransferAsset | V4Instruction_TransferReserveAsset | V4Instruction_Trap | V4Instruction_UniversalOrigin | V4Instruction_UnlockAsset | V4Instruction_UnpaidExecution | V4Instruction_UnsubscribeVersion | V4Instruction_WithdrawAsset + +export interface V4Instruction_AliasOrigin { + __kind: 'AliasOrigin' + value: V4Location +} + +export interface V4Instruction_BurnAsset { + __kind: 'BurnAsset' + value: V4Asset[] +} + +export interface V4Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V4Asset + weightLimit: V3WeightLimit +} + +export interface V4Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V4Asset[] + ticket: V4Location +} + +export interface V4Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V4Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V4Instruction_ClearTopic { + __kind: 'ClearTopic' +} + +export interface V4Instruction_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface V4Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V4AssetFilter + beneficiary: V4Location +} + +export interface V4Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V4Junctions +} + +export interface V4Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V4AssetFilter + want: V4Asset[] + maximal: boolean +} + +export interface V4Instruction_ExpectAsset { + __kind: 'ExpectAsset' + value: V4Asset[] +} + +export interface V4Instruction_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface V4Instruction_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V4Location | undefined) +} + +export interface V4Instruction_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface V4Instruction_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface V4Instruction_ExportMessage { + __kind: 'ExportMessage' + network: V4NetworkId + destination: V4Junctions + xcm: V4Instruction[] +} + +export interface V4Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V4Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V4Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V4Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V4AssetFilter + reserve: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_LockAsset { + __kind: 'LockAsset' + asset: V4Asset + unlocker: V4Location +} + +export interface V4Instruction_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V4Asset + owner: V4Location +} + +export interface V4Instruction_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V4QueryResponseInfo +} + +export interface V4Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V4Response + maxWeight: Weight + querier?: (V4Location | undefined) +} + +export interface V4Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V4Asset[] +} + +export interface V4Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V4Instruction_ReportError { + __kind: 'ReportError' + value: V4QueryResponseInfo +} + +export interface V4Instruction_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V4QueryResponseInfo + assets: V4AssetFilter +} + +export interface V4Instruction_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V4QueryResponseInfo +} + +export interface V4Instruction_RequestUnlock { + __kind: 'RequestUnlock' + asset: V4Asset + locker: V4Location +} + +export interface V4Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V4Asset[] +} + +export interface V4Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V4Instruction[] +} + +export interface V4Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V4Instruction[] +} + +export interface V4Instruction_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface V4Instruction_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface V4Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface V4Instruction_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: DoubleEncoded +} + +export interface V4Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V4Asset[] + beneficiary: V4Location +} + +export interface V4Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V4Asset[] + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V4Instruction_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V4Junction +} + +export interface V4Instruction_UnlockAsset { + __kind: 'UnlockAsset' + asset: V4Asset + target: V4Location +} + +export interface V4Instruction_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V4Location | undefined) +} + +export interface V4Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V4Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V4Asset[] +} + +export type V3WeightLimit = V3WeightLimit_Limited | V3WeightLimit_Unlimited + +export interface V3WeightLimit_Limited { + __kind: 'Limited' + value: Weight +} + +export interface V3WeightLimit_Unlimited { + __kind: 'Unlimited' +} + +export const V3Instruction: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V3MultiLocation, + BurnAsset: sts.array(() => V3MultiAsset), + BuyExecution: sts.enumStruct({ + fees: V3MultiAsset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + ticket: V3MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + beneficiary: V3MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + DescendOrigin: V3Junctions, + ExchangeAsset: sts.enumStruct({ + give: V3MultiAssetFilter, + want: sts.array(() => V3MultiAsset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V3MultiAsset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V3MultiLocation), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V3NetworkId, + destination: V3Junctions, + xcm: sts.array(() => V3Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V3MultiAssetFilter, + reserve: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V3MultiAsset, + unlocker: V3MultiLocation, + }), + NoteUnlockable: sts.enumStruct({ + asset: V3MultiAsset, + owner: V3MultiLocation, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V3QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V3Response, + maxWeight: Weight, + querier: sts.option(() => V3MultiLocation), + }), + ReceiveTeleportedAsset: sts.array(() => V3MultiAsset), + RefundSurplus: sts.unit(), + ReportError: V3QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V3QueryResponseInfo, + assets: V3MultiAssetFilter, + }), + ReportTransactStatus: V3QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V3MultiAsset, + locker: V3MultiLocation, + }), + ReserveAssetDeposited: sts.array(() => V3MultiAsset), + SetAppendix: sts.array(() => V3Instruction), + SetErrorHandler: sts.array(() => V3Instruction), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + beneficiary: V3MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V3Junction, + UnlockAsset: sts.enumStruct({ + asset: V3MultiAsset, + target: V3MultiLocation, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V3MultiLocation), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V3MultiAsset), + } +}) + +export const V3Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V3MultiAsset), + DispatchResult: V3MaybeErrorCode, + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + Null: sts.unit(), + PalletsInfo: sts.array(() => V3PalletInfo), + Version: sts.number(), + } +}) + +export const V3PalletInfo: sts.Type = sts.struct(() => { + return { + index: sts.number(), + name: BoundedVec, + moduleName: BoundedVec, + major: sts.number(), + minor: sts.number(), + patch: sts.number(), + } +}) + +export const BoundedVec = sts.bytes() + +export interface V3PalletInfo { + index: number + name: BoundedVec + moduleName: BoundedVec + major: number + minor: number + patch: number +} + +export type BoundedVec = Bytes + +export type V3Response = V3Response_Assets | V3Response_DispatchResult | V3Response_ExecutionResult | V3Response_Null | V3Response_PalletsInfo | V3Response_Version + +export interface V3Response_Assets { + __kind: 'Assets' + value: V3MultiAsset[] +} + +export interface V3Response_DispatchResult { + __kind: 'DispatchResult' + value: V3MaybeErrorCode +} + +export interface V3Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V3Error] | undefined) +} + +export interface V3Response_Null { + __kind: 'Null' +} + +export interface V3Response_PalletsInfo { + __kind: 'PalletsInfo' + value: V3PalletInfo[] +} + +export interface V3Response_Version { + __kind: 'Version' + value: number +} + +export interface V3MultiAsset { + id: V3AssetId + fun: V3Fungibility +} + +export type V3Fungibility = V3Fungibility_Fungible | V3Fungibility_NonFungible + +export interface V3Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V3Fungibility_NonFungible { + __kind: 'NonFungible' + value: V3AssetInstance +} + +export type V3AssetInstance = V3AssetInstance_Array16 | V3AssetInstance_Array32 | V3AssetInstance_Array4 | V3AssetInstance_Array8 | V3AssetInstance_Index | V3AssetInstance_Undefined + +export interface V3AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V3AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V3AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V3AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V3AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V3AssetInstance_Undefined { + __kind: 'Undefined' +} + +export const V3QueryResponseInfo: sts.Type = sts.struct(() => { + return { + destination: V3MultiLocation, + queryId: sts.bigint(), + maxWeight: Weight, + } +}) + +export interface V3QueryResponseInfo { + destination: V3MultiLocation + queryId: bigint + maxWeight: Weight +} + +export const V3MultiAssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V3MultiAsset), + Wild: V3WildMultiAsset, + } +}) + +export const V3WildMultiAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllCounted: sts.number(), + AllOf: sts.enumStruct({ + id: V3AssetId, + fun: V3WildFungibility, + }), + AllOfCounted: sts.enumStruct({ + id: V3AssetId, + fun: V3WildFungibility, + count: sts.number(), + }), + } +}) + +export const V3WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V3WildFungibility = V3WildFungibility_Fungible | V3WildFungibility_NonFungible + +export interface V3WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V3WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export type V3WildMultiAsset = V3WildMultiAsset_All | V3WildMultiAsset_AllCounted | V3WildMultiAsset_AllOf | V3WildMultiAsset_AllOfCounted + +export interface V3WildMultiAsset_All { + __kind: 'All' +} + +export interface V3WildMultiAsset_AllCounted { + __kind: 'AllCounted' + value: number +} + +export interface V3WildMultiAsset_AllOf { + __kind: 'AllOf' + id: V3AssetId + fun: V3WildFungibility +} + +export interface V3WildMultiAsset_AllOfCounted { + __kind: 'AllOfCounted' + id: V3AssetId + fun: V3WildFungibility + count: number +} + +export type V3MultiAssetFilter = V3MultiAssetFilter_Definite | V3MultiAssetFilter_Wild + +export interface V3MultiAssetFilter_Definite { + __kind: 'Definite' + value: V3MultiAsset[] +} + +export interface V3MultiAssetFilter_Wild { + __kind: 'Wild' + value: V3WildMultiAsset +} + +export const V3MultiAsset: sts.Type = sts.struct(() => { + return { + id: V3AssetId, + fun: V3Fungibility, + } +}) + +export const V3Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V3AssetInstance, + } +}) + +export const V3AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V3Instruction = V3Instruction_AliasOrigin | V3Instruction_BurnAsset | V3Instruction_BuyExecution | V3Instruction_ClaimAsset | V3Instruction_ClearError | V3Instruction_ClearOrigin | V3Instruction_ClearTopic | V3Instruction_ClearTransactStatus | V3Instruction_DepositAsset | V3Instruction_DepositReserveAsset | V3Instruction_DescendOrigin | V3Instruction_ExchangeAsset | V3Instruction_ExpectAsset | V3Instruction_ExpectError | V3Instruction_ExpectOrigin | V3Instruction_ExpectPallet | V3Instruction_ExpectTransactStatus | V3Instruction_ExportMessage | V3Instruction_HrmpChannelAccepted | V3Instruction_HrmpChannelClosing | V3Instruction_HrmpNewChannelOpenRequest | V3Instruction_InitiateReserveWithdraw | V3Instruction_InitiateTeleport | V3Instruction_LockAsset | V3Instruction_NoteUnlockable | V3Instruction_QueryPallet | V3Instruction_QueryResponse | V3Instruction_ReceiveTeleportedAsset | V3Instruction_RefundSurplus | V3Instruction_ReportError | V3Instruction_ReportHolding | V3Instruction_ReportTransactStatus | V3Instruction_RequestUnlock | V3Instruction_ReserveAssetDeposited | V3Instruction_SetAppendix | V3Instruction_SetErrorHandler | V3Instruction_SetFeesMode | V3Instruction_SetTopic | V3Instruction_SubscribeVersion | V3Instruction_Transact | V3Instruction_TransferAsset | V3Instruction_TransferReserveAsset | V3Instruction_Trap | V3Instruction_UniversalOrigin | V3Instruction_UnlockAsset | V3Instruction_UnpaidExecution | V3Instruction_UnsubscribeVersion | V3Instruction_WithdrawAsset + +export interface V3Instruction_AliasOrigin { + __kind: 'AliasOrigin' + value: V3MultiLocation +} + +export interface V3Instruction_BurnAsset { + __kind: 'BurnAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V3MultiAsset + weightLimit: V3WeightLimit +} + +export interface V3Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V3MultiAsset[] + ticket: V3MultiLocation +} + +export interface V3Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V3Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V3Instruction_ClearTopic { + __kind: 'ClearTopic' +} + +export interface V3Instruction_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface V3Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V3MultiAssetFilter + beneficiary: V3MultiLocation +} + +export interface V3Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V3Junctions +} + +export interface V3Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V3MultiAssetFilter + want: V3MultiAsset[] + maximal: boolean +} + +export interface V3Instruction_ExpectAsset { + __kind: 'ExpectAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface V3Instruction_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface V3Instruction_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface V3Instruction_ExportMessage { + __kind: 'ExportMessage' + network: V3NetworkId + destination: V3Junctions + xcm: V3Instruction[] +} + +export interface V3Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V3Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V3Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V3Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V3MultiAssetFilter + reserve: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_LockAsset { + __kind: 'LockAsset' + asset: V3MultiAsset + unlocker: V3MultiLocation +} + +export interface V3Instruction_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V3MultiAsset + owner: V3MultiLocation +} + +export interface V3Instruction_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V3QueryResponseInfo +} + +export interface V3Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V3Response + maxWeight: Weight + querier?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V3Instruction_ReportError { + __kind: 'ReportError' + value: V3QueryResponseInfo +} + +export interface V3Instruction_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V3QueryResponseInfo + assets: V3MultiAssetFilter +} + +export interface V3Instruction_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V3QueryResponseInfo +} + +export interface V3Instruction_RequestUnlock { + __kind: 'RequestUnlock' + asset: V3MultiAsset + locker: V3MultiLocation +} + +export interface V3Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V3MultiAsset[] +} + +export interface V3Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V3Instruction[] +} + +export interface V3Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V3Instruction[] +} + +export interface V3Instruction_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface V3Instruction_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface V3Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface V3Instruction_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: DoubleEncoded +} + +export interface V3Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V3MultiAsset[] + beneficiary: V3MultiLocation +} + +export interface V3Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V3MultiAsset[] + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V3Instruction_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V3Junction +} + +export interface V3Instruction_UnlockAsset { + __kind: 'UnlockAsset' + asset: V3MultiAsset + target: V3MultiLocation +} + +export interface V3Instruction_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V3Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V3MultiAsset[] +} + +export const V2Instruction: sts.Type = sts.closedEnum(() => { + return { + BuyExecution: sts.enumStruct({ + fees: V2MultiAsset, + weightLimit: V2WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + ticket: V2MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + beneficiary: V2MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + DescendOrigin: V2Junctions, + ExchangeAsset: sts.enumStruct({ + give: V2MultiAssetFilter, + receive: sts.array(() => V2MultiAsset), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V2MultiAssetFilter, + reserve: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V2MultiAssetFilter, + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + QueryHolding: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + assets: V2MultiAssetFilter, + maxResponseWeight: sts.bigint(), + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V2Response, + maxWeight: sts.bigint(), + }), + ReceiveTeleportedAsset: sts.array(() => V2MultiAsset), + RefundSurplus: sts.unit(), + ReportError: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + maxResponseWeight: sts.bigint(), + }), + ReserveAssetDeposited: sts.array(() => V2MultiAsset), + SetAppendix: sts.array(() => V2Instruction), + SetErrorHandler: sts.array(() => V2Instruction), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: sts.bigint(), + }), + Transact: sts.enumStruct({ + originType: V2OriginKind, + requireWeightAtMost: sts.bigint(), + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + beneficiary: V2MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + Trap: sts.bigint(), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V2MultiAsset), + } +}) + +export const V2Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V2MultiAsset), + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V2Error])), + Null: sts.unit(), + Version: sts.number(), + } +}) + +export const V2Error: sts.Type = sts.closedEnum(() => { + return { + AssetNotFound: sts.unit(), + BadOrigin: sts.unit(), + Barrier: sts.unit(), + DestinationUnsupported: sts.unit(), + ExceedsMaxMessageSize: sts.unit(), + FailedToDecode: sts.unit(), + FailedToTransactAsset: sts.unit(), + InvalidLocation: sts.unit(), + LocationCannotHold: sts.unit(), + MaxWeightInvalid: sts.unit(), + MultiLocationFull: sts.unit(), + MultiLocationNotInvertible: sts.unit(), + NotHoldingFees: sts.unit(), + NotWithdrawable: sts.unit(), + Overflow: sts.unit(), + TooExpensive: sts.unit(), + Transport: sts.unit(), + Trap: sts.bigint(), + UnhandledXcmVersion: sts.unit(), + Unimplemented: sts.unit(), + UnknownClaim: sts.unit(), + Unroutable: sts.unit(), + UntrustedReserveLocation: sts.unit(), + UntrustedTeleportLocation: sts.unit(), + WeightLimitReached: sts.bigint(), + WeightNotComputable: sts.unit(), + } +}) + +export type V2Error = V2Error_AssetNotFound | V2Error_BadOrigin | V2Error_Barrier | V2Error_DestinationUnsupported | V2Error_ExceedsMaxMessageSize | V2Error_FailedToDecode | V2Error_FailedToTransactAsset | V2Error_InvalidLocation | V2Error_LocationCannotHold | V2Error_MaxWeightInvalid | V2Error_MultiLocationFull | V2Error_MultiLocationNotInvertible | V2Error_NotHoldingFees | V2Error_NotWithdrawable | V2Error_Overflow | V2Error_TooExpensive | V2Error_Transport | V2Error_Trap | V2Error_UnhandledXcmVersion | V2Error_Unimplemented | V2Error_UnknownClaim | V2Error_Unroutable | V2Error_UntrustedReserveLocation | V2Error_UntrustedTeleportLocation | V2Error_WeightLimitReached | V2Error_WeightNotComputable + +export interface V2Error_AssetNotFound { + __kind: 'AssetNotFound' +} + +export interface V2Error_BadOrigin { + __kind: 'BadOrigin' +} + +export interface V2Error_Barrier { + __kind: 'Barrier' +} + +export interface V2Error_DestinationUnsupported { + __kind: 'DestinationUnsupported' +} + +export interface V2Error_ExceedsMaxMessageSize { + __kind: 'ExceedsMaxMessageSize' +} + +export interface V2Error_FailedToDecode { + __kind: 'FailedToDecode' +} + +export interface V2Error_FailedToTransactAsset { + __kind: 'FailedToTransactAsset' +} + +export interface V2Error_InvalidLocation { + __kind: 'InvalidLocation' +} + +export interface V2Error_LocationCannotHold { + __kind: 'LocationCannotHold' +} + +export interface V2Error_MaxWeightInvalid { + __kind: 'MaxWeightInvalid' +} + +export interface V2Error_MultiLocationFull { + __kind: 'MultiLocationFull' +} + +export interface V2Error_MultiLocationNotInvertible { + __kind: 'MultiLocationNotInvertible' +} + +export interface V2Error_NotHoldingFees { + __kind: 'NotHoldingFees' +} + +export interface V2Error_NotWithdrawable { + __kind: 'NotWithdrawable' +} + +export interface V2Error_Overflow { + __kind: 'Overflow' +} + +export interface V2Error_TooExpensive { + __kind: 'TooExpensive' +} + +export interface V2Error_Transport { + __kind: 'Transport' +} + +export interface V2Error_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V2Error_UnhandledXcmVersion { + __kind: 'UnhandledXcmVersion' +} + +export interface V2Error_Unimplemented { + __kind: 'Unimplemented' +} + +export interface V2Error_UnknownClaim { + __kind: 'UnknownClaim' +} + +export interface V2Error_Unroutable { + __kind: 'Unroutable' +} + +export interface V2Error_UntrustedReserveLocation { + __kind: 'UntrustedReserveLocation' +} + +export interface V2Error_UntrustedTeleportLocation { + __kind: 'UntrustedTeleportLocation' +} + +export interface V2Error_WeightLimitReached { + __kind: 'WeightLimitReached' + value: bigint +} + +export interface V2Error_WeightNotComputable { + __kind: 'WeightNotComputable' +} + +export type V2Response = V2Response_Assets | V2Response_ExecutionResult | V2Response_Null | V2Response_Version + +export interface V2Response_Assets { + __kind: 'Assets' + value: V2MultiAsset[] +} + +export interface V2Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V2Error] | undefined) +} + +export interface V2Response_Null { + __kind: 'Null' +} + +export interface V2Response_Version { + __kind: 'Version' + value: number +} + +export interface V2MultiAsset { + id: V2AssetId + fun: V2Fungibility +} + +export type V2Fungibility = V2Fungibility_Fungible | V2Fungibility_NonFungible + +export interface V2Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V2Fungibility_NonFungible { + __kind: 'NonFungible' + value: V2AssetInstance +} + +export type V2AssetInstance = V2AssetInstance_Array16 | V2AssetInstance_Array32 | V2AssetInstance_Array4 | V2AssetInstance_Array8 | V2AssetInstance_Blob | V2AssetInstance_Index | V2AssetInstance_Undefined + +export interface V2AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V2AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V2AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V2AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V2AssetInstance_Blob { + __kind: 'Blob' + value: Bytes +} + +export interface V2AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V2AssetInstance_Undefined { + __kind: 'Undefined' +} + +export type V2AssetId = V2AssetId_Abstract | V2AssetId_Concrete + +export interface V2AssetId_Abstract { + __kind: 'Abstract' + value: Bytes +} + +export interface V2AssetId_Concrete { + __kind: 'Concrete' + value: V2MultiLocation +} + +export const V2Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: V2Junction, + X2: sts.tuple(() => [V2Junction, V2Junction]), + X3: sts.tuple(() => [V2Junction, V2Junction, V2Junction]), + X4: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction]), + X5: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X6: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X7: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X8: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + } +}) + +export const V2Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: V2NetworkId, + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: V2NetworkId, + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: V2NetworkId, + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: WeakBoundedVec, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V2BodyId, + part: V2BodyPart, + }), + } +}) + +export const V2BodyPart: sts.Type = sts.closedEnum(() => { + return { + AtLeastProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Fraction: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Members: sts.enumStruct({ + count: sts.number(), + }), + MoreThanProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Voice: sts.unit(), + } +}) + +export const V2BodyId: sts.Type = sts.closedEnum(() => { + return { + Administration: sts.unit(), + Defense: sts.unit(), + Executive: sts.unit(), + Index: sts.number(), + Judicial: sts.unit(), + Legislative: sts.unit(), + Named: WeakBoundedVec, + Technical: sts.unit(), + Treasury: sts.unit(), + Unit: sts.unit(), + } +}) + +export const WeakBoundedVec = sts.bytes() + +export const V2NetworkId: sts.Type = sts.closedEnum(() => { + return { + Any: sts.unit(), + Kusama: sts.unit(), + Named: WeakBoundedVec, + Polkadot: sts.unit(), + } +}) + +export const V2MultiAssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V2MultiAsset), + Wild: V2WildMultiAsset, + } +}) + +export const V2WildMultiAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllOf: sts.enumStruct({ + id: V2AssetId, + fun: V2WildFungibility, + }), + } +}) + +export const V2WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V2WildFungibility = V2WildFungibility_Fungible | V2WildFungibility_NonFungible + +export interface V2WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V2WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export const V2AssetId: sts.Type = sts.closedEnum(() => { + return { + Abstract: sts.bytes(), + Concrete: V2MultiLocation, + } +}) + +export type V2WildMultiAsset = V2WildMultiAsset_All | V2WildMultiAsset_AllOf + +export interface V2WildMultiAsset_All { + __kind: 'All' +} + +export interface V2WildMultiAsset_AllOf { + __kind: 'AllOf' + id: V2AssetId + fun: V2WildFungibility +} + +export type V2MultiAssetFilter = V2MultiAssetFilter_Definite | V2MultiAssetFilter_Wild + +export interface V2MultiAssetFilter_Definite { + __kind: 'Definite' + value: V2MultiAsset[] +} + +export interface V2MultiAssetFilter_Wild { + __kind: 'Wild' + value: V2WildMultiAsset +} + +export const V2MultiLocation: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V2Junctions, + } +}) + +export const V2WeightLimit: sts.Type = sts.closedEnum(() => { + return { + Limited: sts.bigint(), + Unlimited: sts.unit(), + } +}) + +export type V2WeightLimit = V2WeightLimit_Limited | V2WeightLimit_Unlimited + +export interface V2WeightLimit_Limited { + __kind: 'Limited' + value: bigint +} + +export interface V2WeightLimit_Unlimited { + __kind: 'Unlimited' +} + +export const V2MultiAsset: sts.Type = sts.struct(() => { + return { + id: V2AssetId, + fun: V2Fungibility, + } +}) + +export const V2Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V2AssetInstance, + } +}) + +export const V2AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Blob: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V2Instruction = V2Instruction_BuyExecution | V2Instruction_ClaimAsset | V2Instruction_ClearError | V2Instruction_ClearOrigin | V2Instruction_DepositAsset | V2Instruction_DepositReserveAsset | V2Instruction_DescendOrigin | V2Instruction_ExchangeAsset | V2Instruction_HrmpChannelAccepted | V2Instruction_HrmpChannelClosing | V2Instruction_HrmpNewChannelOpenRequest | V2Instruction_InitiateReserveWithdraw | V2Instruction_InitiateTeleport | V2Instruction_QueryHolding | V2Instruction_QueryResponse | V2Instruction_ReceiveTeleportedAsset | V2Instruction_RefundSurplus | V2Instruction_ReportError | V2Instruction_ReserveAssetDeposited | V2Instruction_SetAppendix | V2Instruction_SetErrorHandler | V2Instruction_SubscribeVersion | V2Instruction_Transact | V2Instruction_TransferAsset | V2Instruction_TransferReserveAsset | V2Instruction_Trap | V2Instruction_UnsubscribeVersion | V2Instruction_WithdrawAsset + +export interface V2Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V2MultiAsset + weightLimit: V2WeightLimit +} + +export interface V2Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V2MultiAsset[] + ticket: V2MultiLocation +} + +export interface V2Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V2Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V2Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V2MultiAssetFilter + maxAssets: number + beneficiary: V2MultiLocation +} + +export interface V2Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V2MultiAssetFilter + maxAssets: number + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V2Junctions +} + +export interface V2Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V2MultiAssetFilter + receive: V2MultiAsset[] +} + +export interface V2Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V2Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V2Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V2Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V2MultiAssetFilter + reserve: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V2MultiAssetFilter + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_QueryHolding { + __kind: 'QueryHolding' + queryId: bigint + dest: V2MultiLocation + assets: V2MultiAssetFilter + maxResponseWeight: bigint +} + +export interface V2Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V2Response + maxWeight: bigint +} + +export interface V2Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V2MultiAsset[] +} + +export interface V2Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V2Instruction_ReportError { + __kind: 'ReportError' + queryId: bigint + dest: V2MultiLocation + maxResponseWeight: bigint +} + +export interface V2Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V2MultiAsset[] +} + +export interface V2Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V2Instruction[] +} + +export interface V2Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V2Instruction[] +} + +export interface V2Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: bigint +} + +export interface V2Instruction_Transact { + __kind: 'Transact' + originType: V2OriginKind + requireWeightAtMost: bigint + call: DoubleEncoded +} + +export interface V2Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V2MultiAsset[] + beneficiary: V2MultiLocation +} + +export interface V2Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V2MultiAsset[] + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V2Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V2Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V2MultiAsset[] +} + +export type VersionedXcm = VersionedXcm_V2 | VersionedXcm_V3 | VersionedXcm_V4 + +export interface VersionedXcm_V2 { + __kind: 'V2' + value: V2Instruction[] +} + +export interface VersionedXcm_V3 { + __kind: 'V3' + value: V3Instruction[] +} + +export interface VersionedXcm_V4 { + __kind: 'V4' + value: V4Instruction[] +} + +export const V3WeightLimit: sts.Type = sts.closedEnum(() => { + return { + Limited: Weight, + Unlimited: sts.unit(), + } +}) + +export const V4Location: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V4Junctions, + } +}) + +export const Type_441: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => Type_444), + V3: sts.array(() => Type_448), + V4: sts.array(() => Type_451), + } +}) + +export const Type_451: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V4Location, + BurnAsset: sts.array(() => V4Asset), + BuyExecution: sts.enumStruct({ + fees: V4Asset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + ticket: V4Location, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V4AssetFilter, + beneficiary: V4Location, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + DescendOrigin: V4Junctions, + ExchangeAsset: sts.enumStruct({ + give: V4AssetFilter, + want: sts.array(() => V4Asset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V4Asset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V4Location), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V4NetworkId, + destination: V4Junctions, + xcm: sts.array(() => V4Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V4AssetFilter, + reserve: V4Location, + xcm: sts.array(() => V4Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V4Asset, + unlocker: V4Location, + }), + NoteUnlockable: sts.enumStruct({ + asset: V4Asset, + owner: V4Location, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V4QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V4Response, + maxWeight: Weight, + querier: sts.option(() => V4Location), + }), + ReceiveTeleportedAsset: sts.array(() => V4Asset), + RefundSurplus: sts.unit(), + ReportError: V4QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V4QueryResponseInfo, + assets: V4AssetFilter, + }), + ReportTransactStatus: V4QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V4Asset, + locker: V4Location, + }), + ReserveAssetDeposited: sts.array(() => V4Asset), + SetAppendix: sts.array(() => Type_451), + SetErrorHandler: sts.array(() => Type_451), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: Type_445, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + beneficiary: V4Location, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V4Junction, + UnlockAsset: sts.enumStruct({ + asset: V4Asset, + target: V4Location, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V4Location), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V4Asset), + } +}) + +export const Type_445: sts.Type = sts.struct(() => { + return { + encoded: sts.bytes(), + } +}) + +export interface Type_445 { + encoded: Bytes +} + +export type Type_451 = Type_451_AliasOrigin | Type_451_BurnAsset | Type_451_BuyExecution | Type_451_ClaimAsset | Type_451_ClearError | Type_451_ClearOrigin | Type_451_ClearTopic | Type_451_ClearTransactStatus | Type_451_DepositAsset | Type_451_DepositReserveAsset | Type_451_DescendOrigin | Type_451_ExchangeAsset | Type_451_ExpectAsset | Type_451_ExpectError | Type_451_ExpectOrigin | Type_451_ExpectPallet | Type_451_ExpectTransactStatus | Type_451_ExportMessage | Type_451_HrmpChannelAccepted | Type_451_HrmpChannelClosing | Type_451_HrmpNewChannelOpenRequest | Type_451_InitiateReserveWithdraw | Type_451_InitiateTeleport | Type_451_LockAsset | Type_451_NoteUnlockable | Type_451_QueryPallet | Type_451_QueryResponse | Type_451_ReceiveTeleportedAsset | Type_451_RefundSurplus | Type_451_ReportError | Type_451_ReportHolding | Type_451_ReportTransactStatus | Type_451_RequestUnlock | Type_451_ReserveAssetDeposited | Type_451_SetAppendix | Type_451_SetErrorHandler | Type_451_SetFeesMode | Type_451_SetTopic | Type_451_SubscribeVersion | Type_451_Transact | Type_451_TransferAsset | Type_451_TransferReserveAsset | Type_451_Trap | Type_451_UniversalOrigin | Type_451_UnlockAsset | Type_451_UnpaidExecution | Type_451_UnsubscribeVersion | Type_451_WithdrawAsset + +export interface Type_451_AliasOrigin { + __kind: 'AliasOrigin' + value: V4Location +} + +export interface Type_451_BurnAsset { + __kind: 'BurnAsset' + value: V4Asset[] +} + +export interface Type_451_BuyExecution { + __kind: 'BuyExecution' + fees: V4Asset + weightLimit: V3WeightLimit +} + +export interface Type_451_ClaimAsset { + __kind: 'ClaimAsset' + assets: V4Asset[] + ticket: V4Location +} + +export interface Type_451_ClearError { + __kind: 'ClearError' +} + +export interface Type_451_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_451_ClearTopic { + __kind: 'ClearTopic' +} + +export interface Type_451_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface Type_451_DepositAsset { + __kind: 'DepositAsset' + assets: V4AssetFilter + beneficiary: V4Location +} + +export interface Type_451_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_451_DescendOrigin { + __kind: 'DescendOrigin' + value: V4Junctions +} + +export interface Type_451_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V4AssetFilter + want: V4Asset[] + maximal: boolean +} + +export interface Type_451_ExpectAsset { + __kind: 'ExpectAsset' + value: V4Asset[] +} + +export interface Type_451_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface Type_451_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V4Location | undefined) +} + +export interface Type_451_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface Type_451_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface Type_451_ExportMessage { + __kind: 'ExportMessage' + network: V4NetworkId + destination: V4Junctions + xcm: V4Instruction[] +} + +export interface Type_451_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_451_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_451_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_451_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V4AssetFilter + reserve: V4Location + xcm: V4Instruction[] +} + +export interface Type_451_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_451_LockAsset { + __kind: 'LockAsset' + asset: V4Asset + unlocker: V4Location +} + +export interface Type_451_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V4Asset + owner: V4Location +} + +export interface Type_451_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V4QueryResponseInfo +} + +export interface Type_451_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V4Response + maxWeight: Weight + querier?: (V4Location | undefined) +} + +export interface Type_451_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V4Asset[] +} + +export interface Type_451_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_451_ReportError { + __kind: 'ReportError' + value: V4QueryResponseInfo +} + +export interface Type_451_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V4QueryResponseInfo + assets: V4AssetFilter +} + +export interface Type_451_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V4QueryResponseInfo +} + +export interface Type_451_RequestUnlock { + __kind: 'RequestUnlock' + asset: V4Asset + locker: V4Location +} + +export interface Type_451_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V4Asset[] +} + +export interface Type_451_SetAppendix { + __kind: 'SetAppendix' + value: Type_451[] +} + +export interface Type_451_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_451[] +} + +export interface Type_451_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface Type_451_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface Type_451_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface Type_451_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: Type_445 +} + +export interface Type_451_TransferAsset { + __kind: 'TransferAsset' + assets: V4Asset[] + beneficiary: V4Location +} + +export interface Type_451_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V4Asset[] + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_451_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_451_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V4Junction +} + +export interface Type_451_UnlockAsset { + __kind: 'UnlockAsset' + asset: V4Asset + target: V4Location +} + +export interface Type_451_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V4Location | undefined) +} + +export interface Type_451_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_451_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V4Asset[] +} + +export const Type_448: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V3MultiLocation, + BurnAsset: sts.array(() => V3MultiAsset), + BuyExecution: sts.enumStruct({ + fees: V3MultiAsset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + ticket: V3MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + beneficiary: V3MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + DescendOrigin: V3Junctions, + ExchangeAsset: sts.enumStruct({ + give: V3MultiAssetFilter, + want: sts.array(() => V3MultiAsset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V3MultiAsset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V3MultiLocation), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V3NetworkId, + destination: V3Junctions, + xcm: sts.array(() => V3Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V3MultiAssetFilter, + reserve: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V3MultiAsset, + unlocker: V3MultiLocation, + }), + NoteUnlockable: sts.enumStruct({ + asset: V3MultiAsset, + owner: V3MultiLocation, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V3QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V3Response, + maxWeight: Weight, + querier: sts.option(() => V3MultiLocation), + }), + ReceiveTeleportedAsset: sts.array(() => V3MultiAsset), + RefundSurplus: sts.unit(), + ReportError: V3QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V3QueryResponseInfo, + assets: V3MultiAssetFilter, + }), + ReportTransactStatus: V3QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V3MultiAsset, + locker: V3MultiLocation, + }), + ReserveAssetDeposited: sts.array(() => V3MultiAsset), + SetAppendix: sts.array(() => Type_448), + SetErrorHandler: sts.array(() => Type_448), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V2OriginKind, + requireWeightAtMost: Weight, + call: Type_445, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + beneficiary: V3MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V3Junction, + UnlockAsset: sts.enumStruct({ + asset: V3MultiAsset, + target: V3MultiLocation, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V3MultiLocation), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V3MultiAsset), + } +}) + +export type Type_448 = Type_448_AliasOrigin | Type_448_BurnAsset | Type_448_BuyExecution | Type_448_ClaimAsset | Type_448_ClearError | Type_448_ClearOrigin | Type_448_ClearTopic | Type_448_ClearTransactStatus | Type_448_DepositAsset | Type_448_DepositReserveAsset | Type_448_DescendOrigin | Type_448_ExchangeAsset | Type_448_ExpectAsset | Type_448_ExpectError | Type_448_ExpectOrigin | Type_448_ExpectPallet | Type_448_ExpectTransactStatus | Type_448_ExportMessage | Type_448_HrmpChannelAccepted | Type_448_HrmpChannelClosing | Type_448_HrmpNewChannelOpenRequest | Type_448_InitiateReserveWithdraw | Type_448_InitiateTeleport | Type_448_LockAsset | Type_448_NoteUnlockable | Type_448_QueryPallet | Type_448_QueryResponse | Type_448_ReceiveTeleportedAsset | Type_448_RefundSurplus | Type_448_ReportError | Type_448_ReportHolding | Type_448_ReportTransactStatus | Type_448_RequestUnlock | Type_448_ReserveAssetDeposited | Type_448_SetAppendix | Type_448_SetErrorHandler | Type_448_SetFeesMode | Type_448_SetTopic | Type_448_SubscribeVersion | Type_448_Transact | Type_448_TransferAsset | Type_448_TransferReserveAsset | Type_448_Trap | Type_448_UniversalOrigin | Type_448_UnlockAsset | Type_448_UnpaidExecution | Type_448_UnsubscribeVersion | Type_448_WithdrawAsset + +export interface Type_448_AliasOrigin { + __kind: 'AliasOrigin' + value: V3MultiLocation +} + +export interface Type_448_BurnAsset { + __kind: 'BurnAsset' + value: V3MultiAsset[] +} + +export interface Type_448_BuyExecution { + __kind: 'BuyExecution' + fees: V3MultiAsset + weightLimit: V3WeightLimit +} + +export interface Type_448_ClaimAsset { + __kind: 'ClaimAsset' + assets: V3MultiAsset[] + ticket: V3MultiLocation +} + +export interface Type_448_ClearError { + __kind: 'ClearError' +} + +export interface Type_448_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_448_ClearTopic { + __kind: 'ClearTopic' +} + +export interface Type_448_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface Type_448_DepositAsset { + __kind: 'DepositAsset' + assets: V3MultiAssetFilter + beneficiary: V3MultiLocation +} + +export interface Type_448_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_448_DescendOrigin { + __kind: 'DescendOrigin' + value: V3Junctions +} + +export interface Type_448_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V3MultiAssetFilter + want: V3MultiAsset[] + maximal: boolean +} + +export interface Type_448_ExpectAsset { + __kind: 'ExpectAsset' + value: V3MultiAsset[] +} + +export interface Type_448_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface Type_448_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V3MultiLocation | undefined) +} + +export interface Type_448_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface Type_448_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface Type_448_ExportMessage { + __kind: 'ExportMessage' + network: V3NetworkId + destination: V3Junctions + xcm: V3Instruction[] +} + +export interface Type_448_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_448_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_448_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_448_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V3MultiAssetFilter + reserve: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_448_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_448_LockAsset { + __kind: 'LockAsset' + asset: V3MultiAsset + unlocker: V3MultiLocation +} + +export interface Type_448_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V3MultiAsset + owner: V3MultiLocation +} + +export interface Type_448_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V3QueryResponseInfo +} + +export interface Type_448_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V3Response + maxWeight: Weight + querier?: (V3MultiLocation | undefined) +} + +export interface Type_448_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V3MultiAsset[] +} + +export interface Type_448_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_448_ReportError { + __kind: 'ReportError' + value: V3QueryResponseInfo +} + +export interface Type_448_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V3QueryResponseInfo + assets: V3MultiAssetFilter +} + +export interface Type_448_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V3QueryResponseInfo +} + +export interface Type_448_RequestUnlock { + __kind: 'RequestUnlock' + asset: V3MultiAsset + locker: V3MultiLocation +} + +export interface Type_448_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V3MultiAsset[] +} + +export interface Type_448_SetAppendix { + __kind: 'SetAppendix' + value: Type_448[] +} + +export interface Type_448_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_448[] +} + +export interface Type_448_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface Type_448_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface Type_448_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface Type_448_Transact { + __kind: 'Transact' + originKind: V2OriginKind + requireWeightAtMost: Weight + call: Type_445 +} + +export interface Type_448_TransferAsset { + __kind: 'TransferAsset' + assets: V3MultiAsset[] + beneficiary: V3MultiLocation +} + +export interface Type_448_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V3MultiAsset[] + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_448_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_448_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V3Junction +} + +export interface Type_448_UnlockAsset { + __kind: 'UnlockAsset' + asset: V3MultiAsset + target: V3MultiLocation +} + +export interface Type_448_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V3MultiLocation | undefined) +} + +export interface Type_448_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_448_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V3MultiAsset[] +} + +export const Type_444: sts.Type = sts.closedEnum(() => { + return { + BuyExecution: sts.enumStruct({ + fees: V2MultiAsset, + weightLimit: V2WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + ticket: V2MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + beneficiary: V2MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + DescendOrigin: V2Junctions, + ExchangeAsset: sts.enumStruct({ + give: V2MultiAssetFilter, + receive: sts.array(() => V2MultiAsset), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V2MultiAssetFilter, + reserve: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V2MultiAssetFilter, + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + QueryHolding: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + assets: V2MultiAssetFilter, + maxResponseWeight: sts.bigint(), + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V2Response, + maxWeight: sts.bigint(), + }), + ReceiveTeleportedAsset: sts.array(() => V2MultiAsset), + RefundSurplus: sts.unit(), + ReportError: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + maxResponseWeight: sts.bigint(), + }), + ReserveAssetDeposited: sts.array(() => V2MultiAsset), + SetAppendix: sts.array(() => Type_444), + SetErrorHandler: sts.array(() => Type_444), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: sts.bigint(), + }), + Transact: sts.enumStruct({ + originType: V2OriginKind, + requireWeightAtMost: sts.bigint(), + call: Type_445, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + beneficiary: V2MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + Trap: sts.bigint(), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V2MultiAsset), + } +}) + +export type Type_444 = Type_444_BuyExecution | Type_444_ClaimAsset | Type_444_ClearError | Type_444_ClearOrigin | Type_444_DepositAsset | Type_444_DepositReserveAsset | Type_444_DescendOrigin | Type_444_ExchangeAsset | Type_444_HrmpChannelAccepted | Type_444_HrmpChannelClosing | Type_444_HrmpNewChannelOpenRequest | Type_444_InitiateReserveWithdraw | Type_444_InitiateTeleport | Type_444_QueryHolding | Type_444_QueryResponse | Type_444_ReceiveTeleportedAsset | Type_444_RefundSurplus | Type_444_ReportError | Type_444_ReserveAssetDeposited | Type_444_SetAppendix | Type_444_SetErrorHandler | Type_444_SubscribeVersion | Type_444_Transact | Type_444_TransferAsset | Type_444_TransferReserveAsset | Type_444_Trap | Type_444_UnsubscribeVersion | Type_444_WithdrawAsset + +export interface Type_444_BuyExecution { + __kind: 'BuyExecution' + fees: V2MultiAsset + weightLimit: V2WeightLimit +} + +export interface Type_444_ClaimAsset { + __kind: 'ClaimAsset' + assets: V2MultiAsset[] + ticket: V2MultiLocation +} + +export interface Type_444_ClearError { + __kind: 'ClearError' +} + +export interface Type_444_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_444_DepositAsset { + __kind: 'DepositAsset' + assets: V2MultiAssetFilter + maxAssets: number + beneficiary: V2MultiLocation +} + +export interface Type_444_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V2MultiAssetFilter + maxAssets: number + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_444_DescendOrigin { + __kind: 'DescendOrigin' + value: V2Junctions +} + +export interface Type_444_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V2MultiAssetFilter + receive: V2MultiAsset[] +} + +export interface Type_444_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_444_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_444_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_444_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V2MultiAssetFilter + reserve: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_444_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V2MultiAssetFilter + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_444_QueryHolding { + __kind: 'QueryHolding' + queryId: bigint + dest: V2MultiLocation + assets: V2MultiAssetFilter + maxResponseWeight: bigint +} + +export interface Type_444_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V2Response + maxWeight: bigint +} + +export interface Type_444_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V2MultiAsset[] +} + +export interface Type_444_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_444_ReportError { + __kind: 'ReportError' + queryId: bigint + dest: V2MultiLocation + maxResponseWeight: bigint +} + +export interface Type_444_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V2MultiAsset[] +} + +export interface Type_444_SetAppendix { + __kind: 'SetAppendix' + value: Type_444[] +} + +export interface Type_444_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_444[] +} + +export interface Type_444_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: bigint +} + +export interface Type_444_Transact { + __kind: 'Transact' + originType: V2OriginKind + requireWeightAtMost: bigint + call: Type_445 +} + +export interface Type_444_TransferAsset { + __kind: 'TransferAsset' + assets: V2MultiAsset[] + beneficiary: V2MultiLocation +} + +export interface Type_444_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V2MultiAsset[] + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_444_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_444_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_444_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V2MultiAsset[] +} + +export type Type_441 = Type_441_V2 | Type_441_V3 | Type_441_V4 + +export interface Type_441_V2 { + __kind: 'V2' + value: Type_444[] +} + +export interface Type_441_V3 { + __kind: 'V3' + value: Type_448[] +} + +export interface Type_441_V4 { + __kind: 'V4' + value: Type_451[] +} + +export const VersionedLocation: sts.Type = sts.closedEnum(() => { + return { + V2: V2MultiLocation, + V3: V3MultiLocation, + V4: V4Location, + } +}) + +export const VersionedAssets: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => V2MultiAsset), + V3: sts.array(() => V3MultiAsset), + V4: sts.array(() => V4Asset), + } +}) + +export type VersionedAssets = VersionedAssets_V2 | VersionedAssets_V3 | VersionedAssets_V4 + +export interface VersionedAssets_V2 { + __kind: 'V2' + value: V2MultiAsset[] +} + +export interface VersionedAssets_V3 { + __kind: 'V3' + value: V3MultiAsset[] +} + +export interface VersionedAssets_V4 { + __kind: 'V4' + value: V4Asset[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type XcmPalletCall = XcmPalletCall_claim_assets | XcmPalletCall_execute | XcmPalletCall_force_default_xcm_version | XcmPalletCall_force_subscribe_version_notify | XcmPalletCall_force_suspension | XcmPalletCall_force_unsubscribe_version_notify | XcmPalletCall_force_xcm_version | XcmPalletCall_limited_reserve_transfer_assets | XcmPalletCall_limited_teleport_assets | XcmPalletCall_reserve_transfer_assets | XcmPalletCall_send | XcmPalletCall_teleport_assets | XcmPalletCall_transfer_assets | XcmPalletCall_transfer_assets_using_type_and_then + +/** + * See [`Pallet::claim_assets`]. + */ +export interface XcmPalletCall_claim_assets { + __kind: 'claim_assets' + assets: VersionedAssets + beneficiary: VersionedLocation +} + +/** + * See [`Pallet::execute`]. + */ +export interface XcmPalletCall_execute { + __kind: 'execute' + message: Type_441 + maxWeight: Weight +} + +/** + * See [`Pallet::force_default_xcm_version`]. + */ +export interface XcmPalletCall_force_default_xcm_version { + __kind: 'force_default_xcm_version' + maybeXcmVersion?: (number | undefined) +} + +/** + * See [`Pallet::force_subscribe_version_notify`]. + */ +export interface XcmPalletCall_force_subscribe_version_notify { + __kind: 'force_subscribe_version_notify' + location: VersionedLocation +} + +/** + * See [`Pallet::force_suspension`]. + */ +export interface XcmPalletCall_force_suspension { + __kind: 'force_suspension' + suspended: boolean +} + +/** + * See [`Pallet::force_unsubscribe_version_notify`]. + */ +export interface XcmPalletCall_force_unsubscribe_version_notify { + __kind: 'force_unsubscribe_version_notify' + location: VersionedLocation +} + +/** + * See [`Pallet::force_xcm_version`]. + */ +export interface XcmPalletCall_force_xcm_version { + __kind: 'force_xcm_version' + location: V4Location + version: number +} + +/** + * See [`Pallet::limited_reserve_transfer_assets`]. + */ +export interface XcmPalletCall_limited_reserve_transfer_assets { + __kind: 'limited_reserve_transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * See [`Pallet::limited_teleport_assets`]. + */ +export interface XcmPalletCall_limited_teleport_assets { + __kind: 'limited_teleport_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * See [`Pallet::reserve_transfer_assets`]. + */ +export interface XcmPalletCall_reserve_transfer_assets { + __kind: 'reserve_transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number +} + +/** + * See [`Pallet::send`]. + */ +export interface XcmPalletCall_send { + __kind: 'send' + dest: VersionedLocation + message: VersionedXcm +} + +/** + * See [`Pallet::teleport_assets`]. + */ +export interface XcmPalletCall_teleport_assets { + __kind: 'teleport_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number +} + +/** + * See [`Pallet::transfer_assets`]. + */ +export interface XcmPalletCall_transfer_assets { + __kind: 'transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * See [`Pallet::transfer_assets_using_type_and_then`]. + */ +export interface XcmPalletCall_transfer_assets_using_type_and_then { + __kind: 'transfer_assets_using_type_and_then' + dest: VersionedLocation + assets: VersionedAssets + assetsTransferType: TransferType + remoteFeesId: VersionedAssetId + feesTransferType: TransferType + customXcmOnDest: VersionedXcm + weightLimit: V3WeightLimit +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const WhitelistCall: sts.Type = sts.closedEnum(() => { + return { + dispatch_whitelisted_call: sts.enumStruct({ + callHash: H256, + callEncodedLen: sts.number(), + callWeightWitness: Weight, + }), + dispatch_whitelisted_call_with_preimage: sts.enumStruct({ + call: Call, + }), + remove_whitelisted_call: sts.enumStruct({ + callHash: H256, + }), + whitelist_call: sts.enumStruct({ + callHash: H256, + }), + } +}) + +export const H256 = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type WhitelistCall = WhitelistCall_dispatch_whitelisted_call | WhitelistCall_dispatch_whitelisted_call_with_preimage | WhitelistCall_remove_whitelisted_call | WhitelistCall_whitelist_call + +/** + * See [`Pallet::dispatch_whitelisted_call`]. + */ +export interface WhitelistCall_dispatch_whitelisted_call { + __kind: 'dispatch_whitelisted_call' + callHash: H256 + callEncodedLen: number + callWeightWitness: Weight +} + +/** + * See [`Pallet::dispatch_whitelisted_call_with_preimage`]. + */ +export interface WhitelistCall_dispatch_whitelisted_call_with_preimage { + __kind: 'dispatch_whitelisted_call_with_preimage' + call: Call +} + +/** + * See [`Pallet::remove_whitelisted_call`]. + */ +export interface WhitelistCall_remove_whitelisted_call { + __kind: 'remove_whitelisted_call' + callHash: H256 +} + +/** + * See [`Pallet::whitelist_call`]. + */ +export interface WhitelistCall_whitelist_call { + __kind: 'whitelist_call' + callHash: H256 +} + +export type H256 = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const VoterListCall: sts.Type = sts.closedEnum(() => { + return { + put_in_front_of: sts.enumStruct({ + lighter: MultiAddress, + }), + put_in_front_of_other: sts.enumStruct({ + heavier: MultiAddress, + lighter: MultiAddress, + }), + rebag: sts.enumStruct({ + dislocated: MultiAddress, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type VoterListCall = VoterListCall_put_in_front_of | VoterListCall_put_in_front_of_other | VoterListCall_rebag + +/** + * See [`Pallet::put_in_front_of`]. + */ +export interface VoterListCall_put_in_front_of { + __kind: 'put_in_front_of' + lighter: MultiAddress +} + +/** + * See [`Pallet::put_in_front_of_other`]. + */ +export interface VoterListCall_put_in_front_of_other { + __kind: 'put_in_front_of_other' + heavier: MultiAddress + lighter: MultiAddress +} + +/** + * See [`Pallet::rebag`]. + */ +export interface VoterListCall_rebag { + __kind: 'rebag' + dislocated: MultiAddress +} + +export type MultiAddress = MultiAddress_Address20 | MultiAddress_Address32 | MultiAddress_Id | MultiAddress_Index | MultiAddress_Raw + +export interface MultiAddress_Address20 { + __kind: 'Address20' + value: Bytes +} + +export interface MultiAddress_Address32 { + __kind: 'Address32' + value: Bytes +} + +export interface MultiAddress_Id { + __kind: 'Id' + value: AccountId32 +} + +export interface MultiAddress_Index { + __kind: 'Index' +} + +export interface MultiAddress_Raw { + __kind: 'Raw' + value: Bytes +} + +export type AccountId32 = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const VestingCall: sts.Type = sts.closedEnum(() => { + return { + force_remove_vesting_schedule: sts.enumStruct({ + target: MultiAddress, + scheduleIndex: sts.number(), + }), + force_vested_transfer: sts.enumStruct({ + source: MultiAddress, + target: MultiAddress, + schedule: VestingInfo, + }), + merge_schedules: sts.enumStruct({ + schedule1Index: sts.number(), + schedule2Index: sts.number(), + }), + vest: sts.unit(), + vest_other: sts.enumStruct({ + target: MultiAddress, + }), + vested_transfer: sts.enumStruct({ + target: MultiAddress, + schedule: VestingInfo, + }), + } +}) + +export const VestingInfo: sts.Type = sts.struct(() => { + return { + locked: sts.bigint(), + perBlock: sts.bigint(), + startingBlock: sts.number(), + } +}) + +export interface VestingInfo { + locked: bigint + perBlock: bigint + startingBlock: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type VestingCall = VestingCall_force_remove_vesting_schedule | VestingCall_force_vested_transfer | VestingCall_merge_schedules | VestingCall_vest | VestingCall_vest_other | VestingCall_vested_transfer + +/** + * See [`Pallet::force_remove_vesting_schedule`]. + */ +export interface VestingCall_force_remove_vesting_schedule { + __kind: 'force_remove_vesting_schedule' + target: MultiAddress + scheduleIndex: number +} + +/** + * See [`Pallet::force_vested_transfer`]. + */ +export interface VestingCall_force_vested_transfer { + __kind: 'force_vested_transfer' + source: MultiAddress + target: MultiAddress + schedule: VestingInfo +} + +/** + * See [`Pallet::merge_schedules`]. + */ +export interface VestingCall_merge_schedules { + __kind: 'merge_schedules' + schedule1Index: number + schedule2Index: number +} + +/** + * See [`Pallet::vest`]. + */ +export interface VestingCall_vest { + __kind: 'vest' +} + +/** + * See [`Pallet::vest_other`]. + */ +export interface VestingCall_vest_other { + __kind: 'vest_other' + target: MultiAddress +} + +/** + * See [`Pallet::vested_transfer`]. + */ +export interface VestingCall_vested_transfer { + __kind: 'vested_transfer' + target: MultiAddress + schedule: VestingInfo +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const UtilityCall: sts.Type = sts.closedEnum(() => { + return { + as_derivative: sts.enumStruct({ + index: sts.number(), + call: Call, + }), + batch: sts.enumStruct({ + calls: sts.array(() => Call), + }), + batch_all: sts.enumStruct({ + calls: sts.array(() => Call), + }), + dispatch_as: sts.enumStruct({ + asOrigin: OriginCaller, + call: Call, + }), + force_batch: sts.enumStruct({ + calls: sts.array(() => Call), + }), + with_weight: sts.enumStruct({ + call: Call, + weight: Weight, + }), + } +}) + +export const OriginCaller: sts.Type = sts.closedEnum(() => { + return { + Origins: Origin, + ParachainsOrigin: Type_164, + Void: Void, + XcmPallet: Type_166, + system: RawOrigin, + } +}) + +export const RawOrigin: sts.Type = sts.closedEnum(() => { + return { + None: sts.unit(), + Root: sts.unit(), + Signed: AccountId32, + } +}) + +export type RawOrigin = RawOrigin_None | RawOrigin_Root | RawOrigin_Signed + +export interface RawOrigin_None { + __kind: 'None' +} + +export interface RawOrigin_Root { + __kind: 'Root' +} + +export interface RawOrigin_Signed { + __kind: 'Signed' + value: AccountId32 +} + +export const Type_166: sts.Type = sts.closedEnum(() => { + return { + Response: V4Location, + Xcm: V4Location, + } +}) + +export type Type_166 = Type_166_Response | Type_166_Xcm + +export interface Type_166_Response { + __kind: 'Response' + value: V4Location +} + +export interface Type_166_Xcm { + __kind: 'Xcm' + value: V4Location +} + +export const Void: sts.Type = sts.closedEnum(() => { + return { + } +}) + +export type Void = never + +export const Type_164: sts.Type = sts.closedEnum(() => { + return { + Parachain: Id, + } +}) + +export const Id = sts.number() + +export type Type_164 = Type_164_Parachain + +export interface Type_164_Parachain { + __kind: 'Parachain' + value: Id +} + +export type Id = number + +export const Origin: sts.Type = sts.closedEnum(() => { + return { + AuctionAdmin: sts.unit(), + BigSpender: sts.unit(), + BigTipper: sts.unit(), + Fellows: sts.unit(), + Fellowship1Dan: sts.unit(), + Fellowship2Dan: sts.unit(), + Fellowship3Dan: sts.unit(), + Fellowship4Dan: sts.unit(), + Fellowship5Dan: sts.unit(), + Fellowship6Dan: sts.unit(), + Fellowship7Dan: sts.unit(), + Fellowship8Dan: sts.unit(), + Fellowship9Dan: sts.unit(), + FellowshipAdmin: sts.unit(), + FellowshipExperts: sts.unit(), + FellowshipInitiates: sts.unit(), + FellowshipMasters: sts.unit(), + GeneralAdmin: sts.unit(), + LeaseAdmin: sts.unit(), + MediumSpender: sts.unit(), + ReferendumCanceller: sts.unit(), + ReferendumKiller: sts.unit(), + SmallSpender: sts.unit(), + SmallTipper: sts.unit(), + StakingAdmin: sts.unit(), + Treasurer: sts.unit(), + WhitelistedCaller: sts.unit(), + WishForChange: sts.unit(), + } +}) + +export type Origin = Origin_AuctionAdmin | Origin_BigSpender | Origin_BigTipper | Origin_Fellows | Origin_Fellowship1Dan | Origin_Fellowship2Dan | Origin_Fellowship3Dan | Origin_Fellowship4Dan | Origin_Fellowship5Dan | Origin_Fellowship6Dan | Origin_Fellowship7Dan | Origin_Fellowship8Dan | Origin_Fellowship9Dan | Origin_FellowshipAdmin | Origin_FellowshipExperts | Origin_FellowshipInitiates | Origin_FellowshipMasters | Origin_GeneralAdmin | Origin_LeaseAdmin | Origin_MediumSpender | Origin_ReferendumCanceller | Origin_ReferendumKiller | Origin_SmallSpender | Origin_SmallTipper | Origin_StakingAdmin | Origin_Treasurer | Origin_WhitelistedCaller | Origin_WishForChange + +export interface Origin_AuctionAdmin { + __kind: 'AuctionAdmin' +} + +export interface Origin_BigSpender { + __kind: 'BigSpender' +} + +export interface Origin_BigTipper { + __kind: 'BigTipper' +} + +export interface Origin_Fellows { + __kind: 'Fellows' +} + +export interface Origin_Fellowship1Dan { + __kind: 'Fellowship1Dan' +} + +export interface Origin_Fellowship2Dan { + __kind: 'Fellowship2Dan' +} + +export interface Origin_Fellowship3Dan { + __kind: 'Fellowship3Dan' +} + +export interface Origin_Fellowship4Dan { + __kind: 'Fellowship4Dan' +} + +export interface Origin_Fellowship5Dan { + __kind: 'Fellowship5Dan' +} + +export interface Origin_Fellowship6Dan { + __kind: 'Fellowship6Dan' +} + +export interface Origin_Fellowship7Dan { + __kind: 'Fellowship7Dan' +} + +export interface Origin_Fellowship8Dan { + __kind: 'Fellowship8Dan' +} + +export interface Origin_Fellowship9Dan { + __kind: 'Fellowship9Dan' +} + +export interface Origin_FellowshipAdmin { + __kind: 'FellowshipAdmin' +} + +export interface Origin_FellowshipExperts { + __kind: 'FellowshipExperts' +} + +export interface Origin_FellowshipInitiates { + __kind: 'FellowshipInitiates' +} + +export interface Origin_FellowshipMasters { + __kind: 'FellowshipMasters' +} + +export interface Origin_GeneralAdmin { + __kind: 'GeneralAdmin' +} + +export interface Origin_LeaseAdmin { + __kind: 'LeaseAdmin' +} + +export interface Origin_MediumSpender { + __kind: 'MediumSpender' +} + +export interface Origin_ReferendumCanceller { + __kind: 'ReferendumCanceller' +} + +export interface Origin_ReferendumKiller { + __kind: 'ReferendumKiller' +} + +export interface Origin_SmallSpender { + __kind: 'SmallSpender' +} + +export interface Origin_SmallTipper { + __kind: 'SmallTipper' +} + +export interface Origin_StakingAdmin { + __kind: 'StakingAdmin' +} + +export interface Origin_Treasurer { + __kind: 'Treasurer' +} + +export interface Origin_WhitelistedCaller { + __kind: 'WhitelistedCaller' +} + +export interface Origin_WishForChange { + __kind: 'WishForChange' +} + +export type OriginCaller = OriginCaller_Origins | OriginCaller_ParachainsOrigin | OriginCaller_Void | OriginCaller_XcmPallet | OriginCaller_system + +export interface OriginCaller_Origins { + __kind: 'Origins' + value: Origin +} + +export interface OriginCaller_ParachainsOrigin { + __kind: 'ParachainsOrigin' + value: Type_164 +} + +export interface OriginCaller_Void { + __kind: 'Void' + value: Void +} + +export interface OriginCaller_XcmPallet { + __kind: 'XcmPallet' + value: Type_166 +} + +export interface OriginCaller_system { + __kind: 'system' + value: RawOrigin +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type UtilityCall = UtilityCall_as_derivative | UtilityCall_batch | UtilityCall_batch_all | UtilityCall_dispatch_as | UtilityCall_force_batch | UtilityCall_with_weight + +/** + * See [`Pallet::as_derivative`]. + */ +export interface UtilityCall_as_derivative { + __kind: 'as_derivative' + index: number + call: Call +} + +/** + * See [`Pallet::batch`]. + */ +export interface UtilityCall_batch { + __kind: 'batch' + calls: Call[] +} + +/** + * See [`Pallet::batch_all`]. + */ +export interface UtilityCall_batch_all { + __kind: 'batch_all' + calls: Call[] +} + +/** + * See [`Pallet::dispatch_as`]. + */ +export interface UtilityCall_dispatch_as { + __kind: 'dispatch_as' + asOrigin: OriginCaller + call: Call +} + +/** + * See [`Pallet::force_batch`]. + */ +export interface UtilityCall_force_batch { + __kind: 'force_batch' + calls: Call[] +} + +/** + * See [`Pallet::with_weight`]. + */ +export interface UtilityCall_with_weight { + __kind: 'with_weight' + call: Call + weight: Weight +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const TreasuryCall: sts.Type = sts.closedEnum(() => { + return { + approve_proposal: sts.enumStruct({ + proposalId: sts.number(), + }), + check_status: sts.enumStruct({ + index: sts.number(), + }), + payout: sts.enumStruct({ + index: sts.number(), + }), + propose_spend: sts.enumStruct({ + value: sts.bigint(), + beneficiary: MultiAddress, + }), + reject_proposal: sts.enumStruct({ + proposalId: sts.number(), + }), + remove_approval: sts.enumStruct({ + proposalId: sts.number(), + }), + spend: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + amount: sts.bigint(), + beneficiary: VersionedLocation, + validFrom: sts.option(() => sts.number()), + }), + spend_local: sts.enumStruct({ + amount: sts.bigint(), + beneficiary: MultiAddress, + }), + void_spend: sts.enumStruct({ + index: sts.number(), + }), + } +}) + +export const VersionedLocatableAsset: sts.Type = sts.closedEnum(() => { + return { + V3: sts.enumStruct({ + location: V3MultiLocation, + assetId: V3AssetId, + }), + V4: sts.enumStruct({ + location: V4Location, + assetId: V4AssetId, + }), + } +}) + +export type VersionedLocatableAsset = VersionedLocatableAsset_V3 | VersionedLocatableAsset_V4 + +export interface VersionedLocatableAsset_V3 { + __kind: 'V3' + location: V3MultiLocation + assetId: V3AssetId +} + +export interface VersionedLocatableAsset_V4 { + __kind: 'V4' + location: V4Location + assetId: V4AssetId +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type TreasuryCall = TreasuryCall_approve_proposal | TreasuryCall_check_status | TreasuryCall_payout | TreasuryCall_propose_spend | TreasuryCall_reject_proposal | TreasuryCall_remove_approval | TreasuryCall_spend | TreasuryCall_spend_local | TreasuryCall_void_spend + +/** + * See [`Pallet::approve_proposal`]. + */ +export interface TreasuryCall_approve_proposal { + __kind: 'approve_proposal' + proposalId: number +} + +/** + * See [`Pallet::check_status`]. + */ +export interface TreasuryCall_check_status { + __kind: 'check_status' + index: number +} + +/** + * See [`Pallet::payout`]. + */ +export interface TreasuryCall_payout { + __kind: 'payout' + index: number +} + +/** + * See [`Pallet::propose_spend`]. + */ +export interface TreasuryCall_propose_spend { + __kind: 'propose_spend' + value: bigint + beneficiary: MultiAddress +} + +/** + * See [`Pallet::reject_proposal`]. + */ +export interface TreasuryCall_reject_proposal { + __kind: 'reject_proposal' + proposalId: number +} + +/** + * See [`Pallet::remove_approval`]. + */ +export interface TreasuryCall_remove_approval { + __kind: 'remove_approval' + proposalId: number +} + +/** + * See [`Pallet::spend`]. + */ +export interface TreasuryCall_spend { + __kind: 'spend' + assetKind: VersionedLocatableAsset + amount: bigint + beneficiary: VersionedLocation + validFrom?: (number | undefined) +} + +/** + * See [`Pallet::spend_local`]. + */ +export interface TreasuryCall_spend_local { + __kind: 'spend_local' + amount: bigint + beneficiary: MultiAddress +} + +/** + * See [`Pallet::void_spend`]. + */ +export interface TreasuryCall_void_spend { + __kind: 'void_spend' + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const TimestampCall: sts.Type = sts.closedEnum(() => { + return { + set: sts.enumStruct({ + now: sts.bigint(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type TimestampCall = TimestampCall_set + +/** + * See [`Pallet::set`]. + */ +export interface TimestampCall_set { + __kind: 'set' + now: bigint +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SystemCall: sts.Type = sts.closedEnum(() => { + return { + apply_authorized_upgrade: sts.enumStruct({ + code: sts.bytes(), + }), + authorize_upgrade: sts.enumStruct({ + codeHash: H256, + }), + authorize_upgrade_without_checks: sts.enumStruct({ + codeHash: H256, + }), + kill_prefix: sts.enumStruct({ + prefix: sts.bytes(), + subkeys: sts.number(), + }), + kill_storage: sts.enumStruct({ + keys: sts.array(() => sts.bytes()), + }), + remark: sts.enumStruct({ + remark: sts.bytes(), + }), + remark_with_event: sts.enumStruct({ + remark: sts.bytes(), + }), + set_code: sts.enumStruct({ + code: sts.bytes(), + }), + set_code_without_checks: sts.enumStruct({ + code: sts.bytes(), + }), + set_heap_pages: sts.enumStruct({ + pages: sts.bigint(), + }), + set_storage: sts.enumStruct({ + items: sts.array(() => sts.tuple(() => [sts.bytes(), sts.bytes()])), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SystemCall = SystemCall_apply_authorized_upgrade | SystemCall_authorize_upgrade | SystemCall_authorize_upgrade_without_checks | SystemCall_kill_prefix | SystemCall_kill_storage | SystemCall_remark | SystemCall_remark_with_event | SystemCall_set_code | SystemCall_set_code_without_checks | SystemCall_set_heap_pages | SystemCall_set_storage + +/** + * See [`Pallet::apply_authorized_upgrade`]. + */ +export interface SystemCall_apply_authorized_upgrade { + __kind: 'apply_authorized_upgrade' + code: Bytes +} + +/** + * See [`Pallet::authorize_upgrade`]. + */ +export interface SystemCall_authorize_upgrade { + __kind: 'authorize_upgrade' + codeHash: H256 +} + +/** + * See [`Pallet::authorize_upgrade_without_checks`]. + */ +export interface SystemCall_authorize_upgrade_without_checks { + __kind: 'authorize_upgrade_without_checks' + codeHash: H256 +} + +/** + * See [`Pallet::kill_prefix`]. + */ +export interface SystemCall_kill_prefix { + __kind: 'kill_prefix' + prefix: Bytes + subkeys: number +} + +/** + * See [`Pallet::kill_storage`]. + */ +export interface SystemCall_kill_storage { + __kind: 'kill_storage' + keys: Bytes[] +} + +/** + * See [`Pallet::remark`]. + */ +export interface SystemCall_remark { + __kind: 'remark' + remark: Bytes +} + +/** + * See [`Pallet::remark_with_event`]. + */ +export interface SystemCall_remark_with_event { + __kind: 'remark_with_event' + remark: Bytes +} + +/** + * See [`Pallet::set_code`]. + */ +export interface SystemCall_set_code { + __kind: 'set_code' + code: Bytes +} + +/** + * See [`Pallet::set_code_without_checks`]. + */ +export interface SystemCall_set_code_without_checks { + __kind: 'set_code_without_checks' + code: Bytes +} + +/** + * See [`Pallet::set_heap_pages`]. + */ +export interface SystemCall_set_heap_pages { + __kind: 'set_heap_pages' + pages: bigint +} + +/** + * See [`Pallet::set_storage`]. + */ +export interface SystemCall_set_storage { + __kind: 'set_storage' + items: [Bytes, Bytes][] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const StakingCall: sts.Type = sts.closedEnum(() => { + return { + bond: sts.enumStruct({ + value: sts.bigint(), + payee: RewardDestination, + }), + bond_extra: sts.enumStruct({ + maxAdditional: sts.bigint(), + }), + cancel_deferred_slash: sts.enumStruct({ + era: sts.number(), + slashIndices: sts.array(() => sts.number()), + }), + chill: sts.unit(), + chill_other: sts.enumStruct({ + stash: AccountId32, + }), + deprecate_controller_batch: sts.enumStruct({ + controllers: sts.array(() => AccountId32), + }), + force_apply_min_commission: sts.enumStruct({ + validatorStash: AccountId32, + }), + force_new_era: sts.unit(), + force_new_era_always: sts.unit(), + force_no_eras: sts.unit(), + force_unstake: sts.enumStruct({ + stash: AccountId32, + numSlashingSpans: sts.number(), + }), + increase_validator_count: sts.enumStruct({ + additional: sts.number(), + }), + kick: sts.enumStruct({ + who: sts.array(() => MultiAddress), + }), + nominate: sts.enumStruct({ + targets: sts.array(() => MultiAddress), + }), + payout_stakers: sts.enumStruct({ + validatorStash: AccountId32, + era: sts.number(), + }), + payout_stakers_by_page: sts.enumStruct({ + validatorStash: AccountId32, + era: sts.number(), + page: sts.number(), + }), + reap_stash: sts.enumStruct({ + stash: AccountId32, + numSlashingSpans: sts.number(), + }), + rebond: sts.enumStruct({ + value: sts.bigint(), + }), + restore_ledger: sts.enumStruct({ + stash: AccountId32, + maybeController: sts.option(() => AccountId32), + maybeTotal: sts.option(() => sts.bigint()), + maybeUnlocking: sts.option(() => sts.array(() => UnlockChunk)), + }), + scale_validator_count: sts.enumStruct({ + factor: Percent, + }), + set_controller: sts.unit(), + set_invulnerables: sts.enumStruct({ + invulnerables: sts.array(() => AccountId32), + }), + set_min_commission: sts.enumStruct({ + new: Perbill, + }), + set_payee: sts.enumStruct({ + payee: RewardDestination, + }), + set_staking_configs: sts.enumStruct({ + minNominatorBond: ConfigOp, + minValidatorBond: ConfigOp, + maxNominatorCount: Type_123, + maxValidatorCount: Type_123, + chillThreshold: Type_124, + minCommission: Type_125, + }), + set_validator_count: sts.enumStruct({ + new: sts.number(), + }), + unbond: sts.enumStruct({ + value: sts.bigint(), + }), + update_payee: sts.enumStruct({ + controller: AccountId32, + }), + validate: sts.enumStruct({ + prefs: ValidatorPrefs, + }), + withdraw_unbonded: sts.enumStruct({ + numSlashingSpans: sts.number(), + }), + } +}) + +export const ValidatorPrefs: sts.Type = sts.struct(() => { + return { + commission: sts.number(), + blocked: sts.boolean(), + } +}) + +export interface ValidatorPrefs { + commission: number + blocked: boolean +} + +export const Type_125: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Perbill, + } +}) + +export type Type_125 = Type_125_Noop | Type_125_Remove | Type_125_Set + +export interface Type_125_Noop { + __kind: 'Noop' +} + +export interface Type_125_Remove { + __kind: 'Remove' +} + +export interface Type_125_Set { + __kind: 'Set' + value: Perbill +} + +export type Perbill = number + +export const Type_124: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Percent, + } +}) + +export type Type_124 = Type_124_Noop | Type_124_Remove | Type_124_Set + +export interface Type_124_Noop { + __kind: 'Noop' +} + +export interface Type_124_Remove { + __kind: 'Remove' +} + +export interface Type_124_Set { + __kind: 'Set' + value: Percent +} + +export type Percent = number + +export const Type_123: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.number(), + } +}) + +export type Type_123 = Type_123_Noop | Type_123_Remove | Type_123_Set + +export interface Type_123_Noop { + __kind: 'Noop' +} + +export interface Type_123_Remove { + __kind: 'Remove' +} + +export interface Type_123_Set { + __kind: 'Set' + value: number +} + +export const ConfigOp: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.bigint(), + } +}) + +export type ConfigOp = ConfigOp_Noop | ConfigOp_Remove | ConfigOp_Set + +export interface ConfigOp_Noop { + __kind: 'Noop' +} + +export interface ConfigOp_Remove { + __kind: 'Remove' +} + +export interface ConfigOp_Set { + __kind: 'Set' + value: bigint +} + +export const Perbill = sts.number() + +export const Percent = sts.number() + +export const UnlockChunk: sts.Type = sts.struct(() => { + return { + value: sts.bigint(), + era: sts.number(), + } +}) + +export interface UnlockChunk { + value: bigint + era: number +} + +export const RewardDestination: sts.Type = sts.closedEnum(() => { + return { + Account: AccountId32, + Controller: sts.unit(), + None: sts.unit(), + Staked: sts.unit(), + Stash: sts.unit(), + } +}) + +export type RewardDestination = RewardDestination_Account | RewardDestination_Controller | RewardDestination_None | RewardDestination_Staked | RewardDestination_Stash + +export interface RewardDestination_Account { + __kind: 'Account' + value: AccountId32 +} + +export interface RewardDestination_Controller { + __kind: 'Controller' +} + +export interface RewardDestination_None { + __kind: 'None' +} + +export interface RewardDestination_Staked { + __kind: 'Staked' +} + +export interface RewardDestination_Stash { + __kind: 'Stash' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type StakingCall = StakingCall_bond | StakingCall_bond_extra | StakingCall_cancel_deferred_slash | StakingCall_chill | StakingCall_chill_other | StakingCall_deprecate_controller_batch | StakingCall_force_apply_min_commission | StakingCall_force_new_era | StakingCall_force_new_era_always | StakingCall_force_no_eras | StakingCall_force_unstake | StakingCall_increase_validator_count | StakingCall_kick | StakingCall_nominate | StakingCall_payout_stakers | StakingCall_payout_stakers_by_page | StakingCall_reap_stash | StakingCall_rebond | StakingCall_restore_ledger | StakingCall_scale_validator_count | StakingCall_set_controller | StakingCall_set_invulnerables | StakingCall_set_min_commission | StakingCall_set_payee | StakingCall_set_staking_configs | StakingCall_set_validator_count | StakingCall_unbond | StakingCall_update_payee | StakingCall_validate | StakingCall_withdraw_unbonded + +/** + * See [`Pallet::bond`]. + */ +export interface StakingCall_bond { + __kind: 'bond' + value: bigint + payee: RewardDestination +} + +/** + * See [`Pallet::bond_extra`]. + */ +export interface StakingCall_bond_extra { + __kind: 'bond_extra' + maxAdditional: bigint +} + +/** + * See [`Pallet::cancel_deferred_slash`]. + */ +export interface StakingCall_cancel_deferred_slash { + __kind: 'cancel_deferred_slash' + era: number + slashIndices: number[] +} + +/** + * See [`Pallet::chill`]. + */ +export interface StakingCall_chill { + __kind: 'chill' +} + +/** + * See [`Pallet::chill_other`]. + */ +export interface StakingCall_chill_other { + __kind: 'chill_other' + stash: AccountId32 +} + +/** + * See [`Pallet::deprecate_controller_batch`]. + */ +export interface StakingCall_deprecate_controller_batch { + __kind: 'deprecate_controller_batch' + controllers: AccountId32[] +} + +/** + * See [`Pallet::force_apply_min_commission`]. + */ +export interface StakingCall_force_apply_min_commission { + __kind: 'force_apply_min_commission' + validatorStash: AccountId32 +} + +/** + * See [`Pallet::force_new_era`]. + */ +export interface StakingCall_force_new_era { + __kind: 'force_new_era' +} + +/** + * See [`Pallet::force_new_era_always`]. + */ +export interface StakingCall_force_new_era_always { + __kind: 'force_new_era_always' +} + +/** + * See [`Pallet::force_no_eras`]. + */ +export interface StakingCall_force_no_eras { + __kind: 'force_no_eras' +} + +/** + * See [`Pallet::force_unstake`]. + */ +export interface StakingCall_force_unstake { + __kind: 'force_unstake' + stash: AccountId32 + numSlashingSpans: number +} + +/** + * See [`Pallet::increase_validator_count`]. + */ +export interface StakingCall_increase_validator_count { + __kind: 'increase_validator_count' + additional: number +} + +/** + * See [`Pallet::kick`]. + */ +export interface StakingCall_kick { + __kind: 'kick' + who: MultiAddress[] +} + +/** + * See [`Pallet::nominate`]. + */ +export interface StakingCall_nominate { + __kind: 'nominate' + targets: MultiAddress[] +} + +/** + * See [`Pallet::payout_stakers`]. + */ +export interface StakingCall_payout_stakers { + __kind: 'payout_stakers' + validatorStash: AccountId32 + era: number +} + +/** + * See [`Pallet::payout_stakers_by_page`]. + */ +export interface StakingCall_payout_stakers_by_page { + __kind: 'payout_stakers_by_page' + validatorStash: AccountId32 + era: number + page: number +} + +/** + * See [`Pallet::reap_stash`]. + */ +export interface StakingCall_reap_stash { + __kind: 'reap_stash' + stash: AccountId32 + numSlashingSpans: number +} + +/** + * See [`Pallet::rebond`]. + */ +export interface StakingCall_rebond { + __kind: 'rebond' + value: bigint +} + +/** + * See [`Pallet::restore_ledger`]. + */ +export interface StakingCall_restore_ledger { + __kind: 'restore_ledger' + stash: AccountId32 + maybeController?: (AccountId32 | undefined) + maybeTotal?: (bigint | undefined) + maybeUnlocking?: (UnlockChunk[] | undefined) +} + +/** + * See [`Pallet::scale_validator_count`]. + */ +export interface StakingCall_scale_validator_count { + __kind: 'scale_validator_count' + factor: Percent +} + +/** + * See [`Pallet::set_controller`]. + */ +export interface StakingCall_set_controller { + __kind: 'set_controller' +} + +/** + * See [`Pallet::set_invulnerables`]. + */ +export interface StakingCall_set_invulnerables { + __kind: 'set_invulnerables' + invulnerables: AccountId32[] +} + +/** + * See [`Pallet::set_min_commission`]. + */ +export interface StakingCall_set_min_commission { + __kind: 'set_min_commission' + new: Perbill +} + +/** + * See [`Pallet::set_payee`]. + */ +export interface StakingCall_set_payee { + __kind: 'set_payee' + payee: RewardDestination +} + +/** + * See [`Pallet::set_staking_configs`]. + */ +export interface StakingCall_set_staking_configs { + __kind: 'set_staking_configs' + minNominatorBond: ConfigOp + minValidatorBond: ConfigOp + maxNominatorCount: Type_123 + maxValidatorCount: Type_123 + chillThreshold: Type_124 + minCommission: Type_125 +} + +/** + * See [`Pallet::set_validator_count`]. + */ +export interface StakingCall_set_validator_count { + __kind: 'set_validator_count' + new: number +} + +/** + * See [`Pallet::unbond`]. + */ +export interface StakingCall_unbond { + __kind: 'unbond' + value: bigint +} + +/** + * See [`Pallet::update_payee`]. + */ +export interface StakingCall_update_payee { + __kind: 'update_payee' + controller: AccountId32 +} + +/** + * See [`Pallet::validate`]. + */ +export interface StakingCall_validate { + __kind: 'validate' + prefs: ValidatorPrefs +} + +/** + * See [`Pallet::withdraw_unbonded`]. + */ +export interface StakingCall_withdraw_unbonded { + __kind: 'withdraw_unbonded' + numSlashingSpans: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SocietyCall: sts.Type = sts.closedEnum(() => { + return { + bestow_membership: sts.enumStruct({ + candidate: AccountId32, + }), + bid: sts.enumStruct({ + value: sts.bigint(), + }), + claim_membership: sts.unit(), + cleanup_candidacy: sts.enumStruct({ + candidate: AccountId32, + max: sts.number(), + }), + cleanup_challenge: sts.enumStruct({ + challengeRound: sts.number(), + max: sts.number(), + }), + defender_vote: sts.enumStruct({ + approve: sts.boolean(), + }), + dissolve: sts.unit(), + drop_candidate: sts.enumStruct({ + candidate: AccountId32, + }), + found_society: sts.enumStruct({ + founder: MultiAddress, + maxMembers: sts.number(), + maxIntake: sts.number(), + maxStrikes: sts.number(), + candidateDeposit: sts.bigint(), + rules: sts.bytes(), + }), + judge_suspended_member: sts.enumStruct({ + who: MultiAddress, + forgive: sts.boolean(), + }), + kick_candidate: sts.enumStruct({ + candidate: AccountId32, + }), + payout: sts.unit(), + punish_skeptic: sts.unit(), + resign_candidacy: sts.unit(), + set_parameters: sts.enumStruct({ + maxMembers: sts.number(), + maxIntake: sts.number(), + maxStrikes: sts.number(), + candidateDeposit: sts.bigint(), + }), + unbid: sts.unit(), + unvouch: sts.unit(), + vote: sts.enumStruct({ + candidate: MultiAddress, + approve: sts.boolean(), + }), + vouch: sts.enumStruct({ + who: MultiAddress, + value: sts.bigint(), + tip: sts.bigint(), + }), + waive_repay: sts.enumStruct({ + amount: sts.bigint(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SocietyCall = SocietyCall_bestow_membership | SocietyCall_bid | SocietyCall_claim_membership | SocietyCall_cleanup_candidacy | SocietyCall_cleanup_challenge | SocietyCall_defender_vote | SocietyCall_dissolve | SocietyCall_drop_candidate | SocietyCall_found_society | SocietyCall_judge_suspended_member | SocietyCall_kick_candidate | SocietyCall_payout | SocietyCall_punish_skeptic | SocietyCall_resign_candidacy | SocietyCall_set_parameters | SocietyCall_unbid | SocietyCall_unvouch | SocietyCall_vote | SocietyCall_vouch | SocietyCall_waive_repay + +/** + * See [`Pallet::bestow_membership`]. + */ +export interface SocietyCall_bestow_membership { + __kind: 'bestow_membership' + candidate: AccountId32 +} + +/** + * See [`Pallet::bid`]. + */ +export interface SocietyCall_bid { + __kind: 'bid' + value: bigint +} + +/** + * See [`Pallet::claim_membership`]. + */ +export interface SocietyCall_claim_membership { + __kind: 'claim_membership' +} + +/** + * See [`Pallet::cleanup_candidacy`]. + */ +export interface SocietyCall_cleanup_candidacy { + __kind: 'cleanup_candidacy' + candidate: AccountId32 + max: number +} + +/** + * See [`Pallet::cleanup_challenge`]. + */ +export interface SocietyCall_cleanup_challenge { + __kind: 'cleanup_challenge' + challengeRound: number + max: number +} + +/** + * See [`Pallet::defender_vote`]. + */ +export interface SocietyCall_defender_vote { + __kind: 'defender_vote' + approve: boolean +} + +/** + * See [`Pallet::dissolve`]. + */ +export interface SocietyCall_dissolve { + __kind: 'dissolve' +} + +/** + * See [`Pallet::drop_candidate`]. + */ +export interface SocietyCall_drop_candidate { + __kind: 'drop_candidate' + candidate: AccountId32 +} + +/** + * See [`Pallet::found_society`]. + */ +export interface SocietyCall_found_society { + __kind: 'found_society' + founder: MultiAddress + maxMembers: number + maxIntake: number + maxStrikes: number + candidateDeposit: bigint + rules: Bytes +} + +/** + * See [`Pallet::judge_suspended_member`]. + */ +export interface SocietyCall_judge_suspended_member { + __kind: 'judge_suspended_member' + who: MultiAddress + forgive: boolean +} + +/** + * See [`Pallet::kick_candidate`]. + */ +export interface SocietyCall_kick_candidate { + __kind: 'kick_candidate' + candidate: AccountId32 +} + +/** + * See [`Pallet::payout`]. + */ +export interface SocietyCall_payout { + __kind: 'payout' +} + +/** + * See [`Pallet::punish_skeptic`]. + */ +export interface SocietyCall_punish_skeptic { + __kind: 'punish_skeptic' +} + +/** + * See [`Pallet::resign_candidacy`]. + */ +export interface SocietyCall_resign_candidacy { + __kind: 'resign_candidacy' +} + +/** + * See [`Pallet::set_parameters`]. + */ +export interface SocietyCall_set_parameters { + __kind: 'set_parameters' + maxMembers: number + maxIntake: number + maxStrikes: number + candidateDeposit: bigint +} + +/** + * See [`Pallet::unbid`]. + */ +export interface SocietyCall_unbid { + __kind: 'unbid' +} + +/** + * See [`Pallet::unvouch`]. + */ +export interface SocietyCall_unvouch { + __kind: 'unvouch' +} + +/** + * See [`Pallet::vote`]. + */ +export interface SocietyCall_vote { + __kind: 'vote' + candidate: MultiAddress + approve: boolean +} + +/** + * See [`Pallet::vouch`]. + */ +export interface SocietyCall_vouch { + __kind: 'vouch' + who: MultiAddress + value: bigint + tip: bigint +} + +/** + * See [`Pallet::waive_repay`]. + */ +export interface SocietyCall_waive_repay { + __kind: 'waive_repay' + amount: bigint +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SlotsCall: sts.Type = sts.closedEnum(() => { + return { + clear_all_leases: sts.enumStruct({ + para: Id, + }), + force_lease: sts.enumStruct({ + para: Id, + leaser: AccountId32, + amount: sts.bigint(), + periodBegin: sts.number(), + periodCount: sts.number(), + }), + trigger_onboard: sts.enumStruct({ + para: Id, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SlotsCall = SlotsCall_clear_all_leases | SlotsCall_force_lease | SlotsCall_trigger_onboard + +/** + * See [`Pallet::clear_all_leases`]. + */ +export interface SlotsCall_clear_all_leases { + __kind: 'clear_all_leases' + para: Id +} + +/** + * See [`Pallet::force_lease`]. + */ +export interface SlotsCall_force_lease { + __kind: 'force_lease' + para: Id + leaser: AccountId32 + amount: bigint + periodBegin: number + periodCount: number +} + +/** + * See [`Pallet::trigger_onboard`]. + */ +export interface SlotsCall_trigger_onboard { + __kind: 'trigger_onboard' + para: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SessionCall: sts.Type = sts.closedEnum(() => { + return { + purge_keys: sts.unit(), + set_keys: sts.enumStruct({ + keys: SessionKeys, + proof: sts.bytes(), + }), + } +}) + +export const SessionKeys: sts.Type = sts.struct(() => { + return { + grandpa: Public, + babe: sts.bytes(), + paraValidator: V6Public, + paraAssignment: sts.bytes(), + authorityDiscovery: sts.bytes(), + beefy: sts.bytes(), + } +}) + +export const V6Public = sts.bytes() + +export const Public = sts.bytes() + +export interface SessionKeys { + grandpa: Public + babe: Bytes + paraValidator: V6Public + paraAssignment: Bytes + authorityDiscovery: Bytes + beefy: Bytes +} + +export type V6Public = Bytes + +export type Public = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SessionCall = SessionCall_purge_keys | SessionCall_set_keys + +/** + * See [`Pallet::purge_keys`]. + */ +export interface SessionCall_purge_keys { + __kind: 'purge_keys' +} + +/** + * See [`Pallet::set_keys`]. + */ +export interface SessionCall_set_keys { + __kind: 'set_keys' + keys: SessionKeys + proof: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SchedulerCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + when: sts.number(), + index: sts.number(), + }), + cancel_named: sts.enumStruct({ + id: sts.bytes(), + }), + schedule: sts.enumStruct({ + when: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_after: sts.enumStruct({ + after: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_named: sts.enumStruct({ + id: sts.bytes(), + when: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_named_after: sts.enumStruct({ + id: sts.bytes(), + after: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SchedulerCall = SchedulerCall_cancel | SchedulerCall_cancel_named | SchedulerCall_schedule | SchedulerCall_schedule_after | SchedulerCall_schedule_named | SchedulerCall_schedule_named_after + +/** + * See [`Pallet::cancel`]. + */ +export interface SchedulerCall_cancel { + __kind: 'cancel' + when: number + index: number +} + +/** + * See [`Pallet::cancel_named`]. + */ +export interface SchedulerCall_cancel_named { + __kind: 'cancel_named' + id: Bytes +} + +/** + * See [`Pallet::schedule`]. + */ +export interface SchedulerCall_schedule { + __kind: 'schedule' + when: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * See [`Pallet::schedule_after`]. + */ +export interface SchedulerCall_schedule_after { + __kind: 'schedule_after' + after: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * See [`Pallet::schedule_named`]. + */ +export interface SchedulerCall_schedule_named { + __kind: 'schedule_named' + id: Bytes + when: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * See [`Pallet::schedule_named_after`]. + */ +export interface SchedulerCall_schedule_named_after { + __kind: 'schedule_named_after' + id: Bytes + after: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const RegistrarCall: sts.Type = sts.closedEnum(() => { + return { + add_lock: sts.enumStruct({ + para: Id, + }), + deregister: sts.enumStruct({ + id: Id, + }), + force_register: sts.enumStruct({ + who: AccountId32, + deposit: sts.bigint(), + id: Id, + genesisHead: HeadData, + validationCode: ValidationCode, + }), + register: sts.enumStruct({ + id: Id, + genesisHead: HeadData, + validationCode: ValidationCode, + }), + remove_lock: sts.enumStruct({ + para: Id, + }), + reserve: sts.unit(), + schedule_code_upgrade: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + }), + set_current_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + swap: sts.enumStruct({ + id: Id, + other: Id, + }), + } +}) + +export const ValidationCode = sts.bytes() + +export const HeadData = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type RegistrarCall = RegistrarCall_add_lock | RegistrarCall_deregister | RegistrarCall_force_register | RegistrarCall_register | RegistrarCall_remove_lock | RegistrarCall_reserve | RegistrarCall_schedule_code_upgrade | RegistrarCall_set_current_head | RegistrarCall_swap + +/** + * See [`Pallet::add_lock`]. + */ +export interface RegistrarCall_add_lock { + __kind: 'add_lock' + para: Id +} + +/** + * See [`Pallet::deregister`]. + */ +export interface RegistrarCall_deregister { + __kind: 'deregister' + id: Id +} + +/** + * See [`Pallet::force_register`]. + */ +export interface RegistrarCall_force_register { + __kind: 'force_register' + who: AccountId32 + deposit: bigint + id: Id + genesisHead: HeadData + validationCode: ValidationCode +} + +/** + * See [`Pallet::register`]. + */ +export interface RegistrarCall_register { + __kind: 'register' + id: Id + genesisHead: HeadData + validationCode: ValidationCode +} + +/** + * See [`Pallet::remove_lock`]. + */ +export interface RegistrarCall_remove_lock { + __kind: 'remove_lock' + para: Id +} + +/** + * See [`Pallet::reserve`]. + */ +export interface RegistrarCall_reserve { + __kind: 'reserve' +} + +/** + * See [`Pallet::schedule_code_upgrade`]. + */ +export interface RegistrarCall_schedule_code_upgrade { + __kind: 'schedule_code_upgrade' + para: Id + newCode: ValidationCode +} + +/** + * See [`Pallet::set_current_head`]. + */ +export interface RegistrarCall_set_current_head { + __kind: 'set_current_head' + para: Id + newHead: HeadData +} + +/** + * See [`Pallet::swap`]. + */ +export interface RegistrarCall_swap { + __kind: 'swap' + id: Id + other: Id +} + +export type ValidationCode = Bytes + +export type HeadData = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ReferendaCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + index: sts.number(), + }), + kill: sts.enumStruct({ + index: sts.number(), + }), + nudge_referendum: sts.enumStruct({ + index: sts.number(), + }), + one_fewer_deciding: sts.enumStruct({ + track: sts.number(), + }), + place_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_submission_deposit: sts.enumStruct({ + index: sts.number(), + }), + set_metadata: sts.enumStruct({ + index: sts.number(), + maybeHash: sts.option(() => H256), + }), + submit: sts.enumStruct({ + proposalOrigin: OriginCaller, + proposal: Bounded, + enactmentMoment: DispatchTime, + }), + } +}) + +export const DispatchTime: sts.Type = sts.closedEnum(() => { + return { + After: sts.number(), + At: sts.number(), + } +}) + +export type DispatchTime = DispatchTime_After | DispatchTime_At + +export interface DispatchTime_After { + __kind: 'After' + value: number +} + +export interface DispatchTime_At { + __kind: 'At' + value: number +} + +export const Bounded: sts.Type = sts.closedEnum(() => { + return { + Inline: sts.bytes(), + Legacy: sts.enumStruct({ + hash: H256, + }), + Lookup: sts.enumStruct({ + hash: H256, + len: sts.number(), + }), + } +}) + +export type Bounded = Bounded_Inline | Bounded_Legacy | Bounded_Lookup + +export interface Bounded_Inline { + __kind: 'Inline' + value: Bytes +} + +export interface Bounded_Legacy { + __kind: 'Legacy' + hash: H256 +} + +export interface Bounded_Lookup { + __kind: 'Lookup' + hash: H256 + len: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ReferendaCall = ReferendaCall_cancel | ReferendaCall_kill | ReferendaCall_nudge_referendum | ReferendaCall_one_fewer_deciding | ReferendaCall_place_decision_deposit | ReferendaCall_refund_decision_deposit | ReferendaCall_refund_submission_deposit | ReferendaCall_set_metadata | ReferendaCall_submit + +/** + * See [`Pallet::cancel`]. + */ +export interface ReferendaCall_cancel { + __kind: 'cancel' + index: number +} + +/** + * See [`Pallet::kill`]. + */ +export interface ReferendaCall_kill { + __kind: 'kill' + index: number +} + +/** + * See [`Pallet::nudge_referendum`]. + */ +export interface ReferendaCall_nudge_referendum { + __kind: 'nudge_referendum' + index: number +} + +/** + * See [`Pallet::one_fewer_deciding`]. + */ +export interface ReferendaCall_one_fewer_deciding { + __kind: 'one_fewer_deciding' + track: number +} + +/** + * See [`Pallet::place_decision_deposit`]. + */ +export interface ReferendaCall_place_decision_deposit { + __kind: 'place_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_decision_deposit`]. + */ +export interface ReferendaCall_refund_decision_deposit { + __kind: 'refund_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_submission_deposit`]. + */ +export interface ReferendaCall_refund_submission_deposit { + __kind: 'refund_submission_deposit' + index: number +} + +/** + * See [`Pallet::set_metadata`]. + */ +export interface ReferendaCall_set_metadata { + __kind: 'set_metadata' + index: number + maybeHash?: (H256 | undefined) +} + +/** + * See [`Pallet::submit`]. + */ +export interface ReferendaCall_submit { + __kind: 'submit' + proposalOrigin: OriginCaller + proposal: Bounded + enactmentMoment: DispatchTime +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const RecoveryCall: sts.Type = sts.closedEnum(() => { + return { + as_recovered: sts.enumStruct({ + account: MultiAddress, + call: Call, + }), + cancel_recovered: sts.enumStruct({ + account: MultiAddress, + }), + claim_recovery: sts.enumStruct({ + account: MultiAddress, + }), + close_recovery: sts.enumStruct({ + rescuer: MultiAddress, + }), + create_recovery: sts.enumStruct({ + friends: sts.array(() => AccountId32), + threshold: sts.number(), + delayPeriod: sts.number(), + }), + initiate_recovery: sts.enumStruct({ + account: MultiAddress, + }), + remove_recovery: sts.unit(), + set_recovered: sts.enumStruct({ + lost: MultiAddress, + rescuer: MultiAddress, + }), + vouch_recovery: sts.enumStruct({ + lost: MultiAddress, + rescuer: MultiAddress, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type RecoveryCall = RecoveryCall_as_recovered | RecoveryCall_cancel_recovered | RecoveryCall_claim_recovery | RecoveryCall_close_recovery | RecoveryCall_create_recovery | RecoveryCall_initiate_recovery | RecoveryCall_remove_recovery | RecoveryCall_set_recovered | RecoveryCall_vouch_recovery + +/** + * See [`Pallet::as_recovered`]. + */ +export interface RecoveryCall_as_recovered { + __kind: 'as_recovered' + account: MultiAddress + call: Call +} + +/** + * See [`Pallet::cancel_recovered`]. + */ +export interface RecoveryCall_cancel_recovered { + __kind: 'cancel_recovered' + account: MultiAddress +} + +/** + * See [`Pallet::claim_recovery`]. + */ +export interface RecoveryCall_claim_recovery { + __kind: 'claim_recovery' + account: MultiAddress +} + +/** + * See [`Pallet::close_recovery`]. + */ +export interface RecoveryCall_close_recovery { + __kind: 'close_recovery' + rescuer: MultiAddress +} + +/** + * See [`Pallet::create_recovery`]. + */ +export interface RecoveryCall_create_recovery { + __kind: 'create_recovery' + friends: AccountId32[] + threshold: number + delayPeriod: number +} + +/** + * See [`Pallet::initiate_recovery`]. + */ +export interface RecoveryCall_initiate_recovery { + __kind: 'initiate_recovery' + account: MultiAddress +} + +/** + * See [`Pallet::remove_recovery`]. + */ +export interface RecoveryCall_remove_recovery { + __kind: 'remove_recovery' +} + +/** + * See [`Pallet::set_recovered`]. + */ +export interface RecoveryCall_set_recovered { + __kind: 'set_recovered' + lost: MultiAddress + rescuer: MultiAddress +} + +/** + * See [`Pallet::vouch_recovery`]. + */ +export interface RecoveryCall_vouch_recovery { + __kind: 'vouch_recovery' + lost: MultiAddress + rescuer: MultiAddress +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ProxyCall: sts.Type = sts.closedEnum(() => { + return { + add_proxy: sts.enumStruct({ + delegate: MultiAddress, + proxyType: ProxyType, + delay: sts.number(), + }), + announce: sts.enumStruct({ + real: MultiAddress, + callHash: H256, + }), + create_pure: sts.enumStruct({ + proxyType: ProxyType, + delay: sts.number(), + index: sts.number(), + }), + kill_pure: sts.enumStruct({ + spawner: MultiAddress, + proxyType: ProxyType, + index: sts.number(), + height: sts.number(), + extIndex: sts.number(), + }), + proxy: sts.enumStruct({ + real: MultiAddress, + forceProxyType: sts.option(() => ProxyType), + call: Call, + }), + proxy_announced: sts.enumStruct({ + delegate: MultiAddress, + real: MultiAddress, + forceProxyType: sts.option(() => ProxyType), + call: Call, + }), + reject_announcement: sts.enumStruct({ + delegate: MultiAddress, + callHash: H256, + }), + remove_announcement: sts.enumStruct({ + real: MultiAddress, + callHash: H256, + }), + remove_proxies: sts.unit(), + remove_proxy: sts.enumStruct({ + delegate: MultiAddress, + proxyType: ProxyType, + delay: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ProxyCall = ProxyCall_add_proxy | ProxyCall_announce | ProxyCall_create_pure | ProxyCall_kill_pure | ProxyCall_proxy | ProxyCall_proxy_announced | ProxyCall_reject_announcement | ProxyCall_remove_announcement | ProxyCall_remove_proxies | ProxyCall_remove_proxy + +/** + * See [`Pallet::add_proxy`]. + */ +export interface ProxyCall_add_proxy { + __kind: 'add_proxy' + delegate: MultiAddress + proxyType: ProxyType + delay: number +} + +/** + * See [`Pallet::announce`]. + */ +export interface ProxyCall_announce { + __kind: 'announce' + real: MultiAddress + callHash: H256 +} + +/** + * See [`Pallet::create_pure`]. + */ +export interface ProxyCall_create_pure { + __kind: 'create_pure' + proxyType: ProxyType + delay: number + index: number +} + +/** + * See [`Pallet::kill_pure`]. + */ +export interface ProxyCall_kill_pure { + __kind: 'kill_pure' + spawner: MultiAddress + proxyType: ProxyType + index: number + height: number + extIndex: number +} + +/** + * See [`Pallet::proxy`]. + */ +export interface ProxyCall_proxy { + __kind: 'proxy' + real: MultiAddress + forceProxyType?: (ProxyType | undefined) + call: Call +} + +/** + * See [`Pallet::proxy_announced`]. + */ +export interface ProxyCall_proxy_announced { + __kind: 'proxy_announced' + delegate: MultiAddress + real: MultiAddress + forceProxyType?: (ProxyType | undefined) + call: Call +} + +/** + * See [`Pallet::reject_announcement`]. + */ +export interface ProxyCall_reject_announcement { + __kind: 'reject_announcement' + delegate: MultiAddress + callHash: H256 +} + +/** + * See [`Pallet::remove_announcement`]. + */ +export interface ProxyCall_remove_announcement { + __kind: 'remove_announcement' + real: MultiAddress + callHash: H256 +} + +/** + * See [`Pallet::remove_proxies`]. + */ +export interface ProxyCall_remove_proxies { + __kind: 'remove_proxies' +} + +/** + * See [`Pallet::remove_proxy`]. + */ +export interface ProxyCall_remove_proxy { + __kind: 'remove_proxy' + delegate: MultiAddress + proxyType: ProxyType + delay: number +} + +export type ProxyType = ProxyType_Any | ProxyType_Auction | ProxyType_CancelProxy | ProxyType_Governance | ProxyType_NominationPools | ProxyType_NonTransfer | ProxyType_Society | ProxyType_Staking + +export interface ProxyType_Any { + __kind: 'Any' +} + +export interface ProxyType_Auction { + __kind: 'Auction' +} + +export interface ProxyType_CancelProxy { + __kind: 'CancelProxy' +} + +export interface ProxyType_Governance { + __kind: 'Governance' +} + +export interface ProxyType_NominationPools { + __kind: 'NominationPools' +} + +export interface ProxyType_NonTransfer { + __kind: 'NonTransfer' +} + +export interface ProxyType_Society { + __kind: 'Society' +} + +export interface ProxyType_Staking { + __kind: 'Staking' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const PreimageCall: sts.Type = sts.closedEnum(() => { + return { + ensure_updated: sts.enumStruct({ + hashes: sts.array(() => H256), + }), + note_preimage: sts.enumStruct({ + bytes: sts.bytes(), + }), + request_preimage: sts.enumStruct({ + hash: H256, + }), + unnote_preimage: sts.enumStruct({ + hash: H256, + }), + unrequest_preimage: sts.enumStruct({ + hash: H256, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type PreimageCall = PreimageCall_ensure_updated | PreimageCall_note_preimage | PreimageCall_request_preimage | PreimageCall_unnote_preimage | PreimageCall_unrequest_preimage + +/** + * See [`Pallet::ensure_updated`]. + */ +export interface PreimageCall_ensure_updated { + __kind: 'ensure_updated' + hashes: H256[] +} + +/** + * See [`Pallet::note_preimage`]. + */ +export interface PreimageCall_note_preimage { + __kind: 'note_preimage' + bytes: Bytes +} + +/** + * See [`Pallet::request_preimage`]. + */ +export interface PreimageCall_request_preimage { + __kind: 'request_preimage' + hash: H256 +} + +/** + * See [`Pallet::unnote_preimage`]. + */ +export interface PreimageCall_unnote_preimage { + __kind: 'unnote_preimage' + hash: H256 +} + +/** + * See [`Pallet::unrequest_preimage`]. + */ +export interface PreimageCall_unrequest_preimage { + __kind: 'unrequest_preimage' + hash: H256 +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasSlashingCall: sts.Type = sts.closedEnum(() => { + return { + report_dispute_lost_unsigned: sts.enumStruct({ + disputeProof: V6DisputeProof, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const MembershipProof: sts.Type = sts.struct(() => { + return { + session: sts.number(), + trieNodes: sts.array(() => sts.bytes()), + validatorCount: sts.number(), + } +}) + +export interface MembershipProof { + session: number + trieNodes: Bytes[] + validatorCount: number +} + +export const V6DisputeProof: sts.Type = sts.struct(() => { + return { + timeSlot: V6DisputesTimeSlot, + kind: V6SlashingOffenceKind, + validatorIndex: V6ValidatorIndex, + validatorId: V6Public, + } +}) + +export const V6ValidatorIndex = sts.number() + +export const V6SlashingOffenceKind: sts.Type = sts.closedEnum(() => { + return { + AgainstValid: sts.unit(), + ForInvalid: sts.unit(), + } +}) + +export type V6SlashingOffenceKind = V6SlashingOffenceKind_AgainstValid | V6SlashingOffenceKind_ForInvalid + +export interface V6SlashingOffenceKind_AgainstValid { + __kind: 'AgainstValid' +} + +export interface V6SlashingOffenceKind_ForInvalid { + __kind: 'ForInvalid' +} + +export const V6DisputesTimeSlot: sts.Type = sts.struct(() => { + return { + sessionIndex: sts.number(), + candidateHash: CandidateHash, + } +}) + +export const CandidateHash = sts.bytes() + +export interface V6DisputesTimeSlot { + sessionIndex: number + candidateHash: CandidateHash +} + +export type CandidateHash = Bytes + +export interface V6DisputeProof { + timeSlot: V6DisputesTimeSlot + kind: V6SlashingOffenceKind + validatorIndex: V6ValidatorIndex + validatorId: V6Public +} + +export type V6ValidatorIndex = number + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasSlashingCall = ParasSlashingCall_report_dispute_lost_unsigned + +/** + * See [`Pallet::report_dispute_lost_unsigned`]. + */ +export interface ParasSlashingCall_report_dispute_lost_unsigned { + __kind: 'report_dispute_lost_unsigned' + disputeProof: V6DisputeProof + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasSharedCall: sts.Type = sts.closedEnum(() => { + return { + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasSharedCall = never + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasDisputesCall: sts.Type = sts.closedEnum(() => { + return { + force_unfreeze: sts.unit(), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasDisputesCall = ParasDisputesCall_force_unfreeze + +/** + * See [`Pallet::force_unfreeze`]. + */ +export interface ParasDisputesCall_force_unfreeze { + __kind: 'force_unfreeze' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasCall: sts.Type = sts.closedEnum(() => { + return { + add_trusted_validation_code: sts.enumStruct({ + validationCode: ValidationCode, + }), + force_note_new_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + force_queue_action: sts.enumStruct({ + para: Id, + }), + force_schedule_code_upgrade: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + relayParentNumber: sts.number(), + }), + force_set_current_code: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + }), + force_set_current_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + force_set_most_recent_context: sts.enumStruct({ + para: Id, + context: sts.number(), + }), + include_pvf_check_statement: sts.enumStruct({ + stmt: V6PvfCheckStatement, + signature: V6Signature, + }), + poke_unused_validation_code: sts.enumStruct({ + validationCodeHash: ValidationCodeHash, + }), + } +}) + +export const ValidationCodeHash = sts.bytes() + +export const V6Signature = sts.bytes() + +export const V6PvfCheckStatement: sts.Type = sts.struct(() => { + return { + accept: sts.boolean(), + subject: ValidationCodeHash, + sessionIndex: sts.number(), + validatorIndex: V6ValidatorIndex, + } +}) + +export interface V6PvfCheckStatement { + accept: boolean + subject: ValidationCodeHash + sessionIndex: number + validatorIndex: V6ValidatorIndex +} + +export type ValidationCodeHash = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasCall = ParasCall_add_trusted_validation_code | ParasCall_force_note_new_head | ParasCall_force_queue_action | ParasCall_force_schedule_code_upgrade | ParasCall_force_set_current_code | ParasCall_force_set_current_head | ParasCall_force_set_most_recent_context | ParasCall_include_pvf_check_statement | ParasCall_poke_unused_validation_code + +/** + * See [`Pallet::add_trusted_validation_code`]. + */ +export interface ParasCall_add_trusted_validation_code { + __kind: 'add_trusted_validation_code' + validationCode: ValidationCode +} + +/** + * See [`Pallet::force_note_new_head`]. + */ +export interface ParasCall_force_note_new_head { + __kind: 'force_note_new_head' + para: Id + newHead: HeadData +} + +/** + * See [`Pallet::force_queue_action`]. + */ +export interface ParasCall_force_queue_action { + __kind: 'force_queue_action' + para: Id +} + +/** + * See [`Pallet::force_schedule_code_upgrade`]. + */ +export interface ParasCall_force_schedule_code_upgrade { + __kind: 'force_schedule_code_upgrade' + para: Id + newCode: ValidationCode + relayParentNumber: number +} + +/** + * See [`Pallet::force_set_current_code`]. + */ +export interface ParasCall_force_set_current_code { + __kind: 'force_set_current_code' + para: Id + newCode: ValidationCode +} + +/** + * See [`Pallet::force_set_current_head`]. + */ +export interface ParasCall_force_set_current_head { + __kind: 'force_set_current_head' + para: Id + newHead: HeadData +} + +/** + * See [`Pallet::force_set_most_recent_context`]. + */ +export interface ParasCall_force_set_most_recent_context { + __kind: 'force_set_most_recent_context' + para: Id + context: number +} + +/** + * See [`Pallet::include_pvf_check_statement`]. + */ +export interface ParasCall_include_pvf_check_statement { + __kind: 'include_pvf_check_statement' + stmt: V6PvfCheckStatement + signature: V6Signature +} + +/** + * See [`Pallet::poke_unused_validation_code`]. + */ +export interface ParasCall_poke_unused_validation_code { + __kind: 'poke_unused_validation_code' + validationCodeHash: ValidationCodeHash +} + +export type V6Signature = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParaInherentCall: sts.Type = sts.closedEnum(() => { + return { + enter: sts.enumStruct({ + data: V6InherentData, + }), + } +}) + +export const V6InherentData: sts.Type = sts.struct(() => { + return { + bitfields: sts.array(() => V6UncheckedSigned), + backedCandidates: sts.array(() => V6BackedCandidate), + disputes: sts.array(() => V6DisputeStatementSet), + parentHeader: Header, + } +}) + +export const Header: sts.Type
    = sts.struct(() => { + return { + parentHash: H256, + number: sts.number(), + stateRoot: H256, + extrinsicsRoot: H256, + digest: Digest, + } +}) + +export const Digest: sts.Type = sts.struct(() => { + return { + logs: sts.array(() => DigestItem), + } +}) + +export const DigestItem: sts.Type = sts.closedEnum(() => { + return { + Consensus: sts.tuple(() => [sts.bytes(), sts.bytes()]), + Other: sts.bytes(), + PreRuntime: sts.tuple(() => [sts.bytes(), sts.bytes()]), + RuntimeEnvironmentUpdated: sts.unit(), + Seal: sts.tuple(() => [sts.bytes(), sts.bytes()]), + } +}) + +export type DigestItem = DigestItem_Consensus | DigestItem_Other | DigestItem_PreRuntime | DigestItem_RuntimeEnvironmentUpdated | DigestItem_Seal + +export interface DigestItem_Consensus { + __kind: 'Consensus' + value: [Bytes, Bytes] +} + +export interface DigestItem_Other { + __kind: 'Other' + value: Bytes +} + +export interface DigestItem_PreRuntime { + __kind: 'PreRuntime' + value: [Bytes, Bytes] +} + +export interface DigestItem_RuntimeEnvironmentUpdated { + __kind: 'RuntimeEnvironmentUpdated' +} + +export interface DigestItem_Seal { + __kind: 'Seal' + value: [Bytes, Bytes] +} + +export interface Digest { + logs: DigestItem[] +} + +export interface Header { + parentHash: H256 + number: number + stateRoot: H256 + extrinsicsRoot: H256 + digest: Digest +} + +export const V6DisputeStatementSet: sts.Type = sts.struct(() => { + return { + candidateHash: CandidateHash, + session: sts.number(), + statements: sts.array(() => sts.tuple(() => [V6DisputeStatement, V6ValidatorIndex, V6Signature])), + } +}) + +export const V6DisputeStatement: sts.Type = sts.closedEnum(() => { + return { + Invalid: V6InvalidDisputeStatementKind, + Valid: V6ValidDisputeStatementKind, + } +}) + +export const V6ValidDisputeStatementKind: sts.Type = sts.closedEnum(() => { + return { + ApprovalChecking: sts.unit(), + ApprovalCheckingMultipleCandidates: sts.array(() => CandidateHash), + BackingSeconded: H256, + BackingValid: H256, + Explicit: sts.unit(), + } +}) + +export type V6ValidDisputeStatementKind = V6ValidDisputeStatementKind_ApprovalChecking | V6ValidDisputeStatementKind_ApprovalCheckingMultipleCandidates | V6ValidDisputeStatementKind_BackingSeconded | V6ValidDisputeStatementKind_BackingValid | V6ValidDisputeStatementKind_Explicit + +export interface V6ValidDisputeStatementKind_ApprovalChecking { + __kind: 'ApprovalChecking' +} + +export interface V6ValidDisputeStatementKind_ApprovalCheckingMultipleCandidates { + __kind: 'ApprovalCheckingMultipleCandidates' + value: CandidateHash[] +} + +export interface V6ValidDisputeStatementKind_BackingSeconded { + __kind: 'BackingSeconded' + value: H256 +} + +export interface V6ValidDisputeStatementKind_BackingValid { + __kind: 'BackingValid' + value: H256 +} + +export interface V6ValidDisputeStatementKind_Explicit { + __kind: 'Explicit' +} + +export const V6InvalidDisputeStatementKind: sts.Type = sts.closedEnum(() => { + return { + Explicit: sts.unit(), + } +}) + +export type V6InvalidDisputeStatementKind = V6InvalidDisputeStatementKind_Explicit + +export interface V6InvalidDisputeStatementKind_Explicit { + __kind: 'Explicit' +} + +export type V6DisputeStatement = V6DisputeStatement_Invalid | V6DisputeStatement_Valid + +export interface V6DisputeStatement_Invalid { + __kind: 'Invalid' + value: V6InvalidDisputeStatementKind +} + +export interface V6DisputeStatement_Valid { + __kind: 'Valid' + value: V6ValidDisputeStatementKind +} + +export interface V6DisputeStatementSet { + candidateHash: CandidateHash + session: number + statements: [V6DisputeStatement, V6ValidatorIndex, V6Signature][] +} + +export const V6BackedCandidate: sts.Type = sts.struct(() => { + return { + candidate: V6CommittedCandidateReceipt, + validityVotes: sts.array(() => V6ValidityAttestation), + validatorIndices: sts.bitseq(), + } +}) + +export const V6ValidityAttestation: sts.Type = sts.closedEnum(() => { + return { + Explicit: V6Signature, + Implicit: V6Signature, + } +}) + +export type V6ValidityAttestation = V6ValidityAttestation_Explicit | V6ValidityAttestation_Implicit + +export interface V6ValidityAttestation_Explicit { + __kind: 'Explicit' + value: V6Signature +} + +export interface V6ValidityAttestation_Implicit { + __kind: 'Implicit' + value: V6Signature +} + +export const V6CommittedCandidateReceipt: sts.Type = sts.struct(() => { + return { + descriptor: V6CandidateDescriptor, + commitments: V6CandidateCommitments, + } +}) + +export const V6CandidateCommitments: sts.Type = sts.struct(() => { + return { + upwardMessages: sts.array(() => sts.bytes()), + horizontalMessages: sts.array(() => OutboundHrmpMessage), + newValidationCode: sts.option(() => ValidationCode), + headData: HeadData, + processedDownwardMessages: sts.number(), + hrmpWatermark: sts.number(), + } +}) + +export const OutboundHrmpMessage: sts.Type = sts.struct(() => { + return { + recipient: Id, + data: sts.bytes(), + } +}) + +export interface OutboundHrmpMessage { + recipient: Id + data: Bytes +} + +export interface V6CandidateCommitments { + upwardMessages: Bytes[] + horizontalMessages: OutboundHrmpMessage[] + newValidationCode?: (ValidationCode | undefined) + headData: HeadData + processedDownwardMessages: number + hrmpWatermark: number +} + +export const V6CandidateDescriptor: sts.Type = sts.struct(() => { + return { + paraId: Id, + relayParent: H256, + collator: sts.bytes(), + persistedValidationDataHash: H256, + povHash: H256, + erasureRoot: H256, + signature: sts.bytes(), + paraHead: H256, + validationCodeHash: ValidationCodeHash, + } +}) + +export interface V6CandidateDescriptor { + paraId: Id + relayParent: H256 + collator: Bytes + persistedValidationDataHash: H256 + povHash: H256 + erasureRoot: H256 + signature: Bytes + paraHead: H256 + validationCodeHash: ValidationCodeHash +} + +export interface V6CommittedCandidateReceipt { + descriptor: V6CandidateDescriptor + commitments: V6CandidateCommitments +} + +export interface V6BackedCandidate { + candidate: V6CommittedCandidateReceipt + validityVotes: V6ValidityAttestation[] + validatorIndices: BitSequence +} + +export const V6UncheckedSigned: sts.Type = sts.struct(() => { + return { + payload: V6AvailabilityBitfield, + validatorIndex: V6ValidatorIndex, + signature: V6Signature, + } +}) + +export const V6AvailabilityBitfield = sts.bitseq() + +export interface V6UncheckedSigned { + payload: V6AvailabilityBitfield + validatorIndex: V6ValidatorIndex + signature: V6Signature +} + +export type V6AvailabilityBitfield = BitSequence + +export interface V6InherentData { + bitfields: V6UncheckedSigned[] + backedCandidates: V6BackedCandidate[] + disputes: V6DisputeStatementSet[] + parentHeader: Header +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParaInherentCall = ParaInherentCall_enter + +/** + * See [`Pallet::enter`]. + */ +export interface ParaInherentCall_enter { + __kind: 'enter' + data: V6InherentData +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParaInclusionCall: sts.Type = sts.closedEnum(() => { + return { + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParaInclusionCall = never + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const OnDemandAssignmentProviderCall: sts.Type = sts.closedEnum(() => { + return { + place_order_allow_death: sts.enumStruct({ + maxAmount: sts.bigint(), + paraId: Id, + }), + place_order_keep_alive: sts.enumStruct({ + maxAmount: sts.bigint(), + paraId: Id, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type OnDemandAssignmentProviderCall = OnDemandAssignmentProviderCall_place_order_allow_death | OnDemandAssignmentProviderCall_place_order_keep_alive + +/** + * See [`Pallet::place_order_allow_death`]. + */ +export interface OnDemandAssignmentProviderCall_place_order_allow_death { + __kind: 'place_order_allow_death' + maxAmount: bigint + paraId: Id +} + +/** + * See [`Pallet::place_order_keep_alive`]. + */ +export interface OnDemandAssignmentProviderCall_place_order_keep_alive { + __kind: 'place_order_keep_alive' + maxAmount: bigint + paraId: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NominationPoolsCall: sts.Type = sts.closedEnum(() => { + return { + adjust_pool_deposit: sts.enumStruct({ + poolId: sts.number(), + }), + bond_extra: sts.enumStruct({ + extra: BondExtra, + }), + bond_extra_other: sts.enumStruct({ + member: MultiAddress, + extra: BondExtra, + }), + chill: sts.enumStruct({ + poolId: sts.number(), + }), + claim_commission: sts.enumStruct({ + poolId: sts.number(), + }), + claim_payout: sts.unit(), + claim_payout_other: sts.enumStruct({ + other: AccountId32, + }), + create: sts.enumStruct({ + amount: sts.bigint(), + root: MultiAddress, + nominator: MultiAddress, + bouncer: MultiAddress, + }), + create_with_pool_id: sts.enumStruct({ + amount: sts.bigint(), + root: MultiAddress, + nominator: MultiAddress, + bouncer: MultiAddress, + poolId: sts.number(), + }), + join: sts.enumStruct({ + amount: sts.bigint(), + poolId: sts.number(), + }), + nominate: sts.enumStruct({ + poolId: sts.number(), + validators: sts.array(() => AccountId32), + }), + pool_withdraw_unbonded: sts.enumStruct({ + poolId: sts.number(), + numSlashingSpans: sts.number(), + }), + set_claim_permission: sts.enumStruct({ + permission: ClaimPermission, + }), + set_commission: sts.enumStruct({ + poolId: sts.number(), + newCommission: sts.option(() => sts.tuple(() => [Perbill, AccountId32])), + }), + set_commission_change_rate: sts.enumStruct({ + poolId: sts.number(), + changeRate: CommissionChangeRate, + }), + set_commission_claim_permission: sts.enumStruct({ + poolId: sts.number(), + permission: sts.option(() => CommissionClaimPermission), + }), + set_commission_max: sts.enumStruct({ + poolId: sts.number(), + maxCommission: Perbill, + }), + set_configs: sts.enumStruct({ + minJoinBond: Type_293, + minCreateBond: Type_293, + maxPools: Type_294, + maxMembers: Type_294, + maxMembersPerPool: Type_294, + globalMaxCommission: Type_295, + }), + set_metadata: sts.enumStruct({ + poolId: sts.number(), + metadata: sts.bytes(), + }), + set_state: sts.enumStruct({ + poolId: sts.number(), + state: PoolState, + }), + unbond: sts.enumStruct({ + memberAccount: MultiAddress, + unbondingPoints: sts.bigint(), + }), + update_roles: sts.enumStruct({ + poolId: sts.number(), + newRoot: Type_296, + newNominator: Type_296, + newBouncer: Type_296, + }), + withdraw_unbonded: sts.enumStruct({ + memberAccount: MultiAddress, + numSlashingSpans: sts.number(), + }), + } +}) + +export const Type_296: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: AccountId32, + } +}) + +export type Type_296 = Type_296_Noop | Type_296_Remove | Type_296_Set + +export interface Type_296_Noop { + __kind: 'Noop' +} + +export interface Type_296_Remove { + __kind: 'Remove' +} + +export interface Type_296_Set { + __kind: 'Set' + value: AccountId32 +} + +export const PoolState: sts.Type = sts.closedEnum(() => { + return { + Blocked: sts.unit(), + Destroying: sts.unit(), + Open: sts.unit(), + } +}) + +export type PoolState = PoolState_Blocked | PoolState_Destroying | PoolState_Open + +export interface PoolState_Blocked { + __kind: 'Blocked' +} + +export interface PoolState_Destroying { + __kind: 'Destroying' +} + +export interface PoolState_Open { + __kind: 'Open' +} + +export const Type_295: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Perbill, + } +}) + +export type Type_295 = Type_295_Noop | Type_295_Remove | Type_295_Set + +export interface Type_295_Noop { + __kind: 'Noop' +} + +export interface Type_295_Remove { + __kind: 'Remove' +} + +export interface Type_295_Set { + __kind: 'Set' + value: Perbill +} + +export const Type_294: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.number(), + } +}) + +export type Type_294 = Type_294_Noop | Type_294_Remove | Type_294_Set + +export interface Type_294_Noop { + __kind: 'Noop' +} + +export interface Type_294_Remove { + __kind: 'Remove' +} + +export interface Type_294_Set { + __kind: 'Set' + value: number +} + +export const Type_293: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.bigint(), + } +}) + +export type Type_293 = Type_293_Noop | Type_293_Remove | Type_293_Set + +export interface Type_293_Noop { + __kind: 'Noop' +} + +export interface Type_293_Remove { + __kind: 'Remove' +} + +export interface Type_293_Set { + __kind: 'Set' + value: bigint +} + +export const CommissionClaimPermission: sts.Type = sts.closedEnum(() => { + return { + Account: AccountId32, + Permissionless: sts.unit(), + } +}) + +export type CommissionClaimPermission = CommissionClaimPermission_Account | CommissionClaimPermission_Permissionless + +export interface CommissionClaimPermission_Account { + __kind: 'Account' + value: AccountId32 +} + +export interface CommissionClaimPermission_Permissionless { + __kind: 'Permissionless' +} + +export const CommissionChangeRate: sts.Type = sts.struct(() => { + return { + maxIncrease: Perbill, + minDelay: sts.number(), + } +}) + +export interface CommissionChangeRate { + maxIncrease: Perbill + minDelay: number +} + +export const ClaimPermission: sts.Type = sts.closedEnum(() => { + return { + Permissioned: sts.unit(), + PermissionlessAll: sts.unit(), + PermissionlessCompound: sts.unit(), + PermissionlessWithdraw: sts.unit(), + } +}) + +export type ClaimPermission = ClaimPermission_Permissioned | ClaimPermission_PermissionlessAll | ClaimPermission_PermissionlessCompound | ClaimPermission_PermissionlessWithdraw + +export interface ClaimPermission_Permissioned { + __kind: 'Permissioned' +} + +export interface ClaimPermission_PermissionlessAll { + __kind: 'PermissionlessAll' +} + +export interface ClaimPermission_PermissionlessCompound { + __kind: 'PermissionlessCompound' +} + +export interface ClaimPermission_PermissionlessWithdraw { + __kind: 'PermissionlessWithdraw' +} + +export const BondExtra: sts.Type = sts.closedEnum(() => { + return { + FreeBalance: sts.bigint(), + Rewards: sts.unit(), + } +}) + +export type BondExtra = BondExtra_FreeBalance | BondExtra_Rewards + +export interface BondExtra_FreeBalance { + __kind: 'FreeBalance' + value: bigint +} + +export interface BondExtra_Rewards { + __kind: 'Rewards' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NominationPoolsCall = NominationPoolsCall_adjust_pool_deposit | NominationPoolsCall_bond_extra | NominationPoolsCall_bond_extra_other | NominationPoolsCall_chill | NominationPoolsCall_claim_commission | NominationPoolsCall_claim_payout | NominationPoolsCall_claim_payout_other | NominationPoolsCall_create | NominationPoolsCall_create_with_pool_id | NominationPoolsCall_join | NominationPoolsCall_nominate | NominationPoolsCall_pool_withdraw_unbonded | NominationPoolsCall_set_claim_permission | NominationPoolsCall_set_commission | NominationPoolsCall_set_commission_change_rate | NominationPoolsCall_set_commission_claim_permission | NominationPoolsCall_set_commission_max | NominationPoolsCall_set_configs | NominationPoolsCall_set_metadata | NominationPoolsCall_set_state | NominationPoolsCall_unbond | NominationPoolsCall_update_roles | NominationPoolsCall_withdraw_unbonded + +/** + * See [`Pallet::adjust_pool_deposit`]. + */ +export interface NominationPoolsCall_adjust_pool_deposit { + __kind: 'adjust_pool_deposit' + poolId: number +} + +/** + * See [`Pallet::bond_extra`]. + */ +export interface NominationPoolsCall_bond_extra { + __kind: 'bond_extra' + extra: BondExtra +} + +/** + * See [`Pallet::bond_extra_other`]. + */ +export interface NominationPoolsCall_bond_extra_other { + __kind: 'bond_extra_other' + member: MultiAddress + extra: BondExtra +} + +/** + * See [`Pallet::chill`]. + */ +export interface NominationPoolsCall_chill { + __kind: 'chill' + poolId: number +} + +/** + * See [`Pallet::claim_commission`]. + */ +export interface NominationPoolsCall_claim_commission { + __kind: 'claim_commission' + poolId: number +} + +/** + * See [`Pallet::claim_payout`]. + */ +export interface NominationPoolsCall_claim_payout { + __kind: 'claim_payout' +} + +/** + * See [`Pallet::claim_payout_other`]. + */ +export interface NominationPoolsCall_claim_payout_other { + __kind: 'claim_payout_other' + other: AccountId32 +} + +/** + * See [`Pallet::create`]. + */ +export interface NominationPoolsCall_create { + __kind: 'create' + amount: bigint + root: MultiAddress + nominator: MultiAddress + bouncer: MultiAddress +} + +/** + * See [`Pallet::create_with_pool_id`]. + */ +export interface NominationPoolsCall_create_with_pool_id { + __kind: 'create_with_pool_id' + amount: bigint + root: MultiAddress + nominator: MultiAddress + bouncer: MultiAddress + poolId: number +} + +/** + * See [`Pallet::join`]. + */ +export interface NominationPoolsCall_join { + __kind: 'join' + amount: bigint + poolId: number +} + +/** + * See [`Pallet::nominate`]. + */ +export interface NominationPoolsCall_nominate { + __kind: 'nominate' + poolId: number + validators: AccountId32[] +} + +/** + * See [`Pallet::pool_withdraw_unbonded`]. + */ +export interface NominationPoolsCall_pool_withdraw_unbonded { + __kind: 'pool_withdraw_unbonded' + poolId: number + numSlashingSpans: number +} + +/** + * See [`Pallet::set_claim_permission`]. + */ +export interface NominationPoolsCall_set_claim_permission { + __kind: 'set_claim_permission' + permission: ClaimPermission +} + +/** + * See [`Pallet::set_commission`]. + */ +export interface NominationPoolsCall_set_commission { + __kind: 'set_commission' + poolId: number + newCommission?: ([Perbill, AccountId32] | undefined) +} + +/** + * See [`Pallet::set_commission_change_rate`]. + */ +export interface NominationPoolsCall_set_commission_change_rate { + __kind: 'set_commission_change_rate' + poolId: number + changeRate: CommissionChangeRate +} + +/** + * See [`Pallet::set_commission_claim_permission`]. + */ +export interface NominationPoolsCall_set_commission_claim_permission { + __kind: 'set_commission_claim_permission' + poolId: number + permission?: (CommissionClaimPermission | undefined) +} + +/** + * See [`Pallet::set_commission_max`]. + */ +export interface NominationPoolsCall_set_commission_max { + __kind: 'set_commission_max' + poolId: number + maxCommission: Perbill +} + +/** + * See [`Pallet::set_configs`]. + */ +export interface NominationPoolsCall_set_configs { + __kind: 'set_configs' + minJoinBond: Type_293 + minCreateBond: Type_293 + maxPools: Type_294 + maxMembers: Type_294 + maxMembersPerPool: Type_294 + globalMaxCommission: Type_295 +} + +/** + * See [`Pallet::set_metadata`]. + */ +export interface NominationPoolsCall_set_metadata { + __kind: 'set_metadata' + poolId: number + metadata: Bytes +} + +/** + * See [`Pallet::set_state`]. + */ +export interface NominationPoolsCall_set_state { + __kind: 'set_state' + poolId: number + state: PoolState +} + +/** + * See [`Pallet::unbond`]. + */ +export interface NominationPoolsCall_unbond { + __kind: 'unbond' + memberAccount: MultiAddress + unbondingPoints: bigint +} + +/** + * See [`Pallet::update_roles`]. + */ +export interface NominationPoolsCall_update_roles { + __kind: 'update_roles' + poolId: number + newRoot: Type_296 + newNominator: Type_296 + newBouncer: Type_296 +} + +/** + * See [`Pallet::withdraw_unbonded`]. + */ +export interface NominationPoolsCall_withdraw_unbonded { + __kind: 'withdraw_unbonded' + memberAccount: MultiAddress + numSlashingSpans: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NisCounterpartBalancesCall: sts.Type = sts.closedEnum(() => { + return { + force_adjust_total_issuance: sts.enumStruct({ + direction: AdjustmentDirection, + delta: sts.bigint(), + }), + force_set_balance: sts.enumStruct({ + who: MultiAddress, + newFree: sts.bigint(), + }), + force_transfer: sts.enumStruct({ + source: MultiAddress, + dest: MultiAddress, + value: sts.bigint(), + }), + force_unreserve: sts.enumStruct({ + who: MultiAddress, + amount: sts.bigint(), + }), + transfer_all: sts.enumStruct({ + dest: MultiAddress, + keepAlive: sts.boolean(), + }), + transfer_allow_death: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + transfer_keep_alive: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + upgrade_accounts: sts.enumStruct({ + who: sts.array(() => AccountId32), + }), + } +}) + +export const AdjustmentDirection: sts.Type = sts.closedEnum(() => { + return { + Decrease: sts.unit(), + Increase: sts.unit(), + } +}) + +export type AdjustmentDirection = AdjustmentDirection_Decrease | AdjustmentDirection_Increase + +export interface AdjustmentDirection_Decrease { + __kind: 'Decrease' +} + +export interface AdjustmentDirection_Increase { + __kind: 'Increase' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NisCounterpartBalancesCall = NisCounterpartBalancesCall_force_adjust_total_issuance | NisCounterpartBalancesCall_force_set_balance | NisCounterpartBalancesCall_force_transfer | NisCounterpartBalancesCall_force_unreserve | NisCounterpartBalancesCall_transfer_all | NisCounterpartBalancesCall_transfer_allow_death | NisCounterpartBalancesCall_transfer_keep_alive | NisCounterpartBalancesCall_upgrade_accounts + +/** + * See [`Pallet::force_adjust_total_issuance`]. + */ +export interface NisCounterpartBalancesCall_force_adjust_total_issuance { + __kind: 'force_adjust_total_issuance' + direction: AdjustmentDirection + delta: bigint +} + +/** + * See [`Pallet::force_set_balance`]. + */ +export interface NisCounterpartBalancesCall_force_set_balance { + __kind: 'force_set_balance' + who: MultiAddress + newFree: bigint +} + +/** + * See [`Pallet::force_transfer`]. + */ +export interface NisCounterpartBalancesCall_force_transfer { + __kind: 'force_transfer' + source: MultiAddress + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::force_unreserve`]. + */ +export interface NisCounterpartBalancesCall_force_unreserve { + __kind: 'force_unreserve' + who: MultiAddress + amount: bigint +} + +/** + * See [`Pallet::transfer_all`]. + */ +export interface NisCounterpartBalancesCall_transfer_all { + __kind: 'transfer_all' + dest: MultiAddress + keepAlive: boolean +} + +/** + * See [`Pallet::transfer_allow_death`]. + */ +export interface NisCounterpartBalancesCall_transfer_allow_death { + __kind: 'transfer_allow_death' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::transfer_keep_alive`]. + */ +export interface NisCounterpartBalancesCall_transfer_keep_alive { + __kind: 'transfer_keep_alive' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::upgrade_accounts`]. + */ +export interface NisCounterpartBalancesCall_upgrade_accounts { + __kind: 'upgrade_accounts' + who: AccountId32[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NisCall: sts.Type = sts.closedEnum(() => { + return { + communify: sts.enumStruct({ + index: sts.number(), + }), + fund_deficit: sts.unit(), + place_bid: sts.enumStruct({ + amount: sts.bigint(), + duration: sts.number(), + }), + privatize: sts.enumStruct({ + index: sts.number(), + }), + retract_bid: sts.enumStruct({ + amount: sts.bigint(), + duration: sts.number(), + }), + thaw_communal: sts.enumStruct({ + index: sts.number(), + }), + thaw_private: sts.enumStruct({ + index: sts.number(), + maybeProportion: sts.option(() => Perquintill), + }), + } +}) + +export const Perquintill = sts.bigint() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NisCall = NisCall_communify | NisCall_fund_deficit | NisCall_place_bid | NisCall_privatize | NisCall_retract_bid | NisCall_thaw_communal | NisCall_thaw_private + +/** + * See [`Pallet::communify`]. + */ +export interface NisCall_communify { + __kind: 'communify' + index: number +} + +/** + * See [`Pallet::fund_deficit`]. + */ +export interface NisCall_fund_deficit { + __kind: 'fund_deficit' +} + +/** + * See [`Pallet::place_bid`]. + */ +export interface NisCall_place_bid { + __kind: 'place_bid' + amount: bigint + duration: number +} + +/** + * See [`Pallet::privatize`]. + */ +export interface NisCall_privatize { + __kind: 'privatize' + index: number +} + +/** + * See [`Pallet::retract_bid`]. + */ +export interface NisCall_retract_bid { + __kind: 'retract_bid' + amount: bigint + duration: number +} + +/** + * See [`Pallet::thaw_communal`]. + */ +export interface NisCall_thaw_communal { + __kind: 'thaw_communal' + index: number +} + +/** + * See [`Pallet::thaw_private`]. + */ +export interface NisCall_thaw_private { + __kind: 'thaw_private' + index: number + maybeProportion?: (Perquintill | undefined) +} + +export type Perquintill = bigint + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const MultisigCall: sts.Type = sts.closedEnum(() => { + return { + approve_as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + maybeTimepoint: sts.option(() => Timepoint), + callHash: sts.bytes(), + maxWeight: Weight, + }), + as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + maybeTimepoint: sts.option(() => Timepoint), + call: Call, + maxWeight: Weight, + }), + as_multi_threshold_1: sts.enumStruct({ + otherSignatories: sts.array(() => AccountId32), + call: Call, + }), + cancel_as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + timepoint: Timepoint, + callHash: sts.bytes(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type MultisigCall = MultisigCall_approve_as_multi | MultisigCall_as_multi | MultisigCall_as_multi_threshold_1 | MultisigCall_cancel_as_multi + +/** + * See [`Pallet::approve_as_multi`]. + */ +export interface MultisigCall_approve_as_multi { + __kind: 'approve_as_multi' + threshold: number + otherSignatories: AccountId32[] + maybeTimepoint?: (Timepoint | undefined) + callHash: Bytes + maxWeight: Weight +} + +/** + * See [`Pallet::as_multi`]. + */ +export interface MultisigCall_as_multi { + __kind: 'as_multi' + threshold: number + otherSignatories: AccountId32[] + maybeTimepoint?: (Timepoint | undefined) + call: Call + maxWeight: Weight +} + +/** + * See [`Pallet::as_multi_threshold_1`]. + */ +export interface MultisigCall_as_multi_threshold_1 { + __kind: 'as_multi_threshold_1' + otherSignatories: AccountId32[] + call: Call +} + +/** + * See [`Pallet::cancel_as_multi`]. + */ +export interface MultisigCall_cancel_as_multi { + __kind: 'cancel_as_multi' + threshold: number + otherSignatories: AccountId32[] + timepoint: Timepoint + callHash: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const MessageQueueCall: sts.Type = sts.closedEnum(() => { + return { + execute_overweight: sts.enumStruct({ + messageOrigin: AggregateMessageOrigin, + page: sts.number(), + index: sts.number(), + weightLimit: Weight, + }), + reap_page: sts.enumStruct({ + messageOrigin: AggregateMessageOrigin, + pageIndex: sts.number(), + }), + } +}) + +export const AggregateMessageOrigin: sts.Type = sts.closedEnum(() => { + return { + Ump: UmpQueueId, + } +}) + +export const UmpQueueId: sts.Type = sts.closedEnum(() => { + return { + Para: Id, + } +}) + +export type UmpQueueId = UmpQueueId_Para + +export interface UmpQueueId_Para { + __kind: 'Para' + value: Id +} + +export type AggregateMessageOrigin = AggregateMessageOrigin_Ump + +export interface AggregateMessageOrigin_Ump { + __kind: 'Ump' + value: UmpQueueId +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type MessageQueueCall = MessageQueueCall_execute_overweight | MessageQueueCall_reap_page + +/** + * See [`Pallet::execute_overweight`]. + */ +export interface MessageQueueCall_execute_overweight { + __kind: 'execute_overweight' + messageOrigin: AggregateMessageOrigin + page: number + index: number + weightLimit: Weight +} + +/** + * See [`Pallet::reap_page`]. + */ +export interface MessageQueueCall_reap_page { + __kind: 'reap_page' + messageOrigin: AggregateMessageOrigin + pageIndex: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const InitializerCall: sts.Type = sts.closedEnum(() => { + return { + force_approve: sts.enumStruct({ + upTo: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type InitializerCall = InitializerCall_force_approve + +/** + * See [`Pallet::force_approve`]. + */ +export interface InitializerCall_force_approve { + __kind: 'force_approve' + upTo: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const IndicesCall: sts.Type = sts.closedEnum(() => { + return { + claim: sts.enumStruct({ + index: sts.number(), + }), + force_transfer: sts.enumStruct({ + new: MultiAddress, + index: sts.number(), + freeze: sts.boolean(), + }), + free: sts.enumStruct({ + index: sts.number(), + }), + freeze: sts.enumStruct({ + index: sts.number(), + }), + transfer: sts.enumStruct({ + new: MultiAddress, + index: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type IndicesCall = IndicesCall_claim | IndicesCall_force_transfer | IndicesCall_free | IndicesCall_freeze | IndicesCall_transfer + +/** + * See [`Pallet::claim`]. + */ +export interface IndicesCall_claim { + __kind: 'claim' + index: number +} + +/** + * See [`Pallet::force_transfer`]. + */ +export interface IndicesCall_force_transfer { + __kind: 'force_transfer' + new: MultiAddress + index: number + freeze: boolean +} + +/** + * See [`Pallet::free`]. + */ +export interface IndicesCall_free { + __kind: 'free' + index: number +} + +/** + * See [`Pallet::freeze`]. + */ +export interface IndicesCall_freeze { + __kind: 'freeze' + index: number +} + +/** + * See [`Pallet::transfer`]. + */ +export interface IndicesCall_transfer { + __kind: 'transfer' + new: MultiAddress + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const HrmpCall: sts.Type = sts.closedEnum(() => { + return { + establish_channel_with_system: sts.enumStruct({ + targetSystemChain: Id, + }), + establish_system_channel: sts.enumStruct({ + sender: Id, + recipient: Id, + }), + force_clean_hrmp: sts.enumStruct({ + para: Id, + numInbound: sts.number(), + numOutbound: sts.number(), + }), + force_open_hrmp_channel: sts.enumStruct({ + sender: Id, + recipient: Id, + maxCapacity: sts.number(), + maxMessageSize: sts.number(), + }), + force_process_hrmp_close: sts.enumStruct({ + channels: sts.number(), + }), + force_process_hrmp_open: sts.enumStruct({ + channels: sts.number(), + }), + hrmp_accept_open_channel: sts.enumStruct({ + sender: Id, + }), + hrmp_cancel_open_request: sts.enumStruct({ + channelId: HrmpChannelId, + openRequests: sts.number(), + }), + hrmp_close_channel: sts.enumStruct({ + channelId: HrmpChannelId, + }), + hrmp_init_open_channel: sts.enumStruct({ + recipient: Id, + proposedMaxCapacity: sts.number(), + proposedMaxMessageSize: sts.number(), + }), + poke_channel_deposits: sts.enumStruct({ + sender: Id, + recipient: Id, + }), + } +}) + +export const HrmpChannelId: sts.Type = sts.struct(() => { + return { + sender: Id, + recipient: Id, + } +}) + +export interface HrmpChannelId { + sender: Id + recipient: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type HrmpCall = HrmpCall_establish_channel_with_system | HrmpCall_establish_system_channel | HrmpCall_force_clean_hrmp | HrmpCall_force_open_hrmp_channel | HrmpCall_force_process_hrmp_close | HrmpCall_force_process_hrmp_open | HrmpCall_hrmp_accept_open_channel | HrmpCall_hrmp_cancel_open_request | HrmpCall_hrmp_close_channel | HrmpCall_hrmp_init_open_channel | HrmpCall_poke_channel_deposits + +/** + * See [`Pallet::establish_channel_with_system`]. + */ +export interface HrmpCall_establish_channel_with_system { + __kind: 'establish_channel_with_system' + targetSystemChain: Id +} + +/** + * See [`Pallet::establish_system_channel`]. + */ +export interface HrmpCall_establish_system_channel { + __kind: 'establish_system_channel' + sender: Id + recipient: Id +} + +/** + * See [`Pallet::force_clean_hrmp`]. + */ +export interface HrmpCall_force_clean_hrmp { + __kind: 'force_clean_hrmp' + para: Id + numInbound: number + numOutbound: number +} + +/** + * See [`Pallet::force_open_hrmp_channel`]. + */ +export interface HrmpCall_force_open_hrmp_channel { + __kind: 'force_open_hrmp_channel' + sender: Id + recipient: Id + maxCapacity: number + maxMessageSize: number +} + +/** + * See [`Pallet::force_process_hrmp_close`]. + */ +export interface HrmpCall_force_process_hrmp_close { + __kind: 'force_process_hrmp_close' + channels: number +} + +/** + * See [`Pallet::force_process_hrmp_open`]. + */ +export interface HrmpCall_force_process_hrmp_open { + __kind: 'force_process_hrmp_open' + channels: number +} + +/** + * See [`Pallet::hrmp_accept_open_channel`]. + */ +export interface HrmpCall_hrmp_accept_open_channel { + __kind: 'hrmp_accept_open_channel' + sender: Id +} + +/** + * See [`Pallet::hrmp_cancel_open_request`]. + */ +export interface HrmpCall_hrmp_cancel_open_request { + __kind: 'hrmp_cancel_open_request' + channelId: HrmpChannelId + openRequests: number +} + +/** + * See [`Pallet::hrmp_close_channel`]. + */ +export interface HrmpCall_hrmp_close_channel { + __kind: 'hrmp_close_channel' + channelId: HrmpChannelId +} + +/** + * See [`Pallet::hrmp_init_open_channel`]. + */ +export interface HrmpCall_hrmp_init_open_channel { + __kind: 'hrmp_init_open_channel' + recipient: Id + proposedMaxCapacity: number + proposedMaxMessageSize: number +} + +/** + * See [`Pallet::poke_channel_deposits`]. + */ +export interface HrmpCall_poke_channel_deposits { + __kind: 'poke_channel_deposits' + sender: Id + recipient: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const GrandpaCall: sts.Type = sts.closedEnum(() => { + return { + note_stalled: sts.enumStruct({ + delay: sts.number(), + bestFinalizedBlockNumber: sts.number(), + }), + report_equivocation: sts.enumStruct({ + equivocationProof: Type_142, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: Type_142, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const Type_142: sts.Type = sts.struct(() => { + return { + setId: sts.bigint(), + equivocation: Equivocation, + } +}) + +export const Equivocation: sts.Type = sts.closedEnum(() => { + return { + Precommit: Type_150, + Prevote: Type_144, + } +}) + +export const Type_144: sts.Type = sts.struct(() => { + return { + roundNumber: sts.bigint(), + identity: Public, + first: sts.tuple(() => [Prevote, Signature]), + second: sts.tuple(() => [Prevote, Signature]), + } +}) + +export const Signature = sts.bytes() + +export const Prevote: sts.Type = sts.struct(() => { + return { + targetHash: H256, + targetNumber: sts.number(), + } +}) + +export interface Prevote { + targetHash: H256 + targetNumber: number +} + +export interface Type_144 { + roundNumber: bigint + identity: Public + first: [Prevote, Signature] + second: [Prevote, Signature] +} + +export type Signature = Bytes + +export const Type_150: sts.Type = sts.struct(() => { + return { + roundNumber: sts.bigint(), + identity: Public, + first: sts.tuple(() => [Precommit, Signature]), + second: sts.tuple(() => [Precommit, Signature]), + } +}) + +export const Precommit: sts.Type = sts.struct(() => { + return { + targetHash: H256, + targetNumber: sts.number(), + } +}) + +export interface Precommit { + targetHash: H256 + targetNumber: number +} + +export interface Type_150 { + roundNumber: bigint + identity: Public + first: [Precommit, Signature] + second: [Precommit, Signature] +} + +export type Equivocation = Equivocation_Precommit | Equivocation_Prevote + +export interface Equivocation_Precommit { + __kind: 'Precommit' + value: Type_150 +} + +export interface Equivocation_Prevote { + __kind: 'Prevote' + value: Type_144 +} + +export interface Type_142 { + setId: bigint + equivocation: Equivocation +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type GrandpaCall = GrandpaCall_note_stalled | GrandpaCall_report_equivocation | GrandpaCall_report_equivocation_unsigned + +/** + * See [`Pallet::note_stalled`]. + */ +export interface GrandpaCall_note_stalled { + __kind: 'note_stalled' + delay: number + bestFinalizedBlockNumber: number +} + +/** + * See [`Pallet::report_equivocation`]. + */ +export interface GrandpaCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: Type_142 + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::report_equivocation_unsigned`]. + */ +export interface GrandpaCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: Type_142 + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FellowshipReferendaCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + index: sts.number(), + }), + kill: sts.enumStruct({ + index: sts.number(), + }), + nudge_referendum: sts.enumStruct({ + index: sts.number(), + }), + one_fewer_deciding: sts.enumStruct({ + track: sts.number(), + }), + place_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_submission_deposit: sts.enumStruct({ + index: sts.number(), + }), + set_metadata: sts.enumStruct({ + index: sts.number(), + maybeHash: sts.option(() => H256), + }), + submit: sts.enumStruct({ + proposalOrigin: OriginCaller, + proposal: Bounded, + enactmentMoment: DispatchTime, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FellowshipReferendaCall = FellowshipReferendaCall_cancel | FellowshipReferendaCall_kill | FellowshipReferendaCall_nudge_referendum | FellowshipReferendaCall_one_fewer_deciding | FellowshipReferendaCall_place_decision_deposit | FellowshipReferendaCall_refund_decision_deposit | FellowshipReferendaCall_refund_submission_deposit | FellowshipReferendaCall_set_metadata | FellowshipReferendaCall_submit + +/** + * See [`Pallet::cancel`]. + */ +export interface FellowshipReferendaCall_cancel { + __kind: 'cancel' + index: number +} + +/** + * See [`Pallet::kill`]. + */ +export interface FellowshipReferendaCall_kill { + __kind: 'kill' + index: number +} + +/** + * See [`Pallet::nudge_referendum`]. + */ +export interface FellowshipReferendaCall_nudge_referendum { + __kind: 'nudge_referendum' + index: number +} + +/** + * See [`Pallet::one_fewer_deciding`]. + */ +export interface FellowshipReferendaCall_one_fewer_deciding { + __kind: 'one_fewer_deciding' + track: number +} + +/** + * See [`Pallet::place_decision_deposit`]. + */ +export interface FellowshipReferendaCall_place_decision_deposit { + __kind: 'place_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_decision_deposit`]. + */ +export interface FellowshipReferendaCall_refund_decision_deposit { + __kind: 'refund_decision_deposit' + index: number +} + +/** + * See [`Pallet::refund_submission_deposit`]. + */ +export interface FellowshipReferendaCall_refund_submission_deposit { + __kind: 'refund_submission_deposit' + index: number +} + +/** + * See [`Pallet::set_metadata`]. + */ +export interface FellowshipReferendaCall_set_metadata { + __kind: 'set_metadata' + index: number + maybeHash?: (H256 | undefined) +} + +/** + * See [`Pallet::submit`]. + */ +export interface FellowshipReferendaCall_submit { + __kind: 'submit' + proposalOrigin: OriginCaller + proposal: Bounded + enactmentMoment: DispatchTime +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FellowshipCollectiveCall: sts.Type = sts.closedEnum(() => { + return { + add_member: sts.enumStruct({ + who: MultiAddress, + }), + cleanup_poll: sts.enumStruct({ + pollIndex: sts.number(), + max: sts.number(), + }), + demote_member: sts.enumStruct({ + who: MultiAddress, + }), + exchange_member: sts.enumStruct({ + who: MultiAddress, + newWho: MultiAddress, + }), + promote_member: sts.enumStruct({ + who: MultiAddress, + }), + remove_member: sts.enumStruct({ + who: MultiAddress, + minRank: sts.number(), + }), + vote: sts.enumStruct({ + poll: sts.number(), + aye: sts.boolean(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FellowshipCollectiveCall = FellowshipCollectiveCall_add_member | FellowshipCollectiveCall_cleanup_poll | FellowshipCollectiveCall_demote_member | FellowshipCollectiveCall_exchange_member | FellowshipCollectiveCall_promote_member | FellowshipCollectiveCall_remove_member | FellowshipCollectiveCall_vote + +/** + * See [`Pallet::add_member`]. + */ +export interface FellowshipCollectiveCall_add_member { + __kind: 'add_member' + who: MultiAddress +} + +/** + * See [`Pallet::cleanup_poll`]. + */ +export interface FellowshipCollectiveCall_cleanup_poll { + __kind: 'cleanup_poll' + pollIndex: number + max: number +} + +/** + * See [`Pallet::demote_member`]. + */ +export interface FellowshipCollectiveCall_demote_member { + __kind: 'demote_member' + who: MultiAddress +} + +/** + * See [`Pallet::exchange_member`]. + */ +export interface FellowshipCollectiveCall_exchange_member { + __kind: 'exchange_member' + who: MultiAddress + newWho: MultiAddress +} + +/** + * See [`Pallet::promote_member`]. + */ +export interface FellowshipCollectiveCall_promote_member { + __kind: 'promote_member' + who: MultiAddress +} + +/** + * See [`Pallet::remove_member`]. + */ +export interface FellowshipCollectiveCall_remove_member { + __kind: 'remove_member' + who: MultiAddress + minRank: number +} + +/** + * See [`Pallet::vote`]. + */ +export interface FellowshipCollectiveCall_vote { + __kind: 'vote' + poll: number + aye: boolean +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FastUnstakeCall: sts.Type = sts.closedEnum(() => { + return { + control: sts.enumStruct({ + erasToCheck: sts.number(), + }), + deregister: sts.unit(), + register_fast_unstake: sts.unit(), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FastUnstakeCall = FastUnstakeCall_control | FastUnstakeCall_deregister | FastUnstakeCall_register_fast_unstake + +/** + * See [`Pallet::control`]. + */ +export interface FastUnstakeCall_control { + __kind: 'control' + erasToCheck: number +} + +/** + * See [`Pallet::deregister`]. + */ +export interface FastUnstakeCall_deregister { + __kind: 'deregister' +} + +/** + * See [`Pallet::register_fast_unstake`]. + */ +export interface FastUnstakeCall_register_fast_unstake { + __kind: 'register_fast_unstake' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ElectionProviderMultiPhaseCall: sts.Type = sts.closedEnum(() => { + return { + governance_fallback: sts.enumStruct({ + maybeMaxVoters: sts.option(() => sts.number()), + maybeMaxTargets: sts.option(() => sts.number()), + }), + set_emergency_election_result: sts.enumStruct({ + supports: sts.array(() => sts.tuple(() => [AccountId32, Support])), + }), + set_minimum_untrusted_score: sts.enumStruct({ + maybeNextScore: sts.option(() => ElectionScore), + }), + submit: sts.enumStruct({ + rawSolution: RawSolution, + }), + submit_unsigned: sts.enumStruct({ + rawSolution: RawSolution, + witness: SolutionOrSnapshotSize, + }), + } +}) + +export const SolutionOrSnapshotSize: sts.Type = sts.struct(() => { + return { + voters: sts.number(), + targets: sts.number(), + } +}) + +export interface SolutionOrSnapshotSize { + voters: number + targets: number +} + +export const RawSolution: sts.Type = sts.struct(() => { + return { + solution: NposCompactSolution24, + score: ElectionScore, + round: sts.number(), + } +}) + +export const NposCompactSolution24: sts.Type = sts.struct(() => { + return { + votes1: sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), + votes2: sts.array(() => sts.tuple(() => [sts.number(), sts.tuple(() => [sts.number(), sts.number()]), sts.number()])), + votes3: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes4: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes5: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes6: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes7: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes8: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes9: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes10: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes11: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes12: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes13: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes14: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes15: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes16: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes17: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes18: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes19: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes20: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes21: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes22: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes23: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes24: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + } +}) + +export interface NposCompactSolution24 { + votes1: [number, number][] + votes2: [number, [number, number], number][] + votes3: [number, [number, number][], number][] + votes4: [number, [number, number][], number][] + votes5: [number, [number, number][], number][] + votes6: [number, [number, number][], number][] + votes7: [number, [number, number][], number][] + votes8: [number, [number, number][], number][] + votes9: [number, [number, number][], number][] + votes10: [number, [number, number][], number][] + votes11: [number, [number, number][], number][] + votes12: [number, [number, number][], number][] + votes13: [number, [number, number][], number][] + votes14: [number, [number, number][], number][] + votes15: [number, [number, number][], number][] + votes16: [number, [number, number][], number][] + votes17: [number, [number, number][], number][] + votes18: [number, [number, number][], number][] + votes19: [number, [number, number][], number][] + votes20: [number, [number, number][], number][] + votes21: [number, [number, number][], number][] + votes22: [number, [number, number][], number][] + votes23: [number, [number, number][], number][] + votes24: [number, [number, number][], number][] +} + +export interface RawSolution { + solution: NposCompactSolution24 + score: ElectionScore + round: number +} + +export interface ElectionScore { + minimalStake: bigint + sumStake: bigint + sumStakeSquared: bigint +} + +export const ElectionScore: sts.Type = sts.struct(() => { + return { + minimalStake: sts.bigint(), + sumStake: sts.bigint(), + sumStakeSquared: sts.bigint(), + } +}) + +export const Support: sts.Type = sts.struct(() => { + return { + total: sts.bigint(), + voters: sts.array(() => sts.tuple(() => [AccountId32, sts.bigint()])), + } +}) + +export interface Support { + total: bigint + voters: [AccountId32, bigint][] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ElectionProviderMultiPhaseCall = ElectionProviderMultiPhaseCall_governance_fallback | ElectionProviderMultiPhaseCall_set_emergency_election_result | ElectionProviderMultiPhaseCall_set_minimum_untrusted_score | ElectionProviderMultiPhaseCall_submit | ElectionProviderMultiPhaseCall_submit_unsigned + +/** + * See [`Pallet::governance_fallback`]. + */ +export interface ElectionProviderMultiPhaseCall_governance_fallback { + __kind: 'governance_fallback' + maybeMaxVoters?: (number | undefined) + maybeMaxTargets?: (number | undefined) +} + +/** + * See [`Pallet::set_emergency_election_result`]. + */ +export interface ElectionProviderMultiPhaseCall_set_emergency_election_result { + __kind: 'set_emergency_election_result' + supports: [AccountId32, Support][] +} + +/** + * See [`Pallet::set_minimum_untrusted_score`]. + */ +export interface ElectionProviderMultiPhaseCall_set_minimum_untrusted_score { + __kind: 'set_minimum_untrusted_score' + maybeNextScore?: (ElectionScore | undefined) +} + +/** + * See [`Pallet::submit`]. + */ +export interface ElectionProviderMultiPhaseCall_submit { + __kind: 'submit' + rawSolution: RawSolution +} + +/** + * See [`Pallet::submit_unsigned`]. + */ +export interface ElectionProviderMultiPhaseCall_submit_unsigned { + __kind: 'submit_unsigned' + rawSolution: RawSolution + witness: SolutionOrSnapshotSize +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const CrowdloanCall: sts.Type = sts.closedEnum(() => { + return { + add_memo: sts.enumStruct({ + index: Id, + memo: sts.bytes(), + }), + contribute: sts.enumStruct({ + index: sts.number(), + value: sts.bigint(), + signature: sts.option(() => MultiSignature), + }), + contribute_all: sts.enumStruct({ + index: sts.number(), + signature: sts.option(() => MultiSignature), + }), + create: sts.enumStruct({ + index: sts.number(), + cap: sts.bigint(), + firstPeriod: sts.number(), + lastPeriod: sts.number(), + end: sts.number(), + verifier: sts.option(() => MultiSigner), + }), + dissolve: sts.enumStruct({ + index: sts.number(), + }), + edit: sts.enumStruct({ + index: sts.number(), + cap: sts.bigint(), + firstPeriod: sts.number(), + lastPeriod: sts.number(), + end: sts.number(), + verifier: sts.option(() => MultiSigner), + }), + poke: sts.enumStruct({ + index: Id, + }), + refund: sts.enumStruct({ + index: sts.number(), + }), + withdraw: sts.enumStruct({ + who: AccountId32, + index: sts.number(), + }), + } +}) + +export const MultiSigner: sts.Type = sts.closedEnum(() => { + return { + Ecdsa: sts.bytes(), + Ed25519: sts.bytes(), + Sr25519: sts.bytes(), + } +}) + +export type MultiSigner = MultiSigner_Ecdsa | MultiSigner_Ed25519 | MultiSigner_Sr25519 + +export interface MultiSigner_Ecdsa { + __kind: 'Ecdsa' + value: Bytes +} + +export interface MultiSigner_Ed25519 { + __kind: 'Ed25519' + value: Bytes +} + +export interface MultiSigner_Sr25519 { + __kind: 'Sr25519' + value: Bytes +} + +export const MultiSignature: sts.Type = sts.closedEnum(() => { + return { + Ecdsa: sts.bytes(), + Ed25519: sts.bytes(), + Sr25519: sts.bytes(), + } +}) + +export type MultiSignature = MultiSignature_Ecdsa | MultiSignature_Ed25519 | MultiSignature_Sr25519 + +export interface MultiSignature_Ecdsa { + __kind: 'Ecdsa' + value: Bytes +} + +export interface MultiSignature_Ed25519 { + __kind: 'Ed25519' + value: Bytes +} + +export interface MultiSignature_Sr25519 { + __kind: 'Sr25519' + value: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type CrowdloanCall = CrowdloanCall_add_memo | CrowdloanCall_contribute | CrowdloanCall_contribute_all | CrowdloanCall_create | CrowdloanCall_dissolve | CrowdloanCall_edit | CrowdloanCall_poke | CrowdloanCall_refund | CrowdloanCall_withdraw + +/** + * See [`Pallet::add_memo`]. + */ +export interface CrowdloanCall_add_memo { + __kind: 'add_memo' + index: Id + memo: Bytes +} + +/** + * See [`Pallet::contribute`]. + */ +export interface CrowdloanCall_contribute { + __kind: 'contribute' + index: number + value: bigint + signature?: (MultiSignature | undefined) +} + +/** + * See [`Pallet::contribute_all`]. + */ +export interface CrowdloanCall_contribute_all { + __kind: 'contribute_all' + index: number + signature?: (MultiSignature | undefined) +} + +/** + * See [`Pallet::create`]. + */ +export interface CrowdloanCall_create { + __kind: 'create' + index: number + cap: bigint + firstPeriod: number + lastPeriod: number + end: number + verifier?: (MultiSigner | undefined) +} + +/** + * See [`Pallet::dissolve`]. + */ +export interface CrowdloanCall_dissolve { + __kind: 'dissolve' + index: number +} + +/** + * See [`Pallet::edit`]. + */ +export interface CrowdloanCall_edit { + __kind: 'edit' + index: number + cap: bigint + firstPeriod: number + lastPeriod: number + end: number + verifier?: (MultiSigner | undefined) +} + +/** + * See [`Pallet::poke`]. + */ +export interface CrowdloanCall_poke { + __kind: 'poke' + index: Id +} + +/** + * See [`Pallet::refund`]. + */ +export interface CrowdloanCall_refund { + __kind: 'refund' + index: number +} + +/** + * See [`Pallet::withdraw`]. + */ +export interface CrowdloanCall_withdraw { + __kind: 'withdraw' + who: AccountId32 + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const CoretimeCall: sts.Type = sts.closedEnum(() => { + return { + assign_core: sts.enumStruct({ + core: sts.number(), + begin: sts.number(), + assignment: sts.array(() => sts.tuple(() => [CoreAssignment, PartsOf57600])), + endHint: sts.option(() => sts.number()), + }), + request_core_count: sts.enumStruct({ + count: sts.number(), + }), + } +}) + +export const PartsOf57600 = sts.number() + +export const CoreAssignment: sts.Type = sts.closedEnum(() => { + return { + Idle: sts.unit(), + Pool: sts.unit(), + Task: sts.number(), + } +}) + +export type CoreAssignment = CoreAssignment_Idle | CoreAssignment_Pool | CoreAssignment_Task + +export interface CoreAssignment_Idle { + __kind: 'Idle' +} + +export interface CoreAssignment_Pool { + __kind: 'Pool' +} + +export interface CoreAssignment_Task { + __kind: 'Task' + value: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type CoretimeCall = CoretimeCall_assign_core | CoretimeCall_request_core_count + +/** + * See [`Pallet::assign_core`]. + */ +export interface CoretimeCall_assign_core { + __kind: 'assign_core' + core: number + begin: number + assignment: [CoreAssignment, PartsOf57600][] + endHint?: (number | undefined) +} + +/** + * See [`Pallet::request_core_count`]. + */ +export interface CoretimeCall_request_core_count { + __kind: 'request_core_count' + count: number +} + +export type PartsOf57600 = number + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ConvictionVotingCall: sts.Type = sts.closedEnum(() => { + return { + delegate: sts.enumStruct({ + class: sts.number(), + to: MultiAddress, + conviction: Conviction, + balance: sts.bigint(), + }), + remove_other_vote: sts.enumStruct({ + target: MultiAddress, + class: sts.number(), + index: sts.number(), + }), + remove_vote: sts.enumStruct({ + class: sts.option(() => sts.number()), + index: sts.number(), + }), + undelegate: sts.enumStruct({ + class: sts.number(), + }), + unlock: sts.enumStruct({ + class: sts.number(), + target: MultiAddress, + }), + vote: sts.enumStruct({ + pollIndex: sts.number(), + vote: AccountVote, + }), + } +}) + +export const AccountVote: sts.Type = sts.closedEnum(() => { + return { + Split: sts.enumStruct({ + aye: sts.bigint(), + nay: sts.bigint(), + }), + SplitAbstain: sts.enumStruct({ + aye: sts.bigint(), + nay: sts.bigint(), + abstain: sts.bigint(), + }), + Standard: sts.enumStruct({ + vote: sts.number(), + balance: sts.bigint(), + }), + } +}) + +export type AccountVote = AccountVote_Split | AccountVote_SplitAbstain | AccountVote_Standard + +export interface AccountVote_Split { + __kind: 'Split' + aye: bigint + nay: bigint +} + +export interface AccountVote_SplitAbstain { + __kind: 'SplitAbstain' + aye: bigint + nay: bigint + abstain: bigint +} + +export interface AccountVote_Standard { + __kind: 'Standard' + vote: number + balance: bigint +} + +export const Conviction: sts.Type = sts.closedEnum(() => { + return { + Locked1x: sts.unit(), + Locked2x: sts.unit(), + Locked3x: sts.unit(), + Locked4x: sts.unit(), + Locked5x: sts.unit(), + Locked6x: sts.unit(), + None: sts.unit(), + } +}) + +export type Conviction = Conviction_Locked1x | Conviction_Locked2x | Conviction_Locked3x | Conviction_Locked4x | Conviction_Locked5x | Conviction_Locked6x | Conviction_None + +export interface Conviction_Locked1x { + __kind: 'Locked1x' +} + +export interface Conviction_Locked2x { + __kind: 'Locked2x' +} + +export interface Conviction_Locked3x { + __kind: 'Locked3x' +} + +export interface Conviction_Locked4x { + __kind: 'Locked4x' +} + +export interface Conviction_Locked5x { + __kind: 'Locked5x' +} + +export interface Conviction_Locked6x { + __kind: 'Locked6x' +} + +export interface Conviction_None { + __kind: 'None' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ConvictionVotingCall = ConvictionVotingCall_delegate | ConvictionVotingCall_remove_other_vote | ConvictionVotingCall_remove_vote | ConvictionVotingCall_undelegate | ConvictionVotingCall_unlock | ConvictionVotingCall_vote + +/** + * See [`Pallet::delegate`]. + */ +export interface ConvictionVotingCall_delegate { + __kind: 'delegate' + class: number + to: MultiAddress + conviction: Conviction + balance: bigint +} + +/** + * See [`Pallet::remove_other_vote`]. + */ +export interface ConvictionVotingCall_remove_other_vote { + __kind: 'remove_other_vote' + target: MultiAddress + class: number + index: number +} + +/** + * See [`Pallet::remove_vote`]. + */ +export interface ConvictionVotingCall_remove_vote { + __kind: 'remove_vote' + class?: (number | undefined) + index: number +} + +/** + * See [`Pallet::undelegate`]. + */ +export interface ConvictionVotingCall_undelegate { + __kind: 'undelegate' + class: number +} + +/** + * See [`Pallet::unlock`]. + */ +export interface ConvictionVotingCall_unlock { + __kind: 'unlock' + class: number + target: MultiAddress +} + +/** + * See [`Pallet::vote`]. + */ +export interface ConvictionVotingCall_vote { + __kind: 'vote' + pollIndex: number + vote: AccountVote +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ConfigurationCall: sts.Type = sts.closedEnum(() => { + return { + set_approval_voting_params: sts.enumStruct({ + new: ApprovalVotingParams, + }), + set_async_backing_params: sts.enumStruct({ + new: V6AsyncBackingParams, + }), + set_bypass_consistency_check: sts.enumStruct({ + new: sts.boolean(), + }), + set_code_retention_period: sts.enumStruct({ + new: sts.number(), + }), + set_coretime_cores: sts.enumStruct({ + new: sts.number(), + }), + set_dispute_period: sts.enumStruct({ + new: sts.number(), + }), + set_dispute_post_conclusion_acceptance_period: sts.enumStruct({ + new: sts.number(), + }), + set_executor_params: sts.enumStruct({ + new: sts.array(() => V6ExecutorParam), + }), + set_group_rotation_frequency: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_capacity: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_total_size: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_message_num_per_candidate: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_parachain_inbound_channels: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_parachain_outbound_channels: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_open_request_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_recipient_deposit: sts.enumStruct({ + new: sts.bigint(), + }), + set_hrmp_sender_deposit: sts.enumStruct({ + new: sts.bigint(), + }), + set_max_code_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_downward_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_head_data_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_pov_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_message_num_per_candidate: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_queue_count: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_queue_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_validators: sts.enumStruct({ + new: sts.option(() => sts.number()), + }), + set_max_validators_per_core: sts.enumStruct({ + new: sts.option(() => sts.number()), + }), + set_minimum_backing_votes: sts.enumStruct({ + new: sts.number(), + }), + set_minimum_validation_upgrade_delay: sts.enumStruct({ + new: sts.number(), + }), + set_n_delay_tranches: sts.enumStruct({ + new: sts.number(), + }), + set_needed_approvals: sts.enumStruct({ + new: sts.number(), + }), + set_no_show_slots: sts.enumStruct({ + new: sts.number(), + }), + set_node_feature: sts.enumStruct({ + index: sts.number(), + value: sts.boolean(), + }), + set_on_demand_base_fee: sts.enumStruct({ + new: sts.bigint(), + }), + set_on_demand_fee_variability: sts.enumStruct({ + new: Perbill, + }), + set_on_demand_queue_max_size: sts.enumStruct({ + new: sts.number(), + }), + set_on_demand_retries: sts.enumStruct({ + new: sts.number(), + }), + set_on_demand_target_queue_utilization: sts.enumStruct({ + new: Perbill, + }), + set_on_demand_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_paras_availability_period: sts.enumStruct({ + new: sts.number(), + }), + set_pvf_voting_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_relay_vrf_modulo_samples: sts.enumStruct({ + new: sts.number(), + }), + set_scheduling_lookahead: sts.enumStruct({ + new: sts.number(), + }), + set_validation_upgrade_cooldown: sts.enumStruct({ + new: sts.number(), + }), + set_validation_upgrade_delay: sts.enumStruct({ + new: sts.number(), + }), + set_zeroth_delay_tranche_width: sts.enumStruct({ + new: sts.number(), + }), + } +}) + +export const V6ExecutorParam: sts.Type = sts.closedEnum(() => { + return { + MaxMemoryPages: sts.number(), + PrecheckingMaxMemory: sts.bigint(), + PvfExecTimeout: sts.tuple(() => [V6PvfExecKind, sts.bigint()]), + PvfPrepTimeout: sts.tuple(() => [V6PvfPrepKind, sts.bigint()]), + StackLogicalMax: sts.number(), + StackNativeMax: sts.number(), + WasmExtBulkMemory: sts.unit(), + } +}) + +export const V6PvfPrepKind: sts.Type = sts.closedEnum(() => { + return { + Precheck: sts.unit(), + Prepare: sts.unit(), + } +}) + +export type V6PvfPrepKind = V6PvfPrepKind_Precheck | V6PvfPrepKind_Prepare + +export interface V6PvfPrepKind_Precheck { + __kind: 'Precheck' +} + +export interface V6PvfPrepKind_Prepare { + __kind: 'Prepare' +} + +export const V6PvfExecKind: sts.Type = sts.closedEnum(() => { + return { + Approval: sts.unit(), + Backing: sts.unit(), + } +}) + +export type V6PvfExecKind = V6PvfExecKind_Approval | V6PvfExecKind_Backing + +export interface V6PvfExecKind_Approval { + __kind: 'Approval' +} + +export interface V6PvfExecKind_Backing { + __kind: 'Backing' +} + +export type V6ExecutorParam = V6ExecutorParam_MaxMemoryPages | V6ExecutorParam_PrecheckingMaxMemory | V6ExecutorParam_PvfExecTimeout | V6ExecutorParam_PvfPrepTimeout | V6ExecutorParam_StackLogicalMax | V6ExecutorParam_StackNativeMax | V6ExecutorParam_WasmExtBulkMemory + +export interface V6ExecutorParam_MaxMemoryPages { + __kind: 'MaxMemoryPages' + value: number +} + +export interface V6ExecutorParam_PrecheckingMaxMemory { + __kind: 'PrecheckingMaxMemory' + value: bigint +} + +export interface V6ExecutorParam_PvfExecTimeout { + __kind: 'PvfExecTimeout' + value: [V6PvfExecKind, bigint] +} + +export interface V6ExecutorParam_PvfPrepTimeout { + __kind: 'PvfPrepTimeout' + value: [V6PvfPrepKind, bigint] +} + +export interface V6ExecutorParam_StackLogicalMax { + __kind: 'StackLogicalMax' + value: number +} + +export interface V6ExecutorParam_StackNativeMax { + __kind: 'StackNativeMax' + value: number +} + +export interface V6ExecutorParam_WasmExtBulkMemory { + __kind: 'WasmExtBulkMemory' +} + +export const V6AsyncBackingParams: sts.Type = sts.struct(() => { + return { + maxCandidateDepth: sts.number(), + allowedAncestryLen: sts.number(), + } +}) + +export interface V6AsyncBackingParams { + maxCandidateDepth: number + allowedAncestryLen: number +} + +export const ApprovalVotingParams: sts.Type = sts.struct(() => { + return { + maxApprovalCoalesceCount: sts.number(), + } +}) + +export interface ApprovalVotingParams { + maxApprovalCoalesceCount: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ConfigurationCall = ConfigurationCall_set_approval_voting_params | ConfigurationCall_set_async_backing_params | ConfigurationCall_set_bypass_consistency_check | ConfigurationCall_set_code_retention_period | ConfigurationCall_set_coretime_cores | ConfigurationCall_set_dispute_period | ConfigurationCall_set_dispute_post_conclusion_acceptance_period | ConfigurationCall_set_executor_params | ConfigurationCall_set_group_rotation_frequency | ConfigurationCall_set_hrmp_channel_max_capacity | ConfigurationCall_set_hrmp_channel_max_message_size | ConfigurationCall_set_hrmp_channel_max_total_size | ConfigurationCall_set_hrmp_max_message_num_per_candidate | ConfigurationCall_set_hrmp_max_parachain_inbound_channels | ConfigurationCall_set_hrmp_max_parachain_outbound_channels | ConfigurationCall_set_hrmp_open_request_ttl | ConfigurationCall_set_hrmp_recipient_deposit | ConfigurationCall_set_hrmp_sender_deposit | ConfigurationCall_set_max_code_size | ConfigurationCall_set_max_downward_message_size | ConfigurationCall_set_max_head_data_size | ConfigurationCall_set_max_pov_size | ConfigurationCall_set_max_upward_message_num_per_candidate | ConfigurationCall_set_max_upward_message_size | ConfigurationCall_set_max_upward_queue_count | ConfigurationCall_set_max_upward_queue_size | ConfigurationCall_set_max_validators | ConfigurationCall_set_max_validators_per_core | ConfigurationCall_set_minimum_backing_votes | ConfigurationCall_set_minimum_validation_upgrade_delay | ConfigurationCall_set_n_delay_tranches | ConfigurationCall_set_needed_approvals | ConfigurationCall_set_no_show_slots | ConfigurationCall_set_node_feature | ConfigurationCall_set_on_demand_base_fee | ConfigurationCall_set_on_demand_fee_variability | ConfigurationCall_set_on_demand_queue_max_size | ConfigurationCall_set_on_demand_retries | ConfigurationCall_set_on_demand_target_queue_utilization | ConfigurationCall_set_on_demand_ttl | ConfigurationCall_set_paras_availability_period | ConfigurationCall_set_pvf_voting_ttl | ConfigurationCall_set_relay_vrf_modulo_samples | ConfigurationCall_set_scheduling_lookahead | ConfigurationCall_set_validation_upgrade_cooldown | ConfigurationCall_set_validation_upgrade_delay | ConfigurationCall_set_zeroth_delay_tranche_width + +/** + * See [`Pallet::set_approval_voting_params`]. + */ +export interface ConfigurationCall_set_approval_voting_params { + __kind: 'set_approval_voting_params' + new: ApprovalVotingParams +} + +/** + * See [`Pallet::set_async_backing_params`]. + */ +export interface ConfigurationCall_set_async_backing_params { + __kind: 'set_async_backing_params' + new: V6AsyncBackingParams +} + +/** + * See [`Pallet::set_bypass_consistency_check`]. + */ +export interface ConfigurationCall_set_bypass_consistency_check { + __kind: 'set_bypass_consistency_check' + new: boolean +} + +/** + * See [`Pallet::set_code_retention_period`]. + */ +export interface ConfigurationCall_set_code_retention_period { + __kind: 'set_code_retention_period' + new: number +} + +/** + * See [`Pallet::set_coretime_cores`]. + */ +export interface ConfigurationCall_set_coretime_cores { + __kind: 'set_coretime_cores' + new: number +} + +/** + * See [`Pallet::set_dispute_period`]. + */ +export interface ConfigurationCall_set_dispute_period { + __kind: 'set_dispute_period' + new: number +} + +/** + * See [`Pallet::set_dispute_post_conclusion_acceptance_period`]. + */ +export interface ConfigurationCall_set_dispute_post_conclusion_acceptance_period { + __kind: 'set_dispute_post_conclusion_acceptance_period' + new: number +} + +/** + * See [`Pallet::set_executor_params`]. + */ +export interface ConfigurationCall_set_executor_params { + __kind: 'set_executor_params' + new: V6ExecutorParam[] +} + +/** + * See [`Pallet::set_group_rotation_frequency`]. + */ +export interface ConfigurationCall_set_group_rotation_frequency { + __kind: 'set_group_rotation_frequency' + new: number +} + +/** + * See [`Pallet::set_hrmp_channel_max_capacity`]. + */ +export interface ConfigurationCall_set_hrmp_channel_max_capacity { + __kind: 'set_hrmp_channel_max_capacity' + new: number +} + +/** + * See [`Pallet::set_hrmp_channel_max_message_size`]. + */ +export interface ConfigurationCall_set_hrmp_channel_max_message_size { + __kind: 'set_hrmp_channel_max_message_size' + new: number +} + +/** + * See [`Pallet::set_hrmp_channel_max_total_size`]. + */ +export interface ConfigurationCall_set_hrmp_channel_max_total_size { + __kind: 'set_hrmp_channel_max_total_size' + new: number +} + +/** + * See [`Pallet::set_hrmp_max_message_num_per_candidate`]. + */ +export interface ConfigurationCall_set_hrmp_max_message_num_per_candidate { + __kind: 'set_hrmp_max_message_num_per_candidate' + new: number +} + +/** + * See [`Pallet::set_hrmp_max_parachain_inbound_channels`]. + */ +export interface ConfigurationCall_set_hrmp_max_parachain_inbound_channels { + __kind: 'set_hrmp_max_parachain_inbound_channels' + new: number +} + +/** + * See [`Pallet::set_hrmp_max_parachain_outbound_channels`]. + */ +export interface ConfigurationCall_set_hrmp_max_parachain_outbound_channels { + __kind: 'set_hrmp_max_parachain_outbound_channels' + new: number +} + +/** + * See [`Pallet::set_hrmp_open_request_ttl`]. + */ +export interface ConfigurationCall_set_hrmp_open_request_ttl { + __kind: 'set_hrmp_open_request_ttl' + new: number +} + +/** + * See [`Pallet::set_hrmp_recipient_deposit`]. + */ +export interface ConfigurationCall_set_hrmp_recipient_deposit { + __kind: 'set_hrmp_recipient_deposit' + new: bigint +} + +/** + * See [`Pallet::set_hrmp_sender_deposit`]. + */ +export interface ConfigurationCall_set_hrmp_sender_deposit { + __kind: 'set_hrmp_sender_deposit' + new: bigint +} + +/** + * See [`Pallet::set_max_code_size`]. + */ +export interface ConfigurationCall_set_max_code_size { + __kind: 'set_max_code_size' + new: number +} + +/** + * See [`Pallet::set_max_downward_message_size`]. + */ +export interface ConfigurationCall_set_max_downward_message_size { + __kind: 'set_max_downward_message_size' + new: number +} + +/** + * See [`Pallet::set_max_head_data_size`]. + */ +export interface ConfigurationCall_set_max_head_data_size { + __kind: 'set_max_head_data_size' + new: number +} + +/** + * See [`Pallet::set_max_pov_size`]. + */ +export interface ConfigurationCall_set_max_pov_size { + __kind: 'set_max_pov_size' + new: number +} + +/** + * See [`Pallet::set_max_upward_message_num_per_candidate`]. + */ +export interface ConfigurationCall_set_max_upward_message_num_per_candidate { + __kind: 'set_max_upward_message_num_per_candidate' + new: number +} + +/** + * See [`Pallet::set_max_upward_message_size`]. + */ +export interface ConfigurationCall_set_max_upward_message_size { + __kind: 'set_max_upward_message_size' + new: number +} + +/** + * See [`Pallet::set_max_upward_queue_count`]. + */ +export interface ConfigurationCall_set_max_upward_queue_count { + __kind: 'set_max_upward_queue_count' + new: number +} + +/** + * See [`Pallet::set_max_upward_queue_size`]. + */ +export interface ConfigurationCall_set_max_upward_queue_size { + __kind: 'set_max_upward_queue_size' + new: number +} + +/** + * See [`Pallet::set_max_validators`]. + */ +export interface ConfigurationCall_set_max_validators { + __kind: 'set_max_validators' + new?: (number | undefined) +} + +/** + * See [`Pallet::set_max_validators_per_core`]. + */ +export interface ConfigurationCall_set_max_validators_per_core { + __kind: 'set_max_validators_per_core' + new?: (number | undefined) +} + +/** + * See [`Pallet::set_minimum_backing_votes`]. + */ +export interface ConfigurationCall_set_minimum_backing_votes { + __kind: 'set_minimum_backing_votes' + new: number +} + +/** + * See [`Pallet::set_minimum_validation_upgrade_delay`]. + */ +export interface ConfigurationCall_set_minimum_validation_upgrade_delay { + __kind: 'set_minimum_validation_upgrade_delay' + new: number +} + +/** + * See [`Pallet::set_n_delay_tranches`]. + */ +export interface ConfigurationCall_set_n_delay_tranches { + __kind: 'set_n_delay_tranches' + new: number +} + +/** + * See [`Pallet::set_needed_approvals`]. + */ +export interface ConfigurationCall_set_needed_approvals { + __kind: 'set_needed_approvals' + new: number +} + +/** + * See [`Pallet::set_no_show_slots`]. + */ +export interface ConfigurationCall_set_no_show_slots { + __kind: 'set_no_show_slots' + new: number +} + +/** + * See [`Pallet::set_node_feature`]. + */ +export interface ConfigurationCall_set_node_feature { + __kind: 'set_node_feature' + index: number + value: boolean +} + +/** + * See [`Pallet::set_on_demand_base_fee`]. + */ +export interface ConfigurationCall_set_on_demand_base_fee { + __kind: 'set_on_demand_base_fee' + new: bigint +} + +/** + * See [`Pallet::set_on_demand_fee_variability`]. + */ +export interface ConfigurationCall_set_on_demand_fee_variability { + __kind: 'set_on_demand_fee_variability' + new: Perbill +} + +/** + * See [`Pallet::set_on_demand_queue_max_size`]. + */ +export interface ConfigurationCall_set_on_demand_queue_max_size { + __kind: 'set_on_demand_queue_max_size' + new: number +} + +/** + * See [`Pallet::set_on_demand_retries`]. + */ +export interface ConfigurationCall_set_on_demand_retries { + __kind: 'set_on_demand_retries' + new: number +} + +/** + * See [`Pallet::set_on_demand_target_queue_utilization`]. + */ +export interface ConfigurationCall_set_on_demand_target_queue_utilization { + __kind: 'set_on_demand_target_queue_utilization' + new: Perbill +} + +/** + * See [`Pallet::set_on_demand_ttl`]. + */ +export interface ConfigurationCall_set_on_demand_ttl { + __kind: 'set_on_demand_ttl' + new: number +} + +/** + * See [`Pallet::set_paras_availability_period`]. + */ +export interface ConfigurationCall_set_paras_availability_period { + __kind: 'set_paras_availability_period' + new: number +} + +/** + * See [`Pallet::set_pvf_voting_ttl`]. + */ +export interface ConfigurationCall_set_pvf_voting_ttl { + __kind: 'set_pvf_voting_ttl' + new: number +} + +/** + * See [`Pallet::set_relay_vrf_modulo_samples`]. + */ +export interface ConfigurationCall_set_relay_vrf_modulo_samples { + __kind: 'set_relay_vrf_modulo_samples' + new: number +} + +/** + * See [`Pallet::set_scheduling_lookahead`]. + */ +export interface ConfigurationCall_set_scheduling_lookahead { + __kind: 'set_scheduling_lookahead' + new: number +} + +/** + * See [`Pallet::set_validation_upgrade_cooldown`]. + */ +export interface ConfigurationCall_set_validation_upgrade_cooldown { + __kind: 'set_validation_upgrade_cooldown' + new: number +} + +/** + * See [`Pallet::set_validation_upgrade_delay`]. + */ +export interface ConfigurationCall_set_validation_upgrade_delay { + __kind: 'set_validation_upgrade_delay' + new: number +} + +/** + * See [`Pallet::set_zeroth_delay_tranche_width`]. + */ +export interface ConfigurationCall_set_zeroth_delay_tranche_width { + __kind: 'set_zeroth_delay_tranche_width' + new: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ClaimsCall: sts.Type = sts.closedEnum(() => { + return { + attest: sts.enumStruct({ + statement: sts.bytes(), + }), + claim: sts.enumStruct({ + dest: AccountId32, + ethereumSignature: EcdsaSignature, + }), + claim_attest: sts.enumStruct({ + dest: AccountId32, + ethereumSignature: EcdsaSignature, + statement: sts.bytes(), + }), + mint_claim: sts.enumStruct({ + who: EthereumAddress, + value: sts.bigint(), + vestingSchedule: sts.option(() => sts.tuple(() => [sts.bigint(), sts.bigint(), sts.number()])), + statement: sts.option(() => StatementKind), + }), + move_claim: sts.enumStruct({ + old: EthereumAddress, + new: EthereumAddress, + maybePreclaim: sts.option(() => AccountId32), + }), + } +}) + +export const StatementKind: sts.Type = sts.closedEnum(() => { + return { + Regular: sts.unit(), + Saft: sts.unit(), + } +}) + +export type StatementKind = StatementKind_Regular | StatementKind_Saft + +export interface StatementKind_Regular { + __kind: 'Regular' +} + +export interface StatementKind_Saft { + __kind: 'Saft' +} + +export const EthereumAddress = sts.bytes() + +export const EcdsaSignature = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ClaimsCall = ClaimsCall_attest | ClaimsCall_claim | ClaimsCall_claim_attest | ClaimsCall_mint_claim | ClaimsCall_move_claim + +/** + * See [`Pallet::attest`]. + */ +export interface ClaimsCall_attest { + __kind: 'attest' + statement: Bytes +} + +/** + * See [`Pallet::claim`]. + */ +export interface ClaimsCall_claim { + __kind: 'claim' + dest: AccountId32 + ethereumSignature: EcdsaSignature +} + +/** + * See [`Pallet::claim_attest`]. + */ +export interface ClaimsCall_claim_attest { + __kind: 'claim_attest' + dest: AccountId32 + ethereumSignature: EcdsaSignature + statement: Bytes +} + +/** + * See [`Pallet::mint_claim`]. + */ +export interface ClaimsCall_mint_claim { + __kind: 'mint_claim' + who: EthereumAddress + value: bigint + vestingSchedule?: ([bigint, bigint, number] | undefined) + statement?: (StatementKind | undefined) +} + +/** + * See [`Pallet::move_claim`]. + */ +export interface ClaimsCall_move_claim { + __kind: 'move_claim' + old: EthereumAddress + new: EthereumAddress + maybePreclaim?: (AccountId32 | undefined) +} + +export type EthereumAddress = Bytes + +export type EcdsaSignature = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ChildBountiesCall: sts.Type = sts.closedEnum(() => { + return { + accept_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + add_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + value: sts.bigint(), + description: sts.bytes(), + }), + award_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + beneficiary: MultiAddress, + }), + claim_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + close_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + propose_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + curator: MultiAddress, + fee: sts.bigint(), + }), + unassign_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ChildBountiesCall = ChildBountiesCall_accept_curator | ChildBountiesCall_add_child_bounty | ChildBountiesCall_award_child_bounty | ChildBountiesCall_claim_child_bounty | ChildBountiesCall_close_child_bounty | ChildBountiesCall_propose_curator | ChildBountiesCall_unassign_curator + +/** + * See [`Pallet::accept_curator`]. + */ +export interface ChildBountiesCall_accept_curator { + __kind: 'accept_curator' + parentBountyId: number + childBountyId: number +} + +/** + * See [`Pallet::add_child_bounty`]. + */ +export interface ChildBountiesCall_add_child_bounty { + __kind: 'add_child_bounty' + parentBountyId: number + value: bigint + description: Bytes +} + +/** + * See [`Pallet::award_child_bounty`]. + */ +export interface ChildBountiesCall_award_child_bounty { + __kind: 'award_child_bounty' + parentBountyId: number + childBountyId: number + beneficiary: MultiAddress +} + +/** + * See [`Pallet::claim_child_bounty`]. + */ +export interface ChildBountiesCall_claim_child_bounty { + __kind: 'claim_child_bounty' + parentBountyId: number + childBountyId: number +} + +/** + * See [`Pallet::close_child_bounty`]. + */ +export interface ChildBountiesCall_close_child_bounty { + __kind: 'close_child_bounty' + parentBountyId: number + childBountyId: number +} + +/** + * See [`Pallet::propose_curator`]. + */ +export interface ChildBountiesCall_propose_curator { + __kind: 'propose_curator' + parentBountyId: number + childBountyId: number + curator: MultiAddress + fee: bigint +} + +/** + * See [`Pallet::unassign_curator`]. + */ +export interface ChildBountiesCall_unassign_curator { + __kind: 'unassign_curator' + parentBountyId: number + childBountyId: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BountiesCall: sts.Type = sts.closedEnum(() => { + return { + accept_curator: sts.enumStruct({ + bountyId: sts.number(), + }), + approve_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + award_bounty: sts.enumStruct({ + bountyId: sts.number(), + beneficiary: MultiAddress, + }), + claim_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + close_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + extend_bounty_expiry: sts.enumStruct({ + bountyId: sts.number(), + remark: sts.bytes(), + }), + propose_bounty: sts.enumStruct({ + value: sts.bigint(), + description: sts.bytes(), + }), + propose_curator: sts.enumStruct({ + bountyId: sts.number(), + curator: MultiAddress, + fee: sts.bigint(), + }), + unassign_curator: sts.enumStruct({ + bountyId: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BountiesCall = BountiesCall_accept_curator | BountiesCall_approve_bounty | BountiesCall_award_bounty | BountiesCall_claim_bounty | BountiesCall_close_bounty | BountiesCall_extend_bounty_expiry | BountiesCall_propose_bounty | BountiesCall_propose_curator | BountiesCall_unassign_curator + +/** + * See [`Pallet::accept_curator`]. + */ +export interface BountiesCall_accept_curator { + __kind: 'accept_curator' + bountyId: number +} + +/** + * See [`Pallet::approve_bounty`]. + */ +export interface BountiesCall_approve_bounty { + __kind: 'approve_bounty' + bountyId: number +} + +/** + * See [`Pallet::award_bounty`]. + */ +export interface BountiesCall_award_bounty { + __kind: 'award_bounty' + bountyId: number + beneficiary: MultiAddress +} + +/** + * See [`Pallet::claim_bounty`]. + */ +export interface BountiesCall_claim_bounty { + __kind: 'claim_bounty' + bountyId: number +} + +/** + * See [`Pallet::close_bounty`]. + */ +export interface BountiesCall_close_bounty { + __kind: 'close_bounty' + bountyId: number +} + +/** + * See [`Pallet::extend_bounty_expiry`]. + */ +export interface BountiesCall_extend_bounty_expiry { + __kind: 'extend_bounty_expiry' + bountyId: number + remark: Bytes +} + +/** + * See [`Pallet::propose_bounty`]. + */ +export interface BountiesCall_propose_bounty { + __kind: 'propose_bounty' + value: bigint + description: Bytes +} + +/** + * See [`Pallet::propose_curator`]. + */ +export interface BountiesCall_propose_curator { + __kind: 'propose_curator' + bountyId: number + curator: MultiAddress + fee: bigint +} + +/** + * See [`Pallet::unassign_curator`]. + */ +export interface BountiesCall_unassign_curator { + __kind: 'unassign_curator' + bountyId: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BeefyCall: sts.Type = sts.closedEnum(() => { + return { + report_equivocation: sts.enumStruct({ + equivocationProof: Type_460, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: Type_460, + keyOwnerProof: MembershipProof, + }), + set_new_genesis: sts.enumStruct({ + delayInBlocks: sts.number(), + }), + } +}) + +export const Type_460: sts.Type = sts.struct(() => { + return { + first: VoteMessage, + second: VoteMessage, + } +}) + +export const VoteMessage: sts.Type = sts.struct(() => { + return { + commitment: Commitment, + id: sts.bytes(), + signature: sts.bytes(), + } +}) + +export const Commitment: sts.Type = sts.struct(() => { + return { + payload: sts.array(() => sts.tuple(() => [sts.bytes(), sts.bytes()])), + blockNumber: sts.number(), + validatorSetId: sts.bigint(), + } +}) + +export interface Commitment { + payload: [Bytes, Bytes][] + blockNumber: number + validatorSetId: bigint +} + +export interface VoteMessage { + commitment: Commitment + id: Bytes + signature: Bytes +} + +export interface Type_460 { + first: VoteMessage + second: VoteMessage +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BeefyCall = BeefyCall_report_equivocation | BeefyCall_report_equivocation_unsigned | BeefyCall_set_new_genesis + +/** + * See [`Pallet::report_equivocation`]. + */ +export interface BeefyCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: Type_460 + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::report_equivocation_unsigned`]. + */ +export interface BeefyCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: Type_460 + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::set_new_genesis`]. + */ +export interface BeefyCall_set_new_genesis { + __kind: 'set_new_genesis' + delayInBlocks: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BalancesCall: sts.Type = sts.closedEnum(() => { + return { + force_adjust_total_issuance: sts.enumStruct({ + direction: AdjustmentDirection, + delta: sts.bigint(), + }), + force_set_balance: sts.enumStruct({ + who: MultiAddress, + newFree: sts.bigint(), + }), + force_transfer: sts.enumStruct({ + source: MultiAddress, + dest: MultiAddress, + value: sts.bigint(), + }), + force_unreserve: sts.enumStruct({ + who: MultiAddress, + amount: sts.bigint(), + }), + transfer_all: sts.enumStruct({ + dest: MultiAddress, + keepAlive: sts.boolean(), + }), + transfer_allow_death: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + transfer_keep_alive: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + upgrade_accounts: sts.enumStruct({ + who: sts.array(() => AccountId32), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BalancesCall = BalancesCall_force_adjust_total_issuance | BalancesCall_force_set_balance | BalancesCall_force_transfer | BalancesCall_force_unreserve | BalancesCall_transfer_all | BalancesCall_transfer_allow_death | BalancesCall_transfer_keep_alive | BalancesCall_upgrade_accounts + +/** + * See [`Pallet::force_adjust_total_issuance`]. + */ +export interface BalancesCall_force_adjust_total_issuance { + __kind: 'force_adjust_total_issuance' + direction: AdjustmentDirection + delta: bigint +} + +/** + * See [`Pallet::force_set_balance`]. + */ +export interface BalancesCall_force_set_balance { + __kind: 'force_set_balance' + who: MultiAddress + newFree: bigint +} + +/** + * See [`Pallet::force_transfer`]. + */ +export interface BalancesCall_force_transfer { + __kind: 'force_transfer' + source: MultiAddress + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::force_unreserve`]. + */ +export interface BalancesCall_force_unreserve { + __kind: 'force_unreserve' + who: MultiAddress + amount: bigint +} + +/** + * See [`Pallet::transfer_all`]. + */ +export interface BalancesCall_transfer_all { + __kind: 'transfer_all' + dest: MultiAddress + keepAlive: boolean +} + +/** + * See [`Pallet::transfer_allow_death`]. + */ +export interface BalancesCall_transfer_allow_death { + __kind: 'transfer_allow_death' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::transfer_keep_alive`]. + */ +export interface BalancesCall_transfer_keep_alive { + __kind: 'transfer_keep_alive' + dest: MultiAddress + value: bigint +} + +/** + * See [`Pallet::upgrade_accounts`]. + */ +export interface BalancesCall_upgrade_accounts { + __kind: 'upgrade_accounts' + who: AccountId32[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BabeCall: sts.Type = sts.closedEnum(() => { + return { + plan_config_change: sts.enumStruct({ + config: NextConfigDescriptor, + }), + report_equivocation: sts.enumStruct({ + equivocationProof: EquivocationProof, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: EquivocationProof, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const EquivocationProof: sts.Type = sts.struct(() => { + return { + offender: sts.bytes(), + slot: Slot, + firstHeader: Header, + secondHeader: Header, + } +}) + +export const Slot = sts.bigint() + +export interface EquivocationProof { + offender: Bytes + slot: Slot + firstHeader: Header + secondHeader: Header +} + +export type Slot = bigint + +export const NextConfigDescriptor: sts.Type = sts.closedEnum(() => { + return { + V1: sts.enumStruct({ + c: sts.tuple(() => [sts.bigint(), sts.bigint()]), + allowedSlots: AllowedSlots, + }), + } +}) + +export const AllowedSlots: sts.Type = sts.closedEnum(() => { + return { + PrimaryAndSecondaryPlainSlots: sts.unit(), + PrimaryAndSecondaryVRFSlots: sts.unit(), + PrimarySlots: sts.unit(), + } +}) + +export type AllowedSlots = AllowedSlots_PrimaryAndSecondaryPlainSlots | AllowedSlots_PrimaryAndSecondaryVRFSlots | AllowedSlots_PrimarySlots + +export interface AllowedSlots_PrimaryAndSecondaryPlainSlots { + __kind: 'PrimaryAndSecondaryPlainSlots' +} + +export interface AllowedSlots_PrimaryAndSecondaryVRFSlots { + __kind: 'PrimaryAndSecondaryVRFSlots' +} + +export interface AllowedSlots_PrimarySlots { + __kind: 'PrimarySlots' +} + +export type NextConfigDescriptor = NextConfigDescriptor_V1 + +export interface NextConfigDescriptor_V1 { + __kind: 'V1' + c: [bigint, bigint] + allowedSlots: AllowedSlots +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BabeCall = BabeCall_plan_config_change | BabeCall_report_equivocation | BabeCall_report_equivocation_unsigned + +/** + * See [`Pallet::plan_config_change`]. + */ +export interface BabeCall_plan_config_change { + __kind: 'plan_config_change' + config: NextConfigDescriptor +} + +/** + * See [`Pallet::report_equivocation`]. + */ +export interface BabeCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: EquivocationProof + keyOwnerProof: MembershipProof +} + +/** + * See [`Pallet::report_equivocation_unsigned`]. + */ +export interface BabeCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: EquivocationProof + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const AuctionsCall: sts.Type = sts.closedEnum(() => { + return { + bid: sts.enumStruct({ + para: sts.number(), + auctionIndex: sts.number(), + firstSlot: sts.number(), + lastSlot: sts.number(), + amount: sts.bigint(), + }), + cancel_auction: sts.unit(), + new_auction: sts.enumStruct({ + duration: sts.number(), + leasePeriodIndex: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type AuctionsCall = AuctionsCall_bid | AuctionsCall_cancel_auction | AuctionsCall_new_auction + +/** + * See [`Pallet::bid`]. + */ +export interface AuctionsCall_bid { + __kind: 'bid' + para: number + auctionIndex: number + firstSlot: number + lastSlot: number + amount: bigint +} + +/** + * See [`Pallet::cancel_auction`]. + */ +export interface AuctionsCall_cancel_auction { + __kind: 'cancel_auction' +} + +/** + * See [`Pallet::new_auction`]. + */ +export interface AuctionsCall_new_auction { + __kind: 'new_auction' + duration: number + leasePeriodIndex: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const AssetRateCall: sts.Type = sts.closedEnum(() => { + return { + create: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + rate: FixedU128, + }), + remove: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + }), + update: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + rate: FixedU128, + }), + } +}) + +export const FixedU128 = sts.bigint() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type AssetRateCall = AssetRateCall_create | AssetRateCall_remove | AssetRateCall_update + +/** + * See [`Pallet::create`]. + */ +export interface AssetRateCall_create { + __kind: 'create' + assetKind: VersionedLocatableAsset + rate: FixedU128 +} + +/** + * See [`Pallet::remove`]. + */ +export interface AssetRateCall_remove { + __kind: 'remove' + assetKind: VersionedLocatableAsset +} + +/** + * See [`Pallet::update`]. + */ +export interface AssetRateCall_update { + __kind: 'update' + assetKind: VersionedLocatableAsset + rate: FixedU128 +} + +export type FixedU128 = bigint + +export type Call = Call_AssetRate | Call_Auctions | Call_Babe | Call_Balances | Call_Beefy | Call_Bounties | Call_ChildBounties | Call_Claims | Call_Configuration | Call_ConvictionVoting | Call_Coretime | Call_Crowdloan | Call_ElectionProviderMultiPhase | Call_FastUnstake | Call_FellowshipCollective | Call_FellowshipReferenda | Call_Grandpa | Call_Hrmp | Call_Indices | Call_Initializer | Call_MessageQueue | Call_Multisig | Call_Nis | Call_NisCounterpartBalances | Call_NominationPools | Call_OnDemandAssignmentProvider | Call_ParaInclusion | Call_ParaInherent | Call_Paras | Call_ParasDisputes | Call_ParasShared | Call_ParasSlashing | Call_Preimage | Call_Proxy | Call_Recovery | Call_Referenda | Call_Registrar | Call_Scheduler | Call_Session | Call_Slots | Call_Society | Call_Staking | Call_System | Call_Timestamp | Call_Treasury | Call_Utility | Call_Vesting | Call_VoterList | Call_Whitelist | Call_XcmPallet + +export interface Call_AssetRate { + __kind: 'AssetRate' + value: AssetRateCall +} + +export interface Call_Auctions { + __kind: 'Auctions' + value: AuctionsCall +} + +export interface Call_Babe { + __kind: 'Babe' + value: BabeCall +} + +export interface Call_Balances { + __kind: 'Balances' + value: BalancesCall +} + +export interface Call_Beefy { + __kind: 'Beefy' + value: BeefyCall +} + +export interface Call_Bounties { + __kind: 'Bounties' + value: BountiesCall +} + +export interface Call_ChildBounties { + __kind: 'ChildBounties' + value: ChildBountiesCall +} + +export interface Call_Claims { + __kind: 'Claims' + value: ClaimsCall +} + +export interface Call_Configuration { + __kind: 'Configuration' + value: ConfigurationCall +} + +export interface Call_ConvictionVoting { + __kind: 'ConvictionVoting' + value: ConvictionVotingCall +} + +export interface Call_Coretime { + __kind: 'Coretime' + value: CoretimeCall +} + +export interface Call_Crowdloan { + __kind: 'Crowdloan' + value: CrowdloanCall +} + +export interface Call_ElectionProviderMultiPhase { + __kind: 'ElectionProviderMultiPhase' + value: ElectionProviderMultiPhaseCall +} + +export interface Call_FastUnstake { + __kind: 'FastUnstake' + value: FastUnstakeCall +} + +export interface Call_FellowshipCollective { + __kind: 'FellowshipCollective' + value: FellowshipCollectiveCall +} + +export interface Call_FellowshipReferenda { + __kind: 'FellowshipReferenda' + value: FellowshipReferendaCall +} + +export interface Call_Grandpa { + __kind: 'Grandpa' + value: GrandpaCall +} + +export interface Call_Hrmp { + __kind: 'Hrmp' + value: HrmpCall +} + +export interface Call_Indices { + __kind: 'Indices' + value: IndicesCall +} + +export interface Call_Initializer { + __kind: 'Initializer' + value: InitializerCall +} + +export interface Call_MessageQueue { + __kind: 'MessageQueue' + value: MessageQueueCall +} + +export interface Call_Multisig { + __kind: 'Multisig' + value: MultisigCall +} + +export interface Call_Nis { + __kind: 'Nis' + value: NisCall +} + +export interface Call_NisCounterpartBalances { + __kind: 'NisCounterpartBalances' + value: NisCounterpartBalancesCall +} + +export interface Call_NominationPools { + __kind: 'NominationPools' + value: NominationPoolsCall +} + +export interface Call_OnDemandAssignmentProvider { + __kind: 'OnDemandAssignmentProvider' + value: OnDemandAssignmentProviderCall +} + +export interface Call_ParaInclusion { + __kind: 'ParaInclusion' + value: ParaInclusionCall +} + +export interface Call_ParaInherent { + __kind: 'ParaInherent' + value: ParaInherentCall +} + +export interface Call_Paras { + __kind: 'Paras' + value: ParasCall +} + +export interface Call_ParasDisputes { + __kind: 'ParasDisputes' + value: ParasDisputesCall +} + +export interface Call_ParasShared { + __kind: 'ParasShared' + value: ParasSharedCall +} + +export interface Call_ParasSlashing { + __kind: 'ParasSlashing' + value: ParasSlashingCall +} + +export interface Call_Preimage { + __kind: 'Preimage' + value: PreimageCall +} + +export interface Call_Proxy { + __kind: 'Proxy' + value: ProxyCall +} + +export interface Call_Recovery { + __kind: 'Recovery' + value: RecoveryCall +} + +export interface Call_Referenda { + __kind: 'Referenda' + value: ReferendaCall +} + +export interface Call_Registrar { + __kind: 'Registrar' + value: RegistrarCall +} + +export interface Call_Scheduler { + __kind: 'Scheduler' + value: SchedulerCall +} + +export interface Call_Session { + __kind: 'Session' + value: SessionCall +} + +export interface Call_Slots { + __kind: 'Slots' + value: SlotsCall +} + +export interface Call_Society { + __kind: 'Society' + value: SocietyCall +} + +export interface Call_Staking { + __kind: 'Staking' + value: StakingCall +} + +export interface Call_System { + __kind: 'System' + value: SystemCall +} + +export interface Call_Timestamp { + __kind: 'Timestamp' + value: TimestampCall +} + +export interface Call_Treasury { + __kind: 'Treasury' + value: TreasuryCall +} + +export interface Call_Utility { + __kind: 'Utility' + value: UtilityCall +} + +export interface Call_Vesting { + __kind: 'Vesting' + value: VestingCall +} + +export interface Call_VoterList { + __kind: 'VoterList' + value: VoterListCall +} + +export interface Call_Whitelist { + __kind: 'Whitelist' + value: WhitelistCall +} + +export interface Call_XcmPallet { + __kind: 'XcmPallet' + value: XcmPalletCall +} + +export const MultiAddress: sts.Type = sts.closedEnum(() => { + return { + Address20: sts.bytes(), + Address32: sts.bytes(), + Id: AccountId32, + Index: sts.unit(), + Raw: sts.bytes(), + } +}) + +export const ProxyType: sts.Type = sts.closedEnum(() => { + return { + Any: sts.unit(), + Auction: sts.unit(), + CancelProxy: sts.unit(), + Governance: sts.unit(), + NominationPools: sts.unit(), + NonTransfer: sts.unit(), + Society: sts.unit(), + Staking: sts.unit(), + } +}) + +export const AccountId32 = sts.bytes() diff --git a/squid/src/types/v1003000.ts b/squid/src/types/v1003000.ts new file mode 100644 index 00000000..b51798fa --- /dev/null +++ b/squid/src/types/v1003000.ts @@ -0,0 +1,14532 @@ +import {sts, Result, Option, Bytes, BitSequence} from './support' + +export const Weight: sts.Type = sts.struct(() => { + return { + refTime: sts.bigint(), + proofSize: sts.bigint(), + } +}) + +export interface Weight { + refTime: bigint + proofSize: bigint +} + +export const Timepoint: sts.Type = sts.struct(() => { + return { + height: sts.number(), + index: sts.number(), + } +}) + +export interface Timepoint { + height: number + index: number +} + +export const Call: sts.Type = sts.closedEnum(() => { + return { + AssetRate: AssetRateCall, + Auctions: AuctionsCall, + Babe: BabeCall, + Balances: BalancesCall, + Beefy: BeefyCall, + Bounties: BountiesCall, + ChildBounties: ChildBountiesCall, + Claims: ClaimsCall, + Configuration: ConfigurationCall, + ConvictionVoting: ConvictionVotingCall, + Coretime: CoretimeCall, + Crowdloan: CrowdloanCall, + ElectionProviderMultiPhase: ElectionProviderMultiPhaseCall, + FastUnstake: FastUnstakeCall, + FellowshipCollective: FellowshipCollectiveCall, + FellowshipReferenda: FellowshipReferendaCall, + Grandpa: GrandpaCall, + Hrmp: HrmpCall, + Indices: IndicesCall, + Initializer: InitializerCall, + MessageQueue: MessageQueueCall, + Multisig: MultisigCall, + Nis: NisCall, + NisCounterpartBalances: NisCounterpartBalancesCall, + NominationPools: NominationPoolsCall, + OnDemandAssignmentProvider: OnDemandAssignmentProviderCall, + ParaInclusion: ParaInclusionCall, + ParaInherent: ParaInherentCall, + Parameters: ParametersCall, + Paras: ParasCall, + ParasDisputes: ParasDisputesCall, + ParasShared: ParasSharedCall, + ParasSlashing: ParasSlashingCall, + Preimage: PreimageCall, + Proxy: ProxyCall, + Recovery: RecoveryCall, + Referenda: ReferendaCall, + Registrar: RegistrarCall, + Scheduler: SchedulerCall, + Session: SessionCall, + Slots: SlotsCall, + Society: SocietyCall, + Staking: StakingCall, + System: SystemCall, + Timestamp: TimestampCall, + Treasury: TreasuryCall, + Utility: UtilityCall, + Vesting: VestingCall, + VoterList: VoterListCall, + Whitelist: WhitelistCall, + XcmPallet: XcmPalletCall, + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const XcmPalletCall: sts.Type = sts.closedEnum(() => { + return { + claim_assets: sts.enumStruct({ + assets: VersionedAssets, + beneficiary: VersionedLocation, + }), + execute: sts.enumStruct({ + message: Type_439, + maxWeight: Weight, + }), + force_default_xcm_version: sts.enumStruct({ + maybeXcmVersion: sts.option(() => sts.number()), + }), + force_subscribe_version_notify: sts.enumStruct({ + location: VersionedLocation, + }), + force_suspension: sts.enumStruct({ + suspended: sts.boolean(), + }), + force_unsubscribe_version_notify: sts.enumStruct({ + location: VersionedLocation, + }), + force_xcm_version: sts.enumStruct({ + location: V4Location, + version: sts.number(), + }), + limited_reserve_transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + limited_teleport_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + reserve_transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + }), + send: sts.enumStruct({ + dest: VersionedLocation, + message: VersionedXcm, + }), + teleport_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + }), + transfer_assets: sts.enumStruct({ + dest: VersionedLocation, + beneficiary: VersionedLocation, + assets: VersionedAssets, + feeAssetItem: sts.number(), + weightLimit: V3WeightLimit, + }), + transfer_assets_using_type_and_then: sts.enumStruct({ + dest: VersionedLocation, + assets: VersionedAssets, + assetsTransferType: TransferType, + remoteFeesId: VersionedAssetId, + feesTransferType: TransferType, + customXcmOnDest: VersionedXcm, + weightLimit: V3WeightLimit, + }), + } +}) + +export const VersionedAssetId: sts.Type = sts.closedEnum(() => { + return { + V3: V3AssetId, + V4: V4AssetId, + } +}) + +export const V4AssetId: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V4Junctions, + } +}) + +export const V4Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: sts.array(() => V4Junction), + X2: sts.array(() => V4Junction), + X3: sts.array(() => V4Junction), + X4: sts.array(() => V4Junction), + X5: sts.array(() => V4Junction), + X6: sts.array(() => V4Junction), + X7: sts.array(() => V4Junction), + X8: sts.array(() => V4Junction), + } +}) + +export const V4Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: sts.option(() => V4NetworkId), + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: sts.enumStruct({ + length: sts.number(), + data: sts.bytes(), + }), + GlobalConsensus: V4NetworkId, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V3BodyId, + part: V3BodyPart, + }), + } +}) + +export const V3BodyPart: sts.Type = sts.closedEnum(() => { + return { + AtLeastProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Fraction: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Members: sts.enumStruct({ + count: sts.number(), + }), + MoreThanProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Voice: sts.unit(), + } +}) + +export type V3BodyPart = V3BodyPart_AtLeastProportion | V3BodyPart_Fraction | V3BodyPart_Members | V3BodyPart_MoreThanProportion | V3BodyPart_Voice + +export interface V3BodyPart_AtLeastProportion { + __kind: 'AtLeastProportion' + nom: number + denom: number +} + +export interface V3BodyPart_Fraction { + __kind: 'Fraction' + nom: number + denom: number +} + +export interface V3BodyPart_Members { + __kind: 'Members' + count: number +} + +export interface V3BodyPart_MoreThanProportion { + __kind: 'MoreThanProportion' + nom: number + denom: number +} + +export interface V3BodyPart_Voice { + __kind: 'Voice' +} + +export const V3BodyId: sts.Type = sts.closedEnum(() => { + return { + Administration: sts.unit(), + Defense: sts.unit(), + Executive: sts.unit(), + Index: sts.number(), + Judicial: sts.unit(), + Legislative: sts.unit(), + Moniker: sts.bytes(), + Technical: sts.unit(), + Treasury: sts.unit(), + Unit: sts.unit(), + } +}) + +export type V3BodyId = V3BodyId_Administration | V3BodyId_Defense | V3BodyId_Executive | V3BodyId_Index | V3BodyId_Judicial | V3BodyId_Legislative | V3BodyId_Moniker | V3BodyId_Technical | V3BodyId_Treasury | V3BodyId_Unit + +export interface V3BodyId_Administration { + __kind: 'Administration' +} + +export interface V3BodyId_Defense { + __kind: 'Defense' +} + +export interface V3BodyId_Executive { + __kind: 'Executive' +} + +export interface V3BodyId_Index { + __kind: 'Index' + value: number +} + +export interface V3BodyId_Judicial { + __kind: 'Judicial' +} + +export interface V3BodyId_Legislative { + __kind: 'Legislative' +} + +export interface V3BodyId_Moniker { + __kind: 'Moniker' + value: Bytes +} + +export interface V3BodyId_Technical { + __kind: 'Technical' +} + +export interface V3BodyId_Treasury { + __kind: 'Treasury' +} + +export interface V3BodyId_Unit { + __kind: 'Unit' +} + +export const V4NetworkId: sts.Type = sts.closedEnum(() => { + return { + BitcoinCash: sts.unit(), + BitcoinCore: sts.unit(), + ByFork: sts.enumStruct({ + blockNumber: sts.bigint(), + blockHash: sts.bytes(), + }), + ByGenesis: sts.bytes(), + Ethereum: sts.enumStruct({ + chainId: sts.bigint(), + }), + Kusama: sts.unit(), + Polkadot: sts.unit(), + PolkadotBulletin: sts.unit(), + Rococo: sts.unit(), + Westend: sts.unit(), + Wococo: sts.unit(), + } +}) + +export type V4NetworkId = V4NetworkId_BitcoinCash | V4NetworkId_BitcoinCore | V4NetworkId_ByFork | V4NetworkId_ByGenesis | V4NetworkId_Ethereum | V4NetworkId_Kusama | V4NetworkId_Polkadot | V4NetworkId_PolkadotBulletin | V4NetworkId_Rococo | V4NetworkId_Westend | V4NetworkId_Wococo + +export interface V4NetworkId_BitcoinCash { + __kind: 'BitcoinCash' +} + +export interface V4NetworkId_BitcoinCore { + __kind: 'BitcoinCore' +} + +export interface V4NetworkId_ByFork { + __kind: 'ByFork' + blockNumber: bigint + blockHash: Bytes +} + +export interface V4NetworkId_ByGenesis { + __kind: 'ByGenesis' + value: Bytes +} + +export interface V4NetworkId_Ethereum { + __kind: 'Ethereum' + chainId: bigint +} + +export interface V4NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V4NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export interface V4NetworkId_PolkadotBulletin { + __kind: 'PolkadotBulletin' +} + +export interface V4NetworkId_Rococo { + __kind: 'Rococo' +} + +export interface V4NetworkId_Westend { + __kind: 'Westend' +} + +export interface V4NetworkId_Wococo { + __kind: 'Wococo' +} + +export type V4Junction = V4Junction_AccountId32 | V4Junction_AccountIndex64 | V4Junction_AccountKey20 | V4Junction_GeneralIndex | V4Junction_GeneralKey | V4Junction_GlobalConsensus | V4Junction_OnlyChild | V4Junction_PalletInstance | V4Junction_Parachain | V4Junction_Plurality + +export interface V4Junction_AccountId32 { + __kind: 'AccountId32' + network?: (V4NetworkId | undefined) + id: Bytes +} + +export interface V4Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network?: (V4NetworkId | undefined) + index: bigint +} + +export interface V4Junction_AccountKey20 { + __kind: 'AccountKey20' + network?: (V4NetworkId | undefined) + key: Bytes +} + +export interface V4Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V4Junction_GeneralKey { + __kind: 'GeneralKey' + length: number + data: Bytes +} + +export interface V4Junction_GlobalConsensus { + __kind: 'GlobalConsensus' + value: V4NetworkId +} + +export interface V4Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V4Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V4Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V4Junction_Plurality { + __kind: 'Plurality' + id: V3BodyId + part: V3BodyPart +} + +export type V4Junctions = V4Junctions_Here | V4Junctions_X1 | V4Junctions_X2 | V4Junctions_X3 | V4Junctions_X4 | V4Junctions_X5 | V4Junctions_X6 | V4Junctions_X7 | V4Junctions_X8 + +export interface V4Junctions_Here { + __kind: 'Here' +} + +export interface V4Junctions_X1 { + __kind: 'X1' + value: V4Junction[] +} + +export interface V4Junctions_X2 { + __kind: 'X2' + value: V4Junction[] +} + +export interface V4Junctions_X3 { + __kind: 'X3' + value: V4Junction[] +} + +export interface V4Junctions_X4 { + __kind: 'X4' + value: V4Junction[] +} + +export interface V4Junctions_X5 { + __kind: 'X5' + value: V4Junction[] +} + +export interface V4Junctions_X6 { + __kind: 'X6' + value: V4Junction[] +} + +export interface V4Junctions_X7 { + __kind: 'X7' + value: V4Junction[] +} + +export interface V4Junctions_X8 { + __kind: 'X8' + value: V4Junction[] +} + +export interface V4AssetId { + parents: number + interior: V4Junctions +} + +export const V3AssetId: sts.Type = sts.closedEnum(() => { + return { + Abstract: sts.bytes(), + Concrete: V3MultiLocation, + } +}) + +export const V3MultiLocation: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V3Junctions, + } +}) + +export const V3Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: V3Junction, + X2: sts.tuple(() => [V3Junction, V3Junction]), + X3: sts.tuple(() => [V3Junction, V3Junction, V3Junction]), + X4: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction]), + X5: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X6: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X7: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + X8: sts.tuple(() => [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction]), + } +}) + +export const V3Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: sts.option(() => V3NetworkId), + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: sts.enumStruct({ + length: sts.number(), + data: sts.bytes(), + }), + GlobalConsensus: V3NetworkId, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V3BodyId, + part: V3BodyPart, + }), + } +}) + +export const V3NetworkId: sts.Type = sts.closedEnum(() => { + return { + BitcoinCash: sts.unit(), + BitcoinCore: sts.unit(), + ByFork: sts.enumStruct({ + blockNumber: sts.bigint(), + blockHash: sts.bytes(), + }), + ByGenesis: sts.bytes(), + Ethereum: sts.enumStruct({ + chainId: sts.bigint(), + }), + Kusama: sts.unit(), + Polkadot: sts.unit(), + PolkadotBulletin: sts.unit(), + Rococo: sts.unit(), + Westend: sts.unit(), + Wococo: sts.unit(), + } +}) + +export type V3NetworkId = V3NetworkId_BitcoinCash | V3NetworkId_BitcoinCore | V3NetworkId_ByFork | V3NetworkId_ByGenesis | V3NetworkId_Ethereum | V3NetworkId_Kusama | V3NetworkId_Polkadot | V3NetworkId_PolkadotBulletin | V3NetworkId_Rococo | V3NetworkId_Westend | V3NetworkId_Wococo + +export interface V3NetworkId_BitcoinCash { + __kind: 'BitcoinCash' +} + +export interface V3NetworkId_BitcoinCore { + __kind: 'BitcoinCore' +} + +export interface V3NetworkId_ByFork { + __kind: 'ByFork' + blockNumber: bigint + blockHash: Bytes +} + +export interface V3NetworkId_ByGenesis { + __kind: 'ByGenesis' + value: Bytes +} + +export interface V3NetworkId_Ethereum { + __kind: 'Ethereum' + chainId: bigint +} + +export interface V3NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V3NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export interface V3NetworkId_PolkadotBulletin { + __kind: 'PolkadotBulletin' +} + +export interface V3NetworkId_Rococo { + __kind: 'Rococo' +} + +export interface V3NetworkId_Westend { + __kind: 'Westend' +} + +export interface V3NetworkId_Wococo { + __kind: 'Wococo' +} + +export type V3Junction = V3Junction_AccountId32 | V3Junction_AccountIndex64 | V3Junction_AccountKey20 | V3Junction_GeneralIndex | V3Junction_GeneralKey | V3Junction_GlobalConsensus | V3Junction_OnlyChild | V3Junction_PalletInstance | V3Junction_Parachain | V3Junction_Plurality + +export interface V3Junction_AccountId32 { + __kind: 'AccountId32' + network?: (V3NetworkId | undefined) + id: Bytes +} + +export interface V3Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network?: (V3NetworkId | undefined) + index: bigint +} + +export interface V3Junction_AccountKey20 { + __kind: 'AccountKey20' + network?: (V3NetworkId | undefined) + key: Bytes +} + +export interface V3Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V3Junction_GeneralKey { + __kind: 'GeneralKey' + length: number + data: Bytes +} + +export interface V3Junction_GlobalConsensus { + __kind: 'GlobalConsensus' + value: V3NetworkId +} + +export interface V3Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V3Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V3Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V3Junction_Plurality { + __kind: 'Plurality' + id: V3BodyId + part: V3BodyPart +} + +export type V3Junctions = V3Junctions_Here | V3Junctions_X1 | V3Junctions_X2 | V3Junctions_X3 | V3Junctions_X4 | V3Junctions_X5 | V3Junctions_X6 | V3Junctions_X7 | V3Junctions_X8 + +export interface V3Junctions_Here { + __kind: 'Here' +} + +export interface V3Junctions_X1 { + __kind: 'X1' + value: V3Junction +} + +export interface V3Junctions_X2 { + __kind: 'X2' + value: [V3Junction, V3Junction] +} + +export interface V3Junctions_X3 { + __kind: 'X3' + value: [V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X4 { + __kind: 'X4' + value: [V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X5 { + __kind: 'X5' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X6 { + __kind: 'X6' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X7 { + __kind: 'X7' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3Junctions_X8 { + __kind: 'X8' + value: [V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction, V3Junction] +} + +export interface V3MultiLocation { + parents: number + interior: V3Junctions +} + +export type V3AssetId = V3AssetId_Abstract | V3AssetId_Concrete + +export interface V3AssetId_Abstract { + __kind: 'Abstract' + value: Bytes +} + +export interface V3AssetId_Concrete { + __kind: 'Concrete' + value: V3MultiLocation +} + +export type VersionedAssetId = VersionedAssetId_V3 | VersionedAssetId_V4 + +export interface VersionedAssetId_V3 { + __kind: 'V3' + value: V3AssetId +} + +export interface VersionedAssetId_V4 { + __kind: 'V4' + value: V4AssetId +} + +export const TransferType: sts.Type = sts.closedEnum(() => { + return { + DestinationReserve: sts.unit(), + LocalReserve: sts.unit(), + RemoteReserve: VersionedLocation, + Teleport: sts.unit(), + } +}) + +export type TransferType = TransferType_DestinationReserve | TransferType_LocalReserve | TransferType_RemoteReserve | TransferType_Teleport + +export interface TransferType_DestinationReserve { + __kind: 'DestinationReserve' +} + +export interface TransferType_LocalReserve { + __kind: 'LocalReserve' +} + +export interface TransferType_RemoteReserve { + __kind: 'RemoteReserve' + value: VersionedLocation +} + +export interface TransferType_Teleport { + __kind: 'Teleport' +} + +export type VersionedLocation = VersionedLocation_V2 | VersionedLocation_V3 | VersionedLocation_V4 + +export interface VersionedLocation_V2 { + __kind: 'V2' + value: V2MultiLocation +} + +export interface VersionedLocation_V3 { + __kind: 'V3' + value: V3MultiLocation +} + +export interface VersionedLocation_V4 { + __kind: 'V4' + value: V4Location +} + +export interface V4Location { + parents: number + interior: V4Junctions +} + +export interface V2MultiLocation { + parents: number + interior: V2Junctions +} + +export type V2Junctions = V2Junctions_Here | V2Junctions_X1 | V2Junctions_X2 | V2Junctions_X3 | V2Junctions_X4 | V2Junctions_X5 | V2Junctions_X6 | V2Junctions_X7 | V2Junctions_X8 + +export interface V2Junctions_Here { + __kind: 'Here' +} + +export interface V2Junctions_X1 { + __kind: 'X1' + value: V2Junction +} + +export interface V2Junctions_X2 { + __kind: 'X2' + value: [V2Junction, V2Junction] +} + +export interface V2Junctions_X3 { + __kind: 'X3' + value: [V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X4 { + __kind: 'X4' + value: [V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X5 { + __kind: 'X5' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X6 { + __kind: 'X6' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X7 { + __kind: 'X7' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export interface V2Junctions_X8 { + __kind: 'X8' + value: [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction] +} + +export type V2Junction = V2Junction_AccountId32 | V2Junction_AccountIndex64 | V2Junction_AccountKey20 | V2Junction_GeneralIndex | V2Junction_GeneralKey | V2Junction_OnlyChild | V2Junction_PalletInstance | V2Junction_Parachain | V2Junction_Plurality + +export interface V2Junction_AccountId32 { + __kind: 'AccountId32' + network: V2NetworkId + id: Bytes +} + +export interface V2Junction_AccountIndex64 { + __kind: 'AccountIndex64' + network: V2NetworkId + index: bigint +} + +export interface V2Junction_AccountKey20 { + __kind: 'AccountKey20' + network: V2NetworkId + key: Bytes +} + +export interface V2Junction_GeneralIndex { + __kind: 'GeneralIndex' + value: bigint +} + +export interface V2Junction_GeneralKey { + __kind: 'GeneralKey' + value: WeakBoundedVec +} + +export interface V2Junction_OnlyChild { + __kind: 'OnlyChild' +} + +export interface V2Junction_PalletInstance { + __kind: 'PalletInstance' + value: number +} + +export interface V2Junction_Parachain { + __kind: 'Parachain' + value: number +} + +export interface V2Junction_Plurality { + __kind: 'Plurality' + id: V2BodyId + part: V2BodyPart +} + +export type V2BodyPart = V2BodyPart_AtLeastProportion | V2BodyPart_Fraction | V2BodyPart_Members | V2BodyPart_MoreThanProportion | V2BodyPart_Voice + +export interface V2BodyPart_AtLeastProportion { + __kind: 'AtLeastProportion' + nom: number + denom: number +} + +export interface V2BodyPart_Fraction { + __kind: 'Fraction' + nom: number + denom: number +} + +export interface V2BodyPart_Members { + __kind: 'Members' + count: number +} + +export interface V2BodyPart_MoreThanProportion { + __kind: 'MoreThanProportion' + nom: number + denom: number +} + +export interface V2BodyPart_Voice { + __kind: 'Voice' +} + +export type V2BodyId = V2BodyId_Administration | V2BodyId_Defense | V2BodyId_Executive | V2BodyId_Index | V2BodyId_Judicial | V2BodyId_Legislative | V2BodyId_Named | V2BodyId_Technical | V2BodyId_Treasury | V2BodyId_Unit + +export interface V2BodyId_Administration { + __kind: 'Administration' +} + +export interface V2BodyId_Defense { + __kind: 'Defense' +} + +export interface V2BodyId_Executive { + __kind: 'Executive' +} + +export interface V2BodyId_Index { + __kind: 'Index' + value: number +} + +export interface V2BodyId_Judicial { + __kind: 'Judicial' +} + +export interface V2BodyId_Legislative { + __kind: 'Legislative' +} + +export interface V2BodyId_Named { + __kind: 'Named' + value: WeakBoundedVec +} + +export interface V2BodyId_Technical { + __kind: 'Technical' +} + +export interface V2BodyId_Treasury { + __kind: 'Treasury' +} + +export interface V2BodyId_Unit { + __kind: 'Unit' +} + +export type WeakBoundedVec = Bytes + +export type V2NetworkId = V2NetworkId_Any | V2NetworkId_Kusama | V2NetworkId_Named | V2NetworkId_Polkadot + +export interface V2NetworkId_Any { + __kind: 'Any' +} + +export interface V2NetworkId_Kusama { + __kind: 'Kusama' +} + +export interface V2NetworkId_Named { + __kind: 'Named' + value: WeakBoundedVec +} + +export interface V2NetworkId_Polkadot { + __kind: 'Polkadot' +} + +export const VersionedXcm: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => V2Instruction), + V3: sts.array(() => V3Instruction), + V4: sts.array(() => V4Instruction), + } +}) + +export const V4Instruction: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V4Location, + BurnAsset: sts.array(() => V4Asset), + BuyExecution: sts.enumStruct({ + fees: V4Asset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + ticket: V4Location, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V4AssetFilter, + beneficiary: V4Location, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + DescendOrigin: V4Junctions, + ExchangeAsset: sts.enumStruct({ + give: V4AssetFilter, + want: sts.array(() => V4Asset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V4Asset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V4Location), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V4NetworkId, + destination: V4Junctions, + xcm: sts.array(() => V4Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V4AssetFilter, + reserve: V4Location, + xcm: sts.array(() => V4Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V4Asset, + unlocker: V4Location, + }), + NoteUnlockable: sts.enumStruct({ + asset: V4Asset, + owner: V4Location, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V4QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V4Response, + maxWeight: Weight, + querier: sts.option(() => V4Location), + }), + ReceiveTeleportedAsset: sts.array(() => V4Asset), + RefundSurplus: sts.unit(), + ReportError: V4QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V4QueryResponseInfo, + assets: V4AssetFilter, + }), + ReportTransactStatus: V4QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V4Asset, + locker: V4Location, + }), + ReserveAssetDeposited: sts.array(() => V4Asset), + SetAppendix: sts.array(() => V4Instruction), + SetErrorHandler: sts.array(() => V4Instruction), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V3OriginKind, + requireWeightAtMost: Weight, + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + beneficiary: V4Location, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V4Junction, + UnlockAsset: sts.enumStruct({ + asset: V4Asset, + target: V4Location, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V4Location), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V4Asset), + } +}) + +export const DoubleEncoded: sts.Type = sts.struct(() => { + return { + encoded: sts.bytes(), + } +}) + +export interface DoubleEncoded { + encoded: Bytes +} + +export const V3OriginKind: sts.Type = sts.closedEnum(() => { + return { + Native: sts.unit(), + SovereignAccount: sts.unit(), + Superuser: sts.unit(), + Xcm: sts.unit(), + } +}) + +export type V3OriginKind = V3OriginKind_Native | V3OriginKind_SovereignAccount | V3OriginKind_Superuser | V3OriginKind_Xcm + +export interface V3OriginKind_Native { + __kind: 'Native' +} + +export interface V3OriginKind_SovereignAccount { + __kind: 'SovereignAccount' +} + +export interface V3OriginKind_Superuser { + __kind: 'Superuser' +} + +export interface V3OriginKind_Xcm { + __kind: 'Xcm' +} + +export const V4Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V4Asset), + DispatchResult: V3MaybeErrorCode, + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + Null: sts.unit(), + PalletsInfo: sts.array(() => V4PalletInfo), + Version: sts.number(), + } +}) + +export const V4PalletInfo: sts.Type = sts.struct(() => { + return { + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + major: sts.number(), + minor: sts.number(), + patch: sts.number(), + } +}) + +export interface V4PalletInfo { + index: number + name: Bytes + moduleName: Bytes + major: number + minor: number + patch: number +} + +export type V4Response = V4Response_Assets | V4Response_DispatchResult | V4Response_ExecutionResult | V4Response_Null | V4Response_PalletsInfo | V4Response_Version + +export interface V4Response_Assets { + __kind: 'Assets' + value: V4Asset[] +} + +export interface V4Response_DispatchResult { + __kind: 'DispatchResult' + value: V3MaybeErrorCode +} + +export interface V4Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V3Error] | undefined) +} + +export interface V4Response_Null { + __kind: 'Null' +} + +export interface V4Response_PalletsInfo { + __kind: 'PalletsInfo' + value: V4PalletInfo[] +} + +export interface V4Response_Version { + __kind: 'Version' + value: number +} + +export type V3Error = V3Error_AssetNotFound | V3Error_BadOrigin | V3Error_Barrier | V3Error_DestinationUnsupported | V3Error_ExceedsMaxMessageSize | V3Error_ExceedsStackLimit | V3Error_ExpectationFalse | V3Error_ExportError | V3Error_FailedToDecode | V3Error_FailedToTransactAsset | V3Error_FeesNotMet | V3Error_HoldingWouldOverflow | V3Error_InvalidLocation | V3Error_LocationCannotHold | V3Error_LocationFull | V3Error_LocationNotInvertible | V3Error_LockError | V3Error_MaxWeightInvalid | V3Error_NameMismatch | V3Error_NoDeal | V3Error_NoPermission | V3Error_NotDepositable | V3Error_NotHoldingFees | V3Error_NotWithdrawable | V3Error_Overflow | V3Error_PalletNotFound | V3Error_ReanchorFailed | V3Error_TooExpensive | V3Error_Transport | V3Error_Trap | V3Error_Unanchored | V3Error_UnhandledXcmVersion | V3Error_Unimplemented | V3Error_UnknownClaim | V3Error_Unroutable | V3Error_UntrustedReserveLocation | V3Error_UntrustedTeleportLocation | V3Error_VersionIncompatible | V3Error_WeightLimitReached | V3Error_WeightNotComputable + +export interface V3Error_AssetNotFound { + __kind: 'AssetNotFound' +} + +export interface V3Error_BadOrigin { + __kind: 'BadOrigin' +} + +export interface V3Error_Barrier { + __kind: 'Barrier' +} + +export interface V3Error_DestinationUnsupported { + __kind: 'DestinationUnsupported' +} + +export interface V3Error_ExceedsMaxMessageSize { + __kind: 'ExceedsMaxMessageSize' +} + +export interface V3Error_ExceedsStackLimit { + __kind: 'ExceedsStackLimit' +} + +export interface V3Error_ExpectationFalse { + __kind: 'ExpectationFalse' +} + +export interface V3Error_ExportError { + __kind: 'ExportError' +} + +export interface V3Error_FailedToDecode { + __kind: 'FailedToDecode' +} + +export interface V3Error_FailedToTransactAsset { + __kind: 'FailedToTransactAsset' +} + +export interface V3Error_FeesNotMet { + __kind: 'FeesNotMet' +} + +export interface V3Error_HoldingWouldOverflow { + __kind: 'HoldingWouldOverflow' +} + +export interface V3Error_InvalidLocation { + __kind: 'InvalidLocation' +} + +export interface V3Error_LocationCannotHold { + __kind: 'LocationCannotHold' +} + +export interface V3Error_LocationFull { + __kind: 'LocationFull' +} + +export interface V3Error_LocationNotInvertible { + __kind: 'LocationNotInvertible' +} + +export interface V3Error_LockError { + __kind: 'LockError' +} + +export interface V3Error_MaxWeightInvalid { + __kind: 'MaxWeightInvalid' +} + +export interface V3Error_NameMismatch { + __kind: 'NameMismatch' +} + +export interface V3Error_NoDeal { + __kind: 'NoDeal' +} + +export interface V3Error_NoPermission { + __kind: 'NoPermission' +} + +export interface V3Error_NotDepositable { + __kind: 'NotDepositable' +} + +export interface V3Error_NotHoldingFees { + __kind: 'NotHoldingFees' +} + +export interface V3Error_NotWithdrawable { + __kind: 'NotWithdrawable' +} + +export interface V3Error_Overflow { + __kind: 'Overflow' +} + +export interface V3Error_PalletNotFound { + __kind: 'PalletNotFound' +} + +export interface V3Error_ReanchorFailed { + __kind: 'ReanchorFailed' +} + +export interface V3Error_TooExpensive { + __kind: 'TooExpensive' +} + +export interface V3Error_Transport { + __kind: 'Transport' +} + +export interface V3Error_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V3Error_Unanchored { + __kind: 'Unanchored' +} + +export interface V3Error_UnhandledXcmVersion { + __kind: 'UnhandledXcmVersion' +} + +export interface V3Error_Unimplemented { + __kind: 'Unimplemented' +} + +export interface V3Error_UnknownClaim { + __kind: 'UnknownClaim' +} + +export interface V3Error_Unroutable { + __kind: 'Unroutable' +} + +export interface V3Error_UntrustedReserveLocation { + __kind: 'UntrustedReserveLocation' +} + +export interface V3Error_UntrustedTeleportLocation { + __kind: 'UntrustedTeleportLocation' +} + +export interface V3Error_VersionIncompatible { + __kind: 'VersionIncompatible' +} + +export interface V3Error_WeightLimitReached { + __kind: 'WeightLimitReached' + value: Weight +} + +export interface V3Error_WeightNotComputable { + __kind: 'WeightNotComputable' +} + +export type V3MaybeErrorCode = V3MaybeErrorCode_Error | V3MaybeErrorCode_Success | V3MaybeErrorCode_TruncatedError + +export interface V3MaybeErrorCode_Error { + __kind: 'Error' + value: Bytes +} + +export interface V3MaybeErrorCode_Success { + __kind: 'Success' +} + +export interface V3MaybeErrorCode_TruncatedError { + __kind: 'TruncatedError' + value: Bytes +} + +export interface V4Asset { + id: V4AssetId + fun: V4Fungibility +} + +export type V4Fungibility = V4Fungibility_Fungible | V4Fungibility_NonFungible + +export interface V4Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V4Fungibility_NonFungible { + __kind: 'NonFungible' + value: V4AssetInstance +} + +export type V4AssetInstance = V4AssetInstance_Array16 | V4AssetInstance_Array32 | V4AssetInstance_Array4 | V4AssetInstance_Array8 | V4AssetInstance_Index | V4AssetInstance_Undefined + +export interface V4AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V4AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V4AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V4AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V4AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V4AssetInstance_Undefined { + __kind: 'Undefined' +} + +export const V4QueryResponseInfo: sts.Type = sts.struct(() => { + return { + destination: V4Location, + queryId: sts.bigint(), + maxWeight: Weight, + } +}) + +export interface V4QueryResponseInfo { + destination: V4Location + queryId: bigint + maxWeight: Weight +} + +export const V3MaybeErrorCode: sts.Type = sts.closedEnum(() => { + return { + Error: sts.bytes(), + Success: sts.unit(), + TruncatedError: sts.bytes(), + } +}) + +export const V3Error: sts.Type = sts.closedEnum(() => { + return { + AssetNotFound: sts.unit(), + BadOrigin: sts.unit(), + Barrier: sts.unit(), + DestinationUnsupported: sts.unit(), + ExceedsMaxMessageSize: sts.unit(), + ExceedsStackLimit: sts.unit(), + ExpectationFalse: sts.unit(), + ExportError: sts.unit(), + FailedToDecode: sts.unit(), + FailedToTransactAsset: sts.unit(), + FeesNotMet: sts.unit(), + HoldingWouldOverflow: sts.unit(), + InvalidLocation: sts.unit(), + LocationCannotHold: sts.unit(), + LocationFull: sts.unit(), + LocationNotInvertible: sts.unit(), + LockError: sts.unit(), + MaxWeightInvalid: sts.unit(), + NameMismatch: sts.unit(), + NoDeal: sts.unit(), + NoPermission: sts.unit(), + NotDepositable: sts.unit(), + NotHoldingFees: sts.unit(), + NotWithdrawable: sts.unit(), + Overflow: sts.unit(), + PalletNotFound: sts.unit(), + ReanchorFailed: sts.unit(), + TooExpensive: sts.unit(), + Transport: sts.unit(), + Trap: sts.bigint(), + Unanchored: sts.unit(), + UnhandledXcmVersion: sts.unit(), + Unimplemented: sts.unit(), + UnknownClaim: sts.unit(), + Unroutable: sts.unit(), + UntrustedReserveLocation: sts.unit(), + UntrustedTeleportLocation: sts.unit(), + VersionIncompatible: sts.unit(), + WeightLimitReached: Weight, + WeightNotComputable: sts.unit(), + } +}) + +export const V4AssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V4Asset), + Wild: V4WildAsset, + } +}) + +export const V4WildAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllCounted: sts.number(), + AllOf: sts.enumStruct({ + id: V4AssetId, + fun: V4WildFungibility, + }), + AllOfCounted: sts.enumStruct({ + id: V4AssetId, + fun: V4WildFungibility, + count: sts.number(), + }), + } +}) + +export const V4WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V4WildFungibility = V4WildFungibility_Fungible | V4WildFungibility_NonFungible + +export interface V4WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V4WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export type V4WildAsset = V4WildAsset_All | V4WildAsset_AllCounted | V4WildAsset_AllOf | V4WildAsset_AllOfCounted + +export interface V4WildAsset_All { + __kind: 'All' +} + +export interface V4WildAsset_AllCounted { + __kind: 'AllCounted' + value: number +} + +export interface V4WildAsset_AllOf { + __kind: 'AllOf' + id: V4AssetId + fun: V4WildFungibility +} + +export interface V4WildAsset_AllOfCounted { + __kind: 'AllOfCounted' + id: V4AssetId + fun: V4WildFungibility + count: number +} + +export type V4AssetFilter = V4AssetFilter_Definite | V4AssetFilter_Wild + +export interface V4AssetFilter_Definite { + __kind: 'Definite' + value: V4Asset[] +} + +export interface V4AssetFilter_Wild { + __kind: 'Wild' + value: V4WildAsset +} + +export const V4Asset: sts.Type = sts.struct(() => { + return { + id: V4AssetId, + fun: V4Fungibility, + } +}) + +export const V4Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V4AssetInstance, + } +}) + +export const V4AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V4Instruction = V4Instruction_AliasOrigin | V4Instruction_BurnAsset | V4Instruction_BuyExecution | V4Instruction_ClaimAsset | V4Instruction_ClearError | V4Instruction_ClearOrigin | V4Instruction_ClearTopic | V4Instruction_ClearTransactStatus | V4Instruction_DepositAsset | V4Instruction_DepositReserveAsset | V4Instruction_DescendOrigin | V4Instruction_ExchangeAsset | V4Instruction_ExpectAsset | V4Instruction_ExpectError | V4Instruction_ExpectOrigin | V4Instruction_ExpectPallet | V4Instruction_ExpectTransactStatus | V4Instruction_ExportMessage | V4Instruction_HrmpChannelAccepted | V4Instruction_HrmpChannelClosing | V4Instruction_HrmpNewChannelOpenRequest | V4Instruction_InitiateReserveWithdraw | V4Instruction_InitiateTeleport | V4Instruction_LockAsset | V4Instruction_NoteUnlockable | V4Instruction_QueryPallet | V4Instruction_QueryResponse | V4Instruction_ReceiveTeleportedAsset | V4Instruction_RefundSurplus | V4Instruction_ReportError | V4Instruction_ReportHolding | V4Instruction_ReportTransactStatus | V4Instruction_RequestUnlock | V4Instruction_ReserveAssetDeposited | V4Instruction_SetAppendix | V4Instruction_SetErrorHandler | V4Instruction_SetFeesMode | V4Instruction_SetTopic | V4Instruction_SubscribeVersion | V4Instruction_Transact | V4Instruction_TransferAsset | V4Instruction_TransferReserveAsset | V4Instruction_Trap | V4Instruction_UniversalOrigin | V4Instruction_UnlockAsset | V4Instruction_UnpaidExecution | V4Instruction_UnsubscribeVersion | V4Instruction_WithdrawAsset + +export interface V4Instruction_AliasOrigin { + __kind: 'AliasOrigin' + value: V4Location +} + +export interface V4Instruction_BurnAsset { + __kind: 'BurnAsset' + value: V4Asset[] +} + +export interface V4Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V4Asset + weightLimit: V3WeightLimit +} + +export interface V4Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V4Asset[] + ticket: V4Location +} + +export interface V4Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V4Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V4Instruction_ClearTopic { + __kind: 'ClearTopic' +} + +export interface V4Instruction_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface V4Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V4AssetFilter + beneficiary: V4Location +} + +export interface V4Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V4Junctions +} + +export interface V4Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V4AssetFilter + want: V4Asset[] + maximal: boolean +} + +export interface V4Instruction_ExpectAsset { + __kind: 'ExpectAsset' + value: V4Asset[] +} + +export interface V4Instruction_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface V4Instruction_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V4Location | undefined) +} + +export interface V4Instruction_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface V4Instruction_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface V4Instruction_ExportMessage { + __kind: 'ExportMessage' + network: V4NetworkId + destination: V4Junctions + xcm: V4Instruction[] +} + +export interface V4Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V4Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V4Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V4Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V4AssetFilter + reserve: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_LockAsset { + __kind: 'LockAsset' + asset: V4Asset + unlocker: V4Location +} + +export interface V4Instruction_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V4Asset + owner: V4Location +} + +export interface V4Instruction_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V4QueryResponseInfo +} + +export interface V4Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V4Response + maxWeight: Weight + querier?: (V4Location | undefined) +} + +export interface V4Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V4Asset[] +} + +export interface V4Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V4Instruction_ReportError { + __kind: 'ReportError' + value: V4QueryResponseInfo +} + +export interface V4Instruction_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V4QueryResponseInfo + assets: V4AssetFilter +} + +export interface V4Instruction_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V4QueryResponseInfo +} + +export interface V4Instruction_RequestUnlock { + __kind: 'RequestUnlock' + asset: V4Asset + locker: V4Location +} + +export interface V4Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V4Asset[] +} + +export interface V4Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V4Instruction[] +} + +export interface V4Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V4Instruction[] +} + +export interface V4Instruction_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface V4Instruction_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface V4Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface V4Instruction_Transact { + __kind: 'Transact' + originKind: V3OriginKind + requireWeightAtMost: Weight + call: DoubleEncoded +} + +export interface V4Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V4Asset[] + beneficiary: V4Location +} + +export interface V4Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V4Asset[] + dest: V4Location + xcm: V4Instruction[] +} + +export interface V4Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V4Instruction_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V4Junction +} + +export interface V4Instruction_UnlockAsset { + __kind: 'UnlockAsset' + asset: V4Asset + target: V4Location +} + +export interface V4Instruction_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V4Location | undefined) +} + +export interface V4Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V4Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V4Asset[] +} + +export type V3WeightLimit = V3WeightLimit_Limited | V3WeightLimit_Unlimited + +export interface V3WeightLimit_Limited { + __kind: 'Limited' + value: Weight +} + +export interface V3WeightLimit_Unlimited { + __kind: 'Unlimited' +} + +export const V3Instruction: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V3MultiLocation, + BurnAsset: sts.array(() => V3MultiAsset), + BuyExecution: sts.enumStruct({ + fees: V3MultiAsset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + ticket: V3MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + beneficiary: V3MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + DescendOrigin: V3Junctions, + ExchangeAsset: sts.enumStruct({ + give: V3MultiAssetFilter, + want: sts.array(() => V3MultiAsset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V3MultiAsset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V3MultiLocation), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V3NetworkId, + destination: V3Junctions, + xcm: sts.array(() => V3Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V3MultiAssetFilter, + reserve: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V3MultiAsset, + unlocker: V3MultiLocation, + }), + NoteUnlockable: sts.enumStruct({ + asset: V3MultiAsset, + owner: V3MultiLocation, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V3QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V3Response, + maxWeight: Weight, + querier: sts.option(() => V3MultiLocation), + }), + ReceiveTeleportedAsset: sts.array(() => V3MultiAsset), + RefundSurplus: sts.unit(), + ReportError: V3QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V3QueryResponseInfo, + assets: V3MultiAssetFilter, + }), + ReportTransactStatus: V3QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V3MultiAsset, + locker: V3MultiLocation, + }), + ReserveAssetDeposited: sts.array(() => V3MultiAsset), + SetAppendix: sts.array(() => V3Instruction), + SetErrorHandler: sts.array(() => V3Instruction), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V3OriginKind, + requireWeightAtMost: Weight, + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + beneficiary: V3MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V3Junction, + UnlockAsset: sts.enumStruct({ + asset: V3MultiAsset, + target: V3MultiLocation, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V3MultiLocation), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V3MultiAsset), + } +}) + +export const V3Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V3MultiAsset), + DispatchResult: V3MaybeErrorCode, + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + Null: sts.unit(), + PalletsInfo: sts.array(() => V3PalletInfo), + Version: sts.number(), + } +}) + +export const V3PalletInfo: sts.Type = sts.struct(() => { + return { + index: sts.number(), + name: BoundedVec, + moduleName: BoundedVec, + major: sts.number(), + minor: sts.number(), + patch: sts.number(), + } +}) + +export const BoundedVec = sts.bytes() + +export interface V3PalletInfo { + index: number + name: BoundedVec + moduleName: BoundedVec + major: number + minor: number + patch: number +} + +export type BoundedVec = Bytes + +export type V3Response = V3Response_Assets | V3Response_DispatchResult | V3Response_ExecutionResult | V3Response_Null | V3Response_PalletsInfo | V3Response_Version + +export interface V3Response_Assets { + __kind: 'Assets' + value: V3MultiAsset[] +} + +export interface V3Response_DispatchResult { + __kind: 'DispatchResult' + value: V3MaybeErrorCode +} + +export interface V3Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V3Error] | undefined) +} + +export interface V3Response_Null { + __kind: 'Null' +} + +export interface V3Response_PalletsInfo { + __kind: 'PalletsInfo' + value: V3PalletInfo[] +} + +export interface V3Response_Version { + __kind: 'Version' + value: number +} + +export interface V3MultiAsset { + id: V3AssetId + fun: V3Fungibility +} + +export type V3Fungibility = V3Fungibility_Fungible | V3Fungibility_NonFungible + +export interface V3Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V3Fungibility_NonFungible { + __kind: 'NonFungible' + value: V3AssetInstance +} + +export type V3AssetInstance = V3AssetInstance_Array16 | V3AssetInstance_Array32 | V3AssetInstance_Array4 | V3AssetInstance_Array8 | V3AssetInstance_Index | V3AssetInstance_Undefined + +export interface V3AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V3AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V3AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V3AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V3AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V3AssetInstance_Undefined { + __kind: 'Undefined' +} + +export const V3QueryResponseInfo: sts.Type = sts.struct(() => { + return { + destination: V3MultiLocation, + queryId: sts.bigint(), + maxWeight: Weight, + } +}) + +export interface V3QueryResponseInfo { + destination: V3MultiLocation + queryId: bigint + maxWeight: Weight +} + +export const V3MultiAssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V3MultiAsset), + Wild: V3WildMultiAsset, + } +}) + +export const V3WildMultiAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllCounted: sts.number(), + AllOf: sts.enumStruct({ + id: V3AssetId, + fun: V3WildFungibility, + }), + AllOfCounted: sts.enumStruct({ + id: V3AssetId, + fun: V3WildFungibility, + count: sts.number(), + }), + } +}) + +export const V3WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V3WildFungibility = V3WildFungibility_Fungible | V3WildFungibility_NonFungible + +export interface V3WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V3WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export type V3WildMultiAsset = V3WildMultiAsset_All | V3WildMultiAsset_AllCounted | V3WildMultiAsset_AllOf | V3WildMultiAsset_AllOfCounted + +export interface V3WildMultiAsset_All { + __kind: 'All' +} + +export interface V3WildMultiAsset_AllCounted { + __kind: 'AllCounted' + value: number +} + +export interface V3WildMultiAsset_AllOf { + __kind: 'AllOf' + id: V3AssetId + fun: V3WildFungibility +} + +export interface V3WildMultiAsset_AllOfCounted { + __kind: 'AllOfCounted' + id: V3AssetId + fun: V3WildFungibility + count: number +} + +export type V3MultiAssetFilter = V3MultiAssetFilter_Definite | V3MultiAssetFilter_Wild + +export interface V3MultiAssetFilter_Definite { + __kind: 'Definite' + value: V3MultiAsset[] +} + +export interface V3MultiAssetFilter_Wild { + __kind: 'Wild' + value: V3WildMultiAsset +} + +export const V3MultiAsset: sts.Type = sts.struct(() => { + return { + id: V3AssetId, + fun: V3Fungibility, + } +}) + +export const V3Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V3AssetInstance, + } +}) + +export const V3AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V3Instruction = V3Instruction_AliasOrigin | V3Instruction_BurnAsset | V3Instruction_BuyExecution | V3Instruction_ClaimAsset | V3Instruction_ClearError | V3Instruction_ClearOrigin | V3Instruction_ClearTopic | V3Instruction_ClearTransactStatus | V3Instruction_DepositAsset | V3Instruction_DepositReserveAsset | V3Instruction_DescendOrigin | V3Instruction_ExchangeAsset | V3Instruction_ExpectAsset | V3Instruction_ExpectError | V3Instruction_ExpectOrigin | V3Instruction_ExpectPallet | V3Instruction_ExpectTransactStatus | V3Instruction_ExportMessage | V3Instruction_HrmpChannelAccepted | V3Instruction_HrmpChannelClosing | V3Instruction_HrmpNewChannelOpenRequest | V3Instruction_InitiateReserveWithdraw | V3Instruction_InitiateTeleport | V3Instruction_LockAsset | V3Instruction_NoteUnlockable | V3Instruction_QueryPallet | V3Instruction_QueryResponse | V3Instruction_ReceiveTeleportedAsset | V3Instruction_RefundSurplus | V3Instruction_ReportError | V3Instruction_ReportHolding | V3Instruction_ReportTransactStatus | V3Instruction_RequestUnlock | V3Instruction_ReserveAssetDeposited | V3Instruction_SetAppendix | V3Instruction_SetErrorHandler | V3Instruction_SetFeesMode | V3Instruction_SetTopic | V3Instruction_SubscribeVersion | V3Instruction_Transact | V3Instruction_TransferAsset | V3Instruction_TransferReserveAsset | V3Instruction_Trap | V3Instruction_UniversalOrigin | V3Instruction_UnlockAsset | V3Instruction_UnpaidExecution | V3Instruction_UnsubscribeVersion | V3Instruction_WithdrawAsset + +export interface V3Instruction_AliasOrigin { + __kind: 'AliasOrigin' + value: V3MultiLocation +} + +export interface V3Instruction_BurnAsset { + __kind: 'BurnAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V3MultiAsset + weightLimit: V3WeightLimit +} + +export interface V3Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V3MultiAsset[] + ticket: V3MultiLocation +} + +export interface V3Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V3Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V3Instruction_ClearTopic { + __kind: 'ClearTopic' +} + +export interface V3Instruction_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface V3Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V3MultiAssetFilter + beneficiary: V3MultiLocation +} + +export interface V3Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V3Junctions +} + +export interface V3Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V3MultiAssetFilter + want: V3MultiAsset[] + maximal: boolean +} + +export interface V3Instruction_ExpectAsset { + __kind: 'ExpectAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface V3Instruction_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface V3Instruction_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface V3Instruction_ExportMessage { + __kind: 'ExportMessage' + network: V3NetworkId + destination: V3Junctions + xcm: V3Instruction[] +} + +export interface V3Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V3Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V3Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V3Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V3MultiAssetFilter + reserve: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_LockAsset { + __kind: 'LockAsset' + asset: V3MultiAsset + unlocker: V3MultiLocation +} + +export interface V3Instruction_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V3MultiAsset + owner: V3MultiLocation +} + +export interface V3Instruction_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V3QueryResponseInfo +} + +export interface V3Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V3Response + maxWeight: Weight + querier?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V3MultiAsset[] +} + +export interface V3Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V3Instruction_ReportError { + __kind: 'ReportError' + value: V3QueryResponseInfo +} + +export interface V3Instruction_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V3QueryResponseInfo + assets: V3MultiAssetFilter +} + +export interface V3Instruction_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V3QueryResponseInfo +} + +export interface V3Instruction_RequestUnlock { + __kind: 'RequestUnlock' + asset: V3MultiAsset + locker: V3MultiLocation +} + +export interface V3Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V3MultiAsset[] +} + +export interface V3Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V3Instruction[] +} + +export interface V3Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V3Instruction[] +} + +export interface V3Instruction_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface V3Instruction_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface V3Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface V3Instruction_Transact { + __kind: 'Transact' + originKind: V3OriginKind + requireWeightAtMost: Weight + call: DoubleEncoded +} + +export interface V3Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V3MultiAsset[] + beneficiary: V3MultiLocation +} + +export interface V3Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V3MultiAsset[] + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface V3Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V3Instruction_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V3Junction +} + +export interface V3Instruction_UnlockAsset { + __kind: 'UnlockAsset' + asset: V3MultiAsset + target: V3MultiLocation +} + +export interface V3Instruction_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V3MultiLocation | undefined) +} + +export interface V3Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V3Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V3MultiAsset[] +} + +export const V2Instruction: sts.Type = sts.closedEnum(() => { + return { + BuyExecution: sts.enumStruct({ + fees: V2MultiAsset, + weightLimit: V2WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + ticket: V2MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + beneficiary: V2MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + DescendOrigin: V2Junctions, + ExchangeAsset: sts.enumStruct({ + give: V2MultiAssetFilter, + receive: sts.array(() => V2MultiAsset), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V2MultiAssetFilter, + reserve: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V2MultiAssetFilter, + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + QueryHolding: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + assets: V2MultiAssetFilter, + maxResponseWeight: sts.bigint(), + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V2Response, + maxWeight: sts.bigint(), + }), + ReceiveTeleportedAsset: sts.array(() => V2MultiAsset), + RefundSurplus: sts.unit(), + ReportError: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + maxResponseWeight: sts.bigint(), + }), + ReserveAssetDeposited: sts.array(() => V2MultiAsset), + SetAppendix: sts.array(() => V2Instruction), + SetErrorHandler: sts.array(() => V2Instruction), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: sts.bigint(), + }), + Transact: sts.enumStruct({ + originType: V2OriginKind, + requireWeightAtMost: sts.bigint(), + call: DoubleEncoded, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + beneficiary: V2MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + Trap: sts.bigint(), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V2MultiAsset), + } +}) + +export const V2OriginKind: sts.Type = sts.closedEnum(() => { + return { + Native: sts.unit(), + SovereignAccount: sts.unit(), + Superuser: sts.unit(), + Xcm: sts.unit(), + } +}) + +export type V2OriginKind = V2OriginKind_Native | V2OriginKind_SovereignAccount | V2OriginKind_Superuser | V2OriginKind_Xcm + +export interface V2OriginKind_Native { + __kind: 'Native' +} + +export interface V2OriginKind_SovereignAccount { + __kind: 'SovereignAccount' +} + +export interface V2OriginKind_Superuser { + __kind: 'Superuser' +} + +export interface V2OriginKind_Xcm { + __kind: 'Xcm' +} + +export const V2Response: sts.Type = sts.closedEnum(() => { + return { + Assets: sts.array(() => V2MultiAsset), + ExecutionResult: sts.option(() => sts.tuple(() => [sts.number(), V2Error])), + Null: sts.unit(), + Version: sts.number(), + } +}) + +export const V2Error: sts.Type = sts.closedEnum(() => { + return { + AssetNotFound: sts.unit(), + BadOrigin: sts.unit(), + Barrier: sts.unit(), + DestinationUnsupported: sts.unit(), + ExceedsMaxMessageSize: sts.unit(), + FailedToDecode: sts.unit(), + FailedToTransactAsset: sts.unit(), + InvalidLocation: sts.unit(), + LocationCannotHold: sts.unit(), + MaxWeightInvalid: sts.unit(), + MultiLocationFull: sts.unit(), + MultiLocationNotInvertible: sts.unit(), + NotHoldingFees: sts.unit(), + NotWithdrawable: sts.unit(), + Overflow: sts.unit(), + TooExpensive: sts.unit(), + Transport: sts.unit(), + Trap: sts.bigint(), + UnhandledXcmVersion: sts.unit(), + Unimplemented: sts.unit(), + UnknownClaim: sts.unit(), + Unroutable: sts.unit(), + UntrustedReserveLocation: sts.unit(), + UntrustedTeleportLocation: sts.unit(), + WeightLimitReached: sts.bigint(), + WeightNotComputable: sts.unit(), + } +}) + +export type V2Error = V2Error_AssetNotFound | V2Error_BadOrigin | V2Error_Barrier | V2Error_DestinationUnsupported | V2Error_ExceedsMaxMessageSize | V2Error_FailedToDecode | V2Error_FailedToTransactAsset | V2Error_InvalidLocation | V2Error_LocationCannotHold | V2Error_MaxWeightInvalid | V2Error_MultiLocationFull | V2Error_MultiLocationNotInvertible | V2Error_NotHoldingFees | V2Error_NotWithdrawable | V2Error_Overflow | V2Error_TooExpensive | V2Error_Transport | V2Error_Trap | V2Error_UnhandledXcmVersion | V2Error_Unimplemented | V2Error_UnknownClaim | V2Error_Unroutable | V2Error_UntrustedReserveLocation | V2Error_UntrustedTeleportLocation | V2Error_WeightLimitReached | V2Error_WeightNotComputable + +export interface V2Error_AssetNotFound { + __kind: 'AssetNotFound' +} + +export interface V2Error_BadOrigin { + __kind: 'BadOrigin' +} + +export interface V2Error_Barrier { + __kind: 'Barrier' +} + +export interface V2Error_DestinationUnsupported { + __kind: 'DestinationUnsupported' +} + +export interface V2Error_ExceedsMaxMessageSize { + __kind: 'ExceedsMaxMessageSize' +} + +export interface V2Error_FailedToDecode { + __kind: 'FailedToDecode' +} + +export interface V2Error_FailedToTransactAsset { + __kind: 'FailedToTransactAsset' +} + +export interface V2Error_InvalidLocation { + __kind: 'InvalidLocation' +} + +export interface V2Error_LocationCannotHold { + __kind: 'LocationCannotHold' +} + +export interface V2Error_MaxWeightInvalid { + __kind: 'MaxWeightInvalid' +} + +export interface V2Error_MultiLocationFull { + __kind: 'MultiLocationFull' +} + +export interface V2Error_MultiLocationNotInvertible { + __kind: 'MultiLocationNotInvertible' +} + +export interface V2Error_NotHoldingFees { + __kind: 'NotHoldingFees' +} + +export interface V2Error_NotWithdrawable { + __kind: 'NotWithdrawable' +} + +export interface V2Error_Overflow { + __kind: 'Overflow' +} + +export interface V2Error_TooExpensive { + __kind: 'TooExpensive' +} + +export interface V2Error_Transport { + __kind: 'Transport' +} + +export interface V2Error_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V2Error_UnhandledXcmVersion { + __kind: 'UnhandledXcmVersion' +} + +export interface V2Error_Unimplemented { + __kind: 'Unimplemented' +} + +export interface V2Error_UnknownClaim { + __kind: 'UnknownClaim' +} + +export interface V2Error_Unroutable { + __kind: 'Unroutable' +} + +export interface V2Error_UntrustedReserveLocation { + __kind: 'UntrustedReserveLocation' +} + +export interface V2Error_UntrustedTeleportLocation { + __kind: 'UntrustedTeleportLocation' +} + +export interface V2Error_WeightLimitReached { + __kind: 'WeightLimitReached' + value: bigint +} + +export interface V2Error_WeightNotComputable { + __kind: 'WeightNotComputable' +} + +export type V2Response = V2Response_Assets | V2Response_ExecutionResult | V2Response_Null | V2Response_Version + +export interface V2Response_Assets { + __kind: 'Assets' + value: V2MultiAsset[] +} + +export interface V2Response_ExecutionResult { + __kind: 'ExecutionResult' + value?: ([number, V2Error] | undefined) +} + +export interface V2Response_Null { + __kind: 'Null' +} + +export interface V2Response_Version { + __kind: 'Version' + value: number +} + +export interface V2MultiAsset { + id: V2AssetId + fun: V2Fungibility +} + +export type V2Fungibility = V2Fungibility_Fungible | V2Fungibility_NonFungible + +export interface V2Fungibility_Fungible { + __kind: 'Fungible' + value: bigint +} + +export interface V2Fungibility_NonFungible { + __kind: 'NonFungible' + value: V2AssetInstance +} + +export type V2AssetInstance = V2AssetInstance_Array16 | V2AssetInstance_Array32 | V2AssetInstance_Array4 | V2AssetInstance_Array8 | V2AssetInstance_Blob | V2AssetInstance_Index | V2AssetInstance_Undefined + +export interface V2AssetInstance_Array16 { + __kind: 'Array16' + value: Bytes +} + +export interface V2AssetInstance_Array32 { + __kind: 'Array32' + value: Bytes +} + +export interface V2AssetInstance_Array4 { + __kind: 'Array4' + value: Bytes +} + +export interface V2AssetInstance_Array8 { + __kind: 'Array8' + value: Bytes +} + +export interface V2AssetInstance_Blob { + __kind: 'Blob' + value: Bytes +} + +export interface V2AssetInstance_Index { + __kind: 'Index' + value: bigint +} + +export interface V2AssetInstance_Undefined { + __kind: 'Undefined' +} + +export type V2AssetId = V2AssetId_Abstract | V2AssetId_Concrete + +export interface V2AssetId_Abstract { + __kind: 'Abstract' + value: Bytes +} + +export interface V2AssetId_Concrete { + __kind: 'Concrete' + value: V2MultiLocation +} + +export const V2Junctions: sts.Type = sts.closedEnum(() => { + return { + Here: sts.unit(), + X1: V2Junction, + X2: sts.tuple(() => [V2Junction, V2Junction]), + X3: sts.tuple(() => [V2Junction, V2Junction, V2Junction]), + X4: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction]), + X5: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X6: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X7: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + X8: sts.tuple(() => [V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction, V2Junction]), + } +}) + +export const V2Junction: sts.Type = sts.closedEnum(() => { + return { + AccountId32: sts.enumStruct({ + network: V2NetworkId, + id: sts.bytes(), + }), + AccountIndex64: sts.enumStruct({ + network: V2NetworkId, + index: sts.bigint(), + }), + AccountKey20: sts.enumStruct({ + network: V2NetworkId, + key: sts.bytes(), + }), + GeneralIndex: sts.bigint(), + GeneralKey: WeakBoundedVec, + OnlyChild: sts.unit(), + PalletInstance: sts.number(), + Parachain: sts.number(), + Plurality: sts.enumStruct({ + id: V2BodyId, + part: V2BodyPart, + }), + } +}) + +export const V2BodyPart: sts.Type = sts.closedEnum(() => { + return { + AtLeastProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Fraction: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Members: sts.enumStruct({ + count: sts.number(), + }), + MoreThanProportion: sts.enumStruct({ + nom: sts.number(), + denom: sts.number(), + }), + Voice: sts.unit(), + } +}) + +export const V2BodyId: sts.Type = sts.closedEnum(() => { + return { + Administration: sts.unit(), + Defense: sts.unit(), + Executive: sts.unit(), + Index: sts.number(), + Judicial: sts.unit(), + Legislative: sts.unit(), + Named: WeakBoundedVec, + Technical: sts.unit(), + Treasury: sts.unit(), + Unit: sts.unit(), + } +}) + +export const WeakBoundedVec = sts.bytes() + +export const V2NetworkId: sts.Type = sts.closedEnum(() => { + return { + Any: sts.unit(), + Kusama: sts.unit(), + Named: WeakBoundedVec, + Polkadot: sts.unit(), + } +}) + +export const V2MultiAssetFilter: sts.Type = sts.closedEnum(() => { + return { + Definite: sts.array(() => V2MultiAsset), + Wild: V2WildMultiAsset, + } +}) + +export const V2WildMultiAsset: sts.Type = sts.closedEnum(() => { + return { + All: sts.unit(), + AllOf: sts.enumStruct({ + id: V2AssetId, + fun: V2WildFungibility, + }), + } +}) + +export const V2WildFungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.unit(), + NonFungible: sts.unit(), + } +}) + +export type V2WildFungibility = V2WildFungibility_Fungible | V2WildFungibility_NonFungible + +export interface V2WildFungibility_Fungible { + __kind: 'Fungible' +} + +export interface V2WildFungibility_NonFungible { + __kind: 'NonFungible' +} + +export const V2AssetId: sts.Type = sts.closedEnum(() => { + return { + Abstract: sts.bytes(), + Concrete: V2MultiLocation, + } +}) + +export type V2WildMultiAsset = V2WildMultiAsset_All | V2WildMultiAsset_AllOf + +export interface V2WildMultiAsset_All { + __kind: 'All' +} + +export interface V2WildMultiAsset_AllOf { + __kind: 'AllOf' + id: V2AssetId + fun: V2WildFungibility +} + +export type V2MultiAssetFilter = V2MultiAssetFilter_Definite | V2MultiAssetFilter_Wild + +export interface V2MultiAssetFilter_Definite { + __kind: 'Definite' + value: V2MultiAsset[] +} + +export interface V2MultiAssetFilter_Wild { + __kind: 'Wild' + value: V2WildMultiAsset +} + +export const V2MultiLocation: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V2Junctions, + } +}) + +export const V2WeightLimit: sts.Type = sts.closedEnum(() => { + return { + Limited: sts.bigint(), + Unlimited: sts.unit(), + } +}) + +export type V2WeightLimit = V2WeightLimit_Limited | V2WeightLimit_Unlimited + +export interface V2WeightLimit_Limited { + __kind: 'Limited' + value: bigint +} + +export interface V2WeightLimit_Unlimited { + __kind: 'Unlimited' +} + +export const V2MultiAsset: sts.Type = sts.struct(() => { + return { + id: V2AssetId, + fun: V2Fungibility, + } +}) + +export const V2Fungibility: sts.Type = sts.closedEnum(() => { + return { + Fungible: sts.bigint(), + NonFungible: V2AssetInstance, + } +}) + +export const V2AssetInstance: sts.Type = sts.closedEnum(() => { + return { + Array16: sts.bytes(), + Array32: sts.bytes(), + Array4: sts.bytes(), + Array8: sts.bytes(), + Blob: sts.bytes(), + Index: sts.bigint(), + Undefined: sts.unit(), + } +}) + +export type V2Instruction = V2Instruction_BuyExecution | V2Instruction_ClaimAsset | V2Instruction_ClearError | V2Instruction_ClearOrigin | V2Instruction_DepositAsset | V2Instruction_DepositReserveAsset | V2Instruction_DescendOrigin | V2Instruction_ExchangeAsset | V2Instruction_HrmpChannelAccepted | V2Instruction_HrmpChannelClosing | V2Instruction_HrmpNewChannelOpenRequest | V2Instruction_InitiateReserveWithdraw | V2Instruction_InitiateTeleport | V2Instruction_QueryHolding | V2Instruction_QueryResponse | V2Instruction_ReceiveTeleportedAsset | V2Instruction_RefundSurplus | V2Instruction_ReportError | V2Instruction_ReserveAssetDeposited | V2Instruction_SetAppendix | V2Instruction_SetErrorHandler | V2Instruction_SubscribeVersion | V2Instruction_Transact | V2Instruction_TransferAsset | V2Instruction_TransferReserveAsset | V2Instruction_Trap | V2Instruction_UnsubscribeVersion | V2Instruction_WithdrawAsset + +export interface V2Instruction_BuyExecution { + __kind: 'BuyExecution' + fees: V2MultiAsset + weightLimit: V2WeightLimit +} + +export interface V2Instruction_ClaimAsset { + __kind: 'ClaimAsset' + assets: V2MultiAsset[] + ticket: V2MultiLocation +} + +export interface V2Instruction_ClearError { + __kind: 'ClearError' +} + +export interface V2Instruction_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface V2Instruction_DepositAsset { + __kind: 'DepositAsset' + assets: V2MultiAssetFilter + maxAssets: number + beneficiary: V2MultiLocation +} + +export interface V2Instruction_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V2MultiAssetFilter + maxAssets: number + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_DescendOrigin { + __kind: 'DescendOrigin' + value: V2Junctions +} + +export interface V2Instruction_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V2MultiAssetFilter + receive: V2MultiAsset[] +} + +export interface V2Instruction_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface V2Instruction_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface V2Instruction_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface V2Instruction_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V2MultiAssetFilter + reserve: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V2MultiAssetFilter + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_QueryHolding { + __kind: 'QueryHolding' + queryId: bigint + dest: V2MultiLocation + assets: V2MultiAssetFilter + maxResponseWeight: bigint +} + +export interface V2Instruction_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V2Response + maxWeight: bigint +} + +export interface V2Instruction_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V2MultiAsset[] +} + +export interface V2Instruction_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface V2Instruction_ReportError { + __kind: 'ReportError' + queryId: bigint + dest: V2MultiLocation + maxResponseWeight: bigint +} + +export interface V2Instruction_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V2MultiAsset[] +} + +export interface V2Instruction_SetAppendix { + __kind: 'SetAppendix' + value: V2Instruction[] +} + +export interface V2Instruction_SetErrorHandler { + __kind: 'SetErrorHandler' + value: V2Instruction[] +} + +export interface V2Instruction_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: bigint +} + +export interface V2Instruction_Transact { + __kind: 'Transact' + originType: V2OriginKind + requireWeightAtMost: bigint + call: DoubleEncoded +} + +export interface V2Instruction_TransferAsset { + __kind: 'TransferAsset' + assets: V2MultiAsset[] + beneficiary: V2MultiLocation +} + +export interface V2Instruction_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V2MultiAsset[] + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface V2Instruction_Trap { + __kind: 'Trap' + value: bigint +} + +export interface V2Instruction_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface V2Instruction_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V2MultiAsset[] +} + +export type VersionedXcm = VersionedXcm_V2 | VersionedXcm_V3 | VersionedXcm_V4 + +export interface VersionedXcm_V2 { + __kind: 'V2' + value: V2Instruction[] +} + +export interface VersionedXcm_V3 { + __kind: 'V3' + value: V3Instruction[] +} + +export interface VersionedXcm_V4 { + __kind: 'V4' + value: V4Instruction[] +} + +export const V3WeightLimit: sts.Type = sts.closedEnum(() => { + return { + Limited: Weight, + Unlimited: sts.unit(), + } +}) + +export const V4Location: sts.Type = sts.struct(() => { + return { + parents: sts.number(), + interior: V4Junctions, + } +}) + +export const Type_439: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => Type_442), + V3: sts.array(() => Type_446), + V4: sts.array(() => Type_449), + } +}) + +export const Type_449: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V4Location, + BurnAsset: sts.array(() => V4Asset), + BuyExecution: sts.enumStruct({ + fees: V4Asset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + ticket: V4Location, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V4AssetFilter, + beneficiary: V4Location, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + DescendOrigin: V4Junctions, + ExchangeAsset: sts.enumStruct({ + give: V4AssetFilter, + want: sts.array(() => V4Asset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V4Asset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V4Location), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V4NetworkId, + destination: V4Junctions, + xcm: sts.array(() => V4Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V4AssetFilter, + reserve: V4Location, + xcm: sts.array(() => V4Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V4AssetFilter, + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V4Asset, + unlocker: V4Location, + }), + NoteUnlockable: sts.enumStruct({ + asset: V4Asset, + owner: V4Location, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V4QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V4Response, + maxWeight: Weight, + querier: sts.option(() => V4Location), + }), + ReceiveTeleportedAsset: sts.array(() => V4Asset), + RefundSurplus: sts.unit(), + ReportError: V4QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V4QueryResponseInfo, + assets: V4AssetFilter, + }), + ReportTransactStatus: V4QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V4Asset, + locker: V4Location, + }), + ReserveAssetDeposited: sts.array(() => V4Asset), + SetAppendix: sts.array(() => Type_449), + SetErrorHandler: sts.array(() => Type_449), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V3OriginKind, + requireWeightAtMost: Weight, + call: Type_443, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + beneficiary: V4Location, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V4Asset), + dest: V4Location, + xcm: sts.array(() => V4Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V4Junction, + UnlockAsset: sts.enumStruct({ + asset: V4Asset, + target: V4Location, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V4Location), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V4Asset), + } +}) + +export const Type_443: sts.Type = sts.struct(() => { + return { + encoded: sts.bytes(), + } +}) + +export interface Type_443 { + encoded: Bytes +} + +export type Type_449 = Type_449_AliasOrigin | Type_449_BurnAsset | Type_449_BuyExecution | Type_449_ClaimAsset | Type_449_ClearError | Type_449_ClearOrigin | Type_449_ClearTopic | Type_449_ClearTransactStatus | Type_449_DepositAsset | Type_449_DepositReserveAsset | Type_449_DescendOrigin | Type_449_ExchangeAsset | Type_449_ExpectAsset | Type_449_ExpectError | Type_449_ExpectOrigin | Type_449_ExpectPallet | Type_449_ExpectTransactStatus | Type_449_ExportMessage | Type_449_HrmpChannelAccepted | Type_449_HrmpChannelClosing | Type_449_HrmpNewChannelOpenRequest | Type_449_InitiateReserveWithdraw | Type_449_InitiateTeleport | Type_449_LockAsset | Type_449_NoteUnlockable | Type_449_QueryPallet | Type_449_QueryResponse | Type_449_ReceiveTeleportedAsset | Type_449_RefundSurplus | Type_449_ReportError | Type_449_ReportHolding | Type_449_ReportTransactStatus | Type_449_RequestUnlock | Type_449_ReserveAssetDeposited | Type_449_SetAppendix | Type_449_SetErrorHandler | Type_449_SetFeesMode | Type_449_SetTopic | Type_449_SubscribeVersion | Type_449_Transact | Type_449_TransferAsset | Type_449_TransferReserveAsset | Type_449_Trap | Type_449_UniversalOrigin | Type_449_UnlockAsset | Type_449_UnpaidExecution | Type_449_UnsubscribeVersion | Type_449_WithdrawAsset + +export interface Type_449_AliasOrigin { + __kind: 'AliasOrigin' + value: V4Location +} + +export interface Type_449_BurnAsset { + __kind: 'BurnAsset' + value: V4Asset[] +} + +export interface Type_449_BuyExecution { + __kind: 'BuyExecution' + fees: V4Asset + weightLimit: V3WeightLimit +} + +export interface Type_449_ClaimAsset { + __kind: 'ClaimAsset' + assets: V4Asset[] + ticket: V4Location +} + +export interface Type_449_ClearError { + __kind: 'ClearError' +} + +export interface Type_449_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_449_ClearTopic { + __kind: 'ClearTopic' +} + +export interface Type_449_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface Type_449_DepositAsset { + __kind: 'DepositAsset' + assets: V4AssetFilter + beneficiary: V4Location +} + +export interface Type_449_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_449_DescendOrigin { + __kind: 'DescendOrigin' + value: V4Junctions +} + +export interface Type_449_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V4AssetFilter + want: V4Asset[] + maximal: boolean +} + +export interface Type_449_ExpectAsset { + __kind: 'ExpectAsset' + value: V4Asset[] +} + +export interface Type_449_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface Type_449_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V4Location | undefined) +} + +export interface Type_449_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface Type_449_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface Type_449_ExportMessage { + __kind: 'ExportMessage' + network: V4NetworkId + destination: V4Junctions + xcm: V4Instruction[] +} + +export interface Type_449_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_449_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_449_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_449_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V4AssetFilter + reserve: V4Location + xcm: V4Instruction[] +} + +export interface Type_449_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V4AssetFilter + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_449_LockAsset { + __kind: 'LockAsset' + asset: V4Asset + unlocker: V4Location +} + +export interface Type_449_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V4Asset + owner: V4Location +} + +export interface Type_449_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V4QueryResponseInfo +} + +export interface Type_449_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V4Response + maxWeight: Weight + querier?: (V4Location | undefined) +} + +export interface Type_449_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V4Asset[] +} + +export interface Type_449_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_449_ReportError { + __kind: 'ReportError' + value: V4QueryResponseInfo +} + +export interface Type_449_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V4QueryResponseInfo + assets: V4AssetFilter +} + +export interface Type_449_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V4QueryResponseInfo +} + +export interface Type_449_RequestUnlock { + __kind: 'RequestUnlock' + asset: V4Asset + locker: V4Location +} + +export interface Type_449_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V4Asset[] +} + +export interface Type_449_SetAppendix { + __kind: 'SetAppendix' + value: Type_449[] +} + +export interface Type_449_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_449[] +} + +export interface Type_449_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface Type_449_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface Type_449_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface Type_449_Transact { + __kind: 'Transact' + originKind: V3OriginKind + requireWeightAtMost: Weight + call: Type_443 +} + +export interface Type_449_TransferAsset { + __kind: 'TransferAsset' + assets: V4Asset[] + beneficiary: V4Location +} + +export interface Type_449_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V4Asset[] + dest: V4Location + xcm: V4Instruction[] +} + +export interface Type_449_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_449_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V4Junction +} + +export interface Type_449_UnlockAsset { + __kind: 'UnlockAsset' + asset: V4Asset + target: V4Location +} + +export interface Type_449_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V4Location | undefined) +} + +export interface Type_449_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_449_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V4Asset[] +} + +export const Type_446: sts.Type = sts.closedEnum(() => { + return { + AliasOrigin: V3MultiLocation, + BurnAsset: sts.array(() => V3MultiAsset), + BuyExecution: sts.enumStruct({ + fees: V3MultiAsset, + weightLimit: V3WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + ticket: V3MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + ClearTopic: sts.unit(), + ClearTransactStatus: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + beneficiary: V3MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + DescendOrigin: V3Junctions, + ExchangeAsset: sts.enumStruct({ + give: V3MultiAssetFilter, + want: sts.array(() => V3MultiAsset), + maximal: sts.boolean(), + }), + ExpectAsset: sts.array(() => V3MultiAsset), + ExpectError: sts.option(() => sts.tuple(() => [sts.number(), V3Error])), + ExpectOrigin: sts.option(() => V3MultiLocation), + ExpectPallet: sts.enumStruct({ + index: sts.number(), + name: sts.bytes(), + moduleName: sts.bytes(), + crateMajor: sts.number(), + minCrateMinor: sts.number(), + }), + ExpectTransactStatus: V3MaybeErrorCode, + ExportMessage: sts.enumStruct({ + network: V3NetworkId, + destination: V3Junctions, + xcm: sts.array(() => V3Instruction), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V3MultiAssetFilter, + reserve: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V3MultiAssetFilter, + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + LockAsset: sts.enumStruct({ + asset: V3MultiAsset, + unlocker: V3MultiLocation, + }), + NoteUnlockable: sts.enumStruct({ + asset: V3MultiAsset, + owner: V3MultiLocation, + }), + QueryPallet: sts.enumStruct({ + moduleName: sts.bytes(), + responseInfo: V3QueryResponseInfo, + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V3Response, + maxWeight: Weight, + querier: sts.option(() => V3MultiLocation), + }), + ReceiveTeleportedAsset: sts.array(() => V3MultiAsset), + RefundSurplus: sts.unit(), + ReportError: V3QueryResponseInfo, + ReportHolding: sts.enumStruct({ + responseInfo: V3QueryResponseInfo, + assets: V3MultiAssetFilter, + }), + ReportTransactStatus: V3QueryResponseInfo, + RequestUnlock: sts.enumStruct({ + asset: V3MultiAsset, + locker: V3MultiLocation, + }), + ReserveAssetDeposited: sts.array(() => V3MultiAsset), + SetAppendix: sts.array(() => Type_446), + SetErrorHandler: sts.array(() => Type_446), + SetFeesMode: sts.enumStruct({ + jitWithdraw: sts.boolean(), + }), + SetTopic: sts.bytes(), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: Weight, + }), + Transact: sts.enumStruct({ + originKind: V3OriginKind, + requireWeightAtMost: Weight, + call: Type_443, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + beneficiary: V3MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V3MultiAsset), + dest: V3MultiLocation, + xcm: sts.array(() => V3Instruction), + }), + Trap: sts.bigint(), + UniversalOrigin: V3Junction, + UnlockAsset: sts.enumStruct({ + asset: V3MultiAsset, + target: V3MultiLocation, + }), + UnpaidExecution: sts.enumStruct({ + weightLimit: V3WeightLimit, + checkOrigin: sts.option(() => V3MultiLocation), + }), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V3MultiAsset), + } +}) + +export type Type_446 = Type_446_AliasOrigin | Type_446_BurnAsset | Type_446_BuyExecution | Type_446_ClaimAsset | Type_446_ClearError | Type_446_ClearOrigin | Type_446_ClearTopic | Type_446_ClearTransactStatus | Type_446_DepositAsset | Type_446_DepositReserveAsset | Type_446_DescendOrigin | Type_446_ExchangeAsset | Type_446_ExpectAsset | Type_446_ExpectError | Type_446_ExpectOrigin | Type_446_ExpectPallet | Type_446_ExpectTransactStatus | Type_446_ExportMessage | Type_446_HrmpChannelAccepted | Type_446_HrmpChannelClosing | Type_446_HrmpNewChannelOpenRequest | Type_446_InitiateReserveWithdraw | Type_446_InitiateTeleport | Type_446_LockAsset | Type_446_NoteUnlockable | Type_446_QueryPallet | Type_446_QueryResponse | Type_446_ReceiveTeleportedAsset | Type_446_RefundSurplus | Type_446_ReportError | Type_446_ReportHolding | Type_446_ReportTransactStatus | Type_446_RequestUnlock | Type_446_ReserveAssetDeposited | Type_446_SetAppendix | Type_446_SetErrorHandler | Type_446_SetFeesMode | Type_446_SetTopic | Type_446_SubscribeVersion | Type_446_Transact | Type_446_TransferAsset | Type_446_TransferReserveAsset | Type_446_Trap | Type_446_UniversalOrigin | Type_446_UnlockAsset | Type_446_UnpaidExecution | Type_446_UnsubscribeVersion | Type_446_WithdrawAsset + +export interface Type_446_AliasOrigin { + __kind: 'AliasOrigin' + value: V3MultiLocation +} + +export interface Type_446_BurnAsset { + __kind: 'BurnAsset' + value: V3MultiAsset[] +} + +export interface Type_446_BuyExecution { + __kind: 'BuyExecution' + fees: V3MultiAsset + weightLimit: V3WeightLimit +} + +export interface Type_446_ClaimAsset { + __kind: 'ClaimAsset' + assets: V3MultiAsset[] + ticket: V3MultiLocation +} + +export interface Type_446_ClearError { + __kind: 'ClearError' +} + +export interface Type_446_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_446_ClearTopic { + __kind: 'ClearTopic' +} + +export interface Type_446_ClearTransactStatus { + __kind: 'ClearTransactStatus' +} + +export interface Type_446_DepositAsset { + __kind: 'DepositAsset' + assets: V3MultiAssetFilter + beneficiary: V3MultiLocation +} + +export interface Type_446_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_446_DescendOrigin { + __kind: 'DescendOrigin' + value: V3Junctions +} + +export interface Type_446_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V3MultiAssetFilter + want: V3MultiAsset[] + maximal: boolean +} + +export interface Type_446_ExpectAsset { + __kind: 'ExpectAsset' + value: V3MultiAsset[] +} + +export interface Type_446_ExpectError { + __kind: 'ExpectError' + value?: ([number, V3Error] | undefined) +} + +export interface Type_446_ExpectOrigin { + __kind: 'ExpectOrigin' + value?: (V3MultiLocation | undefined) +} + +export interface Type_446_ExpectPallet { + __kind: 'ExpectPallet' + index: number + name: Bytes + moduleName: Bytes + crateMajor: number + minCrateMinor: number +} + +export interface Type_446_ExpectTransactStatus { + __kind: 'ExpectTransactStatus' + value: V3MaybeErrorCode +} + +export interface Type_446_ExportMessage { + __kind: 'ExportMessage' + network: V3NetworkId + destination: V3Junctions + xcm: V3Instruction[] +} + +export interface Type_446_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_446_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_446_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_446_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V3MultiAssetFilter + reserve: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_446_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V3MultiAssetFilter + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_446_LockAsset { + __kind: 'LockAsset' + asset: V3MultiAsset + unlocker: V3MultiLocation +} + +export interface Type_446_NoteUnlockable { + __kind: 'NoteUnlockable' + asset: V3MultiAsset + owner: V3MultiLocation +} + +export interface Type_446_QueryPallet { + __kind: 'QueryPallet' + moduleName: Bytes + responseInfo: V3QueryResponseInfo +} + +export interface Type_446_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V3Response + maxWeight: Weight + querier?: (V3MultiLocation | undefined) +} + +export interface Type_446_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V3MultiAsset[] +} + +export interface Type_446_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_446_ReportError { + __kind: 'ReportError' + value: V3QueryResponseInfo +} + +export interface Type_446_ReportHolding { + __kind: 'ReportHolding' + responseInfo: V3QueryResponseInfo + assets: V3MultiAssetFilter +} + +export interface Type_446_ReportTransactStatus { + __kind: 'ReportTransactStatus' + value: V3QueryResponseInfo +} + +export interface Type_446_RequestUnlock { + __kind: 'RequestUnlock' + asset: V3MultiAsset + locker: V3MultiLocation +} + +export interface Type_446_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V3MultiAsset[] +} + +export interface Type_446_SetAppendix { + __kind: 'SetAppendix' + value: Type_446[] +} + +export interface Type_446_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_446[] +} + +export interface Type_446_SetFeesMode { + __kind: 'SetFeesMode' + jitWithdraw: boolean +} + +export interface Type_446_SetTopic { + __kind: 'SetTopic' + value: Bytes +} + +export interface Type_446_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: Weight +} + +export interface Type_446_Transact { + __kind: 'Transact' + originKind: V3OriginKind + requireWeightAtMost: Weight + call: Type_443 +} + +export interface Type_446_TransferAsset { + __kind: 'TransferAsset' + assets: V3MultiAsset[] + beneficiary: V3MultiLocation +} + +export interface Type_446_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V3MultiAsset[] + dest: V3MultiLocation + xcm: V3Instruction[] +} + +export interface Type_446_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_446_UniversalOrigin { + __kind: 'UniversalOrigin' + value: V3Junction +} + +export interface Type_446_UnlockAsset { + __kind: 'UnlockAsset' + asset: V3MultiAsset + target: V3MultiLocation +} + +export interface Type_446_UnpaidExecution { + __kind: 'UnpaidExecution' + weightLimit: V3WeightLimit + checkOrigin?: (V3MultiLocation | undefined) +} + +export interface Type_446_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_446_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V3MultiAsset[] +} + +export const Type_442: sts.Type = sts.closedEnum(() => { + return { + BuyExecution: sts.enumStruct({ + fees: V2MultiAsset, + weightLimit: V2WeightLimit, + }), + ClaimAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + ticket: V2MultiLocation, + }), + ClearError: sts.unit(), + ClearOrigin: sts.unit(), + DepositAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + beneficiary: V2MultiLocation, + }), + DepositReserveAsset: sts.enumStruct({ + assets: V2MultiAssetFilter, + maxAssets: sts.number(), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + DescendOrigin: V2Junctions, + ExchangeAsset: sts.enumStruct({ + give: V2MultiAssetFilter, + receive: sts.array(() => V2MultiAsset), + }), + HrmpChannelAccepted: sts.enumStruct({ + recipient: sts.number(), + }), + HrmpChannelClosing: sts.enumStruct({ + initiator: sts.number(), + sender: sts.number(), + recipient: sts.number(), + }), + HrmpNewChannelOpenRequest: sts.enumStruct({ + sender: sts.number(), + maxMessageSize: sts.number(), + maxCapacity: sts.number(), + }), + InitiateReserveWithdraw: sts.enumStruct({ + assets: V2MultiAssetFilter, + reserve: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + InitiateTeleport: sts.enumStruct({ + assets: V2MultiAssetFilter, + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + QueryHolding: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + assets: V2MultiAssetFilter, + maxResponseWeight: sts.bigint(), + }), + QueryResponse: sts.enumStruct({ + queryId: sts.bigint(), + response: V2Response, + maxWeight: sts.bigint(), + }), + ReceiveTeleportedAsset: sts.array(() => V2MultiAsset), + RefundSurplus: sts.unit(), + ReportError: sts.enumStruct({ + queryId: sts.bigint(), + dest: V2MultiLocation, + maxResponseWeight: sts.bigint(), + }), + ReserveAssetDeposited: sts.array(() => V2MultiAsset), + SetAppendix: sts.array(() => Type_442), + SetErrorHandler: sts.array(() => Type_442), + SubscribeVersion: sts.enumStruct({ + queryId: sts.bigint(), + maxResponseWeight: sts.bigint(), + }), + Transact: sts.enumStruct({ + originType: V2OriginKind, + requireWeightAtMost: sts.bigint(), + call: Type_443, + }), + TransferAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + beneficiary: V2MultiLocation, + }), + TransferReserveAsset: sts.enumStruct({ + assets: sts.array(() => V2MultiAsset), + dest: V2MultiLocation, + xcm: sts.array(() => V2Instruction), + }), + Trap: sts.bigint(), + UnsubscribeVersion: sts.unit(), + WithdrawAsset: sts.array(() => V2MultiAsset), + } +}) + +export type Type_442 = Type_442_BuyExecution | Type_442_ClaimAsset | Type_442_ClearError | Type_442_ClearOrigin | Type_442_DepositAsset | Type_442_DepositReserveAsset | Type_442_DescendOrigin | Type_442_ExchangeAsset | Type_442_HrmpChannelAccepted | Type_442_HrmpChannelClosing | Type_442_HrmpNewChannelOpenRequest | Type_442_InitiateReserveWithdraw | Type_442_InitiateTeleport | Type_442_QueryHolding | Type_442_QueryResponse | Type_442_ReceiveTeleportedAsset | Type_442_RefundSurplus | Type_442_ReportError | Type_442_ReserveAssetDeposited | Type_442_SetAppendix | Type_442_SetErrorHandler | Type_442_SubscribeVersion | Type_442_Transact | Type_442_TransferAsset | Type_442_TransferReserveAsset | Type_442_Trap | Type_442_UnsubscribeVersion | Type_442_WithdrawAsset + +export interface Type_442_BuyExecution { + __kind: 'BuyExecution' + fees: V2MultiAsset + weightLimit: V2WeightLimit +} + +export interface Type_442_ClaimAsset { + __kind: 'ClaimAsset' + assets: V2MultiAsset[] + ticket: V2MultiLocation +} + +export interface Type_442_ClearError { + __kind: 'ClearError' +} + +export interface Type_442_ClearOrigin { + __kind: 'ClearOrigin' +} + +export interface Type_442_DepositAsset { + __kind: 'DepositAsset' + assets: V2MultiAssetFilter + maxAssets: number + beneficiary: V2MultiLocation +} + +export interface Type_442_DepositReserveAsset { + __kind: 'DepositReserveAsset' + assets: V2MultiAssetFilter + maxAssets: number + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_442_DescendOrigin { + __kind: 'DescendOrigin' + value: V2Junctions +} + +export interface Type_442_ExchangeAsset { + __kind: 'ExchangeAsset' + give: V2MultiAssetFilter + receive: V2MultiAsset[] +} + +export interface Type_442_HrmpChannelAccepted { + __kind: 'HrmpChannelAccepted' + recipient: number +} + +export interface Type_442_HrmpChannelClosing { + __kind: 'HrmpChannelClosing' + initiator: number + sender: number + recipient: number +} + +export interface Type_442_HrmpNewChannelOpenRequest { + __kind: 'HrmpNewChannelOpenRequest' + sender: number + maxMessageSize: number + maxCapacity: number +} + +export interface Type_442_InitiateReserveWithdraw { + __kind: 'InitiateReserveWithdraw' + assets: V2MultiAssetFilter + reserve: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_442_InitiateTeleport { + __kind: 'InitiateTeleport' + assets: V2MultiAssetFilter + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_442_QueryHolding { + __kind: 'QueryHolding' + queryId: bigint + dest: V2MultiLocation + assets: V2MultiAssetFilter + maxResponseWeight: bigint +} + +export interface Type_442_QueryResponse { + __kind: 'QueryResponse' + queryId: bigint + response: V2Response + maxWeight: bigint +} + +export interface Type_442_ReceiveTeleportedAsset { + __kind: 'ReceiveTeleportedAsset' + value: V2MultiAsset[] +} + +export interface Type_442_RefundSurplus { + __kind: 'RefundSurplus' +} + +export interface Type_442_ReportError { + __kind: 'ReportError' + queryId: bigint + dest: V2MultiLocation + maxResponseWeight: bigint +} + +export interface Type_442_ReserveAssetDeposited { + __kind: 'ReserveAssetDeposited' + value: V2MultiAsset[] +} + +export interface Type_442_SetAppendix { + __kind: 'SetAppendix' + value: Type_442[] +} + +export interface Type_442_SetErrorHandler { + __kind: 'SetErrorHandler' + value: Type_442[] +} + +export interface Type_442_SubscribeVersion { + __kind: 'SubscribeVersion' + queryId: bigint + maxResponseWeight: bigint +} + +export interface Type_442_Transact { + __kind: 'Transact' + originType: V2OriginKind + requireWeightAtMost: bigint + call: Type_443 +} + +export interface Type_442_TransferAsset { + __kind: 'TransferAsset' + assets: V2MultiAsset[] + beneficiary: V2MultiLocation +} + +export interface Type_442_TransferReserveAsset { + __kind: 'TransferReserveAsset' + assets: V2MultiAsset[] + dest: V2MultiLocation + xcm: V2Instruction[] +} + +export interface Type_442_Trap { + __kind: 'Trap' + value: bigint +} + +export interface Type_442_UnsubscribeVersion { + __kind: 'UnsubscribeVersion' +} + +export interface Type_442_WithdrawAsset { + __kind: 'WithdrawAsset' + value: V2MultiAsset[] +} + +export type Type_439 = Type_439_V2 | Type_439_V3 | Type_439_V4 + +export interface Type_439_V2 { + __kind: 'V2' + value: Type_442[] +} + +export interface Type_439_V3 { + __kind: 'V3' + value: Type_446[] +} + +export interface Type_439_V4 { + __kind: 'V4' + value: Type_449[] +} + +export const VersionedLocation: sts.Type = sts.closedEnum(() => { + return { + V2: V2MultiLocation, + V3: V3MultiLocation, + V4: V4Location, + } +}) + +export const VersionedAssets: sts.Type = sts.closedEnum(() => { + return { + V2: sts.array(() => V2MultiAsset), + V3: sts.array(() => V3MultiAsset), + V4: sts.array(() => V4Asset), + } +}) + +export type VersionedAssets = VersionedAssets_V2 | VersionedAssets_V3 | VersionedAssets_V4 + +export interface VersionedAssets_V2 { + __kind: 'V2' + value: V2MultiAsset[] +} + +export interface VersionedAssets_V3 { + __kind: 'V3' + value: V3MultiAsset[] +} + +export interface VersionedAssets_V4 { + __kind: 'V4' + value: V4Asset[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type XcmPalletCall = XcmPalletCall_claim_assets | XcmPalletCall_execute | XcmPalletCall_force_default_xcm_version | XcmPalletCall_force_subscribe_version_notify | XcmPalletCall_force_suspension | XcmPalletCall_force_unsubscribe_version_notify | XcmPalletCall_force_xcm_version | XcmPalletCall_limited_reserve_transfer_assets | XcmPalletCall_limited_teleport_assets | XcmPalletCall_reserve_transfer_assets | XcmPalletCall_send | XcmPalletCall_teleport_assets | XcmPalletCall_transfer_assets | XcmPalletCall_transfer_assets_using_type_and_then + +/** + * Claims assets trapped on this pallet because of leftover assets during XCM execution. + * + * - `origin`: Anyone can call this extrinsic. + * - `assets`: The exact assets that were trapped. Use the version to specify what version + * was the latest when they were trapped. + * - `beneficiary`: The location/account where the claimed assets will be deposited. + */ +export interface XcmPalletCall_claim_assets { + __kind: 'claim_assets' + assets: VersionedAssets + beneficiary: VersionedLocation +} + +/** + * Execute an XCM message from a local, signed, origin. + * + * An event is deposited indicating whether `msg` could be executed completely or only + * partially. + * + * No more than `max_weight` will be used in its attempted execution. If this is less than + * the maximum amount of weight that the message could take to be executed, then no + * execution attempt will be made. + */ +export interface XcmPalletCall_execute { + __kind: 'execute' + message: Type_439 + maxWeight: Weight +} + +/** + * Set a safe XCM version (the version that XCM should be encoded with if the most recent + * version a destination can accept is unknown). + * + * - `origin`: Must be an origin specified by AdminOrigin. + * - `maybe_xcm_version`: The default XCM encoding version, or `None` to disable. + */ +export interface XcmPalletCall_force_default_xcm_version { + __kind: 'force_default_xcm_version' + maybeXcmVersion?: (number | undefined) +} + +/** + * Ask a location to notify us regarding their XCM version and any changes to it. + * + * - `origin`: Must be an origin specified by AdminOrigin. + * - `location`: The location to which we should subscribe for XCM version notifications. + */ +export interface XcmPalletCall_force_subscribe_version_notify { + __kind: 'force_subscribe_version_notify' + location: VersionedLocation +} + +/** + * Set or unset the global suspension state of the XCM executor. + * + * - `origin`: Must be an origin specified by AdminOrigin. + * - `suspended`: `true` to suspend, `false` to resume. + */ +export interface XcmPalletCall_force_suspension { + __kind: 'force_suspension' + suspended: boolean +} + +/** + * Require that a particular destination should no longer notify us regarding any XCM + * version changes. + * + * - `origin`: Must be an origin specified by AdminOrigin. + * - `location`: The location to which we are currently subscribed for XCM version + * notifications which we no longer desire. + */ +export interface XcmPalletCall_force_unsubscribe_version_notify { + __kind: 'force_unsubscribe_version_notify' + location: VersionedLocation +} + +/** + * Extoll that a particular destination can be communicated with through a particular + * version of XCM. + * + * - `origin`: Must be an origin specified by AdminOrigin. + * - `location`: The destination that is being described. + * - `xcm_version`: The latest version of XCM that `location` supports. + */ +export interface XcmPalletCall_force_xcm_version { + __kind: 'force_xcm_version' + location: V4Location + version: number +} + +/** + * Transfer some assets from the local chain to the destination chain through their local, + * destination or remote reserve. + * + * `assets` must have same reserve location and may not be teleportable to `dest`. + * - `assets` have local reserve: transfer assets to sovereign account of destination + * chain and forward a notification XCM to `dest` to mint and deposit reserve-based + * assets to `beneficiary`. + * - `assets` have destination reserve: burn local assets and forward a notification to + * `dest` chain to withdraw the reserve assets from this chain's sovereign account and + * deposit them to `beneficiary`. + * - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move + * reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest` + * to mint and deposit reserve-based assets to `beneficiary`. + * + * Fee payment on the destination side is made from the asset in the `assets` vector of + * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight + * is needed than `weight_limit`, then the operation will fail and the sent assets may be + * at risk. + * + * - `origin`: Must be capable of withdrawing the `assets` and executing XCM. + * - `dest`: Destination context for the assets. Will typically be `[Parent, + * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from + * relay to parachain. + * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will + * generally be an `AccountId32` value. + * - `assets`: The assets to be withdrawn. This should include the assets used to pay the + * fee on the `dest` (and possibly reserve) chains. + * - `fee_asset_item`: The index into `assets` of the item which should be used to pay + * fees. + * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase. + */ +export interface XcmPalletCall_limited_reserve_transfer_assets { + __kind: 'limited_reserve_transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * Teleport some assets from the local chain to some destination chain. + * + * Fee payment on the destination side is made from the asset in the `assets` vector of + * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight + * is needed than `weight_limit`, then the operation will fail and the sent assets may be + * at risk. + * + * - `origin`: Must be capable of withdrawing the `assets` and executing XCM. + * - `dest`: Destination context for the assets. Will typically be `[Parent, + * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from + * relay to parachain. + * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will + * generally be an `AccountId32` value. + * - `assets`: The assets to be withdrawn. This should include the assets used to pay the + * fee on the `dest` chain. + * - `fee_asset_item`: The index into `assets` of the item which should be used to pay + * fees. + * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase. + */ +export interface XcmPalletCall_limited_teleport_assets { + __kind: 'limited_teleport_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * Transfer some assets from the local chain to the destination chain through their local, + * destination or remote reserve. + * + * `assets` must have same reserve location and may not be teleportable to `dest`. + * - `assets` have local reserve: transfer assets to sovereign account of destination + * chain and forward a notification XCM to `dest` to mint and deposit reserve-based + * assets to `beneficiary`. + * - `assets` have destination reserve: burn local assets and forward a notification to + * `dest` chain to withdraw the reserve assets from this chain's sovereign account and + * deposit them to `beneficiary`. + * - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move + * reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest` + * to mint and deposit reserve-based assets to `beneficiary`. + * + * **This function is deprecated: Use `limited_reserve_transfer_assets` instead.** + * + * Fee payment on the destination side is made from the asset in the `assets` vector of + * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited, + * with all fees taken as needed from the asset. + * + * - `origin`: Must be capable of withdrawing the `assets` and executing XCM. + * - `dest`: Destination context for the assets. Will typically be `[Parent, + * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from + * relay to parachain. + * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will + * generally be an `AccountId32` value. + * - `assets`: The assets to be withdrawn. This should include the assets used to pay the + * fee on the `dest` (and possibly reserve) chains. + * - `fee_asset_item`: The index into `assets` of the item which should be used to pay + * fees. + */ +export interface XcmPalletCall_reserve_transfer_assets { + __kind: 'reserve_transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number +} + +export interface XcmPalletCall_send { + __kind: 'send' + dest: VersionedLocation + message: VersionedXcm +} + +/** + * Teleport some assets from the local chain to some destination chain. + * + * **This function is deprecated: Use `limited_teleport_assets` instead.** + * + * Fee payment on the destination side is made from the asset in the `assets` vector of + * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited, + * with all fees taken as needed from the asset. + * + * - `origin`: Must be capable of withdrawing the `assets` and executing XCM. + * - `dest`: Destination context for the assets. Will typically be `[Parent, + * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from + * relay to parachain. + * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will + * generally be an `AccountId32` value. + * - `assets`: The assets to be withdrawn. This should include the assets used to pay the + * fee on the `dest` chain. + * - `fee_asset_item`: The index into `assets` of the item which should be used to pay + * fees. + */ +export interface XcmPalletCall_teleport_assets { + __kind: 'teleport_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number +} + +/** + * Transfer some assets from the local chain to the destination chain through their local, + * destination or remote reserve, or through teleports. + * + * Fee payment on the destination side is made from the asset in the `assets` vector of + * index `fee_asset_item` (hence referred to as `fees`), up to enough to pay for + * `weight_limit` of weight. If more weight is needed than `weight_limit`, then the + * operation will fail and the sent assets may be at risk. + * + * `assets` (excluding `fees`) must have same reserve location or otherwise be teleportable + * to `dest`, no limitations imposed on `fees`. + * - for local reserve: transfer assets to sovereign account of destination chain and + * forward a notification XCM to `dest` to mint and deposit reserve-based assets to + * `beneficiary`. + * - for destination reserve: burn local assets and forward a notification to `dest` chain + * to withdraw the reserve assets from this chain's sovereign account and deposit them + * to `beneficiary`. + * - for remote reserve: burn local assets, forward XCM to reserve chain to move reserves + * from this chain's SA to `dest` chain's SA, and forward another XCM to `dest` to mint + * and deposit reserve-based assets to `beneficiary`. + * - for teleports: burn local assets and forward XCM to `dest` chain to mint/teleport + * assets and deposit them to `beneficiary`. + * + * - `origin`: Must be capable of withdrawing the `assets` and executing XCM. + * - `dest`: Destination context for the assets. Will typically be `X2(Parent, + * Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send + * from relay to parachain. + * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will + * generally be an `AccountId32` value. + * - `assets`: The assets to be withdrawn. This should include the assets used to pay the + * fee on the `dest` (and possibly reserve) chains. + * - `fee_asset_item`: The index into `assets` of the item which should be used to pay + * fees. + * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase. + */ +export interface XcmPalletCall_transfer_assets { + __kind: 'transfer_assets' + dest: VersionedLocation + beneficiary: VersionedLocation + assets: VersionedAssets + feeAssetItem: number + weightLimit: V3WeightLimit +} + +/** + * Transfer assets from the local chain to the destination chain using explicit transfer + * types for assets and fees. + * + * `assets` must have same reserve location or may be teleportable to `dest`. Caller must + * provide the `assets_transfer_type` to be used for `assets`: + * - `TransferType::LocalReserve`: transfer assets to sovereign account of destination + * chain and forward a notification XCM to `dest` to mint and deposit reserve-based + * assets to `beneficiary`. + * - `TransferType::DestinationReserve`: burn local assets and forward a notification to + * `dest` chain to withdraw the reserve assets from this chain's sovereign account and + * deposit them to `beneficiary`. + * - `TransferType::RemoteReserve(reserve)`: burn local assets, forward XCM to `reserve` + * chain to move reserves from this chain's SA to `dest` chain's SA, and forward another + * XCM to `dest` to mint and deposit reserve-based assets to `beneficiary`. Typically + * the remote `reserve` is Asset Hub. + * - `TransferType::Teleport`: burn local assets and forward XCM to `dest` chain to + * mint/teleport assets and deposit them to `beneficiary`. + * + * On the destination chain, as well as any intermediary hops, `BuyExecution` is used to + * buy execution using transferred `assets` identified by `remote_fees_id`. + * Make sure enough of the specified `remote_fees_id` asset is included in the given list + * of `assets`. `remote_fees_id` should be enough to pay for `weight_limit`. If more weight + * is needed than `weight_limit`, then the operation will fail and the sent assets may be + * at risk. + * + * `remote_fees_id` may use different transfer type than rest of `assets` and can be + * specified through `fees_transfer_type`. + * + * The caller needs to specify what should happen to the transferred assets once they reach + * the `dest` chain. This is done through the `custom_xcm_on_dest` parameter, which + * contains the instructions to execute on `dest` as a final step. + * This is usually as simple as: + * `Xcm(vec![DepositAsset { assets: Wild(AllCounted(assets.len())), beneficiary }])`, + * but could be something more exotic like sending the `assets` even further. + * + * - `origin`: Must be capable of withdrawing the `assets` and executing XCM. + * - `dest`: Destination context for the assets. Will typically be `[Parent, + * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from + * relay to parachain, or `(parents: 2, (GlobalConsensus(..), ..))` to send from + * parachain across a bridge to another ecosystem destination. + * - `assets`: The assets to be withdrawn. This should include the assets used to pay the + * fee on the `dest` (and possibly reserve) chains. + * - `assets_transfer_type`: The XCM `TransferType` used to transfer the `assets`. + * - `remote_fees_id`: One of the included `assets` to be used to pay fees. + * - `fees_transfer_type`: The XCM `TransferType` used to transfer the `fees` assets. + * - `custom_xcm_on_dest`: The XCM to be executed on `dest` chain as the last step of the + * transfer, which also determines what happens to the assets on the destination chain. + * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase. + */ +export interface XcmPalletCall_transfer_assets_using_type_and_then { + __kind: 'transfer_assets_using_type_and_then' + dest: VersionedLocation + assets: VersionedAssets + assetsTransferType: TransferType + remoteFeesId: VersionedAssetId + feesTransferType: TransferType + customXcmOnDest: VersionedXcm + weightLimit: V3WeightLimit +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const WhitelistCall: sts.Type = sts.closedEnum(() => { + return { + dispatch_whitelisted_call: sts.enumStruct({ + callHash: H256, + callEncodedLen: sts.number(), + callWeightWitness: Weight, + }), + dispatch_whitelisted_call_with_preimage: sts.enumStruct({ + call: Call, + }), + remove_whitelisted_call: sts.enumStruct({ + callHash: H256, + }), + whitelist_call: sts.enumStruct({ + callHash: H256, + }), + } +}) + +export const H256 = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type WhitelistCall = WhitelistCall_dispatch_whitelisted_call | WhitelistCall_dispatch_whitelisted_call_with_preimage | WhitelistCall_remove_whitelisted_call | WhitelistCall_whitelist_call + +export interface WhitelistCall_dispatch_whitelisted_call { + __kind: 'dispatch_whitelisted_call' + callHash: H256 + callEncodedLen: number + callWeightWitness: Weight +} + +export interface WhitelistCall_dispatch_whitelisted_call_with_preimage { + __kind: 'dispatch_whitelisted_call_with_preimage' + call: Call +} + +export interface WhitelistCall_remove_whitelisted_call { + __kind: 'remove_whitelisted_call' + callHash: H256 +} + +export interface WhitelistCall_whitelist_call { + __kind: 'whitelist_call' + callHash: H256 +} + +export type H256 = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const VoterListCall: sts.Type = sts.closedEnum(() => { + return { + put_in_front_of: sts.enumStruct({ + lighter: MultiAddress, + }), + put_in_front_of_other: sts.enumStruct({ + heavier: MultiAddress, + lighter: MultiAddress, + }), + rebag: sts.enumStruct({ + dislocated: MultiAddress, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type VoterListCall = VoterListCall_put_in_front_of | VoterListCall_put_in_front_of_other | VoterListCall_rebag + +/** + * Move the caller's Id directly in front of `lighter`. + * + * The dispatch origin for this call must be _Signed_ and can only be called by the Id of + * the account going in front of `lighter`. Fee is payed by the origin under all + * circumstances. + * + * Only works if: + * + * - both nodes are within the same bag, + * - and `origin` has a greater `Score` than `lighter`. + */ +export interface VoterListCall_put_in_front_of { + __kind: 'put_in_front_of' + lighter: MultiAddress +} + +/** + * Same as [`Pallet::put_in_front_of`], but it can be called by anyone. + * + * Fee is paid by the origin under all circumstances. + */ +export interface VoterListCall_put_in_front_of_other { + __kind: 'put_in_front_of_other' + heavier: MultiAddress + lighter: MultiAddress +} + +/** + * Declare that some `dislocated` account has, through rewards or penalties, sufficiently + * changed its score that it should properly fall into a different bag than its current + * one. + * + * Anyone can call this function about any potentially dislocated account. + * + * Will always update the stored score of `dislocated` to the correct score, based on + * `ScoreProvider`. + * + * If `dislocated` does not exists, it returns an error. + */ +export interface VoterListCall_rebag { + __kind: 'rebag' + dislocated: MultiAddress +} + +export type MultiAddress = MultiAddress_Address20 | MultiAddress_Address32 | MultiAddress_Id | MultiAddress_Index | MultiAddress_Raw + +export interface MultiAddress_Address20 { + __kind: 'Address20' + value: Bytes +} + +export interface MultiAddress_Address32 { + __kind: 'Address32' + value: Bytes +} + +export interface MultiAddress_Id { + __kind: 'Id' + value: AccountId32 +} + +export interface MultiAddress_Index { + __kind: 'Index' +} + +export interface MultiAddress_Raw { + __kind: 'Raw' + value: Bytes +} + +export type AccountId32 = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const VestingCall: sts.Type = sts.closedEnum(() => { + return { + force_remove_vesting_schedule: sts.enumStruct({ + target: MultiAddress, + scheduleIndex: sts.number(), + }), + force_vested_transfer: sts.enumStruct({ + source: MultiAddress, + target: MultiAddress, + schedule: VestingInfo, + }), + merge_schedules: sts.enumStruct({ + schedule1Index: sts.number(), + schedule2Index: sts.number(), + }), + vest: sts.unit(), + vest_other: sts.enumStruct({ + target: MultiAddress, + }), + vested_transfer: sts.enumStruct({ + target: MultiAddress, + schedule: VestingInfo, + }), + } +}) + +export const VestingInfo: sts.Type = sts.struct(() => { + return { + locked: sts.bigint(), + perBlock: sts.bigint(), + startingBlock: sts.number(), + } +}) + +export interface VestingInfo { + locked: bigint + perBlock: bigint + startingBlock: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type VestingCall = VestingCall_force_remove_vesting_schedule | VestingCall_force_vested_transfer | VestingCall_merge_schedules | VestingCall_vest | VestingCall_vest_other | VestingCall_vested_transfer + +/** + * Force remove a vesting schedule + * + * The dispatch origin for this call must be _Root_. + * + * - `target`: An account that has a vesting schedule + * - `schedule_index`: The vesting schedule index that should be removed + */ +export interface VestingCall_force_remove_vesting_schedule { + __kind: 'force_remove_vesting_schedule' + target: MultiAddress + scheduleIndex: number +} + +/** + * Force a vested transfer. + * + * The dispatch origin for this call must be _Root_. + * + * - `source`: The account whose funds should be transferred. + * - `target`: The account that should be transferred the vested funds. + * - `schedule`: The vesting schedule attached to the transfer. + * + * Emits `VestingCreated`. + * + * NOTE: This will unlock all schedules through the current block. + * + * ## Complexity + * - `O(1)`. + */ +export interface VestingCall_force_vested_transfer { + __kind: 'force_vested_transfer' + source: MultiAddress + target: MultiAddress + schedule: VestingInfo +} + +/** + * Merge two vesting schedules together, creating a new vesting schedule that unlocks over + * the highest possible start and end blocks. If both schedules have already started the + * current block will be used as the schedule start; with the caveat that if one schedule + * is finished by the current block, the other will be treated as the new merged schedule, + * unmodified. + * + * NOTE: If `schedule1_index == schedule2_index` this is a no-op. + * NOTE: This will unlock all schedules through the current block prior to merging. + * NOTE: If both schedules have ended by the current block, no new schedule will be created + * and both will be removed. + * + * Merged schedule attributes: + * - `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block, + * current_block)`. + * - `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`. + * - `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`. + * + * The dispatch origin for this call must be _Signed_. + * + * - `schedule1_index`: index of the first schedule to merge. + * - `schedule2_index`: index of the second schedule to merge. + */ +export interface VestingCall_merge_schedules { + __kind: 'merge_schedules' + schedule1Index: number + schedule2Index: number +} + +/** + * Unlock any vested funds of the sender account. + * + * The dispatch origin for this call must be _Signed_ and the sender must have funds still + * locked under this pallet. + * + * Emits either `VestingCompleted` or `VestingUpdated`. + * + * ## Complexity + * - `O(1)`. + */ +export interface VestingCall_vest { + __kind: 'vest' +} + +/** + * Unlock any vested funds of a `target` account. + * + * The dispatch origin for this call must be _Signed_. + * + * - `target`: The account whose vested funds should be unlocked. Must have funds still + * locked under this pallet. + * + * Emits either `VestingCompleted` or `VestingUpdated`. + * + * ## Complexity + * - `O(1)`. + */ +export interface VestingCall_vest_other { + __kind: 'vest_other' + target: MultiAddress +} + +/** + * Create a vested transfer. + * + * The dispatch origin for this call must be _Signed_. + * + * - `target`: The account receiving the vested funds. + * - `schedule`: The vesting schedule attached to the transfer. + * + * Emits `VestingCreated`. + * + * NOTE: This will unlock all schedules through the current block. + * + * ## Complexity + * - `O(1)`. + */ +export interface VestingCall_vested_transfer { + __kind: 'vested_transfer' + target: MultiAddress + schedule: VestingInfo +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const UtilityCall: sts.Type = sts.closedEnum(() => { + return { + as_derivative: sts.enumStruct({ + index: sts.number(), + call: Call, + }), + batch: sts.enumStruct({ + calls: sts.array(() => Call), + }), + batch_all: sts.enumStruct({ + calls: sts.array(() => Call), + }), + dispatch_as: sts.enumStruct({ + asOrigin: OriginCaller, + call: Call, + }), + force_batch: sts.enumStruct({ + calls: sts.array(() => Call), + }), + with_weight: sts.enumStruct({ + call: Call, + weight: Weight, + }), + } +}) + +export const OriginCaller: sts.Type = sts.closedEnum(() => { + return { + Origins: Origin, + ParachainsOrigin: Type_153, + Void: Void, + XcmPallet: Type_155, + system: RawOrigin, + } +}) + +export const RawOrigin: sts.Type = sts.closedEnum(() => { + return { + None: sts.unit(), + Root: sts.unit(), + Signed: AccountId32, + } +}) + +export type RawOrigin = RawOrigin_None | RawOrigin_Root | RawOrigin_Signed + +export interface RawOrigin_None { + __kind: 'None' +} + +export interface RawOrigin_Root { + __kind: 'Root' +} + +export interface RawOrigin_Signed { + __kind: 'Signed' + value: AccountId32 +} + +export const Type_155: sts.Type = sts.closedEnum(() => { + return { + Response: V4Location, + Xcm: V4Location, + } +}) + +export type Type_155 = Type_155_Response | Type_155_Xcm + +export interface Type_155_Response { + __kind: 'Response' + value: V4Location +} + +export interface Type_155_Xcm { + __kind: 'Xcm' + value: V4Location +} + +export const Void: sts.Type = sts.closedEnum(() => { + return { + } +}) + +export type Void = never + +export const Type_153: sts.Type = sts.closedEnum(() => { + return { + Parachain: Id, + } +}) + +export const Id = sts.number() + +export type Type_153 = Type_153_Parachain + +export interface Type_153_Parachain { + __kind: 'Parachain' + value: Id +} + +export type Id = number + +export const Origin: sts.Type = sts.closedEnum(() => { + return { + AuctionAdmin: sts.unit(), + BigSpender: sts.unit(), + BigTipper: sts.unit(), + Fellows: sts.unit(), + Fellowship1Dan: sts.unit(), + Fellowship2Dan: sts.unit(), + Fellowship3Dan: sts.unit(), + Fellowship4Dan: sts.unit(), + Fellowship5Dan: sts.unit(), + Fellowship6Dan: sts.unit(), + Fellowship7Dan: sts.unit(), + Fellowship8Dan: sts.unit(), + Fellowship9Dan: sts.unit(), + FellowshipAdmin: sts.unit(), + FellowshipExperts: sts.unit(), + FellowshipInitiates: sts.unit(), + FellowshipMasters: sts.unit(), + GeneralAdmin: sts.unit(), + LeaseAdmin: sts.unit(), + MediumSpender: sts.unit(), + ReferendumCanceller: sts.unit(), + ReferendumKiller: sts.unit(), + SmallSpender: sts.unit(), + SmallTipper: sts.unit(), + StakingAdmin: sts.unit(), + Treasurer: sts.unit(), + WhitelistedCaller: sts.unit(), + WishForChange: sts.unit(), + } +}) + +export type Origin = Origin_AuctionAdmin | Origin_BigSpender | Origin_BigTipper | Origin_Fellows | Origin_Fellowship1Dan | Origin_Fellowship2Dan | Origin_Fellowship3Dan | Origin_Fellowship4Dan | Origin_Fellowship5Dan | Origin_Fellowship6Dan | Origin_Fellowship7Dan | Origin_Fellowship8Dan | Origin_Fellowship9Dan | Origin_FellowshipAdmin | Origin_FellowshipExperts | Origin_FellowshipInitiates | Origin_FellowshipMasters | Origin_GeneralAdmin | Origin_LeaseAdmin | Origin_MediumSpender | Origin_ReferendumCanceller | Origin_ReferendumKiller | Origin_SmallSpender | Origin_SmallTipper | Origin_StakingAdmin | Origin_Treasurer | Origin_WhitelistedCaller | Origin_WishForChange + +export interface Origin_AuctionAdmin { + __kind: 'AuctionAdmin' +} + +export interface Origin_BigSpender { + __kind: 'BigSpender' +} + +export interface Origin_BigTipper { + __kind: 'BigTipper' +} + +export interface Origin_Fellows { + __kind: 'Fellows' +} + +export interface Origin_Fellowship1Dan { + __kind: 'Fellowship1Dan' +} + +export interface Origin_Fellowship2Dan { + __kind: 'Fellowship2Dan' +} + +export interface Origin_Fellowship3Dan { + __kind: 'Fellowship3Dan' +} + +export interface Origin_Fellowship4Dan { + __kind: 'Fellowship4Dan' +} + +export interface Origin_Fellowship5Dan { + __kind: 'Fellowship5Dan' +} + +export interface Origin_Fellowship6Dan { + __kind: 'Fellowship6Dan' +} + +export interface Origin_Fellowship7Dan { + __kind: 'Fellowship7Dan' +} + +export interface Origin_Fellowship8Dan { + __kind: 'Fellowship8Dan' +} + +export interface Origin_Fellowship9Dan { + __kind: 'Fellowship9Dan' +} + +export interface Origin_FellowshipAdmin { + __kind: 'FellowshipAdmin' +} + +export interface Origin_FellowshipExperts { + __kind: 'FellowshipExperts' +} + +export interface Origin_FellowshipInitiates { + __kind: 'FellowshipInitiates' +} + +export interface Origin_FellowshipMasters { + __kind: 'FellowshipMasters' +} + +export interface Origin_GeneralAdmin { + __kind: 'GeneralAdmin' +} + +export interface Origin_LeaseAdmin { + __kind: 'LeaseAdmin' +} + +export interface Origin_MediumSpender { + __kind: 'MediumSpender' +} + +export interface Origin_ReferendumCanceller { + __kind: 'ReferendumCanceller' +} + +export interface Origin_ReferendumKiller { + __kind: 'ReferendumKiller' +} + +export interface Origin_SmallSpender { + __kind: 'SmallSpender' +} + +export interface Origin_SmallTipper { + __kind: 'SmallTipper' +} + +export interface Origin_StakingAdmin { + __kind: 'StakingAdmin' +} + +export interface Origin_Treasurer { + __kind: 'Treasurer' +} + +export interface Origin_WhitelistedCaller { + __kind: 'WhitelistedCaller' +} + +export interface Origin_WishForChange { + __kind: 'WishForChange' +} + +export type OriginCaller = OriginCaller_Origins | OriginCaller_ParachainsOrigin | OriginCaller_Void | OriginCaller_XcmPallet | OriginCaller_system + +export interface OriginCaller_Origins { + __kind: 'Origins' + value: Origin +} + +export interface OriginCaller_ParachainsOrigin { + __kind: 'ParachainsOrigin' + value: Type_153 +} + +export interface OriginCaller_Void { + __kind: 'Void' + value: Void +} + +export interface OriginCaller_XcmPallet { + __kind: 'XcmPallet' + value: Type_155 +} + +export interface OriginCaller_system { + __kind: 'system' + value: RawOrigin +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type UtilityCall = UtilityCall_as_derivative | UtilityCall_batch | UtilityCall_batch_all | UtilityCall_dispatch_as | UtilityCall_force_batch | UtilityCall_with_weight + +/** + * Send a call through an indexed pseudonym of the sender. + * + * Filter from origin are passed along. The call will be dispatched with an origin which + * use the same filter as the origin of this call. + * + * NOTE: If you need to ensure that any account-based filtering is not honored (i.e. + * because you expect `proxy` to have been used prior in the call stack and you do not want + * the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1` + * in the Multisig pallet instead. + * + * NOTE: Prior to version *12, this was called `as_limited_sub`. + * + * The dispatch origin for this call must be _Signed_. + */ +export interface UtilityCall_as_derivative { + __kind: 'as_derivative' + index: number + call: Call +} + +/** + * Send a batch of dispatch calls. + * + * May be called from any origin except `None`. + * + * - `calls`: The calls to be dispatched from the same origin. The number of call must not + * exceed the constant: `batched_calls_limit` (available in constant metadata). + * + * If origin is root then the calls are dispatched without checking origin filter. (This + * includes bypassing `frame_system::Config::BaseCallFilter`). + * + * ## Complexity + * - O(C) where C is the number of calls to be batched. + * + * This will return `Ok` in all circumstances. To determine the success of the batch, an + * event is deposited. If a call failed and the batch was interrupted, then the + * `BatchInterrupted` event is deposited, along with the number of successful calls made + * and the error of the failed call. If all were successful, then the `BatchCompleted` + * event is deposited. + */ +export interface UtilityCall_batch { + __kind: 'batch' + calls: Call[] +} + +/** + * Send a batch of dispatch calls and atomically execute them. + * The whole transaction will rollback and fail if any of the calls failed. + * + * May be called from any origin except `None`. + * + * - `calls`: The calls to be dispatched from the same origin. The number of call must not + * exceed the constant: `batched_calls_limit` (available in constant metadata). + * + * If origin is root then the calls are dispatched without checking origin filter. (This + * includes bypassing `frame_system::Config::BaseCallFilter`). + * + * ## Complexity + * - O(C) where C is the number of calls to be batched. + */ +export interface UtilityCall_batch_all { + __kind: 'batch_all' + calls: Call[] +} + +/** + * Dispatches a function call with a provided origin. + * + * The dispatch origin for this call must be _Root_. + * + * ## Complexity + * - O(1). + */ +export interface UtilityCall_dispatch_as { + __kind: 'dispatch_as' + asOrigin: OriginCaller + call: Call +} + +/** + * Send a batch of dispatch calls. + * Unlike `batch`, it allows errors and won't interrupt. + * + * May be called from any origin except `None`. + * + * - `calls`: The calls to be dispatched from the same origin. The number of call must not + * exceed the constant: `batched_calls_limit` (available in constant metadata). + * + * If origin is root then the calls are dispatch without checking origin filter. (This + * includes bypassing `frame_system::Config::BaseCallFilter`). + * + * ## Complexity + * - O(C) where C is the number of calls to be batched. + */ +export interface UtilityCall_force_batch { + __kind: 'force_batch' + calls: Call[] +} + +/** + * Dispatch a function call with a specified weight. + * + * This function does not check the weight of the call, and instead allows the + * Root origin to specify the weight of the call. + * + * The dispatch origin for this call must be _Root_. + */ +export interface UtilityCall_with_weight { + __kind: 'with_weight' + call: Call + weight: Weight +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const TreasuryCall: sts.Type = sts.closedEnum(() => { + return { + check_status: sts.enumStruct({ + index: sts.number(), + }), + payout: sts.enumStruct({ + index: sts.number(), + }), + remove_approval: sts.enumStruct({ + proposalId: sts.number(), + }), + spend: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + amount: sts.bigint(), + beneficiary: VersionedLocation, + validFrom: sts.option(() => sts.number()), + }), + spend_local: sts.enumStruct({ + amount: sts.bigint(), + beneficiary: MultiAddress, + }), + void_spend: sts.enumStruct({ + index: sts.number(), + }), + } +}) + +export const VersionedLocatableAsset: sts.Type = sts.closedEnum(() => { + return { + V3: sts.enumStruct({ + location: V3MultiLocation, + assetId: V3AssetId, + }), + V4: sts.enumStruct({ + location: V4Location, + assetId: V4AssetId, + }), + } +}) + +export type VersionedLocatableAsset = VersionedLocatableAsset_V3 | VersionedLocatableAsset_V4 + +export interface VersionedLocatableAsset_V3 { + __kind: 'V3' + location: V3MultiLocation + assetId: V3AssetId +} + +export interface VersionedLocatableAsset_V4 { + __kind: 'V4' + location: V4Location + assetId: V4AssetId +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type TreasuryCall = TreasuryCall_check_status | TreasuryCall_payout | TreasuryCall_remove_approval | TreasuryCall_spend | TreasuryCall_spend_local | TreasuryCall_void_spend + +/** + * Check the status of the spend and remove it from the storage if processed. + * + * ## Dispatch Origin + * + * Must be signed. + * + * ## Details + * + * The status check is a prerequisite for retrying a failed payout. + * If a spend has either succeeded or expired, it is removed from the storage by this + * function. In such instances, transaction fees are refunded. + * + * ### Parameters + * - `index`: The spend index. + * + * ## Events + * + * Emits [`Event::PaymentFailed`] if the spend payout has failed. + * Emits [`Event::SpendProcessed`] if the spend payout has succeed. + */ +export interface TreasuryCall_check_status { + __kind: 'check_status' + index: number +} + +/** + * Claim a spend. + * + * ## Dispatch Origin + * + * Must be signed + * + * ## Details + * + * Spends must be claimed within some temporal bounds. A spend may be claimed within one + * [`Config::PayoutPeriod`] from the `valid_from` block. + * In case of a payout failure, the spend status must be updated with the `check_status` + * dispatchable before retrying with the current function. + * + * ### Parameters + * - `index`: The spend index. + * + * ## Events + * + * Emits [`Event::Paid`] if successful. + */ +export interface TreasuryCall_payout { + __kind: 'payout' + index: number +} + +/** + * Force a previously approved proposal to be removed from the approval queue. + * + * ## Dispatch Origin + * + * Must be [`Config::RejectOrigin`]. + * + * ## Details + * + * The original deposit will no longer be returned. + * + * ### Parameters + * - `proposal_id`: The index of a proposal + * + * ### Complexity + * - O(A) where `A` is the number of approvals + * + * ### Errors + * - [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the + * approval queue, i.e., the proposal has not been approved. This could also mean the + * proposal does not exist altogether, thus there is no way it would have been approved + * in the first place. + */ +export interface TreasuryCall_remove_approval { + __kind: 'remove_approval' + proposalId: number +} + +/** + * Propose and approve a spend of treasury funds. + * + * ## Dispatch Origin + * + * Must be [`Config::SpendOrigin`] with the `Success` value being at least + * `amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted + * for assertion using the [`Config::BalanceConverter`]. + * + * ## Details + * + * Create an approved spend for transferring a specific `amount` of `asset_kind` to a + * designated beneficiary. The spend must be claimed using the `payout` dispatchable within + * the [`Config::PayoutPeriod`]. + * + * ### Parameters + * - `asset_kind`: An indicator of the specific asset class to be spent. + * - `amount`: The amount to be transferred from the treasury to the `beneficiary`. + * - `beneficiary`: The beneficiary of the spend. + * - `valid_from`: The block number from which the spend can be claimed. It can refer to + * the past if the resulting spend has not yet expired according to the + * [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after + * approval. + * + * ## Events + * + * Emits [`Event::AssetSpendApproved`] if successful. + */ +export interface TreasuryCall_spend { + __kind: 'spend' + assetKind: VersionedLocatableAsset + amount: bigint + beneficiary: VersionedLocation + validFrom?: (number | undefined) +} + +/** + * Propose and approve a spend of treasury funds. + * + * ## Dispatch Origin + * + * Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`. + * + * ### Details + * NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the + * beneficiary. + * + * ### Parameters + * - `amount`: The amount to be transferred from the treasury to the `beneficiary`. + * - `beneficiary`: The destination account for the transfer. + * + * ## Events + * + * Emits [`Event::SpendApproved`] if successful. + */ +export interface TreasuryCall_spend_local { + __kind: 'spend_local' + amount: bigint + beneficiary: MultiAddress +} + +/** + * Void previously approved spend. + * + * ## Dispatch Origin + * + * Must be [`Config::RejectOrigin`]. + * + * ## Details + * + * A spend void is only possible if the payout has not been attempted yet. + * + * ### Parameters + * - `index`: The spend index. + * + * ## Events + * + * Emits [`Event::AssetSpendVoided`] if successful. + */ +export interface TreasuryCall_void_spend { + __kind: 'void_spend' + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const TimestampCall: sts.Type = sts.closedEnum(() => { + return { + set: sts.enumStruct({ + now: sts.bigint(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type TimestampCall = TimestampCall_set + +/** + * Set the current time. + * + * This call should be invoked exactly once per block. It will panic at the finalization + * phase, if this call hasn't been invoked by that time. + * + * The timestamp should be greater than the previous one by the amount specified by + * [`Config::MinimumPeriod`]. + * + * The dispatch origin for this call must be _None_. + * + * This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware + * that changing the complexity of this call could result exhausting the resources in a + * block to execute any other calls. + * + * ## Complexity + * - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`) + * - 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in + * `on_finalize`) + * - 1 event handler `on_timestamp_set`. Must be `O(1)`. + */ +export interface TimestampCall_set { + __kind: 'set' + now: bigint +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SystemCall: sts.Type = sts.closedEnum(() => { + return { + apply_authorized_upgrade: sts.enumStruct({ + code: sts.bytes(), + }), + authorize_upgrade: sts.enumStruct({ + codeHash: H256, + }), + authorize_upgrade_without_checks: sts.enumStruct({ + codeHash: H256, + }), + kill_prefix: sts.enumStruct({ + prefix: sts.bytes(), + subkeys: sts.number(), + }), + kill_storage: sts.enumStruct({ + keys: sts.array(() => sts.bytes()), + }), + remark: sts.enumStruct({ + remark: sts.bytes(), + }), + remark_with_event: sts.enumStruct({ + remark: sts.bytes(), + }), + set_code: sts.enumStruct({ + code: sts.bytes(), + }), + set_code_without_checks: sts.enumStruct({ + code: sts.bytes(), + }), + set_heap_pages: sts.enumStruct({ + pages: sts.bigint(), + }), + set_storage: sts.enumStruct({ + items: sts.array(() => sts.tuple(() => [sts.bytes(), sts.bytes()])), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SystemCall = SystemCall_apply_authorized_upgrade | SystemCall_authorize_upgrade | SystemCall_authorize_upgrade_without_checks | SystemCall_kill_prefix | SystemCall_kill_storage | SystemCall_remark | SystemCall_remark_with_event | SystemCall_set_code | SystemCall_set_code_without_checks | SystemCall_set_heap_pages | SystemCall_set_storage + +/** + * Provide the preimage (runtime binary) `code` for an upgrade that has been authorized. + * + * If the authorization required a version check, this call will ensure the spec name + * remains unchanged and that the spec version has increased. + * + * Depending on the runtime's `OnSetCode` configuration, this function may directly apply + * the new `code` in the same block or attempt to schedule the upgrade. + * + * All origins are allowed. + */ +export interface SystemCall_apply_authorized_upgrade { + __kind: 'apply_authorized_upgrade' + code: Bytes +} + +/** + * Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied + * later. + * + * This call requires Root origin. + */ +export interface SystemCall_authorize_upgrade { + __kind: 'authorize_upgrade' + codeHash: H256 +} + +/** + * Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied + * later. + * + * WARNING: This authorizes an upgrade that will take place without any safety checks, for + * example that the spec name remains the same and that the version number increases. Not + * recommended for normal use. Use `authorize_upgrade` instead. + * + * This call requires Root origin. + */ +export interface SystemCall_authorize_upgrade_without_checks { + __kind: 'authorize_upgrade_without_checks' + codeHash: H256 +} + +/** + * Kill all storage items with a key that starts with the given prefix. + * + * **NOTE:** We rely on the Root origin to provide us the number of subkeys under + * the prefix we are removing to accurately calculate the weight of this function. + */ +export interface SystemCall_kill_prefix { + __kind: 'kill_prefix' + prefix: Bytes + subkeys: number +} + +/** + * Kill some items from storage. + */ +export interface SystemCall_kill_storage { + __kind: 'kill_storage' + keys: Bytes[] +} + +/** + * Make some on-chain remark. + * + * Can be executed by every `origin`. + */ +export interface SystemCall_remark { + __kind: 'remark' + remark: Bytes +} + +/** + * Make some on-chain remark and emit event. + */ +export interface SystemCall_remark_with_event { + __kind: 'remark_with_event' + remark: Bytes +} + +/** + * Set the new runtime code. + */ +export interface SystemCall_set_code { + __kind: 'set_code' + code: Bytes +} + +/** + * Set the new runtime code without doing any checks of the given `code`. + * + * Note that runtime upgrades will not run if this is called with a not-increasing spec + * version! + */ +export interface SystemCall_set_code_without_checks { + __kind: 'set_code_without_checks' + code: Bytes +} + +/** + * Set the number of pages in the WebAssembly environment's heap. + */ +export interface SystemCall_set_heap_pages { + __kind: 'set_heap_pages' + pages: bigint +} + +/** + * Set some items of storage. + */ +export interface SystemCall_set_storage { + __kind: 'set_storage' + items: [Bytes, Bytes][] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const StakingCall: sts.Type = sts.closedEnum(() => { + return { + bond: sts.enumStruct({ + value: sts.bigint(), + payee: RewardDestination, + }), + bond_extra: sts.enumStruct({ + maxAdditional: sts.bigint(), + }), + cancel_deferred_slash: sts.enumStruct({ + era: sts.number(), + slashIndices: sts.array(() => sts.number()), + }), + chill: sts.unit(), + chill_other: sts.enumStruct({ + stash: AccountId32, + }), + deprecate_controller_batch: sts.enumStruct({ + controllers: sts.array(() => AccountId32), + }), + force_apply_min_commission: sts.enumStruct({ + validatorStash: AccountId32, + }), + force_new_era: sts.unit(), + force_new_era_always: sts.unit(), + force_no_eras: sts.unit(), + force_unstake: sts.enumStruct({ + stash: AccountId32, + numSlashingSpans: sts.number(), + }), + increase_validator_count: sts.enumStruct({ + additional: sts.number(), + }), + kick: sts.enumStruct({ + who: sts.array(() => MultiAddress), + }), + nominate: sts.enumStruct({ + targets: sts.array(() => MultiAddress), + }), + payout_stakers: sts.enumStruct({ + validatorStash: AccountId32, + era: sts.number(), + }), + payout_stakers_by_page: sts.enumStruct({ + validatorStash: AccountId32, + era: sts.number(), + page: sts.number(), + }), + reap_stash: sts.enumStruct({ + stash: AccountId32, + numSlashingSpans: sts.number(), + }), + rebond: sts.enumStruct({ + value: sts.bigint(), + }), + restore_ledger: sts.enumStruct({ + stash: AccountId32, + maybeController: sts.option(() => AccountId32), + maybeTotal: sts.option(() => sts.bigint()), + maybeUnlocking: sts.option(() => sts.array(() => UnlockChunk)), + }), + scale_validator_count: sts.enumStruct({ + factor: Percent, + }), + set_controller: sts.unit(), + set_invulnerables: sts.enumStruct({ + invulnerables: sts.array(() => AccountId32), + }), + set_min_commission: sts.enumStruct({ + new: Perbill, + }), + set_payee: sts.enumStruct({ + payee: RewardDestination, + }), + set_staking_configs: sts.enumStruct({ + minNominatorBond: ConfigOp, + minValidatorBond: ConfigOp, + maxNominatorCount: Type_114, + maxValidatorCount: Type_114, + chillThreshold: Type_115, + minCommission: Type_116, + maxStakedRewards: Type_115, + }), + set_validator_count: sts.enumStruct({ + new: sts.number(), + }), + unbond: sts.enumStruct({ + value: sts.bigint(), + }), + update_payee: sts.enumStruct({ + controller: AccountId32, + }), + validate: sts.enumStruct({ + prefs: ValidatorPrefs, + }), + withdraw_unbonded: sts.enumStruct({ + numSlashingSpans: sts.number(), + }), + } +}) + +export const ValidatorPrefs: sts.Type = sts.struct(() => { + return { + commission: sts.number(), + blocked: sts.boolean(), + } +}) + +export interface ValidatorPrefs { + commission: number + blocked: boolean +} + +export const Type_116: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Perbill, + } +}) + +export type Type_116 = Type_116_Noop | Type_116_Remove | Type_116_Set + +export interface Type_116_Noop { + __kind: 'Noop' +} + +export interface Type_116_Remove { + __kind: 'Remove' +} + +export interface Type_116_Set { + __kind: 'Set' + value: Perbill +} + +export type Perbill = number + +export const Type_115: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Percent, + } +}) + +export type Type_115 = Type_115_Noop | Type_115_Remove | Type_115_Set + +export interface Type_115_Noop { + __kind: 'Noop' +} + +export interface Type_115_Remove { + __kind: 'Remove' +} + +export interface Type_115_Set { + __kind: 'Set' + value: Percent +} + +export type Percent = number + +export const Type_114: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.number(), + } +}) + +export type Type_114 = Type_114_Noop | Type_114_Remove | Type_114_Set + +export interface Type_114_Noop { + __kind: 'Noop' +} + +export interface Type_114_Remove { + __kind: 'Remove' +} + +export interface Type_114_Set { + __kind: 'Set' + value: number +} + +export const ConfigOp: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.bigint(), + } +}) + +export type ConfigOp = ConfigOp_Noop | ConfigOp_Remove | ConfigOp_Set + +export interface ConfigOp_Noop { + __kind: 'Noop' +} + +export interface ConfigOp_Remove { + __kind: 'Remove' +} + +export interface ConfigOp_Set { + __kind: 'Set' + value: bigint +} + +export const Perbill = sts.number() + +export const Percent = sts.number() + +export const UnlockChunk: sts.Type = sts.struct(() => { + return { + value: sts.bigint(), + era: sts.number(), + } +}) + +export interface UnlockChunk { + value: bigint + era: number +} + +export const RewardDestination: sts.Type = sts.closedEnum(() => { + return { + Account: AccountId32, + Controller: sts.unit(), + None: sts.unit(), + Staked: sts.unit(), + Stash: sts.unit(), + } +}) + +export type RewardDestination = RewardDestination_Account | RewardDestination_Controller | RewardDestination_None | RewardDestination_Staked | RewardDestination_Stash + +export interface RewardDestination_Account { + __kind: 'Account' + value: AccountId32 +} + +export interface RewardDestination_Controller { + __kind: 'Controller' +} + +export interface RewardDestination_None { + __kind: 'None' +} + +export interface RewardDestination_Staked { + __kind: 'Staked' +} + +export interface RewardDestination_Stash { + __kind: 'Stash' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type StakingCall = StakingCall_bond | StakingCall_bond_extra | StakingCall_cancel_deferred_slash | StakingCall_chill | StakingCall_chill_other | StakingCall_deprecate_controller_batch | StakingCall_force_apply_min_commission | StakingCall_force_new_era | StakingCall_force_new_era_always | StakingCall_force_no_eras | StakingCall_force_unstake | StakingCall_increase_validator_count | StakingCall_kick | StakingCall_nominate | StakingCall_payout_stakers | StakingCall_payout_stakers_by_page | StakingCall_reap_stash | StakingCall_rebond | StakingCall_restore_ledger | StakingCall_scale_validator_count | StakingCall_set_controller | StakingCall_set_invulnerables | StakingCall_set_min_commission | StakingCall_set_payee | StakingCall_set_staking_configs | StakingCall_set_validator_count | StakingCall_unbond | StakingCall_update_payee | StakingCall_validate | StakingCall_withdraw_unbonded + +/** + * Take the origin account as a stash and lock up `value` of its balance. `controller` will + * be the account that controls it. + * + * `value` must be more than the `minimum_balance` specified by `T::Currency`. + * + * The dispatch origin for this call must be _Signed_ by the stash account. + * + * Emits `Bonded`. + * ## Complexity + * - Independent of the arguments. Moderate complexity. + * - O(1). + * - Three extra DB entries. + * + * NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned + * unless the `origin` falls below _existential deposit_ (or equal to 0) and gets removed + * as dust. + */ +export interface StakingCall_bond { + __kind: 'bond' + value: bigint + payee: RewardDestination +} + +/** + * Add some extra amount that have appeared in the stash `free_balance` into the balance up + * for staking. + * + * The dispatch origin for this call must be _Signed_ by the stash, not the controller. + * + * Use this if there are additional funds in your stash account that you wish to bond. + * Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose + * any limitation on the amount that can be added. + * + * Emits `Bonded`. + * + * ## Complexity + * - Independent of the arguments. Insignificant complexity. + * - O(1). + */ +export interface StakingCall_bond_extra { + __kind: 'bond_extra' + maxAdditional: bigint +} + +/** + * Cancel enactment of a deferred slash. + * + * Can be called by the `T::AdminOrigin`. + * + * Parameters: era and indices of the slashes for that era to kill. + */ +export interface StakingCall_cancel_deferred_slash { + __kind: 'cancel_deferred_slash' + era: number + slashIndices: number[] +} + +/** + * Declare no desire to either validate or nominate. + * + * Effects will be felt at the beginning of the next era. + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * + * ## Complexity + * - Independent of the arguments. Insignificant complexity. + * - Contains one read. + * - Writes are limited to the `origin` account key. + */ +export interface StakingCall_chill { + __kind: 'chill' +} + +/** + * Declare a `controller` to stop participating as either a validator or nominator. + * + * Effects will be felt at the beginning of the next era. + * + * The dispatch origin for this call must be _Signed_, but can be called by anyone. + * + * If the caller is the same as the controller being targeted, then no further checks are + * enforced, and this function behaves just like `chill`. + * + * If the caller is different than the controller being targeted, the following conditions + * must be met: + * + * * `controller` must belong to a nominator who has become non-decodable, + * + * Or: + * + * * A `ChillThreshold` must be set and checked which defines how close to the max + * nominators or validators we must reach before users can start chilling one-another. + * * A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine + * how close we are to the threshold. + * * A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines + * if this is a person that should be chilled because they have not met the threshold + * bond required. + * + * This can be helpful if bond requirements are updated, and we need to remove old users + * who do not satisfy these requirements. + */ +export interface StakingCall_chill_other { + __kind: 'chill_other' + stash: AccountId32 +} + +/** + * Updates a batch of controller accounts to their corresponding stash account if they are + * not the same. Ignores any controller accounts that do not exist, and does not operate if + * the stash and controller are already the same. + * + * Effects will be felt instantly (as soon as this function is completed successfully). + * + * The dispatch origin must be `T::AdminOrigin`. + */ +export interface StakingCall_deprecate_controller_batch { + __kind: 'deprecate_controller_batch' + controllers: AccountId32[] +} + +/** + * Force a validator to have at least the minimum commission. This will not affect a + * validator who already has a commission greater than or equal to the minimum. Any account + * can call this. + */ +export interface StakingCall_force_apply_min_commission { + __kind: 'force_apply_min_commission' + validatorStash: AccountId32 +} + +/** + * Force there to be a new era at the end of the next session. After this, it will be + * reset to normal (non-forced) behaviour. + * + * The dispatch origin must be Root. + * + * # Warning + * + * The election process starts multiple blocks before the end of the era. + * If this is called just before a new era is triggered, the election process may not + * have enough blocks to get a result. + * + * ## Complexity + * - No arguments. + * - Weight: O(1) + */ +export interface StakingCall_force_new_era { + __kind: 'force_new_era' +} + +/** + * Force there to be a new era at the end of sessions indefinitely. + * + * The dispatch origin must be Root. + * + * # Warning + * + * The election process starts multiple blocks before the end of the era. + * If this is called just before a new era is triggered, the election process may not + * have enough blocks to get a result. + */ +export interface StakingCall_force_new_era_always { + __kind: 'force_new_era_always' +} + +/** + * Force there to be no new eras indefinitely. + * + * The dispatch origin must be Root. + * + * # Warning + * + * The election process starts multiple blocks before the end of the era. + * Thus the election process may be ongoing when this is called. In this case the + * election will continue until the next era is triggered. + * + * ## Complexity + * - No arguments. + * - Weight: O(1) + */ +export interface StakingCall_force_no_eras { + __kind: 'force_no_eras' +} + +/** + * Force a current staker to become completely unstaked, immediately. + * + * The dispatch origin must be Root. + * + * ## Parameters + * + * - `num_slashing_spans`: Refer to comments on [`Call::withdraw_unbonded`] for more + * details. + */ +export interface StakingCall_force_unstake { + __kind: 'force_unstake' + stash: AccountId32 + numSlashingSpans: number +} + +/** + * Increments the ideal number of validators up to maximum of + * `ElectionProviderBase::MaxWinners`. + * + * The dispatch origin must be Root. + * + * ## Complexity + * Same as [`Self::set_validator_count`]. + */ +export interface StakingCall_increase_validator_count { + __kind: 'increase_validator_count' + additional: number +} + +/** + * Remove the given nominations from the calling validator. + * + * Effects will be felt at the beginning of the next era. + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * + * - `who`: A list of nominator stash accounts who are nominating this validator which + * should no longer be nominating this validator. + * + * Note: Making this call only makes sense if you first set the validator preferences to + * block any further nominations. + */ +export interface StakingCall_kick { + __kind: 'kick' + who: MultiAddress[] +} + +/** + * Declare the desire to nominate `targets` for the origin controller. + * + * Effects will be felt at the beginning of the next era. + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * + * ## Complexity + * - The transaction's complexity is proportional to the size of `targets` (N) + * which is capped at CompactAssignments::LIMIT (T::MaxNominations). + * - Both the reads and writes follow a similar pattern. + */ +export interface StakingCall_nominate { + __kind: 'nominate' + targets: MultiAddress[] +} + +/** + * Pay out next page of the stakers behind a validator for the given era. + * + * - `validator_stash` is the stash account of the validator. + * - `era` may be any era between `[current_era - history_depth; current_era]`. + * + * The origin of this call must be _Signed_. Any account can call this function, even if + * it is not one of the stakers. + * + * The reward payout could be paged in case there are too many nominators backing the + * `validator_stash`. This call will payout unpaid pages in an ascending order. To claim a + * specific page, use `payout_stakers_by_page`.` + * + * If all pages are claimed, it returns an error `InvalidPage`. + */ +export interface StakingCall_payout_stakers { + __kind: 'payout_stakers' + validatorStash: AccountId32 + era: number +} + +/** + * Pay out a page of the stakers behind a validator for the given era and page. + * + * - `validator_stash` is the stash account of the validator. + * - `era` may be any era between `[current_era - history_depth; current_era]`. + * - `page` is the page index of nominators to pay out with value between 0 and + * `num_nominators / T::MaxExposurePageSize`. + * + * The origin of this call must be _Signed_. Any account can call this function, even if + * it is not one of the stakers. + * + * If a validator has more than [`Config::MaxExposurePageSize`] nominators backing + * them, then the list of nominators is paged, with each page being capped at + * [`Config::MaxExposurePageSize`.] If a validator has more than one page of nominators, + * the call needs to be made for each page separately in order for all the nominators + * backing a validator to receive the reward. The nominators are not sorted across pages + * and so it should not be assumed the highest staker would be on the topmost page and vice + * versa. If rewards are not claimed in [`Config::HistoryDepth`] eras, they are lost. + */ +export interface StakingCall_payout_stakers_by_page { + __kind: 'payout_stakers_by_page' + validatorStash: AccountId32 + era: number + page: number +} + +/** + * Remove all data structures concerning a staker/stash once it is at a state where it can + * be considered `dust` in the staking system. The requirements are: + * + * 1. the `total_balance` of the stash is below existential deposit. + * 2. or, the `ledger.total` of the stash is below existential deposit. + * 3. or, existential deposit is zero and either `total_balance` or `ledger.total` is zero. + * + * The former can happen in cases like a slash; the latter when a fully unbonded account + * is still receiving staking rewards in `RewardDestination::Staked`. + * + * It can be called by anyone, as long as `stash` meets the above requirements. + * + * Refunds the transaction fees upon successful execution. + * + * ## Parameters + * + * - `num_slashing_spans`: Refer to comments on [`Call::withdraw_unbonded`] for more + * details. + */ +export interface StakingCall_reap_stash { + __kind: 'reap_stash' + stash: AccountId32 + numSlashingSpans: number +} + +/** + * Rebond a portion of the stash scheduled to be unlocked. + * + * The dispatch origin must be signed by the controller. + * + * ## Complexity + * - Time complexity: O(L), where L is unlocking chunks + * - Bounded by `MaxUnlockingChunks`. + */ +export interface StakingCall_rebond { + __kind: 'rebond' + value: bigint +} + +/** + * Restores the state of a ledger which is in an inconsistent state. + * + * The requirements to restore a ledger are the following: + * * The stash is bonded; or + * * The stash is not bonded but it has a staking lock left behind; or + * * If the stash has an associated ledger and its state is inconsistent; or + * * If the ledger is not corrupted *but* its staking lock is out of sync. + * + * The `maybe_*` input parameters will overwrite the corresponding data and metadata of the + * ledger associated with the stash. If the input parameters are not set, the ledger will + * be reset values from on-chain state. + */ +export interface StakingCall_restore_ledger { + __kind: 'restore_ledger' + stash: AccountId32 + maybeController?: (AccountId32 | undefined) + maybeTotal?: (bigint | undefined) + maybeUnlocking?: (UnlockChunk[] | undefined) +} + +/** + * Scale up the ideal number of validators by a factor up to maximum of + * `ElectionProviderBase::MaxWinners`. + * + * The dispatch origin must be Root. + * + * ## Complexity + * Same as [`Self::set_validator_count`]. + */ +export interface StakingCall_scale_validator_count { + __kind: 'scale_validator_count' + factor: Percent +} + +/** + * (Re-)sets the controller of a stash to the stash itself. This function previously + * accepted a `controller` argument to set the controller to an account other than the + * stash itself. This functionality has now been removed, now only setting the controller + * to the stash, if it is not already. + * + * Effects will be felt instantly (as soon as this function is completed successfully). + * + * The dispatch origin for this call must be _Signed_ by the stash, not the controller. + * + * ## Complexity + * O(1) + * - Independent of the arguments. Insignificant complexity. + * - Contains a limited number of reads. + * - Writes are limited to the `origin` account key. + */ +export interface StakingCall_set_controller { + __kind: 'set_controller' +} + +/** + * Set the validators who cannot be slashed (if any). + * + * The dispatch origin must be Root. + */ +export interface StakingCall_set_invulnerables { + __kind: 'set_invulnerables' + invulnerables: AccountId32[] +} + +/** + * Sets the minimum amount of commission that each validators must maintain. + * + * This call has lower privilege requirements than `set_staking_config` and can be called + * by the `T::AdminOrigin`. Root can always call this. + */ +export interface StakingCall_set_min_commission { + __kind: 'set_min_commission' + new: Perbill +} + +/** + * (Re-)set the payment target for a controller. + * + * Effects will be felt instantly (as soon as this function is completed successfully). + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * + * ## Complexity + * - O(1) + * - Independent of the arguments. Insignificant complexity. + * - Contains a limited number of reads. + * - Writes are limited to the `origin` account key. + * --------- + */ +export interface StakingCall_set_payee { + __kind: 'set_payee' + payee: RewardDestination +} + +/** + * Update the various staking configurations . + * + * * `min_nominator_bond`: The minimum active bond needed to be a nominator. + * * `min_validator_bond`: The minimum active bond needed to be a validator. + * * `max_nominator_count`: The max number of users who can be a nominator at once. When + * set to `None`, no limit is enforced. + * * `max_validator_count`: The max number of users who can be a validator at once. When + * set to `None`, no limit is enforced. + * * `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which + * should be filled in order for the `chill_other` transaction to work. + * * `min_commission`: The minimum amount of commission that each validators must maintain. + * This is checked only upon calling `validate`. Existing validators are not affected. + * + * RuntimeOrigin must be Root to call this function. + * + * NOTE: Existing nominators and validators will not be affected by this update. + * to kick people under the new limits, `chill_other` should be called. + */ +export interface StakingCall_set_staking_configs { + __kind: 'set_staking_configs' + minNominatorBond: ConfigOp + minValidatorBond: ConfigOp + maxNominatorCount: Type_114 + maxValidatorCount: Type_114 + chillThreshold: Type_115 + minCommission: Type_116 + maxStakedRewards: Type_115 +} + +/** + * Sets the ideal number of validators. + * + * The dispatch origin must be Root. + * + * ## Complexity + * O(1) + */ +export interface StakingCall_set_validator_count { + __kind: 'set_validator_count' + new: number +} + +/** + * Schedule a portion of the stash to be unlocked ready for transfer out after the bond + * period ends. If this leaves an amount actively bonded less than + * T::Currency::minimum_balance(), then it is increased to the full amount. + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * + * Once the unlock period is done, you can call `withdraw_unbonded` to actually move + * the funds out of management ready for transfer. + * + * No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`) + * can co-exists at the same time. If there are no unlocking chunks slots available + * [`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible). + * + * If a user encounters the `InsufficientBond` error when calling this extrinsic, + * they should call `chill` first in order to free up their bonded funds. + * + * Emits `Unbonded`. + * + * See also [`Call::withdraw_unbonded`]. + */ +export interface StakingCall_unbond { + __kind: 'unbond' + value: bigint +} + +/** + * Migrates an account's `RewardDestination::Controller` to + * `RewardDestination::Account(controller)`. + * + * Effects will be felt instantly (as soon as this function is completed successfully). + * + * This will waive the transaction fee if the `payee` is successfully migrated. + */ +export interface StakingCall_update_payee { + __kind: 'update_payee' + controller: AccountId32 +} + +/** + * Declare the desire to validate for the origin controller. + * + * Effects will be felt at the beginning of the next era. + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + */ +export interface StakingCall_validate { + __kind: 'validate' + prefs: ValidatorPrefs +} + +/** + * Remove any unlocked chunks from the `unlocking` queue from our management. + * + * This essentially frees up that balance to be used by the stash account to do whatever + * it wants. + * + * The dispatch origin for this call must be _Signed_ by the controller. + * + * Emits `Withdrawn`. + * + * See also [`Call::unbond`]. + * + * ## Parameters + * + * - `num_slashing_spans` indicates the number of metadata slashing spans to clear when + * this call results in a complete removal of all the data related to the stash account. + * In this case, the `num_slashing_spans` must be larger or equal to the number of + * slashing spans associated with the stash account in the [`SlashingSpans`] storage type, + * otherwise the call will fail. The call weight is directly proportional to + * `num_slashing_spans`. + * + * ## Complexity + * O(S) where S is the number of slashing spans to remove + * NOTE: Weight annotation is the kill scenario, we refund otherwise. + */ +export interface StakingCall_withdraw_unbonded { + __kind: 'withdraw_unbonded' + numSlashingSpans: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SocietyCall: sts.Type = sts.closedEnum(() => { + return { + bestow_membership: sts.enumStruct({ + candidate: AccountId32, + }), + bid: sts.enumStruct({ + value: sts.bigint(), + }), + claim_membership: sts.unit(), + cleanup_candidacy: sts.enumStruct({ + candidate: AccountId32, + max: sts.number(), + }), + cleanup_challenge: sts.enumStruct({ + challengeRound: sts.number(), + max: sts.number(), + }), + defender_vote: sts.enumStruct({ + approve: sts.boolean(), + }), + dissolve: sts.unit(), + drop_candidate: sts.enumStruct({ + candidate: AccountId32, + }), + found_society: sts.enumStruct({ + founder: MultiAddress, + maxMembers: sts.number(), + maxIntake: sts.number(), + maxStrikes: sts.number(), + candidateDeposit: sts.bigint(), + rules: sts.bytes(), + }), + judge_suspended_member: sts.enumStruct({ + who: MultiAddress, + forgive: sts.boolean(), + }), + kick_candidate: sts.enumStruct({ + candidate: AccountId32, + }), + payout: sts.unit(), + punish_skeptic: sts.unit(), + resign_candidacy: sts.unit(), + set_parameters: sts.enumStruct({ + maxMembers: sts.number(), + maxIntake: sts.number(), + maxStrikes: sts.number(), + candidateDeposit: sts.bigint(), + }), + unbid: sts.unit(), + unvouch: sts.unit(), + vote: sts.enumStruct({ + candidate: MultiAddress, + approve: sts.boolean(), + }), + vouch: sts.enumStruct({ + who: MultiAddress, + value: sts.bigint(), + tip: sts.bigint(), + }), + waive_repay: sts.enumStruct({ + amount: sts.bigint(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SocietyCall = SocietyCall_bestow_membership | SocietyCall_bid | SocietyCall_claim_membership | SocietyCall_cleanup_candidacy | SocietyCall_cleanup_challenge | SocietyCall_defender_vote | SocietyCall_dissolve | SocietyCall_drop_candidate | SocietyCall_found_society | SocietyCall_judge_suspended_member | SocietyCall_kick_candidate | SocietyCall_payout | SocietyCall_punish_skeptic | SocietyCall_resign_candidacy | SocietyCall_set_parameters | SocietyCall_unbid | SocietyCall_unvouch | SocietyCall_vote | SocietyCall_vouch | SocietyCall_waive_repay + +/** + * Transform an approved candidate into a member. Callable only by the Signed origin of the + * Founder, only after the period for voting has ended and only when the candidate is not + * clearly rejected. + */ +export interface SocietyCall_bestow_membership { + __kind: 'bestow_membership' + candidate: AccountId32 +} + +/** + * A user outside of the society can make a bid for entry. + * + * Payment: The group's Candidate Deposit will be reserved for making a bid. It is returned + * when the bid becomes a member, or if the bid calls `unbid`. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `value`: A one time payment the bid would like to receive when joining the society. + */ +export interface SocietyCall_bid { + __kind: 'bid' + value: bigint +} + +/** + * Transform an approved candidate into a member. Callable only by the + * the candidate, and only after the period for voting has ended. + */ +export interface SocietyCall_claim_membership { + __kind: 'claim_membership' +} + +/** + * Remove up to `max` stale votes for the given `candidate`. + * + * May be called by any Signed origin, but only after the candidate's candidacy is ended. + */ +export interface SocietyCall_cleanup_candidacy { + __kind: 'cleanup_candidacy' + candidate: AccountId32 + max: number +} + +/** + * Remove up to `max` stale votes for the defender in the given `challenge_round`. + * + * May be called by any Signed origin, but only after the challenge round is ended. + */ +export interface SocietyCall_cleanup_challenge { + __kind: 'cleanup_challenge' + challengeRound: number + max: number +} + +/** + * As a member, vote on the defender. + * + * The dispatch origin for this call must be _Signed_ and a member. + * + * Parameters: + * - `approve`: A boolean which says if the candidate should be + * approved (`true`) or rejected (`false`). + */ +export interface SocietyCall_defender_vote { + __kind: 'defender_vote' + approve: boolean +} + +/** + * Dissolve the society and remove all members. + * + * The dispatch origin for this call must be Signed, and the signing account must be both + * the `Founder` and the `Head`. This implies that it may only be done when there is one + * member. + */ +export interface SocietyCall_dissolve { + __kind: 'dissolve' +} + +/** + * Remove a `candidate`'s failed application from the society. Callable by any + * signed origin but only at the end of the subsequent round and only for + * a candidate with more rejections than approvals. + * + * The bid deposit is lost and the voucher is banned. + */ +export interface SocietyCall_drop_candidate { + __kind: 'drop_candidate' + candidate: AccountId32 +} + +/** + * Found the society. + * + * This is done as a discrete action in order to allow for the + * pallet to be included into a running chain and can only be done once. + * + * The dispatch origin for this call must be from the _FounderSetOrigin_. + * + * Parameters: + * - `founder` - The first member and head of the newly founded society. + * - `max_members` - The initial max number of members for the society. + * - `max_intake` - The maximum number of candidates per intake period. + * - `max_strikes`: The maximum number of strikes a member may get before they become + * suspended and may only be reinstated by the founder. + * - `candidate_deposit`: The deposit required to make a bid for membership of the group. + * - `rules` - The rules of this society concerning membership. + * + * Complexity: O(1) + */ +export interface SocietyCall_found_society { + __kind: 'found_society' + founder: MultiAddress + maxMembers: number + maxIntake: number + maxStrikes: number + candidateDeposit: bigint + rules: Bytes +} + +/** + * Allow suspension judgement origin to make judgement on a suspended member. + * + * If a suspended member is forgiven, we simply add them back as a member, not affecting + * any of the existing storage items for that member. + * + * If a suspended member is rejected, remove all associated storage items, including + * their payouts, and remove any vouched bids they currently have. + * + * The dispatch origin for this call must be Signed from the Founder. + * + * Parameters: + * - `who` - The suspended member to be judged. + * - `forgive` - A boolean representing whether the suspension judgement origin forgives + * (`true`) or rejects (`false`) a suspended member. + */ +export interface SocietyCall_judge_suspended_member { + __kind: 'judge_suspended_member' + who: MultiAddress + forgive: boolean +} + +/** + * Remove the candidate's application from the society. Callable only by the Signed origin + * of the Founder, only after the period for voting has ended, and only when they do not + * have a clear approval. + * + * Any bid deposit is lost and voucher is banned. + */ +export interface SocietyCall_kick_candidate { + __kind: 'kick_candidate' + candidate: AccountId32 +} + +/** + * Transfer the first matured payout for the sender and remove it from the records. + * + * NOTE: This extrinsic needs to be called multiple times to claim multiple matured + * payouts. + * + * Payment: The member will receive a payment equal to their first matured + * payout to their free balance. + * + * The dispatch origin for this call must be _Signed_ and a member with + * payouts remaining. + */ +export interface SocietyCall_payout { + __kind: 'payout' +} + +/** + * Punish the skeptic with a strike if they did not vote on a candidate. Callable by the + * candidate. + */ +export interface SocietyCall_punish_skeptic { + __kind: 'punish_skeptic' +} + +/** + * Remove the candidate's application from the society. Callable only by the candidate. + * + * Any bid deposit is lost and voucher is banned. + */ +export interface SocietyCall_resign_candidacy { + __kind: 'resign_candidacy' +} + +/** + * Change the maximum number of members in society and the maximum number of new candidates + * in a single intake period. + * + * The dispatch origin for this call must be Signed by the Founder. + * + * Parameters: + * - `max_members` - The maximum number of members for the society. This must be no less + * than the current number of members. + * - `max_intake` - The maximum number of candidates per intake period. + * - `max_strikes`: The maximum number of strikes a member may get before they become + * suspended and may only be reinstated by the founder. + * - `candidate_deposit`: The deposit required to make a bid for membership of the group. + */ +export interface SocietyCall_set_parameters { + __kind: 'set_parameters' + maxMembers: number + maxIntake: number + maxStrikes: number + candidateDeposit: bigint +} + +/** + * A bidder can remove their bid for entry into society. + * By doing so, they will have their candidate deposit returned or + * they will unvouch their voucher. + * + * Payment: The bid deposit is unreserved if the user made a bid. + * + * The dispatch origin for this call must be _Signed_ and a bidder. + */ +export interface SocietyCall_unbid { + __kind: 'unbid' +} + +/** + * As a vouching member, unvouch a bid. This only works while vouched user is + * only a bidder (and not a candidate). + * + * The dispatch origin for this call must be _Signed_ and a vouching member. + * + * Parameters: + * - `pos`: Position in the `Bids` vector of the bid who should be unvouched. + */ +export interface SocietyCall_unvouch { + __kind: 'unvouch' +} + +/** + * As a member, vote on a candidate. + * + * The dispatch origin for this call must be _Signed_ and a member. + * + * Parameters: + * - `candidate`: The candidate that the member would like to bid on. + * - `approve`: A boolean which says if the candidate should be approved (`true`) or + * rejected (`false`). + */ +export interface SocietyCall_vote { + __kind: 'vote' + candidate: MultiAddress + approve: boolean +} + +/** + * As a member, vouch for someone to join society by placing a bid on their behalf. + * + * There is no deposit required to vouch for a new bid, but a member can only vouch for + * one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by + * the suspension judgement origin, the member will be banned from vouching again. + * + * As a vouching member, you can claim a tip if the candidate is accepted. This tip will + * be paid as a portion of the reward the member will receive for joining the society. + * + * The dispatch origin for this call must be _Signed_ and a member. + * + * Parameters: + * - `who`: The user who you would like to vouch for. + * - `value`: The total reward to be paid between you and the candidate if they become + * a member in the society. + * - `tip`: Your cut of the total `value` payout when the candidate is inducted into + * the society. Tips larger than `value` will be saturated upon payout. + */ +export interface SocietyCall_vouch { + __kind: 'vouch' + who: MultiAddress + value: bigint + tip: bigint +} + +/** + * Repay the payment previously given to the member with the signed origin, remove any + * pending payments, and elevate them from rank 0 to rank 1. + */ +export interface SocietyCall_waive_repay { + __kind: 'waive_repay' + amount: bigint +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SlotsCall: sts.Type = sts.closedEnum(() => { + return { + clear_all_leases: sts.enumStruct({ + para: Id, + }), + force_lease: sts.enumStruct({ + para: Id, + leaser: AccountId32, + amount: sts.bigint(), + periodBegin: sts.number(), + periodCount: sts.number(), + }), + trigger_onboard: sts.enumStruct({ + para: Id, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SlotsCall = SlotsCall_clear_all_leases | SlotsCall_force_lease | SlotsCall_trigger_onboard + +/** + * Clear all leases for a Para Id, refunding any deposits back to the original owners. + * + * The dispatch origin for this call must match `T::ForceOrigin`. + */ +export interface SlotsCall_clear_all_leases { + __kind: 'clear_all_leases' + para: Id +} + +/** + * Just a connect into the `lease_out` call, in case Root wants to force some lease to + * happen independently of any other on-chain mechanism to use it. + * + * The dispatch origin for this call must match `T::ForceOrigin`. + */ +export interface SlotsCall_force_lease { + __kind: 'force_lease' + para: Id + leaser: AccountId32 + amount: bigint + periodBegin: number + periodCount: number +} + +/** + * Try to onboard a parachain that has a lease for the current lease period. + * + * This function can be useful if there was some state issue with a para that should + * have onboarded, but was unable to. As long as they have a lease period, we can + * let them onboard from here. + * + * Origin must be signed, but can be called by anyone. + */ +export interface SlotsCall_trigger_onboard { + __kind: 'trigger_onboard' + para: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SessionCall: sts.Type = sts.closedEnum(() => { + return { + purge_keys: sts.unit(), + set_keys: sts.enumStruct({ + keys: SessionKeys, + proof: sts.bytes(), + }), + } +}) + +export const SessionKeys: sts.Type = sts.struct(() => { + return { + grandpa: Public, + babe: sts.bytes(), + paraValidator: V7Public, + paraAssignment: sts.bytes(), + authorityDiscovery: sts.bytes(), + beefy: sts.bytes(), + } +}) + +export const V7Public = sts.bytes() + +export const Public = sts.bytes() + +export interface SessionKeys { + grandpa: Public + babe: Bytes + paraValidator: V7Public + paraAssignment: Bytes + authorityDiscovery: Bytes + beefy: Bytes +} + +export type V7Public = Bytes + +export type Public = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SessionCall = SessionCall_purge_keys | SessionCall_set_keys + +/** + * Removes any session key(s) of the function caller. + * + * This doesn't take effect until the next session. + * + * The dispatch origin of this function must be Signed and the account must be either be + * convertible to a validator ID using the chain's typical addressing system (this usually + * means being a controller account) or directly convertible into a validator ID (which + * usually means being a stash account). + * + * ## Complexity + * - `O(1)` in number of key types. Actual cost depends on the number of length of + * `T::Keys::key_ids()` which is fixed. + */ +export interface SessionCall_purge_keys { + __kind: 'purge_keys' +} + +/** + * Sets the session key(s) of the function caller to `keys`. + * Allows an account to set its session key prior to becoming a validator. + * This doesn't take effect until the next session. + * + * The dispatch origin of this function must be signed. + * + * ## Complexity + * - `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is + * fixed. + */ +export interface SessionCall_set_keys { + __kind: 'set_keys' + keys: SessionKeys + proof: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const SchedulerCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + when: sts.number(), + index: sts.number(), + }), + cancel_named: sts.enumStruct({ + id: sts.bytes(), + }), + cancel_retry: sts.enumStruct({ + task: sts.tuple(() => [sts.number(), sts.number()]), + }), + cancel_retry_named: sts.enumStruct({ + id: sts.bytes(), + }), + schedule: sts.enumStruct({ + when: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_after: sts.enumStruct({ + after: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_named: sts.enumStruct({ + id: sts.bytes(), + when: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + schedule_named_after: sts.enumStruct({ + id: sts.bytes(), + after: sts.number(), + maybePeriodic: sts.option(() => sts.tuple(() => [sts.number(), sts.number()])), + priority: sts.number(), + call: Call, + }), + set_retry: sts.enumStruct({ + task: sts.tuple(() => [sts.number(), sts.number()]), + retries: sts.number(), + period: sts.number(), + }), + set_retry_named: sts.enumStruct({ + id: sts.bytes(), + retries: sts.number(), + period: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type SchedulerCall = SchedulerCall_cancel | SchedulerCall_cancel_named | SchedulerCall_cancel_retry | SchedulerCall_cancel_retry_named | SchedulerCall_schedule | SchedulerCall_schedule_after | SchedulerCall_schedule_named | SchedulerCall_schedule_named_after | SchedulerCall_set_retry | SchedulerCall_set_retry_named + +/** + * Cancel an anonymously scheduled task. + */ +export interface SchedulerCall_cancel { + __kind: 'cancel' + when: number + index: number +} + +/** + * Cancel a named scheduled task. + */ +export interface SchedulerCall_cancel_named { + __kind: 'cancel_named' + id: Bytes +} + +/** + * Removes the retry configuration of a task. + */ +export interface SchedulerCall_cancel_retry { + __kind: 'cancel_retry' + task: [number, number] +} + +/** + * Cancel the retry configuration of a named task. + */ +export interface SchedulerCall_cancel_retry_named { + __kind: 'cancel_retry_named' + id: Bytes +} + +/** + * Anonymously schedule a task. + */ +export interface SchedulerCall_schedule { + __kind: 'schedule' + when: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * Anonymously schedule a task after a delay. + */ +export interface SchedulerCall_schedule_after { + __kind: 'schedule_after' + after: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * Schedule a named task. + */ +export interface SchedulerCall_schedule_named { + __kind: 'schedule_named' + id: Bytes + when: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * Schedule a named task after a delay. + */ +export interface SchedulerCall_schedule_named_after { + __kind: 'schedule_named_after' + id: Bytes + after: number + maybePeriodic?: ([number, number] | undefined) + priority: number + call: Call +} + +/** + * Set a retry configuration for a task so that, in case its scheduled run fails, it will + * be retried after `period` blocks, for a total amount of `retries` retries or until it + * succeeds. + * + * Tasks which need to be scheduled for a retry are still subject to weight metering and + * agenda space, same as a regular task. If a periodic task fails, it will be scheduled + * normally while the task is retrying. + * + * Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic + * clones of the original task. Their retry configuration will be derived from the + * original task's configuration, but will have a lower value for `remaining` than the + * original `total_retries`. + */ +export interface SchedulerCall_set_retry { + __kind: 'set_retry' + task: [number, number] + retries: number + period: number +} + +/** + * Set a retry configuration for a named task so that, in case its scheduled run fails, it + * will be retried after `period` blocks, for a total amount of `retries` retries or until + * it succeeds. + * + * Tasks which need to be scheduled for a retry are still subject to weight metering and + * agenda space, same as a regular task. If a periodic task fails, it will be scheduled + * normally while the task is retrying. + * + * Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic + * clones of the original task. Their retry configuration will be derived from the + * original task's configuration, but will have a lower value for `remaining` than the + * original `total_retries`. + */ +export interface SchedulerCall_set_retry_named { + __kind: 'set_retry_named' + id: Bytes + retries: number + period: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const RegistrarCall: sts.Type = sts.closedEnum(() => { + return { + add_lock: sts.enumStruct({ + para: Id, + }), + deregister: sts.enumStruct({ + id: Id, + }), + force_register: sts.enumStruct({ + who: AccountId32, + deposit: sts.bigint(), + id: Id, + genesisHead: HeadData, + validationCode: ValidationCode, + }), + register: sts.enumStruct({ + id: Id, + genesisHead: HeadData, + validationCode: ValidationCode, + }), + remove_lock: sts.enumStruct({ + para: Id, + }), + reserve: sts.unit(), + schedule_code_upgrade: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + }), + set_current_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + swap: sts.enumStruct({ + id: Id, + other: Id, + }), + } +}) + +export const ValidationCode = sts.bytes() + +export const HeadData = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type RegistrarCall = RegistrarCall_add_lock | RegistrarCall_deregister | RegistrarCall_force_register | RegistrarCall_register | RegistrarCall_remove_lock | RegistrarCall_reserve | RegistrarCall_schedule_code_upgrade | RegistrarCall_set_current_head | RegistrarCall_swap + +/** + * Add a manager lock from a para. This will prevent the manager of a + * para to deregister or swap a para. + * + * Can be called by Root, the parachain, or the parachain manager if the parachain is + * unlocked. + */ +export interface RegistrarCall_add_lock { + __kind: 'add_lock' + para: Id +} + +/** + * Deregister a Para Id, freeing all data and returning any deposit. + * + * The caller must be Root, the `para` owner, or the `para` itself. The para must be an + * on-demand parachain. + */ +export interface RegistrarCall_deregister { + __kind: 'deregister' + id: Id +} + +/** + * Force the registration of a Para Id on the relay chain. + * + * This function must be called by a Root origin. + * + * The deposit taken can be specified for this registration. Any `ParaId` + * can be registered, including sub-1000 IDs which are System Parachains. + */ +export interface RegistrarCall_force_register { + __kind: 'force_register' + who: AccountId32 + deposit: bigint + id: Id + genesisHead: HeadData + validationCode: ValidationCode +} + +/** + * Register head data and validation code for a reserved Para Id. + * + * ## Arguments + * - `origin`: Must be called by a `Signed` origin. + * - `id`: The para ID. Must be owned/managed by the `origin` signing account. + * - `genesis_head`: The genesis head data of the parachain/thread. + * - `validation_code`: The initial validation code of the parachain/thread. + * + * ## Deposits/Fees + * The account with the originating signature must reserve a deposit. + * + * The deposit is required to cover the costs associated with storing the genesis head + * data and the validation code. + * This accounts for the potential to store validation code of a size up to the + * `max_code_size`, as defined in the configuration pallet + * + * Anything already reserved previously for this para ID is accounted for. + * + * ## Events + * The `Registered` event is emitted in case of success. + */ +export interface RegistrarCall_register { + __kind: 'register' + id: Id + genesisHead: HeadData + validationCode: ValidationCode +} + +/** + * Remove a manager lock from a para. This will allow the manager of a + * previously locked para to deregister or swap a para without using governance. + * + * Can only be called by the Root origin or the parachain. + */ +export interface RegistrarCall_remove_lock { + __kind: 'remove_lock' + para: Id +} + +/** + * Reserve a Para Id on the relay chain. + * + * This function will reserve a new Para Id to be owned/managed by the origin account. + * The origin account is able to register head data and validation code using `register` to + * create an on-demand parachain. Using the Slots pallet, an on-demand parachain can then + * be upgraded to a lease holding parachain. + * + * ## Arguments + * - `origin`: Must be called by a `Signed` origin. Becomes the manager/owner of the new + * para ID. + * + * ## Deposits/Fees + * The origin must reserve a deposit of `ParaDeposit` for the registration. + * + * ## Events + * The `Reserved` event is emitted in case of success, which provides the ID reserved for + * use. + */ +export interface RegistrarCall_reserve { + __kind: 'reserve' +} + +/** + * Schedule a parachain upgrade. + * + * This will kick off a check of `new_code` by all validators. After the majority of the + * validators have reported on the validity of the code, the code will either be enacted + * or the upgrade will be rejected. If the code will be enacted, the current code of the + * parachain will be overwritten directly. This means that any PoV will be checked by this + * new code. The parachain itself will not be informed explicitly that the validation code + * has changed. + * + * Can be called by Root, the parachain, or the parachain manager if the parachain is + * unlocked. + */ +export interface RegistrarCall_schedule_code_upgrade { + __kind: 'schedule_code_upgrade' + para: Id + newCode: ValidationCode +} + +/** + * Set the parachain's current head. + * + * Can be called by Root, the parachain, or the parachain manager if the parachain is + * unlocked. + */ +export interface RegistrarCall_set_current_head { + __kind: 'set_current_head' + para: Id + newHead: HeadData +} + +/** + * Swap a lease holding parachain with another parachain, either on-demand or lease + * holding. + * + * The origin must be Root, the `para` owner, or the `para` itself. + * + * The swap will happen only if there is already an opposite swap pending. If there is not, + * the swap will be stored in the pending swaps map, ready for a later confirmatory swap. + * + * The `ParaId`s remain mapped to the same head data and code so external code can rely on + * `ParaId` to be a long-term identifier of a notional "parachain". However, their + * scheduling info (i.e. whether they're an on-demand parachain or lease holding + * parachain), auction information and the auction deposit are switched. + */ +export interface RegistrarCall_swap { + __kind: 'swap' + id: Id + other: Id +} + +export type ValidationCode = Bytes + +export type HeadData = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ReferendaCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + index: sts.number(), + }), + kill: sts.enumStruct({ + index: sts.number(), + }), + nudge_referendum: sts.enumStruct({ + index: sts.number(), + }), + one_fewer_deciding: sts.enumStruct({ + track: sts.number(), + }), + place_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_submission_deposit: sts.enumStruct({ + index: sts.number(), + }), + set_metadata: sts.enumStruct({ + index: sts.number(), + maybeHash: sts.option(() => H256), + }), + submit: sts.enumStruct({ + proposalOrigin: OriginCaller, + proposal: Bounded, + enactmentMoment: DispatchTime, + }), + } +}) + +export const DispatchTime: sts.Type = sts.closedEnum(() => { + return { + After: sts.number(), + At: sts.number(), + } +}) + +export type DispatchTime = DispatchTime_After | DispatchTime_At + +export interface DispatchTime_After { + __kind: 'After' + value: number +} + +export interface DispatchTime_At { + __kind: 'At' + value: number +} + +export const Bounded: sts.Type = sts.closedEnum(() => { + return { + Inline: sts.bytes(), + Legacy: sts.enumStruct({ + hash: H256, + }), + Lookup: sts.enumStruct({ + hash: H256, + len: sts.number(), + }), + } +}) + +export type Bounded = Bounded_Inline | Bounded_Legacy | Bounded_Lookup + +export interface Bounded_Inline { + __kind: 'Inline' + value: Bytes +} + +export interface Bounded_Legacy { + __kind: 'Legacy' + hash: H256 +} + +export interface Bounded_Lookup { + __kind: 'Lookup' + hash: H256 + len: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ReferendaCall = ReferendaCall_cancel | ReferendaCall_kill | ReferendaCall_nudge_referendum | ReferendaCall_one_fewer_deciding | ReferendaCall_place_decision_deposit | ReferendaCall_refund_decision_deposit | ReferendaCall_refund_submission_deposit | ReferendaCall_set_metadata | ReferendaCall_submit + +/** + * Cancel an ongoing referendum. + * + * - `origin`: must be the `CancelOrigin`. + * - `index`: The index of the referendum to be cancelled. + * + * Emits `Cancelled`. + */ +export interface ReferendaCall_cancel { + __kind: 'cancel' + index: number +} + +/** + * Cancel an ongoing referendum and slash the deposits. + * + * - `origin`: must be the `KillOrigin`. + * - `index`: The index of the referendum to be cancelled. + * + * Emits `Killed` and `DepositSlashed`. + */ +export interface ReferendaCall_kill { + __kind: 'kill' + index: number +} + +/** + * Advance a referendum onto its next logical state. Only used internally. + * + * - `origin`: must be `Root`. + * - `index`: the referendum to be advanced. + */ +export interface ReferendaCall_nudge_referendum { + __kind: 'nudge_referendum' + index: number +} + +/** + * Advance a track onto its next logical state. Only used internally. + * + * - `origin`: must be `Root`. + * - `track`: the track to be advanced. + * + * Action item for when there is now one fewer referendum in the deciding phase and the + * `DecidingCount` is not yet updated. This means that we should either: + * - begin deciding another referendum (and leave `DecidingCount` alone); or + * - decrement `DecidingCount`. + */ +export interface ReferendaCall_one_fewer_deciding { + __kind: 'one_fewer_deciding' + track: number +} + +/** + * Post the Decision Deposit for a referendum. + * + * - `origin`: must be `Signed` and the account must have funds available for the + * referendum's track's Decision Deposit. + * - `index`: The index of the submitted referendum whose Decision Deposit is yet to be + * posted. + * + * Emits `DecisionDepositPlaced`. + */ +export interface ReferendaCall_place_decision_deposit { + __kind: 'place_decision_deposit' + index: number +} + +/** + * Refund the Decision Deposit for a closed referendum back to the depositor. + * + * - `origin`: must be `Signed` or `Root`. + * - `index`: The index of a closed referendum whose Decision Deposit has not yet been + * refunded. + * + * Emits `DecisionDepositRefunded`. + */ +export interface ReferendaCall_refund_decision_deposit { + __kind: 'refund_decision_deposit' + index: number +} + +/** + * Refund the Submission Deposit for a closed referendum back to the depositor. + * + * - `origin`: must be `Signed` or `Root`. + * - `index`: The index of a closed referendum whose Submission Deposit has not yet been + * refunded. + * + * Emits `SubmissionDepositRefunded`. + */ +export interface ReferendaCall_refund_submission_deposit { + __kind: 'refund_submission_deposit' + index: number +} + +/** + * Set or clear metadata of a referendum. + * + * Parameters: + * - `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a + * metadata of a finished referendum. + * - `index`: The index of a referendum to set or clear metadata for. + * - `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata. + */ +export interface ReferendaCall_set_metadata { + __kind: 'set_metadata' + index: number + maybeHash?: (H256 | undefined) +} + +/** + * Propose a referendum on a privileged action. + * + * - `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds + * available. + * - `proposal_origin`: The origin from which the proposal should be executed. + * - `proposal`: The proposal. + * - `enactment_moment`: The moment that the proposal should be enacted. + * + * Emits `Submitted`. + */ +export interface ReferendaCall_submit { + __kind: 'submit' + proposalOrigin: OriginCaller + proposal: Bounded + enactmentMoment: DispatchTime +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const RecoveryCall: sts.Type = sts.closedEnum(() => { + return { + as_recovered: sts.enumStruct({ + account: MultiAddress, + call: Call, + }), + cancel_recovered: sts.enumStruct({ + account: MultiAddress, + }), + claim_recovery: sts.enumStruct({ + account: MultiAddress, + }), + close_recovery: sts.enumStruct({ + rescuer: MultiAddress, + }), + create_recovery: sts.enumStruct({ + friends: sts.array(() => AccountId32), + threshold: sts.number(), + delayPeriod: sts.number(), + }), + initiate_recovery: sts.enumStruct({ + account: MultiAddress, + }), + remove_recovery: sts.unit(), + set_recovered: sts.enumStruct({ + lost: MultiAddress, + rescuer: MultiAddress, + }), + vouch_recovery: sts.enumStruct({ + lost: MultiAddress, + rescuer: MultiAddress, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type RecoveryCall = RecoveryCall_as_recovered | RecoveryCall_cancel_recovered | RecoveryCall_claim_recovery | RecoveryCall_close_recovery | RecoveryCall_create_recovery | RecoveryCall_initiate_recovery | RecoveryCall_remove_recovery | RecoveryCall_set_recovered | RecoveryCall_vouch_recovery + +/** + * Send a call through a recovered account. + * + * The dispatch origin for this call must be _Signed_ and registered to + * be able to make calls on behalf of the recovered account. + * + * Parameters: + * - `account`: The recovered account you want to make a call on-behalf-of. + * - `call`: The call you want to make with the recovered account. + */ +export interface RecoveryCall_as_recovered { + __kind: 'as_recovered' + account: MultiAddress + call: Call +} + +/** + * Cancel the ability to use `as_recovered` for `account`. + * + * The dispatch origin for this call must be _Signed_ and registered to + * be able to make calls on behalf of the recovered account. + * + * Parameters: + * - `account`: The recovered account you are able to call on-behalf-of. + */ +export interface RecoveryCall_cancel_recovered { + __kind: 'cancel_recovered' + account: MultiAddress +} + +/** + * Allow a successful rescuer to claim their recovered account. + * + * The dispatch origin for this call must be _Signed_ and must be a "rescuer" + * who has successfully completed the account recovery process: collected + * `threshold` or more vouches, waited `delay_period` blocks since initiation. + * + * Parameters: + * - `account`: The lost account that you want to claim has been successfully recovered by + * you. + */ +export interface RecoveryCall_claim_recovery { + __kind: 'claim_recovery' + account: MultiAddress +} + +/** + * As the controller of a recoverable account, close an active recovery + * process for your account. + * + * Payment: By calling this function, the recoverable account will receive + * the recovery deposit `RecoveryDeposit` placed by the rescuer. + * + * The dispatch origin for this call must be _Signed_ and must be a + * recoverable account with an active recovery process for it. + * + * Parameters: + * - `rescuer`: The account trying to rescue this recoverable account. + */ +export interface RecoveryCall_close_recovery { + __kind: 'close_recovery' + rescuer: MultiAddress +} + +/** + * Create a recovery configuration for your account. This makes your account recoverable. + * + * Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance + * will be reserved for storing the recovery configuration. This deposit is returned + * in full when the user calls `remove_recovery`. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `friends`: A list of friends you trust to vouch for recovery attempts. Should be + * ordered and contain no duplicate values. + * - `threshold`: The number of friends that must vouch for a recovery attempt before the + * account can be recovered. Should be less than or equal to the length of the list of + * friends. + * - `delay_period`: The number of blocks after a recovery attempt is initialized that + * needs to pass before the account can be recovered. + */ +export interface RecoveryCall_create_recovery { + __kind: 'create_recovery' + friends: AccountId32[] + threshold: number + delayPeriod: number +} + +/** + * Initiate the process for recovering a recoverable account. + * + * Payment: `RecoveryDeposit` balance will be reserved for initiating the + * recovery process. This deposit will always be repatriated to the account + * trying to be recovered. See `close_recovery`. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `account`: The lost account that you want to recover. This account needs to be + * recoverable (i.e. have a recovery configuration). + */ +export interface RecoveryCall_initiate_recovery { + __kind: 'initiate_recovery' + account: MultiAddress +} + +/** + * Remove the recovery process for your account. Recovered accounts are still accessible. + * + * NOTE: The user must make sure to call `close_recovery` on all active + * recovery attempts before calling this function else it will fail. + * + * Payment: By calling this function the recoverable account will unreserve + * their recovery configuration deposit. + * (`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends) + * + * The dispatch origin for this call must be _Signed_ and must be a + * recoverable account (i.e. has a recovery configuration). + */ +export interface RecoveryCall_remove_recovery { + __kind: 'remove_recovery' +} + +/** + * Allow ROOT to bypass the recovery process and set an a rescuer account + * for a lost account directly. + * + * The dispatch origin for this call must be _ROOT_. + * + * Parameters: + * - `lost`: The "lost account" to be recovered. + * - `rescuer`: The "rescuer account" which can call as the lost account. + */ +export interface RecoveryCall_set_recovered { + __kind: 'set_recovered' + lost: MultiAddress + rescuer: MultiAddress +} + +/** + * Allow a "friend" of a recoverable account to vouch for an active recovery + * process for that account. + * + * The dispatch origin for this call must be _Signed_ and must be a "friend" + * for the recoverable account. + * + * Parameters: + * - `lost`: The lost account that you want to recover. + * - `rescuer`: The account trying to rescue the lost account that you want to vouch for. + * + * The combination of these two parameters must point to an active recovery + * process. + */ +export interface RecoveryCall_vouch_recovery { + __kind: 'vouch_recovery' + lost: MultiAddress + rescuer: MultiAddress +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ProxyCall: sts.Type = sts.closedEnum(() => { + return { + add_proxy: sts.enumStruct({ + delegate: MultiAddress, + proxyType: ProxyType, + delay: sts.number(), + }), + announce: sts.enumStruct({ + real: MultiAddress, + callHash: H256, + }), + create_pure: sts.enumStruct({ + proxyType: ProxyType, + delay: sts.number(), + index: sts.number(), + }), + kill_pure: sts.enumStruct({ + spawner: MultiAddress, + proxyType: ProxyType, + index: sts.number(), + height: sts.number(), + extIndex: sts.number(), + }), + proxy: sts.enumStruct({ + real: MultiAddress, + forceProxyType: sts.option(() => ProxyType), + call: Call, + }), + proxy_announced: sts.enumStruct({ + delegate: MultiAddress, + real: MultiAddress, + forceProxyType: sts.option(() => ProxyType), + call: Call, + }), + reject_announcement: sts.enumStruct({ + delegate: MultiAddress, + callHash: H256, + }), + remove_announcement: sts.enumStruct({ + real: MultiAddress, + callHash: H256, + }), + remove_proxies: sts.unit(), + remove_proxy: sts.enumStruct({ + delegate: MultiAddress, + proxyType: ProxyType, + delay: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ProxyCall = ProxyCall_add_proxy | ProxyCall_announce | ProxyCall_create_pure | ProxyCall_kill_pure | ProxyCall_proxy | ProxyCall_proxy_announced | ProxyCall_reject_announcement | ProxyCall_remove_announcement | ProxyCall_remove_proxies | ProxyCall_remove_proxy + +/** + * Register a proxy account for the sender that is able to make calls on its behalf. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `proxy`: The account that the `caller` would like to make a proxy. + * - `proxy_type`: The permissions allowed for this proxy account. + * - `delay`: The announcement period required of the initial proxy. Will generally be + * zero. + */ +export interface ProxyCall_add_proxy { + __kind: 'add_proxy' + delegate: MultiAddress + proxyType: ProxyType + delay: number +} + +/** + * Publish the hash of a proxy-call that will be made in the future. + * + * This must be called some number of blocks before the corresponding `proxy` is attempted + * if the delay associated with the proxy relationship is greater than zero. + * + * No more than `MaxPending` announcements may be made at any one time. + * + * This will take a deposit of `AnnouncementDepositFactor` as well as + * `AnnouncementDepositBase` if there are no other pending announcements. + * + * The dispatch origin for this call must be _Signed_ and a proxy of `real`. + * + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `call_hash`: The hash of the call to be made by the `real` account. + */ +export interface ProxyCall_announce { + __kind: 'announce' + real: MultiAddress + callHash: H256 +} + +/** + * Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and + * initialize it with a proxy of `proxy_type` for `origin` sender. + * + * Requires a `Signed` origin. + * + * - `proxy_type`: The type of the proxy that the sender will be registered as over the + * new account. This will almost always be the most permissive `ProxyType` possible to + * allow for maximum flexibility. + * - `index`: A disambiguation index, in case this is called multiple times in the same + * transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just + * want to use `0`. + * - `delay`: The announcement period required of the initial proxy. Will generally be + * zero. + * + * Fails with `Duplicate` if this has already been called in this transaction, from the + * same sender, with the same parameters. + * + * Fails if there are insufficient funds to pay for deposit. + */ +export interface ProxyCall_create_pure { + __kind: 'create_pure' + proxyType: ProxyType + delay: number + index: number +} + +/** + * Removes a previously spawned pure proxy. + * + * WARNING: **All access to this account will be lost.** Any funds held in it will be + * inaccessible. + * + * Requires a `Signed` origin, and the sender account must have been created by a call to + * `pure` with corresponding parameters. + * + * - `spawner`: The account that originally called `pure` to create this account. + * - `index`: The disambiguation index originally passed to `pure`. Probably `0`. + * - `proxy_type`: The proxy type originally passed to `pure`. + * - `height`: The height of the chain when the call to `pure` was processed. + * - `ext_index`: The extrinsic index in which the call to `pure` was processed. + * + * Fails with `NoPermission` in case the caller is not a previously created pure + * account whose `pure` call has corresponding parameters. + */ +export interface ProxyCall_kill_pure { + __kind: 'kill_pure' + spawner: MultiAddress + proxyType: ProxyType + index: number + height: number + extIndex: number +} + +/** + * Dispatch the given `call` from an account that the sender is authorised for through + * `add_proxy`. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. + * - `call`: The call to be made by the `real` account. + */ +export interface ProxyCall_proxy { + __kind: 'proxy' + real: MultiAddress + forceProxyType?: (ProxyType | undefined) + call: Call +} + +/** + * Dispatch the given `call` from an account that the sender is authorized for through + * `add_proxy`. + * + * Removes any corresponding announcement(s). + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. + * - `call`: The call to be made by the `real` account. + */ +export interface ProxyCall_proxy_announced { + __kind: 'proxy_announced' + delegate: MultiAddress + real: MultiAddress + forceProxyType?: (ProxyType | undefined) + call: Call +} + +/** + * Remove the given announcement of a delegate. + * + * May be called by a target (proxied) account to remove a call that one of their delegates + * (`delegate`) has announced they want to execute. The deposit is returned. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `delegate`: The account that previously announced the call. + * - `call_hash`: The hash of the call to be made. + */ +export interface ProxyCall_reject_announcement { + __kind: 'reject_announcement' + delegate: MultiAddress + callHash: H256 +} + +/** + * Remove a given announcement. + * + * May be called by a proxy account to remove a call they previously announced and return + * the deposit. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `call_hash`: The hash of the call to be made by the `real` account. + */ +export interface ProxyCall_remove_announcement { + __kind: 'remove_announcement' + real: MultiAddress + callHash: H256 +} + +/** + * Unregister all proxy accounts for the sender. + * + * The dispatch origin for this call must be _Signed_. + * + * WARNING: This may be called on accounts created by `pure`, however if done, then + * the unreserved fees will be inaccessible. **All access to this account will be lost.** + */ +export interface ProxyCall_remove_proxies { + __kind: 'remove_proxies' +} + +/** + * Unregister a proxy account for the sender. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `proxy`: The account that the `caller` would like to remove as a proxy. + * - `proxy_type`: The permissions currently enabled for the removed proxy account. + */ +export interface ProxyCall_remove_proxy { + __kind: 'remove_proxy' + delegate: MultiAddress + proxyType: ProxyType + delay: number +} + +export type ProxyType = ProxyType_Any | ProxyType_Auction | ProxyType_CancelProxy | ProxyType_Governance | ProxyType_NominationPools | ProxyType_NonTransfer | ProxyType_Society | ProxyType_Spokesperson | ProxyType_Staking + +export interface ProxyType_Any { + __kind: 'Any' +} + +export interface ProxyType_Auction { + __kind: 'Auction' +} + +export interface ProxyType_CancelProxy { + __kind: 'CancelProxy' +} + +export interface ProxyType_Governance { + __kind: 'Governance' +} + +export interface ProxyType_NominationPools { + __kind: 'NominationPools' +} + +export interface ProxyType_NonTransfer { + __kind: 'NonTransfer' +} + +export interface ProxyType_Society { + __kind: 'Society' +} + +export interface ProxyType_Spokesperson { + __kind: 'Spokesperson' +} + +export interface ProxyType_Staking { + __kind: 'Staking' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const PreimageCall: sts.Type = sts.closedEnum(() => { + return { + ensure_updated: sts.enumStruct({ + hashes: sts.array(() => H256), + }), + note_preimage: sts.enumStruct({ + bytes: sts.bytes(), + }), + request_preimage: sts.enumStruct({ + hash: H256, + }), + unnote_preimage: sts.enumStruct({ + hash: H256, + }), + unrequest_preimage: sts.enumStruct({ + hash: H256, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type PreimageCall = PreimageCall_ensure_updated | PreimageCall_note_preimage | PreimageCall_request_preimage | PreimageCall_unnote_preimage | PreimageCall_unrequest_preimage + +/** + * Ensure that the a bulk of pre-images is upgraded. + * + * The caller pays no fee if at least 90% of pre-images were successfully updated. + */ +export interface PreimageCall_ensure_updated { + __kind: 'ensure_updated' + hashes: H256[] +} + +/** + * Register a preimage on-chain. + * + * If the preimage was previously requested, no fees or deposits are taken for providing + * the preimage. Otherwise, a deposit is taken proportional to the size of the preimage. + */ +export interface PreimageCall_note_preimage { + __kind: 'note_preimage' + bytes: Bytes +} + +/** + * Request a preimage be uploaded to the chain without paying any fees or deposits. + * + * If the preimage requests has already been provided on-chain, we unreserve any deposit + * a user may have paid, and take the control of the preimage out of their hands. + */ +export interface PreimageCall_request_preimage { + __kind: 'request_preimage' + hash: H256 +} + +/** + * Clear an unrequested preimage from the runtime storage. + * + * If `len` is provided, then it will be a much cheaper operation. + * + * - `hash`: The hash of the preimage to be removed from the store. + * - `len`: The length of the preimage of `hash`. + */ +export interface PreimageCall_unnote_preimage { + __kind: 'unnote_preimage' + hash: H256 +} + +/** + * Clear a previously made request for a preimage. + * + * NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`. + */ +export interface PreimageCall_unrequest_preimage { + __kind: 'unrequest_preimage' + hash: H256 +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasSlashingCall: sts.Type = sts.closedEnum(() => { + return { + report_dispute_lost_unsigned: sts.enumStruct({ + disputeProof: V7DisputeProof, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const MembershipProof: sts.Type = sts.struct(() => { + return { + session: sts.number(), + trieNodes: sts.array(() => sts.bytes()), + validatorCount: sts.number(), + } +}) + +export interface MembershipProof { + session: number + trieNodes: Bytes[] + validatorCount: number +} + +export const V7DisputeProof: sts.Type = sts.struct(() => { + return { + timeSlot: V7DisputesTimeSlot, + kind: V7SlashingOffenceKind, + validatorIndex: V7ValidatorIndex, + validatorId: V7Public, + } +}) + +export const V7ValidatorIndex = sts.number() + +export const V7SlashingOffenceKind: sts.Type = sts.closedEnum(() => { + return { + AgainstValid: sts.unit(), + ForInvalid: sts.unit(), + } +}) + +export type V7SlashingOffenceKind = V7SlashingOffenceKind_AgainstValid | V7SlashingOffenceKind_ForInvalid + +export interface V7SlashingOffenceKind_AgainstValid { + __kind: 'AgainstValid' +} + +export interface V7SlashingOffenceKind_ForInvalid { + __kind: 'ForInvalid' +} + +export const V7DisputesTimeSlot: sts.Type = sts.struct(() => { + return { + sessionIndex: sts.number(), + candidateHash: CandidateHash, + } +}) + +export const CandidateHash = sts.bytes() + +export interface V7DisputesTimeSlot { + sessionIndex: number + candidateHash: CandidateHash +} + +export type CandidateHash = Bytes + +export interface V7DisputeProof { + timeSlot: V7DisputesTimeSlot + kind: V7SlashingOffenceKind + validatorIndex: V7ValidatorIndex + validatorId: V7Public +} + +export type V7ValidatorIndex = number + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasSlashingCall = ParasSlashingCall_report_dispute_lost_unsigned + +export interface ParasSlashingCall_report_dispute_lost_unsigned { + __kind: 'report_dispute_lost_unsigned' + disputeProof: V7DisputeProof + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasSharedCall: sts.Type = sts.closedEnum(() => { + return { + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasSharedCall = never + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasDisputesCall: sts.Type = sts.closedEnum(() => { + return { + force_unfreeze: sts.unit(), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasDisputesCall = ParasDisputesCall_force_unfreeze + +export interface ParasDisputesCall_force_unfreeze { + __kind: 'force_unfreeze' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParasCall: sts.Type = sts.closedEnum(() => { + return { + add_trusted_validation_code: sts.enumStruct({ + validationCode: ValidationCode, + }), + force_note_new_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + force_queue_action: sts.enumStruct({ + para: Id, + }), + force_schedule_code_upgrade: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + relayParentNumber: sts.number(), + }), + force_set_current_code: sts.enumStruct({ + para: Id, + newCode: ValidationCode, + }), + force_set_current_head: sts.enumStruct({ + para: Id, + newHead: HeadData, + }), + force_set_most_recent_context: sts.enumStruct({ + para: Id, + context: sts.number(), + }), + include_pvf_check_statement: sts.enumStruct({ + stmt: V7PvfCheckStatement, + signature: V7Signature, + }), + poke_unused_validation_code: sts.enumStruct({ + validationCodeHash: ValidationCodeHash, + }), + } +}) + +export const ValidationCodeHash = sts.bytes() + +export const V7Signature = sts.bytes() + +export const V7PvfCheckStatement: sts.Type = sts.struct(() => { + return { + accept: sts.boolean(), + subject: ValidationCodeHash, + sessionIndex: sts.number(), + validatorIndex: V7ValidatorIndex, + } +}) + +export interface V7PvfCheckStatement { + accept: boolean + subject: ValidationCodeHash + sessionIndex: number + validatorIndex: V7ValidatorIndex +} + +export type ValidationCodeHash = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParasCall = ParasCall_add_trusted_validation_code | ParasCall_force_note_new_head | ParasCall_force_queue_action | ParasCall_force_schedule_code_upgrade | ParasCall_force_set_current_code | ParasCall_force_set_current_head | ParasCall_force_set_most_recent_context | ParasCall_include_pvf_check_statement | ParasCall_poke_unused_validation_code + +/** + * Adds the validation code to the storage. + * + * The code will not be added if it is already present. Additionally, if PVF pre-checking + * is running for that code, it will be instantly accepted. + * + * Otherwise, the code will be added into the storage. Note that the code will be added + * into storage with reference count 0. This is to account the fact that there are no users + * for this code yet. The caller will have to make sure that this code eventually gets + * used by some parachain or removed from the storage to avoid storage leaks. For the + * latter prefer to use the `poke_unused_validation_code` dispatchable to raw storage + * manipulation. + * + * This function is mainly meant to be used for upgrading parachains that do not follow + * the go-ahead signal while the PVF pre-checking feature is enabled. + */ +export interface ParasCall_add_trusted_validation_code { + __kind: 'add_trusted_validation_code' + validationCode: ValidationCode +} + +/** + * Note a new block head for para within the context of the current block. + */ +export interface ParasCall_force_note_new_head { + __kind: 'force_note_new_head' + para: Id + newHead: HeadData +} + +/** + * Put a parachain directly into the next session's action queue. + * We can't queue it any sooner than this without going into the + * initializer... + */ +export interface ParasCall_force_queue_action { + __kind: 'force_queue_action' + para: Id +} + +/** + * Schedule an upgrade as if it was scheduled in the given relay parent block. + */ +export interface ParasCall_force_schedule_code_upgrade { + __kind: 'force_schedule_code_upgrade' + para: Id + newCode: ValidationCode + relayParentNumber: number +} + +/** + * Set the storage for the parachain validation code immediately. + */ +export interface ParasCall_force_set_current_code { + __kind: 'force_set_current_code' + para: Id + newCode: ValidationCode +} + +/** + * Set the storage for the current parachain head data immediately. + */ +export interface ParasCall_force_set_current_head { + __kind: 'force_set_current_head' + para: Id + newHead: HeadData +} + +/** + * Set the storage for the current parachain head data immediately. + */ +export interface ParasCall_force_set_most_recent_context { + __kind: 'force_set_most_recent_context' + para: Id + context: number +} + +/** + * Includes a statement for a PVF pre-checking vote. Potentially, finalizes the vote and + * enacts the results if that was the last vote before achieving the supermajority. + */ +export interface ParasCall_include_pvf_check_statement { + __kind: 'include_pvf_check_statement' + stmt: V7PvfCheckStatement + signature: V7Signature +} + +/** + * Remove the validation code from the storage iff the reference count is 0. + * + * This is better than removing the storage directly, because it will not remove the code + * that was suddenly got used by some parachain while this dispatchable was pending + * dispatching. + */ +export interface ParasCall_poke_unused_validation_code { + __kind: 'poke_unused_validation_code' + validationCodeHash: ValidationCodeHash +} + +export type V7Signature = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParametersCall: sts.Type = sts.closedEnum(() => { + return { + set_parameter: sts.enumStruct({ + keyValue: RuntimeParameters, + }), + } +}) + +export const RuntimeParameters: sts.Type = sts.closedEnum(() => { + return { + Inflation: Parameters, + } +}) + +export const Parameters: sts.Type = sts.closedEnum(() => { + return { + Falloff: sts.tuple(() => [Falloff, sts.option(() => Perquintill)]), + IdealStake: sts.tuple(() => [IdealStake, sts.option(() => Perquintill)]), + MaxInflation: sts.tuple(() => [MaxInflation, sts.option(() => Perquintill)]), + MinInflation: sts.tuple(() => [MinInflation, sts.option(() => Perquintill)]), + UseAuctionSlots: sts.tuple(() => [UseAuctionSlots, sts.option(() => sts.boolean())]), + } +}) + +export const UseAuctionSlots = sts.unit() + +export const MinInflation = sts.unit() + +export const MaxInflation = sts.unit() + +export const IdealStake = sts.unit() + +export const Perquintill = sts.bigint() + +export const Falloff = sts.unit() + +export type Parameters = Parameters_Falloff | Parameters_IdealStake | Parameters_MaxInflation | Parameters_MinInflation | Parameters_UseAuctionSlots + +export interface Parameters_Falloff { + __kind: 'Falloff' + value: [Falloff, (Perquintill | undefined)] +} + +export interface Parameters_IdealStake { + __kind: 'IdealStake' + value: [IdealStake, (Perquintill | undefined)] +} + +export interface Parameters_MaxInflation { + __kind: 'MaxInflation' + value: [MaxInflation, (Perquintill | undefined)] +} + +export interface Parameters_MinInflation { + __kind: 'MinInflation' + value: [MinInflation, (Perquintill | undefined)] +} + +export interface Parameters_UseAuctionSlots { + __kind: 'UseAuctionSlots' + value: [UseAuctionSlots, (boolean | undefined)] +} + +export type UseAuctionSlots = null + +export type MinInflation = null + +export type MaxInflation = null + +export type IdealStake = null + +export type Perquintill = bigint + +export type Falloff = null + +export type RuntimeParameters = RuntimeParameters_Inflation + +export interface RuntimeParameters_Inflation { + __kind: 'Inflation' + value: Parameters +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParametersCall = ParametersCall_set_parameter + +/** + * Set the value of a parameter. + * + * The dispatch origin of this call must be `AdminOrigin` for the given `key`. Values be + * deleted by setting them to `None`. + */ +export interface ParametersCall_set_parameter { + __kind: 'set_parameter' + keyValue: RuntimeParameters +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParaInherentCall: sts.Type = sts.closedEnum(() => { + return { + enter: sts.enumStruct({ + data: V7InherentData, + }), + } +}) + +export const V7InherentData: sts.Type = sts.struct(() => { + return { + bitfields: sts.array(() => V7UncheckedSigned), + backedCandidates: sts.array(() => V7BackedCandidate), + disputes: sts.array(() => V7DisputeStatementSet), + parentHeader: Header, + } +}) + +export const Header: sts.Type
    = sts.struct(() => { + return { + parentHash: H256, + number: sts.number(), + stateRoot: H256, + extrinsicsRoot: H256, + digest: Digest, + } +}) + +export const Digest: sts.Type = sts.struct(() => { + return { + logs: sts.array(() => DigestItem), + } +}) + +export const DigestItem: sts.Type = sts.closedEnum(() => { + return { + Consensus: sts.tuple(() => [sts.bytes(), sts.bytes()]), + Other: sts.bytes(), + PreRuntime: sts.tuple(() => [sts.bytes(), sts.bytes()]), + RuntimeEnvironmentUpdated: sts.unit(), + Seal: sts.tuple(() => [sts.bytes(), sts.bytes()]), + } +}) + +export type DigestItem = DigestItem_Consensus | DigestItem_Other | DigestItem_PreRuntime | DigestItem_RuntimeEnvironmentUpdated | DigestItem_Seal + +export interface DigestItem_Consensus { + __kind: 'Consensus' + value: [Bytes, Bytes] +} + +export interface DigestItem_Other { + __kind: 'Other' + value: Bytes +} + +export interface DigestItem_PreRuntime { + __kind: 'PreRuntime' + value: [Bytes, Bytes] +} + +export interface DigestItem_RuntimeEnvironmentUpdated { + __kind: 'RuntimeEnvironmentUpdated' +} + +export interface DigestItem_Seal { + __kind: 'Seal' + value: [Bytes, Bytes] +} + +export interface Digest { + logs: DigestItem[] +} + +export interface Header { + parentHash: H256 + number: number + stateRoot: H256 + extrinsicsRoot: H256 + digest: Digest +} + +export const V7DisputeStatementSet: sts.Type = sts.struct(() => { + return { + candidateHash: CandidateHash, + session: sts.number(), + statements: sts.array(() => sts.tuple(() => [V7DisputeStatement, V7ValidatorIndex, V7Signature])), + } +}) + +export const V7DisputeStatement: sts.Type = sts.closedEnum(() => { + return { + Invalid: V7InvalidDisputeStatementKind, + Valid: V7ValidDisputeStatementKind, + } +}) + +export const V7ValidDisputeStatementKind: sts.Type = sts.closedEnum(() => { + return { + ApprovalChecking: sts.unit(), + ApprovalCheckingMultipleCandidates: sts.array(() => CandidateHash), + BackingSeconded: H256, + BackingValid: H256, + Explicit: sts.unit(), + } +}) + +export type V7ValidDisputeStatementKind = V7ValidDisputeStatementKind_ApprovalChecking | V7ValidDisputeStatementKind_ApprovalCheckingMultipleCandidates | V7ValidDisputeStatementKind_BackingSeconded | V7ValidDisputeStatementKind_BackingValid | V7ValidDisputeStatementKind_Explicit + +export interface V7ValidDisputeStatementKind_ApprovalChecking { + __kind: 'ApprovalChecking' +} + +export interface V7ValidDisputeStatementKind_ApprovalCheckingMultipleCandidates { + __kind: 'ApprovalCheckingMultipleCandidates' + value: CandidateHash[] +} + +export interface V7ValidDisputeStatementKind_BackingSeconded { + __kind: 'BackingSeconded' + value: H256 +} + +export interface V7ValidDisputeStatementKind_BackingValid { + __kind: 'BackingValid' + value: H256 +} + +export interface V7ValidDisputeStatementKind_Explicit { + __kind: 'Explicit' +} + +export const V7InvalidDisputeStatementKind: sts.Type = sts.closedEnum(() => { + return { + Explicit: sts.unit(), + } +}) + +export type V7InvalidDisputeStatementKind = V7InvalidDisputeStatementKind_Explicit + +export interface V7InvalidDisputeStatementKind_Explicit { + __kind: 'Explicit' +} + +export type V7DisputeStatement = V7DisputeStatement_Invalid | V7DisputeStatement_Valid + +export interface V7DisputeStatement_Invalid { + __kind: 'Invalid' + value: V7InvalidDisputeStatementKind +} + +export interface V7DisputeStatement_Valid { + __kind: 'Valid' + value: V7ValidDisputeStatementKind +} + +export interface V7DisputeStatementSet { + candidateHash: CandidateHash + session: number + statements: [V7DisputeStatement, V7ValidatorIndex, V7Signature][] +} + +export const V7BackedCandidate: sts.Type = sts.struct(() => { + return { + candidate: V7CommittedCandidateReceipt, + validityVotes: sts.array(() => V7ValidityAttestation), + validatorIndices: sts.bitseq(), + } +}) + +export const V7ValidityAttestation: sts.Type = sts.closedEnum(() => { + return { + Explicit: V7Signature, + Implicit: V7Signature, + } +}) + +export type V7ValidityAttestation = V7ValidityAttestation_Explicit | V7ValidityAttestation_Implicit + +export interface V7ValidityAttestation_Explicit { + __kind: 'Explicit' + value: V7Signature +} + +export interface V7ValidityAttestation_Implicit { + __kind: 'Implicit' + value: V7Signature +} + +export const V7CommittedCandidateReceipt: sts.Type = sts.struct(() => { + return { + descriptor: V7CandidateDescriptor, + commitments: V7CandidateCommitments, + } +}) + +export const V7CandidateCommitments: sts.Type = sts.struct(() => { + return { + upwardMessages: sts.array(() => sts.bytes()), + horizontalMessages: sts.array(() => OutboundHrmpMessage), + newValidationCode: sts.option(() => ValidationCode), + headData: HeadData, + processedDownwardMessages: sts.number(), + hrmpWatermark: sts.number(), + } +}) + +export const OutboundHrmpMessage: sts.Type = sts.struct(() => { + return { + recipient: Id, + data: sts.bytes(), + } +}) + +export interface OutboundHrmpMessage { + recipient: Id + data: Bytes +} + +export interface V7CandidateCommitments { + upwardMessages: Bytes[] + horizontalMessages: OutboundHrmpMessage[] + newValidationCode?: (ValidationCode | undefined) + headData: HeadData + processedDownwardMessages: number + hrmpWatermark: number +} + +export const V7CandidateDescriptor: sts.Type = sts.struct(() => { + return { + paraId: Id, + relayParent: H256, + collator: sts.bytes(), + persistedValidationDataHash: H256, + povHash: H256, + erasureRoot: H256, + signature: sts.bytes(), + paraHead: H256, + validationCodeHash: ValidationCodeHash, + } +}) + +export interface V7CandidateDescriptor { + paraId: Id + relayParent: H256 + collator: Bytes + persistedValidationDataHash: H256 + povHash: H256 + erasureRoot: H256 + signature: Bytes + paraHead: H256 + validationCodeHash: ValidationCodeHash +} + +export interface V7CommittedCandidateReceipt { + descriptor: V7CandidateDescriptor + commitments: V7CandidateCommitments +} + +export interface V7BackedCandidate { + candidate: V7CommittedCandidateReceipt + validityVotes: V7ValidityAttestation[] + validatorIndices: BitSequence +} + +export const V7UncheckedSigned: sts.Type = sts.struct(() => { + return { + payload: V7AvailabilityBitfield, + validatorIndex: V7ValidatorIndex, + signature: V7Signature, + } +}) + +export const V7AvailabilityBitfield = sts.bitseq() + +export interface V7UncheckedSigned { + payload: V7AvailabilityBitfield + validatorIndex: V7ValidatorIndex + signature: V7Signature +} + +export type V7AvailabilityBitfield = BitSequence + +export interface V7InherentData { + bitfields: V7UncheckedSigned[] + backedCandidates: V7BackedCandidate[] + disputes: V7DisputeStatementSet[] + parentHeader: Header +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParaInherentCall = ParaInherentCall_enter + +/** + * Enter the paras inherent. This will process bitfields and backed candidates. + */ +export interface ParaInherentCall_enter { + __kind: 'enter' + data: V7InherentData +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ParaInclusionCall: sts.Type = sts.closedEnum(() => { + return { + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ParaInclusionCall = never + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const OnDemandAssignmentProviderCall: sts.Type = sts.closedEnum(() => { + return { + place_order_allow_death: sts.enumStruct({ + maxAmount: sts.bigint(), + paraId: Id, + }), + place_order_keep_alive: sts.enumStruct({ + maxAmount: sts.bigint(), + paraId: Id, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type OnDemandAssignmentProviderCall = OnDemandAssignmentProviderCall_place_order_allow_death | OnDemandAssignmentProviderCall_place_order_keep_alive + +/** + * Create a single on demand core order. + * Will use the spot price for the current block and will reap the account if needed. + * + * Parameters: + * - `origin`: The sender of the call, funds will be withdrawn from this account. + * - `max_amount`: The maximum balance to withdraw from the origin to place an order. + * - `para_id`: A `ParaId` the origin wants to provide blockspace for. + * + * Errors: + * - `InsufficientBalance`: from the Currency implementation + * - `QueueFull` + * - `SpotPriceHigherThanMaxAmount` + * + * Events: + * - `OnDemandOrderPlaced` + */ +export interface OnDemandAssignmentProviderCall_place_order_allow_death { + __kind: 'place_order_allow_death' + maxAmount: bigint + paraId: Id +} + +/** + * Same as the [`place_order_allow_death`](Self::place_order_allow_death) call , but with a + * check that placing the order will not reap the account. + * + * Parameters: + * - `origin`: The sender of the call, funds will be withdrawn from this account. + * - `max_amount`: The maximum balance to withdraw from the origin to place an order. + * - `para_id`: A `ParaId` the origin wants to provide blockspace for. + * + * Errors: + * - `InsufficientBalance`: from the Currency implementation + * - `QueueFull` + * - `SpotPriceHigherThanMaxAmount` + * + * Events: + * - `OnDemandOrderPlaced` + */ +export interface OnDemandAssignmentProviderCall_place_order_keep_alive { + __kind: 'place_order_keep_alive' + maxAmount: bigint + paraId: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NominationPoolsCall: sts.Type = sts.closedEnum(() => { + return { + adjust_pool_deposit: sts.enumStruct({ + poolId: sts.number(), + }), + apply_slash: sts.enumStruct({ + memberAccount: MultiAddress, + }), + bond_extra: sts.enumStruct({ + extra: BondExtra, + }), + bond_extra_other: sts.enumStruct({ + member: MultiAddress, + extra: BondExtra, + }), + chill: sts.enumStruct({ + poolId: sts.number(), + }), + claim_commission: sts.enumStruct({ + poolId: sts.number(), + }), + claim_payout: sts.unit(), + claim_payout_other: sts.enumStruct({ + other: AccountId32, + }), + create: sts.enumStruct({ + amount: sts.bigint(), + root: MultiAddress, + nominator: MultiAddress, + bouncer: MultiAddress, + }), + create_with_pool_id: sts.enumStruct({ + amount: sts.bigint(), + root: MultiAddress, + nominator: MultiAddress, + bouncer: MultiAddress, + poolId: sts.number(), + }), + join: sts.enumStruct({ + amount: sts.bigint(), + poolId: sts.number(), + }), + migrate_delegation: sts.enumStruct({ + memberAccount: MultiAddress, + }), + migrate_pool_to_delegate_stake: sts.enumStruct({ + poolId: sts.number(), + }), + nominate: sts.enumStruct({ + poolId: sts.number(), + validators: sts.array(() => AccountId32), + }), + pool_withdraw_unbonded: sts.enumStruct({ + poolId: sts.number(), + numSlashingSpans: sts.number(), + }), + set_claim_permission: sts.enumStruct({ + permission: ClaimPermission, + }), + set_commission: sts.enumStruct({ + poolId: sts.number(), + newCommission: sts.option(() => sts.tuple(() => [Perbill, AccountId32])), + }), + set_commission_change_rate: sts.enumStruct({ + poolId: sts.number(), + changeRate: CommissionChangeRate, + }), + set_commission_claim_permission: sts.enumStruct({ + poolId: sts.number(), + permission: sts.option(() => CommissionClaimPermission), + }), + set_commission_max: sts.enumStruct({ + poolId: sts.number(), + maxCommission: Perbill, + }), + set_configs: sts.enumStruct({ + minJoinBond: Type_291, + minCreateBond: Type_291, + maxPools: Type_292, + maxMembers: Type_292, + maxMembersPerPool: Type_292, + globalMaxCommission: Type_293, + }), + set_metadata: sts.enumStruct({ + poolId: sts.number(), + metadata: sts.bytes(), + }), + set_state: sts.enumStruct({ + poolId: sts.number(), + state: PoolState, + }), + unbond: sts.enumStruct({ + memberAccount: MultiAddress, + unbondingPoints: sts.bigint(), + }), + update_roles: sts.enumStruct({ + poolId: sts.number(), + newRoot: Type_294, + newNominator: Type_294, + newBouncer: Type_294, + }), + withdraw_unbonded: sts.enumStruct({ + memberAccount: MultiAddress, + numSlashingSpans: sts.number(), + }), + } +}) + +export const Type_294: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: AccountId32, + } +}) + +export type Type_294 = Type_294_Noop | Type_294_Remove | Type_294_Set + +export interface Type_294_Noop { + __kind: 'Noop' +} + +export interface Type_294_Remove { + __kind: 'Remove' +} + +export interface Type_294_Set { + __kind: 'Set' + value: AccountId32 +} + +export const PoolState: sts.Type = sts.closedEnum(() => { + return { + Blocked: sts.unit(), + Destroying: sts.unit(), + Open: sts.unit(), + } +}) + +export type PoolState = PoolState_Blocked | PoolState_Destroying | PoolState_Open + +export interface PoolState_Blocked { + __kind: 'Blocked' +} + +export interface PoolState_Destroying { + __kind: 'Destroying' +} + +export interface PoolState_Open { + __kind: 'Open' +} + +export const Type_293: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: Perbill, + } +}) + +export type Type_293 = Type_293_Noop | Type_293_Remove | Type_293_Set + +export interface Type_293_Noop { + __kind: 'Noop' +} + +export interface Type_293_Remove { + __kind: 'Remove' +} + +export interface Type_293_Set { + __kind: 'Set' + value: Perbill +} + +export const Type_292: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.number(), + } +}) + +export type Type_292 = Type_292_Noop | Type_292_Remove | Type_292_Set + +export interface Type_292_Noop { + __kind: 'Noop' +} + +export interface Type_292_Remove { + __kind: 'Remove' +} + +export interface Type_292_Set { + __kind: 'Set' + value: number +} + +export const Type_291: sts.Type = sts.closedEnum(() => { + return { + Noop: sts.unit(), + Remove: sts.unit(), + Set: sts.bigint(), + } +}) + +export type Type_291 = Type_291_Noop | Type_291_Remove | Type_291_Set + +export interface Type_291_Noop { + __kind: 'Noop' +} + +export interface Type_291_Remove { + __kind: 'Remove' +} + +export interface Type_291_Set { + __kind: 'Set' + value: bigint +} + +export const CommissionClaimPermission: sts.Type = sts.closedEnum(() => { + return { + Account: AccountId32, + Permissionless: sts.unit(), + } +}) + +export type CommissionClaimPermission = CommissionClaimPermission_Account | CommissionClaimPermission_Permissionless + +export interface CommissionClaimPermission_Account { + __kind: 'Account' + value: AccountId32 +} + +export interface CommissionClaimPermission_Permissionless { + __kind: 'Permissionless' +} + +export const CommissionChangeRate: sts.Type = sts.struct(() => { + return { + maxIncrease: Perbill, + minDelay: sts.number(), + } +}) + +export interface CommissionChangeRate { + maxIncrease: Perbill + minDelay: number +} + +export const ClaimPermission: sts.Type = sts.closedEnum(() => { + return { + Permissioned: sts.unit(), + PermissionlessAll: sts.unit(), + PermissionlessCompound: sts.unit(), + PermissionlessWithdraw: sts.unit(), + } +}) + +export type ClaimPermission = ClaimPermission_Permissioned | ClaimPermission_PermissionlessAll | ClaimPermission_PermissionlessCompound | ClaimPermission_PermissionlessWithdraw + +export interface ClaimPermission_Permissioned { + __kind: 'Permissioned' +} + +export interface ClaimPermission_PermissionlessAll { + __kind: 'PermissionlessAll' +} + +export interface ClaimPermission_PermissionlessCompound { + __kind: 'PermissionlessCompound' +} + +export interface ClaimPermission_PermissionlessWithdraw { + __kind: 'PermissionlessWithdraw' +} + +export const BondExtra: sts.Type = sts.closedEnum(() => { + return { + FreeBalance: sts.bigint(), + Rewards: sts.unit(), + } +}) + +export type BondExtra = BondExtra_FreeBalance | BondExtra_Rewards + +export interface BondExtra_FreeBalance { + __kind: 'FreeBalance' + value: bigint +} + +export interface BondExtra_Rewards { + __kind: 'Rewards' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NominationPoolsCall = NominationPoolsCall_adjust_pool_deposit | NominationPoolsCall_apply_slash | NominationPoolsCall_bond_extra | NominationPoolsCall_bond_extra_other | NominationPoolsCall_chill | NominationPoolsCall_claim_commission | NominationPoolsCall_claim_payout | NominationPoolsCall_claim_payout_other | NominationPoolsCall_create | NominationPoolsCall_create_with_pool_id | NominationPoolsCall_join | NominationPoolsCall_migrate_delegation | NominationPoolsCall_migrate_pool_to_delegate_stake | NominationPoolsCall_nominate | NominationPoolsCall_pool_withdraw_unbonded | NominationPoolsCall_set_claim_permission | NominationPoolsCall_set_commission | NominationPoolsCall_set_commission_change_rate | NominationPoolsCall_set_commission_claim_permission | NominationPoolsCall_set_commission_max | NominationPoolsCall_set_configs | NominationPoolsCall_set_metadata | NominationPoolsCall_set_state | NominationPoolsCall_unbond | NominationPoolsCall_update_roles | NominationPoolsCall_withdraw_unbonded + +/** + * Top up the deficit or withdraw the excess ED from the pool. + * + * When a pool is created, the pool depositor transfers ED to the reward account of the + * pool. ED is subject to change and over time, the deposit in the reward account may be + * insufficient to cover the ED deficit of the pool or vice-versa where there is excess + * deposit to the pool. This call allows anyone to adjust the ED deposit of the + * pool by either topping up the deficit or claiming the excess. + */ +export interface NominationPoolsCall_adjust_pool_deposit { + __kind: 'adjust_pool_deposit' + poolId: number +} + +/** + * Apply a pending slash on a member. + * + * Fails unless [`crate::pallet::Config::StakeAdapter`] is of strategy type: + * [`adapter::StakeStrategyType::Delegate`]. + * + * This call can be dispatched permissionlessly (i.e. by any account). If the member has + * slash to be applied, caller may be rewarded with the part of the slash. + */ +export interface NominationPoolsCall_apply_slash { + __kind: 'apply_slash' + memberAccount: MultiAddress +} + +/** + * Bond `extra` more funds from `origin` into the pool to which they already belong. + * + * Additional funds can come from either the free balance of the account, of from the + * accumulated rewards, see [`BondExtra`]. + * + * Bonding extra funds implies an automatic payout of all pending rewards as well. + * See `bond_extra_other` to bond pending rewards of `other` members. + */ +export interface NominationPoolsCall_bond_extra { + __kind: 'bond_extra' + extra: BondExtra +} + +/** + * `origin` bonds funds from `extra` for some pool member `member` into their respective + * pools. + * + * `origin` can bond extra funds from free balance or pending rewards when `origin == + * other`. + * + * In the case of `origin != other`, `origin` can only bond extra pending rewards of + * `other` members assuming set_claim_permission for the given member is + * `PermissionlessCompound` or `PermissionlessAll`. + */ +export interface NominationPoolsCall_bond_extra_other { + __kind: 'bond_extra_other' + member: MultiAddress + extra: BondExtra +} + +/** + * Chill on behalf of the pool. + * + * The dispatch origin of this call can be signed by the pool nominator or the pool + * root role, same as [`Pallet::nominate`]. + * + * Under certain conditions, this call can be dispatched permissionlessly (i.e. by any + * account). + * + * # Conditions for a permissionless dispatch: + * * When pool depositor has less than `MinNominatorBond` staked, otherwise pool members + * are unable to unbond. + * + * # Conditions for permissioned dispatch: + * * The caller has a nominator or root role of the pool. + * This directly forward the call to the staking pallet, on behalf of the pool bonded + * account. + */ +export interface NominationPoolsCall_chill { + __kind: 'chill' + poolId: number +} + +/** + * Claim pending commission. + * + * The dispatch origin of this call must be signed by the `root` role of the pool. Pending + * commission is paid out and added to total claimed commission`. Total pending commission + * is reset to zero. the current. + */ +export interface NominationPoolsCall_claim_commission { + __kind: 'claim_commission' + poolId: number +} + +/** + * A bonded member can use this to claim their payout based on the rewards that the pool + * has accumulated since their last claimed payout (OR since joining if this is their first + * time claiming rewards). The payout will be transferred to the member's account. + * + * The member will earn rewards pro rata based on the members stake vs the sum of the + * members in the pools stake. Rewards do not "expire". + * + * See `claim_payout_other` to claim rewards on behalf of some `other` pool member. + */ +export interface NominationPoolsCall_claim_payout { + __kind: 'claim_payout' +} + +/** + * `origin` can claim payouts on some pool member `other`'s behalf. + * + * Pool member `other` must have a `PermissionlessWithdraw` or `PermissionlessAll` claim + * permission for this call to be successful. + */ +export interface NominationPoolsCall_claim_payout_other { + __kind: 'claim_payout_other' + other: AccountId32 +} + +/** + * Create a new delegation pool. + * + * # Arguments + * + * * `amount` - The amount of funds to delegate to the pool. This also acts of a sort of + * deposit since the pools creator cannot fully unbond funds until the pool is being + * destroyed. + * * `index` - A disambiguation index for creating the account. Likely only useful when + * creating multiple pools in the same extrinsic. + * * `root` - The account to set as [`PoolRoles::root`]. + * * `nominator` - The account to set as the [`PoolRoles::nominator`]. + * * `bouncer` - The account to set as the [`PoolRoles::bouncer`]. + * + * # Note + * + * In addition to `amount`, the caller will transfer the existential deposit; so the caller + * needs at have at least `amount + existential_deposit` transferable. + */ +export interface NominationPoolsCall_create { + __kind: 'create' + amount: bigint + root: MultiAddress + nominator: MultiAddress + bouncer: MultiAddress +} + +/** + * Create a new delegation pool with a previously used pool id + * + * # Arguments + * + * same as `create` with the inclusion of + * * `pool_id` - `A valid PoolId. + */ +export interface NominationPoolsCall_create_with_pool_id { + __kind: 'create_with_pool_id' + amount: bigint + root: MultiAddress + nominator: MultiAddress + bouncer: MultiAddress + poolId: number +} + +/** + * Stake funds with a pool. The amount to bond is transferred from the member to the + * pools account and immediately increases the pools bond. + * + * # Note + * + * * An account can only be a member of a single pool. + * * An account cannot join the same pool multiple times. + * * This call will *not* dust the member account, so the member must have at least + * `existential deposit + amount` in their account. + * * Only a pool with [`PoolState::Open`] can be joined + */ +export interface NominationPoolsCall_join { + __kind: 'join' + amount: bigint + poolId: number +} + +/** + * Migrates delegated funds from the pool account to the `member_account`. + * + * Fails unless [`crate::pallet::Config::StakeAdapter`] is of strategy type: + * [`adapter::StakeStrategyType::Delegate`]. + * + * This is a permission-less call and refunds any fee if claim is successful. + * + * If the pool has migrated to delegation based staking, the staked tokens of pool members + * can be moved and held in their own account. See [`adapter::DelegateStake`] + */ +export interface NominationPoolsCall_migrate_delegation { + __kind: 'migrate_delegation' + memberAccount: MultiAddress +} + +/** + * Migrate pool from [`adapter::StakeStrategyType::Transfer`] to + * [`adapter::StakeStrategyType::Delegate`]. + * + * Fails unless [`crate::pallet::Config::StakeAdapter`] is of strategy type: + * [`adapter::StakeStrategyType::Delegate`]. + * + * This call can be dispatched permissionlessly, and refunds any fee if successful. + * + * If the pool has already migrated to delegation based staking, this call will fail. + */ +export interface NominationPoolsCall_migrate_pool_to_delegate_stake { + __kind: 'migrate_pool_to_delegate_stake' + poolId: number +} + +/** + * Nominate on behalf of the pool. + * + * The dispatch origin of this call must be signed by the pool nominator or the pool + * root role. + * + * This directly forward the call to the staking pallet, on behalf of the pool bonded + * account. + * + * # Note + * + * In addition to a `root` or `nominator` role of `origin`, pool's depositor needs to have + * at least `depositor_min_bond` in the pool to start nominating. + */ +export interface NominationPoolsCall_nominate { + __kind: 'nominate' + poolId: number + validators: AccountId32[] +} + +/** + * Call `withdraw_unbonded` for the pools account. This call can be made by any account. + * + * This is useful if there are too many unlocking chunks to call `unbond`, and some + * can be cleared by withdrawing. In the case there are too many unlocking chunks, the user + * would probably see an error like `NoMoreChunks` emitted from the staking system when + * they attempt to unbond. + */ +export interface NominationPoolsCall_pool_withdraw_unbonded { + __kind: 'pool_withdraw_unbonded' + poolId: number + numSlashingSpans: number +} + +/** + * Allows a pool member to set a claim permission to allow or disallow permissionless + * bonding and withdrawing. + * + * # Arguments + * + * * `origin` - Member of a pool. + * * `permission` - The permission to be applied. + */ +export interface NominationPoolsCall_set_claim_permission { + __kind: 'set_claim_permission' + permission: ClaimPermission +} + +/** + * Set the commission of a pool. + * Both a commission percentage and a commission payee must be provided in the `current` + * tuple. Where a `current` of `None` is provided, any current commission will be removed. + * + * - If a `None` is supplied to `new_commission`, existing commission will be removed. + */ +export interface NominationPoolsCall_set_commission { + __kind: 'set_commission' + poolId: number + newCommission?: ([Perbill, AccountId32] | undefined) +} + +/** + * Set the commission change rate for a pool. + * + * Initial change rate is not bounded, whereas subsequent updates can only be more + * restrictive than the current. + */ +export interface NominationPoolsCall_set_commission_change_rate { + __kind: 'set_commission_change_rate' + poolId: number + changeRate: CommissionChangeRate +} + +/** + * Set or remove a pool's commission claim permission. + * + * Determines who can claim the pool's pending commission. Only the `Root` role of the pool + * is able to configure commission claim permissions. + */ +export interface NominationPoolsCall_set_commission_claim_permission { + __kind: 'set_commission_claim_permission' + poolId: number + permission?: (CommissionClaimPermission | undefined) +} + +/** + * Set the maximum commission of a pool. + * + * - Initial max can be set to any `Perbill`, and only smaller values thereafter. + * - Current commission will be lowered in the event it is higher than a new max + * commission. + */ +export interface NominationPoolsCall_set_commission_max { + __kind: 'set_commission_max' + poolId: number + maxCommission: Perbill +} + +/** + * Update configurations for the nomination pools. The origin for this call must be + * [`Config::AdminOrigin`]. + * + * # Arguments + * + * * `min_join_bond` - Set [`MinJoinBond`]. + * * `min_create_bond` - Set [`MinCreateBond`]. + * * `max_pools` - Set [`MaxPools`]. + * * `max_members` - Set [`MaxPoolMembers`]. + * * `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]. + * * `global_max_commission` - Set [`GlobalMaxCommission`]. + */ +export interface NominationPoolsCall_set_configs { + __kind: 'set_configs' + minJoinBond: Type_291 + minCreateBond: Type_291 + maxPools: Type_292 + maxMembers: Type_292 + maxMembersPerPool: Type_292 + globalMaxCommission: Type_293 +} + +/** + * Set a new metadata for the pool. + * + * The dispatch origin of this call must be signed by the bouncer, or the root role of the + * pool. + */ +export interface NominationPoolsCall_set_metadata { + __kind: 'set_metadata' + poolId: number + metadata: Bytes +} + +/** + * Set a new state for the pool. + * + * If a pool is already in the `Destroying` state, then under no condition can its state + * change again. + * + * The dispatch origin of this call must be either: + * + * 1. signed by the bouncer, or the root role of the pool, + * 2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and + * then the state of the pool can be permissionlessly changed to `Destroying`. + */ +export interface NominationPoolsCall_set_state { + __kind: 'set_state' + poolId: number + state: PoolState +} + +/** + * Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It + * implicitly collects the rewards one last time, since not doing so would mean some + * rewards would be forfeited. + * + * Under certain conditions, this call can be dispatched permissionlessly (i.e. by any + * account). + * + * # Conditions for a permissionless dispatch. + * + * * The pool is blocked and the caller is either the root or bouncer. This is refereed to + * as a kick. + * * The pool is destroying and the member is not the depositor. + * * The pool is destroying, the member is the depositor and no other members are in the + * pool. + * + * ## Conditions for permissioned dispatch (i.e. the caller is also the + * `member_account`): + * + * * The caller is not the depositor. + * * The caller is the depositor, the pool is destroying and no other members are in the + * pool. + * + * # Note + * + * If there are too many unlocking chunks to unbond with the pool account, + * [`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks. + * The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`] + * to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks + * are available). However, it may not be possible to release the current unlocking chunks, + * in which case, the result of this call will likely be the `NoMoreChunks` error from the + * staking system. + */ +export interface NominationPoolsCall_unbond { + __kind: 'unbond' + memberAccount: MultiAddress + unbondingPoints: bigint +} + +/** + * Update the roles of the pool. + * + * The root is the only entity that can change any of the roles, including itself, + * excluding the depositor, who can never change. + * + * It emits an event, notifying UIs of the role change. This event is quite relevant to + * most pool members and they should be informed of changes to pool roles. + */ +export interface NominationPoolsCall_update_roles { + __kind: 'update_roles' + poolId: number + newRoot: Type_294 + newNominator: Type_294 + newBouncer: Type_294 +} + +/** + * Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an + * error is returned. + * + * Under certain conditions, this call can be dispatched permissionlessly (i.e. by any + * account). + * + * # Conditions for a permissionless dispatch + * + * * The pool is in destroy mode and the target is not the depositor. + * * The target is the depositor and they are the only member in the sub pools. + * * The pool is blocked and the caller is either the root or bouncer. + * + * # Conditions for permissioned dispatch + * + * * The caller is the target and they are not the depositor. + * + * # Note + * + * - If the target is the depositor, the pool will be destroyed. + * - If the pool has any pending slash, we also try to slash the member before letting them + * withdraw. This calculation adds some weight overhead and is only defensive. In reality, + * pool slashes must have been already applied via permissionless [`Call::apply_slash`]. + */ +export interface NominationPoolsCall_withdraw_unbonded { + __kind: 'withdraw_unbonded' + memberAccount: MultiAddress + numSlashingSpans: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NisCounterpartBalancesCall: sts.Type = sts.closedEnum(() => { + return { + burn: sts.enumStruct({ + value: sts.bigint(), + keepAlive: sts.boolean(), + }), + force_adjust_total_issuance: sts.enumStruct({ + direction: AdjustmentDirection, + delta: sts.bigint(), + }), + force_set_balance: sts.enumStruct({ + who: MultiAddress, + newFree: sts.bigint(), + }), + force_transfer: sts.enumStruct({ + source: MultiAddress, + dest: MultiAddress, + value: sts.bigint(), + }), + force_unreserve: sts.enumStruct({ + who: MultiAddress, + amount: sts.bigint(), + }), + transfer_all: sts.enumStruct({ + dest: MultiAddress, + keepAlive: sts.boolean(), + }), + transfer_allow_death: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + transfer_keep_alive: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + upgrade_accounts: sts.enumStruct({ + who: sts.array(() => AccountId32), + }), + } +}) + +export const AdjustmentDirection: sts.Type = sts.closedEnum(() => { + return { + Decrease: sts.unit(), + Increase: sts.unit(), + } +}) + +export type AdjustmentDirection = AdjustmentDirection_Decrease | AdjustmentDirection_Increase + +export interface AdjustmentDirection_Decrease { + __kind: 'Decrease' +} + +export interface AdjustmentDirection_Increase { + __kind: 'Increase' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NisCounterpartBalancesCall = NisCounterpartBalancesCall_burn | NisCounterpartBalancesCall_force_adjust_total_issuance | NisCounterpartBalancesCall_force_set_balance | NisCounterpartBalancesCall_force_transfer | NisCounterpartBalancesCall_force_unreserve | NisCounterpartBalancesCall_transfer_all | NisCounterpartBalancesCall_transfer_allow_death | NisCounterpartBalancesCall_transfer_keep_alive | NisCounterpartBalancesCall_upgrade_accounts + +/** + * Burn the specified liquid free balance from the origin account. + * + * If the origin's account ends up below the existential deposit as a result + * of the burn and `keep_alive` is false, the account will be reaped. + * + * Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible, + * this `burn` operation will reduce total issuance by the amount _burned_. + */ +export interface NisCounterpartBalancesCall_burn { + __kind: 'burn' + value: bigint + keepAlive: boolean +} + +/** + * Adjust the total issuance in a saturating way. + * + * Can only be called by root and always needs a positive `delta`. + * + * # Example + */ +export interface NisCounterpartBalancesCall_force_adjust_total_issuance { + __kind: 'force_adjust_total_issuance' + direction: AdjustmentDirection + delta: bigint +} + +/** + * Set the regular balance of a given account. + * + * The dispatch origin for this call is `root`. + */ +export interface NisCounterpartBalancesCall_force_set_balance { + __kind: 'force_set_balance' + who: MultiAddress + newFree: bigint +} + +/** + * Exactly as `transfer_allow_death`, except the origin must be root and the source account + * may be specified. + */ +export interface NisCounterpartBalancesCall_force_transfer { + __kind: 'force_transfer' + source: MultiAddress + dest: MultiAddress + value: bigint +} + +/** + * Unreserve some balance from a user by force. + * + * Can only be called by ROOT. + */ +export interface NisCounterpartBalancesCall_force_unreserve { + __kind: 'force_unreserve' + who: MultiAddress + amount: bigint +} + +/** + * Transfer the entire transferable balance from the caller account. + * + * NOTE: This function only attempts to transfer _transferable_ balances. This means that + * any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be + * transferred by this function. To ensure that this function results in a killed account, + * you might need to prepare the account by removing any reference counters, storage + * deposits, etc... + * + * The dispatch origin of this call must be Signed. + * + * - `dest`: The recipient of the transfer. + * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all + * of the funds the account has, causing the sender account to be killed (false), or + * transfer everything except at least the existential deposit, which will guarantee to + * keep the sender account alive (true). + */ +export interface NisCounterpartBalancesCall_transfer_all { + __kind: 'transfer_all' + dest: MultiAddress + keepAlive: boolean +} + +/** + * Transfer some liquid free balance to another account. + * + * `transfer_allow_death` will set the `FreeBalance` of the sender and receiver. + * If the sender's account is below the existential deposit as a result + * of the transfer, the account will be reaped. + * + * The dispatch origin for this call must be `Signed` by the transactor. + */ +export interface NisCounterpartBalancesCall_transfer_allow_death { + __kind: 'transfer_allow_death' + dest: MultiAddress + value: bigint +} + +/** + * Same as the [`transfer_allow_death`] call, but with a check that the transfer will not + * kill the origin account. + * + * 99% of the time you want [`transfer_allow_death`] instead. + * + * [`transfer_allow_death`]: struct.Pallet.html#method.transfer + */ +export interface NisCounterpartBalancesCall_transfer_keep_alive { + __kind: 'transfer_keep_alive' + dest: MultiAddress + value: bigint +} + +/** + * Upgrade a specified account. + * + * - `origin`: Must be `Signed`. + * - `who`: The account to be upgraded. + * + * This will waive the transaction fee if at least all but 10% of the accounts needed to + * be upgraded. (We let some not have to be upgraded just in order to allow for the + * possibility of churn). + */ +export interface NisCounterpartBalancesCall_upgrade_accounts { + __kind: 'upgrade_accounts' + who: AccountId32[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const NisCall: sts.Type = sts.closedEnum(() => { + return { + communify: sts.enumStruct({ + index: sts.number(), + }), + fund_deficit: sts.unit(), + place_bid: sts.enumStruct({ + amount: sts.bigint(), + duration: sts.number(), + }), + privatize: sts.enumStruct({ + index: sts.number(), + }), + retract_bid: sts.enumStruct({ + amount: sts.bigint(), + duration: sts.number(), + }), + thaw_communal: sts.enumStruct({ + index: sts.number(), + }), + thaw_private: sts.enumStruct({ + index: sts.number(), + maybeProportion: sts.option(() => Perquintill), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type NisCall = NisCall_communify | NisCall_fund_deficit | NisCall_place_bid | NisCall_privatize | NisCall_retract_bid | NisCall_thaw_communal | NisCall_thaw_private + +/** + * Make a private receipt communal and create fungible counterparts for its owner. + */ +export interface NisCall_communify { + __kind: 'communify' + index: number +} + +/** + * Ensure we have sufficient funding for all potential payouts. + * + * - `origin`: Must be accepted by `FundOrigin`. + */ +export interface NisCall_fund_deficit { + __kind: 'fund_deficit' +} + +/** + * Place a bid. + * + * Origin must be Signed, and account must have at least `amount` in free balance. + * + * - `amount`: The amount of the bid; these funds will be reserved, and if/when + * consolidated, removed. Must be at least `MinBid`. + * - `duration`: The number of periods before which the newly consolidated bid may be + * thawed. Must be greater than 1 and no more than `QueueCount`. + * + * Complexities: + * - `Queues[duration].len()` (just take max). + */ +export interface NisCall_place_bid { + __kind: 'place_bid' + amount: bigint + duration: number +} + +/** + * Make a communal receipt private and burn fungible counterparts from its owner. + */ +export interface NisCall_privatize { + __kind: 'privatize' + index: number +} + +/** + * Retract a previously placed bid. + * + * Origin must be Signed, and the account should have previously issued a still-active bid + * of `amount` for `duration`. + * + * - `amount`: The amount of the previous bid. + * - `duration`: The duration of the previous bid. + */ +export interface NisCall_retract_bid { + __kind: 'retract_bid' + amount: bigint + duration: number +} + +/** + * Reduce or remove an outstanding receipt, placing the according proportion of funds into + * the account of the owner. + * + * - `origin`: Must be Signed and the account must be the owner of the fungible counterpart + * for receipt `index`. + * - `index`: The index of the receipt. + */ +export interface NisCall_thaw_communal { + __kind: 'thaw_communal' + index: number +} + +/** + * Reduce or remove an outstanding receipt, placing the according proportion of funds into + * the account of the owner. + * + * - `origin`: Must be Signed and the account must be the owner of the receipt `index` as + * well as any fungible counterpart. + * - `index`: The index of the receipt. + * - `portion`: If `Some`, then only the given portion of the receipt should be thawed. If + * `None`, then all of it should be. + */ +export interface NisCall_thaw_private { + __kind: 'thaw_private' + index: number + maybeProportion?: (Perquintill | undefined) +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const MultisigCall: sts.Type = sts.closedEnum(() => { + return { + approve_as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + maybeTimepoint: sts.option(() => Timepoint), + callHash: sts.bytes(), + maxWeight: Weight, + }), + as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + maybeTimepoint: sts.option(() => Timepoint), + call: Call, + maxWeight: Weight, + }), + as_multi_threshold_1: sts.enumStruct({ + otherSignatories: sts.array(() => AccountId32), + call: Call, + }), + cancel_as_multi: sts.enumStruct({ + threshold: sts.number(), + otherSignatories: sts.array(() => AccountId32), + timepoint: Timepoint, + callHash: sts.bytes(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type MultisigCall = MultisigCall_approve_as_multi | MultisigCall_as_multi | MultisigCall_as_multi_threshold_1 | MultisigCall_cancel_as_multi + +/** + * Register approval for a dispatch to be made from a deterministic composite account if + * approved by a total of `threshold - 1` of `other_signatories`. + * + * Payment: `DepositBase` will be reserved if this is the first approval, plus + * `threshold` times `DepositFactor`. It is returned once this dispatch happens or + * is cancelled. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is + * not the first approval, then it must be `Some`, with the timepoint (block number and + * transaction index) of the first approval transaction. + * - `call_hash`: The hash of the call to be executed. + * + * NOTE: If this is the final approval, you will want to use `as_multi` instead. + * + * ## Complexity + * - `O(S)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One encode & hash, both of complexity `O(S)`. + * - Up to one binary search and insert (`O(logS + S)`). + * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. + * - One event. + * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit + * taken for its lifetime of `DepositBase + threshold * DepositFactor`. + */ +export interface MultisigCall_approve_as_multi { + __kind: 'approve_as_multi' + threshold: number + otherSignatories: AccountId32[] + maybeTimepoint?: (Timepoint | undefined) + callHash: Bytes + maxWeight: Weight +} + +/** + * Register approval for a dispatch to be made from a deterministic composite account if + * approved by a total of `threshold - 1` of `other_signatories`. + * + * If there are enough, then dispatch the call. + * + * Payment: `DepositBase` will be reserved if this is the first approval, plus + * `threshold` times `DepositFactor`. It is returned once this dispatch happens or + * is cancelled. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is + * not the first approval, then it must be `Some`, with the timepoint (block number and + * transaction index) of the first approval transaction. + * - `call`: The call to be executed. + * + * NOTE: Unless this is the final approval, you will generally want to use + * `approve_as_multi` instead, since it only requires a hash of the call. + * + * Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise + * on success, result is `Ok` and the result from the interior call, if it was executed, + * may be found in the deposited `MultisigExecuted` event. + * + * ## Complexity + * - `O(S + Z + Call)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len. + * - One encode & hash, both of complexity `O(S)`. + * - Up to one binary search and insert (`O(logS + S)`). + * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. + * - One event. + * - The weight of the `call`. + * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit + * taken for its lifetime of `DepositBase + threshold * DepositFactor`. + */ +export interface MultisigCall_as_multi { + __kind: 'as_multi' + threshold: number + otherSignatories: AccountId32[] + maybeTimepoint?: (Timepoint | undefined) + call: Call + maxWeight: Weight +} + +/** + * Immediately dispatch a multi-signature call using a single approval from the caller. + * + * The dispatch origin for this call must be _Signed_. + * + * - `other_signatories`: The accounts (other than the sender) who are part of the + * multi-signature, but do not participate in the approval process. + * - `call`: The call to be executed. + * + * Result is equivalent to the dispatched result. + * + * ## Complexity + * O(Z + C) where Z is the length of the call and C its execution weight. + */ +export interface MultisigCall_as_multi_threshold_1 { + __kind: 'as_multi_threshold_1' + otherSignatories: AccountId32[] + call: Call +} + +/** + * Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously + * for this operation will be unreserved on success. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `timepoint`: The timepoint (block number and transaction index) of the first approval + * transaction for this dispatch. + * - `call_hash`: The hash of the call to be executed. + * + * ## Complexity + * - `O(S)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One encode & hash, both of complexity `O(S)`. + * - One event. + * - I/O: 1 read `O(S)`, one remove. + * - Storage: removes one item. + */ +export interface MultisigCall_cancel_as_multi { + __kind: 'cancel_as_multi' + threshold: number + otherSignatories: AccountId32[] + timepoint: Timepoint + callHash: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const MessageQueueCall: sts.Type = sts.closedEnum(() => { + return { + execute_overweight: sts.enumStruct({ + messageOrigin: AggregateMessageOrigin, + page: sts.number(), + index: sts.number(), + weightLimit: Weight, + }), + reap_page: sts.enumStruct({ + messageOrigin: AggregateMessageOrigin, + pageIndex: sts.number(), + }), + } +}) + +export const AggregateMessageOrigin: sts.Type = sts.closedEnum(() => { + return { + Ump: UmpQueueId, + } +}) + +export const UmpQueueId: sts.Type = sts.closedEnum(() => { + return { + Para: Id, + } +}) + +export type UmpQueueId = UmpQueueId_Para + +export interface UmpQueueId_Para { + __kind: 'Para' + value: Id +} + +export type AggregateMessageOrigin = AggregateMessageOrigin_Ump + +export interface AggregateMessageOrigin_Ump { + __kind: 'Ump' + value: UmpQueueId +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type MessageQueueCall = MessageQueueCall_execute_overweight | MessageQueueCall_reap_page + +/** + * Execute an overweight message. + * + * Temporary processing errors will be propagated whereas permanent errors are treated + * as success condition. + * + * - `origin`: Must be `Signed`. + * - `message_origin`: The origin from which the message to be executed arrived. + * - `page`: The page in the queue in which the message to be executed is sitting. + * - `index`: The index into the queue of the message to be executed. + * - `weight_limit`: The maximum amount of weight allowed to be consumed in the execution + * of the message. + * + * Benchmark complexity considerations: O(index + weight_limit). + */ +export interface MessageQueueCall_execute_overweight { + __kind: 'execute_overweight' + messageOrigin: AggregateMessageOrigin + page: number + index: number + weightLimit: Weight +} + +/** + * Remove a page which has no more messages remaining to be processed or is stale. + */ +export interface MessageQueueCall_reap_page { + __kind: 'reap_page' + messageOrigin: AggregateMessageOrigin + pageIndex: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const InitializerCall: sts.Type = sts.closedEnum(() => { + return { + force_approve: sts.enumStruct({ + upTo: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type InitializerCall = InitializerCall_force_approve + +/** + * Issue a signal to the consensus engine to forcibly act as though all parachain + * blocks in all relay chain blocks up to and including the given number in the current + * chain are valid and should be finalized. + */ +export interface InitializerCall_force_approve { + __kind: 'force_approve' + upTo: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const IndicesCall: sts.Type = sts.closedEnum(() => { + return { + claim: sts.enumStruct({ + index: sts.number(), + }), + force_transfer: sts.enumStruct({ + new: MultiAddress, + index: sts.number(), + freeze: sts.boolean(), + }), + free: sts.enumStruct({ + index: sts.number(), + }), + freeze: sts.enumStruct({ + index: sts.number(), + }), + transfer: sts.enumStruct({ + new: MultiAddress, + index: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type IndicesCall = IndicesCall_claim | IndicesCall_force_transfer | IndicesCall_free | IndicesCall_freeze | IndicesCall_transfer + +/** + * Assign an previously unassigned index. + * + * Payment: `Deposit` is reserved from the sender account. + * + * The dispatch origin for this call must be _Signed_. + * + * - `index`: the index to be claimed. This must not be in use. + * + * Emits `IndexAssigned` if successful. + * + * ## Complexity + * - `O(1)`. + */ +export interface IndicesCall_claim { + __kind: 'claim' + index: number +} + +/** + * Force an index to an account. This doesn't require a deposit. If the index is already + * held, then any deposit is reimbursed to its current owner. + * + * The dispatch origin for this call must be _Root_. + * + * - `index`: the index to be (re-)assigned. + * - `new`: the new owner of the index. This function is a no-op if it is equal to sender. + * - `freeze`: if set to `true`, will freeze the index so it cannot be transferred. + * + * Emits `IndexAssigned` if successful. + * + * ## Complexity + * - `O(1)`. + */ +export interface IndicesCall_force_transfer { + __kind: 'force_transfer' + new: MultiAddress + index: number + freeze: boolean +} + +/** + * Free up an index owned by the sender. + * + * Payment: Any previous deposit placed for the index is unreserved in the sender account. + * + * The dispatch origin for this call must be _Signed_ and the sender must own the index. + * + * - `index`: the index to be freed. This must be owned by the sender. + * + * Emits `IndexFreed` if successful. + * + * ## Complexity + * - `O(1)`. + */ +export interface IndicesCall_free { + __kind: 'free' + index: number +} + +/** + * Freeze an index so it will always point to the sender account. This consumes the + * deposit. + * + * The dispatch origin for this call must be _Signed_ and the signing account must have a + * non-frozen account `index`. + * + * - `index`: the index to be frozen in place. + * + * Emits `IndexFrozen` if successful. + * + * ## Complexity + * - `O(1)`. + */ +export interface IndicesCall_freeze { + __kind: 'freeze' + index: number +} + +/** + * Assign an index already owned by the sender to another account. The balance reservation + * is effectively transferred to the new account. + * + * The dispatch origin for this call must be _Signed_. + * + * - `index`: the index to be re-assigned. This must be owned by the sender. + * - `new`: the new owner of the index. This function is a no-op if it is equal to sender. + * + * Emits `IndexAssigned` if successful. + * + * ## Complexity + * - `O(1)`. + */ +export interface IndicesCall_transfer { + __kind: 'transfer' + new: MultiAddress + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const HrmpCall: sts.Type = sts.closedEnum(() => { + return { + establish_channel_with_system: sts.enumStruct({ + targetSystemChain: Id, + }), + establish_system_channel: sts.enumStruct({ + sender: Id, + recipient: Id, + }), + force_clean_hrmp: sts.enumStruct({ + para: Id, + numInbound: sts.number(), + numOutbound: sts.number(), + }), + force_open_hrmp_channel: sts.enumStruct({ + sender: Id, + recipient: Id, + maxCapacity: sts.number(), + maxMessageSize: sts.number(), + }), + force_process_hrmp_close: sts.enumStruct({ + channels: sts.number(), + }), + force_process_hrmp_open: sts.enumStruct({ + channels: sts.number(), + }), + hrmp_accept_open_channel: sts.enumStruct({ + sender: Id, + }), + hrmp_cancel_open_request: sts.enumStruct({ + channelId: HrmpChannelId, + openRequests: sts.number(), + }), + hrmp_close_channel: sts.enumStruct({ + channelId: HrmpChannelId, + }), + hrmp_init_open_channel: sts.enumStruct({ + recipient: Id, + proposedMaxCapacity: sts.number(), + proposedMaxMessageSize: sts.number(), + }), + poke_channel_deposits: sts.enumStruct({ + sender: Id, + recipient: Id, + }), + } +}) + +export const HrmpChannelId: sts.Type = sts.struct(() => { + return { + sender: Id, + recipient: Id, + } +}) + +export interface HrmpChannelId { + sender: Id + recipient: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type HrmpCall = HrmpCall_establish_channel_with_system | HrmpCall_establish_system_channel | HrmpCall_force_clean_hrmp | HrmpCall_force_open_hrmp_channel | HrmpCall_force_process_hrmp_close | HrmpCall_force_process_hrmp_open | HrmpCall_hrmp_accept_open_channel | HrmpCall_hrmp_cancel_open_request | HrmpCall_hrmp_close_channel | HrmpCall_hrmp_init_open_channel | HrmpCall_poke_channel_deposits + +/** + * Establish a bidirectional HRMP channel between a parachain and a system chain. + * + * Arguments: + * + * - `target_system_chain`: A system chain, `ParaId`. + * + * The origin needs to be the parachain origin. + */ +export interface HrmpCall_establish_channel_with_system { + __kind: 'establish_channel_with_system' + targetSystemChain: Id +} + +/** + * Establish an HRMP channel between two system chains. If the channel does not already + * exist, the transaction fees will be refunded to the caller. The system does not take + * deposits for channels between system chains, and automatically sets the message number + * and size limits to the maximum allowed by the network's configuration. + * + * Arguments: + * + * - `sender`: A system chain, `ParaId`. + * - `recipient`: A system chain, `ParaId`. + * + * Any signed origin can call this function, but _both_ inputs MUST be system chains. If + * the channel does not exist yet, there is no fee. + */ +export interface HrmpCall_establish_system_channel { + __kind: 'establish_system_channel' + sender: Id + recipient: Id +} + +/** + * This extrinsic triggers the cleanup of all the HRMP storage items that a para may have. + * Normally this happens once per session, but this allows you to trigger the cleanup + * immediately for a specific parachain. + * + * Number of inbound and outbound channels for `para` must be provided as witness data. + * + * Origin must be the `ChannelManager`. + */ +export interface HrmpCall_force_clean_hrmp { + __kind: 'force_clean_hrmp' + para: Id + numInbound: number + numOutbound: number +} + +/** + * Open a channel from a `sender` to a `recipient` `ParaId`. Although opened by governance, + * the `max_capacity` and `max_message_size` are still subject to the Relay Chain's + * configured limits. + * + * Expected use is when one (and only one) of the `ParaId`s involved in the channel is + * governed by the system, e.g. a system parachain. + * + * Origin must be the `ChannelManager`. + */ +export interface HrmpCall_force_open_hrmp_channel { + __kind: 'force_open_hrmp_channel' + sender: Id + recipient: Id + maxCapacity: number + maxMessageSize: number +} + +/** + * Force process HRMP close channel requests. + * + * If there are pending HRMP close channel requests, you can use this function to process + * all of those requests immediately. + * + * Total number of closing channels must be provided as witness data. + * + * Origin must be the `ChannelManager`. + */ +export interface HrmpCall_force_process_hrmp_close { + __kind: 'force_process_hrmp_close' + channels: number +} + +/** + * Force process HRMP open channel requests. + * + * If there are pending HRMP open channel requests, you can use this function to process + * all of those requests immediately. + * + * Total number of opening channels must be provided as witness data. + * + * Origin must be the `ChannelManager`. + */ +export interface HrmpCall_force_process_hrmp_open { + __kind: 'force_process_hrmp_open' + channels: number +} + +/** + * Accept a pending open channel request from the given sender. + * + * The channel will be opened only on the next session boundary. + */ +export interface HrmpCall_hrmp_accept_open_channel { + __kind: 'hrmp_accept_open_channel' + sender: Id +} + +/** + * This cancels a pending open channel request. It can be canceled by either of the sender + * or the recipient for that request. The origin must be either of those. + * + * The cancellation happens immediately. It is not possible to cancel the request if it is + * already accepted. + * + * Total number of open requests (i.e. `HrmpOpenChannelRequestsList`) must be provided as + * witness data. + */ +export interface HrmpCall_hrmp_cancel_open_request { + __kind: 'hrmp_cancel_open_request' + channelId: HrmpChannelId + openRequests: number +} + +/** + * Initiate unilateral closing of a channel. The origin must be either the sender or the + * recipient in the channel being closed. + * + * The closure can only happen on a session change. + */ +export interface HrmpCall_hrmp_close_channel { + __kind: 'hrmp_close_channel' + channelId: HrmpChannelId +} + +/** + * Initiate opening a channel from a parachain to a given recipient with given channel + * parameters. + * + * - `proposed_max_capacity` - specifies how many messages can be in the channel at once. + * - `proposed_max_message_size` - specifies the maximum size of the messages. + * + * These numbers are a subject to the relay-chain configuration limits. + * + * The channel can be opened only after the recipient confirms it and only on a session + * change. + */ +export interface HrmpCall_hrmp_init_open_channel { + __kind: 'hrmp_init_open_channel' + recipient: Id + proposedMaxCapacity: number + proposedMaxMessageSize: number +} + +/** + * Update the deposits held for an HRMP channel to the latest `Configuration`. Channels + * with system chains do not require a deposit. + * + * Arguments: + * + * - `sender`: A chain, `ParaId`. + * - `recipient`: A chain, `ParaId`. + * + * Any signed origin can call this function. + */ +export interface HrmpCall_poke_channel_deposits { + __kind: 'poke_channel_deposits' + sender: Id + recipient: Id +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const GrandpaCall: sts.Type = sts.closedEnum(() => { + return { + note_stalled: sts.enumStruct({ + delay: sts.number(), + bestFinalizedBlockNumber: sts.number(), + }), + report_equivocation: sts.enumStruct({ + equivocationProof: Type_132, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: Type_132, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const Type_132: sts.Type = sts.struct(() => { + return { + setId: sts.bigint(), + equivocation: Equivocation, + } +}) + +export const Equivocation: sts.Type = sts.closedEnum(() => { + return { + Precommit: Type_139, + Prevote: Type_134, + } +}) + +export const Type_134: sts.Type = sts.struct(() => { + return { + roundNumber: sts.bigint(), + identity: Public, + first: sts.tuple(() => [Prevote, Signature]), + second: sts.tuple(() => [Prevote, Signature]), + } +}) + +export const Signature = sts.bytes() + +export const Prevote: sts.Type = sts.struct(() => { + return { + targetHash: H256, + targetNumber: sts.number(), + } +}) + +export interface Prevote { + targetHash: H256 + targetNumber: number +} + +export interface Type_134 { + roundNumber: bigint + identity: Public + first: [Prevote, Signature] + second: [Prevote, Signature] +} + +export type Signature = Bytes + +export const Type_139: sts.Type = sts.struct(() => { + return { + roundNumber: sts.bigint(), + identity: Public, + first: sts.tuple(() => [Precommit, Signature]), + second: sts.tuple(() => [Precommit, Signature]), + } +}) + +export const Precommit: sts.Type = sts.struct(() => { + return { + targetHash: H256, + targetNumber: sts.number(), + } +}) + +export interface Precommit { + targetHash: H256 + targetNumber: number +} + +export interface Type_139 { + roundNumber: bigint + identity: Public + first: [Precommit, Signature] + second: [Precommit, Signature] +} + +export type Equivocation = Equivocation_Precommit | Equivocation_Prevote + +export interface Equivocation_Precommit { + __kind: 'Precommit' + value: Type_139 +} + +export interface Equivocation_Prevote { + __kind: 'Prevote' + value: Type_134 +} + +export interface Type_132 { + setId: bigint + equivocation: Equivocation +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type GrandpaCall = GrandpaCall_note_stalled | GrandpaCall_report_equivocation | GrandpaCall_report_equivocation_unsigned + +/** + * Note that the current authority set of the GRANDPA finality gadget has stalled. + * + * This will trigger a forced authority set change at the beginning of the next session, to + * be enacted `delay` blocks after that. The `delay` should be high enough to safely assume + * that the block signalling the forced change will not be re-orged e.g. 1000 blocks. + * The block production rate (which may be slowed down because of finality lagging) should + * be taken into account when choosing the `delay`. The GRANDPA voters based on the new + * authority will start voting on top of `best_finalized_block_number` for new finalized + * blocks. `best_finalized_block_number` should be the highest of the latest finalized + * block of all validators of the new authority set. + * + * Only callable by root. + */ +export interface GrandpaCall_note_stalled { + __kind: 'note_stalled' + delay: number + bestFinalizedBlockNumber: number +} + +/** + * Report voter equivocation/misbehavior. This method will verify the + * equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence + * will be reported. + */ +export interface GrandpaCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: Type_132 + keyOwnerProof: MembershipProof +} + +/** + * Report voter equivocation/misbehavior. This method will verify the + * equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence + * will be reported. + * + * This extrinsic must be called unsigned and it is expected that only + * block authors will call it (validated in `ValidateUnsigned`), as such + * if the block author is defined it will be defined as the equivocation + * reporter. + */ +export interface GrandpaCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: Type_132 + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FellowshipReferendaCall: sts.Type = sts.closedEnum(() => { + return { + cancel: sts.enumStruct({ + index: sts.number(), + }), + kill: sts.enumStruct({ + index: sts.number(), + }), + nudge_referendum: sts.enumStruct({ + index: sts.number(), + }), + one_fewer_deciding: sts.enumStruct({ + track: sts.number(), + }), + place_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_decision_deposit: sts.enumStruct({ + index: sts.number(), + }), + refund_submission_deposit: sts.enumStruct({ + index: sts.number(), + }), + set_metadata: sts.enumStruct({ + index: sts.number(), + maybeHash: sts.option(() => H256), + }), + submit: sts.enumStruct({ + proposalOrigin: OriginCaller, + proposal: Bounded, + enactmentMoment: DispatchTime, + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FellowshipReferendaCall = FellowshipReferendaCall_cancel | FellowshipReferendaCall_kill | FellowshipReferendaCall_nudge_referendum | FellowshipReferendaCall_one_fewer_deciding | FellowshipReferendaCall_place_decision_deposit | FellowshipReferendaCall_refund_decision_deposit | FellowshipReferendaCall_refund_submission_deposit | FellowshipReferendaCall_set_metadata | FellowshipReferendaCall_submit + +/** + * Cancel an ongoing referendum. + * + * - `origin`: must be the `CancelOrigin`. + * - `index`: The index of the referendum to be cancelled. + * + * Emits `Cancelled`. + */ +export interface FellowshipReferendaCall_cancel { + __kind: 'cancel' + index: number +} + +/** + * Cancel an ongoing referendum and slash the deposits. + * + * - `origin`: must be the `KillOrigin`. + * - `index`: The index of the referendum to be cancelled. + * + * Emits `Killed` and `DepositSlashed`. + */ +export interface FellowshipReferendaCall_kill { + __kind: 'kill' + index: number +} + +/** + * Advance a referendum onto its next logical state. Only used internally. + * + * - `origin`: must be `Root`. + * - `index`: the referendum to be advanced. + */ +export interface FellowshipReferendaCall_nudge_referendum { + __kind: 'nudge_referendum' + index: number +} + +/** + * Advance a track onto its next logical state. Only used internally. + * + * - `origin`: must be `Root`. + * - `track`: the track to be advanced. + * + * Action item for when there is now one fewer referendum in the deciding phase and the + * `DecidingCount` is not yet updated. This means that we should either: + * - begin deciding another referendum (and leave `DecidingCount` alone); or + * - decrement `DecidingCount`. + */ +export interface FellowshipReferendaCall_one_fewer_deciding { + __kind: 'one_fewer_deciding' + track: number +} + +/** + * Post the Decision Deposit for a referendum. + * + * - `origin`: must be `Signed` and the account must have funds available for the + * referendum's track's Decision Deposit. + * - `index`: The index of the submitted referendum whose Decision Deposit is yet to be + * posted. + * + * Emits `DecisionDepositPlaced`. + */ +export interface FellowshipReferendaCall_place_decision_deposit { + __kind: 'place_decision_deposit' + index: number +} + +/** + * Refund the Decision Deposit for a closed referendum back to the depositor. + * + * - `origin`: must be `Signed` or `Root`. + * - `index`: The index of a closed referendum whose Decision Deposit has not yet been + * refunded. + * + * Emits `DecisionDepositRefunded`. + */ +export interface FellowshipReferendaCall_refund_decision_deposit { + __kind: 'refund_decision_deposit' + index: number +} + +/** + * Refund the Submission Deposit for a closed referendum back to the depositor. + * + * - `origin`: must be `Signed` or `Root`. + * - `index`: The index of a closed referendum whose Submission Deposit has not yet been + * refunded. + * + * Emits `SubmissionDepositRefunded`. + */ +export interface FellowshipReferendaCall_refund_submission_deposit { + __kind: 'refund_submission_deposit' + index: number +} + +/** + * Set or clear metadata of a referendum. + * + * Parameters: + * - `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a + * metadata of a finished referendum. + * - `index`: The index of a referendum to set or clear metadata for. + * - `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata. + */ +export interface FellowshipReferendaCall_set_metadata { + __kind: 'set_metadata' + index: number + maybeHash?: (H256 | undefined) +} + +/** + * Propose a referendum on a privileged action. + * + * - `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds + * available. + * - `proposal_origin`: The origin from which the proposal should be executed. + * - `proposal`: The proposal. + * - `enactment_moment`: The moment that the proposal should be enacted. + * + * Emits `Submitted`. + */ +export interface FellowshipReferendaCall_submit { + __kind: 'submit' + proposalOrigin: OriginCaller + proposal: Bounded + enactmentMoment: DispatchTime +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FellowshipCollectiveCall: sts.Type = sts.closedEnum(() => { + return { + add_member: sts.enumStruct({ + who: MultiAddress, + }), + cleanup_poll: sts.enumStruct({ + pollIndex: sts.number(), + max: sts.number(), + }), + demote_member: sts.enumStruct({ + who: MultiAddress, + }), + exchange_member: sts.enumStruct({ + who: MultiAddress, + newWho: MultiAddress, + }), + promote_member: sts.enumStruct({ + who: MultiAddress, + }), + remove_member: sts.enumStruct({ + who: MultiAddress, + minRank: sts.number(), + }), + vote: sts.enumStruct({ + poll: sts.number(), + aye: sts.boolean(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FellowshipCollectiveCall = FellowshipCollectiveCall_add_member | FellowshipCollectiveCall_cleanup_poll | FellowshipCollectiveCall_demote_member | FellowshipCollectiveCall_exchange_member | FellowshipCollectiveCall_promote_member | FellowshipCollectiveCall_remove_member | FellowshipCollectiveCall_vote + +/** + * Introduce a new member. + * + * - `origin`: Must be the `AddOrigin`. + * - `who`: Account of non-member which will become a member. + * + * Weight: `O(1)` + */ +export interface FellowshipCollectiveCall_add_member { + __kind: 'add_member' + who: MultiAddress +} + +/** + * Remove votes from the given poll. It must have ended. + * + * - `origin`: Must be `Signed` by any account. + * - `poll_index`: Index of a poll which is completed and for which votes continue to + * exist. + * - `max`: Maximum number of vote items from remove in this call. + * + * Transaction fees are waived if the operation is successful. + * + * Weight `O(max)` (less if there are fewer items to remove than `max`). + */ +export interface FellowshipCollectiveCall_cleanup_poll { + __kind: 'cleanup_poll' + pollIndex: number + max: number +} + +/** + * Decrement the rank of an existing member by one. If the member is already at rank zero, + * then they are removed entirely. + * + * - `origin`: Must be the `DemoteOrigin`. + * - `who`: Account of existing member of rank greater than zero. + * + * Weight: `O(1)`, less if the member's index is highest in its rank. + */ +export interface FellowshipCollectiveCall_demote_member { + __kind: 'demote_member' + who: MultiAddress +} + +/** + * Exchanges a member with a new account and the same existing rank. + * + * - `origin`: Must be the `ExchangeOrigin`. + * - `who`: Account of existing member of rank greater than zero to be exchanged. + * - `new_who`: New Account of existing member of rank greater than zero to exchanged to. + */ +export interface FellowshipCollectiveCall_exchange_member { + __kind: 'exchange_member' + who: MultiAddress + newWho: MultiAddress +} + +/** + * Increment the rank of an existing member by one. + * + * - `origin`: Must be the `PromoteOrigin`. + * - `who`: Account of existing member. + * + * Weight: `O(1)` + */ +export interface FellowshipCollectiveCall_promote_member { + __kind: 'promote_member' + who: MultiAddress +} + +/** + * Remove the member entirely. + * + * - `origin`: Must be the `RemoveOrigin`. + * - `who`: Account of existing member of rank greater than zero. + * - `min_rank`: The rank of the member or greater. + * + * Weight: `O(min_rank)`. + */ +export interface FellowshipCollectiveCall_remove_member { + __kind: 'remove_member' + who: MultiAddress + minRank: number +} + +/** + * Add an aye or nay vote for the sender to the given proposal. + * + * - `origin`: Must be `Signed` by a member account. + * - `poll`: Index of a poll which is ongoing. + * - `aye`: `true` if the vote is to approve the proposal, `false` otherwise. + * + * Transaction fees are be waived if the member is voting on any particular proposal + * for the first time and the call is successful. Subsequent vote changes will charge a + * fee. + * + * Weight: `O(1)`, less if there was no previous vote on the poll by the member. + */ +export interface FellowshipCollectiveCall_vote { + __kind: 'vote' + poll: number + aye: boolean +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const FastUnstakeCall: sts.Type = sts.closedEnum(() => { + return { + control: sts.enumStruct({ + erasToCheck: sts.number(), + }), + deregister: sts.unit(), + register_fast_unstake: sts.unit(), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type FastUnstakeCall = FastUnstakeCall_control | FastUnstakeCall_deregister | FastUnstakeCall_register_fast_unstake + +/** + * Control the operation of this pallet. + * + * ## Dispatch Origin + * + * The dispatch origin of this call must be [`Config::ControlOrigin`]. + * + * ## Details + * + * Can set the number of eras to check per block, and potentially other admin work. + * + * ## Events + * + * No events are emitted from this dispatch. + */ +export interface FastUnstakeCall_control { + __kind: 'control' + erasToCheck: number +} + +/** + * Deregister oneself from the fast-unstake. + * + * ## Dispatch Origin + * + * The dispatch origin of this call must be *signed* by whoever is permitted to call + * unbond funds by the staking system. See [`Config::Staking`]. + * + * ## Details + * + * This is useful if one is registered, they are still waiting, and they change their mind. + * + * Note that the associated stash is still fully unbonded and chilled as a consequence of + * calling [`Pallet::register_fast_unstake`]. Therefore, this should probably be followed + * by a call to `rebond` in the staking system. + * + * ## Events + * + * Some events from the staking and currency system might be emitted. + */ +export interface FastUnstakeCall_deregister { + __kind: 'deregister' +} + +/** + * Register oneself for fast-unstake. + * + * ## Dispatch Origin + * + * The dispatch origin of this call must be *signed* by whoever is permitted to call + * unbond funds by the staking system. See [`Config::Staking`]. + * + * ## Details + * + * The stash associated with the origin must have no ongoing unlocking chunks. If + * successful, this will fully unbond and chill the stash. Then, it will enqueue the stash + * to be checked in further blocks. + * + * If by the time this is called, the stash is actually eligible for fast-unstake, then + * they are guaranteed to remain eligible, because the call will chill them as well. + * + * If the check works, the entire staking data is removed, i.e. the stash is fully + * unstaked. + * + * If the check fails, the stash remains chilled and waiting for being unbonded as in with + * the normal staking system, but they lose part of their unbonding chunks due to consuming + * the chain's resources. + * + * ## Events + * + * Some events from the staking and currency system might be emitted. + */ +export interface FastUnstakeCall_register_fast_unstake { + __kind: 'register_fast_unstake' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ElectionProviderMultiPhaseCall: sts.Type = sts.closedEnum(() => { + return { + governance_fallback: sts.enumStruct({ + maybeMaxVoters: sts.option(() => sts.number()), + maybeMaxTargets: sts.option(() => sts.number()), + }), + set_emergency_election_result: sts.enumStruct({ + supports: sts.array(() => sts.tuple(() => [AccountId32, Support])), + }), + set_minimum_untrusted_score: sts.enumStruct({ + maybeNextScore: sts.option(() => ElectionScore), + }), + submit: sts.enumStruct({ + rawSolution: RawSolution, + }), + submit_unsigned: sts.enumStruct({ + rawSolution: RawSolution, + witness: SolutionOrSnapshotSize, + }), + } +}) + +export const SolutionOrSnapshotSize: sts.Type = sts.struct(() => { + return { + voters: sts.number(), + targets: sts.number(), + } +}) + +export interface SolutionOrSnapshotSize { + voters: number + targets: number +} + +export const RawSolution: sts.Type = sts.struct(() => { + return { + solution: NposCompactSolution24, + score: ElectionScore, + round: sts.number(), + } +}) + +export const NposCompactSolution24: sts.Type = sts.struct(() => { + return { + votes1: sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), + votes2: sts.array(() => sts.tuple(() => [sts.number(), sts.tuple(() => [sts.number(), sts.number()]), sts.number()])), + votes3: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes4: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes5: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes6: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes7: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes8: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes9: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes10: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes11: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes12: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes13: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes14: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes15: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes16: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes17: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes18: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes19: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes20: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes21: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes22: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes23: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + votes24: sts.array(() => sts.tuple(() => [sts.number(), sts.array(() => sts.tuple(() => [sts.number(), sts.number()])), sts.number()])), + } +}) + +export interface NposCompactSolution24 { + votes1: [number, number][] + votes2: [number, [number, number], number][] + votes3: [number, [number, number][], number][] + votes4: [number, [number, number][], number][] + votes5: [number, [number, number][], number][] + votes6: [number, [number, number][], number][] + votes7: [number, [number, number][], number][] + votes8: [number, [number, number][], number][] + votes9: [number, [number, number][], number][] + votes10: [number, [number, number][], number][] + votes11: [number, [number, number][], number][] + votes12: [number, [number, number][], number][] + votes13: [number, [number, number][], number][] + votes14: [number, [number, number][], number][] + votes15: [number, [number, number][], number][] + votes16: [number, [number, number][], number][] + votes17: [number, [number, number][], number][] + votes18: [number, [number, number][], number][] + votes19: [number, [number, number][], number][] + votes20: [number, [number, number][], number][] + votes21: [number, [number, number][], number][] + votes22: [number, [number, number][], number][] + votes23: [number, [number, number][], number][] + votes24: [number, [number, number][], number][] +} + +export interface RawSolution { + solution: NposCompactSolution24 + score: ElectionScore + round: number +} + +export interface ElectionScore { + minimalStake: bigint + sumStake: bigint + sumStakeSquared: bigint +} + +export const ElectionScore: sts.Type = sts.struct(() => { + return { + minimalStake: sts.bigint(), + sumStake: sts.bigint(), + sumStakeSquared: sts.bigint(), + } +}) + +export const Support: sts.Type = sts.struct(() => { + return { + total: sts.bigint(), + voters: sts.array(() => sts.tuple(() => [AccountId32, sts.bigint()])), + } +}) + +export interface Support { + total: bigint + voters: [AccountId32, bigint][] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ElectionProviderMultiPhaseCall = ElectionProviderMultiPhaseCall_governance_fallback | ElectionProviderMultiPhaseCall_set_emergency_election_result | ElectionProviderMultiPhaseCall_set_minimum_untrusted_score | ElectionProviderMultiPhaseCall_submit | ElectionProviderMultiPhaseCall_submit_unsigned + +/** + * Trigger the governance fallback. + * + * This can only be called when [`Phase::Emergency`] is enabled, as an alternative to + * calling [`Call::set_emergency_election_result`]. + */ +export interface ElectionProviderMultiPhaseCall_governance_fallback { + __kind: 'governance_fallback' + maybeMaxVoters?: (number | undefined) + maybeMaxTargets?: (number | undefined) +} + +/** + * Set a solution in the queue, to be handed out to the client of this pallet in the next + * call to `ElectionProvider::elect`. + * + * This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`. + * + * The solution is not checked for any feasibility and is assumed to be trustworthy, as any + * feasibility check itself can in principle cause the election process to fail (due to + * memory/weight constrains). + */ +export interface ElectionProviderMultiPhaseCall_set_emergency_election_result { + __kind: 'set_emergency_election_result' + supports: [AccountId32, Support][] +} + +/** + * Set a new value for `MinimumUntrustedScore`. + * + * Dispatch origin must be aligned with `T::ForceOrigin`. + * + * This check can be turned off by setting the value to `None`. + */ +export interface ElectionProviderMultiPhaseCall_set_minimum_untrusted_score { + __kind: 'set_minimum_untrusted_score' + maybeNextScore?: (ElectionScore | undefined) +} + +/** + * Submit a solution for the signed phase. + * + * The dispatch origin fo this call must be __signed__. + * + * The solution is potentially queued, based on the claimed score and processed at the end + * of the signed phase. + * + * A deposit is reserved and recorded for the solution. Based on the outcome, the solution + * might be rewarded, slashed, or get all or a part of the deposit back. + */ +export interface ElectionProviderMultiPhaseCall_submit { + __kind: 'submit' + rawSolution: RawSolution +} + +/** + * Submit a solution for the unsigned phase. + * + * The dispatch origin fo this call must be __none__. + * + * This submission is checked on the fly. Moreover, this unsigned solution is only + * validated when submitted to the pool from the **local** node. Effectively, this means + * that only active validators can submit this transaction when authoring a block (similar + * to an inherent). + * + * To prevent any incorrect solution (and thus wasted time/weight), this transaction will + * panic if the solution submitted by the validator is invalid in any way, effectively + * putting their authoring reward at risk. + * + * No deposit or reward is associated with this submission. + */ +export interface ElectionProviderMultiPhaseCall_submit_unsigned { + __kind: 'submit_unsigned' + rawSolution: RawSolution + witness: SolutionOrSnapshotSize +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const CrowdloanCall: sts.Type = sts.closedEnum(() => { + return { + add_memo: sts.enumStruct({ + index: Id, + memo: sts.bytes(), + }), + contribute: sts.enumStruct({ + index: sts.number(), + value: sts.bigint(), + signature: sts.option(() => MultiSignature), + }), + contribute_all: sts.enumStruct({ + index: sts.number(), + signature: sts.option(() => MultiSignature), + }), + create: sts.enumStruct({ + index: sts.number(), + cap: sts.bigint(), + firstPeriod: sts.number(), + lastPeriod: sts.number(), + end: sts.number(), + verifier: sts.option(() => MultiSigner), + }), + dissolve: sts.enumStruct({ + index: sts.number(), + }), + edit: sts.enumStruct({ + index: sts.number(), + cap: sts.bigint(), + firstPeriod: sts.number(), + lastPeriod: sts.number(), + end: sts.number(), + verifier: sts.option(() => MultiSigner), + }), + poke: sts.enumStruct({ + index: Id, + }), + refund: sts.enumStruct({ + index: sts.number(), + }), + withdraw: sts.enumStruct({ + who: AccountId32, + index: sts.number(), + }), + } +}) + +export const MultiSigner: sts.Type = sts.closedEnum(() => { + return { + Ecdsa: sts.bytes(), + Ed25519: sts.bytes(), + Sr25519: sts.bytes(), + } +}) + +export type MultiSigner = MultiSigner_Ecdsa | MultiSigner_Ed25519 | MultiSigner_Sr25519 + +export interface MultiSigner_Ecdsa { + __kind: 'Ecdsa' + value: Bytes +} + +export interface MultiSigner_Ed25519 { + __kind: 'Ed25519' + value: Bytes +} + +export interface MultiSigner_Sr25519 { + __kind: 'Sr25519' + value: Bytes +} + +export const MultiSignature: sts.Type = sts.closedEnum(() => { + return { + Ecdsa: sts.bytes(), + Ed25519: sts.bytes(), + Sr25519: sts.bytes(), + } +}) + +export type MultiSignature = MultiSignature_Ecdsa | MultiSignature_Ed25519 | MultiSignature_Sr25519 + +export interface MultiSignature_Ecdsa { + __kind: 'Ecdsa' + value: Bytes +} + +export interface MultiSignature_Ed25519 { + __kind: 'Ed25519' + value: Bytes +} + +export interface MultiSignature_Sr25519 { + __kind: 'Sr25519' + value: Bytes +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type CrowdloanCall = CrowdloanCall_add_memo | CrowdloanCall_contribute | CrowdloanCall_contribute_all | CrowdloanCall_create | CrowdloanCall_dissolve | CrowdloanCall_edit | CrowdloanCall_poke | CrowdloanCall_refund | CrowdloanCall_withdraw + +/** + * Add an optional memo to an existing crowdloan contribution. + * + * Origin must be Signed, and the user must have contributed to the crowdloan. + */ +export interface CrowdloanCall_add_memo { + __kind: 'add_memo' + index: Id + memo: Bytes +} + +/** + * Contribute to a crowd sale. This will transfer some balance over to fund a parachain + * slot. It will be withdrawable when the crowdloan has ended and the funds are unused. + */ +export interface CrowdloanCall_contribute { + __kind: 'contribute' + index: number + value: bigint + signature?: (MultiSignature | undefined) +} + +/** + * Contribute your entire balance to a crowd sale. This will transfer the entire balance of + * a user over to fund a parachain slot. It will be withdrawable when the crowdloan has + * ended and the funds are unused. + */ +export interface CrowdloanCall_contribute_all { + __kind: 'contribute_all' + index: number + signature?: (MultiSignature | undefined) +} + +/** + * Create a new crowdloaning campaign for a parachain slot with the given lease period + * range. + * + * This applies a lock to your parachain configuration, ensuring that it cannot be changed + * by the parachain manager. + */ +export interface CrowdloanCall_create { + __kind: 'create' + index: number + cap: bigint + firstPeriod: number + lastPeriod: number + end: number + verifier?: (MultiSigner | undefined) +} + +/** + * Remove a fund after the retirement period has ended and all funds have been returned. + */ +export interface CrowdloanCall_dissolve { + __kind: 'dissolve' + index: number +} + +/** + * Edit the configuration for an in-progress crowdloan. + * + * Can only be called by Root origin. + */ +export interface CrowdloanCall_edit { + __kind: 'edit' + index: number + cap: bigint + firstPeriod: number + lastPeriod: number + end: number + verifier?: (MultiSigner | undefined) +} + +/** + * Poke the fund into `NewRaise` + * + * Origin must be Signed, and the fund has non-zero raise. + */ +export interface CrowdloanCall_poke { + __kind: 'poke' + index: Id +} + +/** + * Automatically refund contributors of an ended crowdloan. + * Due to weight restrictions, this function may need to be called multiple + * times to fully refund all users. We will refund `RemoveKeysLimit` users at a time. + * + * Origin must be signed, but can come from anyone. + */ +export interface CrowdloanCall_refund { + __kind: 'refund' + index: number +} + +/** + * Withdraw full balance of a specific contributor. + * + * Origin must be signed, but can come from anyone. + * + * The fund must be either in, or ready for, retirement. For a fund to be *in* retirement, + * then the retirement flag must be set. For a fund to be ready for retirement, then: + * - it must not already be in retirement; + * - the amount of raised funds must be bigger than the _free_ balance of the account; + * - and either: + * - the block number must be at least `end`; or + * - the current lease period must be greater than the fund's `last_period`. + * + * In this case, the fund's retirement flag is set and its `end` is reset to the current + * block number. + * + * - `who`: The account whose contribution should be withdrawn. + * - `index`: The parachain to whose crowdloan the contribution was made. + */ +export interface CrowdloanCall_withdraw { + __kind: 'withdraw' + who: AccountId32 + index: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const CoretimeCall: sts.Type = sts.closedEnum(() => { + return { + assign_core: sts.enumStruct({ + core: sts.number(), + begin: sts.number(), + assignment: sts.array(() => sts.tuple(() => [CoreAssignment, PartsOf57600])), + endHint: sts.option(() => sts.number()), + }), + request_core_count: sts.enumStruct({ + count: sts.number(), + }), + request_revenue_at: sts.enumStruct({ + when: sts.number(), + }), + } +}) + +export const PartsOf57600 = sts.number() + +export const CoreAssignment: sts.Type = sts.closedEnum(() => { + return { + Idle: sts.unit(), + Pool: sts.unit(), + Task: sts.number(), + } +}) + +export type CoreAssignment = CoreAssignment_Idle | CoreAssignment_Pool | CoreAssignment_Task + +export interface CoreAssignment_Idle { + __kind: 'Idle' +} + +export interface CoreAssignment_Pool { + __kind: 'Pool' +} + +export interface CoreAssignment_Task { + __kind: 'Task' + value: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type CoretimeCall = CoretimeCall_assign_core | CoretimeCall_request_core_count | CoretimeCall_request_revenue_at + +/** + * Receive instructions from the `ExternalBrokerOrigin`, detailing how a specific core is + * to be used. + * + * Parameters: + * -`origin`: The `ExternalBrokerOrigin`, assumed to be the coretime chain. + * -`core`: The core that should be scheduled. + * -`begin`: The starting blockheight of the instruction. + * -`assignment`: How the blockspace should be utilised. + * -`end_hint`: An optional hint as to when this particular set of instructions will end. + */ +export interface CoretimeCall_assign_core { + __kind: 'assign_core' + core: number + begin: number + assignment: [CoreAssignment, PartsOf57600][] + endHint?: (number | undefined) +} + +/** + * Request the configuration to be updated with the specified number of cores. Warning: + * Since this only schedules a configuration update, it takes two sessions to come into + * effect. + * + * - `origin`: Root or the Coretime Chain + * - `count`: total number of cores + */ +export interface CoretimeCall_request_core_count { + __kind: 'request_core_count' + count: number +} + +/** + * Request to claim the instantaneous coretime sales revenue starting from the block it was + * last claimed until and up to the block specified. The claimed amount value is sent back + * to the Coretime chain in a `notify_revenue` message. At the same time, the amount is + * teleported to the Coretime chain. + */ +export interface CoretimeCall_request_revenue_at { + __kind: 'request_revenue_at' + when: number +} + +export type PartsOf57600 = number + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ConvictionVotingCall: sts.Type = sts.closedEnum(() => { + return { + delegate: sts.enumStruct({ + class: sts.number(), + to: MultiAddress, + conviction: Conviction, + balance: sts.bigint(), + }), + remove_other_vote: sts.enumStruct({ + target: MultiAddress, + class: sts.number(), + index: sts.number(), + }), + remove_vote: sts.enumStruct({ + class: sts.option(() => sts.number()), + index: sts.number(), + }), + undelegate: sts.enumStruct({ + class: sts.number(), + }), + unlock: sts.enumStruct({ + class: sts.number(), + target: MultiAddress, + }), + vote: sts.enumStruct({ + pollIndex: sts.number(), + vote: AccountVote, + }), + } +}) + +export const AccountVote: sts.Type = sts.closedEnum(() => { + return { + Split: sts.enumStruct({ + aye: sts.bigint(), + nay: sts.bigint(), + }), + SplitAbstain: sts.enumStruct({ + aye: sts.bigint(), + nay: sts.bigint(), + abstain: sts.bigint(), + }), + Standard: sts.enumStruct({ + vote: sts.number(), + balance: sts.bigint(), + }), + } +}) + +export type AccountVote = AccountVote_Split | AccountVote_SplitAbstain | AccountVote_Standard + +export interface AccountVote_Split { + __kind: 'Split' + aye: bigint + nay: bigint +} + +export interface AccountVote_SplitAbstain { + __kind: 'SplitAbstain' + aye: bigint + nay: bigint + abstain: bigint +} + +export interface AccountVote_Standard { + __kind: 'Standard' + vote: number + balance: bigint +} + +export const Conviction: sts.Type = sts.closedEnum(() => { + return { + Locked1x: sts.unit(), + Locked2x: sts.unit(), + Locked3x: sts.unit(), + Locked4x: sts.unit(), + Locked5x: sts.unit(), + Locked6x: sts.unit(), + None: sts.unit(), + } +}) + +export type Conviction = Conviction_Locked1x | Conviction_Locked2x | Conviction_Locked3x | Conviction_Locked4x | Conviction_Locked5x | Conviction_Locked6x | Conviction_None + +export interface Conviction_Locked1x { + __kind: 'Locked1x' +} + +export interface Conviction_Locked2x { + __kind: 'Locked2x' +} + +export interface Conviction_Locked3x { + __kind: 'Locked3x' +} + +export interface Conviction_Locked4x { + __kind: 'Locked4x' +} + +export interface Conviction_Locked5x { + __kind: 'Locked5x' +} + +export interface Conviction_Locked6x { + __kind: 'Locked6x' +} + +export interface Conviction_None { + __kind: 'None' +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ConvictionVotingCall = ConvictionVotingCall_delegate | ConvictionVotingCall_remove_other_vote | ConvictionVotingCall_remove_vote | ConvictionVotingCall_undelegate | ConvictionVotingCall_unlock | ConvictionVotingCall_vote + +/** + * Delegate the voting power (with some given conviction) of the sending account for a + * particular class of polls. + * + * The balance delegated is locked for as long as it's delegated, and thereafter for the + * time appropriate for the conviction's lock period. + * + * The dispatch origin of this call must be _Signed_, and the signing account must either: + * - be delegating already; or + * - have no voting activity (if there is, then it will need to be removed through + * `remove_vote`). + * + * - `to`: The account whose voting the `target` account's voting power will follow. + * - `class`: The class of polls to delegate. To delegate multiple classes, multiple calls + * to this function are required. + * - `conviction`: The conviction that will be attached to the delegated votes. When the + * account is undelegated, the funds will be locked for the corresponding period. + * - `balance`: The amount of the account's balance to be used in delegating. This must not + * be more than the account's current balance. + * + * Emits `Delegated`. + * + * Weight: `O(R)` where R is the number of polls the voter delegating to has + * voted on. Weight is initially charged as if maximum votes, but is refunded later. + */ +export interface ConvictionVotingCall_delegate { + __kind: 'delegate' + class: number + to: MultiAddress + conviction: Conviction + balance: bigint +} + +/** + * Remove a vote for a poll. + * + * If the `target` is equal to the signer, then this function is exactly equivalent to + * `remove_vote`. If not equal to the signer, then the vote must have expired, + * either because the poll was cancelled, because the voter lost the poll or + * because the conviction period is over. + * + * The dispatch origin of this call must be _Signed_. + * + * - `target`: The account of the vote to be removed; this account must have voted for poll + * `index`. + * - `index`: The index of poll of the vote to be removed. + * - `class`: The class of the poll. + * + * Weight: `O(R + log R)` where R is the number of polls that `target` has voted on. + * Weight is calculated for the maximum number of vote. + */ +export interface ConvictionVotingCall_remove_other_vote { + __kind: 'remove_other_vote' + target: MultiAddress + class: number + index: number +} + +/** + * Remove a vote for a poll. + * + * If: + * - the poll was cancelled, or + * - the poll is ongoing, or + * - the poll has ended such that + * - the vote of the account was in opposition to the result; or + * - there was no conviction to the account's vote; or + * - the account made a split vote + * ...then the vote is removed cleanly and a following call to `unlock` may result in more + * funds being available. + * + * If, however, the poll has ended and: + * - it finished corresponding to the vote of the account, and + * - the account made a standard vote with conviction, and + * - the lock period of the conviction is not over + * ...then the lock will be aggregated into the overall account's lock, which may involve + * *overlocking* (where the two locks are combined into a single lock that is the maximum + * of both the amount locked and the time is it locked for). + * + * The dispatch origin of this call must be _Signed_, and the signer must have a vote + * registered for poll `index`. + * + * - `index`: The index of poll of the vote to be removed. + * - `class`: Optional parameter, if given it indicates the class of the poll. For polls + * which have finished or are cancelled, this must be `Some`. + * + * Weight: `O(R + log R)` where R is the number of polls that `target` has voted on. + * Weight is calculated for the maximum number of vote. + */ +export interface ConvictionVotingCall_remove_vote { + __kind: 'remove_vote' + class?: (number | undefined) + index: number +} + +/** + * Undelegate the voting power of the sending account for a particular class of polls. + * + * Tokens may be unlocked following once an amount of time consistent with the lock period + * of the conviction with which the delegation was issued has passed. + * + * The dispatch origin of this call must be _Signed_ and the signing account must be + * currently delegating. + * + * - `class`: The class of polls to remove the delegation from. + * + * Emits `Undelegated`. + * + * Weight: `O(R)` where R is the number of polls the voter delegating to has + * voted on. Weight is initially charged as if maximum votes, but is refunded later. + */ +export interface ConvictionVotingCall_undelegate { + __kind: 'undelegate' + class: number +} + +/** + * Remove the lock caused by prior voting/delegating which has expired within a particular + * class. + * + * The dispatch origin of this call must be _Signed_. + * + * - `class`: The class of polls to unlock. + * - `target`: The account to remove the lock on. + * + * Weight: `O(R)` with R number of vote of target. + */ +export interface ConvictionVotingCall_unlock { + __kind: 'unlock' + class: number + target: MultiAddress +} + +/** + * Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal; + * otherwise it is a vote to keep the status quo. + * + * The dispatch origin of this call must be _Signed_. + * + * - `poll_index`: The index of the poll to vote for. + * - `vote`: The vote configuration. + * + * Weight: `O(R)` where R is the number of polls the voter has voted on. + */ +export interface ConvictionVotingCall_vote { + __kind: 'vote' + pollIndex: number + vote: AccountVote +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ConfigurationCall: sts.Type = sts.closedEnum(() => { + return { + set_approval_voting_params: sts.enumStruct({ + new: V7ApprovalVotingParams, + }), + set_async_backing_params: sts.enumStruct({ + new: V7AsyncBackingParams, + }), + set_bypass_consistency_check: sts.enumStruct({ + new: sts.boolean(), + }), + set_code_retention_period: sts.enumStruct({ + new: sts.number(), + }), + set_coretime_cores: sts.enumStruct({ + new: sts.number(), + }), + set_dispute_period: sts.enumStruct({ + new: sts.number(), + }), + set_dispute_post_conclusion_acceptance_period: sts.enumStruct({ + new: sts.number(), + }), + set_executor_params: sts.enumStruct({ + new: sts.array(() => V7ExecutorParam), + }), + set_group_rotation_frequency: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_capacity: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_channel_max_total_size: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_message_num_per_candidate: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_parachain_inbound_channels: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_max_parachain_outbound_channels: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_open_request_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_hrmp_recipient_deposit: sts.enumStruct({ + new: sts.bigint(), + }), + set_hrmp_sender_deposit: sts.enumStruct({ + new: sts.bigint(), + }), + set_max_availability_timeouts: sts.enumStruct({ + new: sts.number(), + }), + set_max_code_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_downward_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_head_data_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_pov_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_message_num_per_candidate: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_message_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_queue_count: sts.enumStruct({ + new: sts.number(), + }), + set_max_upward_queue_size: sts.enumStruct({ + new: sts.number(), + }), + set_max_validators: sts.enumStruct({ + new: sts.option(() => sts.number()), + }), + set_max_validators_per_core: sts.enumStruct({ + new: sts.option(() => sts.number()), + }), + set_minimum_backing_votes: sts.enumStruct({ + new: sts.number(), + }), + set_minimum_validation_upgrade_delay: sts.enumStruct({ + new: sts.number(), + }), + set_n_delay_tranches: sts.enumStruct({ + new: sts.number(), + }), + set_needed_approvals: sts.enumStruct({ + new: sts.number(), + }), + set_no_show_slots: sts.enumStruct({ + new: sts.number(), + }), + set_node_feature: sts.enumStruct({ + index: sts.number(), + value: sts.boolean(), + }), + set_on_demand_base_fee: sts.enumStruct({ + new: sts.bigint(), + }), + set_on_demand_fee_variability: sts.enumStruct({ + new: Perbill, + }), + set_on_demand_queue_max_size: sts.enumStruct({ + new: sts.number(), + }), + set_on_demand_target_queue_utilization: sts.enumStruct({ + new: Perbill, + }), + set_on_demand_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_paras_availability_period: sts.enumStruct({ + new: sts.number(), + }), + set_pvf_voting_ttl: sts.enumStruct({ + new: sts.number(), + }), + set_relay_vrf_modulo_samples: sts.enumStruct({ + new: sts.number(), + }), + set_scheduler_params: sts.enumStruct({ + new: SchedulerParams, + }), + set_scheduling_lookahead: sts.enumStruct({ + new: sts.number(), + }), + set_validation_upgrade_cooldown: sts.enumStruct({ + new: sts.number(), + }), + set_validation_upgrade_delay: sts.enumStruct({ + new: sts.number(), + }), + set_zeroth_delay_tranche_width: sts.enumStruct({ + new: sts.number(), + }), + } +}) + +export const SchedulerParams: sts.Type = sts.struct(() => { + return { + groupRotationFrequency: sts.number(), + parasAvailabilityPeriod: sts.number(), + maxValidatorsPerCore: sts.option(() => sts.number()), + lookahead: sts.number(), + numCores: sts.number(), + maxAvailabilityTimeouts: sts.number(), + onDemandQueueMaxSize: sts.number(), + onDemandTargetQueueUtilization: Perbill, + onDemandFeeVariability: Perbill, + onDemandBaseFee: sts.bigint(), + ttl: sts.number(), + } +}) + +export interface SchedulerParams { + groupRotationFrequency: number + parasAvailabilityPeriod: number + maxValidatorsPerCore?: (number | undefined) + lookahead: number + numCores: number + maxAvailabilityTimeouts: number + onDemandQueueMaxSize: number + onDemandTargetQueueUtilization: Perbill + onDemandFeeVariability: Perbill + onDemandBaseFee: bigint + ttl: number +} + +export const V7ExecutorParam: sts.Type = sts.closedEnum(() => { + return { + MaxMemoryPages: sts.number(), + PrecheckingMaxMemory: sts.bigint(), + PvfExecTimeout: sts.tuple(() => [V7PvfExecKind, sts.bigint()]), + PvfPrepTimeout: sts.tuple(() => [V7PvfPrepKind, sts.bigint()]), + StackLogicalMax: sts.number(), + StackNativeMax: sts.number(), + WasmExtBulkMemory: sts.unit(), + } +}) + +export const V7PvfPrepKind: sts.Type = sts.closedEnum(() => { + return { + Precheck: sts.unit(), + Prepare: sts.unit(), + } +}) + +export type V7PvfPrepKind = V7PvfPrepKind_Precheck | V7PvfPrepKind_Prepare + +export interface V7PvfPrepKind_Precheck { + __kind: 'Precheck' +} + +export interface V7PvfPrepKind_Prepare { + __kind: 'Prepare' +} + +export const V7PvfExecKind: sts.Type = sts.closedEnum(() => { + return { + Approval: sts.unit(), + Backing: sts.unit(), + } +}) + +export type V7PvfExecKind = V7PvfExecKind_Approval | V7PvfExecKind_Backing + +export interface V7PvfExecKind_Approval { + __kind: 'Approval' +} + +export interface V7PvfExecKind_Backing { + __kind: 'Backing' +} + +export type V7ExecutorParam = V7ExecutorParam_MaxMemoryPages | V7ExecutorParam_PrecheckingMaxMemory | V7ExecutorParam_PvfExecTimeout | V7ExecutorParam_PvfPrepTimeout | V7ExecutorParam_StackLogicalMax | V7ExecutorParam_StackNativeMax | V7ExecutorParam_WasmExtBulkMemory + +export interface V7ExecutorParam_MaxMemoryPages { + __kind: 'MaxMemoryPages' + value: number +} + +export interface V7ExecutorParam_PrecheckingMaxMemory { + __kind: 'PrecheckingMaxMemory' + value: bigint +} + +export interface V7ExecutorParam_PvfExecTimeout { + __kind: 'PvfExecTimeout' + value: [V7PvfExecKind, bigint] +} + +export interface V7ExecutorParam_PvfPrepTimeout { + __kind: 'PvfPrepTimeout' + value: [V7PvfPrepKind, bigint] +} + +export interface V7ExecutorParam_StackLogicalMax { + __kind: 'StackLogicalMax' + value: number +} + +export interface V7ExecutorParam_StackNativeMax { + __kind: 'StackNativeMax' + value: number +} + +export interface V7ExecutorParam_WasmExtBulkMemory { + __kind: 'WasmExtBulkMemory' +} + +export const V7AsyncBackingParams: sts.Type = sts.struct(() => { + return { + maxCandidateDepth: sts.number(), + allowedAncestryLen: sts.number(), + } +}) + +export interface V7AsyncBackingParams { + maxCandidateDepth: number + allowedAncestryLen: number +} + +export const V7ApprovalVotingParams: sts.Type = sts.struct(() => { + return { + maxApprovalCoalesceCount: sts.number(), + } +}) + +export interface V7ApprovalVotingParams { + maxApprovalCoalesceCount: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ConfigurationCall = ConfigurationCall_set_approval_voting_params | ConfigurationCall_set_async_backing_params | ConfigurationCall_set_bypass_consistency_check | ConfigurationCall_set_code_retention_period | ConfigurationCall_set_coretime_cores | ConfigurationCall_set_dispute_period | ConfigurationCall_set_dispute_post_conclusion_acceptance_period | ConfigurationCall_set_executor_params | ConfigurationCall_set_group_rotation_frequency | ConfigurationCall_set_hrmp_channel_max_capacity | ConfigurationCall_set_hrmp_channel_max_message_size | ConfigurationCall_set_hrmp_channel_max_total_size | ConfigurationCall_set_hrmp_max_message_num_per_candidate | ConfigurationCall_set_hrmp_max_parachain_inbound_channels | ConfigurationCall_set_hrmp_max_parachain_outbound_channels | ConfigurationCall_set_hrmp_open_request_ttl | ConfigurationCall_set_hrmp_recipient_deposit | ConfigurationCall_set_hrmp_sender_deposit | ConfigurationCall_set_max_availability_timeouts | ConfigurationCall_set_max_code_size | ConfigurationCall_set_max_downward_message_size | ConfigurationCall_set_max_head_data_size | ConfigurationCall_set_max_pov_size | ConfigurationCall_set_max_upward_message_num_per_candidate | ConfigurationCall_set_max_upward_message_size | ConfigurationCall_set_max_upward_queue_count | ConfigurationCall_set_max_upward_queue_size | ConfigurationCall_set_max_validators | ConfigurationCall_set_max_validators_per_core | ConfigurationCall_set_minimum_backing_votes | ConfigurationCall_set_minimum_validation_upgrade_delay | ConfigurationCall_set_n_delay_tranches | ConfigurationCall_set_needed_approvals | ConfigurationCall_set_no_show_slots | ConfigurationCall_set_node_feature | ConfigurationCall_set_on_demand_base_fee | ConfigurationCall_set_on_demand_fee_variability | ConfigurationCall_set_on_demand_queue_max_size | ConfigurationCall_set_on_demand_target_queue_utilization | ConfigurationCall_set_on_demand_ttl | ConfigurationCall_set_paras_availability_period | ConfigurationCall_set_pvf_voting_ttl | ConfigurationCall_set_relay_vrf_modulo_samples | ConfigurationCall_set_scheduler_params | ConfigurationCall_set_scheduling_lookahead | ConfigurationCall_set_validation_upgrade_cooldown | ConfigurationCall_set_validation_upgrade_delay | ConfigurationCall_set_zeroth_delay_tranche_width + +/** + * Set approval-voting-params. + */ +export interface ConfigurationCall_set_approval_voting_params { + __kind: 'set_approval_voting_params' + new: V7ApprovalVotingParams +} + +/** + * Set the asynchronous backing parameters. + */ +export interface ConfigurationCall_set_async_backing_params { + __kind: 'set_async_backing_params' + new: V7AsyncBackingParams +} + +/** + * Setting this to true will disable consistency checks for the configuration setters. + * Use with caution. + */ +export interface ConfigurationCall_set_bypass_consistency_check { + __kind: 'set_bypass_consistency_check' + new: boolean +} + +/** + * Set the acceptance period for an included candidate. + */ +export interface ConfigurationCall_set_code_retention_period { + __kind: 'set_code_retention_period' + new: number +} + +/** + * Set the number of coretime execution cores. + * + * NOTE: that this configuration is managed by the coretime chain. Only manually change + * this, if you really know what you are doing! + */ +export interface ConfigurationCall_set_coretime_cores { + __kind: 'set_coretime_cores' + new: number +} + +/** + * Set the dispute period, in number of sessions to keep for disputes. + */ +export interface ConfigurationCall_set_dispute_period { + __kind: 'set_dispute_period' + new: number +} + +/** + * Set the dispute post conclusion acceptance period. + */ +export interface ConfigurationCall_set_dispute_post_conclusion_acceptance_period { + __kind: 'set_dispute_post_conclusion_acceptance_period' + new: number +} + +/** + * Set PVF executor parameters. + */ +export interface ConfigurationCall_set_executor_params { + __kind: 'set_executor_params' + new: V7ExecutorParam[] +} + +/** + * Set the parachain validator-group rotation frequency + */ +export interface ConfigurationCall_set_group_rotation_frequency { + __kind: 'set_group_rotation_frequency' + new: number +} + +/** + * Sets the maximum number of messages allowed in an HRMP channel at once. + */ +export interface ConfigurationCall_set_hrmp_channel_max_capacity { + __kind: 'set_hrmp_channel_max_capacity' + new: number +} + +/** + * Sets the maximum size of a message that could ever be put into an HRMP channel. + */ +export interface ConfigurationCall_set_hrmp_channel_max_message_size { + __kind: 'set_hrmp_channel_max_message_size' + new: number +} + +/** + * Sets the maximum total size of messages in bytes allowed in an HRMP channel at once. + */ +export interface ConfigurationCall_set_hrmp_channel_max_total_size { + __kind: 'set_hrmp_channel_max_total_size' + new: number +} + +/** + * Sets the maximum number of outbound HRMP messages can be sent by a candidate. + */ +export interface ConfigurationCall_set_hrmp_max_message_num_per_candidate { + __kind: 'set_hrmp_max_message_num_per_candidate' + new: number +} + +/** + * Sets the maximum number of inbound HRMP channels a parachain is allowed to accept. + */ +export interface ConfigurationCall_set_hrmp_max_parachain_inbound_channels { + __kind: 'set_hrmp_max_parachain_inbound_channels' + new: number +} + +/** + * Sets the maximum number of outbound HRMP channels a parachain is allowed to open. + */ +export interface ConfigurationCall_set_hrmp_max_parachain_outbound_channels { + __kind: 'set_hrmp_max_parachain_outbound_channels' + new: number +} + +/** + * Sets the number of sessions after which an HRMP open channel request expires. + */ +export interface ConfigurationCall_set_hrmp_open_request_ttl { + __kind: 'set_hrmp_open_request_ttl' + new: number +} + +/** + * Sets the amount of funds that the recipient should provide for accepting opening an HRMP + * channel. + */ +export interface ConfigurationCall_set_hrmp_recipient_deposit { + __kind: 'set_hrmp_recipient_deposit' + new: bigint +} + +/** + * Sets the amount of funds that the sender should provide for opening an HRMP channel. + */ +export interface ConfigurationCall_set_hrmp_sender_deposit { + __kind: 'set_hrmp_sender_deposit' + new: bigint +} + +/** + * Set the max number of times a claim may timeout on a core before it is abandoned + */ +export interface ConfigurationCall_set_max_availability_timeouts { + __kind: 'set_max_availability_timeouts' + new: number +} + +/** + * Set the max validation code size for incoming upgrades. + */ +export interface ConfigurationCall_set_max_code_size { + __kind: 'set_max_code_size' + new: number +} + +/** + * Set the critical downward message size. + */ +export interface ConfigurationCall_set_max_downward_message_size { + __kind: 'set_max_downward_message_size' + new: number +} + +/** + * Set the max head data size for paras. + */ +export interface ConfigurationCall_set_max_head_data_size { + __kind: 'set_max_head_data_size' + new: number +} + +/** + * Set the max POV block size for incoming upgrades. + */ +export interface ConfigurationCall_set_max_pov_size { + __kind: 'set_max_pov_size' + new: number +} + +/** + * Sets the maximum number of messages that a candidate can contain. + */ +export interface ConfigurationCall_set_max_upward_message_num_per_candidate { + __kind: 'set_max_upward_message_num_per_candidate' + new: number +} + +/** + * Sets the maximum size of an upward message that can be sent by a candidate. + */ +export interface ConfigurationCall_set_max_upward_message_size { + __kind: 'set_max_upward_message_size' + new: number +} + +/** + * Sets the maximum items that can present in a upward dispatch queue at once. + */ +export interface ConfigurationCall_set_max_upward_queue_count { + __kind: 'set_max_upward_queue_count' + new: number +} + +/** + * Sets the maximum total size of items that can present in a upward dispatch queue at + * once. + */ +export interface ConfigurationCall_set_max_upward_queue_size { + __kind: 'set_max_upward_queue_size' + new: number +} + +/** + * Set the maximum number of validators to use in parachain consensus. + */ +export interface ConfigurationCall_set_max_validators { + __kind: 'set_max_validators' + new?: (number | undefined) +} + +/** + * Set the maximum number of validators to assign to any core. + */ +export interface ConfigurationCall_set_max_validators_per_core { + __kind: 'set_max_validators_per_core' + new?: (number | undefined) +} + +/** + * Set the minimum backing votes threshold. + */ +export interface ConfigurationCall_set_minimum_backing_votes { + __kind: 'set_minimum_backing_votes' + new: number +} + +/** + * Sets the minimum delay between announcing the upgrade block for a parachain until the + * upgrade taking place. + * + * See the field documentation for information and constraints for the new value. + */ +export interface ConfigurationCall_set_minimum_validation_upgrade_delay { + __kind: 'set_minimum_validation_upgrade_delay' + new: number +} + +/** + * Set the total number of delay tranches. + */ +export interface ConfigurationCall_set_n_delay_tranches { + __kind: 'set_n_delay_tranches' + new: number +} + +/** + * Set the number of validators needed to approve a block. + */ +export interface ConfigurationCall_set_needed_approvals { + __kind: 'set_needed_approvals' + new: number +} + +/** + * Set the no show slots, in number of number of consensus slots. + * Must be at least 1. + */ +export interface ConfigurationCall_set_no_show_slots { + __kind: 'set_no_show_slots' + new: number +} + +/** + * Set/Unset a node feature. + */ +export interface ConfigurationCall_set_node_feature { + __kind: 'set_node_feature' + index: number + value: boolean +} + +/** + * Set the on demand (parathreads) base fee. + */ +export interface ConfigurationCall_set_on_demand_base_fee { + __kind: 'set_on_demand_base_fee' + new: bigint +} + +/** + * Set the on demand (parathreads) fee variability. + */ +export interface ConfigurationCall_set_on_demand_fee_variability { + __kind: 'set_on_demand_fee_variability' + new: Perbill +} + +/** + * Set the on demand (parathreads) queue max size. + */ +export interface ConfigurationCall_set_on_demand_queue_max_size { + __kind: 'set_on_demand_queue_max_size' + new: number +} + +/** + * Set the on demand (parathreads) fee variability. + */ +export interface ConfigurationCall_set_on_demand_target_queue_utilization { + __kind: 'set_on_demand_target_queue_utilization' + new: Perbill +} + +/** + * Set the on demand (parathreads) ttl in the claimqueue. + */ +export interface ConfigurationCall_set_on_demand_ttl { + __kind: 'set_on_demand_ttl' + new: number +} + +/** + * Set the availability period for paras. + */ +export interface ConfigurationCall_set_paras_availability_period { + __kind: 'set_paras_availability_period' + new: number +} + +/** + * Set the number of session changes after which a PVF pre-checking voting is rejected. + */ +export interface ConfigurationCall_set_pvf_voting_ttl { + __kind: 'set_pvf_voting_ttl' + new: number +} + +/** + * Set the number of samples to do of the `RelayVRFModulo` approval assignment criterion. + */ +export interface ConfigurationCall_set_relay_vrf_modulo_samples { + __kind: 'set_relay_vrf_modulo_samples' + new: number +} + +/** + * Set scheduler-params. + */ +export interface ConfigurationCall_set_scheduler_params { + __kind: 'set_scheduler_params' + new: SchedulerParams +} + +/** + * Set the scheduling lookahead, in expected number of blocks at peak throughput. + */ +export interface ConfigurationCall_set_scheduling_lookahead { + __kind: 'set_scheduling_lookahead' + new: number +} + +/** + * Set the validation upgrade cooldown. + */ +export interface ConfigurationCall_set_validation_upgrade_cooldown { + __kind: 'set_validation_upgrade_cooldown' + new: number +} + +/** + * Set the validation upgrade delay. + */ +export interface ConfigurationCall_set_validation_upgrade_delay { + __kind: 'set_validation_upgrade_delay' + new: number +} + +/** + * Set the zeroth delay tranche width. + */ +export interface ConfigurationCall_set_zeroth_delay_tranche_width { + __kind: 'set_zeroth_delay_tranche_width' + new: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ClaimsCall: sts.Type = sts.closedEnum(() => { + return { + attest: sts.enumStruct({ + statement: sts.bytes(), + }), + claim: sts.enumStruct({ + dest: AccountId32, + ethereumSignature: EcdsaSignature, + }), + claim_attest: sts.enumStruct({ + dest: AccountId32, + ethereumSignature: EcdsaSignature, + statement: sts.bytes(), + }), + mint_claim: sts.enumStruct({ + who: EthereumAddress, + value: sts.bigint(), + vestingSchedule: sts.option(() => sts.tuple(() => [sts.bigint(), sts.bigint(), sts.number()])), + statement: sts.option(() => StatementKind), + }), + move_claim: sts.enumStruct({ + old: EthereumAddress, + new: EthereumAddress, + maybePreclaim: sts.option(() => AccountId32), + }), + } +}) + +export const StatementKind: sts.Type = sts.closedEnum(() => { + return { + Regular: sts.unit(), + Saft: sts.unit(), + } +}) + +export type StatementKind = StatementKind_Regular | StatementKind_Saft + +export interface StatementKind_Regular { + __kind: 'Regular' +} + +export interface StatementKind_Saft { + __kind: 'Saft' +} + +export const EthereumAddress = sts.bytes() + +export const EcdsaSignature = sts.bytes() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ClaimsCall = ClaimsCall_attest | ClaimsCall_claim | ClaimsCall_claim_attest | ClaimsCall_mint_claim | ClaimsCall_move_claim + +/** + * Attest to a statement, needed to finalize the claims process. + * + * WARNING: Insecure unless your chain includes `PrevalidateAttests` as a + * `SignedExtension`. + * + * Unsigned Validation: + * A call to attest is deemed valid if the sender has a `Preclaim` registered + * and provides a `statement` which is expected for the account. + * + * Parameters: + * - `statement`: The identity of the statement which is being attested to in the + * signature. + * + * + * The weight of this call is invariant over the input parameters. + * Weight includes logic to do pre-validation on `attest` call. + * + * Total Complexity: O(1) + * + */ +export interface ClaimsCall_attest { + __kind: 'attest' + statement: Bytes +} + +/** + * Make a claim to collect your DOTs. + * + * The dispatch origin for this call must be _None_. + * + * Unsigned Validation: + * A call to claim is deemed valid if the signature provided matches + * the expected signed message of: + * + * > Ethereum Signed Message: + * > (configured prefix string)(address) + * + * and `address` matches the `dest` account. + * + * Parameters: + * - `dest`: The destination account to payout the claim. + * - `ethereum_signature`: The signature of an ethereum signed message matching the format + * described above. + * + * + * The weight of this call is invariant over the input parameters. + * Weight includes logic to validate unsigned `claim` call. + * + * Total Complexity: O(1) + * + */ +export interface ClaimsCall_claim { + __kind: 'claim' + dest: AccountId32 + ethereumSignature: EcdsaSignature +} + +/** + * Make a claim to collect your DOTs by signing a statement. + * + * The dispatch origin for this call must be _None_. + * + * Unsigned Validation: + * A call to `claim_attest` is deemed valid if the signature provided matches + * the expected signed message of: + * + * > Ethereum Signed Message: + * > (configured prefix string)(address)(statement) + * + * and `address` matches the `dest` account; the `statement` must match that which is + * expected according to your purchase arrangement. + * + * Parameters: + * - `dest`: The destination account to payout the claim. + * - `ethereum_signature`: The signature of an ethereum signed message matching the format + * described above. + * - `statement`: The identity of the statement which is being attested to in the + * signature. + * + * + * The weight of this call is invariant over the input parameters. + * Weight includes logic to validate unsigned `claim_attest` call. + * + * Total Complexity: O(1) + * + */ +export interface ClaimsCall_claim_attest { + __kind: 'claim_attest' + dest: AccountId32 + ethereumSignature: EcdsaSignature + statement: Bytes +} + +/** + * Mint a new claim to collect DOTs. + * + * The dispatch origin for this call must be _Root_. + * + * Parameters: + * - `who`: The Ethereum address allowed to collect this claim. + * - `value`: The number of DOTs that will be claimed. + * - `vesting_schedule`: An optional vesting schedule for these DOTs. + * + * + * The weight of this call is invariant over the input parameters. + * We assume worst case that both vesting and statement is being inserted. + * + * Total Complexity: O(1) + * + */ +export interface ClaimsCall_mint_claim { + __kind: 'mint_claim' + who: EthereumAddress + value: bigint + vestingSchedule?: ([bigint, bigint, number] | undefined) + statement?: (StatementKind | undefined) +} + +export interface ClaimsCall_move_claim { + __kind: 'move_claim' + old: EthereumAddress + new: EthereumAddress + maybePreclaim?: (AccountId32 | undefined) +} + +export type EthereumAddress = Bytes + +export type EcdsaSignature = Bytes + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const ChildBountiesCall: sts.Type = sts.closedEnum(() => { + return { + accept_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + add_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + value: sts.bigint(), + description: sts.bytes(), + }), + award_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + beneficiary: MultiAddress, + }), + claim_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + close_child_bounty: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + propose_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + curator: MultiAddress, + fee: sts.bigint(), + }), + unassign_curator: sts.enumStruct({ + parentBountyId: sts.number(), + childBountyId: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type ChildBountiesCall = ChildBountiesCall_accept_curator | ChildBountiesCall_add_child_bounty | ChildBountiesCall_award_child_bounty | ChildBountiesCall_claim_child_bounty | ChildBountiesCall_close_child_bounty | ChildBountiesCall_propose_curator | ChildBountiesCall_unassign_curator + +/** + * Accept the curator role for the child-bounty. + * + * The dispatch origin for this call must be the curator of this + * child-bounty. + * + * A deposit will be reserved from the curator and refund upon + * successful payout or cancellation. + * + * Fee for curator is deducted from curator fee of parent bounty. + * + * Parent bounty must be in active state, for this child-bounty call to + * work. + * + * Child-bounty must be in "CuratorProposed" state, for processing the + * call. And state of child-bounty is moved to "Active" on successful + * call completion. + * + * - `parent_bounty_id`: Index of parent bounty. + * - `child_bounty_id`: Index of child bounty. + */ +export interface ChildBountiesCall_accept_curator { + __kind: 'accept_curator' + parentBountyId: number + childBountyId: number +} + +/** + * Add a new child-bounty. + * + * The dispatch origin for this call must be the curator of parent + * bounty and the parent bounty must be in "active" state. + * + * Child-bounty gets added successfully & fund gets transferred from + * parent bounty to child-bounty account, if parent bounty has enough + * funds, else the call fails. + * + * Upper bound to maximum number of active child bounties that can be + * added are managed via runtime trait config + * [`Config::MaxActiveChildBountyCount`]. + * + * If the call is success, the status of child-bounty is updated to + * "Added". + * + * - `parent_bounty_id`: Index of parent bounty for which child-bounty is being added. + * - `value`: Value for executing the proposal. + * - `description`: Text description for the child-bounty. + */ +export interface ChildBountiesCall_add_child_bounty { + __kind: 'add_child_bounty' + parentBountyId: number + value: bigint + description: Bytes +} + +/** + * Award child-bounty to a beneficiary. + * + * The beneficiary will be able to claim the funds after a delay. + * + * The dispatch origin for this call must be the parent curator or + * curator of this child-bounty. + * + * Parent bounty must be in active state, for this child-bounty call to + * work. + * + * Child-bounty must be in active state, for processing the call. And + * state of child-bounty is moved to "PendingPayout" on successful call + * completion. + * + * - `parent_bounty_id`: Index of parent bounty. + * - `child_bounty_id`: Index of child bounty. + * - `beneficiary`: Beneficiary account. + */ +export interface ChildBountiesCall_award_child_bounty { + __kind: 'award_child_bounty' + parentBountyId: number + childBountyId: number + beneficiary: MultiAddress +} + +/** + * Claim the payout from an awarded child-bounty after payout delay. + * + * The dispatch origin for this call may be any signed origin. + * + * Call works independent of parent bounty state, No need for parent + * bounty to be in active state. + * + * The Beneficiary is paid out with agreed bounty value. Curator fee is + * paid & curator deposit is unreserved. + * + * Child-bounty must be in "PendingPayout" state, for processing the + * call. And instance of child-bounty is removed from the state on + * successful call completion. + * + * - `parent_bounty_id`: Index of parent bounty. + * - `child_bounty_id`: Index of child bounty. + */ +export interface ChildBountiesCall_claim_child_bounty { + __kind: 'claim_child_bounty' + parentBountyId: number + childBountyId: number +} + +/** + * Cancel a proposed or active child-bounty. Child-bounty account funds + * are transferred to parent bounty account. The child-bounty curator + * deposit may be unreserved if possible. + * + * The dispatch origin for this call must be either parent curator or + * `T::RejectOrigin`. + * + * If the state of child-bounty is `Active`, curator deposit is + * unreserved. + * + * If the state of child-bounty is `PendingPayout`, call fails & + * returns `PendingPayout` error. + * + * For the origin other than T::RejectOrigin, parent bounty must be in + * active state, for this child-bounty call to work. For origin + * T::RejectOrigin execution is forced. + * + * Instance of child-bounty is removed from the state on successful + * call completion. + * + * - `parent_bounty_id`: Index of parent bounty. + * - `child_bounty_id`: Index of child bounty. + */ +export interface ChildBountiesCall_close_child_bounty { + __kind: 'close_child_bounty' + parentBountyId: number + childBountyId: number +} + +/** + * Propose curator for funded child-bounty. + * + * The dispatch origin for this call must be curator of parent bounty. + * + * Parent bounty must be in active state, for this child-bounty call to + * work. + * + * Child-bounty must be in "Added" state, for processing the call. And + * state of child-bounty is moved to "CuratorProposed" on successful + * call completion. + * + * - `parent_bounty_id`: Index of parent bounty. + * - `child_bounty_id`: Index of child bounty. + * - `curator`: Address of child-bounty curator. + * - `fee`: payment fee to child-bounty curator for execution. + */ +export interface ChildBountiesCall_propose_curator { + __kind: 'propose_curator' + parentBountyId: number + childBountyId: number + curator: MultiAddress + fee: bigint +} + +/** + * Unassign curator from a child-bounty. + * + * The dispatch origin for this call can be either `RejectOrigin`, or + * the curator of the parent bounty, or any signed origin. + * + * For the origin other than T::RejectOrigin and the child-bounty + * curator, parent bounty must be in active state, for this call to + * work. We allow child-bounty curator and T::RejectOrigin to execute + * this call irrespective of the parent bounty state. + * + * If this function is called by the `RejectOrigin` or the + * parent bounty curator, we assume that the child-bounty curator is + * malicious or inactive. As a result, child-bounty curator deposit is + * slashed. + * + * If the origin is the child-bounty curator, we take this as a sign + * that they are unable to do their job, and are willingly giving up. + * We could slash the deposit, but for now we allow them to unreserve + * their deposit and exit without issue. (We may want to change this if + * it is abused.) + * + * Finally, the origin can be anyone iff the child-bounty curator is + * "inactive". Expiry update due of parent bounty is used to estimate + * inactive state of child-bounty curator. + * + * This allows anyone in the community to call out that a child-bounty + * curator is not doing their due diligence, and we should pick a new + * one. In this case the child-bounty curator deposit is slashed. + * + * State of child-bounty is moved to Added state on successful call + * completion. + * + * - `parent_bounty_id`: Index of parent bounty. + * - `child_bounty_id`: Index of child bounty. + */ +export interface ChildBountiesCall_unassign_curator { + __kind: 'unassign_curator' + parentBountyId: number + childBountyId: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BountiesCall: sts.Type = sts.closedEnum(() => { + return { + accept_curator: sts.enumStruct({ + bountyId: sts.number(), + }), + approve_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + award_bounty: sts.enumStruct({ + bountyId: sts.number(), + beneficiary: MultiAddress, + }), + claim_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + close_bounty: sts.enumStruct({ + bountyId: sts.number(), + }), + extend_bounty_expiry: sts.enumStruct({ + bountyId: sts.number(), + remark: sts.bytes(), + }), + propose_bounty: sts.enumStruct({ + value: sts.bigint(), + description: sts.bytes(), + }), + propose_curator: sts.enumStruct({ + bountyId: sts.number(), + curator: MultiAddress, + fee: sts.bigint(), + }), + unassign_curator: sts.enumStruct({ + bountyId: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BountiesCall = BountiesCall_accept_curator | BountiesCall_approve_bounty | BountiesCall_award_bounty | BountiesCall_claim_bounty | BountiesCall_close_bounty | BountiesCall_extend_bounty_expiry | BountiesCall_propose_bounty | BountiesCall_propose_curator | BountiesCall_unassign_curator + +/** + * Accept the curator role for a bounty. + * A deposit will be reserved from curator and refund upon successful payout. + * + * May only be called from the curator. + * + * ## Complexity + * - O(1). + */ +export interface BountiesCall_accept_curator { + __kind: 'accept_curator' + bountyId: number +} + +/** + * Approve a bounty proposal. At a later time, the bounty will be funded and become active + * and the original deposit will be returned. + * + * May only be called from `T::SpendOrigin`. + * + * ## Complexity + * - O(1). + */ +export interface BountiesCall_approve_bounty { + __kind: 'approve_bounty' + bountyId: number +} + +/** + * Award bounty to a beneficiary account. The beneficiary will be able to claim the funds + * after a delay. + * + * The dispatch origin for this call must be the curator of this bounty. + * + * - `bounty_id`: Bounty ID to award. + * - `beneficiary`: The beneficiary account whom will receive the payout. + * + * ## Complexity + * - O(1). + */ +export interface BountiesCall_award_bounty { + __kind: 'award_bounty' + bountyId: number + beneficiary: MultiAddress +} + +/** + * Claim the payout from an awarded bounty after payout delay. + * + * The dispatch origin for this call must be the beneficiary of this bounty. + * + * - `bounty_id`: Bounty ID to claim. + * + * ## Complexity + * - O(1). + */ +export interface BountiesCall_claim_bounty { + __kind: 'claim_bounty' + bountyId: number +} + +/** + * Cancel a proposed or active bounty. All the funds will be sent to treasury and + * the curator deposit will be unreserved if possible. + * + * Only `T::RejectOrigin` is able to cancel a bounty. + * + * - `bounty_id`: Bounty ID to cancel. + * + * ## Complexity + * - O(1). + */ +export interface BountiesCall_close_bounty { + __kind: 'close_bounty' + bountyId: number +} + +/** + * Extend the expiry time of an active bounty. + * + * The dispatch origin for this call must be the curator of this bounty. + * + * - `bounty_id`: Bounty ID to extend. + * - `remark`: additional information. + * + * ## Complexity + * - O(1). + */ +export interface BountiesCall_extend_bounty_expiry { + __kind: 'extend_bounty_expiry' + bountyId: number + remark: Bytes +} + +/** + * Propose a new bounty. + * + * The dispatch origin for this call must be _Signed_. + * + * Payment: `TipReportDepositBase` will be reserved from the origin account, as well as + * `DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval, + * or slashed when rejected. + * + * - `curator`: The curator account whom will manage this bounty. + * - `fee`: The curator fee. + * - `value`: The total payment amount of this bounty, curator fee included. + * - `description`: The description of this bounty. + */ +export interface BountiesCall_propose_bounty { + __kind: 'propose_bounty' + value: bigint + description: Bytes +} + +/** + * Propose a curator to a funded bounty. + * + * May only be called from `T::SpendOrigin`. + * + * ## Complexity + * - O(1). + */ +export interface BountiesCall_propose_curator { + __kind: 'propose_curator' + bountyId: number + curator: MultiAddress + fee: bigint +} + +/** + * Unassign curator from a bounty. + * + * This function can only be called by the `RejectOrigin` a signed origin. + * + * If this function is called by the `RejectOrigin`, we assume that the curator is + * malicious or inactive. As a result, we will slash the curator when possible. + * + * If the origin is the curator, we take this as a sign they are unable to do their job and + * they willingly give up. We could slash them, but for now we allow them to recover their + * deposit and exit without issue. (We may want to change this if it is abused.) + * + * Finally, the origin can be anyone if and only if the curator is "inactive". This allows + * anyone in the community to call out that a curator is not doing their due diligence, and + * we should pick a new curator. In this case the curator should also be slashed. + * + * ## Complexity + * - O(1). + */ +export interface BountiesCall_unassign_curator { + __kind: 'unassign_curator' + bountyId: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BeefyCall: sts.Type = sts.closedEnum(() => { + return { + report_equivocation: sts.enumStruct({ + equivocationProof: DoubleVotingProof, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: DoubleVotingProof, + keyOwnerProof: MembershipProof, + }), + set_new_genesis: sts.enumStruct({ + delayInBlocks: sts.number(), + }), + } +}) + +export const DoubleVotingProof: sts.Type = sts.struct(() => { + return { + first: VoteMessage, + second: VoteMessage, + } +}) + +export const VoteMessage: sts.Type = sts.struct(() => { + return { + commitment: Commitment, + id: sts.bytes(), + signature: sts.bytes(), + } +}) + +export const Commitment: sts.Type = sts.struct(() => { + return { + payload: sts.array(() => sts.tuple(() => [sts.bytes(), sts.bytes()])), + blockNumber: sts.number(), + validatorSetId: sts.bigint(), + } +}) + +export interface Commitment { + payload: [Bytes, Bytes][] + blockNumber: number + validatorSetId: bigint +} + +export interface VoteMessage { + commitment: Commitment + id: Bytes + signature: Bytes +} + +export interface DoubleVotingProof { + first: VoteMessage + second: VoteMessage +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BeefyCall = BeefyCall_report_equivocation | BeefyCall_report_equivocation_unsigned | BeefyCall_set_new_genesis + +/** + * Report voter equivocation/misbehavior. This method will verify the + * equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence + * will be reported. + */ +export interface BeefyCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: DoubleVotingProof + keyOwnerProof: MembershipProof +} + +/** + * Report voter equivocation/misbehavior. This method will verify the + * equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence + * will be reported. + * + * This extrinsic must be called unsigned and it is expected that only + * block authors will call it (validated in `ValidateUnsigned`), as such + * if the block author is defined it will be defined as the equivocation + * reporter. + */ +export interface BeefyCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: DoubleVotingProof + keyOwnerProof: MembershipProof +} + +/** + * Reset BEEFY consensus by setting a new BEEFY genesis at `delay_in_blocks` blocks in the + * future. + * + * Note: `delay_in_blocks` has to be at least 1. + */ +export interface BeefyCall_set_new_genesis { + __kind: 'set_new_genesis' + delayInBlocks: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BalancesCall: sts.Type = sts.closedEnum(() => { + return { + burn: sts.enumStruct({ + value: sts.bigint(), + keepAlive: sts.boolean(), + }), + force_adjust_total_issuance: sts.enumStruct({ + direction: AdjustmentDirection, + delta: sts.bigint(), + }), + force_set_balance: sts.enumStruct({ + who: MultiAddress, + newFree: sts.bigint(), + }), + force_transfer: sts.enumStruct({ + source: MultiAddress, + dest: MultiAddress, + value: sts.bigint(), + }), + force_unreserve: sts.enumStruct({ + who: MultiAddress, + amount: sts.bigint(), + }), + transfer_all: sts.enumStruct({ + dest: MultiAddress, + keepAlive: sts.boolean(), + }), + transfer_allow_death: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + transfer_keep_alive: sts.enumStruct({ + dest: MultiAddress, + value: sts.bigint(), + }), + upgrade_accounts: sts.enumStruct({ + who: sts.array(() => AccountId32), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BalancesCall = BalancesCall_burn | BalancesCall_force_adjust_total_issuance | BalancesCall_force_set_balance | BalancesCall_force_transfer | BalancesCall_force_unreserve | BalancesCall_transfer_all | BalancesCall_transfer_allow_death | BalancesCall_transfer_keep_alive | BalancesCall_upgrade_accounts + +/** + * Burn the specified liquid free balance from the origin account. + * + * If the origin's account ends up below the existential deposit as a result + * of the burn and `keep_alive` is false, the account will be reaped. + * + * Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible, + * this `burn` operation will reduce total issuance by the amount _burned_. + */ +export interface BalancesCall_burn { + __kind: 'burn' + value: bigint + keepAlive: boolean +} + +/** + * Adjust the total issuance in a saturating way. + * + * Can only be called by root and always needs a positive `delta`. + * + * # Example + */ +export interface BalancesCall_force_adjust_total_issuance { + __kind: 'force_adjust_total_issuance' + direction: AdjustmentDirection + delta: bigint +} + +/** + * Set the regular balance of a given account. + * + * The dispatch origin for this call is `root`. + */ +export interface BalancesCall_force_set_balance { + __kind: 'force_set_balance' + who: MultiAddress + newFree: bigint +} + +/** + * Exactly as `transfer_allow_death`, except the origin must be root and the source account + * may be specified. + */ +export interface BalancesCall_force_transfer { + __kind: 'force_transfer' + source: MultiAddress + dest: MultiAddress + value: bigint +} + +/** + * Unreserve some balance from a user by force. + * + * Can only be called by ROOT. + */ +export interface BalancesCall_force_unreserve { + __kind: 'force_unreserve' + who: MultiAddress + amount: bigint +} + +/** + * Transfer the entire transferable balance from the caller account. + * + * NOTE: This function only attempts to transfer _transferable_ balances. This means that + * any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be + * transferred by this function. To ensure that this function results in a killed account, + * you might need to prepare the account by removing any reference counters, storage + * deposits, etc... + * + * The dispatch origin of this call must be Signed. + * + * - `dest`: The recipient of the transfer. + * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all + * of the funds the account has, causing the sender account to be killed (false), or + * transfer everything except at least the existential deposit, which will guarantee to + * keep the sender account alive (true). + */ +export interface BalancesCall_transfer_all { + __kind: 'transfer_all' + dest: MultiAddress + keepAlive: boolean +} + +/** + * Transfer some liquid free balance to another account. + * + * `transfer_allow_death` will set the `FreeBalance` of the sender and receiver. + * If the sender's account is below the existential deposit as a result + * of the transfer, the account will be reaped. + * + * The dispatch origin for this call must be `Signed` by the transactor. + */ +export interface BalancesCall_transfer_allow_death { + __kind: 'transfer_allow_death' + dest: MultiAddress + value: bigint +} + +/** + * Same as the [`transfer_allow_death`] call, but with a check that the transfer will not + * kill the origin account. + * + * 99% of the time you want [`transfer_allow_death`] instead. + * + * [`transfer_allow_death`]: struct.Pallet.html#method.transfer + */ +export interface BalancesCall_transfer_keep_alive { + __kind: 'transfer_keep_alive' + dest: MultiAddress + value: bigint +} + +/** + * Upgrade a specified account. + * + * - `origin`: Must be `Signed`. + * - `who`: The account to be upgraded. + * + * This will waive the transaction fee if at least all but 10% of the accounts needed to + * be upgraded. (We let some not have to be upgraded just in order to allow for the + * possibility of churn). + */ +export interface BalancesCall_upgrade_accounts { + __kind: 'upgrade_accounts' + who: AccountId32[] +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const BabeCall: sts.Type = sts.closedEnum(() => { + return { + plan_config_change: sts.enumStruct({ + config: NextConfigDescriptor, + }), + report_equivocation: sts.enumStruct({ + equivocationProof: EquivocationProof, + keyOwnerProof: MembershipProof, + }), + report_equivocation_unsigned: sts.enumStruct({ + equivocationProof: EquivocationProof, + keyOwnerProof: MembershipProof, + }), + } +}) + +export const EquivocationProof: sts.Type = sts.struct(() => { + return { + offender: sts.bytes(), + slot: Slot, + firstHeader: Header, + secondHeader: Header, + } +}) + +export const Slot = sts.bigint() + +export interface EquivocationProof { + offender: Bytes + slot: Slot + firstHeader: Header + secondHeader: Header +} + +export type Slot = bigint + +export const NextConfigDescriptor: sts.Type = sts.closedEnum(() => { + return { + V1: sts.enumStruct({ + c: sts.tuple(() => [sts.bigint(), sts.bigint()]), + allowedSlots: AllowedSlots, + }), + } +}) + +export const AllowedSlots: sts.Type = sts.closedEnum(() => { + return { + PrimaryAndSecondaryPlainSlots: sts.unit(), + PrimaryAndSecondaryVRFSlots: sts.unit(), + PrimarySlots: sts.unit(), + } +}) + +export type AllowedSlots = AllowedSlots_PrimaryAndSecondaryPlainSlots | AllowedSlots_PrimaryAndSecondaryVRFSlots | AllowedSlots_PrimarySlots + +export interface AllowedSlots_PrimaryAndSecondaryPlainSlots { + __kind: 'PrimaryAndSecondaryPlainSlots' +} + +export interface AllowedSlots_PrimaryAndSecondaryVRFSlots { + __kind: 'PrimaryAndSecondaryVRFSlots' +} + +export interface AllowedSlots_PrimarySlots { + __kind: 'PrimarySlots' +} + +export type NextConfigDescriptor = NextConfigDescriptor_V1 + +export interface NextConfigDescriptor_V1 { + __kind: 'V1' + c: [bigint, bigint] + allowedSlots: AllowedSlots +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type BabeCall = BabeCall_plan_config_change | BabeCall_report_equivocation | BabeCall_report_equivocation_unsigned + +/** + * Plan an epoch config change. The epoch config change is recorded and will be enacted on + * the next call to `enact_epoch_change`. The config will be activated one epoch after. + * Multiple calls to this method will replace any existing planned config change that had + * not been enacted yet. + */ +export interface BabeCall_plan_config_change { + __kind: 'plan_config_change' + config: NextConfigDescriptor +} + +/** + * Report authority equivocation/misbehavior. This method will verify + * the equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence will + * be reported. + */ +export interface BabeCall_report_equivocation { + __kind: 'report_equivocation' + equivocationProof: EquivocationProof + keyOwnerProof: MembershipProof +} + +/** + * Report authority equivocation/misbehavior. This method will verify + * the equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence will + * be reported. + * This extrinsic must be called unsigned and it is expected that only + * block authors will call it (validated in `ValidateUnsigned`), as such + * if the block author is defined it will be defined as the equivocation + * reporter. + */ +export interface BabeCall_report_equivocation_unsigned { + __kind: 'report_equivocation_unsigned' + equivocationProof: EquivocationProof + keyOwnerProof: MembershipProof +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const AuctionsCall: sts.Type = sts.closedEnum(() => { + return { + bid: sts.enumStruct({ + para: sts.number(), + auctionIndex: sts.number(), + firstSlot: sts.number(), + lastSlot: sts.number(), + amount: sts.bigint(), + }), + cancel_auction: sts.unit(), + new_auction: sts.enumStruct({ + duration: sts.number(), + leasePeriodIndex: sts.number(), + }), + } +}) + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type AuctionsCall = AuctionsCall_bid | AuctionsCall_cancel_auction | AuctionsCall_new_auction + +/** + * Make a new bid from an account (including a parachain account) for deploying a new + * parachain. + * + * Multiple simultaneous bids from the same bidder are allowed only as long as all active + * bids overlap each other (i.e. are mutually exclusive). Bids cannot be redacted. + * + * - `sub` is the sub-bidder ID, allowing for multiple competing bids to be made by (and + * funded by) the same account. + * - `auction_index` is the index of the auction to bid on. Should just be the present + * value of `AuctionCounter`. + * - `first_slot` is the first lease period index of the range to bid on. This is the + * absolute lease period index value, not an auction-specific offset. + * - `last_slot` is the last lease period index of the range to bid on. This is the + * absolute lease period index value, not an auction-specific offset. + * - `amount` is the amount to bid to be held as deposit for the parachain should the + * bid win. This amount is held throughout the range. + */ +export interface AuctionsCall_bid { + __kind: 'bid' + para: number + auctionIndex: number + firstSlot: number + lastSlot: number + amount: bigint +} + +/** + * Cancel an in-progress auction. + * + * Can only be called by Root origin. + */ +export interface AuctionsCall_cancel_auction { + __kind: 'cancel_auction' +} + +/** + * Create a new auction. + * + * This can only happen when there isn't already an auction in progress and may only be + * called by the root origin. Accepts the `duration` of this auction and the + * `lease_period_index` of the initial lease period of the four that are to be auctioned. + */ +export interface AuctionsCall_new_auction { + __kind: 'new_auction' + duration: number + leasePeriodIndex: number +} + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export const AssetRateCall: sts.Type = sts.closedEnum(() => { + return { + create: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + rate: FixedU128, + }), + remove: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + }), + update: sts.enumStruct({ + assetKind: VersionedLocatableAsset, + rate: FixedU128, + }), + } +}) + +export const FixedU128 = sts.bigint() + +/** + * Contains a variant per dispatchable extrinsic that this pallet has. + */ +export type AssetRateCall = AssetRateCall_create | AssetRateCall_remove | AssetRateCall_update + +/** + * Initialize a conversion rate to native balance for the given asset. + * + * ## Complexity + * - O(1) + */ +export interface AssetRateCall_create { + __kind: 'create' + assetKind: VersionedLocatableAsset + rate: FixedU128 +} + +/** + * Remove an existing conversion rate to native balance for the given asset. + * + * ## Complexity + * - O(1) + */ +export interface AssetRateCall_remove { + __kind: 'remove' + assetKind: VersionedLocatableAsset +} + +/** + * Update the conversion rate to native balance for the given asset. + * + * ## Complexity + * - O(1) + */ +export interface AssetRateCall_update { + __kind: 'update' + assetKind: VersionedLocatableAsset + rate: FixedU128 +} + +export type FixedU128 = bigint + +export type Call = Call_AssetRate | Call_Auctions | Call_Babe | Call_Balances | Call_Beefy | Call_Bounties | Call_ChildBounties | Call_Claims | Call_Configuration | Call_ConvictionVoting | Call_Coretime | Call_Crowdloan | Call_ElectionProviderMultiPhase | Call_FastUnstake | Call_FellowshipCollective | Call_FellowshipReferenda | Call_Grandpa | Call_Hrmp | Call_Indices | Call_Initializer | Call_MessageQueue | Call_Multisig | Call_Nis | Call_NisCounterpartBalances | Call_NominationPools | Call_OnDemandAssignmentProvider | Call_ParaInclusion | Call_ParaInherent | Call_Parameters | Call_Paras | Call_ParasDisputes | Call_ParasShared | Call_ParasSlashing | Call_Preimage | Call_Proxy | Call_Recovery | Call_Referenda | Call_Registrar | Call_Scheduler | Call_Session | Call_Slots | Call_Society | Call_Staking | Call_System | Call_Timestamp | Call_Treasury | Call_Utility | Call_Vesting | Call_VoterList | Call_Whitelist | Call_XcmPallet + +export interface Call_AssetRate { + __kind: 'AssetRate' + value: AssetRateCall +} + +export interface Call_Auctions { + __kind: 'Auctions' + value: AuctionsCall +} + +export interface Call_Babe { + __kind: 'Babe' + value: BabeCall +} + +export interface Call_Balances { + __kind: 'Balances' + value: BalancesCall +} + +export interface Call_Beefy { + __kind: 'Beefy' + value: BeefyCall +} + +export interface Call_Bounties { + __kind: 'Bounties' + value: BountiesCall +} + +export interface Call_ChildBounties { + __kind: 'ChildBounties' + value: ChildBountiesCall +} + +export interface Call_Claims { + __kind: 'Claims' + value: ClaimsCall +} + +export interface Call_Configuration { + __kind: 'Configuration' + value: ConfigurationCall +} + +export interface Call_ConvictionVoting { + __kind: 'ConvictionVoting' + value: ConvictionVotingCall +} + +export interface Call_Coretime { + __kind: 'Coretime' + value: CoretimeCall +} + +export interface Call_Crowdloan { + __kind: 'Crowdloan' + value: CrowdloanCall +} + +export interface Call_ElectionProviderMultiPhase { + __kind: 'ElectionProviderMultiPhase' + value: ElectionProviderMultiPhaseCall +} + +export interface Call_FastUnstake { + __kind: 'FastUnstake' + value: FastUnstakeCall +} + +export interface Call_FellowshipCollective { + __kind: 'FellowshipCollective' + value: FellowshipCollectiveCall +} + +export interface Call_FellowshipReferenda { + __kind: 'FellowshipReferenda' + value: FellowshipReferendaCall +} + +export interface Call_Grandpa { + __kind: 'Grandpa' + value: GrandpaCall +} + +export interface Call_Hrmp { + __kind: 'Hrmp' + value: HrmpCall +} + +export interface Call_Indices { + __kind: 'Indices' + value: IndicesCall +} + +export interface Call_Initializer { + __kind: 'Initializer' + value: InitializerCall +} + +export interface Call_MessageQueue { + __kind: 'MessageQueue' + value: MessageQueueCall +} + +export interface Call_Multisig { + __kind: 'Multisig' + value: MultisigCall +} + +export interface Call_Nis { + __kind: 'Nis' + value: NisCall +} + +export interface Call_NisCounterpartBalances { + __kind: 'NisCounterpartBalances' + value: NisCounterpartBalancesCall +} + +export interface Call_NominationPools { + __kind: 'NominationPools' + value: NominationPoolsCall +} + +export interface Call_OnDemandAssignmentProvider { + __kind: 'OnDemandAssignmentProvider' + value: OnDemandAssignmentProviderCall +} + +export interface Call_ParaInclusion { + __kind: 'ParaInclusion' + value: ParaInclusionCall +} + +export interface Call_ParaInherent { + __kind: 'ParaInherent' + value: ParaInherentCall +} + +export interface Call_Parameters { + __kind: 'Parameters' + value: ParametersCall +} + +export interface Call_Paras { + __kind: 'Paras' + value: ParasCall +} + +export interface Call_ParasDisputes { + __kind: 'ParasDisputes' + value: ParasDisputesCall +} + +export interface Call_ParasShared { + __kind: 'ParasShared' + value: ParasSharedCall +} + +export interface Call_ParasSlashing { + __kind: 'ParasSlashing' + value: ParasSlashingCall +} + +export interface Call_Preimage { + __kind: 'Preimage' + value: PreimageCall +} + +export interface Call_Proxy { + __kind: 'Proxy' + value: ProxyCall +} + +export interface Call_Recovery { + __kind: 'Recovery' + value: RecoveryCall +} + +export interface Call_Referenda { + __kind: 'Referenda' + value: ReferendaCall +} + +export interface Call_Registrar { + __kind: 'Registrar' + value: RegistrarCall +} + +export interface Call_Scheduler { + __kind: 'Scheduler' + value: SchedulerCall +} + +export interface Call_Session { + __kind: 'Session' + value: SessionCall +} + +export interface Call_Slots { + __kind: 'Slots' + value: SlotsCall +} + +export interface Call_Society { + __kind: 'Society' + value: SocietyCall +} + +export interface Call_Staking { + __kind: 'Staking' + value: StakingCall +} + +export interface Call_System { + __kind: 'System' + value: SystemCall +} + +export interface Call_Timestamp { + __kind: 'Timestamp' + value: TimestampCall +} + +export interface Call_Treasury { + __kind: 'Treasury' + value: TreasuryCall +} + +export interface Call_Utility { + __kind: 'Utility' + value: UtilityCall +} + +export interface Call_Vesting { + __kind: 'Vesting' + value: VestingCall +} + +export interface Call_VoterList { + __kind: 'VoterList' + value: VoterListCall +} + +export interface Call_Whitelist { + __kind: 'Whitelist' + value: WhitelistCall +} + +export interface Call_XcmPallet { + __kind: 'XcmPallet' + value: XcmPalletCall +} + +export const MultiAddress: sts.Type = sts.closedEnum(() => { + return { + Address20: sts.bytes(), + Address32: sts.bytes(), + Id: AccountId32, + Index: sts.unit(), + Raw: sts.bytes(), + } +}) + +export const ProxyType: sts.Type = sts.closedEnum(() => { + return { + Any: sts.unit(), + Auction: sts.unit(), + CancelProxy: sts.unit(), + Governance: sts.unit(), + NominationPools: sts.unit(), + NonTransfer: sts.unit(), + Society: sts.unit(), + Spokesperson: sts.unit(), + Staking: sts.unit(), + } +}) + +export const AccountId32 = sts.bytes() diff --git a/yarn.lock b/yarn.lock index e38653e2..a1f35c15 100644 --- a/yarn.lock +++ b/yarn.lock @@ -53,17 +53,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/code-frame@npm:7.24.7" - dependencies: - "@babel/highlight": ^7.24.7 - picocolors: ^1.0.0 - checksum: ab0af539473a9f5aeaac7047e377cb4f4edd255a81d84a76058595f8540784cc3fbe8acf73f1e073981104562490aabfb23008cd66dc677a456a4ed5390fdde6 - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" dependencies: @@ -74,44 +64,14 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/compat-data@npm:7.24.7" - checksum: dcd93a5632b04536498fbe2be5af1057f635fd7f7090483d8e797878559037e5130b26862ceb359acbae93ed27e076d395ddb4663db6b28a665756ffd02d324f - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.25.9": +"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.25.9": version: 7.26.2 resolution: "@babel/compat-data@npm:7.26.2" checksum: c9b5f3724828d17f728a778f9d66c19b55c018d0d76de6d731178cca64f182c22b71400a73bf2b65dcc4fcfe52b630088a94d5902911b54206aa90e3ffe07d12 languageName: node linkType: hard -"@babel/core@npm:^7.14.0, @babel/core@npm:^7.21.3, @babel/core@npm:^7.22.9": - version: 7.24.7 - resolution: "@babel/core@npm:7.24.7" - dependencies: - "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.24.7 - "@babel/generator": ^7.24.7 - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helpers": ^7.24.7 - "@babel/parser": ^7.24.7 - "@babel/template": ^7.24.7 - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - convert-source-map: ^2.0.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.2.3 - semver: ^6.3.1 - checksum: 4004ba454d3c20a46ea66264e06c15b82e9f6bdc35f88819907d24620da70dbf896abac1cb4cc4b6bb8642969e45f4d808497c9054a1388a386cf8c12e9b9e0d - languageName: node - linkType: hard - -"@babel/core@npm:^7.25.2": +"@babel/core@npm:^7.14.0, @babel/core@npm:^7.21.3, @babel/core@npm:^7.22.9, @babel/core@npm:^7.25.2": version: 7.26.0 resolution: "@babel/core@npm:7.26.0" dependencies: @@ -134,19 +94,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/generator@npm:7.24.7" - dependencies: - "@babel/types": ^7.24.7 - "@jridgewell/gen-mapping": ^0.3.5 - "@jridgewell/trace-mapping": ^0.3.25 - jsesc: ^2.5.1 - checksum: 06b1f3350baf527a3309e50ffd7065f7aee04dd06e1e7db794ddfde7fe9d81f28df64edd587173f8f9295496a7ddb74b9a185d4bf4de7bb619e6d4ec45c8fd35 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0": +"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0": version: 7.26.2 resolution: "@babel/generator@npm:7.26.2" dependencies: @@ -159,29 +107,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" - dependencies: - "@babel/types": ^7.24.7 - checksum: 4679f7df4dffd5b3e26083ae65228116c3da34c3fff2c11ae11b259a61baec440f51e30fd236f7a0435b9d471acd93d0bc5a95df8213cbf02b1e083503d81b9a - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-compilation-targets@npm:7.24.7" +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" dependencies: - "@babel/compat-data": ^7.24.7 - "@babel/helper-validator-option": ^7.24.7 - browserslist: ^4.22.2 - lru-cache: ^5.1.1 - semver: ^6.3.1 - checksum: 1d580a9bcacefe65e6bf02ba1dafd7ab278269fef45b5e281d8354d95c53031e019890464e7f9351898c01502dd2e633184eb0bcda49ed2ecd538675ce310f51 + "@babel/types": ^7.25.9 + checksum: 095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.9": +"@babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-compilation-targets@npm:7.25.9" dependencies: @@ -195,73 +130,33 @@ __metadata: linkType: hard "@babel/helper-create-class-features-plugin@npm:^7.18.6": - version: 7.24.7 - resolution: "@babel/helper-create-class-features-plugin@npm:7.24.7" - dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-function-name": ^7.24.7 - "@babel/helper-member-expression-to-functions": ^7.24.7 - "@babel/helper-optimise-call-expression": ^7.24.7 - "@babel/helper-replace-supers": ^7.24.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 - "@babel/helper-split-export-declaration": ^7.24.7 + version: 7.25.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-member-expression-to-functions": ^7.25.9 + "@babel/helper-optimise-call-expression": ^7.25.9 + "@babel/helper-replace-supers": ^7.25.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 + "@babel/traverse": ^7.25.9 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 6b7b47d70b41c00f39f86790cff67acf2bce0289d52a7c182b28e797f4e0e6d69027e3d06eccf1d54dddc2e5dde1df663bb1932437e5f447aeb8635d8d64a6ab + checksum: b2bdd39f38056a76b9ba00ec5b209dd84f5c5ebd998d0f4033cf0e73d5f2c357fbb49d1ce52db77a2709fb29ee22321f84a5734dc9914849bdfee9ad12ce8caf languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-environment-visitor@npm:7.24.7" - dependencies: - "@babel/types": ^7.24.7 - checksum: 36ece78882b5960e2d26abf13cf15ff5689bf7c325b10a2895a74a499e712de0d305f8d78bb382dd3c05cfba7e47ec98fe28aab5674243e0625cd38438dd0b2d - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-function-name@npm:7.24.7" - dependencies: - "@babel/template": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: e5e41e6cf86bd0f8bf272cbb6e7c5ee0f3e9660414174435a46653efba4f2479ce03ce04abff2aa2ef9359cf057c79c06cb7b134a565ad9c0e8a50dcdc3b43c4 - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-hoist-variables@npm:7.24.7" - dependencies: - "@babel/types": ^7.24.7 - checksum: 19ee37563bbd1219f9d98991ad0e9abef77803ee5945fd85aa7aa62a67c69efca9a801696a1b58dda27f211e878b3327789e6fd2a6f6c725ccefe36774b5ce95 - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.7" - dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 9638c1d33cf6aba028461ccd3db6061c76ff863ca0d5013dd9a088bf841f2f77c46956493f9da18355c16759449d23b74cc1de4da357ade5c5c34c858f840f0a - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-imports@npm:7.24.7" +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 97c57db6c3eeaea31564286e328a9fb52b0313c5cfcc7eee4bc226aebcf0418ea5b6fe78673c0e4a774512ec6c86e309d0f326e99d2b37bfc16a25a032498af0 + "@babel/traverse": ^7.25.9 + "@babel/types": ^7.25.9 + checksum: e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.9": +"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-module-imports@npm:7.25.9" dependencies: @@ -271,22 +166,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-transforms@npm:7.24.7" - dependencies: - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-module-imports": ^7.24.7 - "@babel/helper-simple-access": ^7.24.7 - "@babel/helper-split-export-declaration": ^7.24.7 - "@babel/helper-validator-identifier": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 4f311755fcc3b4cbdb689386309cdb349cf0575a938f0b9ab5d678e1a81bbb265aa34ad93174838245f2ac7ff6d5ddbd0104638a75e4e961958ed514355687b6 - languageName: node - linkType: hard - -"@babel/helper-module-transforms@npm:^7.26.0": +"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: @@ -299,75 +179,52 @@ __metadata: languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" dependencies: - "@babel/types": ^7.24.7 - checksum: ca6a9884705dea5c95a8b3ce132d1e3f2ae951ff74987d400d1d9c215dae9c0f9e29924d8f8e131e116533d182675bc261927be72f6a9a2968eaeeaa51eb1d0f - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.24.7 - resolution: "@babel/helper-plugin-utils@npm:7.24.7" - checksum: c3d38cd9b3520757bb4a279255cc3f956fc0ac1c193964bd0816ebd5c86e30710be8e35252227e0c9d9e0f4f56d9b5f916537f2bc588084b0988b4787a967d31 + "@babel/types": ^7.25.9 + checksum: 90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.25.9": +"@babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.25.9 resolution: "@babel/helper-plugin-utils@npm:7.25.9" checksum: 483066a1ba36ff16c0116cd24f93de05de746a603a777cd695ac7a1b034928a65a4ecb35f255761ca56626435d7abdb73219eba196f9aa83b6c3c3169325599d languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-replace-supers@npm:7.24.7" +"@babel/helper-replace-supers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-replace-supers@npm:7.25.9" dependencies: - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-member-expression-to-functions": ^7.24.7 - "@babel/helper-optimise-call-expression": ^7.24.7 + "@babel/helper-member-expression-to-functions": ^7.25.9 + "@babel/helper-optimise-call-expression": ^7.25.9 + "@babel/traverse": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0 - checksum: 0e133bb03371dee78e519c334a09c08e1493103a239d9628db0132dfaac3fc16380479ca3c590d278a9b71b624030a338c18ebbfe6d430ebb2e4653775c4b3e3 + checksum: 0b40d7d2925bd3ba4223b3519e2e4d2456d471ad69aa458f1c1d1783c80b522c61f8237d3a52afc9e47c7174129bbba650df06393a6787d5722f2ec7f223c3f4 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-simple-access@npm:7.24.7" - dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 7230e419d59a85f93153415100a5faff23c133d7442c19e0cd070da1784d13cd29096ee6c5a5761065c44e8164f9f80e3a518c41a0256df39e38f7ad6744fed7 - languageName: node - linkType: hard - -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" +"@babel/helper-simple-access@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-simple-access@npm:7.25.9" dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: e3a9b8ac9c262ac976a1bcb5fe59694db5e6f0b4f9e7bdba5c7693b8b5e28113c23bdaa60fe8d3ec32a337091b67720b2053bcb3d5655f5406536c3d0584242b + "@babel/traverse": ^7.25.9 + "@babel/types": ^7.25.9 + checksum: 3f1bcdb88ee3883ccf86959869a867f6bbf8c4737cd44fb9f799c38e54f67474590bc66802500ae9fe18161792875b2cfb7ec15673f48ed6c8663f6d09686ca8 languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-split-export-declaration@npm:7.24.7" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" dependencies: - "@babel/types": ^7.24.7 - checksum: 0254577d7086bf09b01bbde98f731d4fcf4b7c3fa9634fdb87929801307c1f6202a1352e3faa5492450fa8da4420542d44de604daf540704ff349594a78184f6 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-string-parser@npm:7.24.7" - checksum: 47840c7004e735f3dc93939c77b099bb41a64bf3dda0cae62f60e6f74a5ff80b63e9b7cf77b5ec25a324516381fc994e1f62f922533236a8e3a6af57decb5e1e + "@babel/traverse": ^7.25.9 + "@babel/types": ^7.25.9 + checksum: 09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 languageName: node linkType: hard @@ -378,13 +235,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-identifier@npm:7.24.7" - checksum: 87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 - languageName: node - linkType: hard - "@babel/helper-validator-identifier@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-identifier@npm:7.25.9" @@ -392,13 +242,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-option@npm:7.24.7" - checksum: 21aea2b7bc5cc8ddfb828741d5c8116a84cbc35b4a3184ec53124f08e09746f1f67a6f9217850188995ca86059a7942e36d8965a6730784901def777b7e8a436 - languageName: node - linkType: hard - "@babel/helper-validator-option@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-option@npm:7.25.9" @@ -406,16 +249,6 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helpers@npm:7.24.7" - dependencies: - "@babel/template": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: aa8e230f6668773e17e141dbcab63e935c514b4b0bf1fed04d2eaefda17df68e16b61a56573f7f1d4d1e605ce6cc162b5f7e9fdf159fde1fd9b77c920ae47d27 - languageName: node - linkType: hard - "@babel/helpers@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helpers@npm:7.26.0" @@ -426,28 +259,7 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/highlight@npm:7.24.7" - dependencies: - "@babel/helper-validator-identifier": ^7.24.7 - chalk: ^2.4.2 - js-tokens: ^4.0.0 - picocolors: ^1.0.0 - checksum: 674334c571d2bb9d1c89bdd87566383f59231e16bcdcf5bb7835babdf03c9ae585ca0887a7b25bdf78f303984af028df52831c7989fecebb5101cc132da9393a - languageName: node - linkType: hard - -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/parser@npm:7.24.7" - bin: - parser: ./bin/babel-parser.js - checksum: 8b244756872185a1c6f14b979b3535e682ff08cb5a2a5fd97cc36c017c7ef431ba76439e95e419d43000c5b07720495b00cf29a7f0d9a483643d08802b58819b - languageName: node - linkType: hard - -"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2": version: 7.26.2 resolution: "@babel/parser@npm:7.26.2" dependencies: @@ -496,36 +308,36 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-flow@npm:^7.0.0, @babel/plugin-syntax-flow@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-flow@npm:7.24.7" +"@babel/plugin-syntax-flow@npm:^7.0.0, @babel/plugin-syntax-flow@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/plugin-syntax-flow@npm:7.26.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2f0cb7a78379029707e61f6665634a5b758c8b4ccb602a72d798e41d36b0647c2f2de59f90e0c1d522b026962918e54d82f3aee0c194dc87cd340455aa58562a + checksum: 3d5cc1627a67af8be9df8cfe246869f18e7e9e2592f4b6f1c4bcd9bbe4ad27102784a25b31ebdbed23499ecb6fc23aaf7891ccf5ac3f432fd26a27123d1e242b languageName: node linkType: hard "@babel/plugin-syntax-import-assertions@npm:^7.20.0": - version: 7.24.7 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.24.7" + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b82c53e095274ee71c248551352d73441cf65b3b3fc0107258ba4e9aef7090772a425442b3ed1c396fa207d0efafde8929c87a17d3c885b3ca2021316e87e246 + checksum: 525b174e60b210d96c1744c1575fc2ddedcc43a479cba64a5344cf77bd0541754fc58120b5a11ff832ba098437bb05aa80900d1f49bb3d888c5e349a4a3a356e languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.0.0, @babel/plugin-syntax-jsx@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" +"@babel/plugin-syntax-jsx@npm:^7.0.0, @babel/plugin-syntax-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f44d927a9ae8d5ef016ff5b450e1671e56629ddc12e56b938e41fd46e141170d9dfc9a53d6cb2b9a20a7dd266a938885e6a3981c60c052a2e1daed602ac80e51 + checksum: d56597aff4df39d3decda50193b6dfbe596ca53f437ff2934622ce19a743bf7f43492d3fb3308b0289f5cee2b825d99ceb56526a2b9e7b68bf04901546c5618c languageName: node linkType: hard @@ -541,193 +353,191 @@ __metadata: linkType: hard "@babel/plugin-transform-arrow-functions@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6ac05a54e5582f34ac6d5dc26499e227227ec1c7fa6fc8de1f3d40c275f140d3907f79bbbd49304da2d7008a5ecafb219d0b71d78ee3290ca22020d878041245 + checksum: 851fef9f58be60a80f46cc0ce1e46a6f7346a6f9d50fa9e0fa79d46ec205320069d0cc157db213e2bea88ef5b7d9bd7618bb83f0b1996a836e2426c3a3a1f622 languageName: node linkType: hard "@babel/plugin-transform-block-scoped-functions@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 113e86de4612ae91773ff5cb6b980f01e1da7e26ae6f6012127415d7ae144e74987bc23feb97f63ba4bc699331490ddea36eac004d76a20d5369e4cc6a7f61cd + checksum: e92ba0e3d72c038513844d8fca1cc8437dcb35cd42778e97fd03cb8303380b201468611e7ecfdcae3de33473b2679fe2de1552c5f925d112c5693425cf851f10 languageName: node linkType: hard "@babel/plugin-transform-block-scoping@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoping@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: dcbc5e385c0ca5fb5736b1c720c90755cffe9f91d8c854f82e61e59217dd3f6c91b3633eeee4b55a89d3f59e5275d0f5b0b1b1363d4fa70c49c468b55aa87700 + checksum: a76e30becb6c75b4d87a2cd53556fddb7c88ddd56bfadb965287fd944810ac159aa8eb5705366fc37336041f63154ed9fab3862fb10482a45bf5ede63fd55fda languageName: node linkType: hard "@babel/plugin-transform-classes@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-classes@npm:7.24.7" - dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-function-name": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-replace-supers": ^7.24.7 - "@babel/helper-split-export-declaration": ^7.24.7 + version: 7.25.9 + resolution: "@babel/plugin-transform-classes@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-compilation-targets": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-replace-supers": ^7.25.9 + "@babel/traverse": ^7.25.9 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e51dba7ce8b770d1eee929e098d5a3be3efc3e8b941e22dda7d0097dc4e7be5feabd2da7b707ac06fcac5661b31223c541941dec08ce76c1faa55544d87d06ec + checksum: 02742ea7cd25be286c982e672619effca528d7a931626a6f3d6cea11852951b7ee973276127eaf6418ac0e18c4d749a16b520709c707e86a67012bd23ff2927d languageName: node linkType: hard "@babel/plugin-transform-computed-properties@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/template": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/template": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 25636dbc1f605c0b8bc60aa58628a916b689473d11551c9864a855142e36742fe62d4a70400ba3b74902338e77fb3d940376c0a0ba154b6b7ec5367175233b49 + checksum: 948c0ae3ce0ba2375241d122a9bc7cda4a7ac8110bd8a62cd804bc46a5fdb7a7a42c7799c4cd972e14e0a579d2bd0999b92e53177b73f240bb0d4b09972c758b languageName: node linkType: hard "@babel/plugin-transform-destructuring@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 929f07a807fb62230bfbf881cfcedf187ac5daf2f1b01da94a75c7a0f6f72400268cf4bcfee534479e43260af8193e42c31ee03c8b0278ba77d0036ed6709c27 + checksum: 7beec5fda665d108f69d5023aa7c298a1e566b973dd41290faa18aeea70f6f571295c1ece0a058f3ceb6c6c96de76de7cd34f5a227fbf09a1b8d8a735d28ca49 languageName: node linkType: hard "@babel/plugin-transform-flow-strip-types@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-flow": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/plugin-syntax-flow": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9995d52af58ceaa223c6553873bd5a16a94b2abdebb39993d59d9eb0c0c9666636ceb7a80f63ac86fe7ab3cb217f1dac9fb2f448ad5a54f8fb8e41e12716ef9a + checksum: d4b79769a5b8bfc1a0766ed2158417e7efa53cdb5776161f641a642019c0822a1288f2ccd36c16a4bca77c64ccf1bab7e36aa1419adc417606acc6eddc126339 languageName: node linkType: hard "@babel/plugin-transform-for-of@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-for-of@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-for-of@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 77629b1173e55d07416f05ba7353caa09d2c2149da2ca26721ab812209b63689d1be45116b68eadc011c49ced59daf5320835b15245eb7ae93ae0c5e8277cfc0 + checksum: bf11abc71934a1f369f39cd7a33cf3d4dc5673026a53f70b7c1238c4fcc44e68b3ca1bdbe3db2076f60defb6ffe117cbe10b90f3e1a613b551d88f7c4e693bbe languageName: node linkType: hard "@babel/plugin-transform-function-name@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-function-name@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-function-name@npm:7.25.9" dependencies: - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-function-name": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-compilation-targets": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/traverse": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3e9642428d6952851850d89ea9307d55946528d18973784d0e2f04a651b23bd9924dd8a2641c824b483bd4ab1223bab1d2f6a1106a939998f7ced512cb60ac5b + checksum: 8e67fbd1dd367927b8b6afdf0a6e7cb3a3fd70766c52f700ca77428b6d536f6c9d7ec643e7762d64b23093233765c66bffa40e31aabe6492682879bcb45423e1 languageName: node linkType: hard "@babel/plugin-transform-literals@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-literals@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9f3f6f3831929cd2a977748c07addf9944d5cccb50bd3a24a58beb54f91f00d6cacd3d7831d13ffe1ad6f8aba0aefd7bca5aec65d63b77f39c62ad1f2d484a3e + checksum: 00b14e9c14cf1e871c1f3781bf6334cac339c360404afd6aba63d2f6aca9270854d59a2b40abff1c4c90d4ffdca614440842d3043316c2f0ceb155fdf7726b3b languageName: node linkType: hard "@babel/plugin-transform-member-expression-literals@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e789ae359bdf2d20e90bedef18dfdbd965c9ebae1cee398474a0c349590fda7c8b874e1a2ceee62e47e5e6ec1730e76b0f24e502164357571854271fc12cc684 + checksum: 91d17b451bcc5ea9f1c6f8264144057ade3338d4b92c0b248366e4db3a7790a28fd59cc56ac433a9627a9087a17a5684e53f4995dd6ae92831cb72f1bd540b54 languageName: node linkType: hard "@babel/plugin-transform-modules-commonjs@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-simple-access": ^7.24.7 + "@babel/helper-module-transforms": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-simple-access": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9442292b3daf6a5076cdc3c4c32bf423bda824ccaeb0dd0dc8b3effaa1fecfcb0130ae6e647fef12a5d5ff25bcc99a0d6bfc6d24a7525345e1bcf46fcdf81752 + checksum: 6ce771fb04d4810257fc8900374fece877dacaed74b05eaa16ad9224b390f43795c4d046cbe9ae304e1eb5aad035d37383895e3c64496d647c2128d183916e74 languageName: node linkType: hard "@babel/plugin-transform-object-super@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-super@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-object-super@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-replace-supers": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-replace-supers": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 770cebb4b4e1872c216b17069db9a13b87dfee747d359dc56d9fcdd66e7544f92dc6ab1861a4e7e0528196aaff2444e4f17dc84efd8eaf162d542b4ba0943869 + checksum: 0348d00e76f1f15ada44481a76e8c923d24cba91f6e49ee9b30d6861eb75344e7f84d62a18df8a6f9e9a7eacf992f388174b7f9cc4ce48287bcefca268c07600 languageName: node linkType: hard "@babel/plugin-transform-parameters@npm:^7.0.0, @babel/plugin-transform-parameters@npm:^7.20.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-parameters@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-parameters@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 53bf190d6926771545d5184f1f5f3f5144d0f04f170799ad46a43f683a01fab8d5fe4d2196cf246774530990c31fe1f2b9f0def39f0a5ddbb2340b924f5edf01 + checksum: aecb446754b9e09d6b6fa95fd09e7cf682f8aaeed1d972874ba24c0a30a7e803ad5f014bb1fffc7bfeed22f93c0d200947407894ea59bf7687816f2f464f8df3 languageName: node linkType: hard "@babel/plugin-transform-property-literals@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-property-literals@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 52564b58f3d111dc02d241d5892a4b01512e98dfdf6ef11b0ed62f8b11b0acacccef0fc229b44114fe8d1a57a8b70780b11bdd18b807d3754a781a07d8f57433 + checksum: 1639e35b2438ccf3107af760d34e6a8e4f9acdd3ae6186ae771a6e3029bd59dfe778e502d67090f1185ecda5c16addfed77561e39c518a3f51ff10d41790e106 languageName: node linkType: hard "@babel/plugin-transform-react-display-name@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-display-name@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-react-display-name@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c14a07a9e75723c96f1a0a306b8a8e899ff1c6a0cc3d62bcda79bb1b54e4319127b258651c513a1a47da152cdc22e16525525a30ae5933a2980c7036fd0b4d24 + checksum: 63a0f962d64e71baf87c212755419e25c637d2d95ea6fdc067df26b91e606ae186442ae815b99a577eca9bf5404d9577ecad218a3cf42d0e9e286ca7b003a992 languageName: node linkType: hard @@ -754,64 +564,55 @@ __metadata: linkType: hard "@babel/plugin-transform-react-jsx@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-module-imports": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-jsx": ^7.24.7 - "@babel/types": ^7.24.7 + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-module-imports": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/plugin-syntax-jsx": ^7.25.9 + "@babel/types": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5c46d2c1c06a30e6bde084839df9cc689bf9c9cb0292105d61c225ca731f64247990724caee7dfc7f817dc964c062e8319e7f05394209590c476b65d75373435 + checksum: 5c9947e8ed141f7606f54da3e05eea1074950c5b8354c39df69cb7f43cb5a83c6c9d7973b24bc3d89341c8611f8ad50830a98ab10d117d850e6bdd8febdce221 languageName: node linkType: hard "@babel/plugin-transform-shorthand-properties@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 41b155bdbb3be66618358488bf7731b3b2e8fff2de3dbfd541847720a9debfcec14db06a117abedd03c9cd786db20a79e2a86509a4f19513f6e1b610520905cf + checksum: 05a20d45f0fb62567644c507ccd4e379c1a74dacf887d2b2cac70247415e3f6d7d3bf4850c8b336053144715fedb6200fc38f7130c4b76c94eec9b9c0c2a8e9b languageName: node linkType: hard "@babel/plugin-transform-spread@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-spread@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-spread@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: facba1553035f76b0d2930d4ada89a8cd0f45b79579afd35baefbfaf12e3b86096995f4b0c402cf9ee23b3f2ea0a4460c3b1ec0c192d340962c948bb223d4e66 + checksum: 996c8fed238efc30e0664f9f58bd7ec8c148f4659f84425f68923a094fe891245711d26eb10d1f815f50c124434e076e860dbe9662240844d1b77cd09907dcdf languageName: node linkType: hard "@babel/plugin-transform-template-literals@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-template-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3630f966257bcace122f04d3157416a09d40768c44c3a800855da81146b009187daa21859d1c3b7d13f4e19e8888e60613964b175b2275d451200fb6d8d6cfe6 - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": - version: 7.24.7 - resolution: "@babel/runtime@npm:7.24.7" - dependencies: - regenerator-runtime: ^0.14.0 - checksum: b6fa3ec61a53402f3c1d75f4d808f48b35e0dfae0ec8e2bb5c6fc79fb95935da75766e0ca534d0f1c84871f6ae0d2ebdd950727cfadb745a2cdbef13faef5513 + checksum: 5144da6036807bbd4e9d2a8b92ae67a759543929f34f4db9b463448a77298f4a40bf1e92e582db208fe08ee116224806a3bd0bed75d9da404fc2c0af9e6da540 languageName: node linkType: hard -"@babel/runtime@npm:^7.26.0": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.24.6, @babel/runtime@npm:^7.26.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": version: 7.26.0 resolution: "@babel/runtime@npm:7.26.0" dependencies: @@ -820,18 +621,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/template@npm:7.24.7" - dependencies: - "@babel/code-frame": ^7.24.7 - "@babel/parser": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 95b0b3ee80fcef685b7f4426f5713a855ea2cd5ac4da829b213f8fb5afe48a2a14683c2ea04d446dbc7f711c33c5cd4a965ef34dcbe5bc387c9e966b67877ae3 - languageName: node - linkType: hard - -"@babel/template@npm:^7.25.9": +"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.25.9": version: 7.25.9 resolution: "@babel/template@npm:7.25.9" dependencies: @@ -842,25 +632,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/traverse@npm:7.24.7" - dependencies: - "@babel/code-frame": ^7.24.7 - "@babel/generator": ^7.24.7 - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-function-name": ^7.24.7 - "@babel/helper-hoist-variables": ^7.24.7 - "@babel/helper-split-export-declaration": ^7.24.7 - "@babel/parser": ^7.24.7 - "@babel/types": ^7.24.7 - debug: ^4.3.1 - globals: ^11.1.0 - checksum: a5135e589c3f1972b8877805f50a084a04865ccb1d68e5e1f3b94a8841b3485da4142e33413d8fd76bc0e6444531d3adf1f59f359c11ffac452b743d835068ab - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.25.9": +"@babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.25.9": version: 7.25.9 resolution: "@babel/traverse@npm:7.25.9" dependencies: @@ -875,18 +647,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.24.7, @babel/types@npm:^7.8.3": - version: 7.24.7 - resolution: "@babel/types@npm:7.24.7" - dependencies: - "@babel/helper-string-parser": ^7.24.7 - "@babel/helper-validator-identifier": ^7.24.7 - to-fast-properties: ^2.0.0 - checksum: d9ecbfc3eb2b05fb1e6eeea546836ac30d990f395ef3fe3f75ced777a222c3cfc4489492f72e0ce3d9a5a28860a1ce5f81e66b88cf5088909068b3ff4fab72c1 - languageName: node - linkType: hard - -"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0": version: 7.26.0 resolution: "@babel/types@npm:7.26.0" dependencies: @@ -928,6 +689,15 @@ __metadata: languageName: node linkType: hard +"@commander-js/extra-typings@npm:^12.1.0": + version: 12.1.0 + resolution: "@commander-js/extra-typings@npm:12.1.0" + peerDependencies: + commander: ~12.1.0 + checksum: 5d29eaa724b577e2a52a393ad54992924d2559931b8e493ab892477b7a4e878e475c6bf771260f8585d835f7d8e17ae4a2656c191e9595d210ae0b48291c0b3d + languageName: node + linkType: hard + "@cspotcode/source-map-support@npm:^0.8.0": version: 0.8.1 resolution: "@cspotcode/source-map-support@npm:0.8.1" @@ -1149,6 +919,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/aix-ppc64@npm:0.24.0" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm64@npm:0.21.5" @@ -1156,6 +933,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-arm64@npm:0.24.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm@npm:0.21.5" @@ -1163,6 +947,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-arm@npm:0.24.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-x64@npm:0.21.5" @@ -1170,6 +961,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-x64@npm:0.24.0" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-arm64@npm:0.21.5" @@ -1177,6 +975,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/darwin-arm64@npm:0.24.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-x64@npm:0.21.5" @@ -1184,6 +989,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/darwin-x64@npm:0.24.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-arm64@npm:0.21.5" @@ -1191,6 +1003,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/freebsd-arm64@npm:0.24.0" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-x64@npm:0.21.5" @@ -1198,6 +1017,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/freebsd-x64@npm:0.24.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm64@npm:0.21.5" @@ -1205,6 +1031,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-arm64@npm:0.24.0" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm@npm:0.21.5" @@ -1212,6 +1045,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-arm@npm:0.24.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ia32@npm:0.21.5" @@ -1219,6 +1059,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-ia32@npm:0.24.0" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-loong64@npm:0.21.5" @@ -1226,6 +1073,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-loong64@npm:0.24.0" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-mips64el@npm:0.21.5" @@ -1233,6 +1087,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-mips64el@npm:0.24.0" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ppc64@npm:0.21.5" @@ -1240,6 +1101,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-ppc64@npm:0.24.0" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-riscv64@npm:0.21.5" @@ -1247,6 +1115,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-riscv64@npm:0.24.0" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-s390x@npm:0.21.5" @@ -1254,6 +1129,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-s390x@npm:0.24.0" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-x64@npm:0.21.5" @@ -1261,6 +1143,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-x64@npm:0.24.0" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/netbsd-x64@npm:0.21.5" @@ -1268,6 +1157,20 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/netbsd-x64@npm:0.24.0" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/openbsd-arm64@npm:0.24.0" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/openbsd-x64@npm:0.21.5" @@ -1275,6 +1178,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/openbsd-x64@npm:0.24.0" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/sunos-x64@npm:0.21.5" @@ -1282,6 +1192,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/sunos-x64@npm:0.24.0" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-arm64@npm:0.21.5" @@ -1289,6 +1206,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/win32-arm64@npm:0.24.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-ia32@npm:0.21.5" @@ -1296,6 +1220,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/win32-ia32@npm:0.24.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-x64@npm:0.21.5" @@ -1303,21 +1234,28 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/win32-x64@npm:0.24.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" + version: 4.4.1 + resolution: "@eslint-community/eslint-utils@npm:4.4.1" dependencies: - eslint-visitor-keys: ^3.3.0 + eslint-visitor-keys: ^3.4.3 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e + checksum: 2aa0ac2fc50ff3f234408b10900ed4f1a0b19352f21346ad4cc3d83a1271481bdda11097baa45d484dd564c895e0762a27a8240be7a256b3ad47129e96528252 languageName: node linkType: hard "@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.10.1 - resolution: "@eslint-community/regexpp@npm:4.10.1" - checksum: f59376025d0c91dd9fdf18d33941df499292a3ecba3e9889c360f3f6590197d30755604588786cdca0f9030be315a26b206014af4b65c0ff85b4ec49043de780 + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 languageName: node linkType: hard @@ -1345,7 +1283,7 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:^9.15.0": +"@eslint/js@npm:^9.0.0": version: 9.15.0 resolution: "@eslint/js@npm:9.15.0" checksum: 56552966ab1aa95332f70d0e006db5746b511c5f8b5e0c6a9b2d6764ff6d964e0b2622731877cbc4e3f0e74c5b39191290d5f48147be19175292575130d499ab @@ -1548,6 +1486,44 @@ __metadata: languageName: node linkType: hard +"@floating-ui/core@npm:^1.6.0": + version: 1.6.8 + resolution: "@floating-ui/core@npm:1.6.8" + dependencies: + "@floating-ui/utils": ^0.2.8 + checksum: d6985462aeccae7b55a2d3f40571551c8c42bf820ae0a477fc40ef462e33edc4f3f5b7f11b100de77c9b58ecb581670c5c3f46d0af82b5e30aa185c735257eb9 + languageName: node + linkType: hard + +"@floating-ui/dom@npm:^1.0.0": + version: 1.6.12 + resolution: "@floating-ui/dom@npm:1.6.12" + dependencies: + "@floating-ui/core": ^1.6.0 + "@floating-ui/utils": ^0.2.8 + checksum: c67b39862175b175c6ac299ea970f17a22c7482cfdf3b1bc79313407bf0880188b022b878953fa69d3ce166ff2bd9ae57c86043e5dd800c262b470d877591b7d + languageName: node + linkType: hard + +"@floating-ui/react-dom@npm:^2.0.8": + version: 2.1.2 + resolution: "@floating-ui/react-dom@npm:2.1.2" + dependencies: + "@floating-ui/dom": ^1.0.0 + peerDependencies: + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: e855131c74e68cab505f7f44f92cd4e2efab1c125796db3116c54c0859323adae4bf697bf292ee83ac77b9335a41ad67852193d7aeace90aa2e1c4a640cafa60 + languageName: node + linkType: hard + +"@floating-ui/utils@npm:^0.2.8": + version: 0.2.8 + resolution: "@floating-ui/utils@npm:0.2.8" + checksum: a8cee5f17406c900e1c3ef63e3ca89b35e7a2ed645418459a73627b93b7377477fc888081011c6cd177cac45ec2b92a6cab018c14ea140519465498dddd2d3f9 + languageName: node + linkType: hard + "@fontsource/jost@npm:^5.1.1": version: 5.1.1 resolution: "@fontsource/jost@npm:5.1.1" @@ -1555,7 +1531,7 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/add@npm:^5.0.3": +"@graphql-codegen/add@npm:^5.0.2, @graphql-codegen/add@npm:^5.0.3": version: 5.0.3 resolution: "@graphql-codegen/add@npm:5.0.3" dependencies: @@ -1567,14 +1543,14 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/cli@npm:5.0.3": - version: 5.0.3 - resolution: "@graphql-codegen/cli@npm:5.0.3" +"@graphql-codegen/cli@npm:5.0.2": + version: 5.0.2 + resolution: "@graphql-codegen/cli@npm:5.0.2" dependencies: "@babel/generator": ^7.18.13 "@babel/template": ^7.18.10 "@babel/types": ^7.18.13 - "@graphql-codegen/client-preset": ^4.4.0 + "@graphql-codegen/client-preset": ^4.2.2 "@graphql-codegen/core": ^4.0.2 "@graphql-codegen/plugin-helpers": ^5.0.3 "@graphql-tools/apollo-engine-loader": ^8.0.0 @@ -1587,12 +1563,12 @@ __metadata: "@graphql-tools/prisma-loader": ^8.0.0 "@graphql-tools/url-loader": ^8.0.0 "@graphql-tools/utils": ^10.0.0 - "@whatwg-node/fetch": ^0.9.20 + "@whatwg-node/fetch": ^0.8.0 chalk: ^4.1.0 cosmiconfig: ^8.1.3 debounce: ^1.2.0 detect-indent: ^6.0.0 - graphql-config: ^5.1.1 + graphql-config: ^5.0.2 inquirer: ^8.0.0 is-glob: ^4.0.1 jiti: ^1.17.1 @@ -1617,11 +1593,34 @@ __metadata: graphql-code-generator: cjs/bin.js graphql-codegen: cjs/bin.js graphql-codegen-esm: esm/bin.js - checksum: fb08da11c9fc276bfb90a949438defede799e456d07e09b4bf44adfb140694902116c046da5935750730cb9f4a3d1cca67c98a1eaa1919e1b3a9dafb6590304a + checksum: 6a54981bc0c40f2c95ab38563af1bb9b1ce5b01ba81ebef830f33b9e46623e86fef9ab41059e1187524029b430c8cd58e4e9f4e255f588dec1eaed6b329d6b9d languageName: node linkType: hard -"@graphql-codegen/client-preset@npm:4.5.0, @graphql-codegen/client-preset@npm:^4.4.0": +"@graphql-codegen/client-preset@npm:4.2.5": + version: 4.2.5 + resolution: "@graphql-codegen/client-preset@npm:4.2.5" + dependencies: + "@babel/helper-plugin-utils": ^7.20.2 + "@babel/template": ^7.20.7 + "@graphql-codegen/add": ^5.0.2 + "@graphql-codegen/gql-tag-operations": 4.0.6 + "@graphql-codegen/plugin-helpers": ^5.0.3 + "@graphql-codegen/typed-document-node": ^5.0.6 + "@graphql-codegen/typescript": ^4.0.6 + "@graphql-codegen/typescript-operations": ^4.2.0 + "@graphql-codegen/visitor-plugin-common": ^5.1.0 + "@graphql-tools/documents": ^1.0.0 + "@graphql-tools/utils": ^10.0.0 + "@graphql-typed-document-node/core": 3.2.0 + tslib: ~2.6.0 + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 9b14edf422503d947839fa0818333c4ea4e368f7781b6ae409226747a5e7a159bfcc2f375d69aed18fe91ac72d554e93164c3c3e3d115e702e58c436b7da6c6e + languageName: node + linkType: hard + +"@graphql-codegen/client-preset@npm:^4.2.2": version: 4.5.0 resolution: "@graphql-codegen/client-preset@npm:4.5.0" dependencies: @@ -1673,6 +1672,21 @@ __metadata: languageName: node linkType: hard +"@graphql-codegen/gql-tag-operations@npm:4.0.6": + version: 4.0.6 + resolution: "@graphql-codegen/gql-tag-operations@npm:4.0.6" + dependencies: + "@graphql-codegen/plugin-helpers": ^5.0.3 + "@graphql-codegen/visitor-plugin-common": 5.1.0 + "@graphql-tools/utils": ^10.0.0 + auto-bind: ~4.0.0 + tslib: ~2.6.0 + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: e974f167c1672e8db68ddff9bc563cfce33879cc5a8014e91d73e4968443bfc5fd60d40721d12b06eb4351e39efeb823aff1b0e71c6bd73f95594600e791143c + languageName: node + linkType: hard + "@graphql-codegen/plugin-helpers@npm:^2.7.2": version: 2.7.2 resolution: "@graphql-codegen/plugin-helpers@npm:2.7.2" @@ -1705,23 +1719,7 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/plugin-helpers@npm:^5.0.3": - version: 5.0.4 - resolution: "@graphql-codegen/plugin-helpers@npm:5.0.4" - dependencies: - "@graphql-tools/utils": ^10.0.0 - change-case-all: 1.0.15 - common-tags: 1.8.2 - import-from: 4.0.0 - lodash: ~4.17.0 - tslib: ~2.6.0 - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: e1d7af8af8cfd5d8baa4fbf099fbe14ee45d43a2e66af38eb901348163e073a392e53cdd58aad27acf32d14da5b6a7bf06fe1daa793d99e462457f80025dec97 - languageName: node - linkType: hard - -"@graphql-codegen/plugin-helpers@npm:^5.1.0": +"@graphql-codegen/plugin-helpers@npm:^5.0.3, @graphql-codegen/plugin-helpers@npm:^5.1.0": version: 5.1.0 resolution: "@graphql-codegen/plugin-helpers@npm:5.1.0" dependencies: @@ -1738,19 +1736,19 @@ __metadata: linkType: hard "@graphql-codegen/schema-ast@npm:^4.0.2": - version: 4.0.2 - resolution: "@graphql-codegen/schema-ast@npm:4.0.2" + version: 4.1.0 + resolution: "@graphql-codegen/schema-ast@npm:4.1.0" dependencies: "@graphql-codegen/plugin-helpers": ^5.0.3 "@graphql-tools/utils": ^10.0.0 tslib: ~2.6.0 peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 533b1bfa6c01d02ff2ec688a478e8daeb9bda1d69d63b1bca8adf9ab606a4a315da4e0f45444836646b8e539e8c76891af536afd9fb3a7e36d40f8bd04218748 + checksum: ff7ab73f46f1ae4882eda0af8c3f78d37e904108aba37d52288028ee34e9bc56236b6a032a1e2fe1283030ba5f6a5f75224285af12b3f56a76e90843e1eff0e0 languageName: node linkType: hard -"@graphql-codegen/typed-document-node@npm:^5.0.11": +"@graphql-codegen/typed-document-node@npm:^5.0.11, @graphql-codegen/typed-document-node@npm:^5.0.6": version: 5.0.11 resolution: "@graphql-codegen/typed-document-node@npm:5.0.11" dependencies: @@ -1765,7 +1763,7 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/typescript-operations@npm:^4.3.1": +"@graphql-codegen/typescript-operations@npm:^4.2.0, @graphql-codegen/typescript-operations@npm:^4.3.1": version: 4.3.1 resolution: "@graphql-codegen/typescript-operations@npm:4.3.1" dependencies: @@ -1795,7 +1793,7 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/typescript@npm:^4.1.1": +"@graphql-codegen/typescript@npm:^4.0.6, @graphql-codegen/typescript@npm:^4.1.1": version: 4.1.1 resolution: "@graphql-codegen/typescript@npm:4.1.1" dependencies: @@ -1830,7 +1828,27 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/visitor-plugin-common@npm:5.5.0, @graphql-codegen/visitor-plugin-common@npm:^5.5.0": +"@graphql-codegen/visitor-plugin-common@npm:5.1.0": + version: 5.1.0 + resolution: "@graphql-codegen/visitor-plugin-common@npm:5.1.0" + dependencies: + "@graphql-codegen/plugin-helpers": ^5.0.3 + "@graphql-tools/optimize": ^2.0.0 + "@graphql-tools/relay-operation-optimizer": ^7.0.0 + "@graphql-tools/utils": ^10.0.0 + auto-bind: ~4.0.0 + change-case-all: 1.0.15 + dependency-graph: ^0.11.0 + graphql-tag: ^2.11.0 + parse-filepath: ^1.0.2 + tslib: ~2.6.0 + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 500b0da52c9e1aab514db3eb2481d5c780238a5382745f354779d69d17d5d2b0b9e07386690557f0c387d0634f02c7f93c71d4e228843db2c5292ac414ebc875 + languageName: node + linkType: hard + +"@graphql-codegen/visitor-plugin-common@npm:5.5.0, @graphql-codegen/visitor-plugin-common@npm:^5.1.0, @graphql-codegen/visitor-plugin-common@npm:^5.5.0": version: 5.5.0 resolution: "@graphql-codegen/visitor-plugin-common@npm:5.5.0" dependencies: @@ -1872,16 +1890,16 @@ __metadata: linkType: hard "@graphql-tools/apollo-engine-loader@npm:^8.0.0": - version: 8.0.1 - resolution: "@graphql-tools/apollo-engine-loader@npm:8.0.1" + version: 8.0.5 + resolution: "@graphql-tools/apollo-engine-loader@npm:8.0.5" dependencies: "@ardatan/sync-fetch": ^0.0.1 - "@graphql-tools/utils": ^10.0.13 - "@whatwg-node/fetch": ^0.9.0 + "@graphql-tools/utils": ^10.6.0 + "@whatwg-node/fetch": ^0.10.0 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 4ef280a8246d2b1ff2be1ad9334fe8d69147b0ed3a32a65f50057ddee27b44708bba8030f75c330e1615d428750ee276919e4ddd4ce16befa4e328f12226afc1 + checksum: 24b9a41dcaf4bef4909579b771dcde6e7abe42f96fac8ff0d38906c6e8e8a90f9ab3525701cbf76bc0016b4277af2c7bb4fa208a8f5380051eacfb21570a870d languageName: node linkType: hard @@ -1899,17 +1917,17 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/batch-execute@npm:^9.0.4": - version: 9.0.4 - resolution: "@graphql-tools/batch-execute@npm:9.0.4" +"@graphql-tools/batch-execute@npm:^9.0.6": + version: 9.0.6 + resolution: "@graphql-tools/batch-execute@npm:9.0.6" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.5.6 dataloader: ^2.2.2 tslib: ^2.4.0 value-or-promise: ^1.0.12 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: a15d96573d4b1c94795018e306095cbf00129a27fa038204f0709b11851b2b53acf9e75e023420dcaa0b505f953c98208e1d8fe6b18562fe5ade4660c475fe4e + checksum: ae9a6218612fb362aa56f6ee5b0abfe0d099d8c8a91273cae862dd37c24122d220fb10d1ef57f176fd4c62794c871473b3b5390560dcffe2630c643458d02e0c languageName: node linkType: hard @@ -1929,33 +1947,35 @@ __metadata: linkType: hard "@graphql-tools/code-file-loader@npm:^8.0.0": - version: 8.1.2 - resolution: "@graphql-tools/code-file-loader@npm:8.1.2" + version: 8.1.6 + resolution: "@graphql-tools/code-file-loader@npm:8.1.6" dependencies: - "@graphql-tools/graphql-tag-pluck": 8.3.1 - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/graphql-tag-pluck": 8.3.5 + "@graphql-tools/utils": ^10.6.0 globby: ^11.0.3 tslib: ^2.4.0 unixify: ^1.0.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 35af0b0fb834fd1d8a59f836bab2bc0bc64641f414e43ebeec3f1174687be6f5b048b48c653d54eda1e19868f3f08f46d747418b1bed6674935badeddc061bb5 + checksum: 0ef333c15edafd82dfb27148c89c5da403c91c386b8f8e32ca695308a6bfac4fa491070f97f9cc33881130ac2f023f0634adf395ad803f447921acebc7d712df languageName: node linkType: hard -"@graphql-tools/delegate@npm:^10.0.4": - version: 10.0.11 - resolution: "@graphql-tools/delegate@npm:10.0.11" +"@graphql-tools/delegate@npm:^10.2.0": + version: 10.2.0 + resolution: "@graphql-tools/delegate@npm:10.2.0" dependencies: - "@graphql-tools/batch-execute": ^9.0.4 - "@graphql-tools/executor": ^1.2.1 - "@graphql-tools/schema": ^10.0.4 - "@graphql-tools/utils": ^10.2.1 + "@graphql-tools/batch-execute": ^9.0.6 + "@graphql-tools/executor": ^1.3.3 + "@graphql-tools/schema": ^10.0.8 + "@graphql-tools/utils": ^10.5.6 + "@repeaterjs/repeater": ^3.0.6 dataloader: ^2.2.2 + dset: ^3.1.2 tslib: ^2.5.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: f41a52bb288ce2f999dccd27e56899c064ef025085165e41c4efde511bf34134d9ba16c0def9824a1fda64ba91092fd441b872161cb504d84ef2f51605d68e70 + checksum: dd9aea95a660ff580eefc6ca7865074896b9c57ccb93911c7da6f41ea0b491fcd7cf3c7259963cd9fb86c7c7095748a539b65ee54cb4928d673e292cfdfda7ab languageName: node linkType: hard @@ -2005,19 +2025,19 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/executor-graphql-ws@npm:^1.1.2": - version: 1.1.2 - resolution: "@graphql-tools/executor-graphql-ws@npm:1.1.2" +"@graphql-tools/executor-graphql-ws@npm:^1.3.2": + version: 1.3.2 + resolution: "@graphql-tools/executor-graphql-ws@npm:1.3.2" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.5.6 "@types/ws": ^8.0.0 graphql-ws: ^5.14.0 isomorphic-ws: ^5.0.0 tslib: ^2.4.0 - ws: ^8.13.0 + ws: ^8.17.1 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: ba7546bf7a4edbf89fd4076ed5cfd0f272415dfc1714c4b3c4595e5e25346afd777db8c8260591ade4da01b2ffaceeae3ad817f8799a647787c0f2ca9d3ede12 + checksum: 2ef83776ddcfc4463481437452f4d4ac2b6d41c5f892cd83e6613212de33ead51dd01e0df6931095c4e02b38517e5c6813d4b48490bc239af8f67d02b39a37c0 languageName: node linkType: hard @@ -2039,20 +2059,20 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/executor-http@npm:^1.0.9": - version: 1.0.9 - resolution: "@graphql-tools/executor-http@npm:1.0.9" +"@graphql-tools/executor-http@npm:^1.1.9": + version: 1.1.9 + resolution: "@graphql-tools/executor-http@npm:1.1.9" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.5.6 "@repeaterjs/repeater": ^3.0.4 - "@whatwg-node/fetch": ^0.9.0 + "@whatwg-node/fetch": ^0.10.0 extract-files: ^11.0.0 meros: ^1.2.1 tslib: ^2.4.0 value-or-promise: ^1.0.12 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: d1e5bea39ca4c2d6069f097ebbe6f96690a7497b384766a8616fb26cb59ae4a0a2fff31ceb1a4f682dc0d78772d157a786cf680d2ac2ac3fbc2eb18b8813e8f3 + checksum: acce0123811af032b8ebdba95f0719be74474485d2b66dce30011f9a4014f604e0fb42c8d156e6bf98c8c6d4cb9b0ea961cfabdc516ea366f71b5a2035d063cf languageName: node linkType: hard @@ -2071,18 +2091,18 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/executor-legacy-ws@npm:^1.0.6": - version: 1.0.6 - resolution: "@graphql-tools/executor-legacy-ws@npm:1.0.6" +"@graphql-tools/executor-legacy-ws@npm:^1.1.3": + version: 1.1.3 + resolution: "@graphql-tools/executor-legacy-ws@npm:1.1.3" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.6.0 "@types/ws": ^8.0.0 isomorphic-ws: ^5.0.0 tslib: ^2.4.0 - ws: ^8.15.0 + ws: ^8.17.1 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 288091b4ebda83baaf8581620047d3df9ba3a3df6bd554399b67e20d25c6825e3356e18d4d222188a5e44bf7f6c6fee2470b09e14eace149221d02e0caebc8dc + checksum: 90d641370f4e89a702d8c58855b44f8c4b562f5f7b93ad99f44c8afa6f6d1dea3119efe3d66215b695c77174eda13d95bb75b6f0ea656a9df90b8b1bb6ae14e1 languageName: node linkType: hard @@ -2101,51 +2121,51 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/executor@npm:^1.2.1": - version: 1.2.7 - resolution: "@graphql-tools/executor@npm:1.2.7" +"@graphql-tools/executor@npm:^1.3.3": + version: 1.3.4 + resolution: "@graphql-tools/executor@npm:1.3.4" dependencies: - "@graphql-tools/utils": ^10.1.1 + "@graphql-tools/utils": ^10.6.0 "@graphql-typed-document-node/core": 3.2.0 "@repeaterjs/repeater": ^3.0.4 tslib: ^2.4.0 value-or-promise: ^1.0.12 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: b339f7a5064e5a69511af50128e8d8e6c6d5184bd386067f9e84e6627bb87e2e82c060078eb9bd807254a52fbe53b8113f4befdc58b82dbeb62e10345c1d5757 + checksum: 87fa2c254c7bc1eb27c03e4f0c994aa5c8037ed95bb3900566bd0fd0e52af1918862da9a133126e8e27957b79544bada0086046fa3ba9b26b9843ff17996e5c1 languageName: node linkType: hard "@graphql-tools/git-loader@npm:^8.0.0": - version: 8.0.6 - resolution: "@graphql-tools/git-loader@npm:8.0.6" + version: 8.0.10 + resolution: "@graphql-tools/git-loader@npm:8.0.10" dependencies: - "@graphql-tools/graphql-tag-pluck": 8.3.1 - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/graphql-tag-pluck": 8.3.5 + "@graphql-tools/utils": ^10.6.0 is-glob: 4.0.3 - micromatch: ^4.0.4 + micromatch: ^4.0.8 tslib: ^2.4.0 unixify: ^1.0.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 000714972b1c252089af43714bd8dc45f465d9c9dd4de5596219f66aa099af71699a61aaeb450beee288fae8ea99560858883dd62668458a6f9acbfef063255e + checksum: 2e9c9c5ba5e3d85e4d83a4f698f6f98e03e5c55bd40e7c01e7062ac06f16b92d72715309952af70f142a773e23bf440516f21faaf75e43bd7b077fe2f0332817 languageName: node linkType: hard "@graphql-tools/github-loader@npm:^8.0.0": - version: 8.0.1 - resolution: "@graphql-tools/github-loader@npm:8.0.1" + version: 8.0.5 + resolution: "@graphql-tools/github-loader@npm:8.0.5" dependencies: "@ardatan/sync-fetch": ^0.0.1 - "@graphql-tools/executor-http": ^1.0.9 - "@graphql-tools/graphql-tag-pluck": ^8.0.0 - "@graphql-tools/utils": ^10.0.13 - "@whatwg-node/fetch": ^0.9.0 + "@graphql-tools/executor-http": ^1.1.9 + "@graphql-tools/graphql-tag-pluck": ^8.3.5 + "@graphql-tools/utils": ^10.6.0 + "@whatwg-node/fetch": ^0.10.0 tslib: ^2.4.0 value-or-promise: ^1.0.12 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 83787b69d696e69c618993fa9fe73fec82daab849173a1b96a538c33c4988b14f506a4604712882c30f537d0aa81eabf21ce30effda369c7d1763d8f14adf711 + checksum: 125485f15044e81e22ab39a69792f3289bae370c085f913710d2d23eb30cf04181c9ba4a1cd5dd20060da7cfd60de5a26adc250f3bed7c669c8dbc2493202e1d languageName: node linkType: hard @@ -2165,17 +2185,17 @@ __metadata: linkType: hard "@graphql-tools/graphql-file-loader@npm:^8.0.0": - version: 8.0.1 - resolution: "@graphql-tools/graphql-file-loader@npm:8.0.1" + version: 8.0.4 + resolution: "@graphql-tools/graphql-file-loader@npm:8.0.4" dependencies: - "@graphql-tools/import": 7.0.1 - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/import": 7.0.4 + "@graphql-tools/utils": ^10.6.0 globby: ^11.0.3 tslib: ^2.4.0 unixify: ^1.0.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: d27a9dc5329f16cdeeb9fd32f465da8ed0ef4127f10a9862f8b7096ccaaa33aa8d15c6269b2c27a8669531f95f4d9ac162e8b799434cbe4dabe02f4e6fd628a9 + checksum: cedd660140e4774e23ce7d5cf2446ee82e3b4f4796ca7a63cac14e37d884a870051ba9c85c555b28582e5b115767b0ad14fd943acf2eca72495e93339b7f3a88 languageName: node linkType: hard @@ -2195,20 +2215,20 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/graphql-tag-pluck@npm:8.3.1, @graphql-tools/graphql-tag-pluck@npm:^8.0.0": - version: 8.3.1 - resolution: "@graphql-tools/graphql-tag-pluck@npm:8.3.1" +"@graphql-tools/graphql-tag-pluck@npm:8.3.5, @graphql-tools/graphql-tag-pluck@npm:^8.3.5": + version: 8.3.5 + resolution: "@graphql-tools/graphql-tag-pluck@npm:8.3.5" dependencies: "@babel/core": ^7.22.9 "@babel/parser": ^7.16.8 "@babel/plugin-syntax-import-assertions": ^7.20.0 "@babel/traverse": ^7.16.8 "@babel/types": ^7.16.8 - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.6.0 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 6e7fe1a3c54146241aeee3fb495a82ac835e7c91fdc0910dd64bbad335918a202ff61d6293b6ad48d683cc5e19117b75afcc263f6f1470295580d530512ef30e + checksum: a73889abcf7b8d7217dbe88ddabe8fbe82e91d2e6d7db4db2b32c0bf66c96f36a9322ff3e3d63f3bf1938d3295950270fec96a1a8f640085626005deea58bcd7 languageName: node linkType: hard @@ -2225,16 +2245,16 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/import@npm:7.0.1": - version: 7.0.1 - resolution: "@graphql-tools/import@npm:7.0.1" +"@graphql-tools/import@npm:7.0.4": + version: 7.0.4 + resolution: "@graphql-tools/import@npm:7.0.4" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.6.0 resolve-from: 5.0.0 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 20d693874ceb1e4213f1d276786f87fe6b158125a103d9631f844b433aa0c2e0afd444b99393558ff88f5be7787e2d40f8c49739d1096e9312bc45ca6a4a5f51 + checksum: b11df3d2027ee71d53fcbefe128eba64148467567c592f47647c46dbe1b0858fac46f1f2a198e673d1fb83b12d41cf11ef85d77368f3ba591ce1468ca5e0d357 languageName: node linkType: hard @@ -2253,16 +2273,16 @@ __metadata: linkType: hard "@graphql-tools/json-file-loader@npm:^8.0.0": - version: 8.0.1 - resolution: "@graphql-tools/json-file-loader@npm:8.0.1" + version: 8.0.4 + resolution: "@graphql-tools/json-file-loader@npm:8.0.4" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.6.0 globby: ^11.0.3 tslib: ^2.4.0 unixify: ^1.0.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 690c7d58dd06c6c5109fa09820648c581cd4b1ca3842ec121d6ae44a324b1e1c16f32b662fb92a6699bcb9be676fe4fe2e9a9f50a6d4df7f3d991e9167115841 + checksum: 4a12aa83bea0420b7c8c7dc661a69d5118a03739a25cfbd6aa1db2979b9421e74eb17eaafc32df12c73a72c24b03a669d166d621bbd6cc969b533cc8b1d8db77 languageName: node linkType: hard @@ -2281,16 +2301,16 @@ __metadata: linkType: hard "@graphql-tools/load@npm:^8.0.0": - version: 8.0.2 - resolution: "@graphql-tools/load@npm:8.0.2" + version: 8.0.5 + resolution: "@graphql-tools/load@npm:8.0.5" dependencies: - "@graphql-tools/schema": ^10.0.3 - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/schema": ^10.0.9 + "@graphql-tools/utils": ^10.6.0 p-limit: 3.1.0 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 845535c3d47aba69feb29091f7c3829ea4684041e763c73929c670eaa0e8cf82e1981dac7e6fe30426e384fa81fd9de0ee62d3d2de0a4e92b3a5380d8af71063 + checksum: dca08e41b96657850cd65c7349ee28a243bc30edde7a49a4485399c2de19e9389be4c8e54bed797d3fb65be136bd49a506fe9fc675f679ea3ee0283b410edb3b languageName: node linkType: hard @@ -2306,15 +2326,15 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/merge@npm:^9.0.0, @graphql-tools/merge@npm:^9.0.3": - version: 9.0.4 - resolution: "@graphql-tools/merge@npm:9.0.4" +"@graphql-tools/merge@npm:^9.0.0, @graphql-tools/merge@npm:^9.0.10": + version: 9.0.10 + resolution: "@graphql-tools/merge@npm:9.0.10" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.6.0 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: baf8558955d2f5cefdad298be295e48564bd6d2e691eed1b6d4c62f58cea898c8269443181fe847ca2747ec179c5b2b620be9215323281b2d65afc29591ce52d + checksum: 54841d92f2eb718a2339dcc88028359578eb07d4dbb644526707ea29f7f3b6c72ea0a3239218a15827be4c3a69e71ea38622617e0af573dcae4cf7a476c0d0e0 languageName: node linkType: hard @@ -2341,13 +2361,13 @@ __metadata: linkType: hard "@graphql-tools/prisma-loader@npm:^8.0.0": - version: 8.0.4 - resolution: "@graphql-tools/prisma-loader@npm:8.0.4" + version: 8.0.17 + resolution: "@graphql-tools/prisma-loader@npm:8.0.17" dependencies: - "@graphql-tools/url-loader": ^8.0.2 - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/url-loader": ^8.0.15 + "@graphql-tools/utils": ^10.5.6 "@types/js-yaml": ^4.0.0 - "@whatwg-node/fetch": ^0.9.0 + "@whatwg-node/fetch": ^0.10.0 chalk: ^4.1.0 debug: ^4.3.1 dotenv: ^16.0.0 @@ -2362,7 +2382,7 @@ __metadata: yaml-ast-parser: ^0.0.43 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 4a3fff758c92f254538748a0acd43643e63f84104aacff575da896e1e4ed92b89c62093281e1eb56bcb8ffb4a76a56124ba367a83f8d2a779d0ee29cf046ef16 + checksum: 3943be980624e3b34e0609ad1d29f9f4ce3803adf42a5eaeaf4191ecc859643fd5af8e493858e120b6641f89e28f4cd22e166afe6456e6d42f9f2e55d99490e8 languageName: node linkType: hard @@ -2380,29 +2400,29 @@ __metadata: linkType: hard "@graphql-tools/relay-operation-optimizer@npm:^7.0.0": - version: 7.0.1 - resolution: "@graphql-tools/relay-operation-optimizer@npm:7.0.1" + version: 7.0.4 + resolution: "@graphql-tools/relay-operation-optimizer@npm:7.0.4" dependencies: "@ardatan/relay-compiler": 12.0.0 - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.6.0 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 4bb08c764b645fc602f8c45c518d576132dcd50e6ac35a70ae1dc6aff57521ad96be85ee72ea2cecc05d3d281fcbb47a976a7549034b0230deeae5de74cb24bc + checksum: 1ef00ac7239acc5c3c2bc9a650e6eebdf8b16020e025132fa590cf092c36014e026393bc5714bc8b969fb75a37ec026c48997629d229beb39e43c2224c0a2ba9 languageName: node linkType: hard -"@graphql-tools/schema@npm:^10.0.0, @graphql-tools/schema@npm:^10.0.3, @graphql-tools/schema@npm:^10.0.4": - version: 10.0.4 - resolution: "@graphql-tools/schema@npm:10.0.4" +"@graphql-tools/schema@npm:^10.0.0, @graphql-tools/schema@npm:^10.0.7, @graphql-tools/schema@npm:^10.0.8, @graphql-tools/schema@npm:^10.0.9": + version: 10.0.9 + resolution: "@graphql-tools/schema@npm:10.0.9" dependencies: - "@graphql-tools/merge": ^9.0.3 - "@graphql-tools/utils": ^10.2.1 + "@graphql-tools/merge": ^9.0.10 + "@graphql-tools/utils": ^10.6.0 tslib: ^2.4.0 value-or-promise: ^1.0.12 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 991c54513df6d81962c0c6a283085c42446854dac59715e28d26a47dc4676ecd6c634f018dc5d9f60fdd5c922f6f28bf6f8a522e236ed1e3725c56bc5f7ec608 + checksum: 23e6c9329b6e6695d678128881fc6762e3c668b9615ebc03b47f2e2dce26f31a2283e78d7e3cc4045f5c7a716fc6c5307874395214950bca6cee583c6d0d2f10 languageName: node linkType: hard @@ -2443,40 +2463,39 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/url-loader@npm:^8.0.0, @graphql-tools/url-loader@npm:^8.0.2": - version: 8.0.2 - resolution: "@graphql-tools/url-loader@npm:8.0.2" +"@graphql-tools/url-loader@npm:^8.0.0, @graphql-tools/url-loader@npm:^8.0.15": + version: 8.0.16 + resolution: "@graphql-tools/url-loader@npm:8.0.16" dependencies: "@ardatan/sync-fetch": ^0.0.1 - "@graphql-tools/delegate": ^10.0.4 - "@graphql-tools/executor-graphql-ws": ^1.1.2 - "@graphql-tools/executor-http": ^1.0.9 - "@graphql-tools/executor-legacy-ws": ^1.0.6 - "@graphql-tools/utils": ^10.0.13 - "@graphql-tools/wrap": ^10.0.2 + "@graphql-tools/executor-graphql-ws": ^1.3.2 + "@graphql-tools/executor-http": ^1.1.9 + "@graphql-tools/executor-legacy-ws": ^1.1.3 + "@graphql-tools/utils": ^10.6.0 + "@graphql-tools/wrap": ^10.0.16 "@types/ws": ^8.0.0 - "@whatwg-node/fetch": ^0.9.0 + "@whatwg-node/fetch": ^0.10.0 isomorphic-ws: ^5.0.0 tslib: ^2.4.0 value-or-promise: ^1.0.11 - ws: ^8.12.0 + ws: ^8.17.1 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 7ae1084bb2218c0b085cfc6c70a6a488225e4154873495a768bbcc6f3b9537384eb5062400b784e3558645ee95384d5aa44a634d60246809bb3604f2ac4ffa84 + checksum: 722ff6e7af5a4c14b006536a6c5430576d1c03f800eb8f6ec1872cc74bbd21b2519ed0a1ceefa7709fe762dc7c14c33bf84c30ec842fbe1565dbd2fa40fb71e3 languageName: node linkType: hard -"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.0.13, @graphql-tools/utils@npm:^10.1.1, @graphql-tools/utils@npm:^10.2.1": - version: 10.2.2 - resolution: "@graphql-tools/utils@npm:10.2.2" +"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.5.6, @graphql-tools/utils@npm:^10.6.0": + version: 10.6.0 + resolution: "@graphql-tools/utils@npm:10.6.0" dependencies: "@graphql-typed-document-node/core": ^3.1.1 - cross-inspect: 1.0.0 + cross-inspect: 1.0.1 dset: ^3.1.2 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 64cf157181c4151d68e7bd16789afe58696ef41d106ea0460ac51f2c095eaa5072c4f4fd53d4c4c4ccc09c78c2b904f6e70c2d3d45142b6e4e93024a8e4b3ada + checksum: 948318f577a6debc12388ca55ad00215ea7f06d71d2b65413b743dac2657f4be1b16d50cdd699482a950317d5d29980aba0b3cfc10e0f489113ac3afbf122ce2 languageName: node linkType: hard @@ -2503,18 +2522,18 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/wrap@npm:^10.0.2": - version: 10.0.5 - resolution: "@graphql-tools/wrap@npm:10.0.5" +"@graphql-tools/wrap@npm:^10.0.16": + version: 10.0.18 + resolution: "@graphql-tools/wrap@npm:10.0.18" dependencies: - "@graphql-tools/delegate": ^10.0.4 - "@graphql-tools/schema": ^10.0.3 - "@graphql-tools/utils": ^10.1.1 + "@graphql-tools/delegate": ^10.2.0 + "@graphql-tools/schema": ^10.0.7 + "@graphql-tools/utils": ^10.5.6 tslib: ^2.4.0 value-or-promise: ^1.0.12 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 3987542491c352eab70bd0691fb5685fe09ea28ffdbb14b5daa83d27d2cc6a8ac443370ecc3771ab127803e2bf045c675b21bae05ee26b2cde5b6ba6fd18533f + checksum: cec3aeea38e1b1124aad1940ab8ce52b07480460eb42e871badc6c45d416a38735c8e615f1864ff2a9d030e27836eaa3243595c34c30542c4968b754439624de languageName: node linkType: hard @@ -2581,7 +2600,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.5": +"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" dependencies: @@ -2607,9 +2626,9 @@ __metadata: linkType: hard "@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: 0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 languageName: node linkType: hard @@ -2640,6 +2659,72 @@ __metadata: languageName: node linkType: hard +"@lit-labs/preact-signals@npm:^1.0.2": + version: 1.0.2 + resolution: "@lit-labs/preact-signals@npm:1.0.2" + dependencies: + "@preact/signals-core": ^1.3.0 + lit: ^3.1.2 + checksum: bb27f24388d363c751ec5e50f09a58ed5d274c59635e679f425ba8c2cbe1e30342a2f19d4f29fae4c065a854f0f28ce53dd16e48df1f560161b6a9215207bb86 + languageName: node + linkType: hard + +"@lit-labs/ssr-dom-shim@npm:^1.2.0": + version: 1.2.1 + resolution: "@lit-labs/ssr-dom-shim@npm:1.2.1" + checksum: 75cecf2cc4c1a089c6984d9f45b8264e3b4947b4ebed96aef7eb201bd6b3f26caeaafedf457884ac38d4f2d99cddaf94a4b2414c02c61fbf1f64c0a0dade11f4 + languageName: node + linkType: hard + +"@lit/react@npm:^1.0.5, @lit/react@npm:^1.0.6": + version: 1.0.6 + resolution: "@lit/react@npm:1.0.6" + peerDependencies: + "@types/react": 17 || 18 + checksum: 9d80548dbf9fde8dad1ed82a0dd570428d98700db39ebd7e2b86552bb53bd8e371047332db5a1498ca80fff08d245f5b077397e885a6cca352301ee94ba707c6 + languageName: node + linkType: hard + +"@lit/reactive-element@npm:^1.0.0 || ^2.0.0, @lit/reactive-element@npm:^2.0.4": + version: 2.0.4 + resolution: "@lit/reactive-element@npm:2.0.4" + dependencies: + "@lit-labs/ssr-dom-shim": ^1.2.0 + checksum: 359cc19ea9ee8b65e1417eb9c12f40dddba8f0a5ab32f0e5facaecee6060629e44eb4ca27d9af945fe6eda8c033aa636abaa5f0c4e6a529b224d78674acf47ba + languageName: node + linkType: hard + +"@lit/task@npm:^1.0.1": + version: 1.0.1 + resolution: "@lit/task@npm:1.0.1" + dependencies: + "@lit/reactive-element": ^1.0.0 || ^2.0.0 + checksum: 44ad2187f0a05dbd6cd9cb9638ae9031102fcf8ba7693fb9420cbb49e5274c57229fc6ddf2d3573d761d3b0bbe1502abd358b53ae9c65394b25a59fe7f6253ab + languageName: node + linkType: hard + +"@mui/base@npm:^5.0.0-beta.58": + version: 5.0.0-dev.20240529-082515-213b5e33ab + resolution: "@mui/base@npm:5.0.0-dev.20240529-082515-213b5e33ab" + dependencies: + "@babel/runtime": ^7.24.6 + "@floating-ui/react-dom": ^2.0.8 + "@mui/types": ^7.2.14-dev.20240529-082515-213b5e33ab + "@mui/utils": ^6.0.0-dev.20240529-082515-213b5e33ab + "@popperjs/core": ^2.11.8 + clsx: ^2.1.1 + prop-types: ^15.8.1 + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: c6d3119aeea8abbb6494b3a3a632668bbee57e4f4e1786783908f3e19deb3b764f56e7e518849a17f3eda6db213bcc147a87fd0baf98941596466601d823478b + languageName: node + linkType: hard + "@mui/core-downloads-tracker@npm:^6.1.8": version: 6.1.8 resolution: "@mui/core-downloads-tracker@npm:6.1.8" @@ -2751,7 +2836,7 @@ __metadata: languageName: node linkType: hard -"@mui/types@npm:^7.2.19": +"@mui/types@npm:^7.2.14-dev.20240529-082515-213b5e33ab, @mui/types@npm:^7.2.19": version: 7.2.19 resolution: "@mui/types@npm:7.2.19" peerDependencies: @@ -2763,7 +2848,7 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^6.1.8": +"@mui/utils@npm:^6.0.0-dev.20240529-082515-213b5e33ab, @mui/utils@npm:^6.1.8": version: 6.1.8 resolution: "@mui/utils@npm:6.1.8" dependencies: @@ -2783,19 +2868,19 @@ __metadata: languageName: node linkType: hard -"@noble/curves@npm:^1.2.0": - version: 1.4.0 - resolution: "@noble/curves@npm:1.4.0" +"@noble/curves@npm:^1.2.0, @noble/curves@npm:^1.6.0": + version: 1.6.0 + resolution: "@noble/curves@npm:1.6.0" dependencies: - "@noble/hashes": 1.4.0 - checksum: 31fbc370df91bcc5a920ca3f2ce69c8cf26dc94775a36124ed8a5a3faf0453badafd2ee4337061ffea1b43c623a90ee8b286a5a81604aaf9563bdad7ff795d18 + "@noble/hashes": 1.5.0 + checksum: f3262aa4d39148e627cd82b5ac1c93f88c5bb46dd2566b5e8e52ffac3a0fc381ad30c2111656fd2bd3b0d37d43d540543e0d93a5ff96a6cb184bc3bfe10d1cd9 languageName: node linkType: hard -"@noble/hashes@npm:1.4.0, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:^1.3.2": - version: 1.4.0 - resolution: "@noble/hashes@npm:1.4.0" - checksum: 8c3f005ee72e7b8f9cff756dfae1241485187254e3f743873e22073d63906863df5d4f13d441b7530ea614b7a093f0d889309f28b59850f33b66cb26a779a4a5 +"@noble/hashes@npm:1.5.0, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:^1.3.2, @noble/hashes@npm:^1.5.0": + version: 1.5.0 + resolution: "@noble/hashes@npm:1.5.0" + checksum: 1b46539695fbfe4477c0822d90c881a04d4fa2921c08c552375b444a48cac9930cb1ee68de0a3c7859e676554d0f3771999716606dc4d8f826e414c11692cdd9 languageName: node linkType: hard @@ -2848,117 +2933,125 @@ __metadata: languageName: node linkType: hard -"@parcel/watcher-android-arm64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-android-arm64@npm:2.4.1" +"@parcel/watcher-android-arm64@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-android-arm64@npm:2.5.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@parcel/watcher-darwin-arm64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-darwin-arm64@npm:2.4.1" +"@parcel/watcher-darwin-arm64@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-darwin-arm64@npm:2.5.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@parcel/watcher-darwin-x64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-darwin-x64@npm:2.4.1" +"@parcel/watcher-darwin-x64@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-darwin-x64@npm:2.5.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@parcel/watcher-freebsd-x64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-freebsd-x64@npm:2.4.1" +"@parcel/watcher-freebsd-x64@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-freebsd-x64@npm:2.5.0" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@parcel/watcher-linux-arm-glibc@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-arm-glibc@npm:2.4.1" +"@parcel/watcher-linux-arm-glibc@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-linux-arm-glibc@npm:2.5.0" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@parcel/watcher-linux-arm64-glibc@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.4.1" +"@parcel/watcher-linux-arm-musl@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-linux-arm-musl@npm:2.5.0" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-glibc@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.5.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@parcel/watcher-linux-arm64-musl@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-arm64-musl@npm:2.4.1" +"@parcel/watcher-linux-arm64-musl@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-linux-arm64-musl@npm:2.5.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@parcel/watcher-linux-x64-glibc@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-x64-glibc@npm:2.4.1" +"@parcel/watcher-linux-x64-glibc@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-linux-x64-glibc@npm:2.5.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@parcel/watcher-linux-x64-musl@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-x64-musl@npm:2.4.1" +"@parcel/watcher-linux-x64-musl@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-linux-x64-musl@npm:2.5.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard "@parcel/watcher-wasm@npm:^2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-wasm@npm:2.4.1" + version: 2.5.0 + resolution: "@parcel/watcher-wasm@npm:2.5.0" dependencies: is-glob: ^4.0.3 micromatch: ^4.0.5 napi-wasm: ^1.1.0 - checksum: 30a0d4e618c4867a5990025df56dff3a31a01f78b2d108b31e6ed7fabf123a13fd79ee292f547b572e439d272a6157c2ba9fb8e527456951c14283f872bdc16f + checksum: 8aad14aa21d460d7f8d407a9d8859b8372317e03bc53a154aefb9394ae51ab0fac27fdf546ec4da27307ad8219945128a19646f8e637a0200b0c6b39fbccd3d8 languageName: node linkType: hard -"@parcel/watcher-win32-arm64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-win32-arm64@npm:2.4.1" +"@parcel/watcher-win32-arm64@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-win32-arm64@npm:2.5.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@parcel/watcher-win32-ia32@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-win32-ia32@npm:2.4.1" +"@parcel/watcher-win32-ia32@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-win32-ia32@npm:2.5.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@parcel/watcher-win32-x64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-win32-x64@npm:2.4.1" +"@parcel/watcher-win32-x64@npm:2.5.0": + version: 2.5.0 + resolution: "@parcel/watcher-win32-x64@npm:2.5.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@parcel/watcher@npm:^2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher@npm:2.4.1" - dependencies: - "@parcel/watcher-android-arm64": 2.4.1 - "@parcel/watcher-darwin-arm64": 2.4.1 - "@parcel/watcher-darwin-x64": 2.4.1 - "@parcel/watcher-freebsd-x64": 2.4.1 - "@parcel/watcher-linux-arm-glibc": 2.4.1 - "@parcel/watcher-linux-arm64-glibc": 2.4.1 - "@parcel/watcher-linux-arm64-musl": 2.4.1 - "@parcel/watcher-linux-x64-glibc": 2.4.1 - "@parcel/watcher-linux-x64-musl": 2.4.1 - "@parcel/watcher-win32-arm64": 2.4.1 - "@parcel/watcher-win32-ia32": 2.4.1 - "@parcel/watcher-win32-x64": 2.4.1 + version: 2.5.0 + resolution: "@parcel/watcher@npm:2.5.0" + dependencies: + "@parcel/watcher-android-arm64": 2.5.0 + "@parcel/watcher-darwin-arm64": 2.5.0 + "@parcel/watcher-darwin-x64": 2.5.0 + "@parcel/watcher-freebsd-x64": 2.5.0 + "@parcel/watcher-linux-arm-glibc": 2.5.0 + "@parcel/watcher-linux-arm-musl": 2.5.0 + "@parcel/watcher-linux-arm64-glibc": 2.5.0 + "@parcel/watcher-linux-arm64-musl": 2.5.0 + "@parcel/watcher-linux-x64-glibc": 2.5.0 + "@parcel/watcher-linux-x64-musl": 2.5.0 + "@parcel/watcher-win32-arm64": 2.5.0 + "@parcel/watcher-win32-ia32": 2.5.0 + "@parcel/watcher-win32-x64": 2.5.0 detect-libc: ^1.0.3 is-glob: ^4.0.3 micromatch: ^4.0.5 @@ -2975,6 +3068,8 @@ __metadata: optional: true "@parcel/watcher-linux-arm-glibc": optional: true + "@parcel/watcher-linux-arm-musl": + optional: true "@parcel/watcher-linux-arm64-glibc": optional: true "@parcel/watcher-linux-arm64-musl": @@ -2989,18 +3084,18 @@ __metadata: optional: true "@parcel/watcher-win32-x64": optional: true - checksum: 33b7112094b9eb46c234d824953967435b628d3d93a0553255e9910829b84cab3da870153c3a870c31db186dc58f3b2db81382fcaee3451438aeec4d786a6211 + checksum: 9bad727d8b11e5d150ec47459254544c583adaa47d047b8ef65e1c74aede1a0767dc7fc6b8997649dae07318d6ef39caba6a1c405d306398d5bcd47074ec5d29 languageName: node linkType: hard -"@peculiar/asn1-schema@npm:^2.3.8": - version: 2.3.8 - resolution: "@peculiar/asn1-schema@npm:2.3.8" +"@peculiar/asn1-schema@npm:^2.3.13, @peculiar/asn1-schema@npm:^2.3.8": + version: 2.3.13 + resolution: "@peculiar/asn1-schema@npm:2.3.13" dependencies: asn1js: ^3.0.5 pvtsutils: ^1.3.5 tslib: ^2.6.2 - checksum: 65f16b2a7eb91365b6dac47730ffcad4617ef04b821e0a4286c379ac7283588b0a6744032ee686e0914a0886c2a055108ed945b9c4d22821a3b123640b61f3b2 + checksum: 98020f09a1b412e16bd5cb96ecb35a4da8043d90f4911eaa8b565cba7c437ae39544f928f8c112d5926f260bff78a184c165f60f153409c94b5224527ea355b0 languageName: node linkType: hard @@ -3017,26 +3112,103 @@ __metadata: version: 1.5.0 resolution: "@peculiar/webcrypto@npm:1.5.0" dependencies: - "@peculiar/asn1-schema": ^2.3.8 - "@peculiar/json-schema": ^1.1.12 - pvtsutils: ^1.3.5 - tslib: ^2.6.2 - webcrypto-core: ^1.8.0 - checksum: 4f6f24b2c52c2155b9c569b6eb1d57954cb5f7bd2764a50cdaed7aea17a6dcf304b75b87b57ba318756ffec8179a07d9a76534aaf77855912b838543e5ff8983 + "@peculiar/asn1-schema": ^2.3.8 + "@peculiar/json-schema": ^1.1.12 + pvtsutils: ^1.3.5 + tslib: ^2.6.2 + webcrypto-core: ^1.8.0 + checksum: 4f6f24b2c52c2155b9c569b6eb1d57954cb5f7bd2764a50cdaed7aea17a6dcf304b75b87b57ba318756ffec8179a07d9a76534aaf77855912b838543e5ff8983 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@pkgr/core@npm:^0.1.0": + version: 0.1.1 + resolution: "@pkgr/core@npm:0.1.1" + checksum: 3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 + languageName: node + linkType: hard + +"@polkadot-api/cli@npm:0.9.21": + version: 0.9.21 + resolution: "@polkadot-api/cli@npm:0.9.21" + dependencies: + "@commander-js/extra-typings": ^12.1.0 + "@polkadot-api/codegen": 0.12.9 + "@polkadot-api/ink-contracts": 0.2.2 + "@polkadot-api/json-rpc-provider": 0.0.4 + "@polkadot-api/known-chains": 0.5.8 + "@polkadot-api/metadata-compatibility": 0.1.12 + "@polkadot-api/observable-client": 0.6.3 + "@polkadot-api/polkadot-sdk-compat": 2.3.1 + "@polkadot-api/sm-provider": 0.1.7 + "@polkadot-api/smoldot": 0.3.7 + "@polkadot-api/substrate-bindings": 0.9.4 + "@polkadot-api/substrate-client": 0.3.0 + "@polkadot-api/utils": 0.1.2 + "@polkadot-api/wasm-executor": ^0.1.2 + "@polkadot-api/ws-provider": 0.3.6 + "@types/node": ^22.9.1 + commander: ^12.1.0 + execa: ^9.5.1 + fs.promises.exists: ^1.1.4 + ora: ^8.1.1 + read-pkg: ^9.0.1 + rxjs: ^7.8.1 + tsc-prog: ^2.3.0 + tsup: ^8.3.5 + typescript: ^5.6.3 + write-package: ^7.1.0 + bin: + papi: dist/main.js + polkadot-api: dist/main.js + checksum: 0d0e26e84998c6ddf5a13e1f701af5204c35ab06b7cdc3f8b1221cedd361922a5db904fbb32f0bb1416dd3f6570a1d36a6d7c94101612605a93baea77f32794a + languageName: node + linkType: hard + +"@polkadot-api/codegen@npm:0.12.9": + version: 0.12.9 + resolution: "@polkadot-api/codegen@npm:0.12.9" + dependencies: + "@polkadot-api/ink-contracts": 0.2.2 + "@polkadot-api/metadata-builders": 0.9.2 + "@polkadot-api/metadata-compatibility": 0.1.12 + "@polkadot-api/substrate-bindings": 0.9.4 + "@polkadot-api/utils": 0.1.2 + checksum: 9dce88598104cbe7f237860bbc31485e9ab84eac761b9a8ab0521f075b34915233ea855cf9245ca1c013e933ef8fa7aaecac376513b7e1c829f7b62f035c963e languageName: node linkType: hard -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd +"@polkadot-api/descriptors@portal:.papi/descriptors::locator=multix-ui%40workspace%3Apackages%2Fui": + version: 0.0.0-use.local + resolution: "@polkadot-api/descriptors@portal:.papi/descriptors::locator=multix-ui%40workspace%3Apackages%2Fui" + peerDependencies: + polkadot-api: "*" + languageName: node + linkType: soft + +"@polkadot-api/ink-contracts@npm:0.2.2": + version: 0.2.2 + resolution: "@polkadot-api/ink-contracts@npm:0.2.2" + dependencies: + "@polkadot-api/metadata-builders": 0.9.2 + "@polkadot-api/substrate-bindings": 0.9.4 + "@polkadot-api/utils": 0.1.2 + scale-ts: ^1.6.1 + checksum: 86ab565f94205f47887917b2193c5825c0f27a027442a2240a64e2e6885743334b4c526fb896cb6ad411311ae4c9a122fc37e98434b41aa895300e633d6347fb languageName: node linkType: hard -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 +"@polkadot-api/json-rpc-provider-proxy@npm:0.2.4": + version: 0.2.4 + resolution: "@polkadot-api/json-rpc-provider-proxy@npm:0.2.4" + checksum: bf99d5a27e02dc5b3641d4c17ec28d7ac72b7ad077e99a311f3c2709000957429321ae93926c941024539c521a118d45251fc8ab3f8fc11334e1385a2f8908ff languageName: node linkType: hard @@ -3054,6 +3226,29 @@ __metadata: languageName: node linkType: hard +"@polkadot-api/json-rpc-provider@npm:0.0.4": + version: 0.0.4 + resolution: "@polkadot-api/json-rpc-provider@npm:0.0.4" + checksum: 5615394380bff2d8885592c8001055f1b006e3dd2f650b6a0e41ec836d61e903d78cc4ed06297827020523b0eecc9dff0af661fed7ae82523c97e294a2dc2e27 + languageName: node + linkType: hard + +"@polkadot-api/known-chains@npm:0.5.8": + version: 0.5.8 + resolution: "@polkadot-api/known-chains@npm:0.5.8" + checksum: 2f0dfd5f610927f00f41245113952c581cfa2b3fc0e1e29578ac52ca87b44a24aad5d10b76e3a79022cd6da46bb02048c854537004aee6da3df1a61bd53e0c72 + languageName: node + linkType: hard + +"@polkadot-api/logs-provider@npm:0.0.6": + version: 0.0.6 + resolution: "@polkadot-api/logs-provider@npm:0.0.6" + dependencies: + "@polkadot-api/json-rpc-provider": 0.0.4 + checksum: 0c7d22b7a9cc495539f3f4a61d0d77882139bcfbb8159d8ffadbc7f2b6a8dd093f217fd2266df60417bc7b23582d2c3659052e17bb9b1be664abf76edf7ce558 + languageName: node + linkType: hard + "@polkadot-api/metadata-builders@npm:0.3.2": version: 0.3.2 resolution: "@polkadot-api/metadata-builders@npm:0.3.2" @@ -3064,6 +3259,40 @@ __metadata: languageName: node linkType: hard +"@polkadot-api/metadata-builders@npm:0.9.2": + version: 0.9.2 + resolution: "@polkadot-api/metadata-builders@npm:0.9.2" + dependencies: + "@polkadot-api/substrate-bindings": 0.9.4 + "@polkadot-api/utils": 0.1.2 + checksum: 2a5171e6659f0d99d247d4483ce7832bd803f563ce5eac59dbecd40d84eee4f0ff31ccbfdcd9c85fd805b5aeb4d865975f87ceba6dbb0de04753144988e8074f + languageName: node + linkType: hard + +"@polkadot-api/metadata-compatibility@npm:0.1.12": + version: 0.1.12 + resolution: "@polkadot-api/metadata-compatibility@npm:0.1.12" + dependencies: + "@polkadot-api/metadata-builders": 0.9.2 + "@polkadot-api/substrate-bindings": 0.9.4 + checksum: b3aa63d3c9590cb4eff58825b5276bf523715f63277c5e2b048c2c5f7af8855fc2507b6a3142dddc8bc55188c8e423e707e35dfb2145154c84af78e0e1b0f4bb + languageName: node + linkType: hard + +"@polkadot-api/observable-client@npm:0.6.3": + version: 0.6.3 + resolution: "@polkadot-api/observable-client@npm:0.6.3" + dependencies: + "@polkadot-api/metadata-builders": 0.9.2 + "@polkadot-api/substrate-bindings": 0.9.4 + "@polkadot-api/utils": 0.1.2 + peerDependencies: + "@polkadot-api/substrate-client": 0.3.0 + rxjs: ">=7.8.0" + checksum: e5cc27b07546a78f892495c87c89e232458d0548311f3a5b55e0b2fe1745e2576575455f4af4cc0b13869d977e440f30e66476faf23dafe79996952a90320e3b + languageName: node + linkType: hard + "@polkadot-api/observable-client@npm:^0.3.0": version: 0.3.2 resolution: "@polkadot-api/observable-client@npm:0.3.2" @@ -3078,6 +3307,82 @@ __metadata: languageName: node linkType: hard +"@polkadot-api/pjs-signer@npm:0.6.1": + version: 0.6.1 + resolution: "@polkadot-api/pjs-signer@npm:0.6.1" + dependencies: + "@polkadot-api/metadata-builders": 0.9.2 + "@polkadot-api/polkadot-signer": 0.1.6 + "@polkadot-api/signers-common": 0.1.2 + "@polkadot-api/substrate-bindings": 0.9.4 + "@polkadot-api/utils": 0.1.2 + checksum: 76ec7481d36a575788303ec998d7c41246728ad82af4229ff33f8dd889ca8a8f109dd043ed69d38b7d31398355e8afe8864760287ab6e3de96718c3427654127 + languageName: node + linkType: hard + +"@polkadot-api/polkadot-sdk-compat@npm:2.3.1": + version: 2.3.1 + resolution: "@polkadot-api/polkadot-sdk-compat@npm:2.3.1" + dependencies: + "@polkadot-api/json-rpc-provider": 0.0.4 + checksum: 19f55588fbac5b72a8e0d54e7c5958b3de76907217bba94118aa409e86b1dc1a86f392da724a258a409678fd00ae21c07d0ade566a6238a84abd10cbed6952c9 + languageName: node + linkType: hard + +"@polkadot-api/polkadot-signer@npm:0.1.6": + version: 0.1.6 + resolution: "@polkadot-api/polkadot-signer@npm:0.1.6" + checksum: 26ab65ac02cfc9dcc8b9539f44f0e72f8faa8dbbb7cc68c5922e2ebdf71bcca0641e70f1fb0fec46de4f98f36448164c7025ef68bc21fa635b8bbb15f5731f10 + languageName: node + linkType: hard + +"@polkadot-api/signer@npm:0.1.11": + version: 0.1.11 + resolution: "@polkadot-api/signer@npm:0.1.11" + dependencies: + "@noble/hashes": ^1.5.0 + "@polkadot-api/polkadot-signer": 0.1.6 + "@polkadot-api/signers-common": 0.1.2 + "@polkadot-api/substrate-bindings": 0.9.4 + "@polkadot-api/utils": 0.1.2 + checksum: 35048942c7dce5cec4918fd19fb6c4e8797b4a5a522ec4757f7f0db5eb9fec0e534269327dc09efb092e08c0a81f96b84133ec7a1125eeffbd1a48fd8d1cad71 + languageName: node + linkType: hard + +"@polkadot-api/signers-common@npm:0.1.2": + version: 0.1.2 + resolution: "@polkadot-api/signers-common@npm:0.1.2" + dependencies: + "@polkadot-api/metadata-builders": 0.9.2 + "@polkadot-api/polkadot-signer": 0.1.6 + "@polkadot-api/substrate-bindings": 0.9.4 + "@polkadot-api/utils": 0.1.2 + checksum: 5bbb36f0258ec37e9daf459d40252329cb721a83dd1b1867a9f90e44946ab69b2f6ec8f11cb30ff330f4222280b1a92f828648e1b4edee341779d7849e909140 + languageName: node + linkType: hard + +"@polkadot-api/sm-provider@npm:0.1.7": + version: 0.1.7 + resolution: "@polkadot-api/sm-provider@npm:0.1.7" + dependencies: + "@polkadot-api/json-rpc-provider": 0.0.4 + "@polkadot-api/json-rpc-provider-proxy": 0.2.4 + peerDependencies: + "@polkadot-api/smoldot": ">=0.3" + checksum: 91a1b8cc054f5b8f5ec25a40d9bc876ad5e9138a9801b22a2e4f6bf396ed584956cff0de7349d9b435fe5c04bad9137e59edcb6960943b9126e7262c9a0d8740 + languageName: node + linkType: hard + +"@polkadot-api/smoldot@npm:0.3.7": + version: 0.3.7 + resolution: "@polkadot-api/smoldot@npm:0.3.7" + dependencies: + "@types/node": ^22.9.0 + smoldot: 2.0.33 + checksum: edd2e4b31a3f43231e86dc9452c8cf9c126858c48539d35d5f01146a6958db8f530dc01a9aaf01ffb8b7f0b3750cdc16223df80d548e212955de889defced114 + languageName: node + linkType: hard + "@polkadot-api/substrate-bindings@npm:0.6.0": version: 0.6.0 resolution: "@polkadot-api/substrate-bindings@npm:0.6.0" @@ -3090,6 +3395,28 @@ __metadata: languageName: node linkType: hard +"@polkadot-api/substrate-bindings@npm:0.9.4": + version: 0.9.4 + resolution: "@polkadot-api/substrate-bindings@npm:0.9.4" + dependencies: + "@noble/hashes": ^1.5.0 + "@polkadot-api/utils": 0.1.2 + "@scure/base": ^1.1.9 + scale-ts: ^1.6.1 + checksum: eb4226807a07ed8f65ae641a1973d8b0b97410392b7c8d23002c9881d4098f31e31a14157a4e4adf250afd66355406a6108995d14a72ff3dfc15b17f314d2e61 + languageName: node + linkType: hard + +"@polkadot-api/substrate-client@npm:0.3.0": + version: 0.3.0 + resolution: "@polkadot-api/substrate-client@npm:0.3.0" + dependencies: + "@polkadot-api/json-rpc-provider": 0.0.4 + "@polkadot-api/utils": 0.1.2 + checksum: a1eba558065f596f2fecf40d4bcef4e3ea50344b76bf5e890bbb17e4ff0b1fb251cf484bf2b8ef49ebcce5c2fc84ee1617e0769d2d6f740faf0caa623d8a6a12 + languageName: node + linkType: hard + "@polkadot-api/substrate-client@npm:^0.1.2": version: 0.1.4 resolution: "@polkadot-api/substrate-client@npm:0.1.4" @@ -3100,6 +3427,17 @@ __metadata: languageName: node linkType: hard +"@polkadot-api/tx-utils@npm:^0.0.6": + version: 0.0.6 + resolution: "@polkadot-api/tx-utils@npm:0.0.6" + dependencies: + "@polkadot-api/metadata-builders": 0.9.2 + "@polkadot-api/substrate-bindings": 0.9.4 + "@polkadot-api/utils": 0.1.2 + checksum: 20b7d46b73b825c3c6e0040daa1e7c3be21d011424f4e823c874d967a77dab642c9cd38565b67186d3be758ed8f9148c21beefb3da7492b39286cc8e96e8783a + languageName: node + linkType: hard + "@polkadot-api/utils@npm:0.1.0": version: 0.1.0 resolution: "@polkadot-api/utils@npm:0.1.0" @@ -3107,7 +3445,62 @@ __metadata: languageName: node linkType: hard -"@polkadot/api-augment@npm:14.3.1, @polkadot/api-augment@npm:^14.3.1": +"@polkadot-api/utils@npm:0.1.2": + version: 0.1.2 + resolution: "@polkadot-api/utils@npm:0.1.2" + checksum: 530270141ab7a8d114aff68adabbc643a7b7f5abcfb974a5dac5044e1f5a459881f427e357a7eadfecf55847da5e48828be6dbcf502dd22e097c87546762a036 + languageName: node + linkType: hard + +"@polkadot-api/wasm-executor@npm:^0.1.2": + version: 0.1.2 + resolution: "@polkadot-api/wasm-executor@npm:0.1.2" + checksum: 0577111cf7ee12e1606ba863385f50670f2d073e9032efd8365e578f03f4a8b01e699641e19b2aec15e36832aa3b6b0724951fa84d23e87492d0532f55e291bf + languageName: node + linkType: hard + +"@polkadot-api/ws-provider@npm:0.3.6": + version: 0.3.6 + resolution: "@polkadot-api/ws-provider@npm:0.3.6" + dependencies: + "@polkadot-api/json-rpc-provider": 0.0.4 + "@polkadot-api/json-rpc-provider-proxy": 0.2.4 + ws: ^8.18.0 + checksum: 902c599ef02ddc3564cd4517aa3235262de1523a6879f81f94d73c90c260990fd595db7eacb2184670d9aa811eddc5eb346e78f74a60677846d991457e014ce9 + languageName: node + linkType: hard + +"@polkadot-labs/hdkd-helpers@npm:0.0.8, @polkadot-labs/hdkd-helpers@npm:^0.0.8": + version: 0.0.8 + resolution: "@polkadot-labs/hdkd-helpers@npm:0.0.8" + dependencies: + "@noble/curves": ^1.6.0 + "@noble/hashes": ^1.5.0 + "@polkadot-labs/schnorrkel-wasm": 0.0.5 + "@scure/base": ^1.1.8 + scale-ts: ^1.6.0 + checksum: 031c30b6bbaf8d5091e651efc836aa6952f3464762ea537a2318bf9737c70d8044a97f62c7cedb27e543528c9f10d1ce7fe0453646921f4ba0dab3116a2853b2 + languageName: node + linkType: hard + +"@polkadot-labs/hdkd@npm:^0.0.8": + version: 0.0.8 + resolution: "@polkadot-labs/hdkd@npm:0.0.8" + dependencies: + "@polkadot-labs/hdkd-helpers": 0.0.8 + "@polkadot-labs/schnorrkel-wasm": 0.0.5 + checksum: b38c684b73463aae4ea042b5bd044879a84e891d8cdba15ae0e05faa1bb16d78e1c0ed111ed4eea0b7cfefd675b465c4972b8a41b8d2dee03d275844c93eea13 + languageName: node + linkType: hard + +"@polkadot-labs/schnorrkel-wasm@npm:0.0.5": + version: 0.0.5 + resolution: "@polkadot-labs/schnorrkel-wasm@npm:0.0.5" + checksum: d0dcb873ad1078b6aab2a073eb13a6605561decba65fb6b9f65d0ad58549f7cc4ffafa7b5128da51a7e96a4f7b0e4468e7d30e9a1b23d15abe7402fccfb5be03 + languageName: node + linkType: hard + +"@polkadot/api-augment@npm:14.3.1": version: 14.3.1 resolution: "@polkadot/api-augment@npm:14.3.1" dependencies: @@ -3153,7 +3546,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/api@npm:14.3.1, @polkadot/api@npm:^14.0.1, @polkadot/api@npm:^14.3.1": +"@polkadot/api@npm:14.3.1, @polkadot/api@npm:^14.0.1": version: 14.3.1 resolution: "@polkadot/api@npm:14.3.1" dependencies: @@ -3178,40 +3571,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/extension-dapp@npm:^0.56.2": - version: 0.56.2 - resolution: "@polkadot/extension-dapp@npm:0.56.2" - dependencies: - "@polkadot/extension-inject": 0.56.2 - "@polkadot/util": ^13.2.3 - "@polkadot/util-crypto": ^13.2.3 - tslib: ^2.8.1 - peerDependencies: - "@polkadot/api": "*" - "@polkadot/util": "*" - "@polkadot/util-crypto": "*" - checksum: 884228d456c71145beaee7cde6bef6c7c71ed0d6c5d228f171d46d38fa59a44592c2d7f7b0a93c56aa3c7aa14e3d6402be8b473a36ecdc88ee4608af543c2b04 - languageName: node - linkType: hard - -"@polkadot/extension-inject@npm:0.56.2, @polkadot/extension-inject@npm:^0.56.2": - version: 0.56.2 - resolution: "@polkadot/extension-inject@npm:0.56.2" - dependencies: - "@polkadot/api": ^14.3.1 - "@polkadot/rpc-provider": ^14.3.1 - "@polkadot/types": ^14.3.1 - "@polkadot/util": ^13.2.3 - "@polkadot/util-crypto": ^13.2.3 - "@polkadot/x-global": ^13.2.3 - tslib: ^2.8.1 - peerDependencies: - "@polkadot/api": "*" - "@polkadot/util": "*" - checksum: 7ac1f01ea1df2fb09e1837e77a339ddf50a561de3ca564523b3e5e7d7f7008a4648a349e5a4204146bd50b92ac058680c34682bbabedba050234db39f22131b1 - languageName: node - linkType: hard - "@polkadot/extension-inject@npm:^0.54.1": version: 0.54.1 resolution: "@polkadot/extension-inject@npm:0.54.1" @@ -3318,7 +3677,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/rpc-provider@npm:14.3.1, @polkadot/rpc-provider@npm:^14.0.1, @polkadot/rpc-provider@npm:^14.3.1": +"@polkadot/rpc-provider@npm:14.3.1, @polkadot/rpc-provider@npm:^14.0.1": version: 14.3.1 resolution: "@polkadot/rpc-provider@npm:14.3.1" dependencies: @@ -3342,35 +3701,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/typegen@npm:^14.3.1": - version: 14.3.1 - resolution: "@polkadot/typegen@npm:14.3.1" - dependencies: - "@polkadot/api": 14.3.1 - "@polkadot/api-augment": 14.3.1 - "@polkadot/rpc-augment": 14.3.1 - "@polkadot/rpc-provider": 14.3.1 - "@polkadot/types": 14.3.1 - "@polkadot/types-augment": 14.3.1 - "@polkadot/types-codec": 14.3.1 - "@polkadot/types-create": 14.3.1 - "@polkadot/types-support": 14.3.1 - "@polkadot/util": ^13.2.3 - "@polkadot/util-crypto": ^13.2.3 - "@polkadot/x-ws": ^13.2.3 - handlebars: ^4.7.8 - tslib: ^2.8.0 - yargs: ^17.7.2 - bin: - polkadot-types-chain-info: scripts/polkadot-types-chain-info.mjs - polkadot-types-from-chain: scripts/polkadot-types-from-chain.mjs - polkadot-types-from-defs: scripts/polkadot-types-from-defs.mjs - polkadot-types-internal-interfaces: scripts/polkadot-types-internal-interfaces.mjs - polkadot-types-internal-metadata: scripts/polkadot-types-internal-metadata.mjs - checksum: c05649c4e45a7c5bfe1dab21a3ce908cb21dd017a68c310be6afc71782efc9878f2c694032efbcd39a41761779b6bf2f9bd0f4609d7a1ac40ad60ef3dd03aeae - languageName: node - linkType: hard - "@polkadot/types-augment@npm:14.3.1": version: 14.3.1 resolution: "@polkadot/types-augment@npm:14.3.1" @@ -3429,7 +3759,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/types@npm:14.3.1, @polkadot/types@npm:^14.0.1, @polkadot/types@npm:^14.1.1, @polkadot/types@npm:^14.3.1": +"@polkadot/types@npm:14.3.1, @polkadot/types@npm:^14.0.1, @polkadot/types@npm:^14.1.1": version: 14.3.1 resolution: "@polkadot/types@npm:14.3.1" dependencies: @@ -3509,83 +3839,83 @@ __metadata: languageName: node linkType: hard -"@polkadot/wasm-bridge@npm:7.3.2": - version: 7.3.2 - resolution: "@polkadot/wasm-bridge@npm:7.3.2" +"@polkadot/wasm-bridge@npm:7.4.1": + version: 7.4.1 + resolution: "@polkadot/wasm-bridge@npm:7.4.1" dependencies: - "@polkadot/wasm-util": 7.3.2 - tslib: ^2.6.2 + "@polkadot/wasm-util": 7.4.1 + tslib: ^2.7.0 peerDependencies: "@polkadot/util": "*" "@polkadot/x-randomvalues": "*" - checksum: 8becfcd4efbabe8ea536c353164c8b767a5510d6d62e376813ab1dc0dd4560906f1dfdb1b349d56b4da657ba7c88bc9f074b658218dcae9b1edbd36f4508b710 + checksum: 8123c2d72ed24f6900185eb982f228789414c1458c8a291e17a9bd70cd36616f0e04fb40cb01e90d27223eb2ce81391af36f6e5b741cb6d9a83850bb5b9e038e languageName: node linkType: hard -"@polkadot/wasm-crypto-asmjs@npm:7.3.2": - version: 7.3.2 - resolution: "@polkadot/wasm-crypto-asmjs@npm:7.3.2" +"@polkadot/wasm-crypto-asmjs@npm:7.4.1": + version: 7.4.1 + resolution: "@polkadot/wasm-crypto-asmjs@npm:7.4.1" dependencies: - tslib: ^2.6.2 + tslib: ^2.7.0 peerDependencies: "@polkadot/util": "*" - checksum: c4eb0b2c6bae2cd7b4ada5211c877a0f0cff4d4a4f2716817430c5aab74f4e8d37099add57c809a098033028378ed3e88ba1c56fd85b6fd0a80b181742f7a3f9 + checksum: 7b19748b2ccdc2d964c137ae5eabdf022d7860c05981270c82392898ac6641d5602a2c2ea1059ef8f8929dd361a75fdb25bfaa7961f3dfcf497f987145c6850a languageName: node linkType: hard -"@polkadot/wasm-crypto-init@npm:7.3.2": - version: 7.3.2 - resolution: "@polkadot/wasm-crypto-init@npm:7.3.2" +"@polkadot/wasm-crypto-init@npm:7.4.1": + version: 7.4.1 + resolution: "@polkadot/wasm-crypto-init@npm:7.4.1" dependencies: - "@polkadot/wasm-bridge": 7.3.2 - "@polkadot/wasm-crypto-asmjs": 7.3.2 - "@polkadot/wasm-crypto-wasm": 7.3.2 - "@polkadot/wasm-util": 7.3.2 - tslib: ^2.6.2 + "@polkadot/wasm-bridge": 7.4.1 + "@polkadot/wasm-crypto-asmjs": 7.4.1 + "@polkadot/wasm-crypto-wasm": 7.4.1 + "@polkadot/wasm-util": 7.4.1 + tslib: ^2.7.0 peerDependencies: "@polkadot/util": "*" "@polkadot/x-randomvalues": "*" - checksum: 4813a87bf44065d4ec7cdc29b00f37cc6859974969710c6a6fefba8e42f5bb0c7e102293a8418b1c6e1b5fd55540d13beebdff777200b69420ce50b8fad803ed + checksum: fdcb96b4ba318680837d728b3c60c0bbbe326c9b8c15d70394cfbfdee06c95f8311b6fe13e4c862472faef4a2a9ccb218519fb15ad2f67d15b4cbb1b7c3eecba languageName: node linkType: hard -"@polkadot/wasm-crypto-wasm@npm:7.3.2": - version: 7.3.2 - resolution: "@polkadot/wasm-crypto-wasm@npm:7.3.2" +"@polkadot/wasm-crypto-wasm@npm:7.4.1": + version: 7.4.1 + resolution: "@polkadot/wasm-crypto-wasm@npm:7.4.1" dependencies: - "@polkadot/wasm-util": 7.3.2 - tslib: ^2.6.2 + "@polkadot/wasm-util": 7.4.1 + tslib: ^2.7.0 peerDependencies: "@polkadot/util": "*" - checksum: 546ebc5c42929f2f37565190014ff26f6817024e087c56053c1d8c1dcffd1f02014c4638ca70c79145d540f760339699209bb1dc939c235085a7c78efd56bc60 + checksum: 2673a567cea785f7b9ec5b8371e05a53064651a9c64ac0fc45d7d5c8a080810cb1bd0f1950e2789d2c8895bcca35e9dc84b8a7b77c59b9b2d30beed8a964d043 languageName: node linkType: hard "@polkadot/wasm-crypto@npm:^7.2.2": - version: 7.3.2 - resolution: "@polkadot/wasm-crypto@npm:7.3.2" - dependencies: - "@polkadot/wasm-bridge": 7.3.2 - "@polkadot/wasm-crypto-asmjs": 7.3.2 - "@polkadot/wasm-crypto-init": 7.3.2 - "@polkadot/wasm-crypto-wasm": 7.3.2 - "@polkadot/wasm-util": 7.3.2 - tslib: ^2.6.2 + version: 7.4.1 + resolution: "@polkadot/wasm-crypto@npm:7.4.1" + dependencies: + "@polkadot/wasm-bridge": 7.4.1 + "@polkadot/wasm-crypto-asmjs": 7.4.1 + "@polkadot/wasm-crypto-init": 7.4.1 + "@polkadot/wasm-crypto-wasm": 7.4.1 + "@polkadot/wasm-util": 7.4.1 + tslib: ^2.7.0 peerDependencies: "@polkadot/util": "*" "@polkadot/x-randomvalues": "*" - checksum: ff3ef6a2a4dcbbdeb257e7a42f906f1bb7e31292600482c1acf9267406011ea75bd9d3d6ceaf4c011f986e25a2416768775ee59ccc7dbfa6c529b11b8ea91eb4 + checksum: b896f88ebf6b6864263b9042a14b6e5ef7371e47e56c6f1c297472f6d24b40645ee4e9abed5d32bfd95de4797811cb109c44da6064dd2509db3ce05a53fe2d72 languageName: node linkType: hard -"@polkadot/wasm-util@npm:7.3.2, @polkadot/wasm-util@npm:^7.2.2": - version: 7.3.2 - resolution: "@polkadot/wasm-util@npm:7.3.2" +"@polkadot/wasm-util@npm:7.4.1, @polkadot/wasm-util@npm:^7.2.2": + version: 7.4.1 + resolution: "@polkadot/wasm-util@npm:7.4.1" dependencies: - tslib: ^2.6.2 + tslib: ^2.7.0 peerDependencies: "@polkadot/util": "*" - checksum: 58ef58d357e7983c3bb4008b0159262d5c588234d7be64155c031f452fc0daeb078ff0ac8bb4b0377dac307130b0b548c01fd466968869ed308d50e2c162d23b + checksum: 4e7042f854350a7e0c978d816abc3a8e37adcd6e8a5a35a4893928e79ecc0950fc4073993ad813ad8edd2c5fa6f603a5395018d19c44b8a338f52974747c3a9c languageName: node linkType: hard @@ -3629,7 +3959,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-global@npm:13.2.3, @polkadot/x-global@npm:^13.2.3": +"@polkadot/x-global@npm:13.2.3, @polkadot/x-global@npm:^13.1.1, @polkadot/x-global@npm:^13.2.3": version: 13.2.3 resolution: "@polkadot/x-global@npm:13.2.3" dependencies: @@ -3638,15 +3968,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-global@npm:^13.1.1": - version: 13.1.1 - resolution: "@polkadot/x-global@npm:13.1.1" - dependencies: - tslib: ^2.7.0 - checksum: 07a69f24a94c6bd8934dc39f52dee620f9a0cbac368f0a8e6b5e4637f8e90ba48e110fa4cf8ac1d6b8e80f4acd41af8be5c493d89abe7fe29c0523d7aac3eefb - languageName: node - linkType: hard - "@polkadot/x-randomvalues@npm:12.5.1": version: 12.5.1 resolution: "@polkadot/x-randomvalues@npm:12.5.1" @@ -3698,6 +4019,13 @@ __metadata: languageName: node linkType: hard +"@preact/signals-core@npm:^1.3.0": + version: 1.8.0 + resolution: "@preact/signals-core@npm:1.8.0" + checksum: fa773157621d881e7aefddb8dbded805d8203600211040cc4b5907726e288a163fa58558c1d36bc7085d75e6488af0a806322bbbed005d08be76a76f40244246 + languageName: node + linkType: hard + "@reactflow/background@npm:11.3.14": version: 11.3.14 resolution: "@reactflow/background@npm:11.3.14" @@ -3794,6 +4122,36 @@ __metadata: languageName: node linkType: hard +"@reactive-dot/core@npm:^0.26.2": + version: 0.26.2 + resolution: "@reactive-dot/core@npm:0.26.2" + dependencies: + "@reactive-dot/utils": ^0.9.0 + peerDependencies: + polkadot-api: 1.x + checksum: 0b953f6f485b85eb8e15ce142cad72e0f81e37e1d7bc69fa50f6109cfbc39c75a12f71bb705d7dbe5fbcbede35d136ddc38414132237c2a4b2f2cc576908d6bb + languageName: node + linkType: hard + +"@reactive-dot/react@npm:^0.26.2": + version: 0.26.2 + resolution: "@reactive-dot/react@npm:0.26.2" + dependencies: + "@reactive-dot/core": ^0.26.2 + jotai: ^2.10.2 + peerDependencies: + react: 18.x + checksum: 73f863f8a6223c6166bba1f60be404be3b69920834e8a91aec658332c19ded557f432d061cc19902c6a1305d5079ba9f5a1d1bfe547f3d270fb87d59fbfc14f1 + languageName: node + linkType: hard + +"@reactive-dot/utils@npm:^0.9.0": + version: 0.9.0 + resolution: "@reactive-dot/utils@npm:0.9.0" + checksum: 07243e16e3d6d0f9ee1892637ba04ea112fa5adb50d7a11817efd7745d20532cd8640f13d37c80f2a5e50a18f3ed73e3e4cf30584350cc438a66e58e480d3d46 + languageName: node + linkType: hard + "@remix-run/router@npm:1.21.0": version: 1.21.0 resolution: "@remix-run/router@npm:1.21.0" @@ -3808,7 +4166,7 @@ __metadata: languageName: node linkType: hard -"@repeaterjs/repeater@npm:^3.0.4": +"@repeaterjs/repeater@npm:^3.0.4, @repeaterjs/repeater@npm:^3.0.6": version: 3.0.6 resolution: "@repeaterjs/repeater@npm:3.0.6" checksum: c3915e2603927c7d6a9eb09673bc28fc49ab3a86947ec191a74663b33deebee2fcc4b03c31cc663ff27bd6db9e6c9487639b6935e265d601ce71b8c497f5f4a8 @@ -3831,122 +4189,150 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.22.4" +"@rollup/rollup-android-arm-eabi@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.27.3" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-android-arm64@npm:4.22.4" +"@rollup/rollup-android-arm64@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-android-arm64@npm:4.27.3" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-darwin-arm64@npm:4.22.4" +"@rollup/rollup-darwin-arm64@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-darwin-arm64@npm:4.27.3" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-darwin-x64@npm:4.22.4" +"@rollup/rollup-darwin-x64@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-darwin-x64@npm:4.27.3" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4" +"@rollup/rollup-freebsd-arm64@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.27.3" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-freebsd-x64@npm:4.27.3" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.27.3" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.22.4" +"@rollup/rollup-linux-arm-musleabihf@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.27.3" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.22.4" +"@rollup/rollup-linux-arm64-gnu@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.27.3" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.22.4" +"@rollup/rollup-linux-arm64-musl@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.27.3" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.27.3" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.22.4" +"@rollup/rollup-linux-riscv64-gnu@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.27.3" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.22.4" +"@rollup/rollup-linux-s390x-gnu@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.27.3" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.22.4" +"@rollup/rollup-linux-x64-gnu@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.27.3" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.22.4" +"@rollup/rollup-linux-x64-musl@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.27.3" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.22.4" +"@rollup/rollup-win32-arm64-msvc@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.27.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.22.4" +"@rollup/rollup-win32-ia32-msvc@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.27.3" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.22.4" +"@rollup/rollup-win32-x64-msvc@npm:4.27.3": + version: 4.27.3 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.27.3" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@scure/base@npm:^1.1.1, @scure/base@npm:^1.1.3": - version: 1.1.7 - resolution: "@scure/base@npm:1.1.7" - checksum: 2d06aaf39e6de4b9640eb40d2e5419176ebfe911597856dcbf3bc6209277ddb83f4b4b02cb1fd1208f819654268ec083da68111d3530bbde07bae913e2fc2e5d +"@scure/base@npm:^1.1.1, @scure/base@npm:^1.1.3, @scure/base@npm:^1.1.8, @scure/base@npm:^1.1.9": + version: 1.1.9 + resolution: "@scure/base@npm:1.1.9" + checksum: 77a06b9a2db8144d22d9bf198338893d77367c51b58c72b99df990c0a11f7cadd066d4102abb15e3ca6798d1529e3765f55c4355742465e49aed7a0c01fe76e8 + languageName: node + linkType: hard + +"@sec-ant/readable-stream@npm:^0.4.1": + version: 0.4.1 + resolution: "@sec-ant/readable-stream@npm:0.4.1" + checksum: 64e9e9cf161e848067a5bf60cdc04d18495dc28bb63a8d9f8993e4dd99b91ad34e4b563c85de17d91ffb177ec17a0664991d2e115f6543e73236a906068987af + languageName: node + linkType: hard + +"@sindresorhus/merge-streams@npm:^4.0.0": + version: 4.0.0 + resolution: "@sindresorhus/merge-streams@npm:4.0.0" + checksum: 482ee543629aa1933b332f811a1ae805a213681ecdd98c042b1c1b89387df63e7812248bb4df3910b02b3cc5589d3d73e4393f30e197c9dde18046ccd471fc6b languageName: node linkType: hard @@ -4121,16 +4507,16 @@ __metadata: linkType: hard "@substrate/connect-extension-protocol@npm:^2.0.0": - version: 2.0.0 - resolution: "@substrate/connect-extension-protocol@npm:2.0.0" - checksum: 14a7c96b49e686dbc710214abe0fe312a366011a3521952f2317684e2463d75d54080fe358bdd8ff8d972c9de7f0e7f508dfc5210cf694574943dd8ecc490e89 + version: 2.2.1 + resolution: "@substrate/connect-extension-protocol@npm:2.2.1" + checksum: 5e066c1cbdfe9d4cae6bc85dd0adbe62832af08733b0fe6dab4aee05520ef0f85c3b892e58ba59c83a0d70a3587e16e91f61265e961e978a721dfddd6eb8b1f4 languageName: node linkType: hard "@substrate/connect-known-chains@npm:^1.1.5": - version: 1.4.1 - resolution: "@substrate/connect-known-chains@npm:1.4.1" - checksum: fbfe7e7af93bbf5209332e059b54baa71f63a2cc05c4f4dd9f010862e4b36e46de73585f90b9d1c07b8ddd60ef75cecab0fc9e43faeec034976195e9a02f23ab + version: 1.7.0 + resolution: "@substrate/connect-known-chains@npm:1.7.0" + checksum: 454f115eed8c2299b9ba66c8c3328af80767c501fb15a4e54e6788cc5d9ab6289c91a44a215dbaab8df4fda41063bafff5eee3926b43cd8787af86610e45c673 languageName: node linkType: hard @@ -4163,14 +4549,7 @@ __metadata: languageName: node linkType: hard -"@substrate/ss58-registry@npm:^1.43.0": - version: 1.49.0 - resolution: "@substrate/ss58-registry@npm:1.49.0" - checksum: b50f32e2f4632b31b3e09cec026fef557b1b72f61b6811673f5b0fbe311c5394c2f19fc4c23f97b014c77eb2d0f535a8f079dfd3fb22d5a1d7b043ceeac0d9ac - languageName: node - linkType: hard - -"@substrate/ss58-registry@npm:^1.51.0": +"@substrate/ss58-registry@npm:^1.43.0, @substrate/ss58-registry@npm:^1.51.0": version: 1.51.0 resolution: "@substrate/ss58-registry@npm:1.51.0" checksum: f568ea2a5011ee1c288e577d23dd48a6ba0dc0db3611f268b1c35f41636b8ec39ae09fe0184f88d411e331b60d924e90054be736b1ff624cdcb9b742c94a9bf6 @@ -4392,11 +4771,11 @@ __metadata: linkType: hard "@types/bn.js@npm:^5.1.1": - version: 5.1.5 - resolution: "@types/bn.js@npm:5.1.5" + version: 5.1.6 + resolution: "@types/bn.js@npm:5.1.6" dependencies: "@types/node": "*" - checksum: e9f375b43d8119ed82aed2090f83d4cda8afbb63ba13223afb02fa7550258ff90acd76d65cd7186838644048f085241cd98a3a512d8d187aa497c6039c746ac8 + checksum: 073d383d87afea513a8183ce34af7bc0a7a798d057c7ae651982b7f30dd7d93f33247323bca3ba39f1f6af146b564aff547b15467bdf9fc922796c17e8426bf6 languageName: node linkType: hard @@ -4579,9 +4958,9 @@ __metadata: linkType: hard "@types/d3-selection@npm:*, @types/d3-selection@npm:^3.0.3": - version: 3.0.10 - resolution: "@types/d3-selection@npm:3.0.10" - checksum: de1f99ab186a08999bf394a645fd76911add1b02316270d4c07616c8383903a2b068d7e02b73b6a99a1f26bb49a2e99ef4b55a5d2ddfa165f6f3c53144897920 + version: 3.0.11 + resolution: "@types/d3-selection@npm:3.0.11" + checksum: 0c512956c7503ff5def4bb32e0c568cc757b9a2cc400a104fc0f4cfe5e56d83ebde2a97821b6f2cb26a7148079d3b86a2f28e11d68324ed311cf35c2ed980d1d languageName: node linkType: hard @@ -4616,11 +4995,11 @@ __metadata: linkType: hard "@types/d3-transition@npm:*": - version: 3.0.8 - resolution: "@types/d3-transition@npm:3.0.8" + version: 3.0.9 + resolution: "@types/d3-transition@npm:3.0.9" dependencies: "@types/d3-selection": "*" - checksum: feba7845bd1e1d49e38b0d55562e01e90bfbcf0a56fbe0de4279c12e43a687032d22ed559629c0412145d25d61e4e53ddfef34c89c6bf043d48b6c2cd3a929dc + checksum: 4f68b9df7ac745b3491216c54203cbbfa0f117ae4c60e2609cdef2db963582152035407fdff995b10ee383bae2f05b7743493f48e1b8e46df54faa836a8fb7b5 languageName: node linkType: hard @@ -4672,10 +5051,10 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d +"@types/estree@npm:1.0.6, @types/estree@npm:^1.0.0": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a languageName: node linkType: hard @@ -4700,16 +5079,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*": - version: 20.14.9 - resolution: "@types/node@npm:20.14.9" - dependencies: - undici-types: ~5.26.4 - checksum: 911ffa444dc032897f4a23ed580c67903bd38ea1c5ec99b1d00fa10b83537a3adddef8e1f29710cbdd8e556a61407ed008e06537d834e48caf449ce59f87d387 - languageName: node - linkType: hard - -"@types/node@npm:^22.9.1": +"@types/node@npm:*, @types/node@npm:^22.9.0, @types/node@npm:^22.9.1": version: 22.9.1 resolution: "@types/node@npm:22.9.1" dependencies: @@ -4718,6 +5088,13 @@ __metadata: languageName: node linkType: hard +"@types/normalize-package-data@npm:^2.4.3": + version: 2.4.4 + resolution: "@types/normalize-package-data@npm:2.4.4" + checksum: aef7bb9b015883d6f4119c423dd28c4bdc17b0e8a0ccf112c78b4fe0e91fbc4af7c6204b04bba0e199a57d2f3fbbd5b4a14bf8739bf9d2a39b2a0aad545e0f86 + languageName: node + linkType: hard + "@types/parse-json@npm:^4.0.0": version: 4.0.2 resolution: "@types/parse-json@npm:4.0.2" @@ -4725,14 +5102,7 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:*": - version: 15.7.12 - resolution: "@types/prop-types@npm:15.7.12" - checksum: 1babcc7db6a1177779f8fde0ccc78d64d459906e6ef69a4ed4dd6339c920c2e05b074ee5a92120fe4e9d9f1a01c952f843ebd550bee2332fc2ef81d1706878f8 - languageName: node - linkType: hard - -"@types/prop-types@npm:^15.7.13": +"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.13": version: 15.7.13 resolution: "@types/prop-types@npm:15.7.13" checksum: 1b20fc67281902c6743379960247bc161f3f0406ffc0df8e7058745a85ea1538612109db0406290512947f9632fe9e10e7337bf0ce6338a91d6c948df16a7c61 @@ -4779,12 +5149,12 @@ __metadata: linkType: hard "@types/react@npm:*": - version: 18.3.3 - resolution: "@types/react@npm:18.3.3" + version: 18.3.12 + resolution: "@types/react@npm:18.3.12" dependencies: "@types/prop-types": "*" csstype: ^3.0.2 - checksum: fe455f805c5da13b89964c3d68060cebd43e73ec15001a68b34634604a78140e6fc202f3f61679b9d809dde6d7a7c2cb3ed51e0fd1462557911db09879b55114 + checksum: 8bae8d9a41619804561574792e29112b413044eb0d53746dde2b9720c1f9a59f71c895bbd7987cd8ce9500b00786e53bc032dced38cddf42910458e145675290 languageName: node linkType: hard @@ -4796,9 +5166,9 @@ __metadata: linkType: hard "@types/sizzle@npm:^2.3.2": - version: 2.3.8 - resolution: "@types/sizzle@npm:2.3.8" - checksum: ab5460147ae6680cc20c2223a8f17d9f7c97144b70f00a222a1c32d68b5207696d48177ab9784dda88c74d93ed5a78dd31f74d271b15382520b423c81b4aac89 + version: 2.3.9 + resolution: "@types/sizzle@npm:2.3.9" + checksum: db0277ff62e8ebe6cdae2020fd045fd7fd19f29a3a2ce13c555b14fb00e105e79004883732118b9f2e8b943cb302645e9eddb4e7bdeef1a171da679cd4c32b72 languageName: node linkType: hard @@ -4809,12 +5179,19 @@ __metadata: languageName: node linkType: hard +"@types/trusted-types@npm:^2.0.2": + version: 2.0.7 + resolution: "@types/trusted-types@npm:2.0.7" + checksum: 4c4855f10de7c6c135e0d32ce462419d8abbbc33713b31d294596c0cc34ae1fa6112a2f9da729c8f7a20707782b0d69da3b1f8df6645b0366d08825ca1522e0c + languageName: node + linkType: hard + "@types/ws@npm:^8.0.0": - version: 8.5.10 - resolution: "@types/ws@npm:8.5.10" + version: 8.5.13 + resolution: "@types/ws@npm:8.5.13" dependencies: "@types/node": "*" - checksum: e9af279b984c4a04ab53295a40aa95c3e9685f04888df5c6920860d1dd073fcc57c7bd33578a04b285b2c655a0b52258d34bee0a20569dca8defb8393e1e5d29 + checksum: a5430aa479bde588e69cb9175518d72f9338b6999e3b2ae16fc03d3bdcff8347e486dc031e4ed14601260463c07e1f9a0d7511dfc653712b047c439c680b0b34 languageName: node linkType: hard @@ -5017,8 +5394,8 @@ __metadata: linkType: hard "@walletconnect/core@npm:^2.10.1": - version: 2.13.3 - resolution: "@walletconnect/core@npm:2.13.3" + version: 2.17.2 + resolution: "@walletconnect/core@npm:2.17.2" dependencies: "@walletconnect/heartbeat": 1.2.2 "@walletconnect/jsonrpc-provider": 1.0.14 @@ -5027,17 +5404,17 @@ __metadata: "@walletconnect/jsonrpc-ws-connection": 1.0.14 "@walletconnect/keyvaluestorage": 1.1.1 "@walletconnect/logger": 2.1.2 - "@walletconnect/relay-api": 1.0.10 + "@walletconnect/relay-api": 1.0.11 "@walletconnect/relay-auth": 1.0.4 "@walletconnect/safe-json": 1.0.2 "@walletconnect/time": 1.0.2 - "@walletconnect/types": 2.13.3 - "@walletconnect/utils": 2.13.3 + "@walletconnect/types": 2.17.2 + "@walletconnect/utils": 2.17.2 + "@walletconnect/window-getters": 1.0.1 events: 3.3.0 - isomorphic-unfetch: 3.1.0 lodash.isequal: 4.5.0 uint8arrays: 3.1.0 - checksum: 1f2ce950997330e89f2a773291426cb3cfe994227300ee74c683f6af282ac5069689406bf05ad752d443024802d570a2ae2f93b65e45439849453734122936c9 + checksum: 6124b81892a4e5e9350cfff22a7ce3a23a66c9589221411bd8bfd411fc392b6b343fae1634b32000d4275ba11b1a0f732cf6b7ba5da35b388854c7e7b4f2764d languageName: node linkType: hard @@ -5141,15 +5518,6 @@ __metadata: languageName: node linkType: hard -"@walletconnect/relay-api@npm:1.0.10": - version: 1.0.10 - resolution: "@walletconnect/relay-api@npm:1.0.10" - dependencies: - "@walletconnect/jsonrpc-types": ^1.0.2 - checksum: 2709bbe45f60579cd2e1c74b0fd03c36ea409cd8a9117e00a7485428d0c9ba7eb02e525c21e5286db2b6ce563b1d29053b0249c2ed95f8adcf02b11e54f61fcd - languageName: node - linkType: hard - "@walletconnect/relay-api@npm:1.0.11": version: 1.0.11 resolution: "@walletconnect/relay-api@npm:1.0.11" @@ -5208,9 +5576,9 @@ __metadata: languageName: node linkType: hard -"@walletconnect/types@npm:2.13.3": - version: 2.13.3 - resolution: "@walletconnect/types@npm:2.13.3" +"@walletconnect/types@npm:2.17.1": + version: 2.17.1 + resolution: "@walletconnect/types@npm:2.17.1" dependencies: "@walletconnect/events": 1.0.1 "@walletconnect/heartbeat": 1.2.2 @@ -5218,13 +5586,13 @@ __metadata: "@walletconnect/keyvaluestorage": 1.1.1 "@walletconnect/logger": 2.1.2 events: 3.3.0 - checksum: b12e92e39fa2fd9dbdfbef62265c7f5e5aa1d824b6db68ea5ce4fa9ed56c9fcdf6d93fbc6ffeb57169cff4082d475899739377b91f2b13f5209c8ccb66c47d6e + checksum: 27ec2f456d3b38d373585013eb3cedbac205f09e5443ab99f48216b592bbe1ba6c35572fb34792cc60d3ceaf32ba1d1d670021ed54cf1699666c9fe386fcac55 languageName: node linkType: hard -"@walletconnect/types@npm:2.17.1": - version: 2.17.1 - resolution: "@walletconnect/types@npm:2.17.1" +"@walletconnect/types@npm:2.17.2": + version: 2.17.2 + resolution: "@walletconnect/types@npm:2.17.2" dependencies: "@walletconnect/events": 1.0.1 "@walletconnect/heartbeat": 1.2.2 @@ -5232,35 +5600,41 @@ __metadata: "@walletconnect/keyvaluestorage": 1.1.1 "@walletconnect/logger": 2.1.2 events: 3.3.0 - checksum: 27ec2f456d3b38d373585013eb3cedbac205f09e5443ab99f48216b592bbe1ba6c35572fb34792cc60d3ceaf32ba1d1d670021ed54cf1699666c9fe386fcac55 + checksum: 95bd3e4f4f2ef181ea69691800a0a06be2c4fa900ae972539851c5817a0f01b4ba9f381161d044df4db004f431bc416548ec6eca0ac523fc1fb06014386accac languageName: node linkType: hard -"@walletconnect/utils@npm:2.13.3, @walletconnect/utils@npm:^2.10.1": - version: 2.13.3 - resolution: "@walletconnect/utils@npm:2.13.3" +"@walletconnect/utils@npm:2.17.1": + version: 2.17.1 + resolution: "@walletconnect/utils@npm:2.17.1" dependencies: + "@ethersproject/hash": 5.7.0 + "@ethersproject/transactions": 5.7.0 "@stablelib/chacha20poly1305": 1.0.1 "@stablelib/hkdf": 1.0.1 "@stablelib/random": 1.0.2 "@stablelib/sha256": 1.0.1 "@stablelib/x25519": 1.0.3 - "@walletconnect/relay-api": 1.0.10 + "@walletconnect/jsonrpc-utils": 1.0.8 + "@walletconnect/keyvaluestorage": 1.1.1 + "@walletconnect/relay-api": 1.0.11 + "@walletconnect/relay-auth": 1.0.4 "@walletconnect/safe-json": 1.0.2 "@walletconnect/time": 1.0.2 - "@walletconnect/types": 2.13.3 + "@walletconnect/types": 2.17.1 "@walletconnect/window-getters": 1.0.1 "@walletconnect/window-metadata": 1.0.1 detect-browser: 5.3.0 + elliptic: 6.5.7 query-string: 7.1.3 uint8arrays: 3.1.0 - checksum: d33d66f306612637ed29f113c3cf6fd28f2a0c1062f88eafde2e9d2689859418725be0591c14d8a38ba24f56b70874117d47a6aa7ce0c1efa16e6eb6e3b79aad + checksum: aba125ce1a1e7c565a82b719117e987b10393013f80b7087261524628086e7b0aa3b6c436be5c4873929de8b9647c52bbff8314567131d6672cde1d550f8081a languageName: node linkType: hard -"@walletconnect/utils@npm:2.17.1": - version: 2.17.1 - resolution: "@walletconnect/utils@npm:2.17.1" +"@walletconnect/utils@npm:2.17.2, @walletconnect/utils@npm:^2.10.1": + version: 2.17.2 + resolution: "@walletconnect/utils@npm:2.17.2" dependencies: "@ethersproject/hash": 5.7.0 "@ethersproject/transactions": 5.7.0 @@ -5275,14 +5649,14 @@ __metadata: "@walletconnect/relay-auth": 1.0.4 "@walletconnect/safe-json": 1.0.2 "@walletconnect/time": 1.0.2 - "@walletconnect/types": 2.17.1 + "@walletconnect/types": 2.17.2 "@walletconnect/window-getters": 1.0.1 "@walletconnect/window-metadata": 1.0.1 detect-browser: 5.3.0 - elliptic: 6.5.7 + elliptic: 6.6.0 query-string: 7.1.3 uint8arrays: 3.1.0 - checksum: aba125ce1a1e7c565a82b719117e987b10393013f80b7087261524628086e7b0aa3b6c436be5c4873929de8b9647c52bbff8314567131d6672cde1d550f8081a + checksum: b44c0025be12301a28715a204c037328eae4fa432f0ee1730da08b3b6583e07aeaf59efd9dcc52209f6a61b50b31c84e555028b97067dfdf9f5efe1211378fc8 languageName: node linkType: hard @@ -5328,10 +5702,13 @@ __metadata: languageName: node linkType: hard -"@whatwg-node/events@npm:^0.1.0": - version: 0.1.1 - resolution: "@whatwg-node/events@npm:0.1.1" - checksum: 7e4678c8c092484dc248f4a229a398de30d21190b94ebebc333c2187180207a18e257c4588d0910e872251b3089007f4a2a3ff8b9a4d057fae94db8da28be467 +"@whatwg-node/fetch@npm:^0.10.0": + version: 0.10.1 + resolution: "@whatwg-node/fetch@npm:0.10.1" + dependencies: + "@whatwg-node/node-fetch": ^0.7.1 + urlpattern-polyfill: ^10.0.0 + checksum: 8db24a980181683676a503d63ff22e7ac9ce70bb842f3a1a83d260ffd0682cc0fdcab24d825cb742364bf075fedaa404d08508703ecf7302e3332612bdb35d61 languageName: node linkType: hard @@ -5348,26 +5725,6 @@ __metadata: languageName: node linkType: hard -"@whatwg-node/fetch@npm:^0.9.0": - version: 0.9.18 - resolution: "@whatwg-node/fetch@npm:0.9.18" - dependencies: - "@whatwg-node/node-fetch": ^0.5.7 - urlpattern-polyfill: ^10.0.0 - checksum: 53fbbdb9c8b99d5ac550c80c4523e0e574c311fca55854c81e26949a4269638a36688cc485220f65845c9c5f10251f474b4982d594f063859af7b44316775a64 - languageName: node - linkType: hard - -"@whatwg-node/fetch@npm:^0.9.20": - version: 0.9.23 - resolution: "@whatwg-node/fetch@npm:0.9.23" - dependencies: - "@whatwg-node/node-fetch": ^0.6.0 - urlpattern-polyfill: ^10.0.0 - checksum: f025ea59f026e2f1be34a33d6eba5fcfa69a3f2df6046198893cd7bc361f28bea10c0a79daa14e78034714940d0968c3c5f439d463f159c7703e94502bd0a279 - languageName: node - linkType: hard - "@whatwg-node/node-fetch@npm:^0.3.6": version: 0.3.6 resolution: "@whatwg-node/node-fetch@npm:0.3.6" @@ -5381,28 +5738,15 @@ __metadata: languageName: node linkType: hard -"@whatwg-node/node-fetch@npm:^0.5.7": - version: 0.5.11 - resolution: "@whatwg-node/node-fetch@npm:0.5.11" - dependencies: - "@kamilkisiela/fast-url-parser": ^1.1.4 - "@whatwg-node/events": ^0.1.0 - busboy: ^1.6.0 - fast-querystring: ^1.1.1 - tslib: ^2.3.1 - checksum: 08fadd64eb54ce14b17d85769869c1d5a98bd166f97ed6d08a802980c8546dbf409f4b9374bee2f8ee140c4649f2a7d3bfa069d90697b810150fb938fc4df1ab - languageName: node - linkType: hard - -"@whatwg-node/node-fetch@npm:^0.6.0": - version: 0.6.0 - resolution: "@whatwg-node/node-fetch@npm:0.6.0" +"@whatwg-node/node-fetch@npm:^0.7.1": + version: 0.7.3 + resolution: "@whatwg-node/node-fetch@npm:0.7.3" dependencies: "@kamilkisiela/fast-url-parser": ^1.1.4 busboy: ^1.6.0 fast-querystring: ^1.1.1 tslib: ^2.6.3 - checksum: 3ec3405e581abd811823f7c5f7dcb2e4c291d01a7a714c34b6b368eefff8b72f92b4d749322433d754b76725c814b03714cc6e929083021568e1ebd8240a04a8 + checksum: ab28315e5f1397cc53f1812f0b37a6e9f26f38c198a2edb1fbf4e4d3fda07c6447bef401c1e06a6b62f6d0255d2793b8b9ad3b2aba056480dcb1b14895538c42 languageName: node linkType: hard @@ -5423,20 +5767,20 @@ __metadata: linkType: hard "acorn-walk@npm:^8.1.1": - version: 8.3.3 - resolution: "acorn-walk@npm:8.3.3" + version: 8.3.4 + resolution: "acorn-walk@npm:8.3.4" dependencies: acorn: ^8.11.0 - checksum: 4a9e24313e6a0a7b389e712ba69b66b455b4cb25988903506a8d247e7b126f02060b05a8a5b738a9284214e4ca95f383dd93443a4ba84f1af9b528305c7f243b + checksum: 76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 languageName: node linkType: hard -"acorn@npm:^8.11.0, acorn@npm:^8.11.3, acorn@npm:^8.4.1, acorn@npm:^8.9.0": - version: 8.12.0 - resolution: "acorn@npm:8.12.0" +"acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.4.1, acorn@npm:^8.9.0": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" bin: acorn: bin/acorn - checksum: a19f9dead009d3b430fa3c253710b47778cdaace15b316de6de93a68c355507bc1072a9956372b6c990cbeeb167d4a929249d0faeb8ae4bb6911d68d53299549 + checksum: 6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7 languageName: node linkType: hard @@ -5495,18 +5839,9 @@ __metadata: linkType: hard "ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 - languageName: node - linkType: hard - -"ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: ^1.9.0 - checksum: ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc languageName: node linkType: hard @@ -5526,6 +5861,13 @@ __metadata: languageName: node linkType: hard +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + "anymatch@npm:^3.1.3, anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -5678,7 +6020,7 @@ __metadata: languageName: node linkType: hard -"asn1js@npm:^3.0.1, asn1js@npm:^3.0.5": +"asn1js@npm:^3.0.5": version: 3.0.5 resolution: "asn1js@npm:3.0.5" dependencies: @@ -5704,9 +6046,9 @@ __metadata: linkType: hard "async@npm:^3.2.0": - version: 3.2.5 - resolution: "async@npm:3.2.5" - checksum: 1408287b26c6db67d45cb346e34892cee555b8b59e6c68e6f8c3e495cad5ca13b4f218180e871f3c2ca30df4ab52693b66f2f6ff43644760cab0b2198bda79c1 + version: 3.2.6 + resolution: "async@npm:3.2.6" + checksum: 36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 languageName: node linkType: hard @@ -5755,9 +6097,9 @@ __metadata: linkType: hard "aws4@npm:^1.8.0": - version: 1.13.0 - resolution: "aws4@npm:1.13.0" - checksum: 4c71398543e432631a226cabafaa138f8070482f99790233840d84847291ec744e739cb18684a68f52125d0e73f82f16f0246d93524ec85167fadb3cf60dfa4f + version: 1.13.2 + resolution: "aws4@npm:1.13.2" + checksum: c993d0d186d699f685d73113733695d648ec7d4b301aba2e2a559d0cd9c1c902308cc52f4095e1396b23fddbc35113644e7f0a6a32753636306e41e3ed6f1e79 languageName: node linkType: hard @@ -5872,9 +6214,9 @@ __metadata: linkType: hard "bn.js@npm:^4.11.9": - version: 4.12.0 - resolution: "bn.js@npm:4.12.0" - checksum: 9736aaa317421b6b3ed038ff3d4491935a01419ac2d83ddcfebc5717385295fcfcf0c57311d90fe49926d0abbd7a9dbefdd8861e6129939177f7e67ebc645b21 + version: 4.12.1 + resolution: "bn.js@npm:4.12.1" + checksum: b7f37a0cd5e4b79142b6f4292d518b416be34ae55d6dd6b0f66f96550c8083a50ffbbf8bda8d0ab471158cb81aa74ea4ee58fe33c7802e4a30b13810e98df116 languageName: node linkType: hard @@ -5920,20 +6262,6 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.22.2": - version: 4.23.1 - resolution: "browserslist@npm:4.23.1" - dependencies: - caniuse-lite: ^1.0.30001629 - electron-to-chromium: ^1.4.796 - node-releases: ^2.0.14 - update-browserslist-db: ^1.0.16 - bin: - browserslist: cli.js - checksum: eb47c7ab9d60db25ce2faca70efeb278faa7282a2f62b7f2fa2f92e5f5251cf65144244566c86559419ff4f6d78f59ea50e39911321ad91f3b27788901f1f5e9 - languageName: node - linkType: hard - "browserslist@npm:^4.24.0": version: 4.24.2 resolution: "browserslist@npm:4.24.2" @@ -5974,6 +6302,17 @@ __metadata: languageName: node linkType: hard +"bundle-require@npm:^5.0.0": + version: 5.0.0 + resolution: "bundle-require@npm:5.0.0" + dependencies: + load-tsconfig: ^0.2.3 + peerDependencies: + esbuild: ">=0.18" + checksum: 92c46df02586e0ebd66ee4831c9b5775adb3c32a43fe2b2aaf7bc675135c141f751de6a9a26b146d64c607c5b40f9eef5f10dce3c364f602d4bed268444c32c6 + languageName: node + linkType: hard + "busboy@npm:^1.6.0": version: 1.6.0 resolution: "busboy@npm:1.6.0" @@ -5983,9 +6322,16 @@ __metadata: languageName: node linkType: hard +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + "cacache@npm:^18.0.0": - version: 18.0.3 - resolution: "cacache@npm:18.0.3" + version: 18.0.4 + resolution: "cacache@npm:18.0.4" dependencies: "@npmcli/fs": ^3.1.0 fs-minipass: ^3.0.0 @@ -5999,7 +6345,7 @@ __metadata: ssri: ^10.0.0 tar: ^6.1.11 unique-filename: ^3.0.0 - checksum: dfda92840bb371fb66b88c087c61a74544363b37a265023223a99965b16a16bbb87661fe4948718d79df6e0cc04e85e62784fbcf1832b2a5e54ff4c46fbb45b7 + checksum: 6c055bafed9de4f3dcc64ac3dc7dd24e863210902b7c470eb9ce55a806309b3efff78033e3d8b4f7dcc5d467f2db43c6a2857aaaf26f0094b8a351d44c42179f languageName: node linkType: hard @@ -6061,13 +6407,6 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001629": - version: 1.0.30001638 - resolution: "caniuse-lite@npm:1.0.30001638" - checksum: 33019e0c53ed73f1e728b6f313efed2d7a25710dfa2ad3924d2be9939df10d0991556ac87523d3177d472c246654c9216f03e5532717ed97df58014728c3e798 - languageName: node - linkType: hard - "caniuse-lite@npm:^1.0.30001669": version: 1.0.30001683 resolution: "caniuse-lite@npm:1.0.30001683" @@ -6102,17 +6441,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: ^3.2.1 - escape-string-regexp: ^1.0.5 - supports-color: ^5.3.0 - checksum: e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 - languageName: node - linkType: hard - "chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" @@ -6123,6 +6451,13 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^5.3.0": + version: 5.3.0 + resolution: "chalk@npm:5.3.0" + checksum: 8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 + languageName: node + linkType: hard + "change-case-all@npm:1.0.14": version: 1.0.14 resolution: "change-case-all@npm:1.0.14" @@ -6212,6 +6547,15 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^4.0.1": + version: 4.0.1 + resolution: "chokidar@npm:4.0.1" + dependencies: + readdirp: ^4.0.1 + checksum: 4bb7a3adc304059810bb6c420c43261a15bb44f610d77c35547addc84faa0374265c3adc67f25d06f363d9a4571962b02679268c40de07676d260de1986efea9 + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -6258,7 +6602,16 @@ __metadata: languageName: node linkType: hard -"cli-spinners@npm:^2.5.0": +"cli-cursor@npm:^5.0.0": + version: 5.0.0 + resolution: "cli-cursor@npm:5.0.0" + dependencies: + restore-cursor: ^5.0.0 + checksum: 7ec62f69b79f6734ab209a3e4dbdc8af7422d44d360a7cb1efa8a0887bbe466a6e625650c466fe4359aee44dbe2dc0b6994b583d40a05d0808a5cb193641d220 + languageName: node + linkType: hard + +"cli-spinners@npm:^2.5.0, cli-spinners@npm:^2.9.2": version: 2.9.2 resolution: "cli-spinners@npm:2.9.2" checksum: 907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 @@ -6342,15 +6695,6 @@ __metadata: languageName: node linkType: hard -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: 1.1.3 - checksum: 5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c - languageName: node - linkType: hard - "color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -6360,13 +6704,6 @@ __metadata: languageName: node linkType: hard -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 - languageName: node - linkType: hard - "color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" @@ -6397,6 +6734,20 @@ __metadata: languageName: node linkType: hard +"commander@npm:^12.1.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 + languageName: node + linkType: hard + +"commander@npm:^4.0.0": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab + languageName: node + linkType: hard + "commander@npm:^6.2.1": version: 6.2.1 resolution: "commander@npm:6.2.1" @@ -6436,10 +6787,10 @@ __metadata: languageName: node linkType: hard -"confbox@npm:^0.1.7": - version: 0.1.7 - resolution: "confbox@npm:0.1.7" - checksum: 18b40c2f652196a833f3f1a5db2326a8a579cd14eacabfe637e4fc8cb9b68d7cf296139a38c5e7c688ce5041bf46f9adce05932d43fde44cf7e012840b5da111 +"confbox@npm:^0.1.8": + version: 0.1.8 + resolution: "confbox@npm:0.1.8" + checksum: fc2c68d97cb54d885b10b63e45bd8da83a8a71459d3ecf1825143dd4c7f9f1b696b3283e07d9d12a144c1301c2ebc7842380bdf0014e55acc4ae1c9550102418 languageName: node linkType: hard @@ -6475,10 +6826,10 @@ __metadata: languageName: node linkType: hard -"cookie-es@npm:^1.1.0": - version: 1.1.0 - resolution: "cookie-es@npm:1.1.0" - checksum: 27f1057b05eb42dca539a80cf45b8f9d5bacf35482690d756025447810dcd669e0cd13952a063a43e47a4e6fd7400745defedc97479a4254019f0bdb5c200341 +"cookie-es@npm:^1.2.2": + version: 1.2.2 + resolution: "cookie-es@npm:1.2.2" + checksum: 210eb67cd40a53986fda99d6f47118cfc45a69c4abc03490d15ab1b83ac978d5518356aecdd7a7a4969292445e3063c2302deda4c73706a67edc008127608638 languageName: node linkType: hard @@ -6556,12 +6907,12 @@ __metadata: languageName: node linkType: hard -"cross-inspect@npm:1.0.0": - version: 1.0.0 - resolution: "cross-inspect@npm:1.0.0" +"cross-inspect@npm:1.0.1": + version: 1.0.1 + resolution: "cross-inspect@npm:1.0.1" dependencies: tslib: ^2.4.0 - checksum: 53530865c357c69a5a0543e2f2c61d3d46c9c316a19169372f5094cfb0a7c7e674f2daf2d5253a6731dfd9a8538aa4a4e13c6b4613b6f72b48bb0c41d2015ff4 + checksum: 2493ee47a801b46ede1c42ca6242b8d2059f7319b5baf23887bbaf46a6ea8e536d2e271d0990176c05092f67b32d084ffd8c93e7c1227eff4a06cceadb49af47 languageName: node linkType: hard @@ -6576,15 +6927,12 @@ __metadata: languageName: node linkType: hard -"crossws@npm:^0.2.0, crossws@npm:^0.2.4": - version: 0.2.4 - resolution: "crossws@npm:0.2.4" - peerDependencies: - uWebSockets.js: "*" - peerDependenciesMeta: - uWebSockets.js: - optional: true - checksum: b950c64d36f3f11fdb8e0faf3107598660d89d77eb860e68b535fe6acba9f0f2f0507cc7250bd219a3ef2fe08718db91b591e6912b7324fcfc8fd1b8d9f78c96 +"crossws@npm:>=0.2.0 <0.4.0": + version: 0.3.1 + resolution: "crossws@npm:0.3.1" + dependencies: + uncrypto: ^0.1.3 + checksum: 37dc72074ee61ee999ec79e061a0ddab870e061a88cd9b83f479c5c4130c6742ce6b308c38968ee4be9073246c32b0cb0adaed50f1e448b988c3b3172c4ce2e0 languageName: node linkType: hard @@ -6811,14 +7159,7 @@ __metadata: languageName: node linkType: hard -"dayjs@npm:^1.10.4": - version: 1.11.11 - resolution: "dayjs@npm:1.11.11" - checksum: 0131d10516b9945f05a57e13f4af49a6814de5573a494824e103131a3bbe4cc470b1aefe8e17e51f9a478a22cd116084be1ee5725cedb66ec4c3f9091202dc4b - languageName: node - linkType: hard - -"dayjs@npm:^1.11.13": +"dayjs@npm:^1.10.4, dayjs@npm:^1.11.13": version: 1.11.13 resolution: "dayjs@npm:1.11.13" checksum: a3caf6ac8363c7dade9d1ee797848ddcf25c1ace68d9fe8678ecf8ba0675825430de5d793672ec87b24a69bf04a1544b176547b2539982275d5542a7955f35b7 @@ -6832,15 +7173,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": - version: 4.3.5 - resolution: "debug@npm:4.3.5" +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7": + version: 4.3.7 + resolution: "debug@npm:4.3.7" dependencies: - ms: 2.1.2 + ms: ^2.1.3 peerDependenciesMeta: supports-color: optional: true - checksum: 082c375a2bdc4f4469c99f325ff458adad62a3fc2c482d59923c260cb08152f34e2659f72b3767db8bb2f21ca81a60a42d1019605a412132d7b9f59363a005cc + checksum: 1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b languageName: node linkType: hard @@ -6874,6 +7215,13 @@ __metadata: languageName: node linkType: hard +"deepmerge-ts@npm:^7.1.0": + version: 7.1.3 + resolution: "deepmerge-ts@npm:7.1.3" + checksum: c9cfe7742a2c8f785302378b004381e1b831e3307ffe0c17be4b98fd87f347cb52a550aa9ff9ee0608b97f25400972ab79484f3836d77ec733828b10c8dcc522 + languageName: node + linkType: hard + "defaults@npm:^1.0.3": version: 1.0.4 resolution: "defaults@npm:1.0.4" @@ -6905,7 +7253,7 @@ __metadata: languageName: node linkType: hard -"defu@npm:^6.1.3, defu@npm:^6.1.4": +"defu@npm:^6.1.4": version: 6.1.4 resolution: "defu@npm:6.1.4" checksum: 2d6cc366262dc0cb8096e429368e44052fdf43ed48e53ad84cc7c9407f890301aa5fcb80d0995abaaf842b3949f154d060be4160f7a46cb2bc2f7726c81526f5 @@ -6947,6 +7295,13 @@ __metadata: languageName: node linkType: hard +"detect-indent@npm:^7.0.1": + version: 7.0.1 + resolution: "detect-indent@npm:7.0.1" + checksum: 47b6e3e3dda603c386e73b129f3e84844ae59bc2615f5072becf3cc02eab400bed5a4e6379c49d0b18cf630e80c2b07e87e0038b777addbc6ef793ad77dd05bc + languageName: node + linkType: hard + "detect-libc@npm:^1.0.3": version: 1.0.3 resolution: "detect-libc@npm:1.0.3" @@ -6963,6 +7318,13 @@ __metadata: languageName: node linkType: hard +"dijkstrajs@npm:^1.0.1": + version: 1.0.3 + resolution: "dijkstrajs@npm:1.0.3" + checksum: 2183d61ac1f25062f3c3773f3ea8d9f45ba164a00e77e07faf8cc5750da966222d1e2ce6299c875a80f969190c71a0973042192c5624d5223e4ed196ff584c99 + languageName: node + linkType: hard + "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -7010,6 +7372,43 @@ __metadata: languageName: node linkType: hard +"dot-connect@npm:^0.13.2": + version: 0.13.2 + resolution: "dot-connect@npm:0.13.2" + dependencies: + "@lit-labs/preact-signals": ^1.0.2 + "@lit/react": ^1.0.6 + "@lit/task": ^1.0.1 + dot-identicon: ^0.1.0 + lit: ^3.2.1 + qrcode: ^1.5.4 + peerDependencies: + "@reactive-dot/core": ">= 0.25.1" + react: ">= 18" + peerDependenciesMeta: + react: + optional: true + checksum: c379f7a14167e5743c213e8ef584fe3e37f5ef30efc75ec88bf4f53b3402997ed95e602b194737de86190c21957a10335dafb71a34d259244919c3a4f29cb444 + languageName: node + linkType: hard + +"dot-identicon@npm:^0.1.0": + version: 0.1.0 + resolution: "dot-identicon@npm:0.1.0" + dependencies: + "@lit-labs/preact-signals": ^1.0.2 + "@lit/react": ^1.0.5 + "@noble/hashes": ^1.5.0 + lit: ^3.2.0 + peerDependencies: + react: ">= 18" + peerDependenciesMeta: + react: + optional: true + checksum: 43a11faa45cb25499ea59ed2a204fd228a4ccddeb2315031122e2968be7308abb64ebd56a2ba457b115827d5ad0925b6b0f39eb4e72ffea1cde422491cf56f89 + languageName: node + linkType: hard + "dotenv@npm:^16.0.0": version: 16.4.5 resolution: "dotenv@npm:16.4.5" @@ -7053,13 +7452,6 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.796": - version: 1.4.812 - resolution: "electron-to-chromium@npm:1.4.812" - checksum: d5cff49155df7b7fa64b911d4075c35c4f9c704af4d191e77a8ae08f81515344a62eef2bd2cfc23ed59fa1617c07e7e9267b55c2a0adbcebec0ea2a66fc11346 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.5.41": version: 1.5.64 resolution: "electron-to-chromium@npm:1.5.64" @@ -7097,6 +7489,28 @@ __metadata: languageName: node linkType: hard +"elliptic@npm:6.6.0": + version: 6.6.0 + resolution: "elliptic@npm:6.6.0" + dependencies: + bn.js: ^4.11.9 + brorand: ^1.1.0 + hash.js: ^1.0.0 + hmac-drbg: ^1.0.1 + inherits: ^2.0.4 + minimalistic-assert: ^1.0.1 + minimalistic-crypto-utils: ^1.0.1 + checksum: 42eb3492e218017bf8923a5d14a86f414952f2f771361805b3ae9f380923b5da53e203d0d92be95cb0a248858a78db7db5934a346e268abb757e6fe561d401c9 + languageName: node + linkType: hard + +"emoji-regex@npm:^10.3.0": + version: 10.4.0 + resolution: "emoji-regex@npm:10.4.0" + checksum: a3fcedfc58bfcce21a05a5f36a529d81e88d602100145fcca3dc6f795e3c8acc4fc18fe773fbf9b6d6e9371205edb3afa2668ec3473fa2aa7fd47d2a9d46482d + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -7169,7 +7583,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.5": +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": version: 1.23.5 resolution: "es-abstract@npm:1.23.5" dependencies: @@ -7223,60 +7637,6 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": - version: 1.23.3 - resolution: "es-abstract@npm:1.23.3" - dependencies: - array-buffer-byte-length: ^1.0.1 - arraybuffer.prototype.slice: ^1.0.3 - available-typed-arrays: ^1.0.7 - call-bind: ^1.0.7 - data-view-buffer: ^1.0.1 - data-view-byte-length: ^1.0.1 - data-view-byte-offset: ^1.0.0 - es-define-property: ^1.0.0 - es-errors: ^1.3.0 - es-object-atoms: ^1.0.0 - es-set-tostringtag: ^2.0.3 - es-to-primitive: ^1.2.1 - function.prototype.name: ^1.1.6 - get-intrinsic: ^1.2.4 - get-symbol-description: ^1.0.2 - globalthis: ^1.0.3 - gopd: ^1.0.1 - has-property-descriptors: ^1.0.2 - has-proto: ^1.0.3 - has-symbols: ^1.0.3 - hasown: ^2.0.2 - internal-slot: ^1.0.7 - is-array-buffer: ^3.0.4 - is-callable: ^1.2.7 - is-data-view: ^1.0.1 - is-negative-zero: ^2.0.3 - is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.3 - is-string: ^1.0.7 - is-typed-array: ^1.1.13 - is-weakref: ^1.0.2 - object-inspect: ^1.13.1 - object-keys: ^1.1.1 - object.assign: ^4.1.5 - regexp.prototype.flags: ^1.5.2 - safe-array-concat: ^1.1.2 - safe-regex-test: ^1.0.3 - string.prototype.trim: ^1.2.9 - string.prototype.trimend: ^1.0.8 - string.prototype.trimstart: ^1.0.8 - typed-array-buffer: ^1.0.2 - typed-array-byte-length: ^1.0.1 - typed-array-byte-offset: ^1.0.2 - typed-array-length: ^1.0.6 - unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.15 - checksum: d27e9afafb225c6924bee9971a7f25f20c314f2d6cb93a63cada4ac11dcf42040896a6c22e5fb8f2a10767055ed4ddf400be3b1eb12297d281726de470b75666 - languageName: node - linkType: hard - "es-define-property@npm:^1.0.0": version: 1.0.0 resolution: "es-define-property@npm:1.0.0" @@ -7432,18 +7792,94 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de - languageName: node - linkType: hard - -"escalade@npm:^3.1.1, escalade@npm:^3.1.2": - version: 3.1.2 - resolution: "escalade@npm:3.1.2" - checksum: 6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 + checksum: fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de + languageName: node + linkType: hard + +"esbuild@npm:^0.24.0": + version: 0.24.0 + resolution: "esbuild@npm:0.24.0" + dependencies: + "@esbuild/aix-ppc64": 0.24.0 + "@esbuild/android-arm": 0.24.0 + "@esbuild/android-arm64": 0.24.0 + "@esbuild/android-x64": 0.24.0 + "@esbuild/darwin-arm64": 0.24.0 + "@esbuild/darwin-x64": 0.24.0 + "@esbuild/freebsd-arm64": 0.24.0 + "@esbuild/freebsd-x64": 0.24.0 + "@esbuild/linux-arm": 0.24.0 + "@esbuild/linux-arm64": 0.24.0 + "@esbuild/linux-ia32": 0.24.0 + "@esbuild/linux-loong64": 0.24.0 + "@esbuild/linux-mips64el": 0.24.0 + "@esbuild/linux-ppc64": 0.24.0 + "@esbuild/linux-riscv64": 0.24.0 + "@esbuild/linux-s390x": 0.24.0 + "@esbuild/linux-x64": 0.24.0 + "@esbuild/netbsd-x64": 0.24.0 + "@esbuild/openbsd-arm64": 0.24.0 + "@esbuild/openbsd-x64": 0.24.0 + "@esbuild/sunos-x64": 0.24.0 + "@esbuild/win32-arm64": 0.24.0 + "@esbuild/win32-ia32": 0.24.0 + "@esbuild/win32-x64": 0.24.0 + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 9f1aadd8d64f3bff422ae78387e66e51a5e09de6935a6f987b6e4e189ed00fdc2d1bc03d2e33633b094008529c8b6e06c7ad1a9782fb09fec223bf95998c0683 languageName: node linkType: hard -"escalade@npm:^3.2.0": +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" checksum: ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 @@ -7553,7 +7989,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 @@ -7627,11 +8063,11 @@ __metadata: linkType: hard "esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: ^5.1.0 - checksum: a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 + checksum: cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 languageName: node linkType: hard @@ -7729,6 +8165,26 @@ __metadata: languageName: node linkType: hard +"execa@npm:^9.5.1": + version: 9.5.1 + resolution: "execa@npm:9.5.1" + dependencies: + "@sindresorhus/merge-streams": ^4.0.0 + cross-spawn: ^7.0.3 + figures: ^6.1.0 + get-stream: ^9.0.0 + human-signals: ^8.0.0 + is-plain-obj: ^4.1.0 + is-stream: ^4.0.1 + npm-run-path: ^6.0.0 + pretty-ms: ^9.0.0 + signal-exit: ^4.1.0 + strip-final-newline: ^4.0.0 + yoctocolors: ^2.0.0 + checksum: 1a628d535c5a088f9e17a735bb3143efc4198095392b319ba877b2975d5c3c57724536dccb6f68f1cd9b3af331c5a9e8c1aeb338d52ab316b1e008ff453374a7 + languageName: node + linkType: hard + "executable@npm:^4.1.1": version: 4.1.1 resolution: "executable@npm:4.1.1" @@ -7923,6 +8379,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.4.2": + version: 6.4.2 + resolution: "fdir@npm:6.4.2" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 34829886f34a3ca4170eca7c7180ec4de51a3abb4d380344063c0ae2e289b11d2ba8b724afee974598c83027fea363ff598caf2b51bc4e6b1e0d8b80cc530573 + languageName: node + linkType: hard + "fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": version: 3.2.0 resolution: "fetch-blob@npm:3.2.0" @@ -7942,6 +8410,15 @@ __metadata: languageName: node linkType: hard +"figures@npm:^6.1.0": + version: 6.1.0 + resolution: "figures@npm:6.1.0" + dependencies: + is-unicode-supported: ^2.0.0 + checksum: 9159df4264d62ef447a3931537de92f5012210cf5135c35c010df50a2169377581378149abfe1eb238bd6acbba1c0d547b1f18e0af6eee49e30363cedaffcfe4 + languageName: node + linkType: hard + "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -8006,9 +8483,9 @@ __metadata: linkType: hard "flatted@npm:^3.2.9": - version: 3.3.1 - resolution: "flatted@npm:3.3.1" - checksum: 324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf + version: 3.3.2 + resolution: "flatted@npm:3.3.2" + checksum: 24cc735e74d593b6c767fe04f2ef369abe15b62f6906158079b9874bdb3ee5ae7110bb75042e70cd3f99d409d766f357caf78d5ecee9780206f5fdc5edbad334 languageName: node linkType: hard @@ -8022,12 +8499,12 @@ __metadata: linkType: hard "foreground-child@npm:^3.1.0": - version: 3.2.1 - resolution: "foreground-child@npm:3.2.1" + version: 3.3.0 + resolution: "foreground-child@npm:3.3.0" dependencies: cross-spawn: ^7.0.0 signal-exit: ^4.0.1 - checksum: 9a53a33dbd87090e9576bef65fb4a71de60f6863a8062a7b11bc1cbe3cc86d428677d7c0b9ef61cdac11007ac580006f78bd5638618d564cfd5e6fd713d6878f + checksum: 028f1d41000553fcfa6c4bb5c372963bf3d9bf0b1f25a87d1a6253014343fb69dfb1b42d9625d7cf44c8ba429940f3d0ff718b62105d4d4a4f6ef8ca0a53faa2 languageName: node linkType: hard @@ -8088,6 +8565,13 @@ __metadata: languageName: node linkType: hard +"fs.promises.exists@npm:^1.1.4": + version: 1.1.4 + resolution: "fs.promises.exists@npm:1.1.4" + checksum: 6e200a97e869c8b84b4dabc5c963d87d20db8704fa12098773b472a61651c0a822b651807ff883e09b8480c41f5184acb65abdd9965b950b3cb2b473b10c3c0f + languageName: node + linkType: hard + "fs.realpath@npm:^1.0.0": version: 1.0.0 resolution: "fs.realpath@npm:1.0.0" @@ -8121,7 +8605,7 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": +"function.prototype.name@npm:^1.1.6": version: 1.1.6 resolution: "function.prototype.name@npm:1.1.6" dependencies: @@ -8154,6 +8638,13 @@ __metadata: languageName: node linkType: hard +"get-east-asian-width@npm:^1.0.0": + version: 1.3.0 + resolution: "get-east-asian-width@npm:1.3.0" + checksum: 1a049ba697e0f9a4d5514c4623781c5246982bdb61082da6b5ae6c33d838e52ce6726407df285cdbb27ec1908b333cf2820989bd3e986e37bb20979437fdf34b + languageName: node + linkType: hard + "get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" @@ -8190,6 +8681,16 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^9.0.0": + version: 9.0.1 + resolution: "get-stream@npm:9.0.1" + dependencies: + "@sec-ant/readable-stream": ^0.4.1 + is-stream: ^4.0.1 + checksum: d70e73857f2eea1826ac570c3a912757dcfbe8a718a033fa0c23e12ac8e7d633195b01710e0559af574cbb5af101009b42df7b6f6b29ceec8dbdf7291931b948 + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.2": version: 1.0.2 resolution: "get-symbol-description@npm:1.0.2" @@ -8238,8 +8739,8 @@ __metadata: linkType: hard "glob@npm:^10.2.2, glob@npm:^10.3.10": - version: 10.4.2 - resolution: "glob@npm:10.4.2" + version: 10.4.5 + resolution: "glob@npm:10.4.5" dependencies: foreground-child: ^3.1.0 jackspeak: ^3.1.2 @@ -8249,7 +8750,7 @@ __metadata: path-scurry: ^1.11.1 bin: glob: dist/esm/bin.mjs - checksum: 2c7296695fa75a935f3ad17dc62e4e170a8bb8752cf64d328be8992dd6ad40777939003754e10e9741ff8fbe43aa52fba32d6930d0ffa0e3b74bc3fb5eebaa2f + checksum: 19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e languageName: node linkType: hard @@ -8371,7 +8872,7 @@ __metadata: languageName: node linkType: hard -"graphql-config@npm:^5.1.1": +"graphql-config@npm:^5.0.2": version: 5.1.3 resolution: "graphql-config@npm:5.1.3" dependencies: @@ -8466,39 +8967,21 @@ __metadata: languageName: node linkType: hard -"h3@npm:^1.10.2, h3@npm:^1.11.1": - version: 1.12.0 - resolution: "h3@npm:1.12.0" +"h3@npm:^1.12.0, h3@npm:^1.13.0": + version: 1.13.0 + resolution: "h3@npm:1.13.0" dependencies: - cookie-es: ^1.1.0 - crossws: ^0.2.4 + cookie-es: ^1.2.2 + crossws: ">=0.2.0 <0.4.0" defu: ^6.1.4 destr: ^2.0.3 - iron-webcrypto: ^1.1.1 - ohash: ^1.1.3 + iron-webcrypto: ^1.2.1 + ohash: ^1.1.4 radix3: ^1.1.2 - ufo: ^1.5.3 + ufo: ^1.5.4 uncrypto: ^0.1.3 - unenv: ^1.9.0 - checksum: 21ac3ee2451e96a74d6a4ec3a6e589c4725590dc4e675816436ae9d041556fc1b64052ba3775a48912f4ae98977031e1be4c57ac8a80bb4297117506b6ec7a6f - languageName: node - linkType: hard - -"handlebars@npm:^4.7.8": - version: 4.7.8 - resolution: "handlebars@npm:4.7.8" - dependencies: - minimist: ^1.2.5 - neo-async: ^2.6.2 - source-map: ^0.6.1 - uglify-js: ^3.1.4 - wordwrap: ^1.0.0 - dependenciesMeta: - uglify-js: - optional: true - bin: - handlebars: bin/handlebars - checksum: 7aff423ea38a14bb379316f3857fe0df3c5d66119270944247f155ba1f08e07a92b340c58edaa00cfe985c21508870ee5183e0634dcb53dd405f35c93ef7f10d + unenv: ^1.10.0 + checksum: d2e91d44c7133c31c62e39288961be28fb9f2c75f91d83a4a0416e29ff408b3207b79e46ba25a2652e13aea78a3e6f10d12c53d746feb00e91b864e1f4b21302 languageName: node linkType: hard @@ -8509,13 +8992,6 @@ __metadata: languageName: node linkType: hard -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -8604,6 +9080,15 @@ __metadata: languageName: node linkType: hard +"hosted-git-info@npm:^7.0.0": + version: 7.0.2 + resolution: "hosted-git-info@npm:7.0.2" + dependencies: + lru-cache: ^10.0.1 + checksum: b19dbd92d3c0b4b0f1513cf79b0fc189f54d6af2129eeb201de2e9baaa711f1936929c848b866d9c8667a0f956f34bf4f07418c12be1ee9ca74fd9246335ca1f + languageName: node + linkType: hard + "http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" @@ -8640,12 +9125,12 @@ __metadata: linkType: hard "https-proxy-agent@npm:^7.0.0, https-proxy-agent@npm:^7.0.1": - version: 7.0.4 - resolution: "https-proxy-agent@npm:7.0.4" + version: 7.0.5 + resolution: "https-proxy-agent@npm:7.0.5" dependencies: agent-base: ^7.0.2 debug: 4 - checksum: bc4f7c38da32a5fc622450b6cb49a24ff596f9bd48dcedb52d2da3fa1c1a80e100fb506bd59b326c012f21c863c69b275c23de1a01d0b84db396822fdf25e52b + checksum: 2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c languageName: node linkType: hard @@ -8663,6 +9148,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^8.0.0": + version: 8.0.0 + resolution: "human-signals@npm:8.0.0" + checksum: e4dac4f7d3eb791ed04129fc6a85bd454a9102d3e3b76c911d0db7057ebd60b2956b435b5b5712aec18960488ede3c21ef7c56e42cdd70760c0d84d3c05cd92e + languageName: node + linkType: hard + "iconv-lite@npm:^0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -8696,9 +9188,9 @@ __metadata: linkType: hard "ignore@npm:^5.2.0, ignore@npm:^5.3.1": - version: 5.3.1 - resolution: "ignore@npm:5.3.1" - checksum: 703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 languageName: node linkType: hard @@ -8740,6 +9232,13 @@ __metadata: languageName: node linkType: hard +"index-to-position@npm:^0.1.2": + version: 0.1.2 + resolution: "index-to-position@npm:0.1.2" + checksum: 7c91bde8bafc22684b74a7a24915bee4691cba48352ddb4ebe3b20a3a87bc0fa7a05f586137245ca8f92222a11f341f7631ff7f38cd78a523505d2d02dbfa257 + languageName: node + linkType: hard + "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -8817,7 +9316,7 @@ __metadata: languageName: node linkType: hard -"iron-webcrypto@npm:^1.1.1": +"iron-webcrypto@npm:^1.2.1": version: 1.2.1 resolution: "iron-webcrypto@npm:1.2.1" checksum: 5cf27c6e2bd3ef3b4970e486235fd82491ab8229e2ed0ac23307c28d6c80d721772a86ed4e9fe2a5cabadd710c2f024b706843b40561fb83f15afee58f809f66 @@ -8896,11 +9395,11 @@ __metadata: linkType: hard "is-core-module@npm:^2.13.0": - version: 2.14.0 - resolution: "is-core-module@npm:2.14.0" + version: 2.15.1 + resolution: "is-core-module@npm:2.15.1" dependencies: hasown: ^2.0.2 - checksum: ae8dbc82bd20426558bc8d20ce290ce301c1cfd6ae4446266d10cacff4c63c67ab16440ade1d72ced9ec41c569fbacbcee01e293782ce568527c4cdf35936e4c + checksum: 53432f10c69c40bfd2fa8914133a68709ff9498c86c3bf5fca3cdf3145a56fd2168cbf4a43b29843a6202a120a5f9c5ffba0a4322e1e3441739bc0b641682612 languageName: node linkType: hard @@ -9000,6 +9499,13 @@ __metadata: languageName: node linkType: hard +"is-interactive@npm:^2.0.0": + version: 2.0.0 + resolution: "is-interactive@npm:2.0.0" + checksum: 801c8f6064f85199dc6bf99b5dd98db3282e930c3bc197b32f2c5b89313bb578a07d1b8a01365c4348c2927229234f3681eb861b9c2c92bee72ff397390fa600 + languageName: node + linkType: hard + "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -9053,6 +9559,13 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:^4.0.0, is-plain-obj@npm:^4.1.0": + version: 4.1.0 + resolution: "is-plain-obj@npm:4.1.0" + checksum: 32130d651d71d9564dc88ba7e6fda0e91a1010a3694648e9f4f47bb6080438140696d3e3e15c741411d712e47ac9edc1a8a9de1fe76f3487b0d90be06ac9975e + languageName: node + linkType: hard + "is-regex@npm:^1.1.4": version: 1.1.4 resolution: "is-regex@npm:1.1.4" @@ -9102,6 +9615,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^4.0.1": + version: 4.0.1 + resolution: "is-stream@npm:4.0.1" + checksum: 2706c7f19b851327ba374687bc4a3940805e14ca496dc672b9629e744d143b1ad9c6f1b162dece81c7bfbc0f83b32b61ccc19ad2e05aad2dd7af347408f60c7f + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -9152,6 +9672,20 @@ __metadata: languageName: node linkType: hard +"is-unicode-supported@npm:^1.3.0": + version: 1.3.0 + resolution: "is-unicode-supported@npm:1.3.0" + checksum: b8674ea95d869f6faabddc6a484767207058b91aea0250803cbf1221345cb0c56f466d4ecea375dc77f6633d248d33c47bd296fb8f4cdba0b4edba8917e83d8a + languageName: node + linkType: hard + +"is-unicode-supported@npm:^2.0.0": + version: 2.1.0 + resolution: "is-unicode-supported@npm:2.1.0" + checksum: a0f53e9a7c1fdbcf2d2ef6e40d4736fdffff1c9f8944c75e15425118ff3610172c87bf7bc6c34d3903b04be59790bb2212ddbe21ee65b5a97030fc50370545a5 + languageName: node + linkType: hard + "is-upper-case@npm:^2.0.2": version: 2.0.2 resolution: "is-upper-case@npm:2.0.2" @@ -9233,7 +9767,7 @@ __metadata: languageName: node linkType: hard -"isomorphic-unfetch@npm:3.1.0, isomorphic-unfetch@npm:^3.1.0": +"isomorphic-unfetch@npm:^3.1.0": version: 3.1.0 resolution: "isomorphic-unfetch@npm:3.1.0" dependencies: @@ -9273,15 +9807,15 @@ __metadata: linkType: hard "jackspeak@npm:^3.1.2": - version: 3.4.0 - resolution: "jackspeak@npm:3.4.0" + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" dependencies: "@isaacs/cliui": ^8.0.2 "@pkgjs/parseargs": ^0.11.0 dependenciesMeta: "@pkgjs/parseargs": optional: true - checksum: 7e42d1ea411b4d57d43ea8a6afbca9224382804359cb72626d0fc45bb8db1de5ad0248283c3db45fe73e77210750d4fcc7c2b4fe5d24fda94aaa24d658295c5f + checksum: 6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 languageName: node linkType: hard @@ -9305,7 +9839,7 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.17.1, jiti@npm:^1.21.0": +"jiti@npm:^1.17.1": version: 1.21.6 resolution: "jiti@npm:1.21.6" bin: @@ -9314,7 +9848,7 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^2.0.0": +"jiti@npm:^2.0.0, jiti@npm:^2.1.2": version: 2.4.0 resolution: "jiti@npm:2.4.0" bin: @@ -9324,9 +9858,31 @@ __metadata: linkType: hard "jose@npm:^5.0.0": - version: 5.6.0 - resolution: "jose@npm:5.6.0" - checksum: fe84582622004fcbe7f68addd33a44b2ee8dbd674a204be703f1cecbe4b42ecd17ddfc5d72a5682a85f7da13aa5c2e9720e614479110eb50bbf7bf40e1eeb7db + version: 5.9.6 + resolution: "jose@npm:5.9.6" + checksum: d6bcd8c7d655b5cda8e182952a76f0c093347f5476d74795405bb91563f7ab676f61540310dd4b1531c60d685335ceb600571a409551d2cbd2ab3e9f9fbf1e4d + languageName: node + linkType: hard + +"jotai@npm:^2.10.2": + version: 2.10.3 + resolution: "jotai@npm:2.10.3" + peerDependencies: + "@types/react": ">=17.0.0" + react: ">=17.0.0" + peerDependenciesMeta: + "@types/react": + optional: true + react: + optional: true + checksum: 64f6536aaa91f77dacd8d9714fb846f254bfed6e5354b3005375433d72844f3ae1d6d893ee4dd423d5bddd109d393dd338e562da914605b31190989a3d47db35 + languageName: node + linkType: hard + +"joycon@npm:^3.1.1": + version: 3.1.1 + resolution: "joycon@npm:3.1.1" + checksum: 131fb1e98c9065d067fd49b6e685487ac4ad4d254191d7aa2c9e3b90f4e9ca70430c43cad001602bdbdabcf58717d3b5c5b7461c1bd8e39478c8de706b3fe6ae languageName: node linkType: hard @@ -9369,15 +9925,6 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" - bin: - jsesc: bin/jsesc - checksum: dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 - languageName: node - linkType: hard - "jsesc@npm:^3.0.2": version: 3.0.2 resolution: "jsesc@npm:3.0.2" @@ -9518,6 +10065,13 @@ __metadata: languageName: node linkType: hard +"lilconfig@npm:^3.1.1": + version: 3.1.2 + resolution: "lilconfig@npm:3.1.2" + checksum: f059630b1a9bddaeba83059db00c672b64dc14074e9f232adce32b38ca1b5686ab737eb665c5ba3c32f147f0002b4bee7311ad0386a9b98547b5623e87071fbe + languageName: node + linkType: hard + "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -9525,32 +10079,32 @@ __metadata: languageName: node linkType: hard -"listhen@npm:^1.7.2": - version: 1.7.2 - resolution: "listhen@npm:1.7.2" +"listhen@npm:^1.9.0": + version: 1.9.0 + resolution: "listhen@npm:1.9.0" dependencies: "@parcel/watcher": ^2.4.1 "@parcel/watcher-wasm": ^2.4.1 citty: ^0.1.6 clipboardy: ^4.0.0 consola: ^3.2.3 - crossws: ^0.2.0 + crossws: ">=0.2.0 <0.4.0" defu: ^6.1.4 get-port-please: ^3.1.2 - h3: ^1.10.2 + h3: ^1.12.0 http-shutdown: ^1.2.2 - jiti: ^1.21.0 - mlly: ^1.6.1 + jiti: ^2.1.2 + mlly: ^1.7.1 node-forge: ^1.3.1 pathe: ^1.1.2 std-env: ^3.7.0 - ufo: ^1.4.0 + ufo: ^1.5.4 untun: ^0.1.3 uqr: ^0.1.2 bin: listen: bin/listhen.mjs listhen: bin/listhen.mjs - checksum: cd4d0651686b88c61a5bd5d5afc03feb99e352eb7862260112010655cf7997fb3356e61317f09555e2b7412175ae05265fc9e97458aa014586bf9fa4ab22bd5a + checksum: b13e732eec48a49017121013853bb0f184c6f40dc9839a8ccad03b57a50a29186a57edafe5807e892cf65b49cb710026ba95d064bdcf294e135b95c6553fe36b languageName: node linkType: hard @@ -9596,6 +10150,44 @@ __metadata: languageName: node linkType: hard +"lit-element@npm:^4.1.0": + version: 4.1.1 + resolution: "lit-element@npm:4.1.1" + dependencies: + "@lit-labs/ssr-dom-shim": ^1.2.0 + "@lit/reactive-element": ^2.0.4 + lit-html: ^3.2.0 + checksum: b3c6c77d60a8239134d7c7e7c002be48414074f5b42f9ad026216749101a4f948266a4db9110a536fb23914044d584dbe4185c87064a4fa98baa4045ba2bbb46 + languageName: node + linkType: hard + +"lit-html@npm:^3.2.0": + version: 3.2.1 + resolution: "lit-html@npm:3.2.1" + dependencies: + "@types/trusted-types": ^2.0.2 + checksum: 31c02df2148bf9a73545570cbe57aae01c4de1d9b44060b6ff13641837d38e39e6b1abcf92e13882cc84f5fee37605ed79602b91ad479728549014462808118e + languageName: node + linkType: hard + +"lit@npm:^3.1.2, lit@npm:^3.2.0, lit@npm:^3.2.1": + version: 3.2.1 + resolution: "lit@npm:3.2.1" + dependencies: + "@lit/reactive-element": ^2.0.4 + lit-element: ^4.1.0 + lit-html: ^3.2.0 + checksum: 064a31459fe54ad052c0685d058dd5aef089ddc97a247888ef91a0356dfef60c8cc531e48077bbd2cb4e9f48cb86f0ff0951bb535f1d9f144d2351f253291f66 + languageName: node + linkType: hard + +"load-tsconfig@npm:^0.2.3": + version: 0.2.5 + resolution: "load-tsconfig@npm:0.2.5" + checksum: bf2823dd26389d3497b6567f07435c5a7a58d9df82e879b0b3892f87d8db26900f84c85bc329ef41c0540c0d6a448d1c23ddc64a80f3ff6838b940f3915a3fcb + languageName: node + linkType: hard + "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -9666,6 +10258,16 @@ __metadata: languageName: node linkType: hard +"log-symbols@npm:^6.0.0": + version: 6.0.0 + resolution: "log-symbols@npm:6.0.0" + dependencies: + chalk: ^5.3.0 + is-unicode-supported: ^1.3.0 + checksum: 36636cacedba8f067d2deb4aad44e91a89d9efb3ead27e1846e7b82c9a10ea2e3a7bd6ce28a7ca616bebc60954ff25c67b0f92d20a6a746bb3cc52c3701891f6 + languageName: node + linkType: hard + "log-update@npm:^4.0.0": version: 4.0.0 resolution: "log-update@npm:4.0.0" @@ -9707,10 +10309,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.2.2 - resolution: "lru-cache@npm:10.2.2" - checksum: 402d31094335851220d0b00985084288136136992979d0e015f0f1697e15d1c86052d7d53ae86b614e5b058425606efffc6969a31a091085d7a2b80a8a1e26d6 +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^10.4.3": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb languageName: node linkType: hard @@ -9783,7 +10385,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -9832,6 +10434,13 @@ __metadata: languageName: node linkType: hard +"mimic-function@npm:^5.0.0": + version: 5.0.1 + resolution: "mimic-function@npm:5.0.1" + checksum: f3d9464dd1816ecf6bdf2aec6ba32c0728022039d992f178237d8e289b48764fee4131319e72eedd4f7f094e22ded0af836c3187a7edc4595d28dd74368fd81d + languageName: node + linkType: hard + "minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": version: 1.0.1 resolution: "minimalistic-assert@npm:1.0.1" @@ -9873,7 +10482,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.5, minimist@npm:^1.2.8": +"minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -9973,15 +10582,15 @@ __metadata: languageName: node linkType: hard -"mlly@npm:^1.6.1, mlly@npm:^1.7.0": - version: 1.7.1 - resolution: "mlly@npm:1.7.1" +"mlly@npm:^1.7.1, mlly@npm:^1.7.2": + version: 1.7.3 + resolution: "mlly@npm:1.7.3" dependencies: - acorn: ^8.11.3 + acorn: ^8.14.0 pathe: ^1.1.2 - pkg-types: ^1.1.1 - ufo: ^1.5.3 - checksum: d836a7b0adff4d118af41fb93ad4d9e57f80e694a681185280ba220a4607603c19e86c80f9a6c57512b04280567f2599e3386081705c5b5fd74c9ddfd571d0fa + pkg-types: ^1.2.1 + ufo: ^1.5.4 + checksum: b530887fe95a6e3458c1b24e9775dc61c167d402126f2f5f13a13845a3fb77c3db8d79cb32077c98679a392d8ecfdc4e5df3d6925bf650d807dc2dfe8cc35b53 languageName: node linkType: hard @@ -9992,21 +10601,7 @@ __metadata: languageName: node linkType: hard -"mri@npm:^1.2.0": - version: 1.2.0 - resolution: "mri@npm:1.2.0" - checksum: a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - -"ms@npm:^2.1.1": +"ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 @@ -10027,22 +10622,23 @@ __metadata: "@chainsafe/cypress-polkadot-wallet": ^2.3.0 "@emotion/react": ^11.13.5 "@emotion/styled": ^11.13.5 - "@eslint/js": ^9.15.0 + "@eslint/js": ^9.0.0 "@fontsource/jost": ^5.1.1 - "@graphql-codegen/cli": 5.0.3 - "@graphql-codegen/client-preset": 4.5.0 + "@graphql-codegen/cli": 5.0.2 + "@graphql-codegen/client-preset": 4.2.5 "@graphql-codegen/typescript-react-query": ^6.1.0 "@graphql-eslint/eslint-plugin": ^3.20.1 + "@mui/base": ^5.0.0-beta.58 "@mui/material": ^6.1.8 "@mui/styled-engine": ^6.1.8 - "@polkadot/api": ^14.3.1 - "@polkadot/api-augment": ^14.3.1 - "@polkadot/extension-dapp": ^0.56.2 - "@polkadot/extension-inject": ^0.56.2 + "@polkadot-api/descriptors": "portal:.papi/descriptors" + "@polkadot-api/tx-utils": ^0.0.6 + "@polkadot-labs/hdkd": ^0.0.8 + "@polkadot-labs/hdkd-helpers": ^0.0.8 "@polkadot/react-identicon": ^3.11.3 - "@polkadot/typegen": ^14.3.1 - "@polkadot/types": ^14.3.1 "@polkadot/util-crypto": ^13.2.3 + "@reactive-dot/core": ^0.26.2 + "@reactive-dot/react": ^0.26.2 "@tanstack/react-query": ^5.61.0 "@types/node": ^22.9.1 "@types/react-dom": ^18.3.1 @@ -10054,6 +10650,7 @@ __metadata: cypress: ^13.16.0 cypress-wait-until: ^3.0.2 dayjs: ^1.11.13 + dot-connect: ^0.13.2 eslint: ^8.57.1 eslint-config-prettier: ^9.1.0 eslint-plugin-cypress: ^4.1.0 @@ -10063,12 +10660,12 @@ __metadata: graphql: ^16.9.0 graphql-request: ^7.1.2 graphql-ws: ^5.16.0 + polkadot-api: ^1.7.7 react: 18.3.1 react-dom: 18.3.1 react-icons: ^5.3.0 react-router-dom: ^6.28.0 reactflow: ^11.11.4 - rxjs: ^7.8.1 ts-node: ^10.9.2 typescript: 5.7.2 vite: ^5.4.11 @@ -10083,6 +10680,17 @@ __metadata: languageName: node linkType: hard +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: ^1.0.0 + object-assign: ^4.0.1 + thenify-all: ^1.0.0 + checksum: 103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 + languageName: node + linkType: hard + "nanoid@npm:^3.3.7": version: 3.3.7 resolution: "nanoid@npm:3.3.7" @@ -10093,9 +10701,9 @@ __metadata: linkType: hard "napi-wasm@npm:^1.1.0": - version: 1.1.0 - resolution: "napi-wasm@npm:1.1.0" - checksum: 074df6b5b72698f07b39ca3c448a3fcbaf8e6e78521f0cb3aefd8c2f059d69eae0e3bfe367b4aa3df1976c25e351e4e52a359f22fb2c379eb6781bfa042f582b + version: 1.1.3 + resolution: "napi-wasm@npm:1.1.3" + checksum: 7c365ab9dc59e6f20d7b7886279ecc03ffc7c3d502ed66d32652e3681c3a56c372f00f29b110aefd9b074a6bab6a997e9b602968c18622e2586818f417e41a5d languageName: node linkType: hard @@ -10107,16 +10715,9 @@ __metadata: linkType: hard "negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 - languageName: node - linkType: hard - -"neo-async@npm:^2.6.2": - version: 2.6.2 - resolution: "neo-async@npm:2.6.2" - checksum: c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea languageName: node linkType: hard @@ -10142,11 +10743,11 @@ __metadata: linkType: hard "node-addon-api@npm:^7.0.0": - version: 7.1.0 - resolution: "node-addon-api@npm:7.1.0" + version: 7.1.1 + resolution: "node-addon-api@npm:7.1.1" dependencies: node-gyp: latest - checksum: 2e096ab079e3c46d33b0e252386e9c239c352f7cc6d75363d9a3c00bdff34c1a5da170da861917512843f213c32d024ced9dc9552b968029786480d18727ec66 + checksum: fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9 languageName: node linkType: hard @@ -10157,7 +10758,7 @@ __metadata: languageName: node linkType: hard -"node-fetch-native@npm:^1.6.1, node-fetch-native@npm:^1.6.2, node-fetch-native@npm:^1.6.3": +"node-fetch-native@npm:^1.6.4": version: 1.6.4 resolution: "node-fetch-native@npm:1.6.4" checksum: 78334dc6def5d1d95cfe87b33ac76c4833592c5eb84779ad2b0c23c689f9dd5d1cfc827035ada72d6b8b218f717798968c5a99aeff0a1a8bf06657e80592f9c3 @@ -10197,8 +10798,8 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 10.1.0 - resolution: "node-gyp@npm:10.1.0" + version: 10.2.0 + resolution: "node-gyp@npm:10.2.0" dependencies: env-paths: ^2.2.0 exponential-backoff: ^3.1.1 @@ -10206,13 +10807,13 @@ __metadata: graceful-fs: ^4.2.6 make-fetch-happen: ^13.0.0 nopt: ^7.0.0 - proc-log: ^3.0.0 + proc-log: ^4.1.0 semver: ^7.3.5 - tar: ^6.1.2 + tar: ^6.2.1 which: ^4.0.0 bin: node-gyp: bin/node-gyp.js - checksum: 9cc821111ca244a01fb7f054db7523ab0a0cd837f665267eb962eb87695d71fb1e681f9e21464cc2fd7c05530dc4c81b810bca1a88f7d7186909b74477491a3c + checksum: 00630d67dbd09a45aee0a5d55c05e3916ca9e6d427ee4f7bc392d2d3dc5fad7449b21fc098dd38260a53d9dcc9c879b36704a1994235d4707e7271af7e9a835b languageName: node linkType: hard @@ -10223,13 +10824,6 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.14": - version: 2.0.14 - resolution: "node-releases@npm:2.0.14" - checksum: 199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 - languageName: node - linkType: hard - "node-releases@npm:^2.0.18": version: 2.0.18 resolution: "node-releases@npm:2.0.18" @@ -10248,6 +10842,17 @@ __metadata: languageName: node linkType: hard +"normalize-package-data@npm:^6.0.0": + version: 6.0.2 + resolution: "normalize-package-data@npm:6.0.2" + dependencies: + hosted-git-info: ^7.0.0 + semver: ^7.3.5 + validate-npm-package-license: ^3.0.4 + checksum: 7e32174e7f5575ede6d3d449593247183880122b4967d4ae6edb28cea5769ca025defda54fc91ec0e3c972fdb5ab11f9284606ba278826171b264cb16a9311ef + languageName: node + linkType: hard + "normalize-path@npm:^2.1.1": version: 2.1.1 resolution: "normalize-path@npm:2.1.1" @@ -10282,6 +10887,16 @@ __metadata: languageName: node linkType: hard +"npm-run-path@npm:^6.0.0": + version: 6.0.0 + resolution: "npm-run-path@npm:6.0.0" + dependencies: + path-key: ^4.0.0 + unicorn-magic: ^0.3.0 + checksum: b223c8a0dcd608abf95363ea5c3c0ccc3cd877daf0102eaf1b0f2390d6858d8337fbb7c443af2403b067a7d2c116d10691ecd22ab3c5273c44da1ff8d07753bd + languageName: node + linkType: hard + "nullthrows@npm:^1.1.1": version: 1.1.1 resolution: "nullthrows@npm:1.1.1" @@ -10289,21 +10904,14 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": +"object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 languageName: node linkType: hard -"object-inspect@npm:^1.13.1": - version: 1.13.2 - resolution: "object-inspect@npm:1.13.2" - checksum: b97835b4c91ec37b5fd71add84f21c3f1047d1d155d00c0fcd6699516c256d4fcc6ff17a1aced873197fe447f91a3964178fd2a67a1ee2120cdaf60e81a050b4 - languageName: node - linkType: hard - -"object-inspect@npm:^1.13.3": +"object-inspect@npm:^1.13.1, object-inspect@npm:^1.13.3": version: 1.13.3 resolution: "object-inspect@npm:1.13.3" checksum: cc3f15213406be89ffdc54b525e115156086796a515410a8d390215915db9f23c8eab485a06f1297402f440a33715fe8f71a528c1dcbad6e1a3bcaf5a46921d4 @@ -10363,21 +10971,21 @@ __metadata: languageName: node linkType: hard -"ofetch@npm:^1.3.3": - version: 1.3.4 - resolution: "ofetch@npm:1.3.4" +"ofetch@npm:^1.4.1": + version: 1.4.1 + resolution: "ofetch@npm:1.4.1" dependencies: destr: ^2.0.3 - node-fetch-native: ^1.6.3 - ufo: ^1.5.3 - checksum: 39855005c3f8aa11c11d3a3b0c4366b67d316da58633f4cf5d4a5af0a61495fd68699f355e70deda70355ead25f27b41c3bde2fdd1d24ce3f85ac79608dd8677 + node-fetch-native: ^1.6.4 + ufo: ^1.5.4 + checksum: fd712e84058ad5058a5880fe805e9bb1c2084fb7f9c54afa99a2c7e84065589b4312fa6e2dcca4432865e44ad1ec13fcd055c1bf7977ced838577a45689a04fa languageName: node linkType: hard -"ohash@npm:^1.1.3": - version: 1.1.3 - resolution: "ohash@npm:1.1.3" - checksum: 928f5bdbd8cd73f90cf544c0533dbda8e0a42d9b8c7454ab89e64e4d11bc85f85242830b4e107426ce13dc4dd3013286f8f5e0c84abd8942a014b907d9692540 +"ohash@npm:^1.1.4": + version: 1.1.4 + resolution: "ohash@npm:1.1.4" + checksum: 73c3bcab2891ee2155ed62bb4c2906f622bf2204a3c9f4616ada8a6a76276bb6b4b4180eaf273b7c7d6232793e4d79d486aab436ebfc0d06d92a997f07122864 languageName: node linkType: hard @@ -10415,6 +11023,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^7.0.0": + version: 7.0.0 + resolution: "onetime@npm:7.0.0" + dependencies: + mimic-function: ^5.0.0 + checksum: 5cb9179d74b63f52a196a2e7037ba2b9a893245a5532d3f44360012005c9cadb60851d56716ebff18a6f47129dab7168022445df47c2aff3b276d92585ed1221 + languageName: node + linkType: hard + "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -10446,6 +11063,23 @@ __metadata: languageName: node linkType: hard +"ora@npm:^8.1.1": + version: 8.1.1 + resolution: "ora@npm:8.1.1" + dependencies: + chalk: ^5.3.0 + cli-cursor: ^5.0.0 + cli-spinners: ^2.9.2 + is-interactive: ^2.0.0 + is-unicode-supported: ^2.0.0 + log-symbols: ^6.0.0 + stdin-discarder: ^0.2.2 + string-width: ^7.2.0 + strip-ansi: ^7.1.0 + checksum: 996a81a9e997481339de3a7996c56131ea292c0a0e9e42d1cd454e2390f1ce7015ec925dcdd29e3d74dc5d037a4aa1877e575b491555507bcd9f219df760a63f + languageName: node + linkType: hard + "os-tmpdir@npm:~1.0.2": version: 1.0.2 resolution: "os-tmpdir@npm:1.0.2" @@ -10513,9 +11147,9 @@ __metadata: linkType: hard "package-json-from-dist@npm:^1.0.0": - version: 1.0.0 - resolution: "package-json-from-dist@npm:1.0.0" - checksum: e3ffaf6ac1040ab6082a658230c041ad14e72fabe99076a2081bb1d5d41210f11872403fc09082daf4387fc0baa6577f96c9c0e94c90c394fd57794b66aa4033 + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b languageName: node linkType: hard @@ -10561,6 +11195,24 @@ __metadata: languageName: node linkType: hard +"parse-json@npm:^8.0.0": + version: 8.1.0 + resolution: "parse-json@npm:8.1.0" + dependencies: + "@babel/code-frame": ^7.22.13 + index-to-position: ^0.1.2 + type-fest: ^4.7.1 + checksum: 39a49acafc1c41a763df2599a826eb77873a44b098a5f2ba548843229b334a16ff9d613d0381328e58031b0afaabc18ed2a01337a6522911ac7a81828df58bcb + languageName: node + linkType: hard + +"parse-ms@npm:^4.0.0": + version: 4.0.0 + resolution: "parse-ms@npm:4.0.0" + checksum: a7900f4f1ebac24cbf5e9708c16fb2fd482517fad353aecd7aefb8c2ba2f85ce017913ccb8925d231770404780df46244ea6fec598b3bde6490882358b4d2d16 + languageName: node + linkType: hard + "pascal-case@npm:^3.1.2": version: 3.1.2 resolution: "pascal-case@npm:3.1.2" @@ -10670,17 +11322,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": - version: 1.0.1 - resolution: "picocolors@npm:1.0.1" - checksum: c63cdad2bf812ef0d66c8db29583802355d4ca67b9285d846f390cc15c2f6ccb94e8cb7eb6a6e97fc5990a6d3ad4ae42d86c84d3146e667c739a4234ed50d400 - languageName: node - linkType: hard - -"picocolors@npm:^1.1.0": - version: 1.1.0 - resolution: "picocolors@npm:1.1.0" - checksum: 86946f6032148801ef09c051c6fb13b5cf942eaf147e30ea79edb91dd32d700934edebe782a1078ff859fb2b816792e97ef4dab03d7f0b804f6b01a0df35e023 +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard @@ -10743,14 +11388,28 @@ __metadata: languageName: node linkType: hard -"pkg-types@npm:^1.1.1": - version: 1.1.1 - resolution: "pkg-types@npm:1.1.1" +"pirates@npm:^4.0.1": + version: 4.0.6 + resolution: "pirates@npm:4.0.6" + checksum: 00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 + languageName: node + linkType: hard + +"pkg-types@npm:^1.2.1": + version: 1.2.1 + resolution: "pkg-types@npm:1.2.1" dependencies: - confbox: ^0.1.7 - mlly: ^1.7.0 + confbox: ^0.1.8 + mlly: ^1.7.2 pathe: ^1.1.2 - checksum: c7d167935de7207479e5829086040d70bea289f31fc1331f17c83e996a4440115c9deba2aa96de839ea66e1676d083c9ca44b33886f87bffa6b49740b67b6fcb + checksum: 4aef765c039e3ec3ca55171bb8ad776cf060d894c45ddf92b9d680b3fdb1817c8d1c428f74ea6aae144493fa1d6a97df6b8caec6dc31e418f1ce1f728d38014e + languageName: node + linkType: hard + +"pngjs@npm:^5.0.0": + version: 5.0.0 + resolution: "pngjs@npm:5.0.0" + checksum: c074d8a94fb75e2defa8021e85356bf7849688af7d8ce9995b7394d57cd1a777b272cfb7c4bce08b8d10e71e708e7717c81fd553a413f21840c548ec9d4893c6 languageName: node linkType: hard @@ -10761,6 +11420,37 @@ __metadata: languageName: node linkType: hard +"polkadot-api@npm:^1.7.7": + version: 1.7.7 + resolution: "polkadot-api@npm:1.7.7" + dependencies: + "@polkadot-api/cli": 0.9.21 + "@polkadot-api/ink-contracts": 0.2.2 + "@polkadot-api/json-rpc-provider": 0.0.4 + "@polkadot-api/known-chains": 0.5.8 + "@polkadot-api/logs-provider": 0.0.6 + "@polkadot-api/metadata-builders": 0.9.2 + "@polkadot-api/metadata-compatibility": 0.1.12 + "@polkadot-api/observable-client": 0.6.3 + "@polkadot-api/pjs-signer": 0.6.1 + "@polkadot-api/polkadot-sdk-compat": 2.3.1 + "@polkadot-api/polkadot-signer": 0.1.6 + "@polkadot-api/signer": 0.1.11 + "@polkadot-api/sm-provider": 0.1.7 + "@polkadot-api/smoldot": 0.3.7 + "@polkadot-api/substrate-bindings": 0.9.4 + "@polkadot-api/substrate-client": 0.3.0 + "@polkadot-api/utils": 0.1.2 + "@polkadot-api/ws-provider": 0.3.6 + peerDependencies: + rxjs: ">=7.8.0" + bin: + papi: bin/cli.mjs + polkadot-api: bin/cli.mjs + checksum: c1241d233662b78d9422bb97579bd75f667d15ee1ecc46cb4ef49041b5881d52084c08c97fbb59fee6a3a259a74d61250e0bbe64bb9eb3a1f511bc9fab662b6b + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.0.0 resolution: "possible-typed-array-names@npm:1.0.0" @@ -10768,6 +11458,29 @@ __metadata: languageName: node linkType: hard +"postcss-load-config@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-load-config@npm:6.0.1" + dependencies: + lilconfig: ^3.1.1 + peerDependencies: + jiti: ">=1.21.0" + postcss: ">=8.0.9" + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + checksum: 74173a58816dac84e44853f7afbd283f4ef13ca0b6baeba27701214beec33f9e309b128f8102e2b173e8d45ecba45d279a9be94b46bf48d219626aa9b5730848 + languageName: node + linkType: hard + "postcss-value-parser@npm:^4.0.2": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" @@ -10787,13 +11500,13 @@ __metadata: linkType: hard "postcss@npm:^8.4.43": - version: 8.4.47 - resolution: "postcss@npm:8.4.47" + version: 8.4.49 + resolution: "postcss@npm:8.4.49" dependencies: nanoid: ^3.3.7 - picocolors: ^1.1.0 + picocolors: ^1.1.1 source-map-js: ^1.2.1 - checksum: 929f68b5081b7202709456532cee2a145c1843d391508c5a09de2517e8c4791638f71dd63b1898dba6712f8839d7a6da046c72a5e44c162e908f5911f57b5f44 + checksum: f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 languageName: node linkType: hard @@ -10829,14 +11542,16 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^3.0.0": - version: 3.0.0 - resolution: "proc-log@npm:3.0.0" - checksum: f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc +"pretty-ms@npm:^9.0.0": + version: 9.2.0 + resolution: "pretty-ms@npm:9.2.0" + dependencies: + parse-ms: ^4.0.0 + checksum: ab6d066f90e9f77020426986e1b018369f41575674544c539aabec2e63a20fec01166d8cf6571d0e165ad11cfe5a8134a2a48a36d42ab291c59c6deca5264cbb languageName: node linkType: hard -"proc-log@npm:^4.2.0": +"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": version: 4.2.0 resolution: "proc-log@npm:4.2.0" checksum: 17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 @@ -10902,12 +11617,12 @@ __metadata: linkType: hard "pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" + version: 3.0.2 + resolution: "pump@npm:3.0.2" dependencies: end-of-stream: ^1.1.0 once: ^1.3.1 - checksum: bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 + checksum: 5ad655cb2a7738b4bcf6406b24ad0970d680649d996b55ad20d1be8e0c02394034e4c45ff7cd105d87f1e9b96a0e3d06fd28e11fae8875da26e7f7a8e2c9726f languageName: node linkType: hard @@ -10926,11 +11641,11 @@ __metadata: linkType: hard "pvtsutils@npm:^1.3.2, pvtsutils@npm:^1.3.5": - version: 1.3.5 - resolution: "pvtsutils@npm:1.3.5" + version: 1.3.6 + resolution: "pvtsutils@npm:1.3.6" dependencies: - tslib: ^2.6.1 - checksum: d425aed316907e0b447a459bfb97c55d22270c3cfdba5a07ec90da0737b0e40f4f1771a444636f85bb6a453de90ff8c6b5f4f6ddba7597977166af49974b4534 + tslib: ^2.8.1 + checksum: b1b42646370505ccae536dcffa662303b2c553995211330c8e39dec9ab8c197585d7751c2c5b9ab2f186feda0219d9bb23c34ee1e565573be96450f79d89a13c languageName: node linkType: hard @@ -10941,6 +11656,19 @@ __metadata: languageName: node linkType: hard +"qrcode@npm:^1.5.4": + version: 1.5.4 + resolution: "qrcode@npm:1.5.4" + dependencies: + dijkstrajs: ^1.0.1 + pngjs: ^5.0.0 + yargs: ^15.3.1 + bin: + qrcode: bin/qrcode + checksum: ae1d57c9cff6099639a590b432c71b15e3bd3905ce4353e6d00c95dee6bb769a8f773f6a7575ecc1b8ed476bf79c5138a4a65cb380c682de3b926d7205d34d10 + languageName: node + linkType: hard + "qs@npm:6.13.0": version: 6.13.0 resolution: "qs@npm:6.13.0" @@ -11102,6 +11830,19 @@ __metadata: languageName: node linkType: hard +"read-pkg@npm:^9.0.1": + version: 9.0.1 + resolution: "read-pkg@npm:9.0.1" + dependencies: + "@types/normalize-package-data": ^2.4.3 + normalize-package-data: ^6.0.0 + parse-json: ^8.0.0 + type-fest: ^4.6.0 + unicorn-magic: ^0.1.0 + checksum: f3e27549dcdb18335597f4125a3d093a40ab0a18c16a6929a1575360ed5d8679b709b4a672730d9abf6aa8537a7f02bae0b4b38626f99409255acbd8f72f9964 + languageName: node + linkType: hard + "readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" @@ -11113,6 +11854,13 @@ __metadata: languageName: node linkType: hard +"readdirp@npm:^4.0.1": + version: 4.0.2 + resolution: "readdirp@npm:4.0.2" + checksum: a16ecd8ef3286dcd90648c3b103e3826db2b766cdb4a988752c43a83f683d01c7059158d623cbcd8bdfb39e65d302d285be2d208e7d9f34d022d912b929217dd + languageName: node + linkType: hard + "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -11129,7 +11877,7 @@ __metadata: languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4": +"reflect.getprototypeof@npm:^1.0.4, reflect.getprototypeof@npm:^1.0.6": version: 1.0.6 resolution: "reflect.getprototypeof@npm:1.0.6" dependencies: @@ -11151,19 +11899,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.2": - version: 1.5.2 - resolution: "regexp.prototype.flags@npm:1.5.2" - dependencies: - call-bind: ^1.0.6 - define-properties: ^1.2.1 - es-errors: ^1.3.0 - set-function-name: ^2.0.1 - checksum: 0f3fc4f580d9c349f8b560b012725eb9c002f36daa0041b3fbf6f4238cb05932191a4d7d5db3b5e2caa336d5150ad0402ed2be81f711f9308fe7e1a9bf9bd552 - languageName: node - linkType: hard - -"regexp.prototype.flags@npm:^1.5.3": +"regexp.prototype.flags@npm:^1.5.2, regexp.prototype.flags@npm:^1.5.3": version: 1.5.3 resolution: "regexp.prototype.flags@npm:1.5.3" dependencies: @@ -11230,7 +11966,7 @@ __metadata: languageName: node linkType: hard -"resolve-from@npm:5.0.0": +"resolve-from@npm:5.0.0, resolve-from@npm:^5.0.0": version: 5.0.0 resolution: "resolve-from@npm:5.0.0" checksum: b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 @@ -11306,6 +12042,16 @@ __metadata: languageName: node linkType: hard +"restore-cursor@npm:^5.0.0": + version: 5.1.0 + resolution: "restore-cursor@npm:5.1.0" + dependencies: + onetime: ^7.0.0 + signal-exit: ^4.1.0 + checksum: c2ba89131eea791d1b25205bdfdc86699767e2b88dee2a590b1a6caa51737deac8bad0260a5ded2f7c074b7db2f3a626bcf1fcf3cdf35974cbeea5e2e6764f60 + languageName: node + linkType: hard + "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -11338,27 +12084,29 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^4.20.0": - version: 4.22.4 - resolution: "rollup@npm:4.22.4" - dependencies: - "@rollup/rollup-android-arm-eabi": 4.22.4 - "@rollup/rollup-android-arm64": 4.22.4 - "@rollup/rollup-darwin-arm64": 4.22.4 - "@rollup/rollup-darwin-x64": 4.22.4 - "@rollup/rollup-linux-arm-gnueabihf": 4.22.4 - "@rollup/rollup-linux-arm-musleabihf": 4.22.4 - "@rollup/rollup-linux-arm64-gnu": 4.22.4 - "@rollup/rollup-linux-arm64-musl": 4.22.4 - "@rollup/rollup-linux-powerpc64le-gnu": 4.22.4 - "@rollup/rollup-linux-riscv64-gnu": 4.22.4 - "@rollup/rollup-linux-s390x-gnu": 4.22.4 - "@rollup/rollup-linux-x64-gnu": 4.22.4 - "@rollup/rollup-linux-x64-musl": 4.22.4 - "@rollup/rollup-win32-arm64-msvc": 4.22.4 - "@rollup/rollup-win32-ia32-msvc": 4.22.4 - "@rollup/rollup-win32-x64-msvc": 4.22.4 - "@types/estree": 1.0.5 +"rollup@npm:^4.20.0, rollup@npm:^4.24.0": + version: 4.27.3 + resolution: "rollup@npm:4.27.3" + dependencies: + "@rollup/rollup-android-arm-eabi": 4.27.3 + "@rollup/rollup-android-arm64": 4.27.3 + "@rollup/rollup-darwin-arm64": 4.27.3 + "@rollup/rollup-darwin-x64": 4.27.3 + "@rollup/rollup-freebsd-arm64": 4.27.3 + "@rollup/rollup-freebsd-x64": 4.27.3 + "@rollup/rollup-linux-arm-gnueabihf": 4.27.3 + "@rollup/rollup-linux-arm-musleabihf": 4.27.3 + "@rollup/rollup-linux-arm64-gnu": 4.27.3 + "@rollup/rollup-linux-arm64-musl": 4.27.3 + "@rollup/rollup-linux-powerpc64le-gnu": 4.27.3 + "@rollup/rollup-linux-riscv64-gnu": 4.27.3 + "@rollup/rollup-linux-s390x-gnu": 4.27.3 + "@rollup/rollup-linux-x64-gnu": 4.27.3 + "@rollup/rollup-linux-x64-musl": 4.27.3 + "@rollup/rollup-win32-arm64-msvc": 4.27.3 + "@rollup/rollup-win32-ia32-msvc": 4.27.3 + "@rollup/rollup-win32-x64-msvc": 4.27.3 + "@types/estree": 1.0.6 fsevents: ~2.3.2 dependenciesMeta: "@rollup/rollup-android-arm-eabi": @@ -11369,6 +12117,10 @@ __metadata: optional: true "@rollup/rollup-darwin-x64": optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true "@rollup/rollup-linux-arm-gnueabihf": optional: true "@rollup/rollup-linux-arm-musleabihf": @@ -11397,7 +12149,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 4c96b6e2e0c5dbe73b4ba899cea894a05115ab8c65ccff631fbbb944e2b3a9f2eb3b99c2dce3dd91b179647df1892ffc44ecee29381ccf155ba8000b22712a32 + checksum: 789885d3f852ed7ca45bed14194a2ac7a2cf16b6b62b54f691c79e27d5557d31a2d612d3680c26c527a1957e0bd6811806ddd765e0dae589404cf24544ff2838 languageName: node linkType: hard @@ -11457,9 +12209,9 @@ __metadata: linkType: hard "safe-stable-stringify@npm:^2.1.0": - version: 2.4.3 - resolution: "safe-stable-stringify@npm:2.4.3" - checksum: 81dede06b8f2ae794efd868b1e281e3c9000e57b39801c6c162267eb9efda17bd7a9eafa7379e1f1cacd528d4ced7c80d7460ad26f62ada7c9e01dec61b2e768 + version: 2.5.0 + resolution: "safe-stable-stringify@npm:2.5.0" + checksum: baea14971858cadd65df23894a40588ed791769db21bafb7fd7608397dbdce9c5aac60748abae9995e0fc37e15f2061980501e012cd48859740796bea2987f49 languageName: node linkType: hard @@ -11470,10 +12222,10 @@ __metadata: languageName: node linkType: hard -"scale-ts@npm:^1.6.0": - version: 1.6.0 - resolution: "scale-ts@npm:1.6.0" - checksum: ce4ea3559c6b6bdf2a62454aac83cc3151ae93d1a507ddb8e95e83ce1190085aed61c46901bd42d41d8f8ba58279d7e37057c68c2b674c2d39b8cf5d169e90dd +"scale-ts@npm:^1.6.0, scale-ts@npm:^1.6.1": + version: 1.6.1 + resolution: "scale-ts@npm:1.6.1" + checksum: bbcf476029095152189c5bd210922b43342e8bfb712bf56237de172d55b528e090419e80da67c627a8f706a228237346b82de527755d7f197bb4d822c6383dfd languageName: node linkType: hard @@ -11503,11 +12255,11 @@ __metadata: linkType: hard "semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.6.0": - version: 7.6.2 - resolution: "semver@npm:7.6.2" + version: 7.6.3 + resolution: "semver@npm:7.6.3" bin: semver: bin/semver.js - checksum: 97d3441e97ace8be4b1976433d1c32658f6afaff09f143e52c593bae7eef33de19e3e369c88bd985ce1042c6f441c80c6803078d1de2a9988080b66684cbb30c + checksum: 88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf languageName: node linkType: hard @@ -11670,6 +12422,15 @@ __metadata: languageName: node linkType: hard +"smoldot@npm:2.0.33": + version: 2.0.33 + resolution: "smoldot@npm:2.0.33" + dependencies: + ws: ^8.8.1 + checksum: dada517972924017077b4e8c6f76169ddcd371c270e714db42e034c0c974898a15f640759576b712f9d0aa3e2f1bb01c7e5d2e711e329f0f6837902ac51bb1fa + languageName: node + linkType: hard + "snake-case@npm:^3.0.4": version: 3.0.4 resolution: "snake-case@npm:3.0.4" @@ -11681,17 +12442,17 @@ __metadata: linkType: hard "socks-proxy-agent@npm:^8.0.3": - version: 8.0.3 - resolution: "socks-proxy-agent@npm:8.0.3" + version: 8.0.4 + resolution: "socks-proxy-agent@npm:8.0.4" dependencies: agent-base: ^7.1.1 debug: ^4.3.4 - socks: ^2.7.1 - checksum: 4950529affd8ccd6951575e21c1b7be8531b24d924aa4df3ee32df506af34b618c4e50d261f4cc603f1bfd8d426915b7d629966c8ce45b05fb5ad8c8b9a6459d + socks: ^2.8.3 + checksum: 345593bb21b95b0508e63e703c84da11549f0a2657d6b4e3ee3612c312cb3a907eac10e53b23ede3557c6601d63252103494caa306b66560f43af7b98f53957a languageName: node linkType: hard -"socks@npm:^2.7.1": +"socks@npm:^2.8.3": version: 2.8.3 resolution: "socks@npm:2.8.3" dependencies: @@ -11710,20 +12471,31 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:^1.2.0": - version: 1.2.0 - resolution: "source-map-js@npm:1.2.0" - checksum: 7e5f896ac10a3a50fe2898e5009c58ff0dc102dcb056ed27a354623a0ece8954d4b2649e1a1b2b52ef2e161d26f8859c7710350930751640e71e374fe2d321a4 +"sort-keys@npm:^5.0.0": + version: 5.1.0 + resolution: "sort-keys@npm:5.1.0" + dependencies: + is-plain-obj: ^4.0.0 + checksum: fdb7aeb02368ad91b2ea947b59f3c95d80f8c71bbcb5741ebd55852994f54a129af3b3663b280951566fe5897de056428810dbb58c61db831e588c0ac110f2b0 languageName: node linkType: hard -"source-map-js@npm:^1.2.1": +"source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf languageName: node linkType: hard +"source-map@npm:0.8.0-beta.0": + version: 0.8.0-beta.0 + resolution: "source-map@npm:0.8.0-beta.0" + dependencies: + whatwg-url: ^7.0.0 + checksum: fb4d9bde9a9fdb2c29b10e5eae6c71d10e09ef467e1afb75fdec2eb7e11fa5b343a2af553f74f18b695dbc0b81f9da2e9fa3d7a317d5985e9939499ec6087835 + languageName: node + linkType: hard + "source-map@npm:^0.5.7": version: 0.5.7 resolution: "source-map@npm:0.5.7" @@ -11731,10 +12503,37 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 +"spdx-correct@npm:^3.0.0": + version: 3.2.0 + resolution: "spdx-correct@npm:3.2.0" + dependencies: + spdx-expression-parse: ^3.0.0 + spdx-license-ids: ^3.0.0 + checksum: 49208f008618b9119208b0dadc9208a3a55053f4fd6a0ae8116861bd22696fc50f4142a35ebfdb389e05ccf2de8ad142573fefc9e26f670522d899f7b2fe7386 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.5.0 + resolution: "spdx-exceptions@npm:2.5.0" + checksum: 37217b7762ee0ea0d8b7d0c29fd48b7e4dfb94096b109d6255b589c561f57da93bf4e328c0290046115961b9209a8051ad9f525e48d433082fc79f496a4ea940 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: ^2.1.0 + spdx-license-ids: ^3.0.0 + checksum: 6f8a41c87759fa184a58713b86c6a8b028250f158159f1d03ed9d1b6ee4d9eefdc74181c8ddc581a341aa971c3e7b79e30b59c23b05d2436d5de1c30bdef7171 + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.20 + resolution: "spdx-license-ids@npm:3.0.20" + checksum: bdff7534fad6ef59be49becda1edc3fb7f5b3d6f296a715516ab9d972b8ad59af2c34b2003e01db8970d4c673d185ff696ba74c6b61d3bf327e2b3eac22c297c languageName: node linkType: hard @@ -11799,9 +12598,16 @@ __metadata: linkType: hard "std-env@npm:^3.7.0": - version: 3.7.0 - resolution: "std-env@npm:3.7.0" - checksum: 60edf2d130a4feb7002974af3d5a5f3343558d1ccf8d9b9934d225c638606884db4a20d2fe6440a09605bca282af6b042ae8070a10490c0800d69e82e478f41e + version: 3.8.0 + resolution: "std-env@npm:3.8.0" + checksum: f560a2902fd0fa3d648d7d0acecbd19d664006f7372c1fba197ed4c216b4c9e48db6e2769b5fe1616d42a9333c9f066c5011935035e85c59f45dc4f796272040 + languageName: node + linkType: hard + +"stdin-discarder@npm:^0.2.2": + version: 0.2.2 + resolution: "stdin-discarder@npm:0.2.2" + checksum: c78375e82e956d7a64be6e63c809c7f058f5303efcaf62ea48350af072bacdb99c06cba39209b45a071c1acbd49116af30df1df9abb448df78a6005b72f10537 languageName: node linkType: hard @@ -11862,6 +12668,17 @@ __metadata: languageName: node linkType: hard +"string-width@npm:^7.2.0": + version: 7.2.0 + resolution: "string-width@npm:7.2.0" + dependencies: + emoji-regex: ^10.3.0 + get-east-asian-width: ^1.0.0 + strip-ansi: ^7.1.0 + checksum: eb0430dd43f3199c7a46dcbf7a0b34539c76fe3aa62763d0b0655acdcbdf360b3f66f3d58ca25ba0205f42ea3491fa00f09426d3b7d3040e506878fc7664c9b9 + languageName: node + linkType: hard + "string.prototype.matchall@npm:^4.0.11": version: 4.0.11 resolution: "string.prototype.matchall@npm:4.0.11" @@ -11944,7 +12761,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^7.0.1": +"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" dependencies: @@ -11967,6 +12784,13 @@ __metadata: languageName: node linkType: hard +"strip-final-newline@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-final-newline@npm:4.0.0" + checksum: b0cf2b62d597a1b0e3ebc42b88767f0a0d45601f89fd379a928a1812c8779440c81abba708082c946445af1d6b62d5f16e2a7cf4f30d9d6587b89425fae801ff + languageName: node + linkType: hard + "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -11975,8 +12799,8 @@ __metadata: linkType: hard "styled-components@npm:^6.1.1": - version: 6.1.11 - resolution: "styled-components@npm:6.1.11" + version: 6.1.13 + resolution: "styled-components@npm:6.1.13" dependencies: "@emotion/is-prop-valid": 1.2.2 "@emotion/unitless": 0.8.1 @@ -11990,7 +12814,7 @@ __metadata: peerDependencies: react: ">= 16.8.0" react-dom: ">= 16.8.0" - checksum: 1d149a51d24f779bba700c8c23ec0538b2d2b57745ccd49d1cfdc2dfce8bcea21e8ff81fed1143d1b35d127cc591717a398da72ea6671abbf705432b13e59e56 + checksum: dd0379179c6ce9655c97285e9f6475b533d4cc4cad72e8f16824c5454803a9d12126877d8b2837cd5b54520250c55cde97a183e813eed720d2575362d9646663 languageName: node linkType: hard @@ -12008,12 +12832,21 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" +"sucrase@npm:^3.35.0": + version: 3.35.0 + resolution: "sucrase@npm:3.35.0" dependencies: - has-flag: ^3.0.0 - checksum: 6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + "@jridgewell/gen-mapping": ^0.3.2 + commander: ^4.0.0 + glob: ^10.3.10 + lines-and-columns: ^1.1.6 + mz: ^2.7.0 + pirates: ^4.0.1 + ts-interface-checker: ^0.1.9 + bin: + sucrase: bin/sucrase + sucrase-node: bin/sucrase-node + checksum: ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef languageName: node linkType: hard @@ -12075,7 +12908,7 @@ __metadata: languageName: node linkType: hard -"tar@npm:^6.1.11, tar@npm:^6.1.2": +"tar@npm:^6.1.11, tar@npm:^6.2.1": version: 6.2.1 resolution: "tar@npm:6.2.1" dependencies: @@ -12096,6 +12929,24 @@ __metadata: languageName: node linkType: hard +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: ">= 3.1.0 < 4" + checksum: 9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: ^1.0.0 + checksum: f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 + languageName: node + linkType: hard + "thread-stream@npm:^0.15.1": version: 0.15.2 resolution: "thread-stream@npm:0.15.2" @@ -12119,6 +12970,23 @@ __metadata: languageName: node linkType: hard +"tinyexec@npm:^0.3.1": + version: 0.3.1 + resolution: "tinyexec@npm:0.3.1" + checksum: 11e7a7c5d8b3bddf8b5cbe82a9290d70a6fad84d528421d5d18297f165723cb53d2e737d8f58dcce5ca56f2e4aa2d060f02510b1f8971784f97eb3e9aec28f09 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.9": + version: 0.2.10 + resolution: "tinyglobby@npm:0.2.10" + dependencies: + fdir: ^6.4.2 + picomatch: ^4.0.2 + checksum: ce946135d39b8c0e394e488ad59f4092e8c4ecd675ef1bcd4585c47de1b325e61ec6adfbfbe20c3c2bfa6fd674c5b06de2a2e65c433f752ae170aff11793e5ef + languageName: node + linkType: hard + "title-case@npm:^3.0.3": version: 3.0.3 resolution: "title-case@npm:3.0.3" @@ -12162,13 +13030,6 @@ __metadata: languageName: node linkType: hard -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 - languageName: node - linkType: hard - "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -12194,6 +13055,15 @@ __metadata: languageName: node linkType: hard +"tr46@npm:^1.0.1": + version: 1.0.1 + resolution: "tr46@npm:1.0.1" + dependencies: + punycode: ^2.1.0 + checksum: 41525c2ccce86e3ef30af6fa5e1464e6d8bb4286a58ea8db09228f598889581ef62347153f6636cd41553dc41685bdfad0a9d032ef58df9fbb0792b3447d0f04 + languageName: node + linkType: hard + "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -12211,18 +13081,25 @@ __metadata: linkType: hard "ts-api-utils@npm:^1.3.0": - version: 1.3.0 - resolution: "ts-api-utils@npm:1.3.0" + version: 1.4.0 + resolution: "ts-api-utils@npm:1.4.0" peerDependencies: typescript: ">=4.2.0" - checksum: f54a0ba9ed56ce66baea90a3fa087a484002e807f28a8ccb2d070c75e76bde64bd0f6dce98b3802834156306050871b67eec325cb4e918015a360a3f0868c77c + checksum: 1b2bfa50ea52771d564bb143bb69010d25cda03ed573095fbac9b86f717012426443af6647e00e3db70fca60360482a30c1be7cf73c3521c321f6bf5e3594ea0 + languageName: node + linkType: hard + +"ts-interface-checker@npm:^0.1.9": + version: 0.1.13 + resolution: "ts-interface-checker@npm:0.1.13" + checksum: 232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 languageName: node linkType: hard "ts-log@npm:^2.2.3": - version: 2.2.5 - resolution: "ts-log@npm:2.2.5" - checksum: bbc45faa97d47238b896e85e9e0fc12e3d2d72b56755fba305290489532319c83bae82e282b92a5469f432f2dfa365da7ee0469d6d528ce04cd9dd75d4e2a147 + version: 2.2.7 + resolution: "ts-log@npm:2.2.7" + checksum: 2c63a7ccdea6dad774f51ba031d9b8d7242833733a1122e20be7e2817556f8e5691bd589860940068073c3859f8cdd8b99e2f65934b95a3552e97a60066ea7f3 languageName: node linkType: hard @@ -12264,6 +13141,15 @@ __metadata: languageName: node linkType: hard +"tsc-prog@npm:^2.3.0": + version: 2.3.0 + resolution: "tsc-prog@npm:2.3.0" + peerDependencies: + typescript: ">=4" + checksum: ca0ee722557e7974a221d6b3fa28dcbcc5e98b7bce9402bf113eae7c835d59644d24b48ac65d15c7f8dbe8cab61c54c4b0b2d252212c72bc4d09ce1fe8fbc937 + languageName: node + linkType: hard + "tslib@npm:1.14.1": version: 1.14.1 resolution: "tslib@npm:1.14.1" @@ -12278,21 +13164,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.4.1, tslib@npm:^2.5.0, tslib@npm:^2.6.1, tslib@npm:^2.6.2, tslib@npm:~2.6.0": - version: 2.6.3 - resolution: "tslib@npm:2.6.3" - checksum: 2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a - languageName: node - linkType: hard - -"tslib@npm:^2.6.3, tslib@npm:^2.7.0": - version: 2.7.0 - resolution: "tslib@npm:2.7.0" - checksum: 469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 - languageName: node - linkType: hard - -"tslib@npm:^2.8.0, tslib@npm:^2.8.1": +"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.4.1, tslib@npm:^2.5.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3, tslib@npm:^2.7.0, tslib@npm:^2.8.0, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -12306,6 +13178,54 @@ __metadata: languageName: node linkType: hard +"tslib@npm:~2.6.0": + version: 2.6.3 + resolution: "tslib@npm:2.6.3" + checksum: 2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a + languageName: node + linkType: hard + +"tsup@npm:^8.3.5": + version: 8.3.5 + resolution: "tsup@npm:8.3.5" + dependencies: + bundle-require: ^5.0.0 + cac: ^6.7.14 + chokidar: ^4.0.1 + consola: ^3.2.3 + debug: ^4.3.7 + esbuild: ^0.24.0 + joycon: ^3.1.1 + picocolors: ^1.1.1 + postcss-load-config: ^6.0.1 + resolve-from: ^5.0.0 + rollup: ^4.24.0 + source-map: 0.8.0-beta.0 + sucrase: ^3.35.0 + tinyexec: ^0.3.1 + tinyglobby: ^0.2.9 + tree-kill: ^1.2.2 + peerDependencies: + "@microsoft/api-extractor": ^7.36.0 + "@swc/core": ^1 + postcss: ^8.4.12 + typescript: ">=4.5.0" + peerDependenciesMeta: + "@microsoft/api-extractor": + optional: true + "@swc/core": + optional: true + postcss: + optional: true + typescript: + optional: true + bin: + tsup: dist/cli-default.js + tsup-node: dist/cli-node.js + checksum: 7794953cbc784b7c8f14c4898d36a293b815b528d3098c2416aeaa2b4775dc477132cd12f75f6d32737dfd15ba10139c73f7039045352f2ba1ea7e5fe6fe3773 + languageName: node + linkType: hard + "tunnel-agent@npm:^0.6.0": version: 0.6.0 resolution: "tunnel-agent@npm:0.6.0" @@ -12345,6 +13265,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^4.23.0, type-fest@npm:^4.6.0, type-fest@npm:^4.7.1": + version: 4.27.0 + resolution: "type-fest@npm:4.27.0" + checksum: 30c8ebe1219725021f5b5006081bd828c4e915de0de65e9a87065f566a96ece706846b2c874ac04c0dcfdfe6b4ae47ad15d3285c9aab162cb79c026dfb2e7556 + languageName: node + linkType: hard + "typed-array-buffer@npm:^1.0.2": version: 1.0.2 resolution: "typed-array-buffer@npm:1.0.2" @@ -12370,8 +13297,8 @@ __metadata: linkType: hard "typed-array-byte-offset@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-byte-offset@npm:1.0.2" + version: 1.0.3 + resolution: "typed-array-byte-offset@npm:1.0.3" dependencies: available-typed-arrays: ^1.0.7 call-bind: ^1.0.7 @@ -12379,7 +13306,8 @@ __metadata: gopd: ^1.0.1 has-proto: ^1.0.3 is-typed-array: ^1.1.13 - checksum: d2628bc739732072e39269389a758025f75339de2ed40c4f91357023c5512d237f255b633e3106c461ced41907c1bf9a533c7e8578066b0163690ca8bc61b22f + reflect.getprototypeof: ^1.0.6 + checksum: 5da29585f96671c0521475226d3227000b3e01d1e99208b66bb05b75c7c8f4d0e9cc2e79920f3bfbc792a00102df1daa2608a2753e3f291b671d5a80245bde5b languageName: node linkType: hard @@ -12397,7 +13325,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.7.2": +"typescript@npm:5.7.2, typescript@npm:^5.6.3": version: 5.7.2 resolution: "typescript@npm:5.7.2" bin: @@ -12407,7 +13335,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@5.7.2#~builtin": +"typescript@patch:typescript@5.7.2#~builtin, typescript@patch:typescript@^5.6.3#~builtin": version: 5.7.2 resolution: "typescript@patch:typescript@npm%3A5.7.2#~builtin::version=5.7.2&hash=f3b441" bin: @@ -12418,25 +13346,18 @@ __metadata: linkType: hard "ua-parser-js@npm:^1.0.35": - version: 1.0.38 - resolution: "ua-parser-js@npm:1.0.38" - checksum: b1dd11b87e1784c79f7129e9aec679753fccf8a9b22f5202b79b19492635b5b46b779607a3cfae0270999a0d48da223bf94015642d2abee69d83c9069ab37bd0 - languageName: node - linkType: hard - -"ufo@npm:^1.4.0, ufo@npm:^1.5.3": - version: 1.5.3 - resolution: "ufo@npm:1.5.3" - checksum: 1df10702582aa74f4deac4486ecdfd660e74be057355f1afb6adfa14243476cf3d3acff734ccc3d0b74e9bfdefe91d578f3edbbb0a5b2430fe93cd672370e024 + version: 1.0.39 + resolution: "ua-parser-js@npm:1.0.39" + bin: + ua-parser-js: script/cli.js + checksum: c6452b0c683000f10975cb0a7e74cb1119ea95d4522ae85f396fa53b0b17884358a24ffdd86a66030c6b2981bdc502109a618c79fdaa217ee9032c9e46fcc78a languageName: node linkType: hard -"uglify-js@npm:^3.1.4": - version: 3.18.0 - resolution: "uglify-js@npm:3.18.0" - bin: - uglifyjs: bin/uglifyjs - checksum: 57f5f6213a2c4e8c551be9c875c085d565dc88af6b7caaab40a197aa639183cdce7c9dc2f858675eca72a5323f850ab7e88b9cc0a52dfbe3e0768aee6ab6e102 +"ufo@npm:^1.5.4": + version: 1.5.4 + resolution: "ufo@npm:1.5.4" + checksum: b5dc4dc435c49c9ef8890f1b280a19ee4d0954d1d6f9ab66ce62ce64dd04c7be476781531f952a07c678d51638d02ad4b98e16237be29149295b0f7c09cda765 languageName: node linkType: hard @@ -12484,13 +13405,6 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 - languageName: node - linkType: hard - "undici-types@npm:~6.19.8": version: 6.19.8 resolution: "undici-types@npm:6.19.8" @@ -12498,16 +13412,16 @@ __metadata: languageName: node linkType: hard -"unenv@npm:^1.9.0": - version: 1.9.0 - resolution: "unenv@npm:1.9.0" +"unenv@npm:^1.10.0": + version: 1.10.0 + resolution: "unenv@npm:1.10.0" dependencies: consola: ^3.2.3 - defu: ^6.1.3 + defu: ^6.1.4 mime: ^3.0.0 - node-fetch-native: ^1.6.1 - pathe: ^1.1.1 - checksum: d00012badc83731c07f08d5129c702c49c0212375eb3732b27aae89ace3c67162dbaea4496965676f18fc06b0ec445d91385e283f5fd3e4540dda8b0b5424f81 + node-fetch-native: ^1.6.4 + pathe: ^1.1.2 + checksum: 354180647e21204b6c303339e7364b920baadb2672b540a88af267bc827636593e0bf79f59753dcc6b7ab5d4c83e71d69a9171a3596befb8bf77e0bb3c7612b9 languageName: node linkType: hard @@ -12518,6 +13432,20 @@ __metadata: languageName: node linkType: hard +"unicorn-magic@npm:^0.1.0": + version: 0.1.0 + resolution: "unicorn-magic@npm:0.1.0" + checksum: e4ed0de05b0a05e735c7d8a2930881e5efcfc3ec897204d5d33e7e6247f4c31eac92e383a15d9a6bccb7319b4271ee4bea946e211bf14951fec6ff2cbbb66a92 + languageName: node + linkType: hard + +"unicorn-magic@npm:^0.3.0": + version: 0.3.0 + resolution: "unicorn-magic@npm:0.3.0" + checksum: 0a32a997d6c15f1c2a077a15b1c4ca6f268d574cf5b8975e778bb98e6f8db4ef4e86dfcae4e158cd4c7e38fb4dd383b93b13eefddc7f178dea13d3ac8a603271 + languageName: node + linkType: hard + "unique-filename@npm:^3.0.0": version: 3.0.0 resolution: "unique-filename@npm:3.0.0" @@ -12553,33 +13481,33 @@ __metadata: linkType: hard "unstorage@npm:^1.9.0": - version: 1.10.2 - resolution: "unstorage@npm:1.10.2" + version: 1.13.1 + resolution: "unstorage@npm:1.13.1" dependencies: anymatch: ^3.1.3 chokidar: ^3.6.0 + citty: ^0.1.6 destr: ^2.0.3 - h3: ^1.11.1 - listhen: ^1.7.2 - lru-cache: ^10.2.0 - mri: ^1.2.0 - node-fetch-native: ^1.6.2 - ofetch: ^1.3.3 - ufo: ^1.4.0 - peerDependencies: - "@azure/app-configuration": ^1.5.0 - "@azure/cosmos": ^4.0.0 + h3: ^1.13.0 + listhen: ^1.9.0 + lru-cache: ^10.4.3 + node-fetch-native: ^1.6.4 + ofetch: ^1.4.1 + ufo: ^1.5.4 + peerDependencies: + "@azure/app-configuration": ^1.7.0 + "@azure/cosmos": ^4.1.1 "@azure/data-tables": ^13.2.2 - "@azure/identity": ^4.0.1 - "@azure/keyvault-secrets": ^4.8.0 - "@azure/storage-blob": ^12.17.0 - "@capacitor/preferences": ^5.0.7 - "@netlify/blobs": ^6.5.0 || ^7.0.0 - "@planetscale/database": ^1.16.0 - "@upstash/redis": ^1.28.4 + "@azure/identity": ^4.5.0 + "@azure/keyvault-secrets": ^4.9.0 + "@azure/storage-blob": ^12.25.0 + "@capacitor/preferences": ^6.0.2 + "@netlify/blobs": ^6.5.0 || ^7.0.0 || ^8.1.0 + "@planetscale/database": ^1.19.0 + "@upstash/redis": ^1.34.3 "@vercel/kv": ^1.0.1 idb-keyval: ^6.2.1 - ioredis: ^5.3.2 + ioredis: ^5.4.1 peerDependenciesMeta: "@azure/app-configuration": optional: true @@ -12607,7 +13535,7 @@ __metadata: optional: true ioredis: optional: true - checksum: 89d61e6b2165ddc78005b8a4a340576877b56b70ec0b318f7cf2e74ee7ab19006036267ba28587100fa7256c573db3bd720700daf6586bbdcad4ed60b64c4284 + checksum: 809f79b76d8fe0e72579dfee1e17b5fb9faec476d02d5b9ab664b9f6eb8822ddeb14aa1aa6a2bfa8e58cda9db133995d487aaa201882e2d83f703df5c7fc4e73 languageName: node linkType: hard @@ -12631,20 +13559,6 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.16": - version: 1.0.16 - resolution: "update-browserslist-db@npm:1.0.16" - dependencies: - escalade: ^3.1.2 - picocolors: ^1.0.1 - peerDependencies: - browserslist: ">= 4.21.0" - bin: - update-browserslist-db: cli.js - checksum: 5995399fc202adbb51567e4810e146cdf7af630a92cc969365a099150cb00597e425cc14987ca7080b09a4d0cfd2a3de53fbe72eebff171aed7f9bb81f9bf405 - languageName: node - linkType: hard - "update-browserslist-db@npm:^1.1.1": version: 1.1.1 resolution: "update-browserslist-db@npm:1.1.1" @@ -12707,12 +13621,12 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:1.2.0": - version: 1.2.0 - resolution: "use-sync-external-store@npm:1.2.0" +"use-sync-external-store@npm:1.2.2": + version: 1.2.2 + resolution: "use-sync-external-store@npm:1.2.2" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: ac4814e5592524f242921157e791b022efe36e451fe0d4fd4d204322d5433a4fc300d63b0ade5185f8e0735ded044c70bcf6d2352db0f74d097a238cebd2da02 + checksum: 23b1597c10adf15b26ade9e8c318d8cc0abc9ec0ab5fc7ca7338da92e89c2536abd150a5891bf076836c352fdfa104fc7231fb48f806fd9960e0cbe03601abaf languageName: node linkType: hard @@ -12739,6 +13653,16 @@ __metadata: languageName: node linkType: hard +"validate-npm-package-license@npm:^3.0.4": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: ^3.0.0 + spdx-expression-parse: ^3.0.0 + checksum: 7b91e455a8de9a0beaa9fe961e536b677da7f48c9a493edf4d4d4a87fd80a7a10267d438723364e432c2fcd00b5650b5378275cded362383ef570276e6312f4f + languageName: node + linkType: hard + "value-or-promise@npm:^1.0.11, value-or-promise@npm:^1.0.12": version: 1.0.12 resolution: "value-or-promise@npm:1.0.12" @@ -12830,15 +13754,15 @@ __metadata: linkType: hard "webcrypto-core@npm:^1.8.0": - version: 1.8.0 - resolution: "webcrypto-core@npm:1.8.0" + version: 1.8.1 + resolution: "webcrypto-core@npm:1.8.1" dependencies: - "@peculiar/asn1-schema": ^2.3.8 + "@peculiar/asn1-schema": ^2.3.13 "@peculiar/json-schema": ^1.1.12 - asn1js: ^3.0.1 + asn1js: ^3.0.5 pvtsutils: ^1.3.5 - tslib: ^2.6.2 - checksum: d4158af402500eb26d0de6e088baa0fbef41c43a3e3b5f53b8326c8c517e55037b3d8a17672cf48bdccfd13526599857544ea8485e2172bb14c9ee4561d706a5 + tslib: ^2.7.0 + checksum: b85a986b4f73e8505ec5eaafe8e4f1ff02574a3b655793aca91f913d02822c8b79168ad6961eaab86ae00fec00bf780ec4cef7535f64879fb866649bc2a723fa languageName: node linkType: hard @@ -12849,6 +13773,13 @@ __metadata: languageName: node linkType: hard +"webidl-conversions@npm:^4.0.2": + version: 4.0.2 + resolution: "webidl-conversions@npm:4.0.2" + checksum: def5c5ac3479286dffcb604547628b2e6b46c5c5b8a8cfaa8c71dc3bafc85859bde5fbe89467ff861f571ab38987cf6ab3d6e7c80b39b999e50e803c12f3164f + languageName: node + linkType: hard + "whatwg-url@npm:^5.0.0": version: 5.0.0 resolution: "whatwg-url@npm:5.0.0" @@ -12859,6 +13790,17 @@ __metadata: languageName: node linkType: hard +"whatwg-url@npm:^7.0.0": + version: 7.1.0 + resolution: "whatwg-url@npm:7.1.0" + dependencies: + lodash.sortby: ^4.7.0 + tr46: ^1.0.1 + webidl-conversions: ^4.0.2 + checksum: 2785fe4647690e5a0225a79509ba5e21fdf4a71f9de3eabdba1192483fe006fc79961198e0b99f82751557309f17fc5a07d4d83c251aa5b2f85ba71e674cbee9 + languageName: node + linkType: hard + "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -12873,11 +13815,11 @@ __metadata: linkType: hard "which-builtin-type@npm:^1.1.3": - version: 1.1.3 - resolution: "which-builtin-type@npm:1.1.3" + version: 1.1.4 + resolution: "which-builtin-type@npm:1.1.4" dependencies: - function.prototype.name: ^1.1.5 - has-tostringtag: ^1.0.0 + function.prototype.name: ^1.1.6 + has-tostringtag: ^1.0.2 is-async-function: ^2.0.0 is-date-object: ^1.0.5 is-finalizationregistry: ^1.0.2 @@ -12886,13 +13828,13 @@ __metadata: is-weakref: ^1.0.2 isarray: ^2.0.5 which-boxed-primitive: ^1.0.2 - which-collection: ^1.0.1 - which-typed-array: ^1.1.9 - checksum: 2b7b234df3443b52f4fbd2b65b731804de8d30bcc4210ec84107ef377a81923cea7f2763b7fb78b394175cea59118bf3c41b9ffd2d643cb1d748ef93b33b6bd4 + which-collection: ^1.0.2 + which-typed-array: ^1.1.15 + checksum: a4a76d20d869a81b1dbb4adea31edc7e6c1a4466d3ab7c2cd757c9219d48d3723b04076c85583257b0f0f8e3ebe5af337248b8ceed57b9051cb97bce5bd881d1 languageName: node linkType: hard -"which-collection@npm:^1.0.1": +"which-collection@npm:^1.0.2": version: 1.0.2 resolution: "which-collection@npm:1.0.2" dependencies: @@ -12911,7 +13853,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.9": +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" dependencies: @@ -12953,13 +13895,6 @@ __metadata: languageName: node linkType: hard -"wordwrap@npm:^1.0.0": - version: 1.0.0 - resolution: "wordwrap@npm:1.0.0" - checksum: 7ed2e44f3c33c5c3e3771134d2b0aee4314c9e49c749e37f464bf69f2bcdf0cbf9419ca638098e2717cff4875c47f56a007532f6111c3319f557a2ca91278e92 - languageName: node - linkType: hard - "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -13000,6 +13935,41 @@ __metadata: languageName: node linkType: hard +"write-file-atomic@npm:^5.0.1": + version: 5.0.1 + resolution: "write-file-atomic@npm:5.0.1" + dependencies: + imurmurhash: ^0.1.4 + signal-exit: ^4.0.1 + checksum: e8c850a8e3e74eeadadb8ad23c9d9d63e4e792bd10f4836ed74189ef6e996763959f1249c5650e232f3c77c11169d239cbfc8342fc70f3fe401407d23810505d + languageName: node + linkType: hard + +"write-json-file@npm:^6.0.0": + version: 6.0.0 + resolution: "write-json-file@npm:6.0.0" + dependencies: + detect-indent: ^7.0.1 + is-plain-obj: ^4.1.0 + sort-keys: ^5.0.0 + write-file-atomic: ^5.0.1 + checksum: 3f8f0caec7948d696b1e898512547bba7b63e99eb5b67ddb74cd9ea02aa0b88d48f5b710be3b26ac3ffa8c3e58c779bd610fb349d3cec6e8fb621596a8f85069 + languageName: node + linkType: hard + +"write-package@npm:^7.1.0": + version: 7.1.0 + resolution: "write-package@npm:7.1.0" + dependencies: + deepmerge-ts: ^7.1.0 + read-pkg: ^9.0.1 + sort-keys: ^5.0.0 + type-fest: ^4.23.0 + write-json-file: ^6.0.0 + checksum: 0db9ca588fc00c753409633ce7777eae4147c6b60993643399f4af0e0ce672b5943587ff5269c3adda36090065d0ef1cf2c6936a62e0d1a548dc81c6507f4f2a + languageName: node + linkType: hard + "ws@npm:8.13.0": version: 8.13.0 resolution: "ws@npm:8.13.0" @@ -13030,22 +14000,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.15.0, ws@npm:^8.8.1": - version: 8.17.1 - resolution: "ws@npm:8.17.1" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: f4a49064afae4500be772abdc2211c8518f39e1c959640457dcee15d4488628620625c783902a52af2dd02f68558da2868fd06e6fd0e67ebcd09e6881b1b5bfe - languageName: node - linkType: hard - -"ws@npm:^8.18.0": +"ws@npm:^8.12.0, ws@npm:^8.17.1, ws@npm:^8.18.0, ws@npm:^8.8.1": version: 8.18.0 resolution: "ws@npm:8.18.0" peerDependencies: @@ -13103,11 +14058,11 @@ __metadata: linkType: hard "yaml@npm:^2.3.1": - version: 2.4.5 - resolution: "yaml@npm:2.4.5" + version: 2.6.1 + resolution: "yaml@npm:2.6.1" bin: yaml: bin.mjs - checksum: e1ee78b381e5c710f715cc4082fd10fc82f7f5c92bd6f075771d20559e175616f56abf1c411f545ea0e9e16e4f84a83a50b42764af5f16ec006328ba9476bb31 + checksum: aebf07f61c72b38c74d2b60c3a3ccf89ee4da45bcd94b2bfb7899ba07a5257625a7c9f717c65a6fc511563d48001e01deb1d9e55f0133f3e2edf86039c8c1be7 languageName: node linkType: hard @@ -13186,11 +14141,18 @@ __metadata: languageName: node linkType: hard +"yoctocolors@npm:^2.0.0": + version: 2.1.1 + resolution: "yoctocolors@npm:2.1.1" + checksum: 85903f7fa96f1c70badee94789fade709f9d83dab2ec92753d612d84fcea6d34c772337a9f8914c6bed2f5fc03a428ac5d893e76fab636da5f1236ab725486d0 + languageName: node + linkType: hard + "zustand@npm:^4.4.1": - version: 4.5.4 - resolution: "zustand@npm:4.5.4" + version: 4.5.5 + resolution: "zustand@npm:4.5.5" dependencies: - use-sync-external-store: 1.2.0 + use-sync-external-store: 1.2.2 peerDependencies: "@types/react": ">=16.8" immer: ">=9.0.6" @@ -13202,6 +14164,6 @@ __metadata: optional: true react: optional: true - checksum: 479af491ffa1f1eb2c38b3ba25dc4e14339e8b35a60033d3f6c165b22f8be8163f7e1370015ded9c6e28548cd25af84a73fb40b5fad0bd7882d16ddd5ed613c6 + checksum: d04469d76b29c7e4070da269886de4efdadedd3d3824dc2a06ac4ff62e3b5877f925e927afe7382de651829872b99adec48082f1bd69fe486149be666345e626 languageName: node linkType: hard