diff --git a/package.json b/package.json index d2ee8e5..919c325 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "protocol2-js", - "version": "0.4.5", + "version": "0.4.7", "description": "loopring protocol simulator core lib", "main": "build/index.js", "types": "build/index.d.ts", diff --git a/src/multihash.ts b/src/multihash.ts index 5c4c026..a22ffa3 100644 --- a/src/multihash.ts +++ b/src/multihash.ts @@ -36,7 +36,7 @@ export class MultiHashUtil { sig.addNumber(algorithm, 1); switch (+algorithm) { case SignAlgorithm.Ethereum: - await this.signEthereumAsync(sig, hash, address); + await this.signEIP712Async(sig, hash, privateKey); return sig.getData(); case SignAlgorithm.EIP712: await this.signEIP712Async(sig, hash, privateKey); diff --git a/src/rings_generator.ts b/src/rings_generator.ts index db47db3..3d39f9e 100644 --- a/src/rings_generator.ts +++ b/src/rings_generator.ts @@ -229,8 +229,16 @@ export class RingsGenerator { this.insertOffset(param, param.data.addNumber(order.amountS, 32, false)); this.insertOffset(param, param.data.addNumber(order.amountB, 32, false)); this.insertOffset(param, param.data.addNumber(order.validSince, 4, false)); - param.tables.addNumber(order.tokenSpendableS.index, 2); - param.tables.addNumber(order.tokenSpendableFee.index, 2); + if (order.tokenSpendableS.index) { + param.tables.addNumber(order.tokenSpendableS.index, 2); + } else { + param.tables.addNumber(0, 2); + } + if (order.tokenSpendableFee.index) { + param.tables.addNumber(order.tokenSpendableFee.index, 2); + } else { + param.tables.addNumber(0, 2); + } if (order.dualAuthAddr) { this.insertOffset(param, param.data.addAddress(order.dualAuthAddr, 20, false));