mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-19 21:31:37 +00:00
* update secp256k1 library from go-eth code * cast deprecated functions to use new BitCurve type * add IsOnCurve checks and tests * add test outcome check
24 lines
665 B
Go
24 lines
665 B
Go
// Copyright 2015 Jeffrey Wilcke, Felix Lange, Gustav Simonsson. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be found in
|
|
// the LICENSE file.
|
|
|
|
//go:build !gofuzz && cgo
|
|
// +build !gofuzz,cgo
|
|
|
|
package secp256k1
|
|
|
|
import "C"
|
|
import "unsafe"
|
|
|
|
// Callbacks for converting libsecp256k1 internal faults into
|
|
// recoverable Go panics.
|
|
|
|
//export secp256k1GoPanicIllegal
|
|
func secp256k1GoPanicIllegal(msg *C.char, data unsafe.Pointer) {
|
|
panic("illegal argument: " + C.GoString(msg))
|
|
}
|
|
|
|
//export secp256k1GoPanicError
|
|
func secp256k1GoPanicError(msg *C.char, data unsafe.Pointer) {
|
|
panic("internal error: " + C.GoString(msg))
|
|
}
|