Source Code

;; SPDX-License-Identifier: BUSL-1.1

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

(define-constant ONE_8 u100000000) ;; 8 decimal places
(define-constant MAX_UINT u340282366920938463463374607431768211455)

(define-constant OWNER 'SP1ESCTF9029MH550RKNE8R4D62G5HBY8PBBAF2N8)
(define-constant LAUNCH_OWNER { address: (get hash-bytes (unwrap-panic (principal-destruct? OWNER))), chain-id: none })

(define-constant LAUNCH_TOKEN { address: 'SP2XD7417HGPRTREMKF748VNEQPDRR0RMANB7X1NK.token-abtc, chain-id: (some u0) })
(define-constant PAYMENT_TOKEN 'SP2XD7417HGPRTREMKF748VNEQPDRR0RMANB7X1NK.token-abtc)

(define-constant PRICE_PER_TICKET u100) ;; 0.000001 BTC or $0.1

(define-constant REGISTRATION_PERIOD u72) ;; 0.5 day
(define-constant TOKENS_PER_TICKET u1100) ;; 0.000011 BTC or $1.1
(define-constant FEE_PER_TICKET u0)

(define-constant MAX_REGISTRATION u250)
(define-constant MAX_TICKETS u387)
(define-constant SUPPLY_TICKETS u387)

(define-constant WHITELIST (list
	{ owner: { address: 0x0055797647eA5aE4977bB8CB444E8D7ac1b20fB3, chain-id: (some u1) }, whitelisted: u250 }
	{ owner: { address: 0x321f7d116f980fac4415262e50f674effd5ff58d, chain-id: (some u2) }, whitelisted: u50 }
	{ owner: { address: (get hash-bytes (unwrap-panic (principal-destruct? 'SPEJJMSNMD1F74RKVJSGPXJ1839STT5EVY0C64KZ))), chain-id: none }, whitelisted: u50 }
	{ owner: { address: 0xf289bbc3207322bb5531b041540ad2119c01adc2, chain-id: (some u16) }, whitelisted: u25 }
	{ owner: { address: 0x0014aa6558c31522e6684369f4581481b259a39681ee, chain-id: (some u0) }, whitelisted: u12 }
))

(define-public (execute (sender principal))
	(let (
		(transfer-abtc (try! (contract-call? .alex-launchpad-v2-03d transfer-all-to-dao 'SP2XD7417HGPRTREMKF748VNEQPDRR0RMANB7X1NK.token-abtc)))		
		(distribution-id (try! (contract-call? .alex-launchpad-v2-03e create-pool 
	{
		launch-token: LAUNCH_TOKEN,
		payment-token: PAYMENT_TOKEN,
		launch-owner: LAUNCH_OWNER,
		launch-tokens-per-ticket-in-fixed: TOKENS_PER_TICKET,
		price-per-ticket-in-fixed: PRICE_PER_TICKET,
		activation-threshold: u0,
		registration-start-height: (+ tenure-height u1),
		registration-end-height: (+ tenure-height u1 REGISTRATION_PERIOD),
		claim-end-height: (+ tenure-height u1 REGISTRATION_PERIOD REGISTRATION_PERIOD u1000),
		apower-per-ticket-in-fixed: (list { apower-per-ticket-in-fixed: u0, tier-threshold: MAX_UINT }),
		registration-max-tickets: MAX_REGISTRATION,
		fee-per-ticket-in-fixed: FEE_PER_TICKET,
		total-registration-max: MAX_TICKETS,
		memo: none
	}))))
(try! (contract-call? .alex-launchpad-v2-03e set-use-whitelist distribution-id true))
(try! (contract-call? .alex-launchpad-v2-03e set-whitelisted distribution-id WHITELIST))
(try! (contract-call? .alex-launchpad-v2-03e add-to-position distribution-id SUPPLY_TICKETS 'SP2XD7417HGPRTREMKF748VNEQPDRR0RMANB7X1NK.token-abtc))			

(try! (contract-call? 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.token-apower add-approved-contract .alex-launchpad-v2-03e))
(try! (contract-call? .alex-launchpad-v2-03e add-approved-operator 'SP17JDRQ402PC603JJK5YH9N0XRP9RBRGQ91RJHA3))
(try! (contract-call? .alex-launchpad-v2-03e add-approved-operator 'SP2XD7417HGPRTREMKF748VNEQPDRR0RMANB7X1NK.executor-dao))	

(try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.migrate-legacy-v2-wl finalise-migrate 'SP1R0X4XT4B3731JYXM52BZ7HSYHNREFCGY12W9N0))
(try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.migrate-legacy-v2-wl finalise-migrate 'SPYEE1VDCHE686A91MESKPXXATFSZ9PBJ3YXPP7M))
(try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.migrate-legacy-v2-wl finalise-migrate 'SP1GQJNAM4E8287VMY51TE7A3855CR4P49QYYP9GS))
(try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.migrate-legacy-v2-wl finalise-migrate 'SP30ARNSK59ZPMJW4D172VZ6F5DZ0JX40ZHN56797))
(try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.migrate-legacy-v2-wl finalise-migrate 'SP1KFG66YNN0NBK578H2KDQ202SMMNTY7X1SN4PVG))
(try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.migrate-legacy-v2-wl finalise-migrate 'SP13Q1T579E33KYV96SS8RZ3K7CAT3T6PB0C8TA6Z))
		(ok true)))

Functions (1)

FunctionAccessArgs
executepublicsender: principal