| 1234567891011121314151617181920212223242526272829303132333435363738 |
- # :set syntax=pism
- # :source ../scripts/pism.vim
- constant G_SPEND FixedGenerator
- constant CRH_IVK BlakePersonalization
- constant JUBJUB_FR_CAPACITY BinarySize
- constant NOTE_COMMIT PedersenPersonalization
- contract input_spend
- param secret Fr
- param ak Point
- param value U64
- start
- witness ak param:ak
- assert_not_small_order ak
- fr_as_binary_le secret param:secret
- ec_mul_const public secret G_SPEND
- ec_add public public ak
- emit_ec public
- # Below lines are random garbage
- # Uncomment them to test
- #alloc_binary preimage
- #ec_repr repr_ak ak
- #binary_extend preimage repr_ak
- #static_assert_binary_size preimage 256
- #blake2s ivk preimage CRH_IVK
- #binary_clone ivk2 ivk
- #emit_binary ivk
- #binary_truncate ivk2 JUBJUB_FR_CAPACITY
- #u64_as_binary_le value_bits param:value
- #ec_mul pk_d value_bits public
- #pedersen_hash cm ivk NOTE_COMMIT
- #ec_get_u cur cm
- end
|