Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test(taiko-client): test generating signal proof #18675

Closed
wants to merge 10 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions packages/protocol/script/layer1/ProcessMessage.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
import "test/shared/DeployCapability.sol";
import "test/shared/thirdparty/Multicall3.sol";
import "../../contracts/shared/bridge/IBridge.sol";

contract RecallMessage is DeployCapability {
uint256 public privateKey = vm.envUint("PRIVATE_KEY");

modifier broadcast() {
require(privateKey != 0, "invalid private key");
vm.startBroadcast(privateKey);
_;
vm.stopBroadcast();
}

function run() external broadcast {
IBridge.Message memory message = IBridge.Message({
id: 1636509,
fee: 0,
gasLimit: 806657,
from: 0x1D2D1bb9D180541E88a6a682aCf3f61c1605B190,
srcChainId: 17_000,
srcOwner: 0x1D2D1bb9D180541E88a6a682aCf3f61c1605B190,
destChainId: 167_009,
destOwner: 0x1D2D1bb9D180541E88a6a682aCf3f61c1605B190,
to: 0x1D2D1bb9D180541E88a6a682aCf3f61c1605B190,
value: 12345678900000000,
data: hex""
});
bytes32 msgHash =
IBridge(0x1670090000000000000000000000000000000001).hashMessage(message);
console2.logBytes32(msgHash);

console2.logBytes32(keccak256(abi.encodePacked("STATE_ROOT")));

IBridge(0x1670090000000000000000000000000000000001).processMessage(
message,
hex"0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000028c6100000000000000000000000000000000000000000000000000000000002f46c7c372cb578c7c21a2c8aa16ef55e3d094770764f71f22167ebeab7b5a6d6fd73c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000007e00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000c600000000000000000000000000000000000000000000000000000000000000e800000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000fc00000000000000000000000000000000000000000000000000000000000000214f90211a0bfb28d792b6c777668fb3ca8f05b1f72b63a6e94c4857f8aaa555eabbc6d5208a0ba18a8664e24b28975c5b56fcfff02d8fe4a5366a7008c6ca0c4411e929aab4aa03b805ad5fea154b4ae3868fb2a89bd3d28c81a941b2a94575456c01229e2ed1fa03550d59d38855693573a6d58d019d886d38c149b29a0b98214f01eb60c1e2039a0ff3316e7e893e6422667fa222f4b4f324ff5c6b81f36ecd993c09d209e65d13ea0282557e6d5cd9e4277c565ce5ee0bf80af5ad91d822ac860baaca1510ec5dd74a0ce405ed50be8d140b0b83692ba484b0a058f2a662dad83a5e9b7694fe1c1ec61a01df7ac55ed53ffbc32493d0c864f8b6109b6813e7a44ecfb724c2fa2f867fb92a0a6b6a36f37f7061340bc7239273067fe1fe3448a91cb2b3c187b779cdaeb000ca0311b056888a85091466977a83d2b6717cd20c34ce134591502adaf739a54ce91a0d33d6f8c9abffd61ab702b8bd3bb36ecdf27478f8f6f757e08bd7c7c80db6341a041e7fbe0942b0826e0232ceaa743a3b042e79469d870a50b074f3ae9c02ddf57a010676bc0cb6fc27b4fb45f43f8a38e8eb1b303417a2a9b57f0c2a8a7b8805153a0fcbd84826fd91f007b5a01468b62b5338163671cba7f89b8ebb38182f6a5f543a0afb0d24c07267b25000236adf38c42e83a438eea7b81d3f93332cac9d7855d13a08c909ef53d11a313da53d4c465c418bfc854efa99b24fae1dbda7ef9c137c702800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a01de377112585a354903f2083634bfb9b0b3dd5ccbae63786574044cce10e567ba0697fa145639d30ae221461166f41d13c6b7505ffa5d8ed94aaa294e8c466b5aaa0d4f542afc7597a9bf4ddd3b83f97275a75f87b941086b40de11d7717b30b3706a0f87f65393d9a7cfce2f8fdb0a0e3a26157e24b5e03a476bee7c795c64c0c47fca0759b3bea4c5f5c66e75bfe7deb3ba8b4dc979f4383c1310dab2797e78e0c2e90a093574eb9759ed64893c2659c1c055dc4e290a8a27704cbcaf78525a51207f3f4a09c3c4ceff13f5dfade54c6e765176d8350d0602b3417f81c43966aa7afc0c5eba001764d0054e1e6927bb6f200c60dc77d415270e3af39d764d16d0dab4e34d479a04a775acef295e4658d1bd1720cad6a104dba75cf4f93333fc39971b4e5cf97f7a05df176d5a4432e4696f08bb0c897ba93311656bcf207493d6fe2ca7ccb9e25f6a0359cf7a1415be06e5f7d9d4fb5e95df65f84aafdffa7d96f0a3c6165c21f642aa05fd83c909cc85b2916e58f905fa142eb32494512357e3b247dbc74f665922e43a0f7265f717a47ad60dc5e30e2f18f3aabdd82b63563cfa133ccab70629e0bd0cba0c43db630728e79c9156ad8d7940201a0d0f816b3cb2dd12ec4653ac81182f850a0be9b34309d722c1e055e11060bd297130e291423ef8c33c539e3d8acd05d5c81a05cd566d733c0b04d2ce220495ddb53d3f892efad53f182e79d41d2a997a31fae800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a042885e977355aea769c8abaaae2659f64c65b71ac7d73f36858ee852a08be53aa078c059948c340b6bfe25a3f5d3adc3dee2140639c63a5d72232f63c40b72ebf2a00c0d1ae49c67d297b49613152a8bcd7dcadae44c699f3f8c66b284afb22d2ed9a0a98a1005b5fbc578d00ff48a6a9a916ac60d4005d2a9a660661f211cedd23551a0c04eeb554d724bde1a77faa7cf32e57396a9f03ace16c8b417765aea20b46f02a09abe26e1be39a6915a8d1e757cd3f4e7440776832e9b970cf2133e17146e8cbfa036d9da872f434aa8d7d422f8cb32d20acc58e8941c760718f4cd60a86d65560ca0427f78456c98124894e69f561a225e11ab801e1bd579b967d938cca11230f83da046b1a26482affefefc92cfdbdc8a3927359b4cd63290774aef0fb11826183121a08126d36fa112c4c619c1f5a036907e5b3331fe0ab9bb39e3f422f7e1227a1c8aa04c03408138e79044e40a09baa855595d46ec28e9c9d6f31cbdb334452d7206f7a0da339095a721292cd0505d6ae5810744ffcd0fe3d2c290b2c07526fc7714f81ca07c05e87d4475515fce79431294b50f2e6eeb4725654799c0f06112d84d3a7b2ba035b50f560da7294a80e2ec6314b5e7304fb59954e003b5a958ab64897e2f051ba08e876c8dc0e297108b6815a25d5f29ff3ff26cef4c9891d9fda2b4092315f812a0558a53160db7a4e76f10517acd90fa2cc9cde670cd7f87753ef6ee6e9ebf2706800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a03f0de8680bb4b7ca7250187c317de5a997d6db09ee59c57adcc20f9b088f6fc1a008cf6b3c3b2940c067b26862e59b77994a5d06e78f6559a6cac8046adb3cb55aa0a645aae0b2d3e211537292847bc26ac5a1e59586edc1d0eb922d9b769f1516d8a0f746b3947dd57b0f138e3914f19423e72c460715c61436cede216b349963fe37a0a386b69418d26f3270084b864140fbae65c4f7e0d14b44bbf422d321e5de7b45a03d27678d51204f440a7880c47302eb51d0a01d49e5d8bc55a7ebcc1fa5d3d5a8a08145756c90dc29a18c517f650217e2ac8dcf92b4ff558683288053d701547f0aa0d8bd1fc4521295678fabeac226bcadc422b3986e6270e521663f17dd770d01f2a08253ff09a04804a539f06e92b6cab9df1ec7aa57946d8433ce055e31d8df224ba0f8befac97639066f930661812343bf82089d641618026123c909757e998d5176a022f409ca424e727c13e8217e83106aef5655c4bc3deb4515dc73896787a2f64ea0e9e4fcbc6b5a136a09fc8dada862ea21744bac1445ee363899bd21b1bbcee66ea063426262634b42f4bc9707f8fb9edddd45021796692aa43df19eb4bddca7b6d7a0d48b591f2c3884b18506cc8c2011a133811d03c0c24c7f349e20c7b3d1dd3351a0c3d76e5ba094fb8e717baf582edb2b8e37ea05fcfacc64315ebed8321a225b20a05cde7f10d7bfb95621f6d8ddc1de09f28a133192a00dbf680eb1bb8d1a2f05f1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a026afb07de86e7b28609468f447285e4522f3e2c211e1e79b5fdc895cf6a815bea0619b2a09f4863a1d36f726c0090008945c8e63feac998256317a79cab1f9ac96a006dc8cf46bfc508b5d9aaa3800a449f26d577313e8fa97f27e22a6aec0c48adea0c12b475ad72e9f2ed329b520ada188340abe071ca312207f1ce55893c1560b24a0cf8b40886515305649db5dc3eab7655ed058fdd3fa031005b17591491c49b56ba0191f0c128cc796607f4111f2e263c3ef3846de6f9162c0b6c772f3b8a83c1c64a06c6ef0fd53d91057d7c551c15c5ca2cda70b4b2ef3704c389ef5778dbc1d6d99a02d78c7c60f5e4b5b1c705950cacc515f6013c4606033660fd0fbc79d4223968fa0b3780c0fc124c719745778fe5686eeaa3e6d881a9c176ba92c75b52eb8f13f9da07332fc9b4a198a91a7cb20e1a4604b804cfce0aa694ce1e3031b3212a8373053a016e368d8719f35a639846b02816643ab804ff51d24c2b781e75da3d74096b6bda083f1ccd0f6c30a49bfa3d8dc954d9e61b9c4a609db172c475537a3726309c6dfa0307dcc0b9f46ca1e732fa089f887b2b8b7e41c83321a84ece4bec3f0ad8aeee9a05d28fc350ab8612529b62c1bc32b8750362707b704cdd427381e286c6b6e0296a01978ff505350144fc3a62b8c75b04835979ff834f4e073ec6b9c6f77bb99545da0f7f8cd4512b82d9fabadaa5287d98c952a92d8ea8da84e9700b306dc63c7cc4a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f4f901f1a053df7249a37519eec5ca8f6b47dbadea25dce521092a30ac8f91b9e01665c338a04026dd021d7d4dc1aa14b924b30ee1facf513fdd28c217d9c0f2d7148abb0aeea004be2889c32fee2ff26b45e8054ab7a615ae531994c5e7cc9ebe886219f0bc25a07564c544eda037c83c83f6ae65824b6f5d424fa1d44ac0aaf916e6099b3e3a08a0de1cd98994a6bee50ea717651335d489ad9b8efe71af2b63c062b8bedd076066a01770f3f1979f2b9fd6e9a4881d12a4db9c8ce31051e630469c4ea49bf3ca1a13a0d425971abbad096ba172427bd3dca132bf0722659636987df7ff546460c09795a08aa3526c39f7d3285da20e75ab0ce3aded11b56c0663680ae1f7132e11d7f3daa0b4c6ce48eb8901c819e70ac0042f99db2ba3cba4eb4f9ed9d063cf00dc076856a06aa20accd5484803bcbacf8db26023022a7cd2fe95201aeefdff337e6def3958a06035d6b76441e946e719d65e482a1625c8d20e036fbfe47312ca12050fb60f6c80a01e569d93ade0b0950427bfae37b8f40ab83a1529f99e0689d5fb43ab741fcf73a082e6e9d4fdf7aa2667286a7396e8bb9cd78b4723912e609b6b382fb8081bfc19a0d3c5bc0ab950302d724a7c7164418031c31615fa8e5cc61bee2782fcb5b71edaa02f66305ae8245ddfd7ace77482a5da7628fb10625782a65cae6eaefd5f2f6891800000000000000000000000000000000000000000000000000000000000000000000000000000000000000093f891808080a0e0a3f4f4e5e98db5432e97ff7148edd5f60540677b6caa83264f2524a1447ed8a00c20c1087b3a297fea4bee443727659ba097f631cf18dd0339584d59ab8e19f38080808080a0a5eda2866f0db928404a936f8f62d9829c06a6570779280b9d7c53aa23115b328080a0fa70313be2a234a88ca80f3022f3dc16fe9e902f24c88a8a73b06fa007f4f126808080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053f85180808080808080808080808080a00d710e4f049100beca5afe20afe9352366808ce40288be2ddcda0e628722c2dda09af7348c5962a82c3566646d39d644a2e700f10d870bbd41804f62e07f930b408080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068f8669d20d6c66fdeafd58dd28952ea547647ffe9bdf58ad841cd73ee5a6b66a3b846f8440180a04b2cc9075703c5ddb35aa9bc6b85034c75e83d875716679062a6c6d44a2e4178a026e751b9fd68f5207c6d2b35f2871bc22c1b05e9d20368c10257dc04ca67f46e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000056000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000009e00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000214f90211a073d5a532141f510e8379138dbe51d019605b9cfd5645bf13ec61837ea7affaf0a0357c5562da05b0718ec866e384c77946038dd94aaac4954ac762491b700d763ba003d19bde1d337a2e7f5f2509538566cf5b715802cfbd764c3a14d588e7733657a0b628139168484f3a436122cc49da2fc2594b519a6ec21919a79a67a1eeb6bdc6a0e94c1f1b491cd0c50b30071975f2352e74bfd4a3b53110ad6fbb1314329c6f17a047df1f7aafdb4289e77736ccd6fd1e6bf7042a997f875c4a83e4bb476904f277a0b8d5b3d3bd977c23664f8b07d1d72f141fcca2c9e5bf04b8789326ab2ce348d3a0af17db9818c2fbc1b29abdd57d370ecf8d72645e6a9676292975fe5ccba1fa2ba0508daa3e5402f6fcd8a6633157e0eb34c4a9daa8e421a654d1e2a3e03cfae081a0235ee480db5f15b8d2d4ebc1a492461a1094d9dd813bd21f9749ee319ec54d41a079745a87fcb34cf1ffa3e4eda1fb614b258c4c1fe78b98882a96b2793401e2b2a0841a5898bc99bb75328958f1befa4ebef880256385eed7d6b275bddc14e0c3f2a0f609170fd9996340d118184f61fc31d55292bd38f61b85a7cb9c48d57a6d56c9a0779c3e4d96f2a733d2fb3b7dc9a7c71fa85f537ce1dcc4c45c53767bbd5e4b13a0dbb9e34e852e4713a23b2e1f01ad627d1c3dfb8786de84c61c0fd2df345134b1a088f2c1650e77e3833b191bc522cbcf00ce387b902d262b18d4c1c5068d1f4f99800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a08c195eaa3f02ef2312020d5accce3a9615e37e619a2e0253115bcd66e4a6a4eda0422b69103467b7aeaf7651708db04295711a46078a4a85e2fccaf13f51abe10aa089a3430d03925ea4274c66f068d4ace812223ff221cb0c4d1df02927965ee357a0d8415572dc6b012d286ae12b54d1b7475a4b43113c8bab6f347e671414d8a694a01716a85575c5a1b195a9e02121d07fb6eaf5bbfc6938d4537138681acd8315b8a0002570718e32a0fbdae8c5b723da01edda77a4852934d3c645389c6631211f13a038d1ae18cb7741a38f719bffde1a52a5aa9c10e1f93f82eaf6fe07f5c76618d5a0395e9af83245d13c06d732c880071ab81c77c99ade788d6d8ea38620116263b4a0d8a06b563bb6204f91f4ad7690251ce5b9d56915a575bbeb7a107ad3e22834f9a0332d6dda1e28dba6fbfe3b1ba558253b86e4b4029f7ed6a4b31fcfbd8b0442c2a035581d349cac8c51e073e854220e2a6fa42ee2acd4533dc5bd73b64f559da058a0ec3ac326de1aa73fde2e993d5b49236041fd29aadd04eaf29f40ea80cb2082a9a04e66fae57be8bf810555d3abc4a4509f85235591a9de163236049bca191c6b52a058952c2e44dea441f9e6bd5e05a7e4aeaa5524cce81480b179bc2501c4288f8ca0eefb90addf24bdb27a0f00a45379a739191e0e1a84e17d067443279f0384f792a07b1a77c5a70b5a7d976cbce5532b1e56d860e85b377b9ada811aa126a8647129800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a0f240d420d56fb6a0661e5540708583c94c2386d33fae80f2c7a69c07e5aae5daa0ca7f9668066c0463a023e397a0c82624bdf86705d0668d2991e45054af25a473a04a8c7978af2109540dcdca32522bfffe4e7dd8f6f761f44d17e814896e7f2034a0795f64104d62039d80acd570e30c6bfe97fcb4ff233dbbbf9a381f838965d48ca06b5fb5597f42268961310fc7d19d7af593c180f4f5dbc38a66805eb6c8873423a0e26d58e9a874e9389473be106c8dd158dc68c8daf0f22122c5412ab3529325b4a0a53fd2943ee26da7f9bc9147f79898dda6cd459241d290c55f41cfbd5d5b4118a0d270439d97c561ae41a26b43968194d1c4382cc11eb2fa42960a79fc231f53aba020346c5baeb81a7173c82e4f355484d60de93de999a11ce43ebcf5504c84cc7ba048afb3f718e09f14b8a571454567f062a1290e08164ee60a0cf021c183ea2bd0a0a9c69dff9d9f59ed49721480f5787dff0b496522656c78a2179e1fe09c810734a0f265cdb2dc13ebedef646cca2ccbfe58a7520f41636be06ec259df9003b919e2a0a79f9f439b4d8f090c2a18eb2be24c620d65516f840e0f5fdfd407f369f97122a0cd1dd30f61aeaa4cdd56d7eee41b4aaaac7ec2170e0cd698ec89a466308ced1da0286dec0b6d1ed887531244b0bbb55475438dee2297a31d0b689a4f32efd2f9c1a0c10fcc2155109f8c7e38aa7d2ade7d43fddc0c8c0132c780ccf6f4b2654438cb800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a0f8857da04245d26f3f516b2a273772aa3b8d2820a6eaa4c76d40bfdfb7d39a66a0e0d666157a6a87b08ae5a6b817120162096833b3eb5d2baabfd6d5dab57d32f7a02f43be085f0b7ff20cfdfe6c46a3f743f34f5404ea032ca39cdf3ff47fc63340a0c21722cdcd31961d1feb91ecb8c516f374dccdc269e866efee45791b4df32ef6a0f62d46830bc92166aaea8e98e3bd7899d398798488a6eb494364b06d20c9b192a0180aef44cf68c3c995151de73448b5c7764bbc9d02f22fcbd5e2c1b380b34b85a013099bb793e49eaff8bc0ac48e7beccd128db92801ef0c3b70054c210dc392d8a084dffe4f247cc3c55b55232c6d0ddfea1efa2f81058d10fae6f668c59af769f4a0a28b07977f3f15788973897fc8ddf0abb2eb1f483f17db8d7806e7075113b588a0bfa96e1ea8884331e00e1db303047675e150bc4b7e12da92ee313736c999f306a0d60c76a535369c5133162109ff0b7d31a86f761b960877844f5e8d2ea61e374ea09cf210245b4a003a67d902e1d292604dfd8ea670d238e196de1f8552c2190da1a0e9c50bdd39d17e552092fb4a8667014d4238ad36f9df2fce0e46a30d8367381aa033bbcc8f4e1225c046bdb1aa521a1f119c91b95a2ae54e30a5589e0c097b4222a07184dfd2a1cf08e5f807c9bbe3fb8769f75b3445adf6a54256514e4a0d2bae75a055ff247c29ccbd8e6a1509744452769eee32a11bbfd9a10fe4845a688af550ef8000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b4f901b1a09c3195b12388be99067461f2262c5c6214d4f8e94cc5eec24a9a71e61d54e508a0f1c3c5124e3da5472dc291a69182a7e7db617406920e84237b11c7fbedd72cb9a0515917a83738f64823fef4dbc34bc33917be7bacac5120b89620bf74e796daa5a00c8602aa039c10035f446c70897cba77990f4a831a1e8e952f3238d44284ff2c80a09e6078bc1f1587d4bcd868b4416fdbc7c02bce2bdb8047364ce7e180f933bbf280a05a9430e903c784e44574ce53e5b7fa47d81ad651971049a550873e07a1c92828a0fc4f725b4a71d1e4cd4a8f0286ad2df51be628bcb2049a9bb5bdfbc6bfb93d17a0952a6e1a50dba377c39f1a244b53277d5f3ac61238d0ad5c59516121dacfe110a0f21906129400d9b30465dbc6457f70c93a01ed8a50333c083a783c696c304b2aa0a7271c0e592b97be12ad1672c700a4819b3ba488453b95dd258af581d44233f9a0d6b11baa831e22794ca384b5d180a1b3ac220de4db35fd3eefa7ac5dd910404180a05498e34897d0b0ac7e5db59506647e5c3fb058441867bacb8bc43aa859f1372da0d7065509114cda842dbddfc4ea6b224d6775adc5925478a543f421f4276f7584800000000000000000000000000000000000000000000000000000000000000000000000000000000000000093f891808080a02b8398e26691ac598497bf3c74382e2c0998c0bb376a9304c48f1c5ea9aaa96280a0e2eaa62131b7b1dad47db69087287bd670e8ee1cc750cf1b6d2756a928b6cfd1808080808080a07267359abdab48f179835b127bdfae480fd4d30cd9c813d1ed19e325867a65fea0f587fb74233c82b99efce314a07b60772a5120f5e6c14c0d7a418e16a5f9f93f808080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043f8419e20347ba1d6fc91e86af0e4566be03ddc880bd303d440f698ab6849ba0ccaa1a0f6a27ab46805b18c1bfcbbe45f450c70ff3ce88cb95b630d6eda2eaeebe8dda40000000000000000000000000000000000000000000000000000000000"
);
}
}
Loading
Loading