@taquito/taquito 11.0.2 → 11.2.0-beta-RC.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +2 -2
  2. package/dist/lib/batch/rpc-batch-provider.js +115 -249
  3. package/dist/lib/batch/rpc-batch-provider.js.map +1 -1
  4. package/dist/lib/constants.js +10 -4
  5. package/dist/lib/constants.js.map +1 -1
  6. package/dist/lib/context.js +143 -223
  7. package/dist/lib/context.js.map +1 -1
  8. package/dist/lib/contract/big-map.js +26 -66
  9. package/dist/lib/contract/big-map.js.map +1 -1
  10. package/dist/lib/contract/compose.js +1 -3
  11. package/dist/lib/contract/compose.js.map +1 -1
  12. package/dist/lib/contract/contract-methods/contract-method-factory.js +17 -16
  13. package/dist/lib/contract/contract-methods/contract-method-factory.js.map +1 -1
  14. package/dist/lib/contract/contract-methods/contract-method-flat-param.js +39 -68
  15. package/dist/lib/contract/contract-methods/contract-method-flat-param.js.map +1 -1
  16. package/dist/lib/contract/contract-methods/contract-method-object-param.js +21 -28
  17. package/dist/lib/contract/contract-methods/contract-method-object-param.js.map +1 -1
  18. package/dist/lib/contract/contract-methods/contract-on-chain-view.js +142 -0
  19. package/dist/lib/contract/contract-methods/contract-on-chain-view.js.map +1 -0
  20. package/dist/lib/contract/contract.js +114 -162
  21. package/dist/lib/contract/contract.js.map +1 -1
  22. package/dist/lib/contract/errors.js +68 -24
  23. package/dist/lib/contract/errors.js.map +1 -1
  24. package/dist/lib/contract/estimate.js +74 -112
  25. package/dist/lib/contract/estimate.js.map +1 -1
  26. package/dist/lib/contract/lambda-view.js +39 -95
  27. package/dist/lib/contract/lambda-view.js.map +1 -1
  28. package/dist/lib/contract/manager-lambda.js +10 -10
  29. package/dist/lib/contract/manager-lambda.js.map +1 -1
  30. package/dist/lib/contract/naive-estimate-provider.js +49 -143
  31. package/dist/lib/contract/naive-estimate-provider.js.map +1 -1
  32. package/dist/lib/contract/prepare.js +96 -160
  33. package/dist/lib/contract/prepare.js.map +1 -1
  34. package/dist/lib/contract/rpc-contract-provider.js +237 -523
  35. package/dist/lib/contract/rpc-contract-provider.js.map +1 -1
  36. package/dist/lib/contract/rpc-estimate-provider.js +209 -532
  37. package/dist/lib/contract/rpc-estimate-provider.js.map +1 -1
  38. package/dist/lib/contract/sapling-state-abstraction.js +9 -39
  39. package/dist/lib/contract/sapling-state-abstraction.js.map +1 -1
  40. package/dist/lib/contract/semantic.js +9 -9
  41. package/dist/lib/contract/semantic.js.map +1 -1
  42. package/dist/lib/contract/view_lambda.js +4 -4
  43. package/dist/lib/contract/view_lambda.js.map +1 -1
  44. package/dist/lib/forger/composite-forger.js +26 -61
  45. package/dist/lib/forger/composite-forger.js.map +1 -1
  46. package/dist/lib/forger/rpc-forger.js +6 -8
  47. package/dist/lib/forger/rpc-forger.js.map +1 -1
  48. package/dist/lib/format.js +5 -7
  49. package/dist/lib/format.js.map +1 -1
  50. package/dist/lib/global-constants/default-global-constants-provider.js +47 -0
  51. package/dist/lib/global-constants/default-global-constants-provider.js.map +1 -0
  52. package/dist/lib/global-constants/error.js +19 -0
  53. package/dist/lib/global-constants/error.js.map +1 -0
  54. package/dist/lib/global-constants/interface-global-constants-provider.js +3 -0
  55. package/dist/lib/global-constants/interface-global-constants-provider.js.map +1 -0
  56. package/dist/lib/global-constants/noop-global-constants-provider.js +22 -0
  57. package/dist/lib/global-constants/noop-global-constants-provider.js.map +1 -0
  58. package/dist/lib/injector/rpc-injector.js +5 -6
  59. package/dist/lib/injector/rpc-injector.js.map +1 -1
  60. package/dist/lib/operations/batch-operation.js +43 -87
  61. package/dist/lib/operations/batch-operation.js.map +1 -1
  62. package/dist/lib/operations/delegate-operation.js +44 -96
  63. package/dist/lib/operations/delegate-operation.js.map +1 -1
  64. package/dist/lib/operations/operation-emitter.js +184 -340
  65. package/dist/lib/operations/operation-emitter.js.map +1 -1
  66. package/dist/lib/operations/operation-errors.js +29 -64
  67. package/dist/lib/operations/operation-errors.js.map +1 -1
  68. package/dist/lib/operations/operations.js +80 -148
  69. package/dist/lib/operations/operations.js.map +1 -1
  70. package/dist/lib/operations/origination-operation.js +59 -145
  71. package/dist/lib/operations/origination-operation.js.map +1 -1
  72. package/dist/lib/operations/register-global-constant-operation.js +38 -82
  73. package/dist/lib/operations/register-global-constant-operation.js.map +1 -1
  74. package/dist/lib/operations/reveal-operation.js +50 -106
  75. package/dist/lib/operations/reveal-operation.js.map +1 -1
  76. package/dist/lib/operations/transaction-operation.js +54 -114
  77. package/dist/lib/operations/transaction-operation.js.map +1 -1
  78. package/dist/lib/operations/types.js +11 -22
  79. package/dist/lib/operations/types.js.map +1 -1
  80. package/dist/lib/packer/michel-codec-packer.js +8 -41
  81. package/dist/lib/packer/michel-codec-packer.js.map +1 -1
  82. package/dist/lib/packer/rpc-packer.js +7 -37
  83. package/dist/lib/packer/rpc-packer.js.map +1 -1
  84. package/dist/lib/parser/michel-codec-parser.js +103 -159
  85. package/dist/lib/parser/michel-codec-parser.js.map +1 -1
  86. package/dist/lib/parser/noop-parser.js +6 -38
  87. package/dist/lib/parser/noop-parser.js.map +1 -1
  88. package/dist/lib/signer/noop.js +22 -61
  89. package/dist/lib/signer/noop.js.map +1 -1
  90. package/dist/lib/subscribe/filters.js +13 -33
  91. package/dist/lib/subscribe/filters.js.map +1 -1
  92. package/dist/lib/subscribe/observable-subscription.js +32 -56
  93. package/dist/lib/subscribe/observable-subscription.js.map +1 -1
  94. package/dist/lib/subscribe/polling-provider.js +24 -81
  95. package/dist/lib/subscribe/polling-provider.js.map +1 -1
  96. package/dist/lib/taquito.js +117 -142
  97. package/dist/lib/taquito.js.map +1 -1
  98. package/dist/lib/tz/rpc-tz-provider.js +37 -97
  99. package/dist/lib/tz/rpc-tz-provider.js.map +1 -1
  100. package/dist/lib/version.js +2 -4
  101. package/dist/lib/version.js.map +1 -1
  102. package/dist/lib/wallet/batch-operation.js +31 -89
  103. package/dist/lib/wallet/batch-operation.js.map +1 -1
  104. package/dist/lib/wallet/delegation-operation.js +29 -94
  105. package/dist/lib/wallet/delegation-operation.js.map +1 -1
  106. package/dist/lib/wallet/legacy.js +25 -86
  107. package/dist/lib/wallet/legacy.js.map +1 -1
  108. package/dist/lib/wallet/operation-factory.js +61 -191
  109. package/dist/lib/wallet/operation-factory.js.map +1 -1
  110. package/dist/lib/wallet/operation.js +79 -185
  111. package/dist/lib/wallet/operation.js.map +1 -1
  112. package/dist/lib/wallet/origination-operation.js +36 -108
  113. package/dist/lib/wallet/origination-operation.js.map +1 -1
  114. package/dist/lib/wallet/receipt.js +20 -21
  115. package/dist/lib/wallet/receipt.js.map +1 -1
  116. package/dist/lib/wallet/transaction-operation.js +29 -94
  117. package/dist/lib/wallet/transaction-operation.js.map +1 -1
  118. package/dist/lib/wallet/wallet.js +133 -311
  119. package/dist/lib/wallet/wallet.js.map +1 -1
  120. package/dist/taquito.es6.js +4573 -0
  121. package/dist/taquito.es6.js.map +1 -0
  122. package/dist/taquito.min.js +1 -1
  123. package/dist/taquito.umd.js +2741 -4196
  124. package/dist/taquito.umd.js.map +1 -1
  125. package/dist/types/batch/rpc-batch-provider.d.ts +2 -1
  126. package/dist/types/constants.d.ts +9 -3
  127. package/dist/types/context.d.ts +7 -4
  128. package/dist/types/contract/contract-methods/contract-method-factory.d.ts +9 -3
  129. package/dist/types/contract/contract-methods/contract-method-flat-param.d.ts +1 -1
  130. package/dist/types/contract/contract-methods/contract-method-object-param.d.ts +2 -2
  131. package/dist/types/contract/contract-methods/contract-on-chain-view.d.ts +42 -0
  132. package/dist/types/contract/contract.d.ts +32 -15
  133. package/dist/types/contract/errors.d.ts +28 -8
  134. package/dist/types/contract/interface.d.ts +2 -2
  135. package/dist/types/contract/lambda-view.d.ts +1 -1
  136. package/dist/types/contract/prepare.d.ts +1 -1
  137. package/dist/types/contract/rpc-contract-provider.d.ts +3 -3
  138. package/dist/types/forger/composite-forger.d.ts +1 -2
  139. package/dist/types/global-constants/default-global-constants-provider.d.ts +18 -0
  140. package/dist/types/global-constants/error.d.ts +9 -0
  141. package/dist/types/global-constants/interface-global-constants-provider.d.ts +11 -0
  142. package/dist/types/global-constants/noop-global-constants-provider.d.ts +5 -0
  143. package/dist/types/operations/operation-emitter.d.ts +3 -3
  144. package/dist/types/operations/operation-errors.d.ts +2 -4
  145. package/dist/types/operations/origination-operation.d.ts +3 -2
  146. package/dist/types/operations/types.d.ts +2 -2
  147. package/dist/types/parser/michel-codec-parser.d.ts +1 -0
  148. package/dist/types/signer/interface.d.ts +1 -1
  149. package/dist/types/signer/noop.d.ts +2 -2
  150. package/dist/types/taquito.d.ts +28 -1
  151. package/dist/types/wallet/interface.d.ts +1 -1
  152. package/dist/types/wallet/legacy.d.ts +1 -1
  153. package/dist/types/wallet/operation.d.ts +2 -2
  154. package/dist/types/wallet/origination-operation.d.ts +3 -2
  155. package/dist/types/wallet/wallet.d.ts +5 -4
  156. package/package.json +30 -31
  157. package/dist/taquito.es5.js +0 -6036
  158. package/dist/taquito.es5.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"contract-method-factory.js","sourceRoot":"","sources":["../../../../src/contract/contract-methods/contract-method-factory.ts"],"names":[],"mappings":";;;AAEA,+EAAsE;AACtE,2EAA8D;AAG9D;IAAA;IAwCA,CAAC;IAvCG,8DAA8B,GAA9B,UACI,QAAW,EACX,OAAe,EACf,yBAA0C,EAC1C,uBAA+B,EAC/B,IAAW,EACX,oBAA2B,EAC3B,WAAmB;QADnB,qCAAA,EAAA,2BAA2B;QAC3B,4BAAA,EAAA,mBAAmB;QAEnB,OAAO,IAAI,2CAAc,CACrB,QAAQ,EACR,OAAO,EACP,yBAAyB,EACzB,uBAAuB,EACvB,IAAI,EACJ,oBAAoB,EACpB,WAAW,CACd,CAAC;IACN,CAAC;IAED,+DAA+B,GAA/B,UACI,QAAW,EACX,OAAe,EACf,yBAA0C,EAC1C,uBAA+B,EAC/B,IAAW,EACX,oBAA2B,EAC3B,WAAmB;QADnB,qCAAA,EAAA,2BAA2B;QAC3B,4BAAA,EAAA,mBAAmB;QAEnB,OAAO,IAAI,mDAAoB,CAC3B,QAAQ,EACR,OAAO,EACP,yBAAyB,EACzB,uBAAuB,EACvB,IAAI,EACJ,oBAAoB,EACpB,WAAW,CACd,CAAC;IACN,CAAC;IACL,4BAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,sDAAqB"}
1
+ {"version":3,"file":"contract-method-factory.js","sourceRoot":"","sources":["../../../../src/contract/contract-methods/contract-method-factory.ts"],"names":[],"mappings":";;;AAEA,iFAAsE;AACtE,6EAA8D;AAG9D,qEAAuD;AAEvD,MAAa,qBAAqB;IAChC,YAAoB,QAAW,EAAU,eAAuB;QAA5C,aAAQ,GAAR,QAAQ,CAAG;QAAU,oBAAe,GAAf,eAAe,CAAQ;IAAG,CAAC;IAEpE,8BAA8B,CAC5B,yBAA0C,EAC1C,uBAA+B,EAC/B,IAAW,EACX,oBAAoB,GAAG,IAAI,EAC3B,WAAW,GAAG,KAAK;QAEnB,OAAO,IAAI,2CAAc,CACvB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,eAAe,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,IAAI,EACJ,oBAAoB,EACpB,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,+BAA+B,CAC7B,yBAA0C,EAC1C,uBAA+B,EAC/B,IAAW,EACX,oBAAoB,GAAG,IAAI,EAC3B,WAAW,GAAG,KAAK;QAEnB,OAAO,IAAI,mDAAoB,CAC7B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,eAAe,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,IAAI,EACJ,oBAAoB,EACpB,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,6BAA6B,CAC3B,GAAuB,EACvB,uBAAmC,EACnC,mBAA0C,EAC1C,oBAA2C,EAC3C,QAAa;QAEb,OAAO,IAAI,oCAAW,CACpB,GAAG,EACH,IAAI,CAAC,eAAe,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,QAAQ,CACT,CAAC;IACJ,CAAC;CACF;AAvDD,sDAuDC"}
@@ -1,37 +1,15 @@
1
1
  "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spread = (this && this.__spread) || function () {
19
- for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
20
- return ar;
21
- };
22
2
  Object.defineProperty(exports, "__esModule", { value: true });
23
3
  exports.ContractMethod = void 0;
24
- var wallet_1 = require("../../wallet");
25
- var contract_1 = require("../contract");
26
- var errors_1 = require("../errors");
4
+ const wallet_1 = require("../../wallet");
5
+ const contract_1 = require("../contract");
6
+ const errors_1 = require("../errors");
27
7
  /**
28
8
  * @description Utility class to send smart contract operation
29
9
  * The format for the arguments is the flattened representation
30
10
  */
31
- var ContractMethod = /** @class */ (function () {
32
- function ContractMethod(provider, address, parameterSchema, name, args, isMultipleEntrypoint, isAnonymous) {
33
- if (isMultipleEntrypoint === void 0) { isMultipleEntrypoint = true; }
34
- if (isAnonymous === void 0) { isAnonymous = false; }
11
+ class ContractMethod {
12
+ constructor(provider, address, parameterSchema, name, args, isMultipleEntrypoint = true, isAnonymous = false) {
35
13
  this.provider = provider;
36
14
  this.address = address;
37
15
  this.parameterSchema = parameterSchema;
@@ -40,83 +18,76 @@ var ContractMethod = /** @class */ (function () {
40
18
  this.isMultipleEntrypoint = isMultipleEntrypoint;
41
19
  this.isAnonymous = isAnonymous;
42
20
  }
43
- ContractMethod.prototype.validateArgs = function (args, schema, name) {
44
- var sigs = schema.ExtractSignatures();
45
- if (!sigs.find(function (x) { return x.length === args.length; })) {
21
+ validateArgs(args, schema, name) {
22
+ const sigs = schema.ExtractSignatures();
23
+ if (!sigs.find((x) => x.length === args.length)) {
46
24
  throw new errors_1.InvalidParameterError(name, sigs, args);
47
25
  }
48
- };
49
- ;
50
- Object.defineProperty(ContractMethod.prototype, "schema", {
51
- /**
52
- * @description Get the schema of the smart contract method
53
- */
54
- get: function () {
55
- return this.isAnonymous
56
- ? this.parameterSchema.ExtractSchema()[this.name]
57
- : this.parameterSchema.ExtractSchema();
58
- },
59
- enumerable: false,
60
- configurable: true
61
- });
26
+ }
27
+ /**
28
+ * @description Get the schema of the smart contract method
29
+ */
30
+ get schema() {
31
+ return this.isAnonymous
32
+ ? this.parameterSchema.ExtractSchema()[this.name]
33
+ : this.parameterSchema.ExtractSchema();
34
+ }
62
35
  /**
63
36
  * @description Get the signature of the smart contract method
64
37
  */
65
- ContractMethod.prototype.getSignature = function () {
66
- var _this = this;
38
+ getSignature() {
67
39
  if (this.isAnonymous) {
68
- var sig = this.parameterSchema.ExtractSignatures().find(function (x) { return x[0] === _this.name; });
40
+ const sig = this.parameterSchema.ExtractSignatures().find((x) => x[0] === this.name);
69
41
  if (sig) {
70
42
  sig.shift();
71
43
  return sig;
72
44
  }
73
45
  }
74
46
  else {
75
- var sig = this.parameterSchema.ExtractSignatures();
76
- return (sig.length == 1) ? sig[0] : sig;
47
+ const sig = this.parameterSchema.ExtractSignatures();
48
+ return sig.length == 1 ? sig[0] : sig;
77
49
  }
78
- };
50
+ }
79
51
  /**
80
52
  *
81
53
  * @description Send the smart contract operation
82
54
  *
83
55
  * @param Options generic operation parameter
84
56
  */
85
- ContractMethod.prototype.send = function (params) {
86
- if (params === void 0) { params = {}; }
57
+ send(params = {}) {
87
58
  if (this.provider instanceof wallet_1.Wallet) {
88
- return this.provider.transfer(this.toTransferParams(params)).send();
59
+ return this.provider
60
+ .transfer(this.toTransferParams(params))
61
+ .send();
89
62
  }
90
63
  else {
91
64
  return this.provider.transfer(this.toTransferParams(params));
92
65
  }
93
- };
66
+ }
94
67
  /**
95
68
  *
96
69
  * @description Create transfer params to be used with TezosToolkit.contract.transfer methods
97
70
  *
98
71
  * @param Options generic transfer operation parameters
99
72
  */
100
- ContractMethod.prototype.toTransferParams = function (_a) {
101
- var _b, _c;
102
- var _d = _a === void 0 ? {} : _a, fee = _d.fee, gasLimit = _d.gasLimit, storageLimit = _d.storageLimit, source = _d.source, _e = _d.amount, amount = _e === void 0 ? 0 : _e, _f = _d.mutez, mutez = _f === void 0 ? false : _f;
103
- var fullTransferParams = {
73
+ toTransferParams({ fee, gasLimit, storageLimit, source, amount = 0, mutez = false, } = {}) {
74
+ const fullTransferParams = {
104
75
  to: this.address,
105
- amount: amount,
106
- fee: fee,
107
- mutez: mutez,
108
- source: source,
109
- gasLimit: gasLimit,
110
- storageLimit: storageLimit,
76
+ amount,
77
+ fee,
78
+ mutez,
79
+ source,
80
+ gasLimit,
81
+ storageLimit,
111
82
  parameter: {
112
83
  entrypoint: this.isMultipleEntrypoint ? this.name : contract_1.DEFAULT_SMART_CONTRACT_METHOD_NAME,
113
84
  value: this.isAnonymous
114
- ? (_b = this.parameterSchema).Encode.apply(_b, __spread([this.name], this.args)) : (_c = this.parameterSchema).Encode.apply(_c, __spread(this.args)),
85
+ ? this.parameterSchema.Encode(this.name, ...this.args)
86
+ : this.parameterSchema.Encode(...this.args),
115
87
  },
116
88
  };
117
89
  return fullTransferParams;
118
- };
119
- return ContractMethod;
120
- }());
90
+ }
91
+ }
121
92
  exports.ContractMethod = ContractMethod;
122
93
  //# sourceMappingURL=contract-method-flat-param.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-method-flat-param.js","sourceRoot":"","sources":["../../../../src/contract/contract-methods/contract-method-flat-param.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-method-flat-param.js","sourceRoot":"","sources":["../../../../src/contract/contract-methods/contract-method-flat-param.ts"],"names":[],"mappings":";;;AAGA,yCAAkE;AAOlE,0CAAiE;AACjE,sCAAkD;AAElD;;;GAGG;AACH,MAAa,cAAc;IAGzB,YACU,QAAW,EACX,OAAe,EACf,eAAgC,EAChC,IAAY,EACZ,IAAW,EACX,uBAAuB,IAAI,EAC3B,cAAc,KAAK;QANnB,aAAQ,GAAR,QAAQ,CAAG;QACX,YAAO,GAAP,OAAO,CAAQ;QACf,oBAAe,GAAf,eAAe,CAAiB;QAChC,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAO;QACX,yBAAoB,GAApB,oBAAoB,CAAO;QAC3B,gBAAW,GAAX,WAAW,CAAQ;IAC1B,CAAC;IAEI,YAAY,CAAC,IAAW,EAAE,MAAuB,EAAE,IAAY;QACrE,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE;YACtD,MAAM,IAAI,8BAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACnD;IACH,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW;YACrB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5F,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,KAAK,EAAE,CAAC;gBACZ,OAAO,GAAG,CAAC;aACZ;SACF;aAAM;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;YACrD,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SACvC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CACF,SAA8B,EAAE;QAEhC,IAAI,IAAI,CAAC,QAAQ,YAAY,eAAM,EAAE;YACnC,OAAQ,IAAI,CAAC,QAA8B;iBACxC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;iBACvC,IAAI,EAAS,CAAC;SAClB;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAQ,CAAC;SACrE;IACH,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,EACf,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,MAAM,GAAG,CAAC,EACV,KAAK,GAAG,KAAK,MACU,EAAE;QACzB,MAAM,kBAAkB,GAA2B;YACjD,EAAE,EAAE,IAAI,CAAC,OAAO;YAChB,MAAM;YACN,GAAG;YACH,KAAK;YACL,MAAM;YACN,QAAQ;YACR,YAAY;YACZ,SAAS,EAAE;gBACT,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,6CAAkC;gBACtF,KAAK,EAAE,IAAI,CAAC,WAAW;oBACrB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;oBACtD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAC9C;SACF,CAAC;QACF,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF;AA/FD,wCA+FC"}
@@ -1,17 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContractMethodObject = void 0;
4
- var wallet_1 = require("../../wallet");
5
- var contract_1 = require("../contract");
4
+ const wallet_1 = require("../../wallet");
5
+ const contract_1 = require("../contract");
6
6
  /**
7
7
  * @description Utility class to send smart contract operation
8
8
  * The format for the arguments is the object representation
9
9
  */
10
- var ContractMethodObject = /** @class */ (function () {
11
- function ContractMethodObject(provider, address, parameterSchema, name, args, isMultipleEntrypoint, isAnonymous) {
12
- if (args === void 0) { args = 'unit'; }
13
- if (isMultipleEntrypoint === void 0) { isMultipleEntrypoint = true; }
14
- if (isAnonymous === void 0) { isAnonymous = false; }
10
+ class ContractMethodObject {
11
+ constructor(provider, address, parameterSchema, name, args = 'unit', isMultipleEntrypoint = true, isAnonymous = false) {
15
12
  this.provider = provider;
16
13
  this.address = address;
17
14
  this.parameterSchema = parameterSchema;
@@ -21,55 +18,51 @@ var ContractMethodObject = /** @class */ (function () {
21
18
  this.isAnonymous = isAnonymous;
22
19
  }
23
20
  /**
24
- * @description Get the signature of the smart contract method
25
- */
26
- ContractMethodObject.prototype.getSignature = function () {
21
+ * @description Get the signature of the smart contract method
22
+ */
23
+ getSignature() {
27
24
  return this.isAnonymous
28
25
  ? this.parameterSchema.ExtractSchema()[this.name]
29
26
  : this.parameterSchema.ExtractSchema();
30
- };
27
+ }
31
28
  /**
32
29
  *
33
30
  * @description Send the smart contract operation
34
31
  *
35
32
  * @param Options generic operation parameter
36
33
  */
37
- ContractMethodObject.prototype.send = function (params) {
38
- if (params === void 0) { params = {}; }
34
+ send(params = {}) {
39
35
  if (this.provider instanceof wallet_1.Wallet) {
40
36
  return this.provider.transfer(this.toTransferParams(params)).send();
41
37
  }
42
38
  else {
43
39
  return this.provider.transfer(this.toTransferParams(params));
44
40
  }
45
- };
41
+ }
46
42
  /**
47
43
  *
48
44
  * @description Create transfer params to be used with TezosToolkit.contract.transfer methods
49
45
  *
50
46
  * @param Options generic transfer operation parameters
51
47
  */
52
- ContractMethodObject.prototype.toTransferParams = function (_a) {
53
- var _b;
54
- var _c = _a === void 0 ? {} : _a, fee = _c.fee, gasLimit = _c.gasLimit, storageLimit = _c.storageLimit, source = _c.source, _d = _c.amount, amount = _d === void 0 ? 0 : _d, _e = _c.mutez, mutez = _e === void 0 ? false : _e;
55
- var fullTransferParams = {
48
+ toTransferParams({ fee, gasLimit, storageLimit, source, amount = 0, mutez = false, } = {}) {
49
+ const fullTransferParams = {
56
50
  to: this.address,
57
- amount: amount,
58
- fee: fee,
59
- mutez: mutez,
60
- source: source,
61
- gasLimit: gasLimit,
62
- storageLimit: storageLimit,
51
+ amount,
52
+ fee,
53
+ mutez,
54
+ source,
55
+ gasLimit,
56
+ storageLimit,
63
57
  parameter: {
64
58
  entrypoint: this.isMultipleEntrypoint ? this.name : contract_1.DEFAULT_SMART_CONTRACT_METHOD_NAME,
65
59
  value: this.isAnonymous
66
- ? this.parameterSchema.EncodeObject((_b = {}, _b[this.name] = this.args, _b))
60
+ ? this.parameterSchema.EncodeObject({ [this.name]: this.args })
67
61
  : this.parameterSchema.EncodeObject(this.args),
68
62
  },
69
63
  };
70
64
  return fullTransferParams;
71
- };
72
- return ContractMethodObject;
73
- }());
65
+ }
66
+ }
74
67
  exports.ContractMethodObject = ContractMethodObject;
75
68
  //# sourceMappingURL=contract-method-object-param.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-method-object-param.js","sourceRoot":"","sources":["../../../../src/contract/contract-methods/contract-method-object-param.ts"],"names":[],"mappings":";;;AAGA,uCAAkE;AAGlE,wCAAiE;AAEjE;;;GAGG;AACH;IACI,8BACY,QAAW,EACX,OAAe,EACf,eAAgC,EAChC,IAAY,EACZ,IAAkB,EAClB,oBAA2B,EAC3B,WAAmB;QAFnB,qBAAA,EAAA,aAAkB;QAClB,qCAAA,EAAA,2BAA2B;QAC3B,4BAAA,EAAA,mBAAmB;QANnB,aAAQ,GAAR,QAAQ,CAAG;QACX,YAAO,GAAP,OAAO,CAAQ;QACf,oBAAe,GAAf,eAAe,CAAiB;QAChC,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAc;QAClB,yBAAoB,GAApB,oBAAoB,CAAO;QAC3B,gBAAW,GAAX,WAAW,CAAQ;IAC3B,CAAC;IAEL;;KAEC;IACD,2CAAY,GAAZ;QACI,OAAO,IAAI,CAAC,WAAW;YACnB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,mCAAI,GAAJ,UACI,MAAgC;QAAhC,uBAAA,EAAA,WAAgC;QAEhC,IAAI,IAAI,CAAC,QAAQ,YAAY,eAAM,EAAE;YACjC,OAAQ,IAAI,CAAC,QAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAS,CAAC;SACrG;aAAM;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAQ,CAAC;SACvE;IACL,CAAC;IAED;;;;;OAKG;IACH,+CAAgB,GAAhB,UAAiB,EAOU;;YAPV,qBAOQ,EAAE,KAAA,EANvB,GAAG,SAAA,EACH,QAAQ,cAAA,EACR,YAAY,kBAAA,EACZ,MAAM,YAAA,EACN,cAAU,EAAV,MAAM,mBAAG,CAAC,KAAA,EACV,aAAa,EAAb,KAAK,mBAAG,KAAK,KAAA;QAEb,IAAM,kBAAkB,GAA2B;YAC/C,EAAE,EAAE,IAAI,CAAC,OAAO;YAChB,MAAM,QAAA;YACN,GAAG,KAAA;YACH,KAAK,OAAA;YACL,MAAM,QAAA;YACN,QAAQ,UAAA;YACR,YAAY,cAAA;YACZ,SAAS,EAAE;gBACP,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,6CAAkC;gBACtF,KAAK,EAAE,IAAI,CAAC,WAAW;oBACnB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,WAAG,GAAC,IAAI,CAAC,IAAI,IAAG,IAAI,CAAC,IAAI,MAAG;oBAC/D,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;aACrD;SACJ,CAAC;QACF,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IACL,2BAAC;AAAD,CAAC,AAnED,IAmEC;AAnEY,oDAAoB"}
1
+ {"version":3,"file":"contract-method-object-param.js","sourceRoot":"","sources":["../../../../src/contract/contract-methods/contract-method-object-param.ts"],"names":[],"mappings":";;;AAGA,yCAAkE;AAGlE,0CAAiE;AAEjE;;;GAGG;AACH,MAAa,oBAAoB;IAC7B,YACY,QAAW,EACX,OAAe,EACf,eAAgC,EAChC,IAAY,EACZ,OAAY,MAAM,EAClB,uBAAuB,IAAI,EAC3B,cAAc,KAAK;QANnB,aAAQ,GAAR,QAAQ,CAAG;QACX,YAAO,GAAP,OAAO,CAAQ;QACf,oBAAe,GAAf,eAAe,CAAiB;QAChC,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAc;QAClB,yBAAoB,GAApB,oBAAoB,CAAO;QAC3B,gBAAW,GAAX,WAAW,CAAQ;IAC3B,CAAC;IAEL;;OAEG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,WAAW;YACnB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,IAAI,CACA,SAA8B,EAAE;QAEhC,IAAI,IAAI,CAAC,QAAQ,YAAY,eAAM,EAAE;YACjC,OAAQ,IAAI,CAAC,QAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAS,CAAC;SACrG;aAAM;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAQ,CAAC;SACvE;IACL,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,EACb,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,MAAM,GAAG,CAAC,EACV,KAAK,GAAG,KAAK,MACQ,EAAE;QACvB,MAAM,kBAAkB,GAA2B;YAC/C,EAAE,EAAE,IAAI,CAAC,OAAO;YAChB,MAAM;YACN,GAAG;YACH,KAAK;YACL,MAAM;YACN,QAAQ;YACR,YAAY;YACZ,SAAS,EAAE;gBACP,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,6CAAkC;gBACtF,KAAK,EAAE,IAAI,CAAC,WAAW;oBACnB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC/D,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;aACrD;SACJ,CAAC;QACF,OAAO,kBAAkB,CAAC;IAC9B,CAAC;CACJ;AAnED,oDAmEC"}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.OnChainView = void 0;
13
+ const utils_1 = require("@taquito/utils");
14
+ const errors_1 = require("../errors");
15
+ const runCodeHelper = (viewArgsType, viewReturnType, contractStorageType, viewInstructions, viewArgs, contractStorageValue, balance, chain_id, source, amount = '0') => {
16
+ return {
17
+ script: [
18
+ { prim: 'parameter', args: [{ prim: 'pair', args: [viewArgsType, contractStorageType] }] },
19
+ { prim: 'storage', args: [{ prim: 'option', args: [viewReturnType] }] },
20
+ {
21
+ prim: 'code',
22
+ args: [
23
+ [
24
+ { prim: 'CAR' },
25
+ viewInstructions,
26
+ { prim: 'SOME' },
27
+ { prim: 'NIL', args: [{ prim: 'operation' }] },
28
+ { prim: 'PAIR' },
29
+ ],
30
+ ],
31
+ },
32
+ ],
33
+ storage: { prim: 'None' },
34
+ input: { prim: 'Pair', args: [viewArgs, contractStorageValue] },
35
+ amount,
36
+ balance,
37
+ chain_id,
38
+ source,
39
+ };
40
+ };
41
+ class OnChainView {
42
+ constructor(_rpc, _contractAddress, _smartContractViewSchema, _contractStorageType, _contractStorageValue, _args = 'Unit') {
43
+ this._rpc = _rpc;
44
+ this._contractAddress = _contractAddress;
45
+ this._smartContractViewSchema = _smartContractViewSchema;
46
+ this._contractStorageType = _contractStorageType;
47
+ this._contractStorageValue = _contractStorageValue;
48
+ this._args = _args;
49
+ }
50
+ /**
51
+ * @description Get the signature of the smart contract view
52
+ */
53
+ getSignature() {
54
+ return {
55
+ parameter: this._smartContractViewSchema.extractArgsSchema(),
56
+ result: this._smartContractViewSchema.extractResultSchema(),
57
+ };
58
+ }
59
+ /**
60
+ * @description Get the result of the view simulation
61
+ * @param executionContext.source the public key hash of the account who initialized this view execution.
62
+ * @param executionContext.viewCaller the contract address which is the caller of view.
63
+ */
64
+ executeView(executionContext) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ this.verifyContextExecution(executionContext);
67
+ const balance = (yield this._rpc.getBalance(this._contractAddress)).toString();
68
+ const chainId = yield this._rpc.getChainId();
69
+ return this.executeViewAndDecodeResult(runCodeHelper(this._smartContractViewSchema.viewArgsType, this._smartContractViewSchema.viewReturnType, this._contractStorageType, this.adaptViewCodeToContext(this._smartContractViewSchema.instructions, executionContext.viewCaller, balance), this.transformArgsToMichelson(), this._contractStorageValue, balance, chainId, executionContext.source));
70
+ });
71
+ }
72
+ verifyContextExecution(executionContext) {
73
+ if (executionContext.source &&
74
+ utils_1.validateAddress(executionContext.source) !== utils_1.ValidationResult.VALID) {
75
+ throw new errors_1.InvalidViewSimulationContext(`The source account who initialized the view execution is invalid: ${executionContext.source}.`);
76
+ }
77
+ if (!executionContext.viewCaller ||
78
+ utils_1.validateAddress(executionContext.viewCaller) !== utils_1.ValidationResult.VALID) {
79
+ throw new errors_1.InvalidViewSimulationContext(`The contract which is the caller of view is invalid: ${executionContext.viewCaller}.`);
80
+ }
81
+ }
82
+ transformArgsToMichelson() {
83
+ try {
84
+ return this._smartContractViewSchema.encodeViewArgs(this._args);
85
+ }
86
+ catch (error) {
87
+ throw new errors_1.InvalidViewParameterError(this._smartContractViewSchema.viewName, this.getSignature(), this._args, error);
88
+ }
89
+ }
90
+ /**
91
+ * @description Loops through the view's instructions and replace BALANCE, SENDER, SELF_ADDRESS and AMOUNT with Michelson expressions that match the current context, if applicable.
92
+ *
93
+ * Certain specific instructions have different semantics in view:
94
+ * BALANCE represents the current amount of mutez held by the contract where view is;
95
+ * SENDER represents the contract which is the caller of view;
96
+ * SELF_ADDRESS represents the contract where view is;
97
+ * AMOUNT is always 0 mutez.
98
+ *
99
+ */
100
+ adaptViewCodeToContext(instructions, viewCaller, contractBalance) {
101
+ const instructionsToReplace = {
102
+ BALANCE: [{ prim: 'PUSH', args: [{ prim: 'mutez' }, { int: contractBalance }] }],
103
+ SENDER: [{ prim: 'PUSH', args: [{ prim: 'address' }, { string: viewCaller }] }],
104
+ SELF_ADDRESS: [
105
+ { prim: 'PUSH', args: [{ prim: 'address' }, { string: this._contractAddress }] },
106
+ ],
107
+ AMOUNT: [{ prim: 'PUSH', args: [{ prim: 'mutez' }, { int: '0' }] }],
108
+ };
109
+ instructions.forEach((inst, i) => {
110
+ if (inst.prim in instructionsToReplace) {
111
+ instructions[i] = Object(instructionsToReplace)[inst.prim];
112
+ }
113
+ if (inst.args && inst.args.length !== 0) {
114
+ this.adaptViewCodeToContext(inst.args, viewCaller, contractBalance);
115
+ }
116
+ else if (Array.isArray(inst)) {
117
+ this.adaptViewCodeToContext(inst, viewCaller, contractBalance);
118
+ }
119
+ });
120
+ return instructions;
121
+ }
122
+ executeViewAndDecodeResult(viewScript) {
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ let storage;
125
+ try {
126
+ storage = (yield this._rpc.runCode(viewScript)).storage;
127
+ }
128
+ catch (error) {
129
+ const failWith = errors_1.validateAndExtractFailwith(error);
130
+ throw failWith
131
+ ? new errors_1.ViewSimulationError(`The simulation of the on-chain view named ${this._smartContractViewSchema.viewName} failed with: ${JSON.stringify(failWith)}`, error)
132
+ : error;
133
+ }
134
+ if (!storage.args) {
135
+ throw new errors_1.ViewSimulationError(`View simulation failed with an invalid result: ${storage}`);
136
+ }
137
+ return this._smartContractViewSchema.decodeViewResult(storage.args[0]);
138
+ });
139
+ }
140
+ }
141
+ exports.OnChainView = OnChainView;
142
+ //# sourceMappingURL=contract-on-chain-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-on-chain-view.js","sourceRoot":"","sources":["../../../../src/contract/contract-methods/contract-on-chain-view.ts"],"names":[],"mappings":"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"}