aboutsummaryrefslogtreecommitdiffstats
path: root/packages/order-utils
diff options
context:
space:
mode:
authorGreg Hysen <greg.hysen@gmail.com>2018-11-08 02:44:22 +0800
committerGreg Hysen <greg.hysen@gmail.com>2018-11-29 08:38:10 +0800
commitdfa9e435af7477bddb147a8af3700143b27b5dc6 (patch)
tree7d448217a13160363e90b0c4cac17750e6575c69 /packages/order-utils
parentfc0e7b1132f8956c470a49b0e964d9ca1812e591 (diff)
downloaddexon-sol-tools-dfa9e435af7477bddb147a8af3700143b27b5dc6.tar
dexon-sol-tools-dfa9e435af7477bddb147a8af3700143b27b5dc6.tar.gz
dexon-sol-tools-dfa9e435af7477bddb147a8af3700143b27b5dc6.tar.bz2
dexon-sol-tools-dfa9e435af7477bddb147a8af3700143b27b5dc6.tar.lz
dexon-sol-tools-dfa9e435af7477bddb147a8af3700143b27b5dc6.tar.xz
dexon-sol-tools-dfa9e435af7477bddb147a8af3700143b27b5dc6.tar.zst
dexon-sol-tools-dfa9e435af7477bddb147a8af3700143b27b5dc6.zip
Implemented Address
Diffstat (limited to 'packages/order-utils')
-rw-r--r--packages/order-utils/test/abi_encoder_test.ts27
1 files changed, 16 insertions, 11 deletions
diff --git a/packages/order-utils/test/abi_encoder_test.ts b/packages/order-utils/test/abi_encoder_test.ts
index 292e615f3..7fb091019 100644
--- a/packages/order-utils/test/abi_encoder_test.ts
+++ b/packages/order-utils/test/abi_encoder_test.ts
@@ -309,9 +309,6 @@ namespace AbiEncoder {
public abstract assignValue(value: any): void;
public abstract getSignature(): string;
- public abstract encodeToCalldata(calldata: Calldata): void;
-
- // abstract match(type: string): Bool;
}
export abstract class StaticDataType extends DataType {
@@ -333,16 +330,13 @@ namespace AbiEncoder {
}
public assignValue(value: string) {
- const hexValue = ethUtil.bufferToHex(new Buffer(value));
+ const evmWordWidth = 32;
+ const hexValue = ethUtil.bufferToHex(ethUtil.setLengthLeft(ethUtil.toBuffer(value), evmWordWidth));
this.assignHexValue(hexValue);
}
public getSignature(): string {
- throw 1;
- }
-
- public encodeToCalldata(calldata: Calldata): void {
- throw 2;
+ return `address`;
}
public static matchGrammar(type: string): boolean {
@@ -634,8 +628,6 @@ namespace AbiEncoder {
public getHexValue(): string {
let offset = new BigNumber(0);
if (this.memblock !== undefined) {
- console.log('Abs Offset = ', JSON.stringify(this.destDataType.getAbsoluteOffset()));
- console.log('Local Offset = ', JSON.stringify(this.destDataType.getOffset()));
switch (this.memblock.getSection()) {
case CalldataSection.PARAMS:
offset = this.destDataType.getAbsoluteOffset();
@@ -786,6 +778,19 @@ describe.only('ABI Encoder', () => {
});
});
+ describe.only('Address', () => {
+ const testAddressDataItem = { name: 'testAddress', type: 'address' };
+ it('Valid Address', async () => {
+ const addressDataType = new AbiEncoder.Address(testAddressDataItem);
+ addressDataType.assignValue('0xe41d2489571d322189246dafa5ebde1f4699f498');
+ const expectedAbiEncodedAddress = '0x000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498';
+
+ console.log(addressDataType.getHexValue());
+ console.log(expectedAbiEncodedAddress);
+ expect(addressDataType.getHexValue()).to.be.equal(expectedAbiEncodedAddress);
+ });
+ });
+
describe('String', () => {
const testStringDataItem = { name: 'testString', type: 'string' };
it('Less than 32 bytes', async () => {