mirror of
				https://github.com/ton-blockchain/ton
				synced 2025-03-09 15:40:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/fift -s
 | |
| "TonUtil.fif" include
 | |
| 
 | |
| { ."usage: " @' $0 type ." <filename-base> <seqno> <index> <new-value-boc> [<savefile>]" cr
 | |
|   ."Creates a request to simple configuration smart contract created by mc0.fif requesting to change configuration parameter <index> to <new-value-boc>, "
 | |
|   ."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 4 < swap 5 > or ' usage if
 | |
| 
 | |
| "config-master" constant file-base
 | |
| 0 constant seqno
 | |
| -1 constant idx
 | |
| true constant bounce
 | |
| "new-value.boc" constant boc-filename
 | |
| 100 constant interval  // valid for 100 seconds
 | |
| 
 | |
| $1 =: file-base
 | |
| $2 parse-int =: seqno
 | |
| $3 parse-int =: idx
 | |
| $4 =: boc-filename
 | |
| def? $5 { @' $5 } { "config-query" } cond 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 value of configuration parameter " idx . ."from file " boc-filename type cr
 | |
| boc-filename file>B B>boc
 | |
| dup <s csr. cr
 | |
| 
 | |
| dup idx is-valid-config? not abort"not a valid value for chosen configuration parameter"
 | |
| 
 | |
| // create a message
 | |
| <b x{43665021} s, seqno 32 u, now interval + 32 u, idx 32 i, 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
 |