22import { bech32 , BechLib } from 'bech32' ;
33import { Region } from './memory' ;
44import { ecdsaRecover , ecdsaVerify } from 'secp256k1' ;
5- import { eddsa } from 'elliptic' ;
65import { IBackend , Record } from './backend' ;
76import { toByteArray } from './helpers/byte-array' ;
87
@@ -16,12 +15,10 @@ export class VMInstance {
1615 public instance ?: WebAssembly . Instance ;
1716 public backend : IBackend ;
1817 public bech32 : BechLib ;
19- public eddsa : eddsa ;
2018
2119 constructor ( backend : IBackend ) {
2220 this . backend = backend ;
2321 this . bech32 = bech32 ;
24- this . eddsa = new eddsa ( 'ed25519' ) ;
2522 }
2623
2724 public async build ( wasmByteCode : ArrayBuffer ) {
@@ -371,10 +368,10 @@ export class VMInstance {
371368 const sig = Buffer . from ( signature . data ) . toString ( 'hex' ) ;
372369 const pub = Buffer . from ( pubkey . data ) . toString ( 'hex' ) ;
373370 const msg = Buffer . from ( message . data ) . toString ( 'hex' ) ;
374- const _signature = this . eddsa . makeSignature ( sig ) ;
375- const _pubkey = this . eddsa . keyFromPublic ( pub ) ;
371+ const _signature = global . eddsa ( ) . makeSignature ( sig ) ;
372+ const _pubkey = global . eddsa ( ) . keyFromPublic ( pub ) ;
376373
377- const isValidSignature = this . eddsa . verify ( msg , _signature , _pubkey ) ;
374+ const isValidSignature = global . eddsa ( ) . verify ( msg , _signature , _pubkey ) ;
378375
379376 if ( isValidSignature ) {
380377 return 0 ;
@@ -410,10 +407,10 @@ export class VMInstance {
410407 const _sig = Buffer . from ( sig ) . toString ( 'hex' ) ;
411408 const _pub = Buffer . from ( pub ) . toString ( 'hex' ) ;
412409 const _msg = Buffer . from ( msg ) . toString ( 'hex' ) ;
413- const _signature = this . eddsa . makeSignature ( _sig ) ;
414- const _pubkey = this . eddsa . keyFromPublic ( _pub ) ;
410+ const _signature = global . eddsa ( ) . makeSignature ( _sig ) ;
411+ const _pubkey = global . eddsa ( ) . keyFromPublic ( _pub ) ;
415412
416- const isValidSignature = this . eddsa . verify ( _msg , _signature , _pubkey ) ;
413+ const isValidSignature = global . eddsa ( ) . verify ( _msg , _signature , _pubkey ) ;
417414
418415 if ( ! isValidSignature ) {
419416 return 1 ;
0 commit comments