@xyo-network/crypto-address-transaction-history-plugin 2.75.0 → 2.75.3
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.
- package/dist/browser/Config.d.cts +7 -0
- package/dist/browser/Config.d.cts.map +1 -0
- package/dist/browser/Plugin.d.cts +57 -0
- package/dist/browser/Plugin.d.cts.map +1 -0
- package/dist/browser/Plugin.js +4 -52
- package/dist/browser/Plugin.js.map +1 -1
- package/dist/browser/Witness.d.cts +14 -0
- package/dist/browser/Witness.d.cts.map +1 -0
- package/dist/browser/Witness.js +4 -26
- package/dist/browser/Witness.js.map +1 -1
- package/dist/browser/index.d.cts +7 -0
- package/dist/browser/index.d.cts.map +1 -0
- package/dist/browser/index.js +5 -66
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/lib/getTransactionsForAddress.d.cts +4 -0
- package/dist/browser/lib/getTransactionsForAddress.d.cts.map +1 -0
- package/dist/browser/lib/getTransactionsForAddress.js +1 -2
- package/dist/browser/lib/getTransactionsForAddress.js.map +1 -1
- package/dist/browser/lib/index.d.cts +2 -0
- package/dist/browser/lib/index.d.cts.map +1 -0
- package/dist/browser/lib/index.js +1 -22
- package/dist/browser/lib/index.js.map +1 -1
- package/dist/docs.json +22697 -0
- package/dist/node/Config.d.cts +7 -0
- package/dist/node/Config.d.cts.map +1 -0
- package/dist/node/Config.js +2 -0
- package/dist/node/Config.js.map +1 -1
- package/dist/node/Plugin.d.cts +57 -0
- package/dist/node/Plugin.d.cts.map +1 -0
- package/dist/node/Plugin.js +51 -5
- package/dist/node/Plugin.js.map +1 -1
- package/dist/node/Plugin.mjs +52 -4
- package/dist/node/Plugin.mjs.map +1 -1
- package/dist/node/Witness.d.cts +14 -0
- package/dist/node/Witness.d.cts.map +1 -0
- package/dist/node/Witness.js +28 -5
- package/dist/node/Witness.js.map +1 -1
- package/dist/node/Witness.mjs +26 -4
- package/dist/node/Witness.mjs.map +1 -1
- package/dist/node/index.d.cts +7 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.js +70 -11
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +66 -5
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/lib/getTransactionsForAddress.d.cts +4 -0
- package/dist/node/lib/getTransactionsForAddress.d.cts.map +1 -0
- package/dist/node/lib/getTransactionsForAddress.js +8 -6
- package/dist/node/lib/getTransactionsForAddress.js.map +1 -1
- package/dist/node/lib/getTransactionsForAddress.mjs +7 -6
- package/dist/node/lib/getTransactionsForAddress.mjs.map +1 -1
- package/dist/node/lib/index.d.cts +2 -0
- package/dist/node/lib/index.d.cts.map +1 -0
- package/dist/node/lib/index.js +30 -3
- package/dist/node/lib/index.js.map +1 -1
- package/dist/node/lib/index.mjs +22 -1
- package/dist/node/lib/index.mjs.map +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AddressTransactionHistoryWitnessConfigSchema } from '@xyo-network/crypto-address-transaction-history-payload-plugin';
|
|
2
|
+
import { WitnessConfig } from '@xyo-network/witness';
|
|
3
|
+
export type AddressTransactionHistoryWitnessConfig = WitnessConfig<{
|
|
4
|
+
address?: string;
|
|
5
|
+
schema: AddressTransactionHistoryWitnessConfigSchema;
|
|
6
|
+
}>;
|
|
7
|
+
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4CAA4C,EAAE,MAAM,gEAAgE,CAAA;AAC7H,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,MAAM,MAAM,sCAAsC,GAAG,aAAa,CAAC;IACjE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,4CAA4C,CAAA;CACrD,CAAC,CAAA"}
|
package/dist/node/Config.js
CHANGED
|
@@ -12,6 +12,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
12
12
|
return to;
|
|
13
13
|
};
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
|
|
16
|
+
// src/Config.ts
|
|
15
17
|
var Config_exports = {};
|
|
16
18
|
module.exports = __toCommonJS(Config_exports);
|
|
17
19
|
//# sourceMappingURL=Config.js.map
|
package/dist/node/Config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Config.ts"],"sourcesContent":["import { AddressTransactionHistoryWitnessConfigSchema } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { WitnessConfig } from '@xyo-network/witness'\n\nexport type AddressTransactionHistoryWitnessConfig = WitnessConfig<{\n address?: string\n schema: AddressTransactionHistoryWitnessConfigSchema\n}>\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/Config.ts"],"sourcesContent":["import { AddressTransactionHistoryWitnessConfigSchema } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { WitnessConfig } from '@xyo-network/witness'\n\nexport type AddressTransactionHistoryWitnessConfig = WitnessConfig<{\n address?: string\n schema: AddressTransactionHistoryWitnessConfigSchema\n}>\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { AddressTransactionHistoryWitness } from './Witness';
|
|
2
|
+
export declare const AddressTransactionHistoryPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<AddressTransactionHistoryWitness<import("@xyo-network/core").BaseParamsFields & {
|
|
3
|
+
account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
|
|
4
|
+
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<{
|
|
5
|
+
accountDerivationPath?: string | undefined;
|
|
6
|
+
readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
|
|
7
|
+
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
8
|
+
readonly name?: string | undefined;
|
|
9
|
+
readonly paging?: Record<string, {
|
|
10
|
+
size?: number | undefined;
|
|
11
|
+
}> | undefined;
|
|
12
|
+
readonly security?: {
|
|
13
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
14
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
15
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
readonly sign?: boolean | undefined;
|
|
18
|
+
readonly storeQueries?: boolean | undefined;
|
|
19
|
+
readonly timestamp?: boolean | undefined;
|
|
20
|
+
} & Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<{
|
|
21
|
+
accountDerivationPath?: string | undefined;
|
|
22
|
+
readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
|
|
23
|
+
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
24
|
+
readonly name?: string | undefined;
|
|
25
|
+
readonly paging?: Record<string, {
|
|
26
|
+
size?: number | undefined;
|
|
27
|
+
}> | undefined;
|
|
28
|
+
readonly security?: {
|
|
29
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
30
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
31
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
32
|
+
} | undefined;
|
|
33
|
+
readonly sign?: boolean | undefined;
|
|
34
|
+
readonly storeQueries?: boolean | undefined;
|
|
35
|
+
readonly timestamp?: boolean | undefined;
|
|
36
|
+
} & {
|
|
37
|
+
archivist?: string | undefined;
|
|
38
|
+
schema: "network.xyo.crypto.address.transaction.witness.config";
|
|
39
|
+
targetSet?: (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/payload-model").PayloadSet & {
|
|
40
|
+
schema: "network.xyo.payload.set";
|
|
41
|
+
}) | undefined;
|
|
42
|
+
} & {
|
|
43
|
+
address?: string | undefined;
|
|
44
|
+
schema: "network.xyo.crypto.address.transaction.witness.config";
|
|
45
|
+
}, "schema"> & {
|
|
46
|
+
schema: "network.xyo.crypto.address.transaction.witness.config";
|
|
47
|
+
}, "schema"> & {
|
|
48
|
+
schema: string;
|
|
49
|
+
}, "schema"> & {
|
|
50
|
+
schema: string;
|
|
51
|
+
};
|
|
52
|
+
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
53
|
+
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
54
|
+
} & {
|
|
55
|
+
provider?: import("@ethersproject/providers").EtherscanProvider | undefined;
|
|
56
|
+
}>>;
|
|
57
|
+
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gCAAgC,EAAE,MAAM,WAAW,CAAA;AAE5D,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASzC,CAAA"}
|
package/dist/node/Plugin.js
CHANGED
|
@@ -16,20 +16,66 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/Plugin.ts
|
|
19
21
|
var Plugin_exports = {};
|
|
20
22
|
__export(Plugin_exports, {
|
|
21
23
|
AddressTransactionHistoryPlugin: () => AddressTransactionHistoryPlugin
|
|
22
24
|
});
|
|
23
25
|
module.exports = __toCommonJS(Plugin_exports);
|
|
24
|
-
var
|
|
26
|
+
var import_crypto_address_transaction_history_payload_plugin2 = require("@xyo-network/crypto-address-transaction-history-payload-plugin");
|
|
25
27
|
var import_payload_model = require("@xyo-network/payload-model");
|
|
26
28
|
var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
|
|
30
|
+
// src/Witness.ts
|
|
31
|
+
var import_assert = require("@xylabs/assert");
|
|
32
|
+
var import_crypto_address_transaction_history_payload_plugin = require("@xyo-network/crypto-address-transaction-history-payload-plugin");
|
|
33
|
+
var import_witness = require("@xyo-network/witness");
|
|
34
|
+
|
|
35
|
+
// src/lib/getTransactionsForAddress.ts
|
|
36
|
+
var getTransactionsForAddress = async (publicAddress, provider) => {
|
|
37
|
+
const history = await provider.getHistory(publicAddress);
|
|
38
|
+
return history.map((transaction) => {
|
|
39
|
+
const {
|
|
40
|
+
gasLimit: rawGasLimit,
|
|
41
|
+
gasPrice: rawGasPrice,
|
|
42
|
+
maxFeePerGas: rawMaxFeePerGas,
|
|
43
|
+
maxPriorityFeePerGas: rawMaxPriorityFeePerGas,
|
|
44
|
+
value: rawValue
|
|
45
|
+
} = transaction;
|
|
46
|
+
const gasLimit = rawGasLimit == null ? void 0 : rawGasLimit.toString();
|
|
47
|
+
const gasPrice = rawGasPrice == null ? void 0 : rawGasPrice.toString();
|
|
48
|
+
const maxFeePerGas = rawMaxFeePerGas == null ? void 0 : rawMaxFeePerGas.toString();
|
|
49
|
+
const maxPriorityFeePerGas = rawMaxPriorityFeePerGas == null ? void 0 : rawMaxPriorityFeePerGas.toString();
|
|
50
|
+
const value = rawValue == null ? void 0 : rawValue.toString();
|
|
51
|
+
return { ...transaction, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, value };
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
// src/Witness.ts
|
|
56
|
+
var schema = import_crypto_address_transaction_history_payload_plugin.AddressTransactionHistorySchema;
|
|
57
|
+
var AddressTransactionHistoryWitness = class extends import_witness.AbstractWitness {
|
|
58
|
+
static configSchemas = [import_crypto_address_transaction_history_payload_plugin.AddressTransactionHistoryWitnessConfigSchema];
|
|
59
|
+
get provider() {
|
|
60
|
+
return (0, import_assert.assertEx)(this.params.provider, "Provider Required");
|
|
61
|
+
}
|
|
62
|
+
async observeHandler() {
|
|
63
|
+
await this.started("throw");
|
|
64
|
+
const address = (0, import_assert.assertEx)(this.config.address, "params.address is required");
|
|
65
|
+
const transactions = await getTransactionsForAddress(address, this.provider);
|
|
66
|
+
const payloads = transactions.map((transaction) => {
|
|
67
|
+
return { ...transaction, schema };
|
|
68
|
+
});
|
|
69
|
+
return payloads;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
// src/Plugin.ts
|
|
74
|
+
var AddressTransactionHistoryPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
|
|
75
|
+
{ required: { [import_crypto_address_transaction_history_payload_plugin2.AddressTransactionHistorySchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
|
|
30
76
|
{
|
|
31
77
|
witness: async (params) => {
|
|
32
|
-
const result = await
|
|
78
|
+
const result = await AddressTransactionHistoryWitness.create(params);
|
|
33
79
|
return result;
|
|
34
80
|
}
|
|
35
81
|
}
|
package/dist/node/Plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Plugin.ts"],"sourcesContent":["import { AddressTransactionHistorySchema } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { AddressTransactionHistoryWitness } from './Witness'\n\nexport const AddressTransactionHistoryPlugin = () =>\n createPayloadSetWitnessPlugin<AddressTransactionHistoryWitness>(\n { required: { [AddressTransactionHistorySchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await AddressTransactionHistoryWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/Plugin.ts","../../src/Witness.ts","../../src/lib/getTransactionsForAddress.ts"],"sourcesContent":["import { AddressTransactionHistorySchema } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { AddressTransactionHistoryWitness } from './Witness'\n\nexport const AddressTransactionHistoryPlugin = () =>\n createPayloadSetWitnessPlugin<AddressTransactionHistoryWitness>(\n { required: { [AddressTransactionHistorySchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await AddressTransactionHistoryWitness.create(params)\n return result\n },\n },\n )\n","import type { EtherscanProvider } from '@ethersproject/providers'\nimport { assertEx } from '@xylabs/assert'\nimport {\n AddressTransactionHistoryPayload,\n AddressTransactionHistorySchema,\n AddressTransactionHistoryWitnessConfigSchema,\n} from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { AbstractWitness, WitnessParams } from '@xyo-network/witness'\n\nimport { AddressTransactionHistoryWitnessConfig } from './Config'\nimport { getTransactionsForAddress } from './lib'\n\nexport type AddressTransactionHistoryWitnessParams = WitnessParams<\n AnyConfigSchema<AddressTransactionHistoryWitnessConfig>,\n {\n provider?: EtherscanProvider\n }\n>\n\nconst schema = AddressTransactionHistorySchema\n\nexport class AddressTransactionHistoryWitness<\n TParams extends AddressTransactionHistoryWitnessParams = AddressTransactionHistoryWitnessParams,\n> extends AbstractWitness<TParams> {\n static override configSchemas = [AddressTransactionHistoryWitnessConfigSchema]\n\n protected get provider() {\n return assertEx(this.params.provider, 'Provider Required')\n }\n\n protected override async observeHandler(): Promise<Payload[]> {\n await this.started('throw')\n const address = assertEx(this.config.address, 'params.address is required')\n const transactions = await getTransactionsForAddress(address, this.provider)\n const payloads = transactions.map<AddressTransactionHistoryPayload>((transaction) => {\n return { ...transaction, schema }\n })\n return payloads\n }\n}\n","import type { EtherscanProvider } from '@ethersproject/providers'\nimport { Transaction } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\n\nexport const getTransactionsForAddress = async (\n /**\n * The address of the wallet to search for NFTs\n */\n publicAddress: string,\n /**\n * The ethers provider to use to search\n */\n provider: EtherscanProvider,\n): Promise<Transaction[]> => {\n const history = await provider.getHistory(publicAddress)\n return history.map<Transaction>((transaction) => {\n const {\n gasLimit: rawGasLimit,\n gasPrice: rawGasPrice,\n maxFeePerGas: rawMaxFeePerGas,\n maxPriorityFeePerGas: rawMaxPriorityFeePerGas,\n value: rawValue,\n } = transaction\n const gasLimit = rawGasLimit?.toString()\n const gasPrice = rawGasPrice?.toString()\n const maxFeePerGas = rawMaxFeePerGas?.toString()\n const maxPriorityFeePerGas = rawMaxPriorityFeePerGas?.toString()\n const value = rawValue?.toString()\n return { ...transaction, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, value }\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,4DAAgD;AAChD,2BAAiC;AACjC,+BAA8C;;;ACD9C,oBAAyB;AACzB,+DAIO;AAGP,qBAA+C;;;ACNxC,IAAM,4BAA4B,OAIvC,eAIA,aAC2B;AAC3B,QAAM,UAAU,MAAM,SAAS,WAAW,aAAa;AACvD,SAAO,QAAQ,IAAiB,CAAC,gBAAgB;AAC/C,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,cAAc;AAAA,MACd,sBAAsB;AAAA,MACtB,OAAO;AAAA,IACT,IAAI;AACJ,UAAM,WAAW,2CAAa;AAC9B,UAAM,WAAW,2CAAa;AAC9B,UAAM,eAAe,mDAAiB;AACtC,UAAM,uBAAuB,mEAAyB;AACtD,UAAM,QAAQ,qCAAU;AACxB,WAAO,EAAE,GAAG,aAAa,UAAU,UAAU,cAAc,sBAAsB,MAAM;AAAA,EACzF,CAAC;AACH;;;ADRA,IAAM,SAAS;AAER,IAAM,mCAAN,cAEG,+BAAyB;AAAA,EACjC,OAAgB,gBAAgB,CAAC,qGAA4C;AAAA,EAE7E,IAAc,WAAW;AACvB,eAAO,wBAAS,KAAK,OAAO,UAAU,mBAAmB;AAAA,EAC3D;AAAA,EAEA,MAAyB,iBAAqC;AAC5D,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,cAAU,wBAAS,KAAK,OAAO,SAAS,4BAA4B;AAC1E,UAAM,eAAe,MAAM,0BAA0B,SAAS,KAAK,QAAQ;AAC3E,UAAM,WAAW,aAAa,IAAsC,CAAC,gBAAgB;AACnF,aAAO,EAAE,GAAG,aAAa,OAAO;AAAA,IAClC,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;ADnCO,IAAM,kCAAkC,UAC7C;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,yFAA+B,GAAG,EAAE,GAAG,QAAQ,sCAAiB;AAAA,EAC/E;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,iCAAiC,OAAO,MAAM;AACnE,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["import_crypto_address_transaction_history_payload_plugin"]}
|
package/dist/node/Plugin.mjs
CHANGED
|
@@ -1,9 +1,57 @@
|
|
|
1
|
-
|
|
1
|
+
// src/Plugin.ts
|
|
2
|
+
import { AddressTransactionHistorySchema as AddressTransactionHistorySchema2 } from "@xyo-network/crypto-address-transaction-history-payload-plugin";
|
|
2
3
|
import { PayloadSetSchema } from "@xyo-network/payload-model";
|
|
3
4
|
import { createPayloadSetWitnessPlugin } from "@xyo-network/payloadset-plugin";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
// src/Witness.ts
|
|
7
|
+
import { assertEx } from "@xylabs/assert";
|
|
8
|
+
import {
|
|
9
|
+
AddressTransactionHistorySchema,
|
|
10
|
+
AddressTransactionHistoryWitnessConfigSchema
|
|
11
|
+
} from "@xyo-network/crypto-address-transaction-history-payload-plugin";
|
|
12
|
+
import { AbstractWitness } from "@xyo-network/witness";
|
|
13
|
+
|
|
14
|
+
// src/lib/getTransactionsForAddress.ts
|
|
15
|
+
var getTransactionsForAddress = async (publicAddress, provider) => {
|
|
16
|
+
const history = await provider.getHistory(publicAddress);
|
|
17
|
+
return history.map((transaction) => {
|
|
18
|
+
const {
|
|
19
|
+
gasLimit: rawGasLimit,
|
|
20
|
+
gasPrice: rawGasPrice,
|
|
21
|
+
maxFeePerGas: rawMaxFeePerGas,
|
|
22
|
+
maxPriorityFeePerGas: rawMaxPriorityFeePerGas,
|
|
23
|
+
value: rawValue
|
|
24
|
+
} = transaction;
|
|
25
|
+
const gasLimit = rawGasLimit == null ? void 0 : rawGasLimit.toString();
|
|
26
|
+
const gasPrice = rawGasPrice == null ? void 0 : rawGasPrice.toString();
|
|
27
|
+
const maxFeePerGas = rawMaxFeePerGas == null ? void 0 : rawMaxFeePerGas.toString();
|
|
28
|
+
const maxPriorityFeePerGas = rawMaxPriorityFeePerGas == null ? void 0 : rawMaxPriorityFeePerGas.toString();
|
|
29
|
+
const value = rawValue == null ? void 0 : rawValue.toString();
|
|
30
|
+
return { ...transaction, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, value };
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// src/Witness.ts
|
|
35
|
+
var schema = AddressTransactionHistorySchema;
|
|
36
|
+
var AddressTransactionHistoryWitness = class extends AbstractWitness {
|
|
37
|
+
static configSchemas = [AddressTransactionHistoryWitnessConfigSchema];
|
|
38
|
+
get provider() {
|
|
39
|
+
return assertEx(this.params.provider, "Provider Required");
|
|
40
|
+
}
|
|
41
|
+
async observeHandler() {
|
|
42
|
+
await this.started("throw");
|
|
43
|
+
const address = assertEx(this.config.address, "params.address is required");
|
|
44
|
+
const transactions = await getTransactionsForAddress(address, this.provider);
|
|
45
|
+
const payloads = transactions.map((transaction) => {
|
|
46
|
+
return { ...transaction, schema };
|
|
47
|
+
});
|
|
48
|
+
return payloads;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// src/Plugin.ts
|
|
53
|
+
var AddressTransactionHistoryPlugin = () => createPayloadSetWitnessPlugin(
|
|
54
|
+
{ required: { [AddressTransactionHistorySchema2]: 1 }, schema: PayloadSetSchema },
|
|
7
55
|
{
|
|
8
56
|
witness: async (params) => {
|
|
9
57
|
const result = await AddressTransactionHistoryWitness.create(params);
|
package/dist/node/Plugin.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Plugin.ts"],"sourcesContent":["import { AddressTransactionHistorySchema } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { AddressTransactionHistoryWitness } from './Witness'\n\nexport const AddressTransactionHistoryPlugin = () =>\n createPayloadSetWitnessPlugin<AddressTransactionHistoryWitness>(\n { required: { [AddressTransactionHistorySchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await AddressTransactionHistoryWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":"AAAA,SAAS,
|
|
1
|
+
{"version":3,"sources":["../../src/Plugin.ts","../../src/Witness.ts","../../src/lib/getTransactionsForAddress.ts"],"sourcesContent":["import { AddressTransactionHistorySchema } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { AddressTransactionHistoryWitness } from './Witness'\n\nexport const AddressTransactionHistoryPlugin = () =>\n createPayloadSetWitnessPlugin<AddressTransactionHistoryWitness>(\n { required: { [AddressTransactionHistorySchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await AddressTransactionHistoryWitness.create(params)\n return result\n },\n },\n )\n","import type { EtherscanProvider } from '@ethersproject/providers'\nimport { assertEx } from '@xylabs/assert'\nimport {\n AddressTransactionHistoryPayload,\n AddressTransactionHistorySchema,\n AddressTransactionHistoryWitnessConfigSchema,\n} from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { AbstractWitness, WitnessParams } from '@xyo-network/witness'\n\nimport { AddressTransactionHistoryWitnessConfig } from './Config'\nimport { getTransactionsForAddress } from './lib'\n\nexport type AddressTransactionHistoryWitnessParams = WitnessParams<\n AnyConfigSchema<AddressTransactionHistoryWitnessConfig>,\n {\n provider?: EtherscanProvider\n }\n>\n\nconst schema = AddressTransactionHistorySchema\n\nexport class AddressTransactionHistoryWitness<\n TParams extends AddressTransactionHistoryWitnessParams = AddressTransactionHistoryWitnessParams,\n> extends AbstractWitness<TParams> {\n static override configSchemas = [AddressTransactionHistoryWitnessConfigSchema]\n\n protected get provider() {\n return assertEx(this.params.provider, 'Provider Required')\n }\n\n protected override async observeHandler(): Promise<Payload[]> {\n await this.started('throw')\n const address = assertEx(this.config.address, 'params.address is required')\n const transactions = await getTransactionsForAddress(address, this.provider)\n const payloads = transactions.map<AddressTransactionHistoryPayload>((transaction) => {\n return { ...transaction, schema }\n })\n return payloads\n }\n}\n","import type { EtherscanProvider } from '@ethersproject/providers'\nimport { Transaction } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\n\nexport const getTransactionsForAddress = async (\n /**\n * The address of the wallet to search for NFTs\n */\n publicAddress: string,\n /**\n * The ethers provider to use to search\n */\n provider: EtherscanProvider,\n): Promise<Transaction[]> => {\n const history = await provider.getHistory(publicAddress)\n return history.map<Transaction>((transaction) => {\n const {\n gasLimit: rawGasLimit,\n gasPrice: rawGasPrice,\n maxFeePerGas: rawMaxFeePerGas,\n maxPriorityFeePerGas: rawMaxPriorityFeePerGas,\n value: rawValue,\n } = transaction\n const gasLimit = rawGasLimit?.toString()\n const gasPrice = rawGasPrice?.toString()\n const maxFeePerGas = rawMaxFeePerGas?.toString()\n const maxPriorityFeePerGas = rawMaxPriorityFeePerGas?.toString()\n const value = rawValue?.toString()\n return { ...transaction, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, value }\n })\n}\n"],"mappings":";AAAA,SAAS,mCAAAA,wCAAuC;AAChD,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACD9C,SAAS,gBAAgB;AACzB;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AAGP,SAAS,uBAAsC;;;ACNxC,IAAM,4BAA4B,OAIvC,eAIA,aAC2B;AAC3B,QAAM,UAAU,MAAM,SAAS,WAAW,aAAa;AACvD,SAAO,QAAQ,IAAiB,CAAC,gBAAgB;AAC/C,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,cAAc;AAAA,MACd,sBAAsB;AAAA,MACtB,OAAO;AAAA,IACT,IAAI;AACJ,UAAM,WAAW,2CAAa;AAC9B,UAAM,WAAW,2CAAa;AAC9B,UAAM,eAAe,mDAAiB;AACtC,UAAM,uBAAuB,mEAAyB;AACtD,UAAM,QAAQ,qCAAU;AACxB,WAAO,EAAE,GAAG,aAAa,UAAU,UAAU,cAAc,sBAAsB,MAAM;AAAA,EACzF,CAAC;AACH;;;ADRA,IAAM,SAAS;AAER,IAAM,mCAAN,cAEG,gBAAyB;AAAA,EACjC,OAAgB,gBAAgB,CAAC,4CAA4C;AAAA,EAE7E,IAAc,WAAW;AACvB,WAAO,SAAS,KAAK,OAAO,UAAU,mBAAmB;AAAA,EAC3D;AAAA,EAEA,MAAyB,iBAAqC;AAC5D,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,UAAU,SAAS,KAAK,OAAO,SAAS,4BAA4B;AAC1E,UAAM,eAAe,MAAM,0BAA0B,SAAS,KAAK,QAAQ;AAC3E,UAAM,WAAW,aAAa,IAAsC,CAAC,gBAAgB;AACnF,aAAO,EAAE,GAAG,aAAa,OAAO;AAAA,IAClC,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;ADnCO,IAAM,kCAAkC,MAC7C;AAAA,EACE,EAAE,UAAU,EAAE,CAACC,gCAA+B,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAC/E;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,iCAAiC,OAAO,MAAM;AACnE,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["AddressTransactionHistorySchema","AddressTransactionHistorySchema"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { EtherscanProvider } from '@ethersproject/providers';
|
|
2
|
+
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
3
|
+
import { Payload } from '@xyo-network/payload-model';
|
|
4
|
+
import { AbstractWitness, WitnessParams } from '@xyo-network/witness';
|
|
5
|
+
import { AddressTransactionHistoryWitnessConfig } from './Config';
|
|
6
|
+
export type AddressTransactionHistoryWitnessParams = WitnessParams<AnyConfigSchema<AddressTransactionHistoryWitnessConfig>, {
|
|
7
|
+
provider?: EtherscanProvider;
|
|
8
|
+
}>;
|
|
9
|
+
export declare class AddressTransactionHistoryWitness<TParams extends AddressTransactionHistoryWitnessParams = AddressTransactionHistoryWitnessParams> extends AbstractWitness<TParams> {
|
|
10
|
+
static configSchemas: "network.xyo.crypto.address.transaction.witness.config"[];
|
|
11
|
+
protected get provider(): EtherscanProvider;
|
|
12
|
+
protected observeHandler(): Promise<Payload[]>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAOjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAErE,OAAO,EAAE,sCAAsC,EAAE,MAAM,UAAU,CAAA;AAGjE,MAAM,MAAM,sCAAsC,GAAG,aAAa,CAChE,eAAe,CAAC,sCAAsC,CAAC,EACvD;IACE,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,CACF,CAAA;AAID,qBAAa,gCAAgC,CAC3C,OAAO,SAAS,sCAAsC,GAAG,sCAAsC,CAC/F,SAAQ,eAAe,CAAC,OAAO,CAAC;IAChC,OAAgB,aAAa,4DAAiD;IAE9E,SAAS,KAAK,QAAQ,sBAErB;cAEwB,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;CAS9D"}
|
package/dist/node/Witness.js
CHANGED
|
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/Witness.ts
|
|
19
21
|
var Witness_exports = {};
|
|
20
22
|
__export(Witness_exports, {
|
|
21
23
|
AddressTransactionHistoryWitness: () => AddressTransactionHistoryWitness
|
|
@@ -24,9 +26,30 @@ module.exports = __toCommonJS(Witness_exports);
|
|
|
24
26
|
var import_assert = require("@xylabs/assert");
|
|
25
27
|
var import_crypto_address_transaction_history_payload_plugin = require("@xyo-network/crypto-address-transaction-history-payload-plugin");
|
|
26
28
|
var import_witness = require("@xyo-network/witness");
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
|
|
30
|
+
// src/lib/getTransactionsForAddress.ts
|
|
31
|
+
var getTransactionsForAddress = async (publicAddress, provider) => {
|
|
32
|
+
const history = await provider.getHistory(publicAddress);
|
|
33
|
+
return history.map((transaction) => {
|
|
34
|
+
const {
|
|
35
|
+
gasLimit: rawGasLimit,
|
|
36
|
+
gasPrice: rawGasPrice,
|
|
37
|
+
maxFeePerGas: rawMaxFeePerGas,
|
|
38
|
+
maxPriorityFeePerGas: rawMaxPriorityFeePerGas,
|
|
39
|
+
value: rawValue
|
|
40
|
+
} = transaction;
|
|
41
|
+
const gasLimit = rawGasLimit == null ? void 0 : rawGasLimit.toString();
|
|
42
|
+
const gasPrice = rawGasPrice == null ? void 0 : rawGasPrice.toString();
|
|
43
|
+
const maxFeePerGas = rawMaxFeePerGas == null ? void 0 : rawMaxFeePerGas.toString();
|
|
44
|
+
const maxPriorityFeePerGas = rawMaxPriorityFeePerGas == null ? void 0 : rawMaxPriorityFeePerGas.toString();
|
|
45
|
+
const value = rawValue == null ? void 0 : rawValue.toString();
|
|
46
|
+
return { ...transaction, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, value };
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
// src/Witness.ts
|
|
51
|
+
var schema = import_crypto_address_transaction_history_payload_plugin.AddressTransactionHistorySchema;
|
|
52
|
+
var AddressTransactionHistoryWitness = class extends import_witness.AbstractWitness {
|
|
30
53
|
static configSchemas = [import_crypto_address_transaction_history_payload_plugin.AddressTransactionHistoryWitnessConfigSchema];
|
|
31
54
|
get provider() {
|
|
32
55
|
return (0, import_assert.assertEx)(this.params.provider, "Provider Required");
|
|
@@ -34,13 +57,13 @@ class AddressTransactionHistoryWitness extends import_witness.AbstractWitness {
|
|
|
34
57
|
async observeHandler() {
|
|
35
58
|
await this.started("throw");
|
|
36
59
|
const address = (0, import_assert.assertEx)(this.config.address, "params.address is required");
|
|
37
|
-
const transactions = await
|
|
60
|
+
const transactions = await getTransactionsForAddress(address, this.provider);
|
|
38
61
|
const payloads = transactions.map((transaction) => {
|
|
39
62
|
return { ...transaction, schema };
|
|
40
63
|
});
|
|
41
64
|
return payloads;
|
|
42
65
|
}
|
|
43
|
-
}
|
|
66
|
+
};
|
|
44
67
|
// Annotate the CommonJS export names for ESM import in node:
|
|
45
68
|
0 && (module.exports = {
|
|
46
69
|
AddressTransactionHistoryWitness
|
package/dist/node/Witness.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Witness.ts"],"sourcesContent":["import type { EtherscanProvider } from '@ethersproject/providers'\nimport { assertEx } from '@xylabs/assert'\nimport {\n AddressTransactionHistoryPayload,\n AddressTransactionHistorySchema,\n AddressTransactionHistoryWitnessConfigSchema,\n} from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { AbstractWitness, WitnessParams } from '@xyo-network/witness'\n\nimport { AddressTransactionHistoryWitnessConfig } from './Config'\nimport { getTransactionsForAddress } from './lib'\n\nexport type AddressTransactionHistoryWitnessParams = WitnessParams<\n AnyConfigSchema<AddressTransactionHistoryWitnessConfig>,\n {\n provider?: EtherscanProvider\n }\n>\n\nconst schema = AddressTransactionHistorySchema\n\nexport class AddressTransactionHistoryWitness<\n TParams extends AddressTransactionHistoryWitnessParams = AddressTransactionHistoryWitnessParams,\n> extends AbstractWitness<TParams> {\n static override configSchemas = [AddressTransactionHistoryWitnessConfigSchema]\n\n protected get provider() {\n return assertEx(this.params.provider, 'Provider Required')\n }\n\n protected override async observeHandler(): Promise<Payload[]> {\n await this.started('throw')\n const address = assertEx(this.config.address, 'params.address is required')\n const transactions = await getTransactionsForAddress(address, this.provider)\n const payloads = transactions.map<AddressTransactionHistoryPayload>((transaction) => {\n return { ...transaction, schema }\n })\n return payloads\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/Witness.ts","../../src/lib/getTransactionsForAddress.ts"],"sourcesContent":["import type { EtherscanProvider } from '@ethersproject/providers'\nimport { assertEx } from '@xylabs/assert'\nimport {\n AddressTransactionHistoryPayload,\n AddressTransactionHistorySchema,\n AddressTransactionHistoryWitnessConfigSchema,\n} from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { AbstractWitness, WitnessParams } from '@xyo-network/witness'\n\nimport { AddressTransactionHistoryWitnessConfig } from './Config'\nimport { getTransactionsForAddress } from './lib'\n\nexport type AddressTransactionHistoryWitnessParams = WitnessParams<\n AnyConfigSchema<AddressTransactionHistoryWitnessConfig>,\n {\n provider?: EtherscanProvider\n }\n>\n\nconst schema = AddressTransactionHistorySchema\n\nexport class AddressTransactionHistoryWitness<\n TParams extends AddressTransactionHistoryWitnessParams = AddressTransactionHistoryWitnessParams,\n> extends AbstractWitness<TParams> {\n static override configSchemas = [AddressTransactionHistoryWitnessConfigSchema]\n\n protected get provider() {\n return assertEx(this.params.provider, 'Provider Required')\n }\n\n protected override async observeHandler(): Promise<Payload[]> {\n await this.started('throw')\n const address = assertEx(this.config.address, 'params.address is required')\n const transactions = await getTransactionsForAddress(address, this.provider)\n const payloads = transactions.map<AddressTransactionHistoryPayload>((transaction) => {\n return { ...transaction, schema }\n })\n return payloads\n }\n}\n","import type { EtherscanProvider } from '@ethersproject/providers'\nimport { Transaction } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\n\nexport const getTransactionsForAddress = async (\n /**\n * The address of the wallet to search for NFTs\n */\n publicAddress: string,\n /**\n * The ethers provider to use to search\n */\n provider: EtherscanProvider,\n): Promise<Transaction[]> => {\n const history = await provider.getHistory(publicAddress)\n return history.map<Transaction>((transaction) => {\n const {\n gasLimit: rawGasLimit,\n gasPrice: rawGasPrice,\n maxFeePerGas: rawMaxFeePerGas,\n maxPriorityFeePerGas: rawMaxPriorityFeePerGas,\n value: rawValue,\n } = transaction\n const gasLimit = rawGasLimit?.toString()\n const gasPrice = rawGasPrice?.toString()\n const maxFeePerGas = rawMaxFeePerGas?.toString()\n const maxPriorityFeePerGas = rawMaxPriorityFeePerGas?.toString()\n const value = rawValue?.toString()\n return { ...transaction, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, value }\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAyB;AACzB,+DAIO;AAGP,qBAA+C;;;ACNxC,IAAM,4BAA4B,OAIvC,eAIA,aAC2B;AAC3B,QAAM,UAAU,MAAM,SAAS,WAAW,aAAa;AACvD,SAAO,QAAQ,IAAiB,CAAC,gBAAgB;AAC/C,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,cAAc;AAAA,MACd,sBAAsB;AAAA,MACtB,OAAO;AAAA,IACT,IAAI;AACJ,UAAM,WAAW,2CAAa;AAC9B,UAAM,WAAW,2CAAa;AAC9B,UAAM,eAAe,mDAAiB;AACtC,UAAM,uBAAuB,mEAAyB;AACtD,UAAM,QAAQ,qCAAU;AACxB,WAAO,EAAE,GAAG,aAAa,UAAU,UAAU,cAAc,sBAAsB,MAAM;AAAA,EACzF,CAAC;AACH;;;ADRA,IAAM,SAAS;AAER,IAAM,mCAAN,cAEG,+BAAyB;AAAA,EACjC,OAAgB,gBAAgB,CAAC,qGAA4C;AAAA,EAE7E,IAAc,WAAW;AACvB,eAAO,wBAAS,KAAK,OAAO,UAAU,mBAAmB;AAAA,EAC3D;AAAA,EAEA,MAAyB,iBAAqC;AAC5D,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,cAAU,wBAAS,KAAK,OAAO,SAAS,4BAA4B;AAC1E,UAAM,eAAe,MAAM,0BAA0B,SAAS,KAAK,QAAQ;AAC3E,UAAM,WAAW,aAAa,IAAsC,CAAC,gBAAgB;AACnF,aAAO,EAAE,GAAG,aAAa,OAAO;AAAA,IAClC,CAAC;AACD,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/dist/node/Witness.mjs
CHANGED
|
@@ -1,12 +1,34 @@
|
|
|
1
|
+
// src/Witness.ts
|
|
1
2
|
import { assertEx } from "@xylabs/assert";
|
|
2
3
|
import {
|
|
3
4
|
AddressTransactionHistorySchema,
|
|
4
5
|
AddressTransactionHistoryWitnessConfigSchema
|
|
5
6
|
} from "@xyo-network/crypto-address-transaction-history-payload-plugin";
|
|
6
7
|
import { AbstractWitness } from "@xyo-network/witness";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
|
|
9
|
+
// src/lib/getTransactionsForAddress.ts
|
|
10
|
+
var getTransactionsForAddress = async (publicAddress, provider) => {
|
|
11
|
+
const history = await provider.getHistory(publicAddress);
|
|
12
|
+
return history.map((transaction) => {
|
|
13
|
+
const {
|
|
14
|
+
gasLimit: rawGasLimit,
|
|
15
|
+
gasPrice: rawGasPrice,
|
|
16
|
+
maxFeePerGas: rawMaxFeePerGas,
|
|
17
|
+
maxPriorityFeePerGas: rawMaxPriorityFeePerGas,
|
|
18
|
+
value: rawValue
|
|
19
|
+
} = transaction;
|
|
20
|
+
const gasLimit = rawGasLimit == null ? void 0 : rawGasLimit.toString();
|
|
21
|
+
const gasPrice = rawGasPrice == null ? void 0 : rawGasPrice.toString();
|
|
22
|
+
const maxFeePerGas = rawMaxFeePerGas == null ? void 0 : rawMaxFeePerGas.toString();
|
|
23
|
+
const maxPriorityFeePerGas = rawMaxPriorityFeePerGas == null ? void 0 : rawMaxPriorityFeePerGas.toString();
|
|
24
|
+
const value = rawValue == null ? void 0 : rawValue.toString();
|
|
25
|
+
return { ...transaction, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, value };
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// src/Witness.ts
|
|
30
|
+
var schema = AddressTransactionHistorySchema;
|
|
31
|
+
var AddressTransactionHistoryWitness = class extends AbstractWitness {
|
|
10
32
|
static configSchemas = [AddressTransactionHistoryWitnessConfigSchema];
|
|
11
33
|
get provider() {
|
|
12
34
|
return assertEx(this.params.provider, "Provider Required");
|
|
@@ -20,7 +42,7 @@ class AddressTransactionHistoryWitness extends AbstractWitness {
|
|
|
20
42
|
});
|
|
21
43
|
return payloads;
|
|
22
44
|
}
|
|
23
|
-
}
|
|
45
|
+
};
|
|
24
46
|
export {
|
|
25
47
|
AddressTransactionHistoryWitness
|
|
26
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Witness.ts"],"sourcesContent":["import type { EtherscanProvider } from '@ethersproject/providers'\nimport { assertEx } from '@xylabs/assert'\nimport {\n AddressTransactionHistoryPayload,\n AddressTransactionHistorySchema,\n AddressTransactionHistoryWitnessConfigSchema,\n} from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { AbstractWitness, WitnessParams } from '@xyo-network/witness'\n\nimport { AddressTransactionHistoryWitnessConfig } from './Config'\nimport { getTransactionsForAddress } from './lib'\n\nexport type AddressTransactionHistoryWitnessParams = WitnessParams<\n AnyConfigSchema<AddressTransactionHistoryWitnessConfig>,\n {\n provider?: EtherscanProvider\n }\n>\n\nconst schema = AddressTransactionHistorySchema\n\nexport class AddressTransactionHistoryWitness<\n TParams extends AddressTransactionHistoryWitnessParams = AddressTransactionHistoryWitnessParams,\n> extends AbstractWitness<TParams> {\n static override configSchemas = [AddressTransactionHistoryWitnessConfigSchema]\n\n protected get provider() {\n return assertEx(this.params.provider, 'Provider Required')\n }\n\n protected override async observeHandler(): Promise<Payload[]> {\n await this.started('throw')\n const address = assertEx(this.config.address, 'params.address is required')\n const transactions = await getTransactionsForAddress(address, this.provider)\n const payloads = transactions.map<AddressTransactionHistoryPayload>((transaction) => {\n return { ...transaction, schema }\n })\n return payloads\n }\n}\n"],"mappings":"AACA,SAAS,gBAAgB;AACzB;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AAGP,SAAS,uBAAsC;
|
|
1
|
+
{"version":3,"sources":["../../src/Witness.ts","../../src/lib/getTransactionsForAddress.ts"],"sourcesContent":["import type { EtherscanProvider } from '@ethersproject/providers'\nimport { assertEx } from '@xylabs/assert'\nimport {\n AddressTransactionHistoryPayload,\n AddressTransactionHistorySchema,\n AddressTransactionHistoryWitnessConfigSchema,\n} from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { AbstractWitness, WitnessParams } from '@xyo-network/witness'\n\nimport { AddressTransactionHistoryWitnessConfig } from './Config'\nimport { getTransactionsForAddress } from './lib'\n\nexport type AddressTransactionHistoryWitnessParams = WitnessParams<\n AnyConfigSchema<AddressTransactionHistoryWitnessConfig>,\n {\n provider?: EtherscanProvider\n }\n>\n\nconst schema = AddressTransactionHistorySchema\n\nexport class AddressTransactionHistoryWitness<\n TParams extends AddressTransactionHistoryWitnessParams = AddressTransactionHistoryWitnessParams,\n> extends AbstractWitness<TParams> {\n static override configSchemas = [AddressTransactionHistoryWitnessConfigSchema]\n\n protected get provider() {\n return assertEx(this.params.provider, 'Provider Required')\n }\n\n protected override async observeHandler(): Promise<Payload[]> {\n await this.started('throw')\n const address = assertEx(this.config.address, 'params.address is required')\n const transactions = await getTransactionsForAddress(address, this.provider)\n const payloads = transactions.map<AddressTransactionHistoryPayload>((transaction) => {\n return { ...transaction, schema }\n })\n return payloads\n }\n}\n","import type { EtherscanProvider } from '@ethersproject/providers'\nimport { Transaction } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\n\nexport const getTransactionsForAddress = async (\n /**\n * The address of the wallet to search for NFTs\n */\n publicAddress: string,\n /**\n * The ethers provider to use to search\n */\n provider: EtherscanProvider,\n): Promise<Transaction[]> => {\n const history = await provider.getHistory(publicAddress)\n return history.map<Transaction>((transaction) => {\n const {\n gasLimit: rawGasLimit,\n gasPrice: rawGasPrice,\n maxFeePerGas: rawMaxFeePerGas,\n maxPriorityFeePerGas: rawMaxPriorityFeePerGas,\n value: rawValue,\n } = transaction\n const gasLimit = rawGasLimit?.toString()\n const gasPrice = rawGasPrice?.toString()\n const maxFeePerGas = rawMaxFeePerGas?.toString()\n const maxPriorityFeePerGas = rawMaxPriorityFeePerGas?.toString()\n const value = rawValue?.toString()\n return { ...transaction, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, value }\n })\n}\n"],"mappings":";AACA,SAAS,gBAAgB;AACzB;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AAGP,SAAS,uBAAsC;;;ACNxC,IAAM,4BAA4B,OAIvC,eAIA,aAC2B;AAC3B,QAAM,UAAU,MAAM,SAAS,WAAW,aAAa;AACvD,SAAO,QAAQ,IAAiB,CAAC,gBAAgB;AAC/C,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,cAAc;AAAA,MACd,sBAAsB;AAAA,MACtB,OAAO;AAAA,IACT,IAAI;AACJ,UAAM,WAAW,2CAAa;AAC9B,UAAM,WAAW,2CAAa;AAC9B,UAAM,eAAe,mDAAiB;AACtC,UAAM,uBAAuB,mEAAyB;AACtD,UAAM,QAAQ,qCAAU;AACxB,WAAO,EAAE,GAAG,aAAa,UAAU,UAAU,cAAc,sBAAsB,MAAM;AAAA,EACzF,CAAC;AACH;;;ADRA,IAAM,SAAS;AAER,IAAM,mCAAN,cAEG,gBAAyB;AAAA,EACjC,OAAgB,gBAAgB,CAAC,4CAA4C;AAAA,EAE7E,IAAc,WAAW;AACvB,WAAO,SAAS,KAAK,OAAO,UAAU,mBAAmB;AAAA,EAC3D;AAAA,EAEA,MAAyB,iBAAqC;AAC5D,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,UAAU,SAAS,KAAK,OAAO,SAAS,4BAA4B;AAC1E,UAAM,eAAe,MAAM,0BAA0B,SAAS,KAAK,QAAQ;AAC3E,UAAM,WAAW,aAAa,IAAsC,CAAC,gBAAgB;AACnF,aAAO,EAAE,GAAG,aAAa,OAAO;AAAA,IAClC,CAAC;AACD,WAAO;AAAA,EACT;AACF;","names":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AddressTransactionHistoryPlugin } from './Plugin';
|
|
2
|
+
export * from './Config';
|
|
3
|
+
export * from './lib';
|
|
4
|
+
export * from './Witness';
|
|
5
|
+
export { AddressTransactionHistoryPlugin };
|
|
6
|
+
export default AddressTransactionHistoryPlugin;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAA;AAE1D,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,+BAA+B,EAAE,CAAA;AAG1C,eAAe,+BAA+B,CAAA"}
|
package/dist/node/index.js
CHANGED
|
@@ -15,24 +15,83 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
}
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
19
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
20
21
|
var src_exports = {};
|
|
21
22
|
__export(src_exports, {
|
|
22
|
-
AddressTransactionHistoryPlugin: () =>
|
|
23
|
-
|
|
23
|
+
AddressTransactionHistoryPlugin: () => AddressTransactionHistoryPlugin,
|
|
24
|
+
AddressTransactionHistoryWitness: () => AddressTransactionHistoryWitness,
|
|
25
|
+
default: () => src_default,
|
|
26
|
+
getTransactionsForAddress: () => getTransactionsForAddress
|
|
24
27
|
});
|
|
25
28
|
module.exports = __toCommonJS(src_exports);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var
|
|
29
|
+
|
|
30
|
+
// src/Plugin.ts
|
|
31
|
+
var import_crypto_address_transaction_history_payload_plugin2 = require("@xyo-network/crypto-address-transaction-history-payload-plugin");
|
|
32
|
+
var import_payload_model = require("@xyo-network/payload-model");
|
|
33
|
+
var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
|
|
34
|
+
|
|
35
|
+
// src/Witness.ts
|
|
36
|
+
var import_assert = require("@xylabs/assert");
|
|
37
|
+
var import_crypto_address_transaction_history_payload_plugin = require("@xyo-network/crypto-address-transaction-history-payload-plugin");
|
|
38
|
+
var import_witness = require("@xyo-network/witness");
|
|
39
|
+
|
|
40
|
+
// src/lib/getTransactionsForAddress.ts
|
|
41
|
+
var getTransactionsForAddress = async (publicAddress, provider) => {
|
|
42
|
+
const history = await provider.getHistory(publicAddress);
|
|
43
|
+
return history.map((transaction) => {
|
|
44
|
+
const {
|
|
45
|
+
gasLimit: rawGasLimit,
|
|
46
|
+
gasPrice: rawGasPrice,
|
|
47
|
+
maxFeePerGas: rawMaxFeePerGas,
|
|
48
|
+
maxPriorityFeePerGas: rawMaxPriorityFeePerGas,
|
|
49
|
+
value: rawValue
|
|
50
|
+
} = transaction;
|
|
51
|
+
const gasLimit = rawGasLimit == null ? void 0 : rawGasLimit.toString();
|
|
52
|
+
const gasPrice = rawGasPrice == null ? void 0 : rawGasPrice.toString();
|
|
53
|
+
const maxFeePerGas = rawMaxFeePerGas == null ? void 0 : rawMaxFeePerGas.toString();
|
|
54
|
+
const maxPriorityFeePerGas = rawMaxPriorityFeePerGas == null ? void 0 : rawMaxPriorityFeePerGas.toString();
|
|
55
|
+
const value = rawValue == null ? void 0 : rawValue.toString();
|
|
56
|
+
return { ...transaction, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, value };
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// src/Witness.ts
|
|
61
|
+
var schema = import_crypto_address_transaction_history_payload_plugin.AddressTransactionHistorySchema;
|
|
62
|
+
var AddressTransactionHistoryWitness = class extends import_witness.AbstractWitness {
|
|
63
|
+
static configSchemas = [import_crypto_address_transaction_history_payload_plugin.AddressTransactionHistoryWitnessConfigSchema];
|
|
64
|
+
get provider() {
|
|
65
|
+
return (0, import_assert.assertEx)(this.params.provider, "Provider Required");
|
|
66
|
+
}
|
|
67
|
+
async observeHandler() {
|
|
68
|
+
await this.started("throw");
|
|
69
|
+
const address = (0, import_assert.assertEx)(this.config.address, "params.address is required");
|
|
70
|
+
const transactions = await getTransactionsForAddress(address, this.provider);
|
|
71
|
+
const payloads = transactions.map((transaction) => {
|
|
72
|
+
return { ...transaction, schema };
|
|
73
|
+
});
|
|
74
|
+
return payloads;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
// src/Plugin.ts
|
|
79
|
+
var AddressTransactionHistoryPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
|
|
80
|
+
{ required: { [import_crypto_address_transaction_history_payload_plugin2.AddressTransactionHistorySchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
|
|
81
|
+
{
|
|
82
|
+
witness: async (params) => {
|
|
83
|
+
const result = await AddressTransactionHistoryWitness.create(params);
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
// src/index.ts
|
|
90
|
+
var src_default = AddressTransactionHistoryPlugin;
|
|
31
91
|
// Annotate the CommonJS export names for ESM import in node:
|
|
32
92
|
0 && (module.exports = {
|
|
33
93
|
AddressTransactionHistoryPlugin,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
...require("./Witness")
|
|
94
|
+
AddressTransactionHistoryWitness,
|
|
95
|
+
getTransactionsForAddress
|
|
37
96
|
});
|
|
38
97
|
//# sourceMappingURL=index.js.map
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import { AddressTransactionHistoryPlugin } from './Plugin'\n\nexport * from './Config'\nexport * from './lib'\nexport * from './Witness'\n\nexport { AddressTransactionHistoryPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default AddressTransactionHistoryPlugin\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/Plugin.ts","../../src/Witness.ts","../../src/lib/getTransactionsForAddress.ts"],"sourcesContent":["import { AddressTransactionHistoryPlugin } from './Plugin'\n\nexport * from './Config'\nexport * from './lib'\nexport * from './Witness'\n\nexport { AddressTransactionHistoryPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default AddressTransactionHistoryPlugin\n","import { AddressTransactionHistorySchema } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { AddressTransactionHistoryWitness } from './Witness'\n\nexport const AddressTransactionHistoryPlugin = () =>\n createPayloadSetWitnessPlugin<AddressTransactionHistoryWitness>(\n { required: { [AddressTransactionHistorySchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await AddressTransactionHistoryWitness.create(params)\n return result\n },\n },\n )\n","import type { EtherscanProvider } from '@ethersproject/providers'\nimport { assertEx } from '@xylabs/assert'\nimport {\n AddressTransactionHistoryPayload,\n AddressTransactionHistorySchema,\n AddressTransactionHistoryWitnessConfigSchema,\n} from '@xyo-network/crypto-address-transaction-history-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { AbstractWitness, WitnessParams } from '@xyo-network/witness'\n\nimport { AddressTransactionHistoryWitnessConfig } from './Config'\nimport { getTransactionsForAddress } from './lib'\n\nexport type AddressTransactionHistoryWitnessParams = WitnessParams<\n AnyConfigSchema<AddressTransactionHistoryWitnessConfig>,\n {\n provider?: EtherscanProvider\n }\n>\n\nconst schema = AddressTransactionHistorySchema\n\nexport class AddressTransactionHistoryWitness<\n TParams extends AddressTransactionHistoryWitnessParams = AddressTransactionHistoryWitnessParams,\n> extends AbstractWitness<TParams> {\n static override configSchemas = [AddressTransactionHistoryWitnessConfigSchema]\n\n protected get provider() {\n return assertEx(this.params.provider, 'Provider Required')\n }\n\n protected override async observeHandler(): Promise<Payload[]> {\n await this.started('throw')\n const address = assertEx(this.config.address, 'params.address is required')\n const transactions = await getTransactionsForAddress(address, this.provider)\n const payloads = transactions.map<AddressTransactionHistoryPayload>((transaction) => {\n return { ...transaction, schema }\n })\n return payloads\n }\n}\n","import type { EtherscanProvider } from '@ethersproject/providers'\nimport { Transaction } from '@xyo-network/crypto-address-transaction-history-payload-plugin'\n\nexport const getTransactionsForAddress = async (\n /**\n * The address of the wallet to search for NFTs\n */\n publicAddress: string,\n /**\n * The ethers provider to use to search\n */\n provider: EtherscanProvider,\n): Promise<Transaction[]> => {\n const history = await provider.getHistory(publicAddress)\n return history.map<Transaction>((transaction) => {\n const {\n gasLimit: rawGasLimit,\n gasPrice: rawGasPrice,\n maxFeePerGas: rawMaxFeePerGas,\n maxPriorityFeePerGas: rawMaxPriorityFeePerGas,\n value: rawValue,\n } = transaction\n const gasLimit = rawGasLimit?.toString()\n const gasPrice = rawGasPrice?.toString()\n const maxFeePerGas = rawMaxFeePerGas?.toString()\n const maxPriorityFeePerGas = rawMaxPriorityFeePerGas?.toString()\n const value = rawValue?.toString()\n return { ...transaction, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, value }\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,4DAAgD;AAChD,2BAAiC;AACjC,+BAA8C;;;ACD9C,oBAAyB;AACzB,+DAIO;AAGP,qBAA+C;;;ACNxC,IAAM,4BAA4B,OAIvC,eAIA,aAC2B;AAC3B,QAAM,UAAU,MAAM,SAAS,WAAW,aAAa;AACvD,SAAO,QAAQ,IAAiB,CAAC,gBAAgB;AAC/C,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,cAAc;AAAA,MACd,sBAAsB;AAAA,MACtB,OAAO;AAAA,IACT,IAAI;AACJ,UAAM,WAAW,2CAAa;AAC9B,UAAM,WAAW,2CAAa;AAC9B,UAAM,eAAe,mDAAiB;AACtC,UAAM,uBAAuB,mEAAyB;AACtD,UAAM,QAAQ,qCAAU;AACxB,WAAO,EAAE,GAAG,aAAa,UAAU,UAAU,cAAc,sBAAsB,MAAM;AAAA,EACzF,CAAC;AACH;;;ADRA,IAAM,SAAS;AAER,IAAM,mCAAN,cAEG,+BAAyB;AAAA,EACjC,OAAgB,gBAAgB,CAAC,qGAA4C;AAAA,EAE7E,IAAc,WAAW;AACvB,eAAO,wBAAS,KAAK,OAAO,UAAU,mBAAmB;AAAA,EAC3D;AAAA,EAEA,MAAyB,iBAAqC;AAC5D,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,cAAU,wBAAS,KAAK,OAAO,SAAS,4BAA4B;AAC1E,UAAM,eAAe,MAAM,0BAA0B,SAAS,KAAK,QAAQ;AAC3E,UAAM,WAAW,aAAa,IAAsC,CAAC,gBAAgB;AACnF,aAAO,EAAE,GAAG,aAAa,OAAO;AAAA,IAClC,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;ADnCO,IAAM,kCAAkC,UAC7C;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,yFAA+B,GAAG,EAAE,GAAG,QAAQ,sCAAiB;AAAA,EAC/E;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,iCAAiC,OAAO,MAAM;AACnE,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ADNF,IAAO,cAAQ;","names":["import_crypto_address_transaction_history_payload_plugin"]}
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,10 +1,71 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
// src/Plugin.ts
|
|
2
|
+
import { AddressTransactionHistorySchema as AddressTransactionHistorySchema2 } from "@xyo-network/crypto-address-transaction-history-payload-plugin";
|
|
3
|
+
import { PayloadSetSchema } from "@xyo-network/payload-model";
|
|
4
|
+
import { createPayloadSetWitnessPlugin } from "@xyo-network/payloadset-plugin";
|
|
5
|
+
|
|
6
|
+
// src/Witness.ts
|
|
7
|
+
import { assertEx } from "@xylabs/assert";
|
|
8
|
+
import {
|
|
9
|
+
AddressTransactionHistorySchema,
|
|
10
|
+
AddressTransactionHistoryWitnessConfigSchema
|
|
11
|
+
} from "@xyo-network/crypto-address-transaction-history-payload-plugin";
|
|
12
|
+
import { AbstractWitness } from "@xyo-network/witness";
|
|
13
|
+
|
|
14
|
+
// src/lib/getTransactionsForAddress.ts
|
|
15
|
+
var getTransactionsForAddress = async (publicAddress, provider) => {
|
|
16
|
+
const history = await provider.getHistory(publicAddress);
|
|
17
|
+
return history.map((transaction) => {
|
|
18
|
+
const {
|
|
19
|
+
gasLimit: rawGasLimit,
|
|
20
|
+
gasPrice: rawGasPrice,
|
|
21
|
+
maxFeePerGas: rawMaxFeePerGas,
|
|
22
|
+
maxPriorityFeePerGas: rawMaxPriorityFeePerGas,
|
|
23
|
+
value: rawValue
|
|
24
|
+
} = transaction;
|
|
25
|
+
const gasLimit = rawGasLimit == null ? void 0 : rawGasLimit.toString();
|
|
26
|
+
const gasPrice = rawGasPrice == null ? void 0 : rawGasPrice.toString();
|
|
27
|
+
const maxFeePerGas = rawMaxFeePerGas == null ? void 0 : rawMaxFeePerGas.toString();
|
|
28
|
+
const maxPriorityFeePerGas = rawMaxPriorityFeePerGas == null ? void 0 : rawMaxPriorityFeePerGas.toString();
|
|
29
|
+
const value = rawValue == null ? void 0 : rawValue.toString();
|
|
30
|
+
return { ...transaction, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, value };
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// src/Witness.ts
|
|
35
|
+
var schema = AddressTransactionHistorySchema;
|
|
36
|
+
var AddressTransactionHistoryWitness = class extends AbstractWitness {
|
|
37
|
+
static configSchemas = [AddressTransactionHistoryWitnessConfigSchema];
|
|
38
|
+
get provider() {
|
|
39
|
+
return assertEx(this.params.provider, "Provider Required");
|
|
40
|
+
}
|
|
41
|
+
async observeHandler() {
|
|
42
|
+
await this.started("throw");
|
|
43
|
+
const address = assertEx(this.config.address, "params.address is required");
|
|
44
|
+
const transactions = await getTransactionsForAddress(address, this.provider);
|
|
45
|
+
const payloads = transactions.map((transaction) => {
|
|
46
|
+
return { ...transaction, schema };
|
|
47
|
+
});
|
|
48
|
+
return payloads;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// src/Plugin.ts
|
|
53
|
+
var AddressTransactionHistoryPlugin = () => createPayloadSetWitnessPlugin(
|
|
54
|
+
{ required: { [AddressTransactionHistorySchema2]: 1 }, schema: PayloadSetSchema },
|
|
55
|
+
{
|
|
56
|
+
witness: async (params) => {
|
|
57
|
+
const result = await AddressTransactionHistoryWitness.create(params);
|
|
58
|
+
return result;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
// src/index.ts
|
|
5
64
|
var src_default = AddressTransactionHistoryPlugin;
|
|
6
65
|
export {
|
|
7
66
|
AddressTransactionHistoryPlugin,
|
|
8
|
-
|
|
67
|
+
AddressTransactionHistoryWitness,
|
|
68
|
+
src_default as default,
|
|
69
|
+
getTransactionsForAddress
|
|
9
70
|
};
|
|
10
71
|
//# sourceMappingURL=index.mjs.map
|