@qevm/contracts
Advanced tools
@@ -1,2 +0,2 @@ | ||
| export declare const version = "contracts/5.7.0"; | ||
| export declare const version = "contracts/5.7.3"; | ||
| //# sourceMappingURL=_version.d.ts.map |
+1
-1
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.version = void 0; | ||
| exports.version = "contracts/5.7.0"; | ||
| exports.version = "contracts/5.7.3"; | ||
| //# sourceMappingURL=_version.js.map |
+1
-1
@@ -148,3 +148,3 @@ import { Fragment, Indexed, Interface, JsonFragment, Result } from "@qevm/abi"; | ||
| connect(signer: Signer): ContractFactory; | ||
| static fromSolidity(compilerOutput: any, signer?: Signer): ContractFactory; | ||
| static fromPurity(compilerOutput: any, signer?: Signer): ContractFactory; | ||
| static getInterface(contractInterface: ContractInterface): Interface; | ||
@@ -151,0 +151,0 @@ static getContractAddress(tx: { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoC,QAAQ,EAAoB,OAAO,EAAE,SAAS,EAAE,YAAY,EAA6B,MAAM,EAAE,MAAM,WAAW,CAAC;AAC9J,OAAO,EAAE,KAAK,EAAE,QAAQ,EAA6B,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC3K,OAAO,EAAE,MAAM,EAAc,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAY,SAAS,EAAyC,MAAM,aAAa,CAAC;AAEzF,OAAO,EAAE,UAAU,EAAiB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAO9E,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACpD,oBAAoB,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAC/C,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACnD,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnC;AAOD,MAAM,WAAW,oBAAoB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,oBAAoB,CAAC,EAAE,SAAS,CAAC;IAEjC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;CACxC,CAAC;AAGF,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAI5E,MAAM,WAAW,KAAM,SAAQ,GAAG;IAG9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,WAAW,CAAC,EAAE,KAAK,CAAC;IAGpB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;IAGvD,cAAc,EAAE,MAAM,IAAI,CAAC;IAG3B,QAAQ,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,cAAc,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnD,qBAAqB,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACvD,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC5D,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC1D;AAkWD,cAAM,YAAY;IACd,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,OAAO,CAAC,UAAU,CAA+C;gBAErD,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;IAM5C,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAIpD,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IASxC,kBAAkB,IAAI,IAAI;IAI1B,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC;IAI5B,aAAa,IAAI,MAAM;IAIvB,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM;IAkB7B,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIhC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;CAGpC;AAsGD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,aAAa,CAAC,QAAQ,GAAG,YAAY,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;AAKrG,qBAAa,YAAY;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,QAAQ,CAAC,SAAS,EAAE;QAAE,CAAE,IAAI,EAAE,MAAM,GAAI,gBAAgB,CAAA;KAAE,CAAC;IAE3D,QAAQ,CAAC,UAAU,EAAE;QAAE,CAAE,IAAI,EAAE,MAAM,GAAI,gBAAgB,CAAA;KAAE,CAAC;IAC5D,QAAQ,CAAC,WAAW,EAAE;QAAE,CAAE,IAAI,EAAE,MAAM,GAAI,gBAAgB,CAAC,SAAS,CAAC,CAAA;KAAE,CAAC;IACxE,QAAQ,CAAC,mBAAmB,EAAE;QAAE,CAAE,IAAI,EAAE,MAAM,GAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;KAAE,CAAC;IAE3F,QAAQ,CAAC,OAAO,EAAE;QAAE,CAAE,IAAI,EAAE,MAAM,GAAI,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAA;KAAE,CAAC;IAI7E,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAG1C,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IAEhD,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAGpC,cAAc,EAAE;QAAE,CAAE,QAAQ,EAAE,MAAM,GAAI,YAAY,CAAA;KAAE,CAAC;IAGvD,aAAa,EAAE;QAAE,CAAE,QAAQ,EAAE,MAAM,GAAI,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;KAAE,CAAC;gBAE3D,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ;IAyJ7G,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,CAAA;KAAE,GAAG,MAAM;IAIrF,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,SAAS;IAQpE,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IAI7B,SAAS,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmCjD,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmBtE,OAAO,CAAC,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ;IAc/D,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ;IAIvC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,OAAO;IAI9C,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,gBAAgB;IAiDxB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAerD,UAAU,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK;IAmB3E,OAAO,CAAC,iBAAiB;IA4CzB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,oBAAoB,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAmB7H,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAKzD,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAK3D,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO;IAYnE,aAAa,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM;IAUvD,SAAS,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;IAgB5D,kBAAkB,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IAoB1D,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQ9D,cAAc,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAI5E;AAED,qBAAa,QAAS,SAAQ,YAAY;IAEtC,QAAQ,EAAG,GAAG,EAAE,MAAM,GAAI,gBAAgB,GAAG,GAAG,CAAC;CACpD;AAED,qBAAa,eAAe;IAExB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,CAAC,EAAE,MAAM;IAmC3G,oBAAoB,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,kBAAkB;IAyCvD,MAAM,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgCpD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ;IAIjC,OAAO,CAAC,MAAM,EAAE,MAAM;IAItB,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe;IAqB1E,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE,iBAAiB;IAIxD,MAAM,CAAC,kBAAkB,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM;IAI9F,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ;CAGvG"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"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"} |
+93
-66
@@ -10,20 +10,27 @@ "use strict"; | ||
| const bytes_1 = require("@qevm/bytes"); | ||
| const properties_1 = require("@ethersproject/properties"); | ||
| const properties_1 = require("@qevm/properties"); | ||
| const transactions_1 = require("@qevm/transactions"); | ||
| const logger_1 = require("@ethersproject/logger"); | ||
| const logger_1 = require("@qevm/logger"); | ||
| const _version_1 = require("./_version"); | ||
| const logger = new logger_1.Logger(_version_1.version); | ||
| ; | ||
| ; | ||
| /////////////////////////////// | ||
| const allowedTransactionKeys = { | ||
| chainId: true, data: true, from: true, gasLimit: true, gasPrice: true, nonce: true, to: true, value: true, | ||
| type: true, accessList: true, | ||
| maxFeePerGas: true, maxPriorityFeePerGas: true, | ||
| chainId: true, | ||
| data: true, | ||
| from: true, | ||
| gasLimit: true, | ||
| gasPrice: true, | ||
| nonce: true, | ||
| to: true, | ||
| value: true, | ||
| type: true, | ||
| accessList: true, | ||
| maxFeePerGas: true, | ||
| maxPriorityFeePerGas: true, | ||
| customData: true, | ||
| ccipReadEnabled: true | ||
| ccipReadEnabled: true, | ||
| }; | ||
| async function resolveName(resolver, nameOrPromise) { | ||
| const name = await nameOrPromise; | ||
| if (typeof (name) !== "string") { | ||
| if (typeof name !== "string") { | ||
| logger.throwArgumentError("invalid address or ENS name", "name", name); | ||
@@ -38,3 +45,3 @@ } | ||
| logger.throwError("a provider or signer is needed to resolve ENS names", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "resolveName" | ||
| operation: "resolveName", | ||
| }); | ||
@@ -52,3 +59,3 @@ } | ||
| return await Promise.all(paramType.map((paramType, index) => { | ||
| return resolveAddresses(resolver, ((Array.isArray(value)) ? value[index] : value[paramType.name]), paramType); | ||
| return resolveAddresses(resolver, Array.isArray(value) ? value[index] : value[paramType.name], paramType); | ||
| })); | ||
@@ -66,3 +73,3 @@ } | ||
| argument: "value", | ||
| value | ||
| value, | ||
| })); | ||
@@ -77,3 +84,4 @@ } | ||
| let overrides = {}; | ||
| if (args.length === fragment.inputs.length + 1 && typeof (args[args.length - 1]) === "object") { | ||
| if (args.length === fragment.inputs.length + 1 && | ||
| typeof args[args.length - 1] === "object") { | ||
| overrides = (0, properties_1.shallowCopy)(args.pop()); | ||
@@ -90,7 +98,7 @@ } | ||
| override: resolveName(contract.signer, overrides.from), | ||
| signer: contract.signer.getAddress() | ||
| signer: contract.signer.getAddress(), | ||
| }).then(async (check) => { | ||
| if ((0, address_1.getAddress)(check.signer) !== check.override) { | ||
| logger.throwError("Contract with a Signer cannot override from", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "overrides.from" | ||
| operation: "overrides.from", | ||
| }); | ||
@@ -116,3 +124,3 @@ } | ||
| address: contract.resolvedAddress, | ||
| overrides: ((0, properties_1.resolveProperties)(overrides) || {}) | ||
| overrides: (0, properties_1.resolveProperties)(overrides) || {}, | ||
| }); | ||
@@ -123,3 +131,3 @@ // The ABI coded transaction | ||
| data: data, | ||
| to: resolved.address | ||
| to: resolved.address, | ||
| }; | ||
@@ -176,3 +184,3 @@ // Resolved Overrides | ||
| operation: "overrides.value", | ||
| value: overrides.value | ||
| value: overrides.value, | ||
| }); | ||
@@ -202,7 +210,7 @@ } | ||
| // typo or using an unsupported key. | ||
| const leftovers = Object.keys(overrides).filter((key) => (overrides[key] != null)); | ||
| const leftovers = Object.keys(overrides).filter((key) => overrides[key] != null); | ||
| if (leftovers.length) { | ||
| logger.throwError(`cannot override ${leftovers.map((l) => JSON.stringify(l)).join(",")}`, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "overrides", | ||
| overrides: leftovers | ||
| overrides: leftovers, | ||
| }); | ||
@@ -218,7 +226,7 @@ } | ||
| function buildEstimate(contract, fragment) { | ||
| const signerOrProvider = (contract.signer || contract.provider); | ||
| const signerOrProvider = contract.signer || contract.provider; | ||
| return async function (...args) { | ||
| if (!signerOrProvider) { | ||
| logger.throwError("estimate require a provider or signer", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "estimateGas" | ||
| operation: "estimateGas", | ||
| }); | ||
@@ -251,3 +259,5 @@ } | ||
| // Useful operations | ||
| event.removeListener = () => { return contract.provider; }; | ||
| event.removeListener = () => { | ||
| return contract.provider; | ||
| }; | ||
| event.getBlock = () => { | ||
@@ -269,7 +279,8 @@ return contract.provider.getBlock(receipt.blockHash); | ||
| function buildCall(contract, fragment, collapseSimple) { | ||
| const signerOrProvider = (contract.signer || contract.provider); | ||
| const signerOrProvider = contract.signer || contract.provider; | ||
| return async function (...args) { | ||
| // Extract the "blockTag" override if present | ||
| let blockTag = undefined; | ||
| if (args.length === fragment.inputs.length + 1 && typeof (args[args.length - 1]) === "object") { | ||
| if (args.length === fragment.inputs.length + 1 && | ||
| typeof args[args.length - 1] === "object") { | ||
| const overrides = (0, properties_1.shallowCopy)(args.pop()); | ||
@@ -310,3 +321,3 @@ if (overrides.blockTag != null) { | ||
| logger.throwError("sending a transaction requires a signer", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "sendTransaction" | ||
| operation: "sendTransaction", | ||
| }); | ||
@@ -332,11 +343,18 @@ } | ||
| function getEventTag(filter) { | ||
| if (filter.address && (filter.topics == null || filter.topics.length === 0)) { | ||
| if (filter.address && | ||
| (filter.topics == null || filter.topics.length === 0)) { | ||
| return "*"; | ||
| } | ||
| return (filter.address || "*") + "@" + (filter.topics ? filter.topics.map((topic) => { | ||
| if (Array.isArray(topic)) { | ||
| return topic.join("|"); | ||
| } | ||
| return topic; | ||
| }).join(":") : ""); | ||
| return ((filter.address || "*") + | ||
| "@" + | ||
| (filter.topics | ||
| ? filter.topics | ||
| .map((topic) => { | ||
| if (Array.isArray(topic)) { | ||
| return topic.join("|"); | ||
| } | ||
| return topic; | ||
| }) | ||
| .join(":") | ||
| : "")); | ||
| } | ||
@@ -380,8 +398,7 @@ class RunningEvent { | ||
| // Reschedule it if it not "once" | ||
| return !(item.once); | ||
| return !item.once; | ||
| }); | ||
| return listenerCount; | ||
| } | ||
| prepareEvent(event) { | ||
| } | ||
| prepareEvent(event) { } | ||
| // Returns the array that will be applied to an emit | ||
@@ -405,3 +422,3 @@ getEmit(event) { | ||
| const filter = { | ||
| address: address | ||
| address: address, | ||
| }; | ||
@@ -507,3 +524,3 @@ let topic = contractInterface.getEventTopic(fragment); | ||
| address: this.address, | ||
| topics: this.interface.encodeFilterTopics(event, args) | ||
| topics: this.interface.encodeFilterTopics(event, args), | ||
| }; | ||
@@ -542,3 +559,3 @@ }); | ||
| logger.throwError("provider is required to use ENS name as contract address", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "new Contract" | ||
| operation: "new Contract", | ||
| }); | ||
@@ -635,3 +652,5 @@ } | ||
| if (this.deployTransaction) { | ||
| this._deployedPromise = this.deployTransaction.wait().then(() => { | ||
| this._deployedPromise = this.deployTransaction | ||
| .wait() | ||
| .then(() => { | ||
| return this; | ||
@@ -644,7 +663,9 @@ }); | ||
| // Otherwise, poll for our code to be deployed | ||
| this._deployedPromise = this.provider.getCode(this.address, blockTag).then((code) => { | ||
| this._deployedPromise = this.provider | ||
| .getCode(this.address, blockTag) | ||
| .then((code) => { | ||
| if (code === "0x") { | ||
| logger.throwError("contract not deployed", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { | ||
| contractAddress: this.address, | ||
| operation: "getDeployed" | ||
| operation: "getDeployed", | ||
| }); | ||
@@ -680,3 +701,3 @@ } | ||
| connect(signerOrProvider) { | ||
| if (typeof (signerOrProvider) === "string") { | ||
| if (typeof signerOrProvider === "string") { | ||
| signerOrProvider = new abstract_signer_1.VoidSigner(signerOrProvider, this.provider); | ||
@@ -692,3 +713,3 @@ } | ||
| attach(addressOrName) { | ||
| return new (this.constructor)(addressOrName, this.interface, this.signer || this.provider); | ||
| return new this.constructor(addressOrName, this.interface, this.signer || this.provider); | ||
| } | ||
@@ -706,3 +727,3 @@ static isIndexed(value) { | ||
| _getRunningEvent(eventName) { | ||
| if (typeof (eventName) === "string") { | ||
| if (typeof eventName === "string") { | ||
| // Listen for "error" events (if your contract has an error event, include | ||
@@ -730,3 +751,3 @@ // the full signature to bypass this special event keyword) | ||
| const topic = eventName.topics[0]; | ||
| if (typeof (topic) !== "string") { | ||
| if (typeof topic !== "string") { | ||
| throw new Error("invalid topic"); // @TODO: May happen for anonymous events | ||
@@ -741,3 +762,3 @@ } | ||
| address: this.address, | ||
| topics: eventName.topics | ||
| topics: eventName.topics, | ||
| }; | ||
@@ -770,5 +791,11 @@ return this._normalizeRunningEvent(new RunningEvent(getEventTag(filter), filter)); | ||
| }; | ||
| event.getBlock = () => { return this.provider.getBlock(log.blockHash); }; | ||
| event.getTransaction = () => { return this.provider.getTransaction(log.transactionHash); }; | ||
| event.getTransactionReceipt = () => { return this.provider.getTransactionReceipt(log.transactionHash); }; | ||
| event.getBlock = () => { | ||
| return this.provider.getBlock(log.blockHash); | ||
| }; | ||
| event.getTransaction = () => { | ||
| return this.provider.getTransaction(log.transactionHash); | ||
| }; | ||
| event.getTransactionReceipt = () => { | ||
| return this.provider.getTransactionReceipt(log.transactionHash); | ||
| }; | ||
| // This may throw if the topics and data mismatch the signature | ||
@@ -818,3 +845,4 @@ runningEvent.prepareEvent(event); | ||
| const filter = (0, properties_1.shallowCopy)(runningEvent.filter); | ||
| if (typeof (fromBlockOrBlockhash) === "string" && (0, bytes_1.isHexString)(fromBlockOrBlockhash, 32)) { | ||
| if (typeof fromBlockOrBlockhash === "string" && | ||
| (0, bytes_1.isHexString)(fromBlockOrBlockhash, 32)) { | ||
| if (toBlock != null) { | ||
@@ -826,4 +854,5 @@ logger.throwArgumentError("cannot specify toBlock with blockhash", "toBlock", toBlock); | ||
| else { | ||
| filter.fromBlock = ((fromBlockOrBlockhash != null) ? fromBlockOrBlockhash : 0); | ||
| filter.toBlock = ((toBlock != null) ? toBlock : "latest"); | ||
| filter.fromBlock = | ||
| fromBlockOrBlockhash != null ? fromBlockOrBlockhash : 0; | ||
| filter.toBlock = toBlock != null ? toBlock : "latest"; | ||
| } | ||
@@ -847,3 +876,3 @@ return this.provider.getLogs(filter).then((logs) => { | ||
| const runningEvent = this._getRunningEvent(eventName); | ||
| const result = (runningEvent.run(args) > 0); | ||
| const result = runningEvent.run(args) > 0; | ||
| // May have drained all the "once" events; check for living events | ||
@@ -917,3 +946,3 @@ this._checkRunningEvents(runningEvent); | ||
| let bytecodeHex = null; | ||
| if (typeof (bytecode) === "string") { | ||
| if (typeof bytecode === "string") { | ||
| bytecodeHex = bytecode; | ||
@@ -924,3 +953,3 @@ } | ||
| } | ||
| else if (bytecode && typeof (bytecode.object) === "string") { | ||
| else if (bytecode && typeof bytecode.object === "string") { | ||
| // Allow the bytecode object from the Solidity compiler | ||
@@ -938,3 +967,3 @@ bytecodeHex = bytecode.object; | ||
| // Make sure the final result is valid bytecode | ||
| if (!(0, bytes_1.isHexString)(bytecodeHex) || (bytecodeHex.length % 2)) { | ||
| if (!(0, bytes_1.isHexString)(bytecodeHex) || bytecodeHex.length % 2) { | ||
| logger.throwArgumentError("invalid bytecode", "bytecode", bytecode); | ||
@@ -954,3 +983,4 @@ } | ||
| // If we have 1 additional argument, we allow transaction overrides | ||
| if (args.length === this.interface.deploy.inputs.length + 1 && typeof (args[args.length - 1]) === "object") { | ||
| if (args.length === this.interface.deploy.inputs.length + 1 && | ||
| typeof args[args.length - 1] === "object") { | ||
| tx = (0, properties_1.shallowCopy)(args.pop()); | ||
@@ -975,3 +1005,3 @@ for (const key in tx) { | ||
| operation: "overrides.value", | ||
| value: tx.value | ||
| value: tx.value, | ||
| }); | ||
@@ -983,6 +1013,3 @@ } | ||
| // Set the data to the bytecode + the encoded constructor arguments | ||
| tx.data = (0, bytes_1.hexlify)((0, bytes_1.concat)([ | ||
| this.bytecode, | ||
| this.interface.encodeDeploy(args) | ||
| ])); | ||
| tx.data = (0, bytes_1.hexlify)((0, bytes_1.concat)([this.bytecode, this.interface.encodeDeploy(args)])); | ||
| return tx; | ||
@@ -1013,3 +1040,3 @@ } | ||
| attach(address) { | ||
| return (this.constructor).getContract(address, this.interface, this.signer); | ||
| return this.constructor.getContract(address, this.interface, this.signer); | ||
| } | ||
@@ -1019,7 +1046,7 @@ connect(signer) { | ||
| } | ||
| static fromSolidity(compilerOutput, signer) { | ||
| static fromPurity(compilerOutput, signer) { | ||
| if (compilerOutput == null) { | ||
| logger.throwError("missing compiler output", logger_1.Logger.errors.MISSING_ARGUMENT, { argument: "compilerOutput" }); | ||
| } | ||
| if (typeof (compilerOutput) === "string") { | ||
| if (typeof compilerOutput === "string") { | ||
| compilerOutput = JSON.parse(compilerOutput); | ||
@@ -1026,0 +1053,0 @@ } |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":"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"} |
+36
-32
| { | ||
| "author": "Eugene Kuleshov", | ||
| "dependencies": { | ||
| "@qevm/abi": "^5.7.0", | ||
| "@qevm/abstract-provider": "^5.7.0", | ||
| "@qevm/abstract-signer": "^5.7.1", | ||
| "@qevm/address": "^5.7.0", | ||
| "@qevm/bignumber": "^5.7.0", | ||
| "@qevm/bytes": "5.7.1", | ||
| "@qevm/constants": "^5.7.0", | ||
| "@ethersproject/logger": "^5.7.0", | ||
| "@ethersproject/properties": "^5.7.0", | ||
| "@qevm/transactions": "^5.7.1" | ||
| }, | ||
| "description": "Contract abstraction meta-class for qethers.", | ||
| "keywords": [ | ||
| "qEthereum", | ||
| "qethers" | ||
| ], | ||
| "license": "MIT", | ||
| "main": "./lib/index.js", | ||
| "module": "./lib.esm/index.js", | ||
| "name": "@qevm/contracts", | ||
| "publishConfig": { | ||
| "access": "public" | ||
| }, | ||
| "scripts": { | ||
| "test": "echo \"Error: no test specified\" && exit 1" | ||
| }, | ||
| "sideEffects": false, | ||
| "tarballHash": "0x186a0093d358545fe0bf9282147dc719ccce205447b02766489e395d0b8af9fc", | ||
| "types": "./lib/index.d.ts", | ||
| "version": "5.7.2" | ||
| "contributors": [ | ||
| "Eugene Kuleshov <kulevgen32@gmail.com>", | ||
| "Richard Moore <me@ricmoo.com>" | ||
| ], | ||
| "dependencies": { | ||
| "@qevm/abi": "^5.7.3", | ||
| "@qevm/abstract-provider": "^5.7.4", | ||
| "@qevm/abstract-signer": "^5.7.3", | ||
| "@qevm/address": "^5.7.3", | ||
| "@qevm/bignumber": "^5.7.1", | ||
| "@qevm/bytes": "^5.7.2", | ||
| "@qevm/constants": "^5.7.2", | ||
| "@qevm/logger": "^5.7.1", | ||
| "@qevm/properties": "^5.7.1", | ||
| "@qevm/transactions": "^5.7.3" | ||
| }, | ||
| "description": "Contract abstraction meta-class for qethers.", | ||
| "keywords": [ | ||
| "QEVM", | ||
| "QuantumEVM", | ||
| "qethers" | ||
| ], | ||
| "license": "MIT", | ||
| "main": "./lib/index.js", | ||
| "module": "./lib.esm/index.js", | ||
| "name": "@qevm/contracts", | ||
| "publishConfig": { | ||
| "access": "public" | ||
| }, | ||
| "scripts": { | ||
| "test": "echo \"Error: no test specified\" && exit 1" | ||
| }, | ||
| "sideEffects": false, | ||
| "tarballHash": "0x186a0093d358545fe0bf9282147dc719ccce205447b02766489e395d0b8af9fc", | ||
| "types": "./lib/index.d.ts", | ||
| "version": "5.7.3" | ||
| } |
+4
-5
@@ -1,5 +0,5 @@ | ||
| Ethereum Contract Meta-Class | ||
| QuantumEVM Contract Meta-Class | ||
| ============================ | ||
| This sub-module is part of the [ethers project](https://github.com/ethers-io/ethers.js). | ||
| This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js). | ||
@@ -11,3 +11,2 @@ It is creating (at run-time) an object which interacts with an on-chain | ||
| For more information, see the [documentation](https://docs.ethers.io/v5/api/contract/). | ||
@@ -17,3 +16,3 @@ Importing | ||
| Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/ethers), | ||
| Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers), | ||
| but for those with more specific needs, individual components can be imported. | ||
@@ -47,3 +46,3 @@ | ||
| } = require("@ethersproject/contracts"); | ||
| } = require("@qevm/contracts"); | ||
| ``` | ||
@@ -50,0 +49,0 @@ |
@@ -1,1 +0,1 @@ | ||
| export const version = "contracts/5.7.0"; | ||
| export const version = "contracts/5.7.3"; |
+695
-273
| "use strict"; | ||
| import { checkResultErrors, EventFragment, Fragment, FunctionFragment, Indexed, Interface, JsonFragment, LogDescription, ParamType, Result } from "@qevm/abi"; | ||
| import { Block, BlockTag, Filter, FilterByBlockHash, Listener, Log, Provider, TransactionReceipt, TransactionRequest, TransactionResponse } from "@qevm/abstract-provider"; | ||
| import { | ||
| checkResultErrors, | ||
| EventFragment, | ||
| Fragment, | ||
| FunctionFragment, | ||
| Indexed, | ||
| Interface, | ||
| JsonFragment, | ||
| LogDescription, | ||
| ParamType, | ||
| Result, | ||
| } from "@qevm/abi"; | ||
| import { | ||
| Block, | ||
| BlockTag, | ||
| Filter, | ||
| FilterByBlockHash, | ||
| Listener, | ||
| Log, | ||
| Provider, | ||
| TransactionReceipt, | ||
| TransactionRequest, | ||
| TransactionResponse, | ||
| } from "@qevm/abstract-provider"; | ||
| import { Signer, VoidSigner } from "@qevm/abstract-signer"; | ||
| import { getAddress, getContractAddress } from "@qevm/address"; | ||
| import { BigNumber, BigNumberish } from "@qevm/bignumber"; | ||
| import { arrayify, BytesLike, concat, hexlify, isBytes, isHexString } from "@qevm/bytes"; | ||
| import { Deferrable, defineReadOnly, deepCopy, getStatic, resolveProperties, shallowCopy } from "@ethersproject/properties"; | ||
| import { | ||
| arrayify, | ||
| BytesLike, | ||
| concat, | ||
| hexlify, | ||
| isBytes, | ||
| isHexString, | ||
| } from "@qevm/bytes"; | ||
| import { | ||
| Deferrable, | ||
| defineReadOnly, | ||
| deepCopy, | ||
| getStatic, | ||
| resolveProperties, | ||
| shallowCopy, | ||
| } from "@qevm/properties"; | ||
| import { AccessList, accessListify, AccessListish } from "@qevm/transactions"; | ||
| import { Logger } from "@ethersproject/logger"; | ||
| import { Logger } from "@qevm/logger"; | ||
| import { version } from "./_version"; | ||
@@ -27,3 +63,3 @@ | ||
| ccipReadEnabled?: boolean; | ||
| }; | ||
| } | ||
@@ -64,16 +100,13 @@ export interface PayableOverrides extends Overrides { | ||
| ccipReadEnabled?: boolean; | ||
| }; | ||
| } | ||
| export type EventFilter = { | ||
| address?: string; | ||
| topics?: Array<string|Array<string>>; | ||
| topics?: Array<string | Array<string>>; | ||
| }; | ||
| export type ContractFunction<T = any> = (...args: Array<any>) => Promise<T>; | ||
| // The (n + 1)th parameter passed to contract event callbacks | ||
| export interface Event extends Log { | ||
| // The event name | ||
@@ -113,14 +146,26 @@ event?: string; | ||
| const allowedTransactionKeys: { [ key: string ]: boolean } = { | ||
| chainId: true, data: true, from: true, gasLimit: true, gasPrice:true, nonce: true, to: true, value: true, | ||
| type: true, accessList: true, | ||
| maxFeePerGas: true, maxPriorityFeePerGas: true, | ||
| const allowedTransactionKeys: { [key: string]: boolean } = { | ||
| chainId: true, | ||
| data: true, | ||
| from: true, | ||
| gasLimit: true, | ||
| gasPrice: true, | ||
| nonce: true, | ||
| to: true, | ||
| value: true, | ||
| type: true, | ||
| accessList: true, | ||
| maxFeePerGas: true, | ||
| maxPriorityFeePerGas: true, | ||
| customData: true, | ||
| ccipReadEnabled: true | ||
| } | ||
| ccipReadEnabled: true, | ||
| }; | ||
| async function resolveName(resolver: Signer | Provider, nameOrPromise: string | Promise<string>): Promise<string> { | ||
| async function resolveName( | ||
| resolver: Signer | Provider, | ||
| nameOrPromise: string | Promise<string>, | ||
| ): Promise<string> { | ||
| const name = await nameOrPromise; | ||
| if (typeof(name) !== "string") { | ||
| if (typeof name !== "string") { | ||
| logger.throwArgumentError("invalid address or ENS name", "name", name); | ||
@@ -132,8 +177,12 @@ } | ||
| return getAddress(name); | ||
| } catch (error) { } | ||
| } catch (error) {} | ||
| if (!resolver) { | ||
| logger.throwError("a provider or signer is needed to resolve ENS names", Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "resolveName" | ||
| }); | ||
| logger.throwError( | ||
| "a provider or signer is needed to resolve ENS names", | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { | ||
| operation: "resolveName", | ||
| }, | ||
| ); | ||
| } | ||
@@ -144,3 +193,7 @@ | ||
| if (address == null) { | ||
| logger.throwArgumentError("resolver or addr is not configured for ENS name", "name", name); | ||
| logger.throwArgumentError( | ||
| "resolver or addr is not configured for ENS name", | ||
| "name", | ||
| name, | ||
| ); | ||
| } | ||
@@ -152,11 +205,17 @@ | ||
| // Recursively replaces ENS names with promises to resolve the name and resolves all properties | ||
| async function resolveAddresses(resolver: Signer | Provider, value: any, paramType: ParamType | Array<ParamType>): Promise<any> { | ||
| async function resolveAddresses( | ||
| resolver: Signer | Provider, | ||
| value: any, | ||
| paramType: ParamType | Array<ParamType>, | ||
| ): Promise<any> { | ||
| if (Array.isArray(paramType)) { | ||
| return await Promise.all(paramType.map((paramType, index) => { | ||
| return resolveAddresses( | ||
| resolver, | ||
| ((Array.isArray(value)) ? value[index]: value[paramType.name]), | ||
| paramType | ||
| ); | ||
| })); | ||
| return await Promise.all( | ||
| paramType.map((paramType, index) => { | ||
| return resolveAddresses( | ||
| resolver, | ||
| Array.isArray(value) ? value[index] : value[paramType.name], | ||
| paramType, | ||
| ); | ||
| }), | ||
| ); | ||
| } | ||
@@ -174,8 +233,18 @@ | ||
| if (!Array.isArray(value)) { | ||
| return Promise.reject(logger.makeError("invalid value for array", Logger.errors.INVALID_ARGUMENT, { | ||
| argument: "value", | ||
| value | ||
| })); | ||
| return Promise.reject( | ||
| logger.makeError( | ||
| "invalid value for array", | ||
| Logger.errors.INVALID_ARGUMENT, | ||
| { | ||
| argument: "value", | ||
| value, | ||
| }, | ||
| ), | ||
| ); | ||
| } | ||
| return await Promise.all(value.map((v) => resolveAddresses(resolver, v, paramType.arrayChildren))); | ||
| return await Promise.all( | ||
| value.map((v) => | ||
| resolveAddresses(resolver, v, paramType.arrayChildren), | ||
| ), | ||
| ); | ||
| } | ||
@@ -186,6 +255,13 @@ | ||
| async function populateTransaction(contract: Contract, fragment: FunctionFragment, args: Array<any>): Promise<PopulatedTransaction> { | ||
| async function populateTransaction( | ||
| contract: Contract, | ||
| fragment: FunctionFragment, | ||
| args: Array<any>, | ||
| ): Promise<PopulatedTransaction> { | ||
| // If an extra argument is given, it is overrides | ||
| let overrides: CallOverrides = { }; | ||
| if (args.length === fragment.inputs.length + 1 && typeof(args[args.length - 1]) === "object") { | ||
| let overrides: CallOverrides = {}; | ||
| if ( | ||
| args.length === fragment.inputs.length + 1 && | ||
| typeof args[args.length - 1] === "object" | ||
| ) { | ||
| overrides = shallowCopy(args.pop()); | ||
@@ -195,3 +271,7 @@ } | ||
| // Make sure the parameter count matches | ||
| logger.checkArgumentCount(args.length, fragment.inputs.length, "passed to contract"); | ||
| logger.checkArgumentCount( | ||
| args.length, | ||
| fragment.inputs.length, | ||
| "passed to contract", | ||
| ); | ||
@@ -205,8 +285,12 @@ // Populate "from" override (allow promises) | ||
| override: resolveName(contract.signer, overrides.from), | ||
| signer: contract.signer.getAddress() | ||
| signer: contract.signer.getAddress(), | ||
| }).then(async (check) => { | ||
| if (getAddress(check.signer) !== check.override) { | ||
| logger.throwError("Contract with a Signer cannot override from", Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "overrides.from" | ||
| }); | ||
| logger.throwError( | ||
| "Contract with a Signer cannot override from", | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { | ||
| operation: "overrides.from", | ||
| }, | ||
| ); | ||
| } | ||
@@ -216,11 +300,9 @@ | ||
| }); | ||
| } else { | ||
| overrides.from = contract.signer.getAddress(); | ||
| } | ||
| } else if (overrides.from) { | ||
| overrides.from = resolveName(contract.provider, overrides.from); | ||
| //} else { | ||
| //} else { | ||
| // Contracts without a signer can override "from", and if | ||
@@ -233,5 +315,9 @@ // unspecified the zero address is used | ||
| const resolved = await resolveProperties({ | ||
| args: resolveAddresses(contract.signer || contract.provider, args, fragment.inputs), | ||
| args: resolveAddresses( | ||
| contract.signer || contract.provider, | ||
| args, | ||
| fragment.inputs, | ||
| ), | ||
| address: contract.resolvedAddress, | ||
| overrides: (resolveProperties(overrides) || { }) | ||
| overrides: resolveProperties(overrides) || {}, | ||
| }); | ||
@@ -242,4 +328,4 @@ | ||
| const tx: PopulatedTransaction = { | ||
| data: data, | ||
| to: resolved.address | ||
| data: data, | ||
| to: resolved.address, | ||
| }; | ||
@@ -251,11 +337,27 @@ | ||
| // Populate simple overrides | ||
| if (ro.nonce != null) { tx.nonce = BigNumber.from(ro.nonce).toNumber(); } | ||
| if (ro.gasLimit != null) { tx.gasLimit = BigNumber.from(ro.gasLimit); } | ||
| if (ro.gasPrice != null) { tx.gasPrice = BigNumber.from(ro.gasPrice); } | ||
| if (ro.maxFeePerGas != null) { tx.maxFeePerGas = BigNumber.from(ro.maxFeePerGas); } | ||
| if (ro.maxPriorityFeePerGas != null) { tx.maxPriorityFeePerGas = BigNumber.from(ro.maxPriorityFeePerGas); } | ||
| if (ro.from != null) { tx.from = ro.from; } | ||
| if (ro.nonce != null) { | ||
| tx.nonce = BigNumber.from(ro.nonce).toNumber(); | ||
| } | ||
| if (ro.gasLimit != null) { | ||
| tx.gasLimit = BigNumber.from(ro.gasLimit); | ||
| } | ||
| if (ro.gasPrice != null) { | ||
| tx.gasPrice = BigNumber.from(ro.gasPrice); | ||
| } | ||
| if (ro.maxFeePerGas != null) { | ||
| tx.maxFeePerGas = BigNumber.from(ro.maxFeePerGas); | ||
| } | ||
| if (ro.maxPriorityFeePerGas != null) { | ||
| tx.maxPriorityFeePerGas = BigNumber.from(ro.maxPriorityFeePerGas); | ||
| } | ||
| if (ro.from != null) { | ||
| tx.from = ro.from; | ||
| } | ||
| if (ro.type != null) { tx.type = ro.type; } | ||
| if (ro.accessList != null) { tx.accessList = accessListify(ro.accessList); } | ||
| if (ro.type != null) { | ||
| tx.type = ro.type; | ||
| } | ||
| if (ro.accessList != null) { | ||
| tx.accessList = accessListify(ro.accessList); | ||
| } | ||
@@ -273,3 +375,5 @@ // If there was no "gasLimit" override, but the ABI specifies a default, use it | ||
| intrinsic += 4; | ||
| if (bytes[i]) { intrinsic += 64; } | ||
| if (bytes[i]) { | ||
| intrinsic += 64; | ||
| } | ||
| } | ||
@@ -283,6 +387,10 @@ tx.gasLimit = BigNumber.from(fragment.gas).add(intrinsic); | ||
| if (!roValue.isZero() && !fragment.payable) { | ||
| logger.throwError("non-payable method cannot override value", Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "overrides.value", | ||
| value: overrides.value | ||
| }); | ||
| logger.throwError( | ||
| "non-payable method cannot override value", | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { | ||
| operation: "overrides.value", | ||
| value: overrides.value, | ||
| }, | ||
| ); | ||
| } | ||
@@ -318,8 +426,14 @@ tx.value = roValue; | ||
| // typo or using an unsupported key. | ||
| const leftovers = Object.keys(overrides).filter((key) => ((<any>overrides)[key] != null)); | ||
| const leftovers = Object.keys(overrides).filter( | ||
| (key) => (<any>overrides)[key] != null, | ||
| ); | ||
| if (leftovers.length) { | ||
| logger.throwError(`cannot override ${ leftovers.map((l) => JSON.stringify(l)).join(",") }`, Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "overrides", | ||
| overrides: leftovers | ||
| }); | ||
| logger.throwError( | ||
| `cannot override ${leftovers.map((l) => JSON.stringify(l)).join(",")}`, | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { | ||
| operation: "overrides", | ||
| overrides: leftovers, | ||
| }, | ||
| ); | ||
| } | ||
@@ -330,5 +444,7 @@ | ||
| function buildPopulate(contract: Contract, fragment: FunctionFragment): ContractFunction<PopulatedTransaction> { | ||
| return function(...args: Array<any>): Promise<PopulatedTransaction> { | ||
| function buildPopulate( | ||
| contract: Contract, | ||
| fragment: FunctionFragment, | ||
| ): ContractFunction<PopulatedTransaction> { | ||
| return function (...args: Array<any>): Promise<PopulatedTransaction> { | ||
| return populateTransaction(contract, fragment, args); | ||
@@ -338,9 +454,16 @@ }; | ||
| function buildEstimate(contract: Contract, fragment: FunctionFragment): ContractFunction<BigNumber> { | ||
| const signerOrProvider = (contract.signer || contract.provider); | ||
| return async function(...args: Array<any>): Promise<BigNumber> { | ||
| function buildEstimate( | ||
| contract: Contract, | ||
| fragment: FunctionFragment, | ||
| ): ContractFunction<BigNumber> { | ||
| const signerOrProvider = contract.signer || contract.provider; | ||
| return async function (...args: Array<any>): Promise<BigNumber> { | ||
| if (!signerOrProvider) { | ||
| logger.throwError("estimate require a provider or signer", Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "estimateGas" | ||
| }) | ||
| logger.throwError( | ||
| "estimate require a provider or signer", | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { | ||
| operation: "estimateGas", | ||
| }, | ||
| ); | ||
| } | ||
@@ -358,7 +481,7 @@ | ||
| receipt.events = receipt.logs.map((log) => { | ||
| let event: Event = (<Event>deepCopy(log)); | ||
| let event: Event = <Event>deepCopy(log); | ||
| let parsed: LogDescription = null; | ||
| try { | ||
| parsed = contract.interface.parseLog(log); | ||
| } catch (e){ } | ||
| } catch (e) {} | ||
@@ -369,3 +492,7 @@ // Successfully parsed the event log; include it | ||
| event.decode = (data: BytesLike, topics?: Array<any>) => { | ||
| return contract.interface.decodeEventLog(parsed.eventFragment, data, topics); | ||
| return contract.interface.decodeEventLog( | ||
| parsed.eventFragment, | ||
| data, | ||
| topics, | ||
| ); | ||
| }; | ||
@@ -377,12 +504,16 @@ event.event = parsed.name; | ||
| // Useful operations | ||
| event.removeListener = () => { return contract.provider; } | ||
| event.removeListener = () => { | ||
| return contract.provider; | ||
| }; | ||
| event.getBlock = () => { | ||
| return contract.provider.getBlock(receipt.blockHash); | ||
| } | ||
| }; | ||
| event.getTransaction = () => { | ||
| return contract.provider.getTransaction(receipt.transactionHash); | ||
| } | ||
| return contract.provider.getTransaction( | ||
| receipt.transactionHash, | ||
| ); | ||
| }; | ||
| event.getTransactionReceipt = () => { | ||
| return Promise.resolve(receipt); | ||
| } | ||
| }; | ||
@@ -397,9 +528,16 @@ return event; | ||
| function buildCall(contract: Contract, fragment: FunctionFragment, collapseSimple: boolean): ContractFunction { | ||
| const signerOrProvider = (contract.signer || contract.provider); | ||
| function buildCall( | ||
| contract: Contract, | ||
| fragment: FunctionFragment, | ||
| collapseSimple: boolean, | ||
| ): ContractFunction { | ||
| const signerOrProvider = contract.signer || contract.provider; | ||
| return async function(...args: Array<any>): Promise<any> { | ||
| return async function (...args: Array<any>): Promise<any> { | ||
| // Extract the "blockTag" override if present | ||
| let blockTag = undefined; | ||
| if (args.length === fragment.inputs.length + 1 && typeof(args[args.length - 1]) === "object") { | ||
| if ( | ||
| args.length === fragment.inputs.length + 1 && | ||
| typeof args[args.length - 1] === "object" | ||
| ) { | ||
| const overrides = shallowCopy(args.pop()); | ||
@@ -423,3 +561,6 @@ if (overrides.blockTag != null) { | ||
| try { | ||
| let value = contract.interface.decodeFunctionResult(fragment, result); | ||
| let value = contract.interface.decodeFunctionResult( | ||
| fragment, | ||
| result, | ||
| ); | ||
| if (collapseSimple && fragment.outputs.length === 1) { | ||
@@ -429,3 +570,2 @@ value = value[0]; | ||
| return value; | ||
| } catch (error) { | ||
@@ -438,12 +578,19 @@ if (error.code === Logger.errors.CALL_EXCEPTION) { | ||
| throw error; | ||
| } | ||
| } | ||
| }; | ||
| } | ||
| function buildSend(contract: Contract, fragment: FunctionFragment): ContractFunction<TransactionResponse> { | ||
| return async function(...args: Array<any>): Promise<TransactionResponse> { | ||
| function buildSend( | ||
| contract: Contract, | ||
| fragment: FunctionFragment, | ||
| ): ContractFunction<TransactionResponse> { | ||
| return async function (...args: Array<any>): Promise<TransactionResponse> { | ||
| if (!contract.signer) { | ||
| logger.throwError("sending a transaction requires a signer", Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "sendTransaction" | ||
| }) | ||
| logger.throwError( | ||
| "sending a transaction requires a signer", | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { | ||
| operation: "sendTransaction", | ||
| }, | ||
| ); | ||
| } | ||
@@ -467,3 +614,7 @@ | ||
| function buildDefault(contract: Contract, fragment: FunctionFragment, collapseSimple: boolean): ContractFunction { | ||
| function buildDefault( | ||
| contract: Contract, | ||
| fragment: FunctionFragment, | ||
| collapseSimple: boolean, | ||
| ): ContractFunction { | ||
| if (fragment.constant) { | ||
@@ -476,12 +627,23 @@ return buildCall(contract, fragment, collapseSimple); | ||
| function getEventTag(filter: EventFilter): string { | ||
| if (filter.address && (filter.topics == null || filter.topics.length === 0)) { | ||
| if ( | ||
| filter.address && | ||
| (filter.topics == null || filter.topics.length === 0) | ||
| ) { | ||
| return "*"; | ||
| } | ||
| return (filter.address || "*") + "@" + (filter.topics ? filter.topics.map((topic) => { | ||
| if (Array.isArray(topic)) { | ||
| return topic.join("|"); | ||
| } | ||
| return topic; | ||
| }).join(":"): ""); | ||
| return ( | ||
| (filter.address || "*") + | ||
| "@" + | ||
| (filter.topics | ||
| ? filter.topics | ||
| .map((topic) => { | ||
| if (Array.isArray(topic)) { | ||
| return topic.join("|"); | ||
| } | ||
| return topic; | ||
| }) | ||
| .join(":") | ||
| : "") | ||
| ); | ||
| } | ||
@@ -492,3 +654,3 @@ | ||
| readonly filter: EventFilter; | ||
| private _listeners: Array<{ listener: Listener, once: boolean }>; | ||
| private _listeners: Array<{ listener: Listener; once: boolean }>; | ||
@@ -498,3 +660,3 @@ constructor(tag: string, filter: EventFilter) { | ||
| defineReadOnly(this, "filter", filter); | ||
| this._listeners = [ ]; | ||
| this._listeners = []; | ||
| } | ||
@@ -509,3 +671,5 @@ | ||
| this._listeners = this._listeners.filter((item) => { | ||
| if (done || item.listener !== listener) { return true; } | ||
| if (done || item.listener !== listener) { | ||
| return true; | ||
| } | ||
| done = true; | ||
@@ -531,3 +695,2 @@ return false; | ||
| this._listeners = this._listeners.filter((item) => { | ||
| const argsCopy = args.slice(); | ||
@@ -541,3 +704,3 @@ | ||
| // Reschedule it if it not "once" | ||
| return !(item.once); | ||
| return !item.once; | ||
| }); | ||
@@ -548,8 +711,7 @@ | ||
| prepareEvent(event: Event): void { | ||
| } | ||
| prepareEvent(event: Event): void {} | ||
| // Returns the array that will be applied to an emit | ||
| getEmit(event: Event): Array<any> { | ||
| return [ event ]; | ||
| return [event]; | ||
| } | ||
@@ -564,3 +726,2 @@ } | ||
| // @TODO Fragment should inherit Wildcard? and just override getEmit? | ||
@@ -577,13 +738,20 @@ // or have a common abstract super class, with enough constructor | ||
| constructor(address: string, contractInterface: Interface, fragment: EventFragment, topics?: Array<string|Array<string>>) { | ||
| constructor( | ||
| address: string, | ||
| contractInterface: Interface, | ||
| fragment: EventFragment, | ||
| topics?: Array<string | Array<string>>, | ||
| ) { | ||
| const filter: EventFilter = { | ||
| address: address | ||
| } | ||
| address: address, | ||
| }; | ||
| let topic = contractInterface.getEventTopic(fragment); | ||
| if (topics) { | ||
| if (topic !== topics[0]) { logger.throwArgumentError("topic mismatch", "topics", topics); } | ||
| if (topic !== topics[0]) { | ||
| logger.throwArgumentError("topic mismatch", "topics", topics); | ||
| } | ||
| filter.topics = topics.slice(); | ||
| } else { | ||
| filter.topics = [ topic ]; | ||
| filter.topics = [topic]; | ||
| } | ||
@@ -597,3 +765,2 @@ | ||
| prepareEvent(event: Event): void { | ||
@@ -610,3 +777,7 @@ super.prepareEvent(event); | ||
| try { | ||
| event.args = this.interface.decodeEventLog(this.fragment, event.data, event.topics); | ||
| event.args = this.interface.decodeEventLog( | ||
| this.fragment, | ||
| event.data, | ||
| event.topics, | ||
| ); | ||
| } catch (error) { | ||
@@ -620,3 +791,5 @@ event.args = null; | ||
| const errors = checkResultErrors(event.args); | ||
| if (errors.length) { throw errors[0].error; } | ||
| if (errors.length) { | ||
| throw errors[0].error; | ||
| } | ||
@@ -653,3 +826,7 @@ const args = (event.args || []).slice(); | ||
| event.decode = (data: BytesLike, topics?: Array<string>) => { | ||
| return this.interface.decodeEventLog(parsed.eventFragment, data, topics); | ||
| return this.interface.decodeEventLog( | ||
| parsed.eventFragment, | ||
| data, | ||
| topics, | ||
| ); | ||
| }; | ||
@@ -664,7 +841,9 @@ | ||
| export type ContractInterface = string | ReadonlyArray<Fragment | JsonFragment | string> | Interface; | ||
| export type ContractInterface = | ||
| | string | ||
| | ReadonlyArray<Fragment | JsonFragment | string> | ||
| | Interface; | ||
| type InterfaceFunc = (contractInterface: ContractInterface) => Interface; | ||
| export class BaseContract { | ||
@@ -677,9 +856,11 @@ readonly address: string; | ||
| readonly functions: { [ name: string ]: ContractFunction }; | ||
| readonly functions: { [name: string]: ContractFunction }; | ||
| readonly callStatic: { [ name: string ]: ContractFunction }; | ||
| readonly estimateGas: { [ name: string ]: ContractFunction<BigNumber> }; | ||
| readonly populateTransaction: { [ name: string ]: ContractFunction<PopulatedTransaction> }; | ||
| readonly callStatic: { [name: string]: ContractFunction }; | ||
| readonly estimateGas: { [name: string]: ContractFunction<BigNumber> }; | ||
| readonly populateTransaction: { | ||
| [name: string]: ContractFunction<PopulatedTransaction>; | ||
| }; | ||
| readonly filters: { [ name: string ]: (...args: Array<any>) => EventFilter }; | ||
| readonly filters: { [name: string]: (...args: Array<any>) => EventFilter }; | ||
@@ -696,11 +877,22 @@ // This will always be an address. This will only differ from | ||
| // A list of RunningEvents to track listeners for each event tag | ||
| _runningEvents: { [ eventTag: string ]: RunningEvent }; | ||
| _runningEvents: { [eventTag: string]: RunningEvent }; | ||
| // Wrapped functions to call emit and allow deregistration from the provider | ||
| _wrappedEmits: { [ eventTag: string ]: (...args: Array<any>) => void }; | ||
| _wrappedEmits: { [eventTag: string]: (...args: Array<any>) => void }; | ||
| constructor(addressOrName: string, contractInterface: ContractInterface, signerOrProvider?: Signer | Provider) { | ||
| constructor( | ||
| addressOrName: string, | ||
| contractInterface: ContractInterface, | ||
| signerOrProvider?: Signer | Provider, | ||
| ) { | ||
| // @TODO: Maybe still check the addressOrName looks like a valid address or name? | ||
| //address = getAddress(address); | ||
| defineReadOnly(this, "interface", getStatic<InterfaceFunc>(new.target, "getInterface")(contractInterface)); | ||
| defineReadOnly( | ||
| this, | ||
| "interface", | ||
| getStatic<InterfaceFunc>( | ||
| new.target, | ||
| "getInterface", | ||
| )(contractInterface), | ||
| ); | ||
@@ -717,23 +909,36 @@ if (signerOrProvider == null) { | ||
| } else { | ||
| logger.throwArgumentError("invalid signer or provider", "signerOrProvider", signerOrProvider); | ||
| logger.throwArgumentError( | ||
| "invalid signer or provider", | ||
| "signerOrProvider", | ||
| signerOrProvider, | ||
| ); | ||
| } | ||
| defineReadOnly(this, "callStatic", { }); | ||
| defineReadOnly(this, "estimateGas", { }); | ||
| defineReadOnly(this, "functions", { }); | ||
| defineReadOnly(this, "populateTransaction", { }); | ||
| defineReadOnly(this, "callStatic", {}); | ||
| defineReadOnly(this, "estimateGas", {}); | ||
| defineReadOnly(this, "functions", {}); | ||
| defineReadOnly(this, "populateTransaction", {}); | ||
| defineReadOnly(this, "filters", { }); | ||
| defineReadOnly(this, "filters", {}); | ||
| { | ||
| const uniqueFilters: { [ name: string ]: Array<string> } = { }; | ||
| const uniqueFilters: { [name: string]: Array<string> } = {}; | ||
| Object.keys(this.interface.events).forEach((eventSignature) => { | ||
| const event = this.interface.events[eventSignature]; | ||
| defineReadOnly(this.filters, eventSignature, (...args: Array<any>) => { | ||
| return { | ||
| address: this.address, | ||
| topics: this.interface.encodeFilterTopics(event, args) | ||
| } | ||
| }); | ||
| if (!uniqueFilters[event.name]) { uniqueFilters[event.name] = [ ]; } | ||
| defineReadOnly( | ||
| this.filters, | ||
| eventSignature, | ||
| (...args: Array<any>) => { | ||
| return { | ||
| address: this.address, | ||
| topics: this.interface.encodeFilterTopics( | ||
| event, | ||
| args, | ||
| ), | ||
| }; | ||
| }, | ||
| ); | ||
| if (!uniqueFilters[event.name]) { | ||
| uniqueFilters[event.name] = []; | ||
| } | ||
| uniqueFilters[event.name].push(eventSignature); | ||
@@ -745,5 +950,11 @@ }); | ||
| if (filters.length === 1) { | ||
| defineReadOnly(this.filters, name, this.filters[filters[0]]); | ||
| defineReadOnly( | ||
| this.filters, | ||
| name, | ||
| this.filters[filters[0]], | ||
| ); | ||
| } else { | ||
| logger.warn(`Duplicate definition of ${ name } (${ filters.join(", ")})`); | ||
| logger.warn( | ||
| `Duplicate definition of ${name} (${filters.join(", ")})`, | ||
| ); | ||
| } | ||
@@ -753,7 +964,11 @@ }); | ||
| defineReadOnly(this, "_runningEvents", { }); | ||
| defineReadOnly(this, "_wrappedEmits", { }); | ||
| defineReadOnly(this, "_runningEvents", {}); | ||
| defineReadOnly(this, "_wrappedEmits", {}); | ||
| if (addressOrName == null) { | ||
| logger.throwArgumentError("invalid contract address or ENS name", "addressOrName", addressOrName); | ||
| logger.throwArgumentError( | ||
| "invalid contract address or ENS name", | ||
| "addressOrName", | ||
| addressOrName, | ||
| ); | ||
| } | ||
@@ -763,11 +978,23 @@ | ||
| if (this.provider) { | ||
| defineReadOnly(this, "resolvedAddress", resolveName(this.provider, addressOrName)); | ||
| defineReadOnly( | ||
| this, | ||
| "resolvedAddress", | ||
| resolveName(this.provider, addressOrName), | ||
| ); | ||
| } else { | ||
| try { | ||
| defineReadOnly(this, "resolvedAddress", Promise.resolve(getAddress(addressOrName))); | ||
| defineReadOnly( | ||
| this, | ||
| "resolvedAddress", | ||
| Promise.resolve(getAddress(addressOrName)), | ||
| ); | ||
| } catch (error) { | ||
| // Without a provider, we cannot use ENS names | ||
| logger.throwError("provider is required to use ENS name as contract address", Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "new Contract" | ||
| }); | ||
| logger.throwError( | ||
| "provider is required to use ENS name as contract address", | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { | ||
| operation: "new Contract", | ||
| }, | ||
| ); | ||
| } | ||
@@ -777,6 +1004,6 @@ } | ||
| // Swallow bad ENS names to prevent Unhandled Exceptions | ||
| this.resolvedAddress.catch((e) => { }); | ||
| this.resolvedAddress.catch((e) => {}); | ||
| const uniqueNames: { [ name: string ]: Array<string> } = { }; | ||
| const uniqueSignatures: { [ signature: string ]: boolean } = { }; | ||
| const uniqueNames: { [name: string]: Array<string> } = {}; | ||
| const uniqueSignatures: { [signature: string]: boolean } = {}; | ||
| Object.keys(this.interface.functions).forEach((signature) => { | ||
@@ -788,3 +1015,5 @@ const fragment = this.interface.functions[signature]; | ||
| if (uniqueSignatures[signature]) { | ||
| logger.warn(`Duplicate ABI entry for ${ JSON.stringify(signature) }`); | ||
| logger.warn( | ||
| `Duplicate ABI entry for ${JSON.stringify(signature)}`, | ||
| ); | ||
| return; | ||
@@ -798,8 +1027,14 @@ } | ||
| const name = fragment.name; | ||
| if (!uniqueNames[`%${ name }`]) { uniqueNames[`%${ name }`] = [ ]; } | ||
| uniqueNames[`%${ name }`].push(signature); | ||
| if (!uniqueNames[`%${name}`]) { | ||
| uniqueNames[`%${name}`] = []; | ||
| } | ||
| uniqueNames[`%${name}`].push(signature); | ||
| } | ||
| if ((<Contract>this)[signature] == null) { | ||
| defineReadOnly<any, any>(this, signature, buildDefault(this, fragment, true)); | ||
| defineReadOnly<any, any>( | ||
| this, | ||
| signature, | ||
| buildDefault(this, fragment, true), | ||
| ); | ||
| } | ||
@@ -811,15 +1046,31 @@ | ||
| if (this.functions[signature] == null) { | ||
| defineReadOnly(this.functions, signature, buildDefault(this, fragment, false)); | ||
| defineReadOnly( | ||
| this.functions, | ||
| signature, | ||
| buildDefault(this, fragment, false), | ||
| ); | ||
| } | ||
| if (this.callStatic[signature] == null) { | ||
| defineReadOnly(this.callStatic, signature, buildCall(this, fragment, true)); | ||
| defineReadOnly( | ||
| this.callStatic, | ||
| signature, | ||
| buildCall(this, fragment, true), | ||
| ); | ||
| } | ||
| if (this.populateTransaction[signature] == null) { | ||
| defineReadOnly(this.populateTransaction, signature, buildPopulate(this, fragment)); | ||
| defineReadOnly( | ||
| this.populateTransaction, | ||
| signature, | ||
| buildPopulate(this, fragment), | ||
| ); | ||
| } | ||
| if (this.estimateGas[signature] == null) { | ||
| defineReadOnly(this.estimateGas, signature, buildEstimate(this, fragment)); | ||
| defineReadOnly( | ||
| this.estimateGas, | ||
| signature, | ||
| buildEstimate(this, fragment), | ||
| ); | ||
| } | ||
@@ -831,3 +1082,5 @@ }); | ||
| const signatures = uniqueNames[name]; | ||
| if (signatures.length > 1) { return; } | ||
| if (signatures.length > 1) { | ||
| return; | ||
| } | ||
@@ -842,5 +1095,9 @@ // Strip off the leading "%" used for prototype protection | ||
| if ((<Contract>this)[name] == null) { | ||
| defineReadOnly(<Contract>this, name, (<Contract>this)[signature]); | ||
| defineReadOnly( | ||
| <Contract>this, | ||
| name, | ||
| (<Contract>this)[signature], | ||
| ); | ||
| } | ||
| } catch (e) { } | ||
| } catch (e) {} | ||
@@ -852,11 +1109,23 @@ if (this.functions[name] == null) { | ||
| if (this.callStatic[name] == null) { | ||
| defineReadOnly(this.callStatic, name, this.callStatic[signature]); | ||
| defineReadOnly( | ||
| this.callStatic, | ||
| name, | ||
| this.callStatic[signature], | ||
| ); | ||
| } | ||
| if (this.populateTransaction[name] == null) { | ||
| defineReadOnly(this.populateTransaction, name, this.populateTransaction[signature]); | ||
| defineReadOnly( | ||
| this.populateTransaction, | ||
| name, | ||
| this.populateTransaction[signature], | ||
| ); | ||
| } | ||
| if (this.estimateGas[name] == null) { | ||
| defineReadOnly(this.estimateGas, name, this.estimateGas[signature]); | ||
| defineReadOnly( | ||
| this.estimateGas, | ||
| name, | ||
| this.estimateGas[signature], | ||
| ); | ||
| } | ||
@@ -866,3 +1135,6 @@ }); | ||
| static getContractAddress(transaction: { from: string, nonce: BigNumberish }): string { | ||
| static getContractAddress(transaction: { | ||
| from: string; | ||
| nonce: BigNumberish; | ||
| }): string { | ||
| return getContractAddress(transaction); | ||
@@ -885,9 +1157,9 @@ } | ||
| if (!this._deployedPromise) { | ||
| // If we were just deployed, we know the transaction we should occur in | ||
| if (this.deployTransaction) { | ||
| this._deployedPromise = this.deployTransaction.wait().then(() => { | ||
| return this; | ||
| }); | ||
| this._deployedPromise = this.deployTransaction | ||
| .wait() | ||
| .then(() => { | ||
| return this; | ||
| }); | ||
| } else { | ||
@@ -898,11 +1170,17 @@ // @TODO: Once we allow a timeout to be passed in, we will wait | ||
| // Otherwise, poll for our code to be deployed | ||
| this._deployedPromise = this.provider.getCode(this.address, blockTag).then((code) => { | ||
| if (code === "0x") { | ||
| logger.throwError("contract not deployed", Logger.errors.UNSUPPORTED_OPERATION, { | ||
| contractAddress: this.address, | ||
| operation: "getDeployed" | ||
| }); | ||
| } | ||
| return this; | ||
| }); | ||
| this._deployedPromise = this.provider | ||
| .getCode(this.address, blockTag) | ||
| .then((code) => { | ||
| if (code === "0x") { | ||
| logger.throwError( | ||
| "contract not deployed", | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { | ||
| contractAddress: this.address, | ||
| operation: "getDeployed", | ||
| }, | ||
| ); | ||
| } | ||
| return this; | ||
| }); | ||
| } | ||
@@ -922,3 +1200,7 @@ } | ||
| if (!this.signer) { | ||
| logger.throwError("sending a transactions require a signer", Logger.errors.UNSUPPORTED_OPERATION, { operation: "sendTransaction(fallback)" }) | ||
| logger.throwError( | ||
| "sending a transactions require a signer", | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { operation: "sendTransaction(fallback)" }, | ||
| ); | ||
| } | ||
@@ -928,5 +1210,11 @@ | ||
| ["from", "to"].forEach(function(key) { | ||
| if ((<any>tx)[key] == null) { return; } | ||
| logger.throwError("cannot override " + key, Logger.errors.UNSUPPORTED_OPERATION, { operation: key }) | ||
| ["from", "to"].forEach(function (key) { | ||
| if ((<any>tx)[key] == null) { | ||
| return; | ||
| } | ||
| logger.throwError( | ||
| "cannot override " + key, | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { operation: key }, | ||
| ); | ||
| }); | ||
@@ -942,9 +1230,15 @@ | ||
| connect(signerOrProvider: Signer | Provider | string): Contract { | ||
| if (typeof(signerOrProvider) === "string") { | ||
| if (typeof signerOrProvider === "string") { | ||
| signerOrProvider = new VoidSigner(signerOrProvider, this.provider); | ||
| } | ||
| const contract = new (<{ new(...args: any[]): Contract }>(this.constructor))(this.address, this.interface, signerOrProvider); | ||
| const contract = new (<{ new (...args: any[]): Contract }>( | ||
| this.constructor | ||
| ))(this.address, this.interface, signerOrProvider); | ||
| if (this.deployTransaction) { | ||
| defineReadOnly(contract, "deployTransaction", this.deployTransaction); | ||
| defineReadOnly( | ||
| contract, | ||
| "deployTransaction", | ||
| this.deployTransaction, | ||
| ); | ||
| } | ||
@@ -957,3 +1251,7 @@ | ||
| attach(addressOrName: string): Contract { | ||
| return new (<{ new(...args: any[]): Contract }>(this.constructor))(addressOrName, this.interface, this.signer || this.provider); | ||
| return new (<{ new (...args: any[]): Contract }>this.constructor)( | ||
| addressOrName, | ||
| this.interface, | ||
| this.signer || this.provider, | ||
| ); | ||
| } | ||
@@ -969,9 +1267,8 @@ | ||
| return this._runningEvents[runningEvent.tag]; | ||
| } | ||
| return runningEvent | ||
| } | ||
| return runningEvent; | ||
| } | ||
| private _getRunningEvent(eventName: EventFilter | string): RunningEvent { | ||
| if (typeof(eventName) === "string") { | ||
| if (typeof eventName === "string") { | ||
| // Listen for "error" events (if your contract has an error event, include | ||
@@ -985,3 +1282,5 @@ // the full signature to bypass this special event keyword) | ||
| if (eventName === "event") { | ||
| return this._normalizeRunningEvent(new RunningEvent("event", null)); | ||
| return this._normalizeRunningEvent( | ||
| new RunningEvent("event", null), | ||
| ); | ||
| } | ||
@@ -991,8 +1290,16 @@ | ||
| if (eventName === "*") { | ||
| return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface)); | ||
| return this._normalizeRunningEvent( | ||
| new WildcardRunningEvent(this.address, this.interface), | ||
| ); | ||
| } | ||
| // Get the event Fragment (throws if ambiguous/unknown event) | ||
| const fragment = this.interface.getEvent(eventName) | ||
| return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment)); | ||
| const fragment = this.interface.getEvent(eventName); | ||
| return this._normalizeRunningEvent( | ||
| new FragmentRunningEvent( | ||
| this.address, | ||
| this.interface, | ||
| fragment, | ||
| ), | ||
| ); | ||
| } | ||
@@ -1002,12 +1309,18 @@ | ||
| if (eventName.topics && eventName.topics.length > 0) { | ||
| // Is it a known topichash? (throws if no matching topichash) | ||
| try { | ||
| const topic = eventName.topics[0]; | ||
| if (typeof(topic) !== "string") { | ||
| if (typeof topic !== "string") { | ||
| throw new Error("invalid topic"); // @TODO: May happen for anonymous events | ||
| } | ||
| const fragment = this.interface.getEvent(topic); | ||
| return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment, eventName.topics)); | ||
| } catch (error) { } | ||
| return this._normalizeRunningEvent( | ||
| new FragmentRunningEvent( | ||
| this.address, | ||
| this.interface, | ||
| fragment, | ||
| eventName.topics, | ||
| ), | ||
| ); | ||
| } catch (error) {} | ||
@@ -1017,9 +1330,13 @@ // Filter by the unknown topichash | ||
| address: this.address, | ||
| topics: eventName.topics | ||
| } | ||
| topics: eventName.topics, | ||
| }; | ||
| return this._normalizeRunningEvent(new RunningEvent(getEventTag(filter), filter)); | ||
| return this._normalizeRunningEvent( | ||
| new RunningEvent(getEventTag(filter), filter), | ||
| ); | ||
| } | ||
| return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface)); | ||
| return this._normalizeRunningEvent( | ||
| new WildcardRunningEvent(this.address, this.interface), | ||
| ); | ||
| } | ||
@@ -1042,7 +1359,13 @@ | ||
| // from parse errors if they wish | ||
| _wrapEvent(runningEvent: RunningEvent, log: Log, listener: Listener): Event { | ||
| _wrapEvent( | ||
| runningEvent: RunningEvent, | ||
| log: Log, | ||
| listener: Listener, | ||
| ): Event { | ||
| const event = <Event>deepCopy(log); | ||
| event.removeListener = () => { | ||
| if (!listener) { return; } | ||
| if (!listener) { | ||
| return; | ||
| } | ||
| runningEvent.removeListener(listener); | ||
@@ -1052,5 +1375,11 @@ this._checkRunningEvents(runningEvent); | ||
| event.getBlock = () => { return this.provider.getBlock(log.blockHash); } | ||
| event.getTransaction = () => { return this.provider.getTransaction(log.transactionHash); } | ||
| event.getTransactionReceipt = () => { return this.provider.getTransactionReceipt(log.transactionHash); } | ||
| event.getBlock = () => { | ||
| return this.provider.getBlock(log.blockHash); | ||
| }; | ||
| event.getTransaction = () => { | ||
| return this.provider.getTransaction(log.transactionHash); | ||
| }; | ||
| event.getTransactionReceipt = () => { | ||
| return this.provider.getTransactionReceipt(log.transactionHash); | ||
| }; | ||
@@ -1063,5 +1392,13 @@ // This may throw if the topics and data mismatch the signature | ||
| private _addEventListener(runningEvent: RunningEvent, listener: Listener, once: boolean): void { | ||
| private _addEventListener( | ||
| runningEvent: RunningEvent, | ||
| listener: Listener, | ||
| once: boolean, | ||
| ): void { | ||
| if (!this.provider) { | ||
| logger.throwError("events require a provider or a signer with a provider", Logger.errors.UNSUPPORTED_OPERATION, { operation: "once" }) | ||
| logger.throwError( | ||
| "events require a provider or a signer with a provider", | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { operation: "once" }, | ||
| ); | ||
| } | ||
@@ -1108,14 +1445,26 @@ | ||
| queryFilter(event: EventFilter | string, fromBlockOrBlockhash?: BlockTag | string, toBlock?: BlockTag): Promise<Array<Event>> { | ||
| queryFilter( | ||
| event: EventFilter | string, | ||
| fromBlockOrBlockhash?: BlockTag | string, | ||
| toBlock?: BlockTag, | ||
| ): Promise<Array<Event>> { | ||
| const runningEvent = this._getRunningEvent(event); | ||
| const filter = shallowCopy(runningEvent.filter); | ||
| if (typeof(fromBlockOrBlockhash) === "string" && isHexString(fromBlockOrBlockhash, 32)) { | ||
| if ( | ||
| typeof fromBlockOrBlockhash === "string" && | ||
| isHexString(fromBlockOrBlockhash, 32) | ||
| ) { | ||
| if (toBlock != null) { | ||
| logger.throwArgumentError("cannot specify toBlock with blockhash", "toBlock", toBlock); | ||
| logger.throwArgumentError( | ||
| "cannot specify toBlock with blockhash", | ||
| "toBlock", | ||
| toBlock, | ||
| ); | ||
| } | ||
| (<FilterByBlockHash>filter).blockHash = fromBlockOrBlockhash; | ||
| } else { | ||
| (<Filter>filter).fromBlock = ((fromBlockOrBlockhash != null) ? fromBlockOrBlockhash: 0); | ||
| (<Filter>filter).toBlock = ((toBlock != null) ? toBlock: "latest"); | ||
| (<Filter>filter).fromBlock = | ||
| fromBlockOrBlockhash != null ? fromBlockOrBlockhash : 0; | ||
| (<Filter>filter).toBlock = toBlock != null ? toBlock : "latest"; | ||
| } | ||
@@ -1139,6 +1488,8 @@ | ||
| emit(eventName: EventFilter | string, ...args: Array<any>): boolean { | ||
| if (!this.provider) { return false; } | ||
| if (!this.provider) { | ||
| return false; | ||
| } | ||
| const runningEvent = this._getRunningEvent(eventName); | ||
| const result = (runningEvent.run(args) > 0); | ||
| const result = runningEvent.run(args) > 0; | ||
@@ -1152,3 +1503,5 @@ // May have drained all the "once" events; check for living events | ||
| listenerCount(eventName?: EventFilter | string): number { | ||
| if (!this.provider) { return 0; } | ||
| if (!this.provider) { | ||
| return 0; | ||
| } | ||
| if (eventName == null) { | ||
@@ -1163,9 +1516,11 @@ return Object.keys(this._runningEvents).reduce((accum, key) => { | ||
| listeners(eventName?: EventFilter | string): Array<Listener> { | ||
| if (!this.provider) { return []; } | ||
| if (!this.provider) { | ||
| return []; | ||
| } | ||
| if (eventName == null) { | ||
| const result: Array<Listener> = [ ]; | ||
| const result: Array<Listener> = []; | ||
| for (let tag in this._runningEvents) { | ||
| this._runningEvents[tag].listeners().forEach((listener) => { | ||
| result.push(listener) | ||
| result.push(listener); | ||
| }); | ||
@@ -1180,3 +1535,5 @@ } | ||
| removeAllListeners(eventName?: EventFilter | string): this { | ||
| if (!this.provider) { return this; } | ||
| if (!this.provider) { | ||
| return this; | ||
| } | ||
@@ -1201,3 +1558,5 @@ if (eventName == null) { | ||
| off(eventName: EventFilter | string, listener: Listener): this { | ||
| if (!this.provider) { return this; } | ||
| if (!this.provider) { | ||
| return this; | ||
| } | ||
| const runningEvent = this._getRunningEvent(eventName); | ||
@@ -1212,3 +1571,2 @@ runningEvent.removeListener(listener); | ||
| } | ||
| } | ||
@@ -1218,7 +1576,6 @@ | ||
| // The meta-class properties | ||
| readonly [ key: string ]: ContractFunction | any; | ||
| readonly [key: string]: ContractFunction | any; | ||
| } | ||
| export class ContractFactory { | ||
| readonly interface: Interface; | ||
@@ -1228,11 +1585,14 @@ readonly bytecode: string; | ||
| constructor(contractInterface: ContractInterface, bytecode: BytesLike | { object: string }, signer?: Signer) { | ||
| constructor( | ||
| contractInterface: ContractInterface, | ||
| bytecode: BytesLike | { object: string }, | ||
| signer?: Signer, | ||
| ) { | ||
| let bytecodeHex: string = null; | ||
| if (typeof(bytecode) === "string") { | ||
| if (typeof bytecode === "string") { | ||
| bytecodeHex = bytecode; | ||
| } else if (isBytes(bytecode)) { | ||
| bytecodeHex = hexlify(bytecode); | ||
| } else if (bytecode && typeof(bytecode.object) === "string") { | ||
| } else if (bytecode && typeof bytecode.object === "string") { | ||
| // Allow the bytecode object from the Solidity compiler | ||
@@ -1246,6 +1606,8 @@ bytecodeHex = (<any>bytecode).object; | ||
| // Make sure it is 0x prefixed | ||
| if (bytecodeHex.substring(0, 2) !== "0x") { bytecodeHex = "0x" + bytecodeHex; } | ||
| if (bytecodeHex.substring(0, 2) !== "0x") { | ||
| bytecodeHex = "0x" + bytecodeHex; | ||
| } | ||
| // Make sure the final result is valid bytecode | ||
| if (!isHexString(bytecodeHex) || (bytecodeHex.length % 2)) { | ||
| if (!isHexString(bytecodeHex) || bytecodeHex.length % 2) { | ||
| logger.throwArgumentError("invalid bytecode", "bytecode", bytecode); | ||
@@ -1260,3 +1622,10 @@ } | ||
| defineReadOnly(this, "bytecode", bytecodeHex); | ||
| defineReadOnly(this, "interface", getStatic<InterfaceFunc>(new.target, "getInterface")(contractInterface)); | ||
| defineReadOnly( | ||
| this, | ||
| "interface", | ||
| getStatic<InterfaceFunc>( | ||
| new.target, | ||
| "getInterface", | ||
| )(contractInterface), | ||
| ); | ||
| defineReadOnly(this, "signer", signer || null); | ||
@@ -1267,6 +1636,9 @@ } | ||
| getDeployTransaction(...args: Array<any>): TransactionRequest { | ||
| let tx: TransactionRequest = { }; | ||
| let tx: TransactionRequest = {}; | ||
| // If we have 1 additional argument, we allow transaction overrides | ||
| if (args.length === this.interface.deploy.inputs.length + 1 && typeof(args[args.length - 1]) === "object") { | ||
| if ( | ||
| args.length === this.interface.deploy.inputs.length + 1 && | ||
| typeof args[args.length - 1] === "object" | ||
| ) { | ||
| tx = shallowCopy(args.pop()); | ||
@@ -1282,4 +1654,10 @@ for (const key in tx) { | ||
| ["data", "from", "to"].forEach((key) => { | ||
| if ((<any>tx)[key] == null) { return; } | ||
| logger.throwError("cannot override " + key, Logger.errors.UNSUPPORTED_OPERATION, { operation: key }) | ||
| if ((<any>tx)[key] == null) { | ||
| return; | ||
| } | ||
| logger.throwError( | ||
| "cannot override " + key, | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { operation: key }, | ||
| ); | ||
| }); | ||
@@ -1290,6 +1668,10 @@ | ||
| if (!value.isZero() && !this.interface.deploy.payable) { | ||
| logger.throwError("non-payable constructor cannot override value", Logger.errors.UNSUPPORTED_OPERATION, { | ||
| operation: "overrides.value", | ||
| value: tx.value | ||
| }); | ||
| logger.throwError( | ||
| "non-payable constructor cannot override value", | ||
| Logger.errors.UNSUPPORTED_OPERATION, | ||
| { | ||
| operation: "overrides.value", | ||
| value: tx.value, | ||
| }, | ||
| ); | ||
| } | ||
@@ -1299,17 +1681,19 @@ } | ||
| // Make sure the call matches the constructor signature | ||
| logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, " in Contract constructor"); | ||
| logger.checkArgumentCount( | ||
| args.length, | ||
| this.interface.deploy.inputs.length, | ||
| " in Contract constructor", | ||
| ); | ||
| // Set the data to the bytecode + the encoded constructor arguments | ||
| tx.data = hexlify(concat([ | ||
| this.bytecode, | ||
| this.interface.encodeDeploy(args) | ||
| ])); | ||
| tx.data = hexlify( | ||
| concat([this.bytecode, this.interface.encodeDeploy(args)]), | ||
| ); | ||
| return tx | ||
| return tx; | ||
| } | ||
| async deploy(...args: Array<any>): Promise<Contract> { | ||
| let overrides: any = {}; | ||
| let overrides: any = { }; | ||
| // If 1 extra parameter was passed in, it contains overrides | ||
@@ -1321,6 +1705,14 @@ if (args.length === this.interface.deploy.inputs.length + 1) { | ||
| // Make sure the call matches the constructor signature | ||
| logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, " in Contract constructor"); | ||
| logger.checkArgumentCount( | ||
| args.length, | ||
| this.interface.deploy.inputs.length, | ||
| " in Contract constructor", | ||
| ); | ||
| // Resolve ENS names and promises in the arguments | ||
| const params = await resolveAddresses(this.signer, args, this.interface.deploy.inputs); | ||
| const params = await resolveAddresses( | ||
| this.signer, | ||
| args, | ||
| this.interface.deploy.inputs, | ||
| ); | ||
| params.push(overrides); | ||
@@ -1334,4 +1726,17 @@ | ||
| const address = getStatic<(tx: TransactionResponse) => string>(this.constructor, "getContractAddress")(tx); | ||
| const contract = getStatic<(address: string, contractInterface: ContractInterface, signer?: Signer) => Contract>(this.constructor, "getContract")(address, this.interface, this.signer); | ||
| const address = getStatic<(tx: TransactionResponse) => string>( | ||
| this.constructor, | ||
| "getContractAddress", | ||
| )(tx); | ||
| const contract = getStatic< | ||
| ( | ||
| address: string, | ||
| contractInterface: ContractInterface, | ||
| signer?: Signer, | ||
| ) => Contract | ||
| >(this.constructor, "getContract")( | ||
| address, | ||
| this.interface, | ||
| this.signer, | ||
| ); | ||
@@ -1346,15 +1751,25 @@ // Add the modified wait that wraps events | ||
| attach(address: string): Contract { | ||
| return (<any>(this.constructor)).getContract(address, this.interface, this.signer); | ||
| return (<any>this.constructor).getContract( | ||
| address, | ||
| this.interface, | ||
| this.signer, | ||
| ); | ||
| } | ||
| connect(signer: Signer) { | ||
| return new (<{ new(...args: any[]): ContractFactory }>(this.constructor))(this.interface, this.bytecode, signer); | ||
| return new (<{ new (...args: any[]): ContractFactory }>( | ||
| this.constructor | ||
| ))(this.interface, this.bytecode, signer); | ||
| } | ||
| static fromSolidity(compilerOutput: any, signer?: Signer): ContractFactory { | ||
| static fromPurity(compilerOutput: any, signer?: Signer): ContractFactory { | ||
| if (compilerOutput == null) { | ||
| logger.throwError("missing compiler output", Logger.errors.MISSING_ARGUMENT, { argument: "compilerOutput" }); | ||
| logger.throwError( | ||
| "missing compiler output", | ||
| Logger.errors.MISSING_ARGUMENT, | ||
| { argument: "compilerOutput" }, | ||
| ); | ||
| } | ||
| if (typeof(compilerOutput) === "string") { | ||
| if (typeof compilerOutput === "string") { | ||
| compilerOutput = JSON.parse(compilerOutput); | ||
@@ -1379,9 +1794,16 @@ } | ||
| static getContractAddress(tx: { from: string, nonce: BytesLike | BigNumber | number }): string { | ||
| static getContractAddress(tx: { | ||
| from: string; | ||
| nonce: BytesLike | BigNumber | number; | ||
| }): string { | ||
| return getContractAddress(tx); | ||
| } | ||
| static getContract(address: string, contractInterface: ContractInterface, signer?: Signer): Contract { | ||
| static getContract( | ||
| address: string, | ||
| contractInterface: ContractInterface, | ||
| signer?: Signer, | ||
| ): Contract { | ||
| return new Contract(address, contractInterface, signer); | ||
| } | ||
| } |
150302
4.25%2676
21.2%52
-1.89%+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated
Updated
Updated
Updated
Updated