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	u3013	u3014	u3015	u3016	u3017	u3018	u3019	u3020	u3021	u3022	u3023	u3024	u3025	u3026	u3027	u3028	u3029	u3030	u3031	u3032	u3033	u3034	u3035	u3036	u3037	u3038	u3039	u3040	u3041	u3042	u3043	u3044	u3045	u3046	u3047	u3048	u3049	u3050	u3051	u3052	u3053	u3054	u3055	u3056	u3057	u3058	u3059	u3060	u3061	u3062	u3063	u3064	u3065	u3066	u3067	u3068	u3069	u3070	u3071	u3072	u3073	u3074	u3075	u3076	u3077	u3078	u3079	u3080	u3081	u3082	u3083	u3084	u3085	u3086	u3087	u3088	u3089	u3090	u3091	u3092	u3093	u3094	u3095	u3096	u3097	u3098	u3099	u3100	u3101	u3102	u3103	u3104	u3105	u3106	u3107	u3108	u3109	u3110	u3111	u3112	u3113	u3114	u3115	u3116	u3117	u3118	u3119	u3120	u3121	u3122	u3123	u3124	u3125	u3126	u3127	u3128	u3129	u3130	u3131	u3132	u3133	u3134	u3135	u3136	u3137	u3138	u3139	u3140	u3141	u3142	u3143	u3144	u3145	u3146	u3147	u3148	u3149	u3150	u3151	u3152	u3153	u3154	u3155	u3156	u3157	u3158	u3159	u3160	u3161	u3162	u3163	u3164	u3165	u3166	u3167	u3168	u3169	u3170	u3171	u3172	u3173	u3174	u3175	u3176	u3177	u3178	u3179	u3180	u3181	u3182	u3183	u3184	u3185	u3186	u3187	u3188	u3189	u3190	u3191	u3192	u3193	u3194	u3195	u3196	u3197	u3198	u3199	u3200	u3201	u3202	u3203	u3204	u3205	u3206	u3207	u3208	u3209	u3210	u3211	u3212	u3213	u3214	u3215	u3216	u3217	u3218	u3219	u3220	u3221	u3222	u3223	u3224	u3225	u3226	u3227	u3228	u3229	u3230	u3231	u3232	u3233	u3234	u3235	u3236	u3237	u3238	u3239	u3240	u3241	u3242	u3243	u3244	u3245	u3246	u3247	u3248	u3249	u3250	u3251	u3252	u3253	u3254	u3255	u3256	u3257	u3258	u3259	u3260	u3261	u3262	u3263	u3264	u3265	u3266	u3267	u3268	u3269	u3270	u3271	u3272	u3273	u3274	u3275	u3276	u3277	u3278	u3279	u3280	u3281	u3282	u3283	u3284	u3285	u3286	u3287	u3288	u3289	u3290	u3291	u3292	u3293	u3294	u3295	u3296	u3297	u3298	u3299	u3300	u3301	u3302	u3303	u3304	u3305	u3306	u3307	u3308	u3309	u3310	u3311	u3312	u3313	u3314	u3315	u3316	u3317	u3318	u3319	u3320	u3321	u3322	u3323	u3324	u3325	u3326	u3327	u3328	u3329	u3330	u3331	u3332	u3333	u3334	u3335	u3336	u3337	u3338	u3339	u3340	u3341	u3342	u3343	u3344	u3345	u3346	u3347	u3348	u3349	u3350	u3351	u3352	u3353	u3354	u3355	u3356	u3357	u3358	u3359	u3360	u3361	u3362	u3363	u3364	u3365	u3366	u3367	u3368	u3369	u3370	u3371	u3372	u3373	u3374	u3375	u3376	u3377	u3378	u3379	u3380	u3381	u3382	u3383	u3384	u3385	u3386	u3387	u3388	u3389	u3390	u3391	u3392	u3393	u3394	u3395	u3396	u3397	u3398	u3399	u3400	u3401	u3402	u3403	u3404	u3405	u3406	u3407	u3408	u3409	u3410	u3411	u3412	u3413	u3414	u3415	u3416	u3417	u3418	u3419	u3420	u3421	u3422	u3423	u3424	u3425	u3426	u3427	u3428	u3429	u3430	u3431	u3432	u3433	u3434	u3435	u3436	u3437	u3438	u3439	u3440	u3441	u3442	u3443	u3444	u3445	u3446	u3447	u3448	u3449	u3450	u3451	u3452	u3453	u3454	u3455	u3456	u3457	u3458	u3459	u3460	u3461	u3462	u3463	u3464	u3465	u3466	u3467	u3468	u3469	u3470	u3471	u3472	u3473	u3474	u3475	u3476	u3477	u3478	u3479	u3480	u3481	u3482	u3483	u3484	u3485	u3486	u3487	u3488	u3489	u3490	u3491	u3492	u3493	u3494	u3495	u3496	u3497	u3498	u3499	u3500	u3501	u3502	u3503	u3504	u3505	u3506	u3507	u3508	u3509	u3510	u3511	u3512	u3513	u3514	u3515	u3516	u3517	u3518	u3519	u3520	u3521	u3522	u3523	u3524	u3525	u3526	u3527	u3528	u3529	u3530	u3531	u3532	u3533	u3534	u3535	u3536	u3537	u3538	u3539	u3540	u3541	u3542	u3543	u3544	u3545	u3546	u3547	u3548	u3549	u3550	u3551	u3552	u3553	u3554	u3555	u3556	u3557	u3558	u3559	u3560	u3561	u3562	u3563	u3564	u3565	u3566	u3567	u3568	u3569	u3570	u3571	u3572	u3573	u3574	u3575	u3576	u3577	u3578	u3579	u3580	u3581	u3582	u3583	u3584	u3585	u3586	u3587	u3588	u3589	u3590	u3591	u3592	u3593	u3594	u3595	u3596	u3597	u3598	u3599	u3600	u3601	u3602	u3603	u3604	u3605	u3606	u3607	u3608	u3609	u3610	u3611	u3612	u3613	u3614	u3615	u3616))
(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