diff --git a/.travis.yml b/.travis.yml index 7e839c8f..6fc70374 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,6 +16,5 @@ jobs: node_js: lts/* script: - yarn run build:ci - - 'if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then yarn coveralls; fi' - - 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then yarn jest; fi' + - yarn coveralls - npm run semantic-release diff --git a/Polymath.png b/Polymath.png new file mode 100644 index 00000000..b1ca4eb6 Binary files /dev/null and b/Polymath.png differ diff --git a/README.md b/README.md index f4f9817c..6a4f1855 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ +[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers) +[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master) +[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby) +[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby) + +![Polymath logo](Polymath.png) + ## @polymathnetwork/contract-wrappers Version 3.0.0 of the Polymath-Core Ethereum Smart Contracts @@ -27,6 +34,7 @@ If your project is in [TypeScript](https://www.typescriptlang.org/), add the fol ``` ## Documentation + This project uses typedoc documentation style. You can access these docs by cloning this repo and opening `docs/index.html` in the browser. @@ -39,14 +47,14 @@ Commits should follow the [conventional commits](https://www.conventionalcommits ### A note on breaking changes -*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to): +_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to): - Renaming a public function/class/interface/type - Deleting a public function/class/interface/type - Changing a public function's argument list in a way that the user needs to rewrite existing calls to it - Changing a public function's return type -Whatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like +Whatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like ``` change return type of the `Bar` class's `foo` function from `string` to `number` @@ -102,7 +110,7 @@ yarn jest ## Deployment -This package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) +This package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) ## Sandbox @@ -153,7 +161,8 @@ async function getInjectedProviderIfExists(): Promise { return injectedProviderIfExists; } ``` -*Setting up Polymath API for 4 different cases* + +_Setting up Polymath API for 4 different cases_ (1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain. @@ -222,10 +231,11 @@ const polymathAPI = new PolymathAPI(params); ``` ### Module code examples + In the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox. These examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module. -When a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. +When a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. The sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance. diff --git a/src/contract_wrappers/modules/checkpoint/dividend_checkpoint_wrapper/common.ts b/src/contract_wrappers/modules/checkpoint/dividend_checkpoint_wrapper/common.ts index fab67dcd..8a80decc 100644 --- a/src/contract_wrappers/modules/checkpoint/dividend_checkpoint_wrapper/common.ts +++ b/src/contract_wrappers/modules/checkpoint/dividend_checkpoint_wrapper/common.ts @@ -14,19 +14,6 @@ import { const EXCLUDED_ADDRESS_LIMIT = 150; -export namespace DividendCheckpointTransactionParams { - export interface ChangeWallet extends ChangeWalletParams {} - export interface SetDefaultExcluded extends SetDefaultExcludedParams {} - export interface SetWithholding extends SetWithholdingParams {} - export interface SetWithholdingFixed extends SetWithholdingFixedParams {} - export interface PushDividendPaymentToAddresses extends PushDividendPaymentToAddressesParams {} - export interface PushDividendPayment extends PushDividendPaymentParams {} - export interface PullDividendPayment extends DividendIndexTxParams {} - export interface ReclaimDividend extends DividendIndexTxParams {} - export interface WithdrawWithholding extends DividendIndexTxParams {} - export interface UpdateDividendDates extends UpdateDividendDatesParams {} -} - /** * @param dividendIndex Index of the dividend */ @@ -69,14 +56,14 @@ interface InvestorStatus { /** * @param wallet Ethereum account address to receive reclaimed dividends and tax */ -interface ChangeWalletParams extends TxParams { +export interface ChangeWalletParams extends TxParams { wallet: string; } /** * @param excluded Addresses of investors */ -interface SetDefaultExcludedParams extends TxParams { +export interface SetDefaultExcludedParams extends TxParams { excluded: string[]; } @@ -84,7 +71,7 @@ interface SetDefaultExcludedParams extends TxParams { * @param investors Addresses of investors * @param withholding Withholding tax array for individual investors */ -interface SetWithholdingParams extends TxParams { +export interface SetWithholdingParams extends TxParams { investors: string[]; withholding: BigNumber[]; } @@ -93,7 +80,7 @@ interface SetWithholdingParams extends TxParams { * @param investors Addresses of investor * @param withholding Single withholding tax for all investors */ -interface SetWithholdingFixedParams extends TxParams { +export interface SetWithholdingFixedParams extends TxParams { investors: string[]; withholding: BigNumber; } @@ -102,7 +89,7 @@ interface SetWithholdingFixedParams extends TxParams { * @param dividendIndex Dividend index to push * @param payees Addresses to which to push the dividend */ -interface PushDividendPaymentToAddressesParams extends TxParams { +export interface PushDividendPaymentToAddressesParams extends TxParams { dividendIndex: number; payees: string[]; } @@ -112,7 +99,7 @@ interface PushDividendPaymentToAddressesParams extends TxParams { * @param start Index in investor list at which to start pushing dividends * @param end Index in investor list at which to stop pushing dividends */ -interface PushDividendPaymentParams extends TxParams { +export interface PushDividendPaymentParams extends TxParams { dividendIndex: number; start: number; end: number; @@ -121,7 +108,7 @@ interface PushDividendPaymentParams extends TxParams { /** * @param dividendIndex Dividend index to use */ -interface DividendIndexTxParams extends TxParams { +export interface DividendIndexTxParams extends TxParams { dividendIndex: number; } @@ -130,7 +117,7 @@ interface DividendIndexTxParams extends TxParams { * @param maturity Updated maturity date * @param expiry Updated expiry date */ -interface UpdateDividendDatesParams extends TxParams { +export interface UpdateDividendDatesParams extends TxParams { dividendIndex: number; maturity: Date; expiry: Date; diff --git a/src/contract_wrappers/modules/checkpoint/dividend_checkpoint_wrapper/index.ts b/src/contract_wrappers/modules/checkpoint/dividend_checkpoint_wrapper/index.ts index fa6f45a3..243055a1 100644 --- a/src/contract_wrappers/modules/checkpoint/dividend_checkpoint_wrapper/index.ts +++ b/src/contract_wrappers/modules/checkpoint/dividend_checkpoint_wrapper/index.ts @@ -1,3 +1,27 @@ +import { + ChangeWalletParams, + SetDefaultExcludedParams, + SetWithholdingParams, + SetWithholdingFixedParams, + PushDividendPaymentToAddressesParams, + PushDividendPaymentParams, + DividendIndexTxParams, + UpdateDividendDatesParams, +} from './common'; + /* istanbul ignore file */ export { WithDividendCheckpoint_3_0_0 } from './3.0.0'; -export { default as DividendCheckpointCommon } from './common'; \ No newline at end of file +export { default as DividendCheckpointCommon } from './common'; + +export namespace DividendCheckpointTransactionParams { + export interface ChangeWallet extends ChangeWalletParams {} + export interface SetDefaultExcluded extends SetDefaultExcludedParams {} + export interface SetWithholding extends SetWithholdingParams {} + export interface SetWithholdingFixed extends SetWithholdingFixedParams {} + export interface PushDividendPaymentToAddresses extends PushDividendPaymentToAddressesParams {} + export interface PushDividendPayment extends PushDividendPaymentParams {} + export interface PullDividendPayment extends DividendIndexTxParams {} + export interface ReclaimDividend extends DividendIndexTxParams {} + export interface WithdrawWithholding extends DividendIndexTxParams {} + export interface UpdateDividendDates extends UpdateDividendDatesParams {} +} diff --git a/src/contract_wrappers/modules/checkpoint/erc20_dividend_checkpoint_wrapper/common.ts b/src/contract_wrappers/modules/checkpoint/erc20_dividend_checkpoint_wrapper/common.ts index b1c83e40..04ff4078 100644 --- a/src/contract_wrappers/modules/checkpoint/erc20_dividend_checkpoint_wrapper/common.ts +++ b/src/contract_wrappers/modules/checkpoint/erc20_dividend_checkpoint_wrapper/common.ts @@ -36,13 +36,6 @@ import { import { numberToBigNumber, dateToBigNumber, stringToBytes32, valueToWei } from '../../../../utils/convert'; import ContractWrapper from '../../../contract_wrapper'; -export namespace ERC20DividendCheckpointTransactionParams { - export interface CreateDividend extends CreateDividendParams {} - export interface CreateDividendWithCheckpoint extends CreateDividendWithCheckpointParams {} - export interface CreateDividendWithExclusions extends CreateDividendWithExclusionsParams {} - export interface CreateDividendWithCheckpointAndExclusions extends CreateDividendWithCheckpointAndExclusionsParams {} -} - interface ERC20DividendDepositedSubscribeAsyncParams extends SubscribeAsyncParams { eventName: ERC20DividendCheckpointEvents_3_0_0.ERC20DividendDeposited; callback: EventCallback; @@ -200,7 +193,7 @@ interface DividendIndexParams { * @param amount Amount of specified token for dividend * @param name Name/Title for identification */ -interface CreateDividendParams extends TxParams { +export interface CreateDividendParams extends TxParams { maturity: Date; expiry: Date; token: string; @@ -211,14 +204,14 @@ interface CreateDividendParams extends TxParams { /** * @param checkpointId Checkpoint id from which to create dividends */ -interface CreateDividendWithCheckpointParams extends CreateDividendParams { +export interface CreateDividendWithCheckpointParams extends CreateDividendParams { checkpointId: number; } /** * @param excluded List of addresses to exclude */ -interface CreateDividendWithExclusionsParams extends CreateDividendParams { +export interface CreateDividendWithExclusionsParams extends CreateDividendParams { excluded: string[]; } @@ -226,7 +219,7 @@ interface CreateDividendWithExclusionsParams extends CreateDividendParams { * @param checkpointId Checkpoint id from which to create dividends * @param excluded List of addresses to exclude */ -interface CreateDividendWithCheckpointAndExclusionsParams extends CreateDividendParams { +export interface CreateDividendWithCheckpointAndExclusionsParams extends CreateDividendParams { checkpointId: number; excluded: string[]; } diff --git a/src/contract_wrappers/modules/checkpoint/erc20_dividend_checkpoint_wrapper/index.ts b/src/contract_wrappers/modules/checkpoint/erc20_dividend_checkpoint_wrapper/index.ts index 0357cedc..c57bc78c 100644 --- a/src/contract_wrappers/modules/checkpoint/erc20_dividend_checkpoint_wrapper/index.ts +++ b/src/contract_wrappers/modules/checkpoint/erc20_dividend_checkpoint_wrapper/index.ts @@ -1,8 +1,13 @@ /* istanbul ignore file */ import { ERC20DividendCheckpointEventArgs_3_0_0 } from '@polymathnetwork/abi-wrappers'; import { ERC20DividendCheckpoint_3_0_0, isERC20DividendCheckpoint_3_0_0 } from './3.0.0'; - -import Common, { isERC20DividendCheckpoint } from './common'; +import Common, { + isERC20DividendCheckpoint, + CreateDividendParams, + CreateDividendWithCheckpointParams, + CreateDividendWithExclusionsParams, + CreateDividendWithCheckpointAndExclusionsParams, +} from './common'; import { ContractVersion } from '../../../../types'; export type ERC20DividendCheckpointEventArgs = ERC20DividendCheckpointEventArgs_3_0_0; @@ -26,6 +31,13 @@ export type ERC20DividendCheckpoint = ERC20DividendCheckpoint_3_0_0; export { isERC20DividendCheckpoint, ERC20DividendCheckpoint_3_0_0, isERC20DividendCheckpoint_3_0_0 }; +export namespace ERC20DividendCheckpointTransactionParams { + export interface CreateDividend extends CreateDividendParams {} + export interface CreateDividendWithCheckpoint extends CreateDividendWithCheckpointParams {} + export interface CreateDividendWithExclusions extends CreateDividendWithExclusionsParams {} + export interface CreateDividendWithCheckpointAndExclusions extends CreateDividendWithCheckpointAndExclusionsParams {} +} + // for internal use export class ERC20DividendCheckpointCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/checkpoint/ether_dividend_checkpoint_wrapper/common.ts b/src/contract_wrappers/modules/checkpoint/ether_dividend_checkpoint_wrapper/common.ts index b951ee52..bcfcabd7 100644 --- a/src/contract_wrappers/modules/checkpoint/ether_dividend_checkpoint_wrapper/common.ts +++ b/src/contract_wrappers/modules/checkpoint/ether_dividend_checkpoint_wrapper/common.ts @@ -37,13 +37,6 @@ import { import { numberToBigNumber, dateToBigNumber, stringToBytes32, valueToWei } from '../../../../utils/convert'; import ContractWrapper from '../../../contract_wrapper'; -export namespace EtherDividendCheckpointTransactionParams { - export interface CreateDividend extends CreateDividendParams {} - export interface CreateDividendWithCheckpoint extends CreateDividendWithCheckpointParams {} - export interface CreateDividendWithExclusions extends CreateDividendWithExclusionsParams {} - export interface CreateDividendWithCheckpointAndExclusions extends CreateDividendWithCheckpointAndExclusionsParams {} -} - interface EtherDividendDepositedSubscribeAsyncParams extends SubscribeAsyncParams { eventName: EtherDividendCheckpointEvents_3_0_0.EtherDividendDeposited; callback: EventCallback; @@ -206,7 +199,7 @@ export interface GetEtherDividendCheckpointLogsAsyncParams extends GetLogs { * @param name Name/title for identification * @param value Value of ether to contribute towards dividend */ -interface CreateDividendParams extends TxParams { +export interface CreateDividendParams extends TxParams { maturity: Date; expiry: Date; name: string; @@ -216,21 +209,21 @@ interface CreateDividendParams extends TxParams { /** * @param checkpointId The identifier for the checkpoint */ -interface CreateDividendWithCheckpointParams extends CreateDividendParams { +export interface CreateDividendWithCheckpointParams extends CreateDividendParams { checkpointId: number; } /** * @param checkpointId The identifier for the checkpoint */ -interface CreateDividendWithExclusionsParams extends CreateDividendParams { +export interface CreateDividendWithExclusionsParams extends CreateDividendParams { excluded: string[]; } /** * @param checkpointId The identifier for the checkpoint */ -interface CreateDividendWithCheckpointAndExclusionsParams extends CreateDividendWithExclusionsParams { +export interface CreateDividendWithCheckpointAndExclusionsParams extends CreateDividendWithExclusionsParams { checkpointId: number; } diff --git a/src/contract_wrappers/modules/checkpoint/ether_dividend_checkpoint_wrapper/index.ts b/src/contract_wrappers/modules/checkpoint/ether_dividend_checkpoint_wrapper/index.ts index f58b20b7..01aa2d3a 100644 --- a/src/contract_wrappers/modules/checkpoint/ether_dividend_checkpoint_wrapper/index.ts +++ b/src/contract_wrappers/modules/checkpoint/ether_dividend_checkpoint_wrapper/index.ts @@ -1,8 +1,13 @@ /* istanbul ignore file */ import { EtherDividendCheckpointEventArgs_3_0_0 } from '@polymathnetwork/abi-wrappers'; import { EtherDividendCheckpoint_3_0_0, isEtherDividendCheckpoint_3_0_0 } from './3.0.0'; - -import Common, { isEtherDividendCheckpoint } from './common'; +import Common, { + isEtherDividendCheckpoint, + CreateDividendParams, + CreateDividendWithCheckpointParams, + CreateDividendWithExclusionsParams, + CreateDividendWithCheckpointAndExclusionsParams, +} from './common'; import { ContractVersion } from '../../../../types'; export type EtherDividendCheckpointEventArgs = EtherDividendCheckpointEventArgs_3_0_0; @@ -26,6 +31,13 @@ export type EtherDividendCheckpoint = EtherDividendCheckpoint_3_0_0; export { isEtherDividendCheckpoint, EtherDividendCheckpoint_3_0_0, isEtherDividendCheckpoint_3_0_0 }; +export namespace EtherDividendCheckpointTransactionParams { + export interface CreateDividend extends CreateDividendParams {} + export interface CreateDividendWithCheckpoint extends CreateDividendWithCheckpointParams {} + export interface CreateDividendWithExclusions extends CreateDividendWithExclusionsParams {} + export interface CreateDividendWithCheckpointAndExclusions extends CreateDividendWithCheckpointAndExclusionsParams {} +} + // for internal use export class EtherDividendCheckpointCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/module_factory_wrapper/common.ts b/src/contract_wrappers/modules/module_factory_wrapper/common.ts index 69962a4b..851f947e 100644 --- a/src/contract_wrappers/modules/module_factory_wrapper/common.ts +++ b/src/contract_wrappers/modules/module_factory_wrapper/common.ts @@ -111,42 +111,42 @@ export interface ModuleFactoryGetLogsAsyncParams extends GetLogs { /** * @param setupCost Cost to setup module */ -interface ChangeSetupCostParams extends TxParams { +export interface ChangeSetupCostParams extends TxParams { setupCost: BigNumber; } /** * @param isCostInPoly Boolean if cost is in poly */ -interface ChangeCostAndTypeParams extends ChangeSetupCostParams { +export interface ChangeCostAndTypeParams extends ChangeSetupCostParams { isCostInPoly: boolean; } /** * @param title New title */ -interface ChangeTitleParams extends TxParams { +export interface ChangeTitleParams extends TxParams { title: string; } /** * @param description New description */ -interface ChangeDescriptionParams extends TxParams { +export interface ChangeDescriptionParams extends TxParams { description: string; } /** * @param name New name */ -interface ChangeNameParams extends TxParams { +export interface ChangeNameParams extends TxParams { name: string; } /** * @param tag New tag */ -interface ChangeTagsParams extends TxParams { +export interface ChangeTagsParams extends TxParams { tags: string[]; } @@ -154,7 +154,7 @@ interface ChangeTagsParams extends TxParams { * @param boundType Type of STVersionBound * @param newVersion New version */ -interface ChangeSTVersionBoundsParams extends TxParams { +export interface ChangeSTVersionBoundsParams extends TxParams { boundType: BoundType; newVersion: number[]; } diff --git a/src/contract_wrappers/modules/module_factory_wrapper/index.ts b/src/contract_wrappers/modules/module_factory_wrapper/index.ts index d7cabd30..014522a7 100644 --- a/src/contract_wrappers/modules/module_factory_wrapper/index.ts +++ b/src/contract_wrappers/modules/module_factory_wrapper/index.ts @@ -2,7 +2,16 @@ import { ModuleFactoryEventArgs_3_0_0 } from '@polymathnetwork/abi-wrappers'; import { ModuleFactory_3_0_0, isModuleFactory_3_0_0 } from './3.0.0'; -import Common, { isModuleFactory } from './common'; +import Common, { + isModuleFactory, + ChangeCostAndTypeParams, + ChangeDescriptionParams, + ChangeNameParams, + ChangeSTVersionBoundsParams, + ChangeSetupCostParams, + ChangeTagsParams, + ChangeTitleParams, +} from './common'; import { ContractVersion } from '../../../types'; export type ModuleFactoryEventArgs = ModuleFactoryEventArgs_3_0_0; @@ -20,6 +29,16 @@ export type ModuleFactory = ModuleFactory_3_0_0; export { isModuleFactory, ModuleFactory_3_0_0, isModuleFactory_3_0_0 }; +export namespace ModuleFactoryTransactionParams { + export interface ChangeSetupCost extends ChangeSetupCostParams {} + export interface ChangeCostAndType extends ChangeCostAndTypeParams {} + export interface ChangeTitle extends ChangeTitleParams {} + export interface ChangeDescription extends ChangeDescriptionParams {} + export interface ChangeName extends ChangeNameParams {} + export interface ChangeTags extends ChangeTagsParams {} + export interface ChangeSTVersionBounds extends ChangeSTVersionBoundsParams {} +} + // for internal use export class ModuleFactoryCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/3.0.0.ts b/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/3.0.0.ts index 607cb64b..70d0dd3d 100644 --- a/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/3.0.0.ts +++ b/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/3.0.0.ts @@ -1,118 +1,9 @@ -import { GeneralPermissionManagerContract_3_0_0, Web3Wrapper, PolyResponse } from '@polymathnetwork/abi-wrappers'; -import _ from 'lodash'; -import assert from '../../../../utils/assert'; +import { GeneralPermissionManagerContract_3_0_0, Web3Wrapper } from '@polymathnetwork/abi-wrappers'; import ContractFactory from '../../../../factories/contractFactory'; -import { TxParams, Perm, ErrorCode, ContractVersion, Constructor } from '../../../../types'; -import { - numberToBigNumber, - stringToBytes32, - stringArrayToBytes32Array, - parsePermBytes32Value, -} from '../../../../utils/convert'; +import { ContractVersion, Constructor } from '../../../../types'; import GeneralPermissionManagerCommon from './common'; import { WithModule_3_0_0 } from '../../module_wrapper'; -export namespace GeneralPermissionManagerTransactionParams { - export interface DeleteDelegate extends DelegateTxParams {} - export interface AddDelegate extends AddDelegateParams {} - export interface ChangePermission extends ChangePermissionParams {} - export interface ChangePermissionMulti extends ChangePermissionMultiParams {} -} - -/** - * @param delegate Ethereum address of the delegate - * @param module Ethereum contract address of the module - * @param perm Permission flag - */ -interface PermParams { - module: string; - delegate: string; - permission: Perm; -} - -/** - * @param delegateIndex Index of the delegate - */ -interface DelegateIndexParams { - delegateIndex: number; -} - -/** - * @param delegate the address of potential delegate - */ -interface DelegateParams { - delegate: string; -} - -/** - * @param module Ethereum contract address of the module - * @param perm Permission flag - */ -interface GetAllDelegatesWithPermParams { - module: string; - perm: Perm; -} - -/** - * @param delegate Ethereum address of the delegate - * @param types Array of types - */ -interface GetAllModulesAndPermsFromTypesParams { - delegate: string; - types: number[]; -} - -/** - * @param delegate Ethereum address of the delegate - */ -interface DelegateTxParams extends TxParams { - delegate: string; -} - -/** - * @param delegate Ethereum address of the delegate - * @param details Details about the delegate i.e `Belongs to financial firm` - */ -interface AddDelegateParams extends TxParams { - delegate: string; - details: string; -} - -/** - * @param delegate Ethereum address of the delegate - * @param module Ethereum contract address of the module - * @param perm Permission flag - * @param valid Bool flag use to switch on/off the permission - */ -interface ChangePermissionParams extends TxParams { - delegate: string; - module: string; - perm: Perm; - valid: boolean; -} - -/** - * @param delegate Ethereum address of the delegate - * @param modules Multiple module matching the multiple perms, needs to be same length - * @param perms Multiple permission flag needs to be changed - * @param valids Bool array consist the flag to switch on/off the permission - */ -interface ChangePermissionMultiParams extends TxParams { - delegate: string; - modules: string[]; - perms: Perm[]; - valids: boolean[]; -} - -// // Return types //// -interface PermissionsPerModule { - /** Module address */ - module: string; - /** List of permissions */ - permissions: Perm[]; -} -// // End of return types //// - const GeneralPermissionManagerBase_3_0_0 = WithModule_3_0_0((GeneralPermissionManagerCommon as unknown) as Constructor< GeneralPermissionManagerCommon >); @@ -138,194 +29,6 @@ export class GeneralPermissionManager_3_0_0 extends GeneralPermissionManagerBase super(web3Wrapper, contract, contractFactory); this.contract = contract; } - - /** - * Mapping used to hold the permissions on the modules provided to delegate - */ - public perms = async (params: PermParams): Promise => { - assert.isETHAddressHex('module', params.module); - assert.isETHAddressHex('delegate', params.delegate); - return (await this.contract).perms.callAsync(params.module, params.delegate, stringToBytes32(params.permission)); - }; - - /** - * Array to track all delegates - */ - public allDelegates = async (params: DelegateIndexParams): Promise => { - return (await this.contract).allDelegates.callAsync(numberToBigNumber(params.delegateIndex)); - }; - - /** - * Mapping to hold the delegate details - */ - public delegateDetails = async (params: DelegateParams): Promise => { - assert.isETHAddressHex('delegate', params.delegate); - return (await this.contract).delegateDetails.callAsync(params.delegate); - }; - - /** - * Used to check the permission on delegate corresponds to module contract address - * @return bool if permission is valid - */ - public checkPermission = async (params: PermParams): Promise => { - assert.isETHAddressHex('delegate', params.delegate); - assert.isETHAddressHex('module', params.module); - return (await this.contract).checkPermission.callAsync( - params.delegate, - params.module, - stringToBytes32(params.permission), - ); - }; - - /** - * Used to add a delegate - */ - public addDelegate = async (params: AddDelegateParams): Promise => { - assert.assert( - await this.isCallerAllowed(params.txData, Perm.Admin), - ErrorCode.Unauthorized, - 'Caller is not allowed', - ); - assert.isNonZeroETHAddressHex('delegate', params.delegate); - assert.assert(params.details.length > 0, ErrorCode.InvalidData, '0 value not allowed'); - assert.assert( - !(await (await this.contract).checkDelegate.callAsync(params.delegate)), - ErrorCode.AlreadyExists, - 'Delegate already present', - ); - return (await this.contract).addDelegate.sendTransactionAsync( - params.delegate, - stringToBytes32(params.details), - params.txData, - params.safetyFactor, - ); - }; - - /** - * Used to delete a delegate - */ - public deleteDelegate = async (params: DelegateTxParams): Promise => { - assert.assert( - await this.isCallerAllowed(params.txData, Perm.Admin), - ErrorCode.Unauthorized, - 'Caller is not allowed', - ); - assert.isNonZeroETHAddressHex('delegate', params.delegate); - assert.assert( - await (await this.contract).checkDelegate.callAsync(params.delegate), - ErrorCode.NotFound, - 'Delegate does not exist', - ); - return (await this.contract).deleteDelegate.sendTransactionAsync( - params.delegate, - params.txData, - params.safetyFactor, - ); - }; - - /** - * Used to check if an address is a delegate or not - * @return boolean if address is delegate - */ - public checkDelegate = async (params: DelegateParams): Promise => { - assert.isNonZeroETHAddressHex('delegate', params.delegate); - return (await this.contract).checkDelegate.callAsync(params.delegate); - }; - - /** - * Used to provide/change the permission to the delegate corresponds to the module contract - */ - public changePermission = async (params: ChangePermissionParams): Promise => { - assert.assert( - await this.isCallerAllowed(params.txData, Perm.Admin), - ErrorCode.Unauthorized, - 'Caller is not allowed', - ); - assert.isNonZeroETHAddressHex('delegate', params.delegate); - assert.isETHAddressHex('module', params.module); - return (await this.contract).changePermission.sendTransactionAsync( - params.delegate, - params.module, - stringToBytes32(params.perm), - params.valid, - params.txData, - params.safetyFactor, - ); - }; - - /** - * Used to change one or more permissions for a single delegate at once - */ - public changePermissionMulti = async (params: ChangePermissionMultiParams): Promise => { - assert.assert( - await this.isCallerAllowed(params.txData, Perm.Admin), - ErrorCode.Unauthorized, - 'Caller is not allowed', - ); - assert.isNonZeroETHAddressHex('delegate', params.delegate); - params.modules.forEach(address => assert.isETHAddressHex('modules', address)); - assert.assert(params.modules.length > 0, ErrorCode.InvalidData, '0 length is not allowed'); - assert.assert( - params.modules.length === params.perms.length, - ErrorCode.MismatchedArrayLength, - 'Array length mismatch', - ); - assert.assert( - params.valids.length === params.perms.length, - ErrorCode.MismatchedArrayLength, - 'Array length mismatch', - ); - return (await this.contract).changePermissionMulti.sendTransactionAsync( - params.delegate, - params.modules, - stringArrayToBytes32Array(params.perms), - params.valids, - params.txData, - params.safetyFactor, - ); - }; - - /** - * Used to return all delegates with a given permission and module - * @return delegates address array - */ - public getAllDelegatesWithPerm = async (params: GetAllDelegatesWithPermParams): Promise => { - assert.isETHAddressHex('module', params.module); - return (await this.contract).getAllDelegatesWithPerm.callAsync(params.module, stringToBytes32(params.perm)); - }; - - /** - * Used to return all permission of a single or multiple module - * @return The address array of Modules this delegate has permission, the permission array of the corresponding Modules - */ - public getAllModulesAndPermsFromTypes = async ( - params: GetAllModulesAndPermsFromTypesParams, - ): Promise => { - assert.isETHAddressHex('delegate', params.delegate); - const result = await (await this.contract).getAllModulesAndPermsFromTypes.callAsync(params.delegate, params.types); - // [module1, module1, module2, module3, module3], [perm1, perm2, perm1, perm2, perm3] - const zippedResult = _.zip(result[0], result[1]); // [[module1, perm1], [module1, perm2], [module2, perm1] ...] - const groupedResult = _.groupBy(zippedResult, value => { - return value[0]; - }); // [module1: [[module1, perm1], [module1, perm2]], ...] - const typedResult: PermissionsPerModule[] = []; - _.forEach(groupedResult, (value, key): void => { - const permissionsPerModule: PermissionsPerModule = { - module: key, - permissions: value.map(pair => parsePermBytes32Value(pair[1] as string)), - }; - typedResult.push(permissionsPerModule); - }); - return typedResult; - }; - - /** - * Used to get all delegates - * @return delegate addresses array - */ - public getAllDelegates = async (): Promise => { - return (await this.contract).getAllDelegates.callAsync(); - }; } export function isGeneralPermissionManager_3_0_0( diff --git a/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/3.1.0.ts b/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/3.1.0.ts index be11baf4..5d1e88d5 100644 --- a/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/3.1.0.ts +++ b/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/3.1.0.ts @@ -10,7 +10,7 @@ import { WithModule_3_0_0 } from '../../module_wrapper'; * @param delegates An array of Ethereum addresses of the delegates * @param details An array of details about the delegates i.e `Belongs to financial firm` */ -interface AddDelegateMultiParams extends TxParams { +export interface AddDelegateMultiParams extends TxParams { delegates: string[]; details: string[]; } @@ -18,7 +18,7 @@ interface AddDelegateMultiParams extends TxParams { /** * @param delegates An array of Ethereum address of delegates */ -interface DeleteDelegateMultiParams extends TxParams { +export interface DeleteDelegateMultiParams extends TxParams { delegates: string[]; } diff --git a/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/common.ts b/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/common.ts index dc6bcf75..4a926b13 100644 --- a/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/common.ts +++ b/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/common.ts @@ -34,13 +34,6 @@ import { } from '../../../../utils/convert'; import ContractWrapper from '../../../contract_wrapper'; -export namespace GeneralPermissionManagerTransactionParams { - export interface DeleteDelegate extends DelegateTxParams {} - export interface AddDelegate extends AddDelegateParams {} - export interface ChangePermission extends ChangePermissionParams {} - export interface ChangePermissionMulti extends ChangePermissionMultiParams {} -} - interface ChangePermissionSubscribeAsyncParams extends SubscribeAsyncParams { eventName: GeneralPermissionManagerEvents_3_0_0.ChangePermission; callback: EventCallback; @@ -141,7 +134,7 @@ interface GetAllModulesAndPermsFromTypesParams { /** * @param delegate Ethereum address of the delegate */ -interface DelegateTxParams extends TxParams { +export interface DelegateTxParams extends TxParams { delegate: string; } @@ -149,7 +142,7 @@ interface DelegateTxParams extends TxParams { * @param delegate Ethereum address of the delegate * @param details Details about the delegate i.e `Belongs to financial firm` */ -interface AddDelegateParams extends TxParams { +export interface AddDelegateParams extends TxParams { delegate: string; details: string; } @@ -160,7 +153,7 @@ interface AddDelegateParams extends TxParams { * @param perm Permission flag * @param valid Bool flag use to switch on/off the permission */ -interface ChangePermissionParams extends TxParams { +export interface ChangePermissionParams extends TxParams { delegate: string; module: string; perm: Perm; @@ -173,7 +166,7 @@ interface ChangePermissionParams extends TxParams { * @param perms Multiple permission flag needs to be changed * @param valids Bool array consist the flag to switch on/off the permission */ -interface ChangePermissionMultiParams extends TxParams { +export interface ChangePermissionMultiParams extends TxParams { delegate: string; modules: string[]; perms: Perm[]; diff --git a/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/index.ts b/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/index.ts index 9819aa0c..07d54bd8 100644 --- a/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/index.ts +++ b/src/contract_wrappers/modules/permission_manager/general_permission_manager_wrapper/index.ts @@ -5,8 +5,19 @@ import { GeneralPermissionManagerEventArgs_3_0_0, } from '@polymathnetwork/abi-wrappers'; import { GeneralPermissionManager_3_0_0, isGeneralPermissionManager_3_0_0 } from './3.0.0'; -import { GeneralPermissionManager_3_1_0, isGeneralPermissionManager_3_1_0 } from './3.1.0'; -import Common, { isGeneralPermissionManager } from './common'; +import { + GeneralPermissionManager_3_1_0, + isGeneralPermissionManager_3_1_0, + AddDelegateMultiParams, + DeleteDelegateMultiParams, +} from './3.1.0'; +import Common, { + isGeneralPermissionManager, + DelegateTxParams, + AddDelegateParams, + ChangePermissionParams, + ChangePermissionMultiParams, +} from './common'; import { ContractVersion } from '../../../../types'; export const GeneralPermissionManagerEvents = { @@ -36,6 +47,15 @@ export { isGeneralPermissionManager_3_1_0, }; +export namespace GeneralPermissionManagerTransactionParams { + export interface DeleteDelegate extends DelegateTxParams {} + export interface AddDelegate extends AddDelegateParams {} + export interface ChangePermission extends ChangePermissionParams {} + export interface ChangePermissionMulti extends ChangePermissionMultiParams {} + export interface AddDelegateMulti extends AddDelegateMultiParams {} + export interface DeleteDelegateMulti extends DeleteDelegateMultiParams {} +} + // for internal use export class GeneralPermissionManagerCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/sto/capped_sto_wrapper/3.0.0.ts b/src/contract_wrappers/modules/sto/capped_sto_wrapper/3.0.0.ts index e2182d41..9a6f50e9 100644 --- a/src/contract_wrappers/modules/sto/capped_sto_wrapper/3.0.0.ts +++ b/src/contract_wrappers/modules/sto/capped_sto_wrapper/3.0.0.ts @@ -6,7 +6,7 @@ import { WithSTO_3_0_0 } from '../sto_wrapper'; import { bigNumberToDate, weiToValue } from '../../../../utils/convert'; // // Return types //// -export interface CappedSTODetails { +interface CappedSTODetails { /** Timestamp at which offering gets start. */ startTime: Date; /** Timestamp at which offering ends. */ diff --git a/src/contract_wrappers/modules/sto/capped_sto_wrapper/3.1.0.ts b/src/contract_wrappers/modules/sto/capped_sto_wrapper/3.1.0.ts index 3961746e..2f11acf1 100644 --- a/src/contract_wrappers/modules/sto/capped_sto_wrapper/3.1.0.ts +++ b/src/contract_wrappers/modules/sto/capped_sto_wrapper/3.1.0.ts @@ -89,7 +89,7 @@ interface GetCappedSTOLogsAsyncParams_3_1_0 extends GetCappedSTOLogsAsyncParams } // // Return types //// -export interface CappedSTODetails { +interface CappedSTODetails { /** Timestamp at which offering gets start. */ startTime: Date; /** Timestamp at which offering ends. */ diff --git a/src/contract_wrappers/modules/sto/capped_sto_wrapper/common.ts b/src/contract_wrappers/modules/sto/capped_sto_wrapper/common.ts index 44151a6c..e5666147 100644 --- a/src/contract_wrappers/modules/sto/capped_sto_wrapper/common.ts +++ b/src/contract_wrappers/modules/sto/capped_sto_wrapper/common.ts @@ -11,6 +11,7 @@ import { Web3Wrapper, BigNumber, LogWithDecodedArgs, + PolyResponse, } from '@polymathnetwork/abi-wrappers'; import { schemas } from '@0x/json-schemas'; import assert from '../../../../utils/assert'; @@ -31,12 +32,6 @@ import { valueToWei, weiToValue } from '../../../../utils/convert'; import functionsUtils from '../../../../utils/functions_utils'; import ContractWrapper from '../../../contract_wrapper'; -export namespace CappedSTOTransactionParams { - export interface ChangeAllowBeneficialInvestments extends ChangeAllowBeneficialInvestmentsParams {} - export interface BuyTokens extends BuyTokensParams {} - export interface BuyTokensWithPoly extends BuyTokensWithPolyParams {} -} - interface TokenPurchaseSubscribeAsyncParams extends SubscribeAsyncParams { eventName: CappedSTOEvents_3_0_0.TokenPurchase; callback: EventCallback; @@ -105,14 +100,14 @@ export interface GetCappedSTOLogsAsyncParams extends GetLogs { /** * @param investorAddress Address of the investor */ -interface InvestorsParams extends TxParams { +interface InvestorsParams { investorAddress: string; } /** * @param allowBeneficicalInvestments Boolean to allow or disallow beneficial investments */ -interface ChangeAllowBeneficialInvestmentsParams extends TxParams { +export interface ChangeAllowBeneficialInvestmentsParams extends TxParams { allowBeneficialInvestments: boolean; } @@ -190,7 +185,9 @@ export default abstract class CappedSTOCommon extends STOCommon { /** * Function to set allowBeneficialInvestments (allow beneficiary to be different to funder) */ - public changeAllowBeneficialInvestments = async (params: ChangeAllowBeneficialInvestmentsParams) => { + public changeAllowBeneficialInvestments = async ( + params: ChangeAllowBeneficialInvestmentsParams, + ): Promise => { assert.assert( await this.isCallerTheSecurityTokenOwner(params.txData), ErrorCode.Unauthorized, @@ -211,7 +208,7 @@ export default abstract class CappedSTOCommon extends STOCommon { /** * Low level token purchase */ - public buyTokens = async (params: BuyTokensParams) => { + public buyTokens = async (params: BuyTokensParams): Promise => { assert.isNonZeroETHAddressHex('beneficiary', params.beneficiary); assert.assert(!(await this.paused()), ErrorCode.ContractPaused, 'Should not be paused'); assert.isBigNumberGreaterThanZero(params.value, 'Amount invested should not be equal to 0'); @@ -247,7 +244,7 @@ export default abstract class CappedSTOCommon extends STOCommon { /** * Low level token purchase for poly */ - public buyTokensWithPoly = async (params: BuyTokensWithPolyParams) => { + public buyTokensWithPoly = async (params: BuyTokensWithPolyParams): Promise => { assert.isBigNumberGreaterThanZero(params.investedPOLY, 'Amount invested should not be equal to 0'); assert.assert(!(await this.paused()), ErrorCode.ContractPaused, 'Should not be paused'); assert.assert( diff --git a/src/contract_wrappers/modules/sto/capped_sto_wrapper/index.ts b/src/contract_wrappers/modules/sto/capped_sto_wrapper/index.ts index 31b8590a..6ee091d5 100644 --- a/src/contract_wrappers/modules/sto/capped_sto_wrapper/index.ts +++ b/src/contract_wrappers/modules/sto/capped_sto_wrapper/index.ts @@ -10,7 +10,12 @@ import { } from '@polymathnetwork/abi-wrappers'; import { CappedSTO_3_0_0, isCappedSTO_3_0_0 } from './3.0.0'; import { CappedSTO_3_1_0, isCappedSTO_3_1_0 } from './3.1.0'; -import Common, { isCappedSTO } from './common'; +import Common, { + isCappedSTO, + ChangeAllowBeneficialInvestmentsParams, + BuyTokensParams, + BuyTokensWithPolyParams, +} from './common'; import { ContractVersion } from '../../../../types'; export const CappedSTOEvents = { @@ -42,6 +47,12 @@ export { export { isCappedSTO, CappedSTO_3_0_0, isCappedSTO_3_0_0, CappedSTO_3_1_0, isCappedSTO_3_1_0 }; +export namespace CappedSTOTransactionParams { + export interface ChangeAllowBeneficialInvestments extends ChangeAllowBeneficialInvestmentsParams {} + export interface BuyTokens extends BuyTokensParams {} + export interface BuyTokensWithPoly extends BuyTokensWithPolyParams {} +} + // for internal use export class CappedSTOCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/sto/usd_tiered_sto_wrapper/common.ts b/src/contract_wrappers/modules/sto/usd_tiered_sto_wrapper/common.ts index 891a781e..059a012f 100644 --- a/src/contract_wrappers/modules/sto/usd_tiered_sto_wrapper/common.ts +++ b/src/contract_wrappers/modules/sto/usd_tiered_sto_wrapper/common.ts @@ -54,23 +54,6 @@ import ContractWrapper from '../../../contract_wrapper'; const BIG_NUMBER_ZERO = new BigNumber(0); -export namespace USDTieredSTOTransactionParams { - export interface ChangeNonAccreditedLimit extends ChangeNonAccreditedLimitParams {} - export interface ModifyTimes extends ModifyTimesParams {} - export interface ModifyLimits extends ModifyLimitsParams {} - export interface ModifyOracle extends ModifyOracleParams {} - export interface ModifyFunding extends ModifyFundingParams {} - export interface ModifyAddresses extends ModifyAddressesParams {} - export interface ModifyTiers extends ModifyTiersParams {} - export interface ChangeAllowBeneficialInvestments extends ChangeAllowBeneficialInvestmentsParams {} - export interface BuyWithETH extends BuyWithETHParams {} - export interface BuyWithETHRateLimited extends BuyWithETHRateLimitedParams {} - export interface BuyWithPOLY extends BuyWithPOLYParams {} - export interface BuyWithPOLYRateLimited extends BuyWithPOLYRateLimitedParams {} - export interface BuyWithUSD extends BuyWithUSDParams {} - export interface BuyWithUSDRateLimited extends BuyWithUSDRateLimitedParams {} -} - interface SetAllowBeneficialInvestmentsSubscribeAsyncParams extends SubscribeAsyncParams { eventName: USDTieredSTOEvents_3_0_0.SetAllowBeneficialInvestments; callback: EventCallback; @@ -280,7 +263,7 @@ interface InvestorInvestedParams { * @param investors Array of investor addresses to modify * @param nonAccreditedLimit Array of uints specifying non-accredited limits */ -interface ChangeNonAccreditedLimitParams extends TxParams { +export interface ChangeNonAccreditedLimitParams extends TxParams { investors: string[]; nonAccreditedLimit: BigNumber[]; } @@ -289,7 +272,7 @@ interface ChangeNonAccreditedLimitParams extends TxParams { * @param startTime start time of sto * @param endTime end time of sto */ -interface ModifyTimesParams extends TxParams { +export interface ModifyTimesParams extends TxParams { startTime: Date; endTime: Date; } @@ -298,7 +281,7 @@ interface ModifyTimesParams extends TxParams { * @param nonAccreditedLimitUSD max non accredited invets limit * @param minimumInvestmentUSD overall minimum investment limit */ -interface ModifyLimitsParams extends TxParams { +export interface ModifyLimitsParams extends TxParams { nonAccreditedLimitUSD: BigNumber; minimumInvestmentUSD: BigNumber; } @@ -307,7 +290,7 @@ interface ModifyLimitsParams extends TxParams { * @param nonAccreditedLimitUSD max non accredited invets limit * @param minimumInvestmentUSD overall minimum investment limit */ -interface ModifyOracleParams extends TxParams { +export interface ModifyOracleParams extends TxParams { fundRaiseType: FundRaiseType; oracleAddress: string; } @@ -315,7 +298,7 @@ interface ModifyOracleParams extends TxParams { /** * @param fundRaiseTypes Array of fund raise types to allow */ -interface ModifyFundingParams extends TxParams { +export interface ModifyFundingParams extends TxParams { fundRaiseTypes: FundRaiseType[]; } @@ -324,7 +307,7 @@ interface ModifyFundingParams extends TxParams { * @param treasuryWallet Address of wallet where unsold tokens are sent * @param usdTokens Address of usd tokens */ -interface ModifyAddressesParams extends TxParams { +export interface ModifyAddressesParams extends TxParams { wallet: string; treasuryWallet: string; usdTokens: string[]; @@ -336,7 +319,7 @@ interface ModifyAddressesParams extends TxParams { * @param tokensPerTierTotal Array of total tokens per tier * @param tokensPerTierDiscountPoly Array of discounted tokens per tier */ -interface ModifyTiersParams extends TxParams { +export interface ModifyTiersParams extends TxParams { ratePerTier: BigNumber[]; ratePerTierDiscountPoly: BigNumber[]; tokensPerTierTotal: BigNumber[]; @@ -346,7 +329,7 @@ interface ModifyTiersParams extends TxParams { /** * @param allowBeneficialInvestments Boolean to allow or disallow beneficial investments */ -interface ChangeAllowBeneficialInvestmentsParams extends TxParams { +export interface ChangeAllowBeneficialInvestmentsParams extends TxParams { allowBeneficialInvestments: boolean; } @@ -354,7 +337,7 @@ interface ChangeAllowBeneficialInvestmentsParams extends TxParams { * @param beneficiary Address of beneficiary for tokens * @param ETH value used to buy */ -interface BuyWithETHParams extends TxParams { +export interface BuyWithETHParams extends TxParams { beneficiary: string; value: BigNumber; } @@ -362,7 +345,7 @@ interface BuyWithETHParams extends TxParams { /** * @param minTokens Minimum amount of tokens to buy else revert */ -interface BuyWithETHRateLimitedParams extends BuyWithETHParams { +export interface BuyWithETHRateLimitedParams extends BuyWithETHParams { minTokens: BigNumber; } @@ -370,7 +353,7 @@ interface BuyWithETHRateLimitedParams extends BuyWithETHParams { * @param beneficiary Address of beneficiary for tokens * @param investedPOLY Value of poly invested */ -interface BuyWithPOLYParams extends TxParams { +export interface BuyWithPOLYParams extends TxParams { beneficiary: string; investedPOLY: BigNumber; } @@ -378,7 +361,7 @@ interface BuyWithPOLYParams extends TxParams { /** * @param minTokens Minimum amount of tokens to buy else revert */ -interface BuyWithPOLYRateLimitedParams extends BuyWithPOLYParams { +export interface BuyWithPOLYRateLimitedParams extends BuyWithPOLYParams { minTokens: BigNumber; } @@ -387,7 +370,7 @@ interface BuyWithPOLYRateLimitedParams extends BuyWithPOLYParams { * @param investedSC Amount of stable coin invested * @param usdToken USD stable coin address to buy tokens with */ -interface BuyWithUSDParams extends TxParams { +export interface BuyWithUSDParams extends TxParams { beneficiary: string; investedSC: BigNumber; usdToken: string; @@ -396,7 +379,7 @@ interface BuyWithUSDParams extends TxParams { /** * @param minTokens Minimum amount of tokens to buy else revert */ -interface BuyWithUSDRateLimitedParams extends BuyWithUSDParams { +export interface BuyWithUSDRateLimitedParams extends BuyWithUSDParams { minTokens: BigNumber; } diff --git a/src/contract_wrappers/modules/sto/usd_tiered_sto_wrapper/index.ts b/src/contract_wrappers/modules/sto/usd_tiered_sto_wrapper/index.ts index fa9116c6..00e979e9 100644 --- a/src/contract_wrappers/modules/sto/usd_tiered_sto_wrapper/index.ts +++ b/src/contract_wrappers/modules/sto/usd_tiered_sto_wrapper/index.ts @@ -9,7 +9,23 @@ import { } from '@polymathnetwork/abi-wrappers'; import { USDTieredSTO_3_0_0, isUSDTieredSTO_3_0_0 } from './3.0.0'; import { USDTieredSTO_3_1_0, isUSDTieredSTO_3_1_0 } from './3.1.0'; -import Common, { isUSDTieredSTO } from './common'; +import Common, { + isUSDTieredSTO, + ChangeNonAccreditedLimitParams, + ModifyTimesParams, + ModifyLimitsParams, + ModifyOracleParams, + ModifyFundingParams, + ModifyAddressesParams, + ModifyTiersParams, + ChangeAllowBeneficialInvestmentsParams, + BuyWithETHParams, + BuyWithETHRateLimitedParams, + BuyWithPOLYParams, + BuyWithPOLYRateLimitedParams, + BuyWithUSDParams, + BuyWithUSDRateLimitedParams, +} from './common'; import { ContractVersion } from '../../../../types'; export const USDTieredSTOEvents = { @@ -47,6 +63,23 @@ export type USDTieredSTO = USDTieredSTO_3_0_0 | USDTieredSTO_3_1_0; export { isUSDTieredSTO, USDTieredSTO_3_0_0, isUSDTieredSTO_3_0_0, USDTieredSTO_3_1_0, isUSDTieredSTO_3_1_0 }; +export namespace USDTieredSTOTransactionParams { + export interface ChangeNonAccreditedLimit extends ChangeNonAccreditedLimitParams {} + export interface ModifyTimes extends ModifyTimesParams {} + export interface ModifyLimits extends ModifyLimitsParams {} + export interface ModifyOracle extends ModifyOracleParams {} + export interface ModifyFunding extends ModifyFundingParams {} + export interface ModifyAddresses extends ModifyAddressesParams {} + export interface ModifyTiers extends ModifyTiersParams {} + export interface ChangeAllowBeneficialInvestments extends ChangeAllowBeneficialInvestmentsParams {} + export interface BuyWithETH extends BuyWithETHParams {} + export interface BuyWithETHRateLimited extends BuyWithETHRateLimitedParams {} + export interface BuyWithPOLY extends BuyWithPOLYParams {} + export interface BuyWithPOLYRateLimited extends BuyWithPOLYRateLimitedParams {} + export interface BuyWithUSD extends BuyWithUSDParams {} + export interface BuyWithUSDRateLimited extends BuyWithUSDRateLimitedParams {} +} + // for internal use export class USDTieredSTOCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/transfer_manager/blacklist_transfer_manager_wrapper/common.ts b/src/contract_wrappers/modules/transfer_manager/blacklist_transfer_manager_wrapper/common.ts index 48afbf1f..489f8c47 100644 --- a/src/contract_wrappers/modules/transfer_manager/blacklist_transfer_manager_wrapper/common.ts +++ b/src/contract_wrappers/modules/transfer_manager/blacklist_transfer_manager_wrapper/common.ts @@ -45,23 +45,6 @@ import { } from '../../../../utils/convert'; import ContractWrapper from '../../../contract_wrapper'; -export namespace BlacklistTransferManagerTransactionParams { - export interface AddBlacklistType extends BlacklistTypeParams {} - export interface ModifyBlacklistType extends BlacklistTypeParams {} - export interface AddNewInvestorToNewBlacklist extends AddNewInvestorToNewBlacklistParams {} - export interface AddNewBlacklistTypeMulti extends BlacklistTypeMultiParams {} - export interface ModifyBlacklistTypeMulti extends BlacklistTypeMultiParams {} - export interface DeleteBlacklistType extends DeleteBlacklistTypeParams {} - export interface DeleteBlacklistTypeMulti extends DeleteBlacklistTypeMultiParams {} - export interface AddInvestorToBlacklist extends InvestorAndBlacklistParams {} - export interface DeleteInvestorFromBlacklist extends InvestorAndBlacklistParams {} - export interface DeleteInvestorFromAllBlacklist extends DeleteInvestorFromAllBlacklistParams {} - export interface DeleteInvestorFromAllBlacklistMulti extends DeleteInvestorFromAllBlacklistMultiParams {} - export interface AddInvestorToBlacklistMulti extends InvestorMultiAndBlacklistParams {} - export interface AddMultiInvestorToBlacklistMulti extends InvestorMultiAndBlacklistMultiParams {} - export interface DeleteMultiInvestorsFromBlacklistMulti extends InvestorMultiAndBlacklistMultiParams {} -} - interface DeleteInvestorFromBlacklistSubscribeAsyncParams extends SubscribeAsyncParams { eventName: BlacklistTransferManagerEvents_3_0_0.DeleteInvestorFromBlacklist; callback: EventCallback; @@ -199,7 +182,7 @@ interface UserAddressParams { * @param blacklistName Name of the blacklist type * @param repeatPeriodTime Repeat period of the blacklist type (measured in days) */ -interface BlacklistTypeParams extends TxParams { +export interface BlacklistTypeParams extends TxParams { startTime: Date; endTime: Date; blacklistName: string; @@ -213,7 +196,7 @@ interface BlacklistTypeParams extends TxParams { * @param repeatPeriodTime Repeat period of the blacklist type (measured in days) * @param investor Address of the investor */ -interface AddNewInvestorToNewBlacklistParams extends BlacklistTypeParams { +export interface AddNewInvestorToNewBlacklistParams extends BlacklistTypeParams { investor: string; } @@ -223,7 +206,7 @@ interface AddNewInvestorToNewBlacklistParams extends BlacklistTypeParams { * @param blacklistNames Names of the blacklist types * @param repeatPeriodTimes Repeat periods of the blacklist type (measured in days) */ -interface BlacklistTypeMultiParams extends TxParams { +export interface BlacklistTypeMultiParams extends TxParams { startTimes: Date[]; endTimes: Date[]; blacklistNames: string[]; @@ -233,14 +216,14 @@ interface BlacklistTypeMultiParams extends TxParams { /** * @param blacklistName Name of the blacklist type */ -interface DeleteBlacklistTypeParams extends TxParams { +export interface DeleteBlacklistTypeParams extends TxParams { blacklistName: string; } /** * @param blacklistNames Names of the blacklist types */ -interface DeleteBlacklistTypeMultiParams extends TxParams { +export interface DeleteBlacklistTypeMultiParams extends TxParams { blacklistNames: string[]; } @@ -248,7 +231,7 @@ interface DeleteBlacklistTypeMultiParams extends TxParams { * @param investor Address of the investor * @param blacklistName Name of the blacklist */ -interface InvestorAndBlacklistParams extends TxParams { +export interface InvestorAndBlacklistParams extends TxParams { userAddress: string; blacklistName: string; } @@ -256,14 +239,14 @@ interface InvestorAndBlacklistParams extends TxParams { /** * @param investor Address of the investor */ -interface DeleteInvestorFromAllBlacklistParams extends TxParams { +export interface DeleteInvestorFromAllBlacklistParams extends TxParams { investor: string; } /** * @param investor Addresses of the investors */ -interface DeleteInvestorFromAllBlacklistMultiParams extends TxParams { +export interface DeleteInvestorFromAllBlacklistMultiParams extends TxParams { investors: string[]; } @@ -271,7 +254,7 @@ interface DeleteInvestorFromAllBlacklistMultiParams extends TxParams { * @param investors Address of the investor * @param blacklistName Name of the blacklist */ -interface InvestorMultiAndBlacklistParams extends TxParams { +export interface InvestorMultiAndBlacklistParams extends TxParams { userAddresses: string[]; blacklistName: string; } @@ -280,7 +263,7 @@ interface InvestorMultiAndBlacklistParams extends TxParams { * @param investors Address of the investor * @param blacklistNames Name of the blacklist */ -interface InvestorMultiAndBlacklistMultiParams extends TxParams { +export interface InvestorMultiAndBlacklistMultiParams extends TxParams { userAddresses: string[]; blacklistNames: string[]; } diff --git a/src/contract_wrappers/modules/transfer_manager/blacklist_transfer_manager_wrapper/index.ts b/src/contract_wrappers/modules/transfer_manager/blacklist_transfer_manager_wrapper/index.ts index 6c409750..4ec7cbad 100644 --- a/src/contract_wrappers/modules/transfer_manager/blacklist_transfer_manager_wrapper/index.ts +++ b/src/contract_wrappers/modules/transfer_manager/blacklist_transfer_manager_wrapper/index.ts @@ -1,7 +1,19 @@ /* istanbul ignore file */ import { BlacklistTransferManagerEventArgs_3_0_0 } from '@polymathnetwork/abi-wrappers'; import { BlacklistTransferManager_3_0_0, isBlacklistTransferManager_3_0_0 } from './3.0.0'; -import Common, { isBlacklistTransferManager } from './common'; +import Common, { + isBlacklistTransferManager, + BlacklistTypeParams, + AddNewInvestorToNewBlacklistParams, + BlacklistTypeMultiParams, + DeleteBlacklistTypeParams, + DeleteBlacklistTypeMultiParams, + InvestorAndBlacklistParams, + DeleteInvestorFromAllBlacklistParams, + DeleteInvestorFromAllBlacklistMultiParams, + InvestorMultiAndBlacklistParams, + InvestorMultiAndBlacklistMultiParams, +} from './common'; import { ContractVersion } from '../../../../types'; export type BlacklistTransferManagerEventArgs = BlacklistTransferManagerEventArgs_3_0_0; @@ -21,6 +33,23 @@ export type BlacklistTransferManager = BlacklistTransferManager_3_0_0; export { isBlacklistTransferManager, BlacklistTransferManager_3_0_0, isBlacklistTransferManager_3_0_0 }; +export namespace BlacklistTransferManagerTransactionParams { + export interface AddBlacklistType extends BlacklistTypeParams {} + export interface ModifyBlacklistType extends BlacklistTypeParams {} + export interface AddNewInvestorToNewBlacklist extends AddNewInvestorToNewBlacklistParams {} + export interface AddNewBlacklistTypeMulti extends BlacklistTypeMultiParams {} + export interface ModifyBlacklistTypeMulti extends BlacklistTypeMultiParams {} + export interface DeleteBlacklistType extends DeleteBlacklistTypeParams {} + export interface DeleteBlacklistTypeMulti extends DeleteBlacklistTypeMultiParams {} + export interface AddInvestorToBlacklist extends InvestorAndBlacklistParams {} + export interface DeleteInvestorFromBlacklist extends InvestorAndBlacklistParams {} + export interface DeleteInvestorFromAllBlacklist extends DeleteInvestorFromAllBlacklistParams {} + export interface DeleteInvestorFromAllBlacklistMulti extends DeleteInvestorFromAllBlacklistMultiParams {} + export interface AddInvestorToBlacklistMulti extends InvestorMultiAndBlacklistParams {} + export interface AddMultiInvestorToBlacklistMulti extends InvestorMultiAndBlacklistMultiParams {} + export interface DeleteMultiInvestorsFromBlacklistMulti extends InvestorMultiAndBlacklistMultiParams {} +} + // for internal use export class BlacklistTransferManagerCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/transfer_manager/count_transfer_manager_wrapper/common.ts b/src/contract_wrappers/modules/transfer_manager/count_transfer_manager_wrapper/common.ts index 2f92cdb1..f0a484e1 100644 --- a/src/contract_wrappers/modules/transfer_manager/count_transfer_manager_wrapper/common.ts +++ b/src/contract_wrappers/modules/transfer_manager/count_transfer_manager_wrapper/common.ts @@ -28,10 +28,6 @@ import { import { ModuleCommon } from '../../module_wrapper'; import ContractWrapper from '../../../contract_wrapper'; -export namespace CountTransferManagerTransactionParams { - export interface ChangeHolderCount extends ChangeHolderCountParams {} -} - interface ModifyHolderCountSubscribeAsyncParams extends SubscribeAsyncParams { eventName: CountTransferManagerEvents_3_0_0.ModifyHolderCount; callback: EventCallback; @@ -89,7 +85,7 @@ interface VerifyTransferParams { /** * @param maxHolderCount is the new maximum amount of token holders */ -interface ChangeHolderCountParams extends TxParams { +export interface ChangeHolderCountParams extends TxParams { maxHolderCount: number; } diff --git a/src/contract_wrappers/modules/transfer_manager/count_transfer_manager_wrapper/index.ts b/src/contract_wrappers/modules/transfer_manager/count_transfer_manager_wrapper/index.ts index 6b6cf1d8..6bd65308 100644 --- a/src/contract_wrappers/modules/transfer_manager/count_transfer_manager_wrapper/index.ts +++ b/src/contract_wrappers/modules/transfer_manager/count_transfer_manager_wrapper/index.ts @@ -1,7 +1,7 @@ /* istanbul ignore file */ import { CountTransferManagerEventArgs_3_0_0 } from '@polymathnetwork/abi-wrappers'; import { CountTransferManager_3_0_0, isCountTransferManager_3_0_0 } from './3.0.0'; -import Common, { isCountTransferManager } from './common'; +import Common, { isCountTransferManager, ChangeHolderCountParams } from './common'; import { ContractVersion } from '../../../../types'; export type CountTransferManager = CountTransferManager_3_0_0; @@ -17,6 +17,10 @@ export { export { isCountTransferManager, CountTransferManager_3_0_0, isCountTransferManager_3_0_0 }; +export namespace CountTransferManagerTransactionParams { + export interface ChangeHolderCount extends ChangeHolderCountParams {} +} + // for internal use export class CountTransferManagerCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/transfer_manager/general_transfer_manager_wrapper/common.ts b/src/contract_wrappers/modules/transfer_manager/general_transfer_manager_wrapper/common.ts index dfe43163..e8e05204 100644 --- a/src/contract_wrappers/modules/transfer_manager/general_transfer_manager_wrapper/common.ts +++ b/src/contract_wrappers/modules/transfer_manager/general_transfer_manager_wrapper/common.ts @@ -47,20 +47,6 @@ import ContractWrapper from '../../../contract_wrapper'; const ONE_HUNDRED = new BigNumber(100); -export namespace GeneralTransferManagerTransactionParams { - export interface ChangeDefaults extends ChangeDefaultsParams {} - export interface ChangeIssuanceAddress extends ChangeIssuanceAddressParams {} - export interface ModifyKYCData extends ModifyKYCDataParams {} - export interface ModifyKYCDataSigned extends ModifyKYCDataSignedParams {} - export interface ModifyInvestorFlag extends ModifyInvestorFlagParams {} - export interface ModifyInvestorFlagMulti extends ModifyInvestorFlagMultiParams {} - export interface ExecuteTransfer extends ExecuteTransferParams {} - export interface ModifyTransferRequirements extends ModifyTransferRequirementsParams {} - export interface ModifyTransferRequirementsMulti extends ModifyTransferRequirementsMultiParams {} - export interface ModifyKYCDataMulti extends ModifyKYCDataMultiParams {} - export interface ModifyKYCDataSignedMulti extends ModifyKYCDataSignedMultiParams {} -} - interface ChangeIssuanceAddressSubscribeAsyncParams extends SubscribeAsyncParams { eventName: GeneralTransferManagerEvents_3_0_0.ChangeIssuanceAddress; callback: EventCallback; @@ -167,7 +153,7 @@ interface NonceMapParams { * @param defaultCanSendAfter default for zero canSendAfter * @param defaultCanReceiveAfter default for zero canReceiveAfter */ -interface ChangeDefaultsParams extends TxParams { +export interface ChangeDefaultsParams extends TxParams { defaultFromTime: Date; defaultToTime: Date; } @@ -175,7 +161,7 @@ interface ChangeDefaultsParams extends TxParams { /** * @param issuanceAddress new address for the issuance */ -interface ChangeIssuanceAddressParams extends TxParams { +export interface ChangeIssuanceAddressParams extends TxParams { issuanceAddress: string; } @@ -185,7 +171,7 @@ interface ChangeIssuanceAddressParams extends TxParams { * @param canReceiveAfter is the moment when the purchase lockup period ends and the investor can freely purchase or receive tokens from others * @param expiryTime is the moment till investors KYC will be validated. After that investor need to do re-KYC */ -interface ModifyKYCDataParams extends TxParams { +export interface ModifyKYCDataParams extends TxParams { investor: string; canSendAfter: Date; canReceiveAfter: Date; @@ -202,7 +188,7 @@ interface ModifyKYCDataParams extends TxParams { * @param nonce nonce of signature (avoid replay attack) * @param signature issuer signature */ -interface ModifyKYCDataSignedParams extends TxParams { +export interface ModifyKYCDataSignedParams extends TxParams { investor: string; canSendAfter: Date; canReceiveAfter: Date; @@ -213,35 +199,12 @@ interface ModifyKYCDataSignedParams extends TxParams { signature: string; } -/** - * @param investor Address - * @param flag FlagsType - */ -interface GetInvestorFlag { - investor: string; - flag: FlagsType; -} - -/** - * @param investor Address - */ -interface GetInvestorFlags { - investor: string; -} - -/** - * @param investors Address array - */ -interface GetKYCDataParams { - investors: string[]; -} - /** * @param investor is the address of the investor. * @param flag index of flag to change. flag is used to know specifics about investor like isAccredited. * @param value value of the flag. a flag can be true or false. */ -interface ModifyInvestorFlagParams extends TxParams { +export interface ModifyInvestorFlagParams extends TxParams { investor: string; flag: FlagsType; value: boolean; @@ -252,7 +215,7 @@ interface ModifyInvestorFlagParams extends TxParams { * @param flag list of flag indexes to change. Flags are used to know specifics about investor like isAccredited. * @param value list of flag values to set. A flag can be true or false. */ -interface ModifyInvestorFlagMultiParams extends TxParams { +export interface ModifyInvestorFlagMultiParams extends TxParams { investors: string[]; flag: FlagsType[]; value: boolean[]; @@ -263,7 +226,7 @@ interface ModifyInvestorFlagMultiParams extends TxParams { * @param to Address of the receiver * @param data Data value */ -interface ExecuteTransferParams extends TxParams { +export interface ExecuteTransferParams extends TxParams { from: string; to: string; data: string; @@ -276,7 +239,7 @@ interface ExecuteTransferParams extends TxParams { * @param fromRestricted defines if transfer time restriction is checked for the sender * @param toRestricted defines if transfer time restriction is checked for the receiver */ -interface ModifyTransferRequirementsParams extends TxParams { +export interface ModifyTransferRequirementsParams extends TxParams { transferType: TransferType; fromValidKYC: boolean; toValidKYC: boolean; @@ -291,7 +254,7 @@ interface ModifyTransferRequirementsParams extends TxParams { * @param fromRestricted is a list that defines if transfer time restriction is checked for each sender * @param toRestricted is a list that defines if transfer time restriction is checked for each receiver */ -interface ModifyTransferRequirementsMultiParams extends TxParams { +export interface ModifyTransferRequirementsMultiParams extends TxParams { transferTypes: TransferType[]; fromValidKYC: boolean[]; toValidKYC: boolean[]; @@ -305,7 +268,7 @@ interface ModifyTransferRequirementsMultiParams extends TxParams { * @param canReceiveAfter is a list of the moments when the purchase lockup period ends and each investor can freely purchase tokens from others * @param expiryTime is a list of the moments up to which each investor's KYC will be validated. After that investor needs to re-do KYC */ -interface ModifyKYCDataMultiParams extends TxParams { +export interface ModifyKYCDataMultiParams extends TxParams { investors: string[]; canSendAfter: Date[]; canReceiveAfter: Date[]; @@ -322,7 +285,7 @@ interface ModifyKYCDataMultiParams extends TxParams { * @param nonce nonce of signature (avoid replay attack) * @param signature issuer signature */ -interface ModifyKYCDataSignedMultiParams extends TxParams { +export interface ModifyKYCDataSignedMultiParams extends TxParams { investors: string[]; canSendAfter: Date[]; canReceiveAfter: Date[]; @@ -333,6 +296,29 @@ interface ModifyKYCDataSignedMultiParams extends TxParams { signature: string; } +/** + * @param investor Address + * @param flag FlagsType + */ +interface GetInvestorFlag { + investor: string; + flag: FlagsType; +} + +/** + * @param investor Address + */ +interface GetInvestorFlags { + investor: string; +} + +/** + * @param investors Address array + */ +interface GetKYCDataParams { + investors: string[]; +} + /** * @param fromIndex From index in range * @param toIndex To index in range diff --git a/src/contract_wrappers/modules/transfer_manager/general_transfer_manager_wrapper/index.ts b/src/contract_wrappers/modules/transfer_manager/general_transfer_manager_wrapper/index.ts index e2b31758..01942df4 100644 --- a/src/contract_wrappers/modules/transfer_manager/general_transfer_manager_wrapper/index.ts +++ b/src/contract_wrappers/modules/transfer_manager/general_transfer_manager_wrapper/index.ts @@ -7,7 +7,20 @@ import { import { GeneralTransferManager_3_0_0, isGeneralTransferManager_3_0_0 } from './3.0.0'; import { GeneralTransferManager_3_1_0, isGeneralTransferManager_3_1_0 } from './3.1.0'; -import Common, { isGeneralTransferManager } from './common'; +import Common, { + isGeneralTransferManager, + ChangeDefaultsParams, + ChangeIssuanceAddressParams, + ModifyKYCDataParams, + ModifyKYCDataSignedParams, + ModifyInvestorFlagParams, + ModifyInvestorFlagMultiParams, + ExecuteTransferParams, + ModifyTransferRequirementsParams, + ModifyTransferRequirementsMultiParams, + ModifyKYCDataMultiParams, + ModifyKYCDataSignedMultiParams, +} from './common'; import { ContractVersion } from '../../../../types'; export const GeneralTransferManagerEvents = { @@ -38,6 +51,20 @@ export { isGeneralTransferManager_3_1_0, }; +export namespace GeneralTransferManagerTransactionParams { + export interface ChangeDefaults extends ChangeDefaultsParams {} + export interface ChangeIssuanceAddress extends ChangeIssuanceAddressParams {} + export interface ModifyKYCData extends ModifyKYCDataParams {} + export interface ModifyKYCDataSigned extends ModifyKYCDataSignedParams {} + export interface ModifyInvestorFlag extends ModifyInvestorFlagParams {} + export interface ModifyInvestorFlagMulti extends ModifyInvestorFlagMultiParams {} + export interface ExecuteTransfer extends ExecuteTransferParams {} + export interface ModifyTransferRequirements extends ModifyTransferRequirementsParams {} + export interface ModifyTransferRequirementsMulti extends ModifyTransferRequirementsMultiParams {} + export interface ModifyKYCDataMulti extends ModifyKYCDataMultiParams {} + export interface ModifyKYCDataSignedMulti extends ModifyKYCDataSignedMultiParams {} +} + // for internal use export class GeneralTransferManagerCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/transfer_manager/lock_up_transfer_manager_wrapper/common.ts b/src/contract_wrappers/modules/transfer_manager/lock_up_transfer_manager_wrapper/common.ts index e0fe99b7..48c1e4af 100644 --- a/src/contract_wrappers/modules/transfer_manager/lock_up_transfer_manager_wrapper/common.ts +++ b/src/contract_wrappers/modules/transfer_manager/lock_up_transfer_manager_wrapper/common.ts @@ -47,21 +47,6 @@ import { } from '../../../../utils/convert'; import ContractWrapper from '../../../contract_wrapper'; -export namespace LockUpTransferManagerTransactionParams { - export interface AddNewLockUpType extends LockUpTypeParams {} - export interface ModifyLockUpType extends LockUpTypeParams {} - export interface AddNewLockUpTypeMulti extends LockUpTypeMultiParams {} - export interface ModifyLockUpTypeMulti extends LockUpTypeMultiParams {} - export interface AddLockUpByName extends LockUpByNameParams {} - export interface AddLockUpByNameMulti extends LockUpByNameMultiParams {} - export interface AddNewLockUpToUser extends AddNewLockUpToUserParams {} - export interface AddNewLockUpToUserMulti extends AddNewLockUpToUserMultiParams {} - export interface RemoveLockUpFromUser extends RemoveLockUpFromUserParams {} - export interface RemoveLockUpFromUserMulti extends RemoveLockUpFromUserMultiParams {} - export interface RemoveLockUpType extends RemoveLockUpTypeParams {} - export interface RemoveLockUpTypeMulti extends RemoveLockUpTypeMultiParams {} -} - interface AddLockUpToUserSubscribeAsyncParams extends SubscribeAsyncParams { eventName: LockUpTransferManagerEvents_3_0_0.AddLockUpToUser; callback: EventCallback; @@ -200,7 +185,7 @@ interface VerifyTransferParams { * @param releaseFrequencySeconds How often to release a tranche of tokens (seconds) * @param lockupName Name of the lockup */ -interface LockUpTypeParams extends TxParams { +export interface LockUpTypeParams extends TxParams { lockupAmount: BigNumber; startTime: Date; lockUpPeriodSeconds: number; @@ -215,7 +200,7 @@ interface LockUpTypeParams extends TxParams { * @param releaseFrequenciesSeconds Array of how often to release a tranche of tokens (seconds) * @param lockupNames Array of names of the lockup */ -interface LockUpTypeMultiParams extends TxParams { +export interface LockUpTypeMultiParams extends TxParams { lockupAmounts: BigNumber[]; startTimes: Date[]; lockUpPeriodSeconds: number[]; @@ -227,7 +212,7 @@ interface LockUpTypeMultiParams extends TxParams { * @param userAddress Address of the user * @param lockupName Name of the lockup */ -interface LockUpByNameParams extends TxParams { +export interface LockUpByNameParams extends TxParams { userAddress: string; lockupName: string; } @@ -236,7 +221,7 @@ interface LockUpByNameParams extends TxParams { * @param userAddresses Array of addresses of the users * @param lockupNames Array of names of the lockups */ -interface LockUpByNameMultiParams extends TxParams { +export interface LockUpByNameMultiParams extends TxParams { userAddresses: string[]; lockupNames: string[]; } @@ -249,7 +234,7 @@ interface LockUpByNameMultiParams extends TxParams { * @param releaseFrequencySeconds How often to release a tranche of tokens (seconds) * @param lockupName Name of the lockup */ -interface AddNewLockUpToUserParams extends TxParams { +export interface AddNewLockUpToUserParams extends TxParams { userAddress: string; lockupAmount: BigNumber; startTime: Date; @@ -266,7 +251,7 @@ interface AddNewLockUpToUserParams extends TxParams { * @param releaseFrequenciesSeconds Array of how often to release a tranche of tokens (seconds) * @param lockupNames Array of names of the lockup */ -interface AddNewLockUpToUserMultiParams extends TxParams { +export interface AddNewLockUpToUserMultiParams extends TxParams { userAddresses: string[]; lockupAmounts: BigNumber[]; startTimes: Date[]; @@ -279,7 +264,7 @@ interface AddNewLockUpToUserMultiParams extends TxParams { * @param userAddress Address of the user whose tokens are locked up * @param lockupName Name of the lockup need to be removed. */ -interface RemoveLockUpFromUserParams extends TxParams { +export interface RemoveLockUpFromUserParams extends TxParams { userAddress: string; lockupName: string; } @@ -288,7 +273,7 @@ interface RemoveLockUpFromUserParams extends TxParams { * @param userAddresses Array of addresses of the user whose tokens are locked up * @param lockupNames Array of the names of the lockup that needs to be removed. */ -interface RemoveLockUpFromUserMultiParams extends TxParams { +export interface RemoveLockUpFromUserMultiParams extends TxParams { userAddresses: string[]; lockupNames: string[]; } @@ -296,14 +281,14 @@ interface RemoveLockUpFromUserMultiParams extends TxParams { /** * @param lockupName Name of the lockup */ -interface RemoveLockUpTypeParams extends TxParams { +export interface RemoveLockUpTypeParams extends TxParams { lockupName: string; } /** * @param lockupNames Array of the lockup names. */ -interface RemoveLockUpTypeMultiParams extends TxParams { +export interface RemoveLockUpTypeMultiParams extends TxParams { lockupNames: string[]; } diff --git a/src/contract_wrappers/modules/transfer_manager/lock_up_transfer_manager_wrapper/index.ts b/src/contract_wrappers/modules/transfer_manager/lock_up_transfer_manager_wrapper/index.ts index b3067e54..d8029d05 100644 --- a/src/contract_wrappers/modules/transfer_manager/lock_up_transfer_manager_wrapper/index.ts +++ b/src/contract_wrappers/modules/transfer_manager/lock_up_transfer_manager_wrapper/index.ts @@ -1,8 +1,19 @@ /* istanbul ignore file */ import { LockUpTransferManagerEventArgs_3_0_0 } from '@polymathnetwork/abi-wrappers'; import { LockUpTransferManager_3_0_0, isLockUpTransferManager_3_0_0 } from './3.0.0'; - -import Common, { isLockUpTransferManager } from './common'; +import Common, { + isLockUpTransferManager, + LockUpTypeParams, + LockUpTypeMultiParams, + LockUpByNameParams, + LockUpByNameMultiParams, + AddNewLockUpToUserParams, + AddNewLockUpToUserMultiParams, + RemoveLockUpFromUserParams, + RemoveLockUpFromUserMultiParams, + RemoveLockUpTypeParams, + RemoveLockUpTypeMultiParams, +} from './common'; import { ContractVersion } from '../../../../types'; export type LockUpTansferManagerEventArgs = LockUpTransferManagerEventArgs_3_0_0; @@ -22,6 +33,21 @@ export type LockUpTransferManager = LockUpTransferManager_3_0_0; export { isLockUpTransferManager, LockUpTransferManager_3_0_0, isLockUpTransferManager_3_0_0 }; +export namespace LockUpTransferManagerTransactionParams { + export interface AddNewLockUpType extends LockUpTypeParams {} + export interface ModifyLockUpType extends LockUpTypeParams {} + export interface AddNewLockUpTypeMulti extends LockUpTypeMultiParams {} + export interface ModifyLockUpTypeMulti extends LockUpTypeMultiParams {} + export interface AddLockUpByName extends LockUpByNameParams {} + export interface AddLockUpByNameMulti extends LockUpByNameMultiParams {} + export interface AddNewLockUpToUser extends AddNewLockUpToUserParams {} + export interface AddNewLockUpToUserMulti extends AddNewLockUpToUserMultiParams {} + export interface RemoveLockUpFromUser extends RemoveLockUpFromUserParams {} + export interface RemoveLockUpFromUserMulti extends RemoveLockUpFromUserMultiParams {} + export interface RemoveLockUpType extends RemoveLockUpTypeParams {} + export interface RemoveLockUpTypeMulti extends RemoveLockUpTypeMultiParams {} +} + // for internal use export class LockupTransferManagerCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/transfer_manager/manual_approval_transfer_manager_wrapper/common.ts b/src/contract_wrappers/modules/transfer_manager/manual_approval_transfer_manager_wrapper/common.ts index 37bdc50d..d1df2cfa 100644 --- a/src/contract_wrappers/modules/transfer_manager/manual_approval_transfer_manager_wrapper/common.ts +++ b/src/contract_wrappers/modules/transfer_manager/manual_approval_transfer_manager_wrapper/common.ts @@ -42,15 +42,6 @@ import { } from '../../../../utils/convert'; import ContractWrapper from '../../../contract_wrapper'; -export namespace ManualApprovalTransferManagerTransactionParams { - export interface AddManualApproval extends AddManualApprovalParams {} - export interface AddManualApprovalMulti extends AddManualApprovalMultiParams {} - export interface ModifyManualApproval extends ModifyManualApprovalParams {} - export interface ModifyManualApprovalMulti extends ModifyManualApprovalMultiParams {} - export interface RevokeManualApproval extends RevokeManualApprovalParams {} - export interface RevokeManualApprovalMulti extends RevokeManualApprovalMultiParams {} -} - interface AddManualApprovalSubscribeAsyncParams extends SubscribeAsyncParams { eventName: ManualApprovalTransferManagerEvents_3_0_0.AddManualApproval; callback: EventCallback; @@ -147,7 +138,7 @@ interface VerifyTransferParams { * @param expiryTime is the time until which the transfer is allowed * @param description Description about the manual approval */ -interface AddManualApprovalParams extends TxParams { +export interface AddManualApprovalParams extends TxParams { from: string; to: string; allowance: BigNumber; @@ -162,7 +153,7 @@ interface AddManualApprovalParams extends TxParams { * @param expiryTimes is the array of the times until which eath transfer is allowed * @param descriptions is the description array for these manual approvals */ -interface AddManualApprovalMultiParams extends TxParams { +export interface AddManualApprovalMultiParams extends TxParams { from: string[]; to: string[]; allowances: BigNumber[]; @@ -179,7 +170,7 @@ interface AddManualApprovalMultiParams extends TxParams { * @param increase tells whether the allowances will be increased (true) or decreased (false). * or any value when there is no change in allowances */ -interface ModifyManualApprovalParams extends TxParams { +export interface ModifyManualApprovalParams extends TxParams { from: string; to: string; expiryTime: Date; @@ -197,7 +188,7 @@ interface ModifyManualApprovalParams extends TxParams { * @param increase Array of bools that tells whether the allowances will be increased (true) or decreased (false). * or any value when there is no change in allowances */ -interface ModifyManualApprovalMultiParams extends TxParams { +export interface ModifyManualApprovalMultiParams extends TxParams { from: string[]; to: string[]; expiryTimes: Date[]; @@ -210,7 +201,7 @@ interface ModifyManualApprovalMultiParams extends TxParams { * @param from is the address from which transfers are approved * @param to is the address to which transfers are approved */ -interface RevokeManualApprovalParams extends TxParams { +export interface RevokeManualApprovalParams extends TxParams { from: string; to: string; } @@ -219,7 +210,7 @@ interface RevokeManualApprovalParams extends TxParams { * @param from is the address array from which transfers are approved * @param to is the address array to which transfers are approved */ -interface RevokeManualApprovalMultiParams extends TxParams { +export interface RevokeManualApprovalMultiParams extends TxParams { from: string[]; to: string[]; } diff --git a/src/contract_wrappers/modules/transfer_manager/manual_approval_transfer_manager_wrapper/index.ts b/src/contract_wrappers/modules/transfer_manager/manual_approval_transfer_manager_wrapper/index.ts index 64bfdb02..86d7c53b 100644 --- a/src/contract_wrappers/modules/transfer_manager/manual_approval_transfer_manager_wrapper/index.ts +++ b/src/contract_wrappers/modules/transfer_manager/manual_approval_transfer_manager_wrapper/index.ts @@ -1,8 +1,15 @@ /* istanbul ignore file */ import { ManualApprovalTransferManagerEventArgs_3_0_0 } from '@polymathnetwork/abi-wrappers'; import { ManualApprovalTransferManager_3_0_0, isManualApprovalTransferManager_3_0_0 } from './3.0.0'; - -import Common, { isManualApprovalTransferManager } from './common'; +import Common, { + isManualApprovalTransferManager, + AddManualApprovalParams, + AddManualApprovalMultiParams, + ModifyManualApprovalParams, + ModifyManualApprovalMultiParams, + RevokeManualApprovalParams, + RevokeManualApprovalMultiParams, +} from './common'; import { ContractVersion } from '../../../../types'; export type ManualApprovalTransferManagerEventArgs = ManualApprovalTransferManagerEventArgs_3_0_0; @@ -20,6 +27,15 @@ export type ManualApprovalTransferManager = ManualApprovalTransferManager_3_0_0; export { isManualApprovalTransferManager, ManualApprovalTransferManager_3_0_0, isManualApprovalTransferManager_3_0_0 }; +export namespace ManualApprovalTransferManagerTransactionParams { + export interface AddManualApproval extends AddManualApprovalParams {} + export interface AddManualApprovalMulti extends AddManualApprovalMultiParams {} + export interface ModifyManualApproval extends ModifyManualApprovalParams {} + export interface ModifyManualApprovalMulti extends ModifyManualApprovalMultiParams {} + export interface RevokeManualApproval extends RevokeManualApprovalParams {} + export interface RevokeManualApprovalMulti extends RevokeManualApprovalMultiParams {} +} + // for internal use export class ManualApprovalTransferManagerCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/transfer_manager/percentage_transfer_manager_wrapper/common.ts b/src/contract_wrappers/modules/transfer_manager/percentage_transfer_manager_wrapper/common.ts index 9fde6858..3ca661ea 100644 --- a/src/contract_wrappers/modules/transfer_manager/percentage_transfer_manager_wrapper/common.ts +++ b/src/contract_wrappers/modules/transfer_manager/percentage_transfer_manager_wrapper/common.ts @@ -31,13 +31,6 @@ import assert from '../../../../utils/assert'; import { ModuleCommon } from '../../module_wrapper'; import ContractWrapper from '../../../contract_wrapper'; -export namespace PercentageTransferManagerTransactionParams { - export interface ChangeHolderPercentage extends ChangeHolderPercentageParams {} - export interface ModifyWhitelist extends ModifyWhitelistParams {} - export interface ModifyWhitelistMulti extends ModifyWhitelistMultiParams {} - export interface SetAllowPrimaryIssuance extends SetAllowPrimaryIssuanceParams {} -} - interface ModifyHolderPercentageSubscribeAsyncParams extends SubscribeAsyncParams { eventName: PercentageTransferManagerEvents_3_0_0.ModifyHolderPercentage; callback: EventCallback; @@ -128,7 +121,7 @@ interface VerifyTransferParams { /** * @param maxHolderPercentage is the new maximum percentage */ -interface ChangeHolderPercentageParams extends TxParams { +export interface ChangeHolderPercentageParams extends TxParams { maxHolderPercentage: BigNumber; } @@ -136,7 +129,7 @@ interface ChangeHolderPercentageParams extends TxParams { * @param investor is the address to whitelist * @param valid whether or not the address it to be added or removed from the whitelist */ -interface ModifyWhitelistParams extends TxParams { +export interface ModifyWhitelistParams extends TxParams { investor: string; valid: boolean; } @@ -145,7 +138,7 @@ interface ModifyWhitelistParams extends TxParams { * @param investors Array of the addresses to whitelist * @param valids Array of boolean value to decide whether or not the address it to be added or removed from the whitelist */ -interface ModifyWhitelistMultiParams extends TxParams { +export interface ModifyWhitelistMultiParams extends TxParams { investors: string[]; valids: boolean[]; } @@ -153,7 +146,7 @@ interface ModifyWhitelistMultiParams extends TxParams { /** * @param allowPrimaryIssuance whether to allow all primary issuance transfers */ -interface SetAllowPrimaryIssuanceParams extends TxParams { +export interface SetAllowPrimaryIssuanceParams extends TxParams { allowPrimaryIssuance: boolean; } diff --git a/src/contract_wrappers/modules/transfer_manager/percentage_transfer_manager_wrapper/index.ts b/src/contract_wrappers/modules/transfer_manager/percentage_transfer_manager_wrapper/index.ts index 1b82fef3..a825bda8 100644 --- a/src/contract_wrappers/modules/transfer_manager/percentage_transfer_manager_wrapper/index.ts +++ b/src/contract_wrappers/modules/transfer_manager/percentage_transfer_manager_wrapper/index.ts @@ -2,7 +2,13 @@ import { PercentageTransferManagerEventArgs_3_0_0 } from '@polymathnetwork/abi-wrappers'; import { PercentageTransferManager_3_0_0, isPercentageTransferManager_3_0_0 } from './3.0.0'; -import Common, { isPercentageTransferManager } from './common'; +import Common, { + isPercentageTransferManager, + ChangeHolderPercentageParams, + ModifyWhitelistParams, + ModifyWhitelistMultiParams, + SetAllowPrimaryIssuanceParams, +} from './common'; import { ContractVersion } from '../../../../types'; export type PercentageTransferManagerEventArgs = PercentageTransferManagerEventArgs_3_0_0; @@ -20,6 +26,13 @@ export type PercentageTransferManager = PercentageTransferManager_3_0_0; export { isPercentageTransferManager, PercentageTransferManager_3_0_0, isPercentageTransferManager_3_0_0 }; +export namespace PercentageTransferManagerTransactionParams { + export interface ChangeHolderPercentage extends ChangeHolderPercentageParams {} + export interface ModifyWhitelist extends ModifyWhitelistParams {} + export interface ModifyWhitelistMulti extends ModifyWhitelistMultiParams {} + export interface SetAllowPrimaryIssuance extends SetAllowPrimaryIssuanceParams {} +} + // for internal use export class PercentageTransferManagerCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/transfer_manager/restricted_partial_sale_transfer_manager_wrapper/common.ts b/src/contract_wrappers/modules/transfer_manager/restricted_partial_sale_transfer_manager_wrapper/common.ts index 198d633b..cf13105f 100644 --- a/src/contract_wrappers/modules/transfer_manager/restricted_partial_sale_transfer_manager_wrapper/common.ts +++ b/src/contract_wrappers/modules/transfer_manager/restricted_partial_sale_transfer_manager_wrapper/common.ts @@ -26,15 +26,6 @@ import { ModuleCommon } from '../../module_wrapper'; import assert from '../../../../utils/assert'; import ContractWrapper from '../../../contract_wrapper'; -/** - * @param wallet Ethereum wallet/contract address that need to be exempted - * @param exempted Boolean value used to add (i.e true) or remove (i.e false) from the list - */ - -export namespace RestrictedPartialSaleTransferManagerTransactionParams { - export interface ChangeExemptWalletList extends ChangeExemptWalletListParams {} -} - interface ChangedExemptWalletListSubscribeAsyncParams extends SubscribeAsyncParams { eventName: RestrictedPartialSaleTMEvents_3_1_0.ChangedExemptWalletList; callback: EventCallback; @@ -80,7 +71,7 @@ export interface GetRestrictedPartialSaleTransferManagerLogsAsyncParams extends * @param wallet Ethereum wallet/contract address that need to be exempted * @param exempted Boolean value used to add (i.e true) or remove (i.e false) from the list */ -interface ChangeExemptWalletListParams extends TxParams { +export interface ChangeExemptWalletListParams extends TxParams { wallet: string; exempted: boolean; } @@ -89,7 +80,7 @@ interface ChangeExemptWalletListParams extends TxParams { * @param wallets Ethereum wallet/contract addresses that need to be exempted * @param exempted Boolean values used to add (i.e true) or remove (i.e false) from the list */ -interface ChangeExemptWalletListMultiParams extends TxParams { +export interface ChangeExemptWalletListMultiParams extends TxParams { wallets: string[]; exempted: boolean[]; } diff --git a/src/contract_wrappers/modules/transfer_manager/restricted_partial_sale_transfer_manager_wrapper/index.ts b/src/contract_wrappers/modules/transfer_manager/restricted_partial_sale_transfer_manager_wrapper/index.ts index ec9c4af6..d00585ab 100644 --- a/src/contract_wrappers/modules/transfer_manager/restricted_partial_sale_transfer_manager_wrapper/index.ts +++ b/src/contract_wrappers/modules/transfer_manager/restricted_partial_sale_transfer_manager_wrapper/index.ts @@ -1,8 +1,11 @@ /* istanbul ignore file */ import { RestrictedPartialSaleTMEventArgs_3_1_0 } from '@polymathnetwork/abi-wrappers'; import { RestrictedPartialSaleTransferManager_3_1_0, isRestrictedPartialSaleTransferManager_3_1_0 } from './3.1.0'; - -import Common, { isRestrictedPartialSaleTransferManager } from './common'; +import Common, { + isRestrictedPartialSaleTransferManager, + ChangeExemptWalletListMultiParams, + ChangeExemptWalletListParams, +} from './common'; import { ContractVersion } from '../../../../types'; export type RestrictedPartialSaleTransferManagerEventArgs = RestrictedPartialSaleTMEventArgs_3_1_0; @@ -22,6 +25,11 @@ export { isRestrictedPartialSaleTransferManager_3_1_0, }; +export namespace RestrictedPartialSaleTransferManagerTransactionParams { + export interface ChangeExemptWalletList extends ChangeExemptWalletListParams {} + export interface ChangeExemptWalletListMulti extends ChangeExemptWalletListMultiParams {} +} + // for internal use export class RestrictedPartialSaleTransferManagerCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/transfer_manager/volume_restriction_transfer_manager_wrapper/common.ts b/src/contract_wrappers/modules/transfer_manager/volume_restriction_transfer_manager_wrapper/common.ts index 84116110..ba9f5a60 100644 --- a/src/contract_wrappers/modules/transfer_manager/volume_restriction_transfer_manager_wrapper/common.ts +++ b/src/contract_wrappers/modules/transfer_manager/volume_restriction_transfer_manager_wrapper/common.ts @@ -51,26 +51,6 @@ import { } from '../../../../types'; import ContractWrapper from '../../../contract_wrapper'; -export namespace VolumeRestrictionTransferManagerTransactionParams { - export interface RemoveIndividualRestriction extends HolderIndividualRestrictionParams {} - export interface RemoveIndividualDailyRestriction extends HolderIndividualRestrictionParams {} - export interface ChangeExemptWalletList extends ChangeExemptWalletListParams {} - export interface AddDefaultDailyRestriction extends DailyRestrictionParams {} - export interface ModifyDefaultDailyRestriction extends DailyRestrictionParams {} - export interface ModifyIndividualDailyRestriction extends IndividualDailyRestrictionParams {} - export interface AddDefaultRestriction extends RestrictionParams {} - export interface ModifyDefaultRestriction extends RestrictionParams {} - export interface AddIndividualDailyRestriction extends IndividualRestrictionParams {} - export interface AddIndividualRestriction extends IndividualRestrictionParams {} - export interface ModifyIndividualRestriction extends IndividualRestrictionParams {} - export interface RemoveIndividualRestrictionMulti extends RemoveIndividualRestrictionMultiParams {} - export interface RemoveIndividualDailyRestrictionMulti extends RemoveIndividualRestrictionMultiParams {} - export interface AddIndividualDailyRestrictionMulti extends IndividualDailyRestrictionMultiParams {} - export interface ModifyIndividualDailyRestrictionMulti extends IndividualDailyRestrictionMultiParams {} - export interface AddIndividualRestrictionMulti extends IndividualRestrictionMultiParams {} - export interface ModifyIndividualRestrictionMulti extends IndividualRestrictionMultiParams {} -} - interface ChangedExemptWalletListSubscribeAsyncParams extends SubscribeAsyncParams { eventName: VolumeRestrictionTMEvents_3_0_0.ChangedExemptWalletList; callback: EventCallback; @@ -284,7 +264,7 @@ interface VerifyTransferParams { /** * @param investor Address of the user */ -interface HolderIndividualRestrictionParams extends TxParams { +export interface HolderIndividualRestrictionParams extends TxParams { investor: string; } @@ -292,7 +272,7 @@ interface HolderIndividualRestrictionParams extends TxParams { * @param wallet Ethereum wallet/contract address that need to be exempted * @param exempted Boolean value used to add (i.e true) or remove (i.e false) from the list */ -interface ChangeExemptWalletListParams extends TxParams { +export interface ChangeExemptWalletListParams extends TxParams { wallet: string; change: boolean; } @@ -304,7 +284,7 @@ interface ChangeExemptWalletListParams extends TxParams { * @param restrictionType Whether it will be `Fixed` (fixed no. of tokens allowed to transact) * or `Percentage` (tokens are calculated as per the totalSupply in the fly). */ -interface DailyRestrictionParams extends TxParams { +export interface DailyRestrictionParams extends TxParams { allowedTokens: BigNumber; startTime: Date; endTime: Date; @@ -314,14 +294,14 @@ interface DailyRestrictionParams extends TxParams { /** * @param holder Address of the token holder, whom restriction will be implied */ -interface IndividualDailyRestrictionParams extends DailyRestrictionParams { +export interface IndividualDailyRestrictionParams extends DailyRestrictionParams { holder: string; } /** * @param rollingPeriodInDays Rolling period in days (Minimum value should be 1 day) */ -interface RestrictionParams extends DailyRestrictionParams { +export interface RestrictionParams extends DailyRestrictionParams { rollingPeriodInDays: number; } @@ -334,14 +314,14 @@ interface RestrictionParams extends DailyRestrictionParams { * @param restrictionTypes Array of restriction types value whether it will be `Fixed` (fixed no. of tokens allowed to transact) * or `Percentage` (tokens are calculated as per the totalSupply in the fly). */ -interface IndividualRestrictionParams extends RestrictionParams { +export interface IndividualRestrictionParams extends RestrictionParams { holder: string; } /** * @param holders Array of address of the user */ -interface RemoveIndividualRestrictionMultiParams extends TxParams { +export interface RemoveIndividualRestrictionMultiParams extends TxParams { holders: string[]; } @@ -353,7 +333,7 @@ interface RemoveIndividualRestrictionMultiParams extends TxParams { * @param restrictionTypes Array of restriction types value whether it will be `Fixed` (fixed no. of tokens allowed to transact) * or `Percentage` (tokens are calculated as per the totalSupply in the fly). */ -interface IndividualDailyRestrictionMultiParams extends TxParams { +export interface IndividualDailyRestrictionMultiParams extends TxParams { holders: string[]; allowedTokens: BigNumber[]; startTimes: Date[]; @@ -364,14 +344,14 @@ interface IndividualDailyRestrictionMultiParams extends TxParams { /** * @param rollingPeriodInDays Array of rolling period in days (Minimum value should be 1 day) */ -interface IndividualRestrictionMultiParams extends IndividualDailyRestrictionMultiParams { +export interface IndividualRestrictionMultiParams extends IndividualDailyRestrictionMultiParams { rollingPeriodInDays: number[]; } /** * @param user Address of the token holder for whom the bucket details has queried */ -interface GetIndividualBucketDetailsToUserParams { +export interface GetIndividualBucketDetailsToUserParams { user: string; } diff --git a/src/contract_wrappers/modules/transfer_manager/volume_restriction_transfer_manager_wrapper/index.ts b/src/contract_wrappers/modules/transfer_manager/volume_restriction_transfer_manager_wrapper/index.ts index 68fbb793..a3185d26 100644 --- a/src/contract_wrappers/modules/transfer_manager/volume_restriction_transfer_manager_wrapper/index.ts +++ b/src/contract_wrappers/modules/transfer_manager/volume_restriction_transfer_manager_wrapper/index.ts @@ -2,7 +2,18 @@ import { VolumeRestrictionTMEventArgs_3_0_0 } from '@polymathnetwork/abi-wrappers'; import { VolumeRestrictionTransferManager_3_0_0, isVolumeRestrictionTransferManager_3_0_0 } from './3.0.0'; -import Common, { isVolumeRestrictionTransferManager } from './common'; +import Common, { + isVolumeRestrictionTransferManager, + HolderIndividualRestrictionParams, + ChangeExemptWalletListParams, + DailyRestrictionParams, + IndividualDailyRestrictionParams, + RestrictionParams, + IndividualRestrictionParams, + RemoveIndividualRestrictionMultiParams, + IndividualDailyRestrictionMultiParams, + IndividualRestrictionMultiParams, +} from './common'; import { ContractVersion } from '../../../../types'; export type VolumeRestrictionTMEventArgs = VolumeRestrictionTMEventArgs_3_0_0; @@ -34,6 +45,26 @@ export { isVolumeRestrictionTransferManager_3_0_0, }; +export namespace VolumeRestrictionTransferManagerTransactionParams { + export interface RemoveIndividualRestriction extends HolderIndividualRestrictionParams {} + export interface RemoveIndividualDailyRestriction extends HolderIndividualRestrictionParams {} + export interface ChangeExemptWalletList extends ChangeExemptWalletListParams {} + export interface AddDefaultDailyRestriction extends DailyRestrictionParams {} + export interface ModifyDefaultDailyRestriction extends DailyRestrictionParams {} + export interface ModifyIndividualDailyRestriction extends IndividualDailyRestrictionParams {} + export interface AddDefaultRestriction extends RestrictionParams {} + export interface ModifyDefaultRestriction extends RestrictionParams {} + export interface AddIndividualDailyRestriction extends IndividualRestrictionParams {} + export interface AddIndividualRestriction extends IndividualRestrictionParams {} + export interface ModifyIndividualRestriction extends IndividualRestrictionParams {} + export interface RemoveIndividualRestrictionMulti extends RemoveIndividualRestrictionMultiParams {} + export interface RemoveIndividualDailyRestrictionMulti extends RemoveIndividualRestrictionMultiParams {} + export interface AddIndividualDailyRestrictionMulti extends IndividualDailyRestrictionMultiParams {} + export interface ModifyIndividualDailyRestrictionMulti extends IndividualDailyRestrictionMultiParams {} + export interface AddIndividualRestrictionMulti extends IndividualRestrictionMultiParams {} + export interface ModifyIndividualRestrictionMulti extends IndividualRestrictionMultiParams {} +} + // for internal use export class VolumeRestrictionTransferManagerCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/3.0.0.ts b/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/3.0.0.ts index 3af0a9d3..4c00bbb8 100644 --- a/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/3.0.0.ts +++ b/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/3.0.0.ts @@ -1,26 +1,11 @@ import { VestingEscrowWalletContract_3_0_0, Web3Wrapper, PolyResponse } from '@polymathnetwork/abi-wrappers'; import ContractFactory from '../../../../factories/contractFactory'; -import { ContractVersion, TxParams, Perm, ErrorCode, Constructor } from '../../../../types'; +import { ContractVersion, Perm, ErrorCode, Constructor } from '../../../../types'; import { stringToBytes32, dateToBigNumber } from '../../../../utils/convert'; -import VestingEscrowWalletCommon from './common'; +import VestingEscrowWalletCommon, { ModifyScheduleParams } from './common'; import assert from '../../../../utils/assert'; import { WithModule_3_0_0 } from '../../module_wrapper'; -/** - * @param beneficiary Address of the beneficiary for whom it is modified - * @param templateName Name of the template was used for schedule creation - * @param startTime Start time of the created vesting schedule - */ -interface ModifyScheduleParams extends TxParams { - beneficiary: string; - templateName: string; - startTime: Date; -} - -export namespace VestingEscrowWalletTransactionParams { - export interface ModifySchedule extends ModifyScheduleParams {} -} - const VestingEscrowWalletBase_3_0_0 = WithModule_3_0_0((VestingEscrowWalletCommon as unknown) as Constructor< VestingEscrowWalletCommon >); diff --git a/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/3.1.0.ts b/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/3.1.0.ts index 111401e7..86908cbe 100644 --- a/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/3.1.0.ts +++ b/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/3.1.0.ts @@ -1,24 +1,12 @@ import { VestingEscrowWalletContract_3_1_0, Web3Wrapper, BigNumber, PolyResponse } from '@polymathnetwork/abi-wrappers'; import assert from '../../../../utils/assert'; import ContractFactory from '../../../../factories/contractFactory'; -import { ErrorCode, ContractVersion, TxParams, Perm, Constructor } from '../../../../types'; +import { ErrorCode, ContractVersion, Perm, Constructor } from '../../../../types'; import { weiToValue, stringToBytes32, dateToBigNumber } from '../../../../utils/convert'; -import VestingEscrowWalletCommon from './common'; +import VestingEscrowWalletCommon, { ModifyScheduleParams } from './common'; import { WithModule_3_0_0 } from '../../module_wrapper'; -/** - * @param beneficiary Address of the beneficiary for whom it is modified - * @param templateName Name of the template was used for schedule creation - * @param startTime Start time of the created vesting schedule - */ -interface ModifyScheduleParams extends TxParams { - beneficiary: string; - templateName: string; - startTime: Date; -} - // RETURN TYPES - interface Template { numberOfTokens: BigNumber; duration: number; diff --git a/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/common.ts b/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/common.ts index 2aea4031..67a7baa1 100644 --- a/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/common.ts +++ b/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/common.ts @@ -48,24 +48,6 @@ import { } from '../../../../utils/convert'; import ContractWrapper from '../../../contract_wrapper'; -export namespace VestingEscrowWalletTransactionParams { - export interface ChangeTreasuryWallet extends ChangeTreasuryWalletParams {} - export interface DepositTokens extends DepositTokensParams {} - export interface SendToTreasury extends SendToTreasuryParams {} - export interface PushAvailableTokens extends PushAvailableTokensParams {} - export interface AddTemplate extends AddTemplateParams {} - export interface RemoveTemplate extends RemoveTemplateParams {} - export interface AddSchedule extends AddScheduleParams {} - export interface AddScheduleFromTemplate extends AddScheduleFromTemplateParams {} - export interface RevokeSchedule extends RevokeScheduleParams {} - export interface RevokeAllSchedules extends RevokeAllSchedulesParams {} - export interface PushAvailableTokensMulti extends PushAvailableTokensMultiParams {} - export interface AddScheduleMulti extends AddScheduleMultiParams {} - export interface AddScheduleFromTemplateMulti extends AddScheduleFromTemplateMultiParams {} - export interface RevokeSchedulesMulti extends RevokeSchedulesMultiParams {} - export interface ModifyScheduleMulti extends ModifyScheduleMultiParams {} -} - interface AddScheduleSubscribeAsyncParams extends SubscribeAsyncParams { eventName: VestingEscrowWalletEvents_3_0_0.AddSchedule; callback: EventCallback; @@ -244,28 +226,28 @@ interface BeneficiariesParams { /** * @param newTreasuryWallet Address of the treasury wallet */ -interface ChangeTreasuryWalletParams extends TxParams { +export interface ChangeTreasuryWalletParams extends TxParams { newTreasuryWallet: string; } /** * @param numberOfTokens Number of tokens that should be deposited */ -interface DepositTokensParams extends TxParams { +export interface DepositTokensParams extends TxParams { numberOfTokens: BigNumber; } /** * @param amount Amount of tokens that should be send to the treasury wallet */ -interface SendToTreasuryParams extends TxParams { +export interface SendToTreasuryParams extends TxParams { amount: BigNumber; } /** * @param beneficiary Address of the beneficiary who will receive tokens */ -interface PushAvailableTokensParams extends TxParams { +export interface PushAvailableTokensParams extends TxParams { beneficiary: string; } @@ -275,7 +257,7 @@ interface PushAvailableTokensParams extends TxParams { * @param duration Duration of the vesting schedule in seconds * @param frequency Frequency of the vesting schedule in seconds */ -interface AddTemplateParams extends TxParams { +export interface AddTemplateParams extends TxParams { name: string; numberOfTokens: BigNumber; duration: number; @@ -285,7 +267,7 @@ interface AddTemplateParams extends TxParams { /** * @param name Name of the template that will be removed */ -interface RemoveTemplateParams extends TxParams { +export interface RemoveTemplateParams extends TxParams { name: string; } @@ -297,7 +279,7 @@ interface RemoveTemplateParams extends TxParams { * @param frequency Frequency of the created vesting schedule * @param startTime Start time of the created vesting schedule */ -interface AddScheduleParams extends TxParams { +export interface AddScheduleParams extends TxParams { beneficiary: string; templateName: string; numberOfTokens: BigNumber; @@ -311,7 +293,7 @@ interface AddScheduleParams extends TxParams { * @param templateName Name of the exists template * @param startTime Start time of the created vesting schedule */ -interface AddScheduleFromTemplateParams extends TxParams { +export interface AddScheduleFromTemplateParams extends TxParams { beneficiary: string; templateName: string; startTime: Date; @@ -321,7 +303,7 @@ interface AddScheduleFromTemplateParams extends TxParams { * @param beneficiary Address of the beneficiary for whom it is revoked * @param templateName Name of the template was used for schedule creation */ -interface RevokeScheduleParams extends TxParams { +export interface RevokeScheduleParams extends TxParams { beneficiary: string; templateName: string; } @@ -329,30 +311,7 @@ interface RevokeScheduleParams extends TxParams { /** * @param beneficiary Address of the beneficiary for whom all schedules will be revoked */ -interface RevokeAllSchedulesParams extends TxParams { - beneficiary: string; -} - -/** - * @param beneficiary Address of the beneficiary who will receive tokens - * @param templateName Name of the template was used for schedule creation - */ -interface GetScheduleParams { - beneficiary: string; - templateName: string; -} - -/** - * @param beneficiary Address of the beneficiary - */ -interface GetTemplateNamesParams { - beneficiary: string; -} - -/** - * @param beneficiary Address of the beneficiary - */ -interface GetScheduleCountParams { +export interface RevokeAllSchedulesParams extends TxParams { beneficiary: string; } @@ -360,7 +319,7 @@ interface GetScheduleCountParams { * @param fromIndex Start index of array of beneficiary's addresses * @param toIndex End index of array of beneficiary's addresses */ -interface PushAvailableTokensMultiParams extends TxParams { +export interface PushAvailableTokensMultiParams extends TxParams { fromIndex: number; toIndex: number; } @@ -373,7 +332,7 @@ interface PushAvailableTokensMultiParams extends TxParams { * @param frequencies Array of the vesting frequency * @param startTimes Array of the vesting start time */ -interface AddScheduleMultiParams extends TxParams { +export interface AddScheduleMultiParams extends TxParams { beneficiaries: string[]; templateNames: string[]; numberOfTokens: BigNumber[]; @@ -387,7 +346,7 @@ interface AddScheduleMultiParams extends TxParams { * @param templateNames Array of the template names were used for schedule creation * @param startTimes Array of the vesting start time */ -interface AddScheduleFromTemplateMultiParams extends TxParams { +export interface AddScheduleFromTemplateMultiParams extends TxParams { beneficiaries: string[]; templateNames: string[]; startTimes: Date[]; @@ -396,21 +355,55 @@ interface AddScheduleFromTemplateMultiParams extends TxParams { /** * @param beneficiaries Array of the beneficiary's addresses */ -interface RevokeSchedulesMultiParams extends TxParams { +export interface RevokeSchedulesMultiParams extends TxParams { beneficiaries: string[]; } +/** + * @param beneficiary Address of the beneficiary for whom it is modified + * @param templateName Name of the template was used for schedule creation + * @param startTime Start time of the created vesting schedule + */ +export interface ModifyScheduleParams extends TxParams { + beneficiary: string; + templateName: string; + startTime: Date; +} + /** * @param beneficiaries Array of the beneficiary's addresses * @param templateNames Array of the template names * @param startTimes Array of the vesting start time */ -interface ModifyScheduleMultiParams extends TxParams { +export interface ModifyScheduleMultiParams extends TxParams { beneficiaries: string[]; templateNames: string[]; startTimes: Date[]; } +/** + * @param beneficiary Address of the beneficiary who will receive tokens + * @param templateName Name of the template was used for schedule creation + */ +interface GetScheduleParams { + beneficiary: string; + templateName: string; +} + +/** + * @param beneficiary Address of the beneficiary + */ +interface GetTemplateNamesParams { + beneficiary: string; +} + +/** + * @param beneficiary Address of the beneficiary + */ +interface GetScheduleCountParams { + beneficiary: string; +} + enum StateStatus { Created, Started, diff --git a/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/index.ts b/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/index.ts index 86789a14..7c2cbce3 100644 --- a/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/index.ts +++ b/src/contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper/index.ts @@ -7,7 +7,25 @@ import { import { VestingEscrowWallet_3_0_0, isVestingEscrowWallet_3_0_0 } from './3.0.0'; import { VestingEscrowWallet_3_1_0, isVestingEscrowWallet_3_1_0 } from './3.1.0'; -import Common, { isVestingEscrowWallet } from './common'; +import Common, { + isVestingEscrowWallet, + ChangeTreasuryWalletParams, + DepositTokensParams, + SendToTreasuryParams, + PushAvailableTokensParams, + AddTemplateParams, + RemoveTemplateParams, + AddScheduleParams, + AddScheduleFromTemplateParams, + RevokeScheduleParams, + RevokeAllSchedulesParams, + PushAvailableTokensMultiParams, + AddScheduleMultiParams, + AddScheduleFromTemplateMultiParams, + RevokeSchedulesMultiParams, + ModifyScheduleMultiParams, + ModifyScheduleParams, +} from './common'; import { ContractVersion } from '../../../../types'; export const VestingEscrowWalletEvents = { @@ -43,6 +61,25 @@ export { isVestingEscrowWallet_3_1_0, }; +export namespace VestingEscrowWalletTransactionParams { + export interface ChangeTreasuryWallet extends ChangeTreasuryWalletParams {} + export interface DepositTokens extends DepositTokensParams {} + export interface SendToTreasury extends SendToTreasuryParams {} + export interface PushAvailableTokens extends PushAvailableTokensParams {} + export interface AddTemplate extends AddTemplateParams {} + export interface RemoveTemplate extends RemoveTemplateParams {} + export interface AddSchedule extends AddScheduleParams {} + export interface AddScheduleFromTemplate extends AddScheduleFromTemplateParams {} + export interface RevokeSchedule extends RevokeScheduleParams {} + export interface RevokeAllSchedules extends RevokeAllSchedulesParams {} + export interface PushAvailableTokensMulti extends PushAvailableTokensMultiParams {} + export interface AddScheduleMulti extends AddScheduleMultiParams {} + export interface AddScheduleFromTemplateMulti extends AddScheduleFromTemplateMultiParams {} + export interface RevokeSchedulesMulti extends RevokeSchedulesMultiParams {} + export interface ModifyScheduleMulti extends ModifyScheduleMultiParams {} + export interface ModifySchedule extends ModifyScheduleParams {} +} + // for internal use export class VestingEscrowWalletCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/contract_wrappers/tokens/security_token_wrapper/common.ts b/src/contract_wrappers/tokens/security_token_wrapper/common.ts index 8231f333..d592a613 100644 --- a/src/contract_wrappers/tokens/security_token_wrapper/common.ts +++ b/src/contract_wrappers/tokens/security_token_wrapper/common.ts @@ -95,53 +95,6 @@ const NO_MODULE_DATA = '0x0000000000000000'; const MAX_CHECKPOINT_NUMBER = new BigNumber(2 ** 256 - 1); const BIG_NUMBER_ZERO = new BigNumber(0); -export namespace SecurityTokenTransactionParams { - export interface FreezeIssuance extends FreezeIssuanceParams {} - export interface ArchiveModule extends ModuleAddressTxParams {} - export interface UnarchiveModule extends ModuleAddressTxParams {} - export interface RemoveModule extends ModuleAddressTxParams {} - export interface UpgradeModule extends ModuleAddressTxParams {} - export interface ChangeDataStore extends DataStoreAddressParams {} - export interface SetDocument extends SetDocumentParams {} - export interface GetDocument extends DocumentParams {} - export interface RemoveDocument extends DocumentParams {} - export interface ChangeTreasuryWallet extends ChangeTreasuryWalletParams {} - export interface ChangeApproval extends ChangeApprovalParams {} - export interface TransferOwnership extends TransferOwnershipParams {} - export interface WithdrawERC20 extends WithdrawERC20Params {} - export interface ChangeModuleBudget extends ChangeModuleBudgetParams {} - export interface UpdateTokenDetails extends UpdateTokenDetailsParams {} - export interface ChangeGranularity extends ChangeGranularityParams {} - export interface ChangeName extends ChangeNameParams {} - export interface TransferWithData extends TransferWithDataParams {} - export interface TransferFromWithData extends TransferFromWithDataParams {} - export interface Issue extends IssueParams {} - export interface IssueByPartition extends IssueByPartitionParams {} - export interface IssueMulti extends IssueMultiParams {} - export interface Redeem extends RedeemParams {} - export interface RedeemByPartition extends RedeemByPartitionParams {} - export interface OperatorRedeemByPartition extends OperatorRedeemByPartitionParams {} - export interface RedeemFrom extends RedeemFromParams {} - export interface TransferByPartition extends TransferByPartitionParams {} - export interface AuthorizeOperator extends AuthorizeOperatorParams {} - export interface AuthorizeOperatorByPartition extends AuthorizeOperatorByPartitionParams {} - export interface RevokeOperator extends RevokeOperatorParams {} - export interface RevokeOperatorByPartition extends RevokeOperatorByPartitionParams {} - export interface OperatorTransferByPartition extends OperatorTransferByPartitionParams {} - export interface SetController extends SetControllerParams {} - export interface DisableController extends DisableControllerParams {} - export interface ControllerTransfer extends ControllerTransferParams {} - export interface ControllerRedeem extends ControllerRedeemParams {} - export interface AddModule extends AddModuleParams {} - export interface AddNoDataModule extends AddNoDataModuleParams {} - export interface AddVestingEscrowWallet extends AddVestingEscrowWalletParams {} - export interface AddCountTransferManager extends AddCountTransferManagerParams {} - export interface AddPercentageTransferManager extends AddPercentageTransferManagerParams {} - export interface AddDividendCheckpoint extends AddDividendCheckpointParams {} - export interface AddCappedSTO extends AddCappedSTOParams {} - export interface AddUSDTieredSTO extends AddUSDTieredSTOParams {} -} - interface ApprovalSubscribeAsyncParams extends SubscribeAsyncParams { eventName: SecurityTokenEvents_3_0_0.Approval; callback: EventCallback; @@ -572,7 +525,7 @@ interface PartitionsOfParams { /** * @param signature calldata */ -interface FreezeIssuanceParams extends TxParams { +export interface FreezeIssuanceParams extends TxParams { signature: string; } @@ -593,14 +546,14 @@ interface ModuleAddressParams { /** * @param module address of the module */ -interface ModuleAddressTxParams extends TxParams { +export interface ModuleAddressTxParams extends TxParams { moduleAddress: string; } /** * @param dataStore Address of the token data store */ -interface DataStoreAddressParams extends TxParams { +export interface DataStoreAddressParams extends TxParams { dataStore: string; } @@ -610,7 +563,7 @@ interface DataStoreAddressParams extends TxParams { * @param uri Off-chain uri of the document from where it is accessible to investors/advisors to read. * @param documentHash hash (of the contents) of the document. */ -interface SetDocumentParams extends TxParams { +export interface SetDocumentParams extends TxParams { name: string; uri: string; documentHash: string; @@ -619,14 +572,14 @@ interface SetDocumentParams extends TxParams { /** * @param name Name of the document. It should be unique always */ -interface DocumentParams extends TxParams { +export interface DocumentParams extends TxParams { name: string; } /** * @param treasuryWallet Ethereum address of the treasury wallet */ -interface ChangeTreasuryWalletParams extends TxParams { +export interface ChangeTreasuryWalletParams extends TxParams { treasuryWallet: string; } @@ -660,7 +613,7 @@ interface CanTransferByPartitionParams extends CanTransferFromParams { * @param spender Address spending tokens * @param value Value associated to approval */ -interface ChangeApprovalParams extends TxParams { +export interface ChangeApprovalParams extends TxParams { spender: string; value: BigNumber; } @@ -668,7 +621,7 @@ interface ChangeApprovalParams extends TxParams { /** * @param newOwner Address to transfer ownership to */ -interface TransferOwnershipParams extends TxParams { +export interface TransferOwnershipParams extends TxParams { newOwner: string; } @@ -683,7 +636,7 @@ interface ModuleNameParams { * @param tokenContract Address of the ERC20Basic compliance token * @param value Amount of POLY to withdraw */ -interface WithdrawERC20Params extends TxParams { +export interface WithdrawERC20Params extends TxParams { tokenContract: string; value: BigNumber; } @@ -693,7 +646,7 @@ interface WithdrawERC20Params extends TxParams { * @param change Change in allowance * @param increase True if budget has to be increased, false if decrease */ -interface ChangeModuleBudgetParams extends TxParams { +export interface ChangeModuleBudgetParams extends TxParams { module: string; change: BigNumber; increase: boolean; @@ -702,21 +655,21 @@ interface ChangeModuleBudgetParams extends TxParams { /** * @param newTokenDetails New token details */ -interface UpdateTokenDetailsParams extends TxParams { +export interface UpdateTokenDetailsParams extends TxParams { newTokenDetails: string; } /** * @param granularity Granularity level of the token */ -interface ChangeGranularityParams extends TxParams { +export interface ChangeGranularityParams extends TxParams { granularity: number; } /** * @param name new name of the token */ -interface ChangeNameParams extends TxParams { +export interface ChangeNameParams extends TxParams { name: string; } /** @@ -749,7 +702,7 @@ interface IterateInvestorsParams { * @param value value of transfer * @param data data to indicate validation */ -interface TransferWithDataParams extends TxParams { +export interface TransferWithDataParams extends TxParams { to: string; value: BigNumber; data: string; @@ -761,7 +714,7 @@ interface TransferWithDataParams extends TxParams { * @param value value of transfer * @param data data to indicate validation */ -interface TransferFromWithDataParams extends TxParams { +export interface TransferFromWithDataParams extends TxParams { from: string; to: string; value: BigNumber; @@ -773,7 +726,7 @@ interface TransferFromWithDataParams extends TxParams { * @param value The amount of tokens need to be issued * @param data The `bytes data` allows arbitrary data to be submitted alongside the transfer. */ -interface IssueParams extends TxParams { +export interface IssueParams extends TxParams { investor: string; value: BigNumber; data?: string; @@ -782,7 +735,7 @@ interface IssueParams extends TxParams { /** * @param partition The partition to allocate the increase in balance */ -interface IssueByPartitionParams extends IssueParams { +export interface IssueByPartitionParams extends IssueParams { partition: Partition; } @@ -790,7 +743,7 @@ interface IssueByPartitionParams extends IssueParams { * @param investors A list of addresses to whom the minted tokens will be dilivered * @param values A list of number of tokens get minted and transfer to corresponding address of the investor from tokenHolders[] list */ -interface IssueMultiParams extends TxParams { +export interface IssueMultiParams extends TxParams { investors: string[]; values: BigNumber[]; } @@ -810,7 +763,7 @@ interface CheckPermissionParams { * @param value The amount of tokens need to be redeemed * @param data The `bytes data` it can be used in the token contract to authenticate the redemption. */ -interface RedeemParams extends TxParams { +export interface RedeemParams extends TxParams { value: BigNumber; data: string; } @@ -818,7 +771,7 @@ interface RedeemParams extends TxParams { /** * @param partition The partition to allocate the decrease in balance */ -interface RedeemByPartitionParams extends RedeemParams { +export interface RedeemByPartitionParams extends RedeemParams { partition: Partition; } @@ -826,7 +779,7 @@ interface RedeemByPartitionParams extends RedeemParams { * @param tokenHolder The token holder whose balance should be decreased * @param operatorData Additional data attached to the transfer of tokens by the operator */ -interface OperatorRedeemByPartitionParams extends RedeemByPartitionParams { +export interface OperatorRedeemByPartitionParams extends RedeemByPartitionParams { tokenHolder: string; operatorData: string; } @@ -836,7 +789,7 @@ interface OperatorRedeemByPartitionParams extends RedeemByPartitionParams { * @param value The amount of tokens need to be redeemed * @param data The `bytes data` it can be used in the token contract to authenticate the redemption. */ -interface RedeemFromParams extends TxParams { +export interface RedeemFromParams extends TxParams { from: string; value: BigNumber; data: string; @@ -866,7 +819,7 @@ interface BalanceOfByPartitionParams { * @param value The amount of tokens to transfer from `partition` * @param data Additional data attached to the transfer of tokens */ -interface TransferByPartitionParams extends TxParams { +export interface TransferByPartitionParams extends TxParams { partition: Partition; to: string; value: BigNumber; @@ -876,28 +829,28 @@ interface TransferByPartitionParams extends TxParams { /** * @param operator An address which is being authorised. */ -interface AuthorizeOperatorParams extends TxParams { +export interface AuthorizeOperatorParams extends TxParams { operator: string; } /** * @param partition The partition to which the operator is authorised */ -interface AuthorizeOperatorByPartitionParams extends AuthorizeOperatorParams { +export interface AuthorizeOperatorByPartitionParams extends AuthorizeOperatorParams { partition: Partition; } /** * @param operator An address which is being de-authorised */ -interface RevokeOperatorParams extends TxParams { +export interface RevokeOperatorParams extends TxParams { operator: string; } /** * @param partition The partition to which the operator is de-authorised */ -interface RevokeOperatorByPartitionParams extends RevokeOperatorParams { +export interface RevokeOperatorByPartitionParams extends RevokeOperatorParams { partition: Partition; } @@ -905,7 +858,7 @@ interface RevokeOperatorByPartitionParams extends RevokeOperatorParams { * @param from The address from which to transfer tokens from * @param operatorData Additional data attached to the transfer of tokens by the operator */ -interface OperatorTransferByPartitionParams extends TransferByPartitionParams { +export interface OperatorTransferByPartitionParams extends TransferByPartitionParams { from: string; operatorData: string; } @@ -913,14 +866,14 @@ interface OperatorTransferByPartitionParams extends TransferByPartitionParams { /** * @param controller address of the controller */ -interface SetControllerParams extends TxParams { +export interface SetControllerParams extends TxParams { controller: string; } /** * @param signature calldata */ -interface DisableControllerParams extends TxParams { +export interface DisableControllerParams extends TxParams { signature: string; } @@ -933,7 +886,7 @@ interface DisableControllerParams extends TxParams { * @param operatorData data attached to the transfer by controller to emit in event. (It is more like a reason string * for calling this function (aka force transfer) which provides the transparency on-chain). */ -interface ControllerTransferParams extends TxParams { +export interface ControllerTransferParams extends TxParams { from: string; to: string; value: BigNumber; @@ -949,7 +902,7 @@ interface ControllerTransferParams extends TxParams { * @param operatorData data attached to the transfer by controller to emit in event. (It is more like a reason string * for calling this function (aka force transfer) which provides the transparency on-chain). */ -interface ControllerRedeemParams extends TxParams { +export interface ControllerRedeemParams extends TxParams { from: string; value: BigNumber; data: string; @@ -965,7 +918,7 @@ interface ControllerRedeemParams extends TxParams { * @param label is the label of the module * @param data is data packed into bytes used to further configure the module (See STO usage) */ -interface AddModuleParams extends TxParams { +export interface AddModuleParams extends TxParams { moduleName: ModuleName; address: string; archived: boolean; @@ -987,7 +940,7 @@ interface AddModuleParams extends TxParams { * @param data is data packed into bytes used to further configure the module (here no data) */ -interface AddNoDataModuleParams extends AddModuleParams { +export interface AddNoDataModuleParams extends AddModuleParams { moduleName: | ModuleName.GeneralPermissionManager | ModuleName.GeneralTransferManager @@ -998,37 +951,37 @@ interface AddNoDataModuleParams extends AddModuleParams { data?: undefined; } -interface AddVestingEscrowWalletParams extends AddModuleParams { +export interface AddVestingEscrowWalletParams extends AddModuleParams { moduleName: ModuleName.VestingEscrowWallet; data: VestingEscrowWalletData; } -interface AddCountTransferManagerParams extends AddModuleParams { +export interface AddCountTransferManagerParams extends AddModuleParams { moduleName: ModuleName.CountTransferManager; data: CountTransferManagerData; } -interface AddPercentageTransferManagerParams extends AddModuleParams { +export interface AddPercentageTransferManagerParams extends AddModuleParams { moduleName: ModuleName.PercentageTransferManager; data: PercentageTransferManagerData; } -interface AddRestrictedPartialSaleTransferManagerParams extends AddModuleParams { +export interface AddRestrictedPartialSaleTransferManagerParams extends AddModuleParams { moduleName: ModuleName.RestrictedPartialSaleTM; data: RestrictedPartialSaleTransferManagerData; } -interface AddDividendCheckpointParams extends AddModuleParams { +export interface AddDividendCheckpointParams extends AddModuleParams { moduleName: ModuleName.EtherDividendCheckpoint | ModuleName.ERC20DividendCheckpoint; data: DividendCheckpointData; } -interface AddCappedSTOParams extends AddModuleParams { +export interface AddCappedSTOParams extends AddModuleParams { moduleName: ModuleName.CappedSTO; data: CappedSTOData; } -interface AddUSDTieredSTOParams extends AddModuleParams { +export interface AddUSDTieredSTOParams extends AddModuleParams { moduleName: ModuleName.UsdTieredSTO; data: USDTieredSTOData; } diff --git a/src/contract_wrappers/tokens/security_token_wrapper/index.ts b/src/contract_wrappers/tokens/security_token_wrapper/index.ts index d5455dbd..b97dc4a8 100644 --- a/src/contract_wrappers/tokens/security_token_wrapper/index.ts +++ b/src/contract_wrappers/tokens/security_token_wrapper/index.ts @@ -2,7 +2,49 @@ import { ISecurityTokenEventArgs_3_0_0 } from '@polymathnetwork/abi-wrappers'; import { SecurityToken_3_0_0, isSecurityToken_3_0_0 } from './3.0.0'; -import Common, { isSecurityToken } from './common'; +import Common, { + isSecurityToken, + FreezeIssuanceParams, + ModuleAddressTxParams, + DataStoreAddressParams, + SetDocumentParams, + DocumentParams, + ChangeTreasuryWalletParams, + ChangeApprovalParams, + TransferOwnershipParams, + WithdrawERC20Params, + ChangeModuleBudgetParams, + UpdateTokenDetailsParams, + ChangeGranularityParams, + ChangeNameParams, + TransferWithDataParams, + TransferFromWithDataParams, + IssueParams, + IssueByPartitionParams, + IssueMultiParams, + RedeemParams, + RedeemFromParams, + TransferByPartitionParams, + AuthorizeOperatorParams, + AuthorizeOperatorByPartitionParams, + RevokeOperatorParams, + RevokeOperatorByPartitionParams, + OperatorTransferByPartitionParams, + SetControllerParams, + DisableControllerParams, + ControllerTransferParams, + ControllerRedeemParams, + AddModuleParams, + AddNoDataModuleParams, + AddVestingEscrowWalletParams, + AddCountTransferManagerParams, + AddPercentageTransferManagerParams, + AddDividendCheckpointParams, + AddCappedSTOParams, + AddUSDTieredSTOParams, + RedeemByPartitionParams, + OperatorRedeemByPartitionParams, +} from './common'; import { ContractVersion } from '../../../types'; export type SecurityTokenEventArgs = ISecurityTokenEventArgs_3_0_0; @@ -46,6 +88,53 @@ export type SecurityToken = SecurityToken_3_0_0; export { isSecurityToken, SecurityToken_3_0_0, isSecurityToken_3_0_0 }; +export namespace SecurityTokenTransactionParams { + export interface FreezeIssuance extends FreezeIssuanceParams {} + export interface ArchiveModule extends ModuleAddressTxParams {} + export interface UnarchiveModule extends ModuleAddressTxParams {} + export interface RemoveModule extends ModuleAddressTxParams {} + export interface UpgradeModule extends ModuleAddressTxParams {} + export interface ChangeDataStore extends DataStoreAddressParams {} + export interface SetDocument extends SetDocumentParams {} + export interface GetDocument extends DocumentParams {} + export interface RemoveDocument extends DocumentParams {} + export interface ChangeTreasuryWallet extends ChangeTreasuryWalletParams {} + export interface ChangeApproval extends ChangeApprovalParams {} + export interface TransferOwnership extends TransferOwnershipParams {} + export interface WithdrawERC20 extends WithdrawERC20Params {} + export interface ChangeModuleBudget extends ChangeModuleBudgetParams {} + export interface UpdateTokenDetails extends UpdateTokenDetailsParams {} + export interface ChangeGranularity extends ChangeGranularityParams {} + export interface ChangeName extends ChangeNameParams {} + export interface TransferWithData extends TransferWithDataParams {} + export interface TransferFromWithData extends TransferFromWithDataParams {} + export interface Issue extends IssueParams {} + export interface IssueByPartition extends IssueByPartitionParams {} + export interface IssueMulti extends IssueMultiParams {} + export interface Redeem extends RedeemParams {} + export interface RedeemByPartition extends RedeemByPartitionParams {} + export interface OperatorRedeemByPartition extends OperatorRedeemByPartitionParams {} + export interface RedeemFrom extends RedeemFromParams {} + export interface TransferByPartition extends TransferByPartitionParams {} + export interface AuthorizeOperator extends AuthorizeOperatorParams {} + export interface AuthorizeOperatorByPartition extends AuthorizeOperatorByPartitionParams {} + export interface RevokeOperator extends RevokeOperatorParams {} + export interface RevokeOperatorByPartition extends RevokeOperatorByPartitionParams {} + export interface OperatorTransferByPartition extends OperatorTransferByPartitionParams {} + export interface SetController extends SetControllerParams {} + export interface DisableController extends DisableControllerParams {} + export interface ControllerTransfer extends ControllerTransferParams {} + export interface ControllerRedeem extends ControllerRedeemParams {} + export interface AddModule extends AddModuleParams {} + export interface AddNoDataModule extends AddNoDataModuleParams {} + export interface AddVestingEscrowWallet extends AddVestingEscrowWalletParams {} + export interface AddCountTransferManager extends AddCountTransferManagerParams {} + export interface AddPercentageTransferManager extends AddPercentageTransferManagerParams {} + export interface AddDividendCheckpoint extends AddDividendCheckpointParams {} + export interface AddCappedSTO extends AddCappedSTOParams {} + export interface AddUSDTieredSTO extends AddUSDTieredSTOParams {} +} + // for internal use export class SecurityTokenCommon extends Common { public contractVersion!: ContractVersion; diff --git a/src/index.ts b/src/index.ts index 1cdc0463..e9b44886 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,55 +1,55 @@ /* istanbul ignore file */ import * as conversionUtils from './utils/convert'; - import { FeatureRegistryTransactionParams } from './contract_wrappers/registries/feature_registry_wrapper'; -import { GeneralTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/general_transfer_manager_wrapper/common'; -import { SecurityTokenTransactionParams } from './contract_wrappers/tokens/security_token_wrapper/common'; -// import { SecurityTokenRegistryTransactionParams } from './contract_wrappers/registries/security_token_registry_wrapper'; -// import { ModuleRegistryTransactionParams } from './contract_wrappers/registries/module_registry_wrapper'; -// import { PolymathRegistryTransactionParams } from './contract_wrappers/registries/polymath_registry_wrapper'; -// import { SecurityTokenRegistryTransactionParams } from './contract_wrappers/registries/security_token_registry_wrapper'; -// import { DividendCheckpointTransactionParams } from './contract_wrappers/modules/checkpoint/dividend_checkpoint_wrapper'; -// import { ERC20DividendCheckpointTransactionParams } from './contract_wrappers/modules/checkpoint/erc20_dividend_checkpoint_wrapper'; -// import { EtherDividendCheckpointTransactionParams } from './contract_wrappers/modules/checkpoint/ether_dividend_checkpoint_wrapper'; -// import { CappedSTOTransactionParams } from './contract_wrappers/modules/sto/capped_sto_wrapper'; -// import { USDTieredSTOTransactionParams } from './contract_wrappers/modules/sto/usd_tiered_sto_wrapper'; -// import { BlacklistTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/blacklist_transfer_manager_wrapper'; -// import { CountTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/count_transfer_manager_wrapper'; -// import { GeneralTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/general_transfer_manager_wrapper'; -// import { LockUpTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/lock_up_transfer_manager_wrapper'; -// import { ManualApprovalTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/manual_approval_transfer_manager_wrapper'; -// import { PercentageTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/percentage_transfer_manager_wrapper'; -// import { VolumeRestrictionTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/volume_restriction_transfer_manager_wrapper'; -// import { RestrictedPartialSaleTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/restricted_partial_sale_transfer_manager_wrapper'; -// import { VestingEscrowWalletTransactionParams } from './contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper'; -// import { ERC20TransactionParams } from './contract_wrappers/tokens/erc20_wrapper'; -// import { PolyTokenFaucetTransactionParams } from './contract_wrappers/tokens/poly_token_faucet_wrapper'; -// import { PolyTokenTransactionParams } from './contract_wrappers/tokens/poly_token_wrapper'; +import { ModuleRegistryTransactionParams } from './contract_wrappers/registries/module_registry_wrapper'; +import { PolymathRegistryTransactionParams } from './contract_wrappers/registries/polymath_registry_wrapper'; +import { SecurityTokenRegistryTransactionParams } from './contract_wrappers/registries/security_token_registry_wrapper'; +import { DividendCheckpointTransactionParams } from './contract_wrappers/modules/checkpoint/dividend_checkpoint_wrapper'; +import { ERC20DividendCheckpointTransactionParams } from './contract_wrappers/modules/checkpoint/erc20_dividend_checkpoint_wrapper'; +import { EtherDividendCheckpointTransactionParams } from './contract_wrappers/modules/checkpoint/ether_dividend_checkpoint_wrapper'; +import { CappedSTOTransactionParams } from './contract_wrappers/modules/sto/capped_sto_wrapper'; +import { USDTieredSTOTransactionParams } from './contract_wrappers/modules/sto/usd_tiered_sto_wrapper'; +import { BlacklistTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/blacklist_transfer_manager_wrapper'; +import { CountTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/count_transfer_manager_wrapper'; +import { GeneralTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/general_transfer_manager_wrapper'; +import { LockUpTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/lock_up_transfer_manager_wrapper'; +import { ManualApprovalTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/manual_approval_transfer_manager_wrapper'; +import { PercentageTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/percentage_transfer_manager_wrapper'; +import { VolumeRestrictionTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/volume_restriction_transfer_manager_wrapper'; +import { RestrictedPartialSaleTransferManagerTransactionParams } from './contract_wrappers/modules/transfer_manager/restricted_partial_sale_transfer_manager_wrapper'; +import { VestingEscrowWalletTransactionParams } from './contract_wrappers/modules/wallet/vesting_escrow_wallet_wrapper'; +import { ERC20TransactionParams } from './contract_wrappers/tokens/erc20_wrapper'; +import { PolyTokenFaucetTransactionParams } from './contract_wrappers/tokens/poly_token_faucet_wrapper'; +import { PolyTokenTransactionParams } from './contract_wrappers/tokens/poly_token_wrapper'; +import { GeneralPermissionManagerTransactionParams } from './contract_wrappers/modules/permission_manager/general_permission_manager_wrapper'; +import { SecurityTokenTransactionParams } from './contract_wrappers/tokens/security_token_wrapper'; export namespace TransactionParams { + /* eslint-disable @typescript-eslint/no-unused-vars */ export import FeatureRegistry = FeatureRegistryTransactionParams; - // export import ModuleRegistry = ModuleRegistryTransactionParams; - // export import PolymathRegistry = PolymathRegistryTransactionParams; - // export import SecurityTokenRegistry = SecurityTokenRegistryTransactionParams; - // export import DividendCheckpoint = DividendCheckpointTransactionParams; - // export import ERC20DividendCheckpoint = ERC20DividendCheckpointTransactionParams; - // export import EtherDividendCheckpoint = EtherDividendCheckpointTransactionParams; - // export import GeneralPermissionManager = GeneralPermissionManagerTransactionParams; - // export import CappedSTO = CappedSTOTransactionParams; - // export import USDTieredSTO = USDTieredSTOTransactionParams; - // export import BlacklistTransferManager = BlacklistTransferManagerTransactionParams; - // export import CountTransferManager = CountTransferManagerTransactionParams; + export import ModuleRegistry = ModuleRegistryTransactionParams; + export import PolymathRegistry = PolymathRegistryTransactionParams; + export import SecurityTokenRegistry = SecurityTokenRegistryTransactionParams; + export import DividendCheckpoint = DividendCheckpointTransactionParams; + export import ERC20DividendCheckpoint = ERC20DividendCheckpointTransactionParams; + export import EtherDividendCheckpoint = EtherDividendCheckpointTransactionParams; + export import GeneralPermissionManager = GeneralPermissionManagerTransactionParams; + export import CappedSTO = CappedSTOTransactionParams; + export import USDTieredSTO = USDTieredSTOTransactionParams; + export import BlacklistTransferManager = BlacklistTransferManagerTransactionParams; + export import CountTransferManager = CountTransferManagerTransactionParams; export import GeneralTransferManager = GeneralTransferManagerTransactionParams; - // export import LockUpTransferManager = LockUpTransferManagerTransactionParams; - // export import ManualApprovalTransferManager = ManualApprovalTransferManagerTransactionParams; - // export import PercentageTransferManager = PercentageTransferManagerTransactionParams; - // export import VolumeRestrictionTransferManager = VolumeRestrictionTransferManagerTransactionParams; - // export import RestrictedPartialSaleTransferManager = RestrictedPartialSaleTransferManagerTransactionParams; - // export import VestingEscrowWallet = VestingEscrowWalletTransactionParams; - // export import ERC20 = ERC20TransactionParams; - // export import PolyTokenFaucet = PolyTokenFaucetTransactionParams; - // export import PolyToken = PolyTokenTransactionParams; + export import LockUpTransferManager = LockUpTransferManagerTransactionParams; + export import ManualApprovalTransferManager = ManualApprovalTransferManagerTransactionParams; + export import PercentageTransferManager = PercentageTransferManagerTransactionParams; + export import VolumeRestrictionTransferManager = VolumeRestrictionTransferManagerTransactionParams; + export import RestrictedPartialSaleTransferManager = RestrictedPartialSaleTransferManagerTransactionParams; + export import VestingEscrowWallet = VestingEscrowWalletTransactionParams; + export import ERC20 = ERC20TransactionParams; + export import PolyTokenFaucet = PolyTokenFaucetTransactionParams; + export import PolyToken = PolyTokenTransactionParams; export import SecurityToken = SecurityTokenTransactionParams; + /* eslint-enable @typescript-eslint/no-unused-vars */ } export { conversionUtils };