asch icon indicating copy to clipboard operation
asch copied to clipboard

asch builtin contract fee and type name mapping

Open sqfasd opened this issue 7 years ago • 2 comments

fee calculator:

  1: () => 0.1,
  2: (trs) => {
    const len = trs.args[0].length
    if (len === 2) {
      return 200
    } else if (len === 3) {
      return 100
    } else if (len === 4) {
      return 80
    } else if (len === 5) {
      return 40
    } else if (len <= 10) {
      return 10
    }
    return 1
  },
  3: () => 5,
  4: () => 0.1,
  5: () => 0,
  6: () => 5,
  7: () => 100,
  8: () => 0.1,
  9: () => 0,
  10: () => 100,
  11: () => 0.1,
  12: () => 0.1,
  100: () => 100,
  101: () => 500,
  102: () => 0.1,
  103: () => 0.1,
  200: () => 100,
  201: () => 1,
  202: () => 1,
  203: () => 1,
  204: () => 0.1,
  205: () => 0.1,
  300: () => 10,
  301: () => 0.1,
  302: () => 0,
  400: () => 0.1,
  401: () => 100,
  402: () => 0.01,
  403: () => 0,
  404: () => 0.01,
  405: () => 0.01,
  406: () => 0.01,
  500: () => 0,
  501: () => 0,
  502: () => 1,
  503: () => 1,
  504: () => 1,

type name mapping

app.contractTypeMapping[1] = 'basic.transfer'
  app.contractTypeMapping[2] = 'basic.setName'
  app.contractTypeMapping[3] = 'basic.setPassword'
  app.contractTypeMapping[4] = 'basic.lock'
  app.contractTypeMapping[5] = 'basic.unlock'
  app.contractTypeMapping[6] = 'basic.registerGroup'
  app.contractTypeMapping[7] = 'basic.registerAgent'
  app.contractTypeMapping[8] = 'basic.setAgent'
  app.contractTypeMapping[9] = 'basic.cancelAgent'
  app.contractTypeMapping[10] = 'basic.registerDelegate'
  app.contractTypeMapping[11] = 'basic.vote'
  app.contractTypeMapping[12] = 'basic.unvote'

  app.contractTypeMapping[100] = 'uia.registerIssuer'
  app.contractTypeMapping[101] = 'uia.registerAsset'
  app.contractTypeMapping[102] = 'uia.issue'
  app.contractTypeMapping[103] = 'uia.transfer'

  app.contractTypeMapping[200] = 'chain.register'
  app.contractTypeMapping[201] = 'chain.replaceDelegate'
  app.contractTypeMapping[202] = 'chain.addDelegate'
  app.contractTypeMapping[203] = 'chain.removeDelegate'
  app.contractTypeMapping[204] = 'chain.deposit'
  app.contractTypeMapping[205] = 'chain.withdrawal'

  app.contractTypeMapping[300] = 'proposal.propose'
  app.contractTypeMapping[301] = 'proposal.vote'
  app.contractTypeMapping[302] = 'proposal.activate'

  app.contractTypeMapping[400] = 'gateway.openAccount'
  app.contractTypeMapping[401] = 'gateway.registerMember'
  app.contractTypeMapping[402] = 'gateway.deposit'
  app.contractTypeMapping[403] = 'gateway.withdrawal'
  app.contractTypeMapping[404] = 'gateway.submitWithdrawalTransaction'
  app.contractTypeMapping[405] = 'gateway.submitWithdrawalSignature'
  app.contractTypeMapping[406] = 'gateway.submitOutTransactionId'

  app.contractTypeMapping[500] = 'group.vote'
  app.contractTypeMapping[501] = 'group.activate'
  app.contractTypeMapping[502] = 'group.addMember'
  app.contractTypeMapping[503] = 'group.removeMember'
  app.contractTypeMapping[504] = 'group.replaceMember'

sqfasd avatar Jul 30 '18 07:07 sqfasd

@sqfasd both 'proposal.unvote' and 'group.unvote' seems to missing. Ans maybe also ~~group.revoke~~ group.remove and proposal.revoke, if not please explain.

bassjobsen avatar Aug 27 '18 12:08 bassjobsen

#287

sayobile avatar Oct 05 '19 22:10 sayobile