aboutsummaryrefslogtreecommitdiffstats
path: root/packages/order-utils/test/abi_encoder_test.ts
diff options
context:
space:
mode:
authorGreg Hysen <greg.hysen@gmail.com>2018-11-15 05:51:08 +0800
committerGreg Hysen <greg.hysen@gmail.com>2018-11-29 08:38:10 +0800
commit2d2255e9af42f6441ee620c4aa74bd1981dfe03a (patch)
treec94089561cd9fdf84600c49ca29ad8c6d8eda341 /packages/order-utils/test/abi_encoder_test.ts
parent93e967c3b356f0081254946bbf8d6875fc791a09 (diff)
downloaddexon-sol-tools-2d2255e9af42f6441ee620c4aa74bd1981dfe03a.tar
dexon-sol-tools-2d2255e9af42f6441ee620c4aa74bd1981dfe03a.tar.gz
dexon-sol-tools-2d2255e9af42f6441ee620c4aa74bd1981dfe03a.tar.bz2
dexon-sol-tools-2d2255e9af42f6441ee620c4aa74bd1981dfe03a.tar.lz
dexon-sol-tools-2d2255e9af42f6441ee620c4aa74bd1981dfe03a.tar.xz
dexon-sol-tools-2d2255e9af42f6441ee620c4aa74bd1981dfe03a.tar.zst
dexon-sol-tools-2d2255e9af42f6441ee620c4aa74bd1981dfe03a.zip
Cleaner interface for encoding/decoding. Moved encode/decode parameters into a struct.
Diffstat (limited to 'packages/order-utils/test/abi_encoder_test.ts')
-rw-r--r--packages/order-utils/test/abi_encoder_test.ts25
1 files changed, 11 insertions, 14 deletions
diff --git a/packages/order-utils/test/abi_encoder_test.ts b/packages/order-utils/test/abi_encoder_test.ts
index 78e28015d..52b6bc067 100644
--- a/packages/order-utils/test/abi_encoder_test.ts
+++ b/packages/order-utils/test/abi_encoder_test.ts
@@ -27,7 +27,7 @@ const expect = chai.expect;
describe.only('ABI Encoder', () => {
describe.only('ABI Tests at Method Level', () => {
- it('Optimizer #1', async () => {
+ it('Should reuse duplicated strings in string array', async () => {
const method = new AbiEncoder.Method(AbiSamples.stringAbi);
const strings = [
"Test String",
@@ -37,7 +37,7 @@ describe.only('ABI Encoder', () => {
];
const args = [strings];
- const optimizedCalldata = method.encode(args, new Calldata(), true, true);
+ const optimizedCalldata = method.encode(args, { optimize: true, annotate: true });
console.log(optimizedCalldata);
});
@@ -53,10 +53,10 @@ describe.only('ABI Encoder', () => {
const args = [stringArray, string];
- const TEST = method.encode(args, new Calldata(), true, true);
+ const TEST = method.encode(args, { optimize: true, annotate: true });
console.log(TEST);
- const optimizedCalldata = method.encode(args, new Calldata(), false, true);
+ const optimizedCalldata = method.encode(args, { optimize: true });
console.log(`OPTIMIZED CALLDATA == '${optimizedCalldata}'`);
const decodedArgs = method.decode(optimizedCalldata);
@@ -79,10 +79,10 @@ describe.only('ABI Encoder', () => {
const args = [uint8Array, uintTupleArray];
- const TEST = method.encode(args, new Calldata(), true, true);
+ const TEST = method.encode(args, { optimize: true, annotate: true });
console.log('*'.repeat(50), ' ENCODED DATA ', TEST);
- const optimizedCalldata = method.encode(args, new Calldata(), false, true);
+ const optimizedCalldata = method.encode(args, { optimize: true });
console.log(`OPTIMIZED CALLDATA == '${optimizedCalldata}'`);
const decodedArgs = method.decode(optimizedCalldata);
@@ -92,7 +92,7 @@ describe.only('ABI Encoder', () => {
expect(decodedArgsJson).to.be.equal(argsJson);
});
- it.only('Optimizer #4 (Expect no optimization)', async () => {
+ it('Optimizer #4 (Expect no optimization)', async () => {
const method = new AbiEncoder.Method(AbiSamples.optimizerAbi4);
const uint8Array = [
new BigNumber(100),
@@ -104,10 +104,10 @@ describe.only('ABI Encoder', () => {
const args = [uint8Array, uintTupleArray];
- const TEST = method.encode(args, new Calldata(), true, true);
+ const TEST = method.encode(args, { optimize: true, annotate: true });
console.log('*'.repeat(50), ' ENCODED DATA ', TEST);
- const optimizedCalldata = method.encode(args, new Calldata(), false, true);
+ const optimizedCalldata = method.encode(args, { optimize: true });
console.log(`OPTIMIZED CALLDATA == '${optimizedCalldata}'`);
const decodedArgs = method.decode(optimizedCalldata);
@@ -179,12 +179,9 @@ describe.only('ABI Encoder', () => {
someArrayOfTuplesWithDynamicTypes: someArrayOfTuplesWithDynamicTypes
};
- const calldata = method.encode(args, new Calldata(), true);
+ const calldata = method.encode(args);
console.log(calldata);
-
- throw new Error(`done`);
-
console.log('*'.repeat(40));
console.log(JSON.stringify(args));
console.log(method.getSignature());
@@ -195,7 +192,7 @@ describe.only('ABI Encoder', () => {
// Test decoding
const expectedDecodedValueJson = JSON.stringify(args);
- const decodedValue = method.decode(calldata, true);
+ const decodedValue = method.decode(calldata, { structsAsObjects: true });
const decodedValueJson = JSON.stringify(decodedValue);
console.log(`DECODED`, '*'.repeat(200), '\n', decodedValueJson);
expect(decodedValueJson).to.be.equal(expectedDecodedValueJson);