genlayer-js 0.15.1 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/{index-IViMPpkl.d.cts → index-DQUXmYng.d.cts} +4 -0
- package/dist/{index-CgHl4W-5.d.ts → index-DVMV4wM0.d.ts} +4 -0
- package/dist/index.cjs +62 -49
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +62 -49
- package/dist/types/index.d.cts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +1 -1
- package/src/contracts/actions.ts +12 -0
- package/src/types/clients.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
## 0.16.0 (2025-09-03)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **contracts,types:** add getContractCode via gen_getContractCode RPC ([#109](https://github.com/genlayerlabs/genlayer-js/issues/109)) ([3fcc934](https://github.com/genlayerlabs/genlayer-js/commit/3fcc934a73b312747d53831f63d8c2e903534b3f))
|
|
9
|
+
|
|
3
10
|
## 0.15.1 (2025-09-02)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -304,6 +304,9 @@ type GenLayerMethod = {
|
|
|
304
304
|
} | {
|
|
305
305
|
method: "gen_getContractSchemaForCode";
|
|
306
306
|
params: [contractCode: string];
|
|
307
|
+
} | {
|
|
308
|
+
method: "gen_getContractCode";
|
|
309
|
+
params: [address: Address];
|
|
307
310
|
} | {
|
|
308
311
|
method: "sim_getTransactionsForAddress";
|
|
309
312
|
params: [address: Address, filter?: "all" | "from" | "to"];
|
|
@@ -367,6 +370,7 @@ type GenLayerClient<TGenLayerChain extends GenLayerChain> = Omit<Client<Transpor
|
|
|
367
370
|
}) => Promise<GenLayerTransaction>;
|
|
368
371
|
getContractSchema: (address: Address) => Promise<ContractSchema>;
|
|
369
372
|
getContractSchemaForCode: (contractCode: string | Uint8Array) => Promise<ContractSchema>;
|
|
373
|
+
getContractCode: (address: Address) => Promise<string>;
|
|
370
374
|
initializeConsensusSmartContract: (forceReset?: boolean) => Promise<void>;
|
|
371
375
|
connect: (network?: Network, snapSource?: SnapSource) => Promise<void>;
|
|
372
376
|
metamaskClient: (snapSource?: SnapSource) => Promise<MetaMaskClientResult>;
|
|
@@ -304,6 +304,9 @@ type GenLayerMethod = {
|
|
|
304
304
|
} | {
|
|
305
305
|
method: "gen_getContractSchemaForCode";
|
|
306
306
|
params: [contractCode: string];
|
|
307
|
+
} | {
|
|
308
|
+
method: "gen_getContractCode";
|
|
309
|
+
params: [address: Address];
|
|
307
310
|
} | {
|
|
308
311
|
method: "sim_getTransactionsForAddress";
|
|
309
312
|
params: [address: Address, filter?: "all" | "from" | "to"];
|
|
@@ -367,6 +370,7 @@ type GenLayerClient<TGenLayerChain extends GenLayerChain> = Omit<Client<Transpor
|
|
|
367
370
|
}) => Promise<GenLayerTransaction>;
|
|
368
371
|
getContractSchema: (address: Address) => Promise<ContractSchema>;
|
|
369
372
|
getContractSchemaForCode: (contractCode: string | Uint8Array) => Promise<ContractSchema>;
|
|
373
|
+
getContractCode: (address: Address) => Promise<string>;
|
|
370
374
|
initializeConsensusSmartContract: (forceReset?: boolean) => Promise<void>;
|
|
371
375
|
connect: (network?: Network, snapSource?: SnapSource) => Promise<void>;
|
|
372
376
|
metamaskClient: (snapSource?: SnapSource) => Promise<MetaMaskClientResult>;
|
package/dist/index.cjs
CHANGED
|
@@ -408,8 +408,70 @@ function serialize(data) {
|
|
|
408
408
|
|
|
409
409
|
// src/contracts/actions.ts
|
|
410
410
|
|
|
411
|
+
|
|
412
|
+
// src/abi/index.ts
|
|
413
|
+
var abi_exports = {};
|
|
414
|
+
_chunk75ZPJI57cjs.__export.call(void 0, abi_exports, {
|
|
415
|
+
calldata: () => calldata,
|
|
416
|
+
transactions: () => transactions
|
|
417
|
+
});
|
|
418
|
+
var calldata = calldata_exports;
|
|
419
|
+
var transactions = transactions_exports;
|
|
420
|
+
|
|
421
|
+
// src/utils/jsonifier.ts
|
|
422
|
+
function b64ToArray(b64) {
|
|
423
|
+
return Uint8Array.from(atob(b64), (c) => c.charCodeAt(0));
|
|
424
|
+
}
|
|
425
|
+
function calldataToUserFriendlyJson(cd) {
|
|
426
|
+
return {
|
|
427
|
+
raw: Array.from(cd),
|
|
428
|
+
readable: calldata.toString(calldata.decode(cd))
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
var RESULT_CODES = /* @__PURE__ */ new Map([
|
|
432
|
+
[0, "return"],
|
|
433
|
+
[1, "rollback"],
|
|
434
|
+
[2, "contract_error"],
|
|
435
|
+
[3, "error"],
|
|
436
|
+
[4, "none"],
|
|
437
|
+
[5, "no_leaders"]
|
|
438
|
+
]);
|
|
439
|
+
function resultToUserFriendlyJson(cd64) {
|
|
440
|
+
const raw = b64ToArray(cd64);
|
|
441
|
+
const code = RESULT_CODES.get(raw[0]);
|
|
442
|
+
let status;
|
|
443
|
+
let payload = null;
|
|
444
|
+
if (code === void 0) {
|
|
445
|
+
status = "<unknown>";
|
|
446
|
+
} else {
|
|
447
|
+
status = code;
|
|
448
|
+
if ([1, 2].includes(raw[0])) {
|
|
449
|
+
payload = new TextDecoder("utf-8").decode(raw.slice(1));
|
|
450
|
+
} else if (raw[0] == 0) {
|
|
451
|
+
payload = calldataToUserFriendlyJson(raw.slice(1));
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
return {
|
|
455
|
+
raw: cd64,
|
|
456
|
+
status,
|
|
457
|
+
payload
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
// src/contracts/actions.ts
|
|
411
462
|
var contractActions = (client, publicClient) => {
|
|
412
463
|
return {
|
|
464
|
+
getContractCode: async (address) => {
|
|
465
|
+
if (client.chain.id !== _chunkZKBMABRAcjs.localnet.id) {
|
|
466
|
+
throw new Error("Getting contract code is not supported on this network");
|
|
467
|
+
}
|
|
468
|
+
const result = await client.request({
|
|
469
|
+
method: "gen_getContractCode",
|
|
470
|
+
params: [address]
|
|
471
|
+
});
|
|
472
|
+
const codeBytes = b64ToArray(result);
|
|
473
|
+
return new TextDecoder().decode(codeBytes);
|
|
474
|
+
},
|
|
413
475
|
getContractSchema: async (address) => {
|
|
414
476
|
if (client.chain.id !== _chunkZKBMABRAcjs.localnet.id) {
|
|
415
477
|
throw new Error("Contract schema is not supported on this network");
|
|
@@ -636,55 +698,6 @@ async function sleep(ms) {
|
|
|
636
698
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
637
699
|
}
|
|
638
700
|
|
|
639
|
-
// src/abi/index.ts
|
|
640
|
-
var abi_exports = {};
|
|
641
|
-
_chunk75ZPJI57cjs.__export.call(void 0, abi_exports, {
|
|
642
|
-
calldata: () => calldata,
|
|
643
|
-
transactions: () => transactions
|
|
644
|
-
});
|
|
645
|
-
var calldata = calldata_exports;
|
|
646
|
-
var transactions = transactions_exports;
|
|
647
|
-
|
|
648
|
-
// src/utils/jsonifier.ts
|
|
649
|
-
function b64ToArray(b64) {
|
|
650
|
-
return Uint8Array.from(atob(b64), (c) => c.charCodeAt(0));
|
|
651
|
-
}
|
|
652
|
-
function calldataToUserFriendlyJson(cd) {
|
|
653
|
-
return {
|
|
654
|
-
raw: Array.from(cd),
|
|
655
|
-
readable: calldata.toString(calldata.decode(cd))
|
|
656
|
-
};
|
|
657
|
-
}
|
|
658
|
-
var RESULT_CODES = /* @__PURE__ */ new Map([
|
|
659
|
-
[0, "return"],
|
|
660
|
-
[1, "rollback"],
|
|
661
|
-
[2, "contract_error"],
|
|
662
|
-
[3, "error"],
|
|
663
|
-
[4, "none"],
|
|
664
|
-
[5, "no_leaders"]
|
|
665
|
-
]);
|
|
666
|
-
function resultToUserFriendlyJson(cd64) {
|
|
667
|
-
const raw = b64ToArray(cd64);
|
|
668
|
-
const code = RESULT_CODES.get(raw[0]);
|
|
669
|
-
let status;
|
|
670
|
-
let payload = null;
|
|
671
|
-
if (code === void 0) {
|
|
672
|
-
status = "<unknown>";
|
|
673
|
-
} else {
|
|
674
|
-
status = code;
|
|
675
|
-
if ([1, 2].includes(raw[0])) {
|
|
676
|
-
payload = new TextDecoder("utf-8").decode(raw.slice(1));
|
|
677
|
-
} else if (raw[0] == 0) {
|
|
678
|
-
payload = calldataToUserFriendlyJson(raw.slice(1));
|
|
679
|
-
}
|
|
680
|
-
}
|
|
681
|
-
return {
|
|
682
|
-
raw: cd64,
|
|
683
|
-
status,
|
|
684
|
-
payload
|
|
685
|
-
};
|
|
686
|
-
}
|
|
687
|
-
|
|
688
701
|
// src/transactions/decoders.ts
|
|
689
702
|
|
|
690
703
|
var FIELDS_TO_REMOVE = [
|
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as viem from 'viem';
|
|
2
2
|
import { Account, Address, Hex } from 'viem';
|
|
3
3
|
import { G as GenLayerChain } from './chains-BYSCF33g.cjs';
|
|
4
|
-
import { G as GenLayerClient, D as DecodedDeployData, a as DecodedCallData, b as GenLayerRawTransaction, c as GenLayerTransaction, C as CalldataEncodable, T as TransactionDataElement } from './index-
|
|
4
|
+
import { G as GenLayerClient, D as DecodedDeployData, a as DecodedCallData, b as GenLayerRawTransaction, c as GenLayerTransaction, C as CalldataEncodable, T as TransactionDataElement } from './index-DQUXmYng.cjs';
|
|
5
5
|
import * as abitype from 'abitype';
|
|
6
6
|
import * as viem__types_types_authorization from 'viem/_types/types/authorization';
|
|
7
7
|
import * as viem_accounts from 'viem/accounts';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as viem from 'viem';
|
|
2
2
|
import { Account, Address, Hex } from 'viem';
|
|
3
3
|
import { G as GenLayerChain } from './chains-BYSCF33g.js';
|
|
4
|
-
import { G as GenLayerClient, D as DecodedDeployData, a as DecodedCallData, b as GenLayerRawTransaction, c as GenLayerTransaction, C as CalldataEncodable, T as TransactionDataElement } from './index-
|
|
4
|
+
import { G as GenLayerClient, D as DecodedDeployData, a as DecodedCallData, b as GenLayerRawTransaction, c as GenLayerTransaction, C as CalldataEncodable, T as TransactionDataElement } from './index-DVMV4wM0.js';
|
|
5
5
|
import * as abitype from 'abitype';
|
|
6
6
|
import * as viem__types_types_authorization from 'viem/_types/types/authorization';
|
|
7
7
|
import * as viem_accounts from 'viem/accounts';
|
package/dist/index.js
CHANGED
|
@@ -408,8 +408,70 @@ function serialize(data) {
|
|
|
408
408
|
|
|
409
409
|
// src/contracts/actions.ts
|
|
410
410
|
import { fromHex, toHex as toHex2, zeroAddress, encodeFunctionData, parseEventLogs } from "viem";
|
|
411
|
+
|
|
412
|
+
// src/abi/index.ts
|
|
413
|
+
var abi_exports = {};
|
|
414
|
+
__export(abi_exports, {
|
|
415
|
+
calldata: () => calldata,
|
|
416
|
+
transactions: () => transactions
|
|
417
|
+
});
|
|
418
|
+
var calldata = calldata_exports;
|
|
419
|
+
var transactions = transactions_exports;
|
|
420
|
+
|
|
421
|
+
// src/utils/jsonifier.ts
|
|
422
|
+
function b64ToArray(b64) {
|
|
423
|
+
return Uint8Array.from(atob(b64), (c) => c.charCodeAt(0));
|
|
424
|
+
}
|
|
425
|
+
function calldataToUserFriendlyJson(cd) {
|
|
426
|
+
return {
|
|
427
|
+
raw: Array.from(cd),
|
|
428
|
+
readable: calldata.toString(calldata.decode(cd))
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
var RESULT_CODES = /* @__PURE__ */ new Map([
|
|
432
|
+
[0, "return"],
|
|
433
|
+
[1, "rollback"],
|
|
434
|
+
[2, "contract_error"],
|
|
435
|
+
[3, "error"],
|
|
436
|
+
[4, "none"],
|
|
437
|
+
[5, "no_leaders"]
|
|
438
|
+
]);
|
|
439
|
+
function resultToUserFriendlyJson(cd64) {
|
|
440
|
+
const raw = b64ToArray(cd64);
|
|
441
|
+
const code = RESULT_CODES.get(raw[0]);
|
|
442
|
+
let status;
|
|
443
|
+
let payload = null;
|
|
444
|
+
if (code === void 0) {
|
|
445
|
+
status = "<unknown>";
|
|
446
|
+
} else {
|
|
447
|
+
status = code;
|
|
448
|
+
if ([1, 2].includes(raw[0])) {
|
|
449
|
+
payload = new TextDecoder("utf-8").decode(raw.slice(1));
|
|
450
|
+
} else if (raw[0] == 0) {
|
|
451
|
+
payload = calldataToUserFriendlyJson(raw.slice(1));
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
return {
|
|
455
|
+
raw: cd64,
|
|
456
|
+
status,
|
|
457
|
+
payload
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
// src/contracts/actions.ts
|
|
411
462
|
var contractActions = (client, publicClient) => {
|
|
412
463
|
return {
|
|
464
|
+
getContractCode: async (address) => {
|
|
465
|
+
if (client.chain.id !== localnet.id) {
|
|
466
|
+
throw new Error("Getting contract code is not supported on this network");
|
|
467
|
+
}
|
|
468
|
+
const result = await client.request({
|
|
469
|
+
method: "gen_getContractCode",
|
|
470
|
+
params: [address]
|
|
471
|
+
});
|
|
472
|
+
const codeBytes = b64ToArray(result);
|
|
473
|
+
return new TextDecoder().decode(codeBytes);
|
|
474
|
+
},
|
|
413
475
|
getContractSchema: async (address) => {
|
|
414
476
|
if (client.chain.id !== localnet.id) {
|
|
415
477
|
throw new Error("Contract schema is not supported on this network");
|
|
@@ -636,55 +698,6 @@ async function sleep(ms) {
|
|
|
636
698
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
637
699
|
}
|
|
638
700
|
|
|
639
|
-
// src/abi/index.ts
|
|
640
|
-
var abi_exports = {};
|
|
641
|
-
__export(abi_exports, {
|
|
642
|
-
calldata: () => calldata,
|
|
643
|
-
transactions: () => transactions
|
|
644
|
-
});
|
|
645
|
-
var calldata = calldata_exports;
|
|
646
|
-
var transactions = transactions_exports;
|
|
647
|
-
|
|
648
|
-
// src/utils/jsonifier.ts
|
|
649
|
-
function b64ToArray(b64) {
|
|
650
|
-
return Uint8Array.from(atob(b64), (c) => c.charCodeAt(0));
|
|
651
|
-
}
|
|
652
|
-
function calldataToUserFriendlyJson(cd) {
|
|
653
|
-
return {
|
|
654
|
-
raw: Array.from(cd),
|
|
655
|
-
readable: calldata.toString(calldata.decode(cd))
|
|
656
|
-
};
|
|
657
|
-
}
|
|
658
|
-
var RESULT_CODES = /* @__PURE__ */ new Map([
|
|
659
|
-
[0, "return"],
|
|
660
|
-
[1, "rollback"],
|
|
661
|
-
[2, "contract_error"],
|
|
662
|
-
[3, "error"],
|
|
663
|
-
[4, "none"],
|
|
664
|
-
[5, "no_leaders"]
|
|
665
|
-
]);
|
|
666
|
-
function resultToUserFriendlyJson(cd64) {
|
|
667
|
-
const raw = b64ToArray(cd64);
|
|
668
|
-
const code = RESULT_CODES.get(raw[0]);
|
|
669
|
-
let status;
|
|
670
|
-
let payload = null;
|
|
671
|
-
if (code === void 0) {
|
|
672
|
-
status = "<unknown>";
|
|
673
|
-
} else {
|
|
674
|
-
status = code;
|
|
675
|
-
if ([1, 2].includes(raw[0])) {
|
|
676
|
-
payload = new TextDecoder("utf-8").decode(raw.slice(1));
|
|
677
|
-
} else if (raw[0] == 0) {
|
|
678
|
-
payload = calldataToUserFriendlyJson(raw.slice(1));
|
|
679
|
-
}
|
|
680
|
-
}
|
|
681
|
-
return {
|
|
682
|
-
raw: cd64,
|
|
683
|
-
status,
|
|
684
|
-
payload
|
|
685
|
-
};
|
|
686
|
-
}
|
|
687
|
-
|
|
688
701
|
// src/transactions/decoders.ts
|
|
689
702
|
import { fromRlp, fromHex as fromHex2 } from "viem";
|
|
690
703
|
var FIELDS_TO_REMOVE = [
|
package/dist/types/index.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { Account, Address } from 'viem';
|
|
2
|
-
export { d as CalldataAddress, C as CalldataEncodable, i as ContractMethod, h as ContractMethodBase, f as ContractParamsArraySchemaElement, g as ContractParamsSchema, j as ContractSchema, a as DecodedCallData, D as DecodedDeployData, G as GenLayerClient, e as GenLayerMethod, b as GenLayerRawTransaction, c as GenLayerTransaction, H as Hash, M as MethodDescription, N as Network, S as SnapSource, k as TransactionHash, s as TransactionHashVariant, m as TransactionResult, p as TransactionResultNameToNumber, l as TransactionStatus, r as TransactionType, V as VoteType, o as transactionResultNumberToName, n as transactionsStatusNameToNumber, t as transactionsStatusNumberToName, q as voteTypeNameToNumber, v as voteTypeNumberToName } from '../index-
|
|
2
|
+
export { d as CalldataAddress, C as CalldataEncodable, i as ContractMethod, h as ContractMethodBase, f as ContractParamsArraySchemaElement, g as ContractParamsSchema, j as ContractSchema, a as DecodedCallData, D as DecodedDeployData, G as GenLayerClient, e as GenLayerMethod, b as GenLayerRawTransaction, c as GenLayerTransaction, H as Hash, M as MethodDescription, N as Network, S as SnapSource, k as TransactionHash, s as TransactionHashVariant, m as TransactionResult, p as TransactionResultNameToNumber, l as TransactionStatus, r as TransactionType, V as VoteType, o as transactionResultNumberToName, n as transactionsStatusNameToNumber, t as transactionsStatusNumberToName, q as voteTypeNameToNumber, v as voteTypeNumberToName } from '../index-DQUXmYng.cjs';
|
|
3
3
|
export { G as GenLayerChain } from '../chains-BYSCF33g.cjs';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { Account, Address } from 'viem';
|
|
2
|
-
export { d as CalldataAddress, C as CalldataEncodable, i as ContractMethod, h as ContractMethodBase, f as ContractParamsArraySchemaElement, g as ContractParamsSchema, j as ContractSchema, a as DecodedCallData, D as DecodedDeployData, G as GenLayerClient, e as GenLayerMethod, b as GenLayerRawTransaction, c as GenLayerTransaction, H as Hash, M as MethodDescription, N as Network, S as SnapSource, k as TransactionHash, s as TransactionHashVariant, m as TransactionResult, p as TransactionResultNameToNumber, l as TransactionStatus, r as TransactionType, V as VoteType, o as transactionResultNumberToName, n as transactionsStatusNameToNumber, t as transactionsStatusNumberToName, q as voteTypeNameToNumber, v as voteTypeNumberToName } from '../index-
|
|
2
|
+
export { d as CalldataAddress, C as CalldataEncodable, i as ContractMethod, h as ContractMethodBase, f as ContractParamsArraySchemaElement, g as ContractParamsSchema, j as ContractSchema, a as DecodedCallData, D as DecodedDeployData, G as GenLayerClient, e as GenLayerMethod, b as GenLayerRawTransaction, c as GenLayerTransaction, H as Hash, M as MethodDescription, N as Network, S as SnapSource, k as TransactionHash, s as TransactionHashVariant, m as TransactionResult, p as TransactionResultNameToNumber, l as TransactionStatus, r as TransactionType, V as VoteType, o as transactionResultNumberToName, n as transactionsStatusNameToNumber, t as transactionsStatusNumberToName, q as voteTypeNameToNumber, v as voteTypeNumberToName } from '../index-DVMV4wM0.js';
|
|
3
3
|
export { G as GenLayerChain } from '../chains-BYSCF33g.js';
|
package/package.json
CHANGED
package/src/contracts/actions.ts
CHANGED
|
@@ -11,9 +11,21 @@ import {
|
|
|
11
11
|
TransactionHashVariant,
|
|
12
12
|
} from "@/types";
|
|
13
13
|
import {fromHex, toHex, zeroAddress, encodeFunctionData, PublicClient, parseEventLogs} from "viem";
|
|
14
|
+
import {b64ToArray} from "@/utils/jsonifier";
|
|
14
15
|
|
|
15
16
|
export const contractActions = (client: GenLayerClient<GenLayerChain>, publicClient: PublicClient) => {
|
|
16
17
|
return {
|
|
18
|
+
getContractCode: async (address: Address): Promise<string> => {
|
|
19
|
+
if (client.chain.id !== localnet.id) {
|
|
20
|
+
throw new Error("Getting contract code is not supported on this network");
|
|
21
|
+
}
|
|
22
|
+
const result = (await client.request({
|
|
23
|
+
method: "gen_getContractCode",
|
|
24
|
+
params: [address],
|
|
25
|
+
})) as string;
|
|
26
|
+
const codeBytes = b64ToArray(result);
|
|
27
|
+
return new TextDecoder().decode(codeBytes);
|
|
28
|
+
},
|
|
17
29
|
getContractSchema: async (address: Address): Promise<ContractSchema> => {
|
|
18
30
|
if (client.chain.id !== localnet.id) {
|
|
19
31
|
throw new Error("Contract schema is not supported on this network");
|
package/src/types/clients.ts
CHANGED
|
@@ -15,6 +15,7 @@ export type GenLayerMethod =
|
|
|
15
15
|
| {method: "eth_sendRawTransaction"; params: [signedTransaction: string]}
|
|
16
16
|
| {method: "gen_getContractSchema"; params: [address: Address]}
|
|
17
17
|
| {method: "gen_getContractSchemaForCode"; params: [contractCode: string]}
|
|
18
|
+
| {method: "gen_getContractCode"; params: [address: Address]}
|
|
18
19
|
| {method: "sim_getTransactionsForAddress"; params: [address: Address, filter?: "all" | "from" | "to"]}
|
|
19
20
|
| {method: "eth_getTransactionCount"; params: [address: Address, block: string]}
|
|
20
21
|
| {method: "gen_call"; params: [requestParams: any]};
|
|
@@ -76,6 +77,7 @@ export type GenLayerClient<TGenLayerChain extends GenLayerChain> = Omit<
|
|
|
76
77
|
}) => Promise<GenLayerTransaction>;
|
|
77
78
|
getContractSchema: (address: Address) => Promise<ContractSchema>;
|
|
78
79
|
getContractSchemaForCode: (contractCode: string | Uint8Array) => Promise<ContractSchema>;
|
|
80
|
+
getContractCode: (address: Address) => Promise<string>;
|
|
79
81
|
initializeConsensusSmartContract: (forceReset?: boolean) => Promise<void>;
|
|
80
82
|
connect: (network?: Network, snapSource?: SnapSource) => Promise<void>;
|
|
81
83
|
metamaskClient: (snapSource?: SnapSource) => Promise<MetaMaskClientResult>;
|