mirror of
				https://github.com/ton-blockchain/ton
				synced 2025-03-09 15:40:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/fift -s
 | |
| "TonUtil.fif" include
 | |
| 
 | |
| { ."usage: " $0 type ." <filename-base> <seqno> [<savefile>]" cr
 | |
|   ."Creates a request to simple configuration smart contract requesting to change configuration smart contract code to the one currently stored in auto/config-code.fif, "
 | |
|   ."with private key loaded from file <filename-base>.pk, "
 | |
|   ."and saves it into <savefile>.boc ('config-query.boc' by default)" cr 1 halt
 | |
| } : usage
 | |
| $# dup 2 < swap 3 > or ' usage if
 | |
| 
 | |
| "config-master" constant file-base
 | |
| 0 constant qseqno
 | |
| -1 constant idx
 | |
| true constant bounce
 | |
| "auto/config-code.fif" constant config-source
 | |
| 100 constant interval  // valid for 100 seconds
 | |
| 
 | |
| 3 :$1..n
 | |
| $1 =: file-base
 | |
| $2 parse-int =: qseqno
 | |
| $3 "config-query" replace-if-null constant savefile
 | |
| 
 | |
| file-base +".addr" load-address
 | |
| 2dup 2constant config_addr
 | |
| ."Configuration smart contract address = " 2dup .addr cr 6 .Addr cr
 | |
| file-base +".pk" load-keypair nip constant config_pk
 | |
| 
 | |
| ."Loading new configuration smart contract code from file " config-source type cr
 | |
| "Asm.fif" include
 | |
| config-source include
 | |
| dup <s csr. cr
 | |
| 
 | |
| // create a message
 | |
| <b x{4e436f64} s, qseqno 32 u, now interval + 32 u, swap ref, b>
 | |
| dup ."signing message: " <s csr. cr
 | |
| dup hashu config_pk ed25519_sign_uint
 | |
| <b b{1000100} s, config_addr addr, 0 Gram, b{00} s,
 | |
|    swap B, swap <s s, b>
 | |
| dup ."resulting external message: " <s csr. cr
 | |
| 2 boc+>B dup Bx. cr
 | |
| savefile +".boc" tuck B>file
 | |
| ."(Saved to file " type .")" cr
 |