Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • AschContract

Indexable

[key: string]: any

Index

Constructors

constructor

Properties

Private _enablePayGasInXAS

_enablePayGasInXAS: boolean

Private _gasLimit

_gasLimit: number

address

address: string

api

api: AschAPI

code

code: string

consumeOwnerEnergy

consumeOwnerEnergy: boolean

contractJson

contractJson: ObjectType

desc

desc: string

metadata

metadata: ContractMetadataObject

metadataManager

metadataManager: ContractMetadataMananger

name

name: string

ownerId

ownerId: string

tid

tid: string

vmVersion

vmVersion: string

Accessors

enablePayGasInXAS

enablePayGasInXAS:

gasLimit

gasLimit:

Methods

addCallMethod

  • addCallMethod(methodData: MethodMetadata): void

addConstantMethod

  • addConstantMethod(methodData: MethodMetadata): void

addPayDefaultMethod

  • addPayDefaultMethod(methodData: MethodMetadata): void

addPayMethod

  • addPayMethod(methodData: MethodMetadata): void

addStateMethod

  • addStateMethod(stateData: StateMetadata): void

call

  • call(methodName: string, methodArgs: Array<any>, gasLimit?: number, enablePayGasInXAS?: boolean): Promise<any>
  • 调用合约方法

    Parameters

    • methodName: string

      要调用的方法名称

    • methodArgs: Array<any>

      调用方法所需要的参数列表

    • Default value gasLimit: number = this.gasLimit

      最大消耗的Gas, 10,000,000 > gasLimit > 0

    • Default value enablePayGasInXAS: boolean = this.enablePayGasInXAS

      当调用者能量不足时,是否使用XAS支付Gas

    Returns Promise<any>

constant

  • constant(methodName: string, ...methodArgs: Array<any>): Promise<any>
  • 调用当前合约的查询方法

    Parameters

    • methodName: string

      查询方法名称

    • Rest ...methodArgs: Array<any>

    Returns Promise<any>

extractParamType

  • extractParamType(param: ParameterMetadata): string

getResultOfContract

  • getResultOfContract(tid: string): Promise<any>
  • 查询智能合约执行结果

    Parameters

    • tid: string

      执行合约的交易Id

    Returns Promise<any>

initMethods

  • initMethods(metadata: ContractMetadataObject): void

pay

  • pay(currency: string, amount: string, extraArgs: Array<any>, methodName: string, gasLimit?: number, enablePayGasInXAS?: boolean): Promise<any>
  • 转账到合约

    Parameters

    • currency: string

      转账资产名称

    • amount: string

      转账金额

    • extraArgs: Array<any>

      额外参数

    • methodName: string

      payable方法名字,当methodName=''时,调用默认payable方法

    • Default value gasLimit: number = this.gasLimit

      最大消耗的Gas, 10,000,000 > gasLimit > 0

    • Default value enablePayGasInXAS: boolean = this.enablePayGasInXAS

      当调用者能量不足时,是否使用XAS支付Gas

    Returns Promise<any>

payDefault

  • payDefault(currency: string, amount: string, gasLimit?: number, enablePayGasInXAS?: boolean): Promise<any>
  • 合约默认接收方法

    Parameters

    • currency: string

      转账资产名称

    • amount: string

      转账金额

    • Default value gasLimit: number = this.gasLimit

      最大消耗的Gas, 10,000,000 > gasLimit > 0

    • Default value enablePayGasInXAS: boolean = this.enablePayGasInXAS

      当调用者能量不足时,是否使用XAS支付Gas

    Returns Promise<any>

queryStates

  • queryStates(path: string): Promise<any>
  • 查询当前合约的公开状态

    Parameters

    • path: string

      状态的路径,状态路径是用'.'号分隔的一个字符串,表示要查询的状态所在的合约对象的位置。 如: 'amount'表示查询合约的amount属性, 'payments.0'表示payments对象的第0个元素, 'paymentOfAddress.ABuH9VHV3cFi9UKzcHXGMPGnSC4QqT2cZ5'表示合约的paymentOfAddress['ABuH9VHV3cFi9UKzcHXGMPGnSC4QqT2cZ5']。 以此类推

      需要注意的是,该方法仅可查询公开的简单属性的值,否则会失败。
      如amount是private的则查询会失败。如paymentOfAddress的类型是Mapping<Payment>这种复杂类型,查询也会失败。
      如需实现更复杂的查询,请参考智能合约开发文档,使用查询方法

    Returns Promise<any>

Static fromJSONObject

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method

Generated using TypeDoc