1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-15 04:32:21 +00:00
ton/crypto/test/fift/secp256k1.fif
SpyCheese 25b4c6794a
TVM instructions: SECP256K1_XONLY_PUBKEY_TWEAK_ADD, SETCONTCTRMANY(X) (#1404)
* TVM instructions: SECP256K1_XONLY_PUBKEY_TWEAK_ADD, SETCONTCTRMANY(X)

* Add tests for xonly_pubkey_tweak_add

* added secp256k1 as submodule, since we need extrakeys feature of secp256k1

* cleanup

* add ton_crypto_core secp256k1 dependency

* adjust Dockerfile, android and wasm builds

* adjust nix build

* test windows build with SECP256K1_ENABLE_MODULE_EXTRAKEYS

* test windows build with SECP256K1_ENABLE_MODULE_EXTRAKEYS

* adjust android build

* adjust emscripten build

* adjust emscripten build

* try macos-13

* emscripten build adjustments

* windows build adjustments

* final corrections

---------

Co-authored-by: neodix <neodix@ton.org>
2024-11-26 16:23:17 +03:00

82 lines
No EOL
3.2 KiB
Text

"Asm.fif" include
"FiftExt.fif" include
{
=: expected_result
=: tweak
=: pubkey
B{e80fe1639c9ca050e3af1b39c143c63e429cbceb15d940fbb5c5a1f4af57c5e9e80fe1639c9ca050e3af1b39c143c63e429cbceb15d940fbb5c5a1f4af57c5e9}
@' pubkey 256 u>B @' tweak 256 u>B B+ B+ Bhashu =: tweak2
@' pubkey @' tweak2
[[ <{ SECP256K1_XONLY_PUBKEY_TWEAK_ADD }>s ]] 0 runvmx
abort"exitcode != 0" -1 <> abort"xonly_pubkey_tweak_add failed"
drop
=: result
."Pubkey = " @' pubkey x. cr
."Tweak = " @' tweak x. cr
."Tweak2 = " @' tweak2 x. cr
@' expected_result @' result <> { ."Expected = " @' expected_result x. cr ."Found = " @' result x. cr -1 abort"result mismatch" } if
."Result = " @' result x. cr
4 <> abort"first byte is expected to be 4"
cr
} : run-test
0x4be5f2020ebe2f37b65fb1bcd8aecf2ab0a333427208a5e6dd3dc691f1fb6ae2
0x7eeda5cc8b219363ffc29a77d170f923dbb939ea5164b71db862d4a192f2680f
0x5a001d32f9fc59c2965ef36d9ff154469a3ba87f00b95879f3b5198bb557494d
run-test
0x3ad84c3844e66aa255a121ed46d0e69e7b98f31233941c5197917c97c7aeaec5
0x3f339347d8b1dde7edade3dc59fc63d18cb21fc2326ffbd30f0711a02d25075a
0xc621ca417b8915474020c0c9471a13918b6a02fd20d48a0e526c896923457fcd
run-test
0x57bb69f0d446ee2cf9f77a2bdca7a3a462a61d85997a1154f2321a2717951b02
0x3197d6b03d78ebbe694d2b89945a21a5a671ca78393481d44739b7351767adef
0xcbf0da3bbb498fd575506060d04db426164cb9d1477f07481fc6e3a2f84b01ea
run-test
0x4af537be1a1ae11770eef23e6087f83ce1019fbee7a5876837107f84929a1d19
0xcf9bfedc7251c2f8e233ae1e2c8b7a6cbe25d96a46a38b79e45d5684d026b64c
0x19b1aa4551bf08363b2533c146c02fa61e26941336aaa16cdd4393a5440392ea
run-test
0x4be5f2020ebe2f37b65fb1bcd8aecf2ab0a333427208a5e6dd3dc691f1fb6ae2
0x1762cbfa935318fb1395b50c64f961baab3ecaed4afad3068ba2f7f3a9d15cec
0x38be4b9791c0cb4952b9fb944eb0fe9256ce0d48be7b92129caafdf2f521248a
run-test
0x3ad84c3844e66aa255a121ed46d0e69e7b98f31233941c5197917c97c7aeaec5
0x099ec2e6ee1c40f533a61abca2860733727204c2f31d078297194d5e93e148f7
0x8e9d15851e9aeb652216378f6bc0b88fb66b491697c9b9588f37c11d0b0fbced
run-test
0x57bb69f0d446ee2cf9f77a2bdca7a3a462a61d85997a1154f2321a2717951b02
0x63494cee8217ca2a10076e2031534fdda39f132dbdf91606aa65021709cb3116
0x5dd1aa62a438469f4934e1ab9ada9ba3945651a2641316ec91d0780ca71891f8
run-test
0x4af537be1a1ae11770eef23e6087f83ce1019fbee7a5876837107f84929a1d19
0x36e26133dc62474040eae511ce89610dae6bb0359aa80738baf812ecfa03d2a1
0xf9ab8bbbee0ad1e90492c952b362d43d56412debdd1224e9729dc79aff931943
run-test
0x4be5f2020ebe2f37b65fb1bcd8aecf2ab0a333427208a5e6dd3dc691f1fb6ae2
0x94f8fb43dd6001bb8acd2c53d094f9c919766dad596498d3d582cebdb39c63da
0xf7b4c76d79925f62e7969cb0e4af0673808f646add78563f711dc33a2687dc1b
run-test
0x3ad84c3844e66aa255a121ed46d0e69e7b98f31233941c5197917c97c7aeaec5
0xa2f55c34c4eee5881584714bd5c7a63c397ef38ff1afedd04ada10fdeb541cef
0x73f9a15b76612ca4254e6c2758508589c0112eb724f42dbb4c65ff8b025d2103
run-test
0x57bb69f0d446ee2cf9f77a2bdca7a3a462a61d85997a1154f2321a2717951b02
0x05130a68853e5e4aff579fa21ff10010410a3be47b94d908e203f69ec9dc7d00
0x4ce6b5b1bd77b1666d33a0c9fd37b98952078bcc451d6de2d0bff65e8f2b46ed
run-test
0x4af537be1a1ae11770eef23e6087f83ce1019fbee7a5876837107f84929a1d19
0x9765369cb4467bebc8a468d44aa60f0154f04ee32fbcf1c8bdf646d4840163d1
0x118953c642b8f25fea3519bcaab3ae6cea25402088e11a8efdc2e0bd222958ad
run-test