diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-01-18 22:12:56 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-01-18 22:12:56 +0800 |
commit | b20f34adb7726c4389012c2373bacc7e1b05b620 (patch) | |
tree | e0297b96e45f080fd786ea5773c133ddfb908e71 /packages/deployer/src/utils/encoder.ts | |
parent | 63d0d810b1ab7710102fce99b66f5a7f55162611 (diff) | |
download | dexon-sol-tools-b20f34adb7726c4389012c2373bacc7e1b05b620.tar dexon-sol-tools-b20f34adb7726c4389012c2373bacc7e1b05b620.tar.gz dexon-sol-tools-b20f34adb7726c4389012c2373bacc7e1b05b620.tar.bz2 dexon-sol-tools-b20f34adb7726c4389012c2373bacc7e1b05b620.tar.lz dexon-sol-tools-b20f34adb7726c4389012c2373bacc7e1b05b620.tar.xz dexon-sol-tools-b20f34adb7726c4389012c2373bacc7e1b05b620.tar.zst dexon-sol-tools-b20f34adb7726c4389012c2373bacc7e1b05b620.zip |
Change file layout
Diffstat (limited to 'packages/deployer/src/utils/encoder.ts')
-rw-r--r-- | packages/deployer/src/utils/encoder.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/packages/deployer/src/utils/encoder.ts b/packages/deployer/src/utils/encoder.ts new file mode 100644 index 000000000..d5f807774 --- /dev/null +++ b/packages/deployer/src/utils/encoder.ts @@ -0,0 +1,20 @@ +import * as _ from 'lodash'; +import * as Web3 from 'web3'; +import * as web3Abi from 'web3-eth-abi'; + +import { AbiType } from './types'; + +export const encoder = { + encodeConstructorArgsFromAbi(args: any[], abi: Web3.ContractAbi): string { + const constructorTypes: string[] = []; + _.each(abi, (element: Web3.AbiDefinition) => { + if (element.type === AbiType.Constructor) { + _.each(element.inputs, (input: Web3.FunctionParameter) => { + constructorTypes.push(input.type); + }); + } + }); + const encodedParameters = web3Abi.encodeParameters(constructorTypes, args); + return encodedParameters; + }, +}; |