|
|
|
"use strict";
|
|
|
|
var imports = require('soop');
|
|
|
|
var bignum = imports.bignum || require('bignum');
|
|
|
|
var Point = imports.Point || require('./Point');
|
|
|
|
|
|
|
|
var n = bignum.fromBuffer(new Buffer("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", 'hex'), {size: 32});
|
|
|
|
|
|
|
|
|
|
|
|
var Curve = function() {
|
|
|
|
};
|
|
|
|
|
|
|
|
/* secp256k1 curve */
|
|
|
|
var G;
|
|
|
|
Curve.getG = function() {
|
|
|
|
// don't use Point in top scope, causes exception in browser
|
|
|
|
// when Point is not loaded yet
|
|
|
|
|
|
|
|
// use cached version if available
|
|
|
|
G = G || new Point(bignum.fromBuffer(new Buffer("79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798", 'hex'), {size: 32}),
|
|
|
|
bignum.fromBuffer(new Buffer("483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8", 'hex'), {size: 32}));
|
|
|
|
return G;
|
|
|
|
};
|
|
|
|
|
|
|
|
Curve.getN = function() {
|
|
|
|
return n;
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = require('soop')(Curve);
|