Source Code

;; SPDX-License-Identifier: BUSL-1.1

(impl-trait 'SP2XD7417HGPRTREMKF748VNEQPDRR0RMANB7X1NK.proposal-trait.proposal-trait)

(define-constant err-unauthorised (err u1000))

(define-constant MAX_UINT u240282366920938463463374607431768211455)
(define-constant ONE_8 u100000000)
(define-constant requests (list u2397	u2398	u2399	u2400	u2401	u2402	u2403	u2404	u2405	u2406	u2407	u2408	u2409	u2410	u2411	u2412	u2413	u2414	u2415	u2416	u2417	u2418	u2419	u2420	u2421	u2422	u2423	u2424	u2425	u2426	u2427	u2428	u2429	u2430	u2431	u2432	u2433	u2434	u2435	u2436	u2437	u2438	u2439	u2440	u2441	u2442	u2443	u2444	u2445	u2446	u2447	u2448	u2449	u2450	u2451	u2452	u2453	u2454	u2455	u2456	u2457	u2458	u2459	u2460	u2461	u2462	u2463	u2464	u2465	u2466	u2467	u2468	u2469	u2470	u2471	u2472	u2473	u2474	u2475	u2476	u2477	u2478	u2479	u2480	u2481	u2482	u2483	u2484	u2485	u2486	u2487	u2488	u2489	u2490	u2491	u2492	u2493	u2494	u2495	u2496	u2497	u2498	u2499	u2500	u2501	u2502	u2503	u2504	u2505	u2506	u2507	u2508	u2509	u2510	u2511	u2512	u2513	u2514	u2515	u2516	u2517	u2518	u2519	u2520	u2521	u2522	u2523	u2524	u2525	u2526	u2527	u2528	u2529	u2530	u2531	u2532	u2533	u2534	u2535	u2536	u2537	u2538	u2539	u2540	u2541	u2542	u2543	u2544	u2545	u2546	u2547	u2548	u2549	u2550	u2551	u2552	u2553	u2554	u2555	u2556	u2557	u2558	u2559	u2560	u2561	u2562	u2563	u2564	u2565	u2566	u2567	u2568	u2569	u2570	u2571	u2572	u2573	u2574	u2575	u2576	u2577	u2578	u2579	u2580	u2581	u2582	u2583	u2584	u2585	u2586	u2587	u2588	u2589	u2590	u2591	u2592	u2593	u2594	u2595	u2596	u2597	u2598	u2599	u2600	u2601	u2602	u2603	u2604	u2605	u2606	u2607	u2608	u2609	u2610	u2611	u2612	u2613	u2614	u2615	u2616	u2617	u2618	u2619	u2620	u2621	u2622	u2623	u2624	u2625	u2626	u2627	u2628	u2629	u2630	u2631	u2632	u2633	u2634	u2635	u2636	u2637	u2638	u2639	u2640	u2641	u2642	u2643	u2644	u2645	u2646	u2647	u2648	u2649	u2650	u2651	u2652	u2653	u2654	u2655	u2656	u2657	u2658	u2659	u2660	u2661	u2662	u2663	u2664	u2665	u2666	u2667	u2668	u2669	u2670	u2671	u2672	u2673	u2674	u2675	u2676	u2677	u2678	u2679	u2680	u2681	u2682	u2683	u2684	u2685	u2686	u2687	u2688	u2689	u2690	u2691	u2692	u2693	u2694	u2695	u2696	u2697	u2698	u2699	u2700	u2701	u2702	u2703	u2704	u2705	u2706	u2707	u2708	u2709	u2710	u2711	u2712	u2713	u2714	u2715	u2716	u2717	u2718	u2719	u2720	u2721	u2722	u2723	u2724	u2725	u2726	u2727	u2728	u2729	u2730	u2731	u2732	u2733	u2734	u2735	u2736	u2737	u2738	u2739	u2740	u2741	u2742	u2743	u2744	u2745	u2746	u2747	u2748	u2749	u2750	u2751	u2752	u2753	u2754	u2755	u2756	u2757	u2758	u2759	u2760	u2761	u2762	u2763	u2764	u2765	u2766	u2767	u2768	u2769	u2770	u2771	u2772	u2773	u2774	u2775	u2776	u2777	u2778	u2779	u2780	u2781	u2782	u2783	u2784	u2785	u2786	u2787	u2788	u2789	u2790	u2791	u2792	u2793	u2794	u2795	u2796	u2797	u2798	u2799	u2800	u2801	u2802	u2803	u2804	u2805	u2806	u2807	u2808	u2809	u2810	u2811	u2812	u2813	u2814	u2815	u2816	u2817	u2818	u2819	u2820	u2821	u2822	u2823	u2824	u2825	u2826	u2827	u2828	u2829	u2830	u2831	u2832	u2833	u2834	u2835	u2836	u2837	u2838	u2839	u2840	u2841	u2842	u2843	u2844	u2845	u2846	u2847	u2848	u2849	u2850	u2851	u2852	u2853	u2854	u2855	u2856	u2857	u2858	u2859	u2860	u2861	u2862	u2863	u2864	u2865	u2866	u2867	u2868	u2869	u2870	u2871	u2872	u2873	u2874	u2875	u2876	u2877	u2878	u2879	u2880	u2881	u2882	u2883	u2884	u2885	u2886	u2887	u2888	u2889	u2890	u2891	u2892	u2893	u2894	u2895	u2896	u2897	u2898	u2899	u2900	u2901	u2902	u2903	u2904	u2905	u2906	u2907	u2908	u2909	u2910	u2911	u2912	u2913	u2914	u2915	u2916	u2917	u2918	u2919	u2920	u2921	u2922	u2923	u2924	u2925	u2926	u2927	u2928	u2929	u2930	u2931	u2932	u2933	u2934	u2935	u2936	u2937	u2938	u2939	u2940	u2941	u2942	u2943	u2944	u2945	u2946	u2947	u2948	u2949	u2950	u2951	u2952	u2953	u2954	u2955	u2956	u2957	u2958	u2959	u2960	u2961	u2962	u2963	u2964	u2965	u2966	u2967	u2968	u2969	u2970	u2971	u2972	u2973	u2974	u2975	u2976	u2977	u2978	u2979	u2980	u2981	u2982	u2983	u2984	u2985	u2986	u2987	u2988	u2989	u2990	u2991	u2992	u2993	u2994	u2995	u2996	u2997	u2998	u2999 u3000	u3001	u3002	u3003	u3004	u3005	u3006	u3007	u3008	u3009 u3010	u3011	u3012))
(define-constant requestor 'SP34VWFB5QTP1BWBKET8E2JZ7GSHQS6VX9MCJCFX4)

(define-public (execute (sender principal))
	(begin			
(print { revoked: (try! (fold revoke-request-iter requests (ok u0))) })
(try! (contract-call? 'SP673Z4BPB4R73359K9HE55F2X91V5BJTN5SXZ5T.meta-bridge-registry-v2-04 approve-pair { token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wstx-v2, chain-id: u1002 } u"runes::895936:2906" false))
(try! (contract-call? 'SP673Z4BPB4R73359K9HE55F2X91V5BJTN5SXZ5T.meta-bridge-registry-v2-04 pause-peg-in { token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wstx-v2, chain-id: u1002 } true))
(try! (contract-call? 'SP673Z4BPB4R73359K9HE55F2X91V5BJTN5SXZ5T.meta-bridge-registry-v2-04 pause-peg-out { token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wstx-v2, chain-id: u1002 } true))
(try! (contract-call? 'SP673Z4BPB4R73359K9HE55F2X91V5BJTN5SXZ5T.meta-bridge-registry-v2-04 approve-pair { token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wstx-v2, chain-id: u1001 } u"$STX$" false))
(try! (contract-call? 'SP673Z4BPB4R73359K9HE55F2X91V5BJTN5SXZ5T.meta-bridge-registry-v2-04 pause-peg-in { token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wstx-v2, chain-id: u1001 } true))
(try! (contract-call? 'SP673Z4BPB4R73359K9HE55F2X91V5BJTN5SXZ5T.meta-bridge-registry-v2-04 pause-peg-out { token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wstx-v2, chain-id: u1001 } true))
(ok true)))

(define-private (revoke-request-iter (request-id uint) (prior (response uint uint)))
	(match prior
		ok-value
		(let (
				(request-details (try! (contract-call? 'SP673Z4BPB4R73359K9HE55F2X91V5BJTN5SXZ5T.meta-bridge-registry-v2-03 get-request-or-fail request-id))))
			(and 
				(is-eq (get requested-by request-details) requestor)
				(is-eq (get finalized request-details) false)
				(begin
					(try! (contract-call? 'SP673Z4BPB4R73359K9HE55F2X91V5BJTN5SXZ5T.meta-bridge-registry-v2-03 set-request request-id (merge request-details { revoked: true })))
					true))
			(ok (+ ok-value u1)))
		err-value (err err-value)))

Functions (2)

FunctionAccessArgs
executepublicsender: principal
revoke-request-iterprivaterequest-id: uint, prior: (response uint uint