1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */34import type { ApiTypes } from '@polkadot/api-base/types';5import type { Bytes, Null, Option, Result, U256, U8aFixed, bool, u128, u32, u64, u8 } from '@polkadot/types-codec';6import type { ITuple } from '@polkadot/types-codec/types';7import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';8import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportScheduleLookupError, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchInfo, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, RmrkTraitsNftAccountIdOrCollectionNftTuple, SpRuntimeDispatchError, XcmV1MultiLocation, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';910declare module '@polkadot/api-base/types/events' {11 export interface AugmentedEvents<ApiType extends ApiTypes> {12 balances: {13 /**14 * A balance was set by root.15 **/16 BalanceSet: AugmentedEvent<ApiType, [AccountId32, u128, u128]>;17 /**18 * Some amount was deposited (e.g. for transaction fees).19 **/20 Deposit: AugmentedEvent<ApiType, [AccountId32, u128]>;21 /**22 * An account was removed whose balance was non-zero but below ExistentialDeposit,23 * resulting in an outright loss.24 **/25 DustLost: AugmentedEvent<ApiType, [AccountId32, u128]>;26 /**27 * An account was created with some free balance.28 **/29 Endowed: AugmentedEvent<ApiType, [AccountId32, u128]>;30 /**31 * Some balance was reserved (moved from free to reserved).32 **/33 Reserved: AugmentedEvent<ApiType, [AccountId32, u128]>;34 /**35 * Some balance was moved from the reserve of the first account to the second account.36 * Final argument indicates the destination balance type.37 **/38 ReserveRepatriated: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128, FrameSupportTokensMiscBalanceStatus]>;39 /**40 * Some amount was removed from the account (e.g. for misbehavior).41 **/42 Slashed: AugmentedEvent<ApiType, [AccountId32, u128]>;43 /**44 * Transfer succeeded.45 **/46 Transfer: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128]>;47 /**48 * Some balance was unreserved (moved from reserved to free).49 **/50 Unreserved: AugmentedEvent<ApiType, [AccountId32, u128]>;51 /**52 * Some amount was withdrawn from the account (e.g. for transaction fees).53 **/54 Withdraw: AugmentedEvent<ApiType, [AccountId32, u128]>;55 /**56 * Generic event57 **/58 [key: string]: AugmentedEvent<ApiType>;59 };60 common: {61 /**62 * * collection_id63 * 64 * * item_id65 * 66 * * sender67 * 68 * * spender69 * 70 * * amount71 **/72 Approved: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;73 /**74 * New collection was created75 * 76 * # Arguments77 * 78 * * collection_id: Globally unique identifier of newly created collection.79 * 80 * * mode: [CollectionMode] converted into u8.81 * 82 * * account_id: Collection owner.83 **/84 CollectionCreated: AugmentedEvent<ApiType, [u32, u8, AccountId32]>;85 /**86 * New collection was destroyed87 * 88 * # Arguments89 * 90 * * collection_id: Globally unique identifier of collection.91 **/92 CollectionDestroyed: AugmentedEvent<ApiType, [u32]>;93 CollectionPropertyDeleted: AugmentedEvent<ApiType, [u32, Bytes]>;94 CollectionPropertySet: AugmentedEvent<ApiType, [u32, Bytes]>;95 /**96 * New item was created.97 * 98 * # Arguments99 * 100 * * collection_id: Id of the collection where item was created.101 * 102 * * item_id: Id of an item. Unique within the collection.103 * 104 * * recipient: Owner of newly created item105 * 106 * * amount: Always 1 for NFT107 **/108 ItemCreated: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;109 /**110 * Collection item was burned.111 * 112 * # Arguments113 * 114 * * collection_id.115 * 116 * * item_id: Identifier of burned NFT.117 * 118 * * owner: which user has destroyed its tokens119 * 120 * * amount: Always 1 for NFT121 **/122 ItemDestroyed: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;123 PropertyPermissionSet: AugmentedEvent<ApiType, [u32, Bytes]>;124 TokenPropertyDeleted: AugmentedEvent<ApiType, [u32, u32, Bytes]>;125 TokenPropertySet: AugmentedEvent<ApiType, [u32, u32, Bytes]>;126 /**127 * Item was transferred128 * 129 * * collection_id: Id of collection to which item is belong130 * 131 * * item_id: Id of an item132 * 133 * * sender: Original owner of item134 * 135 * * recipient: New owner of item136 * 137 * * amount: Always 1 for NFT138 **/139 Transfer: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;140 /**141 * Generic event142 **/143 [key: string]: AugmentedEvent<ApiType>;144 };145 cumulusXcm: {146 /**147 * Downward message executed with the given outcome.148 * \[ id, outcome \]149 **/150 ExecutedDownward: AugmentedEvent<ApiType, [U8aFixed, XcmV2TraitsOutcome]>;151 /**152 * Downward message is invalid XCM.153 * \[ id \]154 **/155 InvalidFormat: AugmentedEvent<ApiType, [U8aFixed]>;156 /**157 * Downward message is unsupported version of XCM.158 * \[ id \]159 **/160 UnsupportedVersion: AugmentedEvent<ApiType, [U8aFixed]>;161 /**162 * Generic event163 **/164 [key: string]: AugmentedEvent<ApiType>;165 };166 dmpQueue: {167 /**168 * Downward message executed with the given outcome.169 **/170 ExecutedDownward: AugmentedEvent<ApiType, [U8aFixed, XcmV2TraitsOutcome]>;171 /**172 * Downward message is invalid XCM.173 **/174 InvalidFormat: AugmentedEvent<ApiType, [U8aFixed]>;175 /**176 * Downward message is overweight and was placed in the overweight queue.177 **/178 OverweightEnqueued: AugmentedEvent<ApiType, [U8aFixed, u64, u64]>;179 /**180 * Downward message from the overweight queue was executed.181 **/182 OverweightServiced: AugmentedEvent<ApiType, [u64, u64]>;183 /**184 * Downward message is unsupported version of XCM.185 **/186 UnsupportedVersion: AugmentedEvent<ApiType, [U8aFixed]>;187 /**188 * The weight limit for handling downward messages was reached.189 **/190 WeightExhausted: AugmentedEvent<ApiType, [U8aFixed, u64, u64]>;191 /**192 * Generic event193 **/194 [key: string]: AugmentedEvent<ApiType>;195 };196 ethereum: {197 /**198 * An ethereum transaction was successfully executed. [from, to/contract_address, transaction_hash, exit_reason]199 **/200 Executed: AugmentedEvent<ApiType, [H160, H160, H256, EvmCoreErrorExitReason]>;201 /**202 * Generic event203 **/204 [key: string]: AugmentedEvent<ApiType>;205 };206 evm: {207 /**208 * A deposit has been made at a given address. \[sender, address, value\]209 **/210 BalanceDeposit: AugmentedEvent<ApiType, [AccountId32, H160, U256]>;211 /**212 * A withdrawal has been made from a given address. \[sender, address, value\]213 **/214 BalanceWithdraw: AugmentedEvent<ApiType, [AccountId32, H160, U256]>;215 /**216 * A contract has been created at given \[address\].217 **/218 Created: AugmentedEvent<ApiType, [H160]>;219 /**220 * A \[contract\] was attempted to be created, but the execution failed.221 **/222 CreatedFailed: AugmentedEvent<ApiType, [H160]>;223 /**224 * A \[contract\] has been executed successfully with states applied.225 **/226 Executed: AugmentedEvent<ApiType, [H160]>;227 /**228 * A \[contract\] has been executed with errors. States are reverted with only gas fees applied.229 **/230 ExecutedFailed: AugmentedEvent<ApiType, [H160]>;231 /**232 * Ethereum events from contracts.233 **/234 Log: AugmentedEvent<ApiType, [EthereumLog]>;235 /**236 * Generic event237 **/238 [key: string]: AugmentedEvent<ApiType>;239 };240 parachainSystem: {241 /**242 * Downward messages were processed using the given weight.243 **/244 DownwardMessagesProcessed: AugmentedEvent<ApiType, [u64, H256]>;245 /**246 * Some downward messages have been received and will be processed.247 **/248 DownwardMessagesReceived: AugmentedEvent<ApiType, [u32]>;249 /**250 * An upgrade has been authorized.251 **/252 UpgradeAuthorized: AugmentedEvent<ApiType, [H256]>;253 /**254 * The validation function was applied as of the contained relay chain block number.255 **/256 ValidationFunctionApplied: AugmentedEvent<ApiType, [u32]>;257 /**258 * The relay-chain aborted the upgrade process.259 **/260 ValidationFunctionDiscarded: AugmentedEvent<ApiType, []>;261 /**262 * The validation function has been scheduled to apply.263 **/264 ValidationFunctionStored: AugmentedEvent<ApiType, []>;265 /**266 * Generic event267 **/268 [key: string]: AugmentedEvent<ApiType>;269 };270 polkadotXcm: {271 /**272 * Some assets have been placed in an asset trap.273 * 274 * \[ hash, origin, assets \]275 **/276 AssetsTrapped: AugmentedEvent<ApiType, [H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;277 /**278 * Execution of an XCM message was attempted.279 * 280 * \[ outcome \]281 **/282 Attempted: AugmentedEvent<ApiType, [XcmV2TraitsOutcome]>;283 /**284 * Expected query response has been received but the origin location of the response does285 * not match that expected. The query remains registered for a later, valid, response to286 * be received and acted upon.287 * 288 * \[ origin location, id, expected location \]289 **/290 InvalidResponder: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;291 /**292 * Expected query response has been received but the expected origin location placed in293 * storage by this runtime previously cannot be decoded. The query remains registered.294 * 295 * This is unexpected (since a location placed in storage in a previously executing296 * runtime should be readable prior to query timeout) and dangerous since the possibly297 * valid response will be dropped. Manual governance intervention is probably going to be298 * needed.299 * 300 * \[ origin location, id \]301 **/302 InvalidResponderVersion: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;303 /**304 * Query response has been received and query is removed. The registered notification has305 * been dispatched and executed successfully.306 * 307 * \[ id, pallet index, call index \]308 **/309 Notified: AugmentedEvent<ApiType, [u64, u8, u8]>;310 /**311 * Query response has been received and query is removed. The dispatch was unable to be312 * decoded into a `Call`; this might be due to dispatch function having a signature which313 * is not `(origin, QueryId, Response)`.314 * 315 * \[ id, pallet index, call index \]316 **/317 NotifyDecodeFailed: AugmentedEvent<ApiType, [u64, u8, u8]>;318 /**319 * Query response has been received and query is removed. There was a general error with320 * dispatching the notification call.321 * 322 * \[ id, pallet index, call index \]323 **/324 NotifyDispatchError: AugmentedEvent<ApiType, [u64, u8, u8]>;325 /**326 * Query response has been received and query is removed. The registered notification could327 * not be dispatched because the dispatch weight is greater than the maximum weight328 * originally budgeted by this runtime for the query result.329 * 330 * \[ id, pallet index, call index, actual weight, max budgeted weight \]331 **/332 NotifyOverweight: AugmentedEvent<ApiType, [u64, u8, u8, u64, u64]>;333 /**334 * A given location which had a version change subscription was dropped owing to an error335 * migrating the location to our new XCM format.336 * 337 * \[ location, query ID \]338 **/339 NotifyTargetMigrationFail: AugmentedEvent<ApiType, [XcmVersionedMultiLocation, u64]>;340 /**341 * A given location which had a version change subscription was dropped owing to an error342 * sending the notification to it.343 * 344 * \[ location, query ID, error \]345 **/346 NotifyTargetSendFail: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, XcmV2TraitsError]>;347 /**348 * Query response has been received and is ready for taking with `take_response`. There is349 * no registered notification call.350 * 351 * \[ id, response \]352 **/353 ResponseReady: AugmentedEvent<ApiType, [u64, XcmV2Response]>;354 /**355 * Received query response has been read and removed.356 * 357 * \[ id \]358 **/359 ResponseTaken: AugmentedEvent<ApiType, [u64]>;360 /**361 * A XCM message was sent.362 * 363 * \[ origin, destination, message \]364 **/365 Sent: AugmentedEvent<ApiType, [XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;366 /**367 * The supported version of a location has been changed. This might be through an368 * automatic notification or a manual intervention.369 * 370 * \[ location, XCM version \]371 **/372 SupportedVersionChanged: AugmentedEvent<ApiType, [XcmV1MultiLocation, u32]>;373 /**374 * Query response received which does not match a registered query. This may be because a375 * matching query was never registered, it may be because it is a duplicate response, or376 * because the query timed out.377 * 378 * \[ origin location, id \]379 **/380 UnexpectedResponse: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;381 /**382 * An XCM version change notification message has been attempted to be sent.383 * 384 * \[ destination, result \]385 **/386 VersionChangeNotified: AugmentedEvent<ApiType, [XcmV1MultiLocation, u32]>;387 /**388 * Generic event389 **/390 [key: string]: AugmentedEvent<ApiType>;391 };392 rmrkCore: {393 CollectionCreated: AugmentedEvent<ApiType, [AccountId32, u32]>;394 CollectionDestroyed: AugmentedEvent<ApiType, [AccountId32, u32]>;395 CollectionLocked: AugmentedEvent<ApiType, [AccountId32, u32]>;396 IssuerChanged: AugmentedEvent<ApiType, [AccountId32, AccountId32, u32]>;397 NFTAccepted: AugmentedEvent<ApiType, [AccountId32, RmrkTraitsNftAccountIdOrCollectionNftTuple, u32, u32]>;398 NFTBurned: AugmentedEvent<ApiType, [AccountId32, u32]>;399 NftMinted: AugmentedEvent<ApiType, [AccountId32, u32, u32]>;400 NFTRejected: AugmentedEvent<ApiType, [AccountId32, u32, u32]>;401 NFTSent: AugmentedEvent<ApiType, [AccountId32, RmrkTraitsNftAccountIdOrCollectionNftTuple, u32, u32, bool]>;402 PrioritySet: AugmentedEvent<ApiType, [u32, u32]>;403 PropertySet: AugmentedEvent<ApiType, [u32, Option<u32>, Bytes, Bytes]>;404 ResourceAccepted: AugmentedEvent<ApiType, [u32, u32]>;405 ResourceAdded: AugmentedEvent<ApiType, [u32, u32]>;406 ResourceRemoval: AugmentedEvent<ApiType, [u32, u32]>;407 ResourceRemovalAccepted: AugmentedEvent<ApiType, [u32, u32]>;408 /**409 * Generic event410 **/411 [key: string]: AugmentedEvent<ApiType>;412 };413 rmrkEquip: {414 BaseCreated: AugmentedEvent<ApiType, [AccountId32, u32]>;415 EquippablesUpdated: AugmentedEvent<ApiType, [u32, u32]>;416 /**417 * Generic event418 **/419 [key: string]: AugmentedEvent<ApiType>;420 };421 scheduler: {422 /**423 * The call for the provided hash was not found so the task has been aborted.424 **/425 CallLookupFailed: AugmentedEvent<ApiType, [ITuple<[u32, u32]>, Option<U8aFixed>, FrameSupportScheduleLookupError]>;426 /**427 * Canceled some task.428 **/429 Canceled: AugmentedEvent<ApiType, [u32, u32]>;430 /**431 * Dispatched some task.432 **/433 Dispatched: AugmentedEvent<ApiType, [ITuple<[u32, u32]>, Option<U8aFixed>, Result<Null, SpRuntimeDispatchError>]>;434 /**435 * Scheduled some task.436 **/437 Scheduled: AugmentedEvent<ApiType, [u32, u32]>;438 /**439 * Generic event440 **/441 [key: string]: AugmentedEvent<ApiType>;442 };443 structure: {444 /**445 * Executed call on behalf of token446 **/447 Executed: AugmentedEvent<ApiType, [Result<Null, SpRuntimeDispatchError>]>;448 /**449 * Generic event450 **/451 [key: string]: AugmentedEvent<ApiType>;452 };453 sudo: {454 /**455 * The \[sudoer\] just switched identity; the old key is supplied if one existed.456 **/457 KeyChanged: AugmentedEvent<ApiType, [Option<AccountId32>]>;458 /**459 * A sudo just took place. \[result\]460 **/461 Sudid: AugmentedEvent<ApiType, [Result<Null, SpRuntimeDispatchError>]>;462 /**463 * A sudo just took place. \[result\]464 **/465 SudoAsDone: AugmentedEvent<ApiType, [Result<Null, SpRuntimeDispatchError>]>;466 /**467 * Generic event468 **/469 [key: string]: AugmentedEvent<ApiType>;470 };471 system: {472 /**473 * `:code` was updated.474 **/475 CodeUpdated: AugmentedEvent<ApiType, []>;476 /**477 * An extrinsic failed.478 **/479 ExtrinsicFailed: AugmentedEvent<ApiType, [SpRuntimeDispatchError, FrameSupportWeightsDispatchInfo]>;480 /**481 * An extrinsic completed successfully.482 **/483 ExtrinsicSuccess: AugmentedEvent<ApiType, [FrameSupportWeightsDispatchInfo]>;484 /**485 * An account was reaped.486 **/487 KilledAccount: AugmentedEvent<ApiType, [AccountId32]>;488 /**489 * A new account was created.490 **/491 NewAccount: AugmentedEvent<ApiType, [AccountId32]>;492 /**493 * On on-chain remark happened.494 **/495 Remarked: AugmentedEvent<ApiType, [AccountId32, H256]>;496 /**497 * Generic event498 **/499 [key: string]: AugmentedEvent<ApiType>;500 };501 treasury: {502 /**503 * Some funds have been allocated.504 **/505 Awarded: AugmentedEvent<ApiType, [u32, u128, AccountId32]>;506 /**507 * Some of our funds have been burnt.508 **/509 Burnt: AugmentedEvent<ApiType, [u128]>;510 /**511 * Some funds have been deposited.512 **/513 Deposit: AugmentedEvent<ApiType, [u128]>;514 /**515 * New proposal.516 **/517 Proposed: AugmentedEvent<ApiType, [u32]>;518 /**519 * A proposal was rejected; funds were slashed.520 **/521 Rejected: AugmentedEvent<ApiType, [u32, u128]>;522 /**523 * Spending has finished; this is the amount that rolls over until next spend.524 **/525 Rollover: AugmentedEvent<ApiType, [u128]>;526 /**527 * We have ended a spend period and will now allocate funds.528 **/529 Spending: AugmentedEvent<ApiType, [u128]>;530 /**531 * Generic event532 **/533 [key: string]: AugmentedEvent<ApiType>;534 };535 unique: {536 /**537 * Address was add to allow list538 * 539 * # Arguments540 * 541 * * collection_id: Globally unique collection identifier.542 * 543 * * user: Address.544 **/545 AllowListAddressAdded: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;546 /**547 * Address was remove from allow list548 * 549 * # Arguments550 * 551 * * collection_id: Globally unique collection identifier.552 * 553 * * user: Address.554 **/555 AllowListAddressRemoved: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;556 /**557 * Collection admin was added558 * 559 * # Arguments560 * 561 * * collection_id: Globally unique collection identifier.562 * 563 * * admin: Admin address.564 **/565 CollectionAdminAdded: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;566 /**567 * Collection admin was removed568 * 569 * # Arguments570 * 571 * * collection_id: Globally unique collection identifier.572 * 573 * * admin: Admin address.574 **/575 CollectionAdminRemoved: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;576 /**577 * Collection limits was set578 * 579 * # Arguments580 * 581 * * collection_id: Globally unique collection identifier.582 **/583 CollectionLimitSet: AugmentedEvent<ApiType, [u32]>;584 /**585 * Collection owned was change586 * 587 * # Arguments588 * 589 * * collection_id: Globally unique collection identifier.590 * 591 * * owner: New owner address.592 **/593 CollectionOwnedChanged: AugmentedEvent<ApiType, [u32, AccountId32]>;594 CollectionPermissionSet: AugmentedEvent<ApiType, [u32]>;595 /**596 * Collection sponsor was removed597 * 598 * # Arguments599 * 600 * * collection_id: Globally unique collection identifier.601 **/602 CollectionSponsorRemoved: AugmentedEvent<ApiType, [u32]>;603 /**604 * Collection sponsor was set605 * 606 * # Arguments607 * 608 * * collection_id: Globally unique collection identifier.609 * 610 * * owner: New sponsor address.611 **/612 CollectionSponsorSet: AugmentedEvent<ApiType, [u32, AccountId32]>;613 /**614 * New sponsor was confirm615 * 616 * # Arguments617 * 618 * * collection_id: Globally unique collection identifier.619 * 620 * * sponsor: New sponsor address.621 **/622 SponsorshipConfirmed: AugmentedEvent<ApiType, [u32, AccountId32]>;623 /**624 * Generic event625 **/626 [key: string]: AugmentedEvent<ApiType>;627 };628 vesting: {629 /**630 * Claimed vesting.631 **/632 Claimed: AugmentedEvent<ApiType, [AccountId32, u128]>;633 /**634 * Added new vesting schedule.635 **/636 VestingScheduleAdded: AugmentedEvent<ApiType, [AccountId32, AccountId32, OrmlVestingVestingSchedule]>;637 /**638 * Updated vesting schedules.639 **/640 VestingSchedulesUpdated: AugmentedEvent<ApiType, [AccountId32]>;641 /**642 * Generic event643 **/644 [key: string]: AugmentedEvent<ApiType>;645 };646 xcmpQueue: {647 /**648 * Bad XCM format used.649 **/650 BadFormat: AugmentedEvent<ApiType, [Option<H256>]>;651 /**652 * Bad XCM version used.653 **/654 BadVersion: AugmentedEvent<ApiType, [Option<H256>]>;655 /**656 * Some XCM failed.657 **/658 Fail: AugmentedEvent<ApiType, [Option<H256>, XcmV2TraitsError]>;659 /**660 * An XCM exceeded the individual message weight budget.661 **/662 OverweightEnqueued: AugmentedEvent<ApiType, [u32, u32, u64, u64]>;663 /**664 * An XCM from the overweight queue was executed with the given actual weight used.665 **/666 OverweightServiced: AugmentedEvent<ApiType, [u64, u64]>;667 /**668 * Some XCM was executed ok.669 **/670 Success: AugmentedEvent<ApiType, [Option<H256>]>;671 /**672 * An upward message was sent to the relay chain.673 **/674 UpwardMessageSent: AugmentedEvent<ApiType, [Option<H256>]>;675 /**676 * An HRMP message was sent to a sibling parachain.677 **/678 XcmpMessageSent: AugmentedEvent<ApiType, [Option<H256>]>;679 /**680 * Generic event681 **/682 [key: string]: AugmentedEvent<ApiType>;683 };684 } // AugmentedEvents685} // declare moduledifftreelog
source
tests/src/interfaces/augment-api-events.ts23.4 KiBsourcehistory