@thalalabs/surf 1.4.0 → 1.5.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 +12 -0
- package/build/cjs/core/Client.js +6 -1
- package/build/cjs/core/Client.js.map +1 -1
- package/build/cjs/core/createEntryPayload.js +1 -1
- package/build/cjs/core/createEntryPayload.js.map +1 -1
- package/build/cjs/core/createViewPayload.js +1 -1
- package/build/cjs/core/createViewPayload.js.map +1 -1
- package/build/esm/core/Client.js +6 -1
- package/build/esm/core/Client.js.map +1 -1
- package/build/esm/core/createEntryPayload.js +1 -1
- package/build/esm/core/createEntryPayload.js.map +1 -1
- package/build/esm/core/createViewPayload.js +1 -1
- package/build/esm/core/createViewPayload.js.map +1 -1
- package/build/types/core/Client.d.ts +12 -1
- package/build/types/core/Client.d.ts.map +1 -1
- package/build/types/core/createViewPayload.d.ts.map +1 -1
- package/build/types/types/client/client.d.ts +3 -1
- package/build/types/types/client/client.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/core/Client.ts +20 -2
- package/src/core/createEntryPayload.ts +1 -1
- package/src/core/createViewPayload.ts +7 -7
- package/src/hooks/index.ts +1 -1
- package/src/types/client/client.ts +3 -1
package/CHANGELOG.md
CHANGED
package/build/cjs/core/Client.js
CHANGED
|
@@ -44,13 +44,17 @@ class Client {
|
|
|
44
44
|
transaction,
|
|
45
45
|
}))[0];
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
async fetchABI(address, moduleName) {
|
|
48
|
+
return (await this.client.getAccountModule({ accountAddress: address, moduleName: moduleName })).abi;
|
|
49
|
+
}
|
|
50
|
+
useABI(abi, address) {
|
|
48
51
|
return {
|
|
49
52
|
view: new Proxy({}, {
|
|
50
53
|
get: (_, prop) => {
|
|
51
54
|
const functionName = prop.toString();
|
|
52
55
|
return (...args) => {
|
|
53
56
|
const payload = (0, createViewPayload_js_1.createViewPayload)(abi, {
|
|
57
|
+
address: (address ?? abi.address),
|
|
54
58
|
function: functionName,
|
|
55
59
|
typeArguments: args[0].typeArguments,
|
|
56
60
|
functionArguments: args[0].functionArguments,
|
|
@@ -69,6 +73,7 @@ class Client {
|
|
|
69
73
|
const functionName = prop.toString();
|
|
70
74
|
return (...args) => {
|
|
71
75
|
const payload = (0, createEntryPayload_js_1.createEntryPayload)(abi, {
|
|
76
|
+
address: (address ?? abi.address),
|
|
72
77
|
function: functionName,
|
|
73
78
|
typeArguments: args[0].typeArguments,
|
|
74
79
|
functionArguments: args[0].functionArguments,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AAC3D,mEAA6D;AAqB7D,SAAgB,gBAAgB,CAE9B,WAAkB;IAClB,OAAO,IAAI,MAAM,CAAY,WAAW,CAAC,CAAC;AAC5C,CAAC;AAJD,4CAIC;AACD,MAAa,MAAM;IAGjB,YAAY,MAAa;QAFjB;;;;;WAAc;QAGpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAgBM,KAAK,CAAC,IAAI,CAA8B,IAG9C;QACC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAqBM,KAAK,CAAC,iBAAiB,CAAC,IAI9B;QACC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;YAC7D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC7C,IAAI,EAAE,IAAI,CAAC,OAAO;SACnB,CAAC,CAAC;QAGH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC;YAC5E,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW;SACZ,CAAC,CAAC;QAIH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAC1C,eAAe,EAAE,cAAc,CAAC,IAAI;YACpC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAsBM,KAAK,CAAC,mBAAmB,CAAC,IAIhC;QACC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;YAC7D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,OAAO;SACnB,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpD,eAAe,EAAE,IAAI,CAAC,SAAS;YAC/B,WAAW;SACZ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IACV,CAAC;
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AAC3D,mEAA6D;AAqB7D,SAAgB,gBAAgB,CAE9B,WAAkB;IAClB,OAAO,IAAI,MAAM,CAAY,WAAW,CAAC,CAAC;AAC5C,CAAC;AAJD,4CAIC;AACD,MAAa,MAAM;IAGjB,YAAY,MAAa;QAFjB;;;;;WAAc;QAGpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAgBM,KAAK,CAAC,IAAI,CAA8B,IAG9C;QACC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAqBM,KAAK,CAAC,iBAAiB,CAAC,IAI9B;QACC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;YAC7D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC7C,IAAI,EAAE,IAAI,CAAC,OAAO;SACnB,CAAC,CAAC;QAGH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC;YAC5E,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW;SACZ,CAAC,CAAC;QAIH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAC1C,eAAe,EAAE,cAAc,CAAC,IAAI;YACpC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAsBM,KAAK,CAAC,mBAAmB,CAAC,IAIhC;QACC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;YAC7D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,OAAO;SACnB,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpD,eAAe,EAAE,IAAI,CAAC,SAAS;YAC/B,WAAW;SACZ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IACV,CAAC;IAWM,KAAK,CAAC,QAAQ,CAAoB,OAAe,EAAE,UAAkB;QAGxE,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,GAAmB,CAAC;IACzH,CAAC;IAcM,MAAM,CAAoB,GAAM,EAAE,OAAgB;QACvD,OAAO;YAUL,IAAI,EAAE,IAAI,KAAK,CAAC,EAAsB,EAAE;gBACtC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;oBACf,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;wBACjB,MAAM,OAAO,GAAG,IAAA,wCAAiB,EAAC,GAAG,EAAE;4BACrC,OAAO,EAAE,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAkB;4BAClD,QAAQ,EAAE,YAAY;4BACtB,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa;4BACpC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB;yBAC7C,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC,IAAI,CAAC;4BACf,OAAO;4BACP,OAAO,EAAE;gCACP,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa;6BACrC;yBACF,CAAC,CAAC;oBACL,CAAC,CAAC;gBACJ,CAAC;aACF,CAAC;YAYF,KAAK,EAAE,IAAI,KAAK,CAAC,EAAuB,EAAE;gBACxC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;oBACf,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;wBACjB,MAAM,OAAO,GAAG,IAAA,0CAAkB,EAAC,GAAG,EAAE;4BACtC,OAAO,EAAE,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAkB;4BAClD,QAAQ,EAAE,YAAY;4BACtB,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa;4BACpC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB;yBAC7C,CAAC,CAAC;wBAEH,MAAM,OAAO,GAAY,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;wBACzC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY;4BACzB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;gCACzB,SAAS,EAAE,OAAO,CAAC,SAAS;gCAC5B,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;gCACzC,OAAO;6BACR,CAAC;4BACF,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;gCACvB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO;gCACvB,OAAO;6BACR,CAAC,CAAC;oBACP,CAAC,CAAC;gBACJ,CAAC;aACF,CAAC;YAWF,QAAQ,EAAE,IAAI,KAAK,CAAC,EAAqC,EAAE;gBACzD,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;oBACf,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;wBACjB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;4BACtC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;yBACtD;wBAED,MAAM,OAAO,GAAwB,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;wBACrD,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CACnC;4BACE,cAAc,EAAE,OAAO;4BACvB,YAAY,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE;4BAC1D,OAAO,EAAE;gCACP,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa;6BACrC;yBACF,CACF,CAAC;oBACJ,CAAC,CAAC;gBACJ,CAAC;aACF,CAAC;SACH,CAAC;IACJ,CAAC;CACF;AAzOD,wBAyOC"}
|
|
@@ -19,7 +19,7 @@ function createEntryPayload(abi, payload) {
|
|
|
19
19
|
return {
|
|
20
20
|
typeArguments: payload.typeArguments,
|
|
21
21
|
functionArguments: payload.functionArguments,
|
|
22
|
-
function: `${abi.address}::${abi.name}::${payload.function}`,
|
|
22
|
+
function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
exports.createEntryPayload = createEntryPayload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":";;;AA2BA,SAAgB,kBAAkB,CAGhC,GAAM,EAAE,OAA0C;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CACnC,CAAC,CAAC,CAAC,CAAC;IAEL,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IAGnE,MAAM,aAAa,GAAa,OAAO,CAAC,aAAsB,CAAC;IAG/D,MAAM,YAAY,GAAU,OAAO,CAAC,iBAA0B,CAAC;IAC/D,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;QAC3B,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC;IAGjC,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QACxC,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAC/H,CAAC;IACJ,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAC3D,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,aAAa,CAAC,MAAM,gBAAgB,CAC7I,CAAC;IAEJ,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QAEpC,iBAAiB,EAAE,OAAO,CAAC,iBAAwB;QACnD,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":";;;AA2BA,SAAgB,kBAAkB,CAGhC,GAAM,EAAE,OAA0C;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CACnC,CAAC,CAAC,CAAC,CAAC;IAEL,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IAGnE,MAAM,aAAa,GAAa,OAAO,CAAC,aAAsB,CAAC;IAG/D,MAAM,YAAY,GAAU,OAAO,CAAC,iBAA0B,CAAC;IAC/D,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;QAC3B,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC;IAGjC,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QACxC,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAC/H,CAAC;IACJ,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAC3D,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,aAAa,CAAC,MAAM,gBAAgB,CAC7I,CAAC;IAEJ,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QAEpC,iBAAiB,EAAE,OAAO,CAAC,iBAAwB;QACnD,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;KAChF,CAAC;AACJ,CAAC;AAvCD,gDAuCC"}
|
|
@@ -32,7 +32,7 @@ function createViewPayload(abi, payload) {
|
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
34
|
return {
|
|
35
|
-
function: `${abi.address}::${abi.name}::${payload.function}`,
|
|
35
|
+
function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
|
|
36
36
|
functionArguments: args,
|
|
37
37
|
typeArguments: payload.typeArguments,
|
|
38
38
|
abi: constructViewAbiObj(fnAbi),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":";;;AAOA,sDAAiD;AACjD,+CAM4B;AAmB5B,SAAgB,iBAAiB,CAI/B,GAAM,EACN,OAAyC;IAEzC,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CACnC,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,cAAc,GAAa,OAAO,CAAC,aAAa,CAAC;IAEvD,MAAM,aAAa,GAAU,OAAO,CAAC,iBAAiB,CAAC;IAGvD,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAC9C,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAC/H,CAAC;IACJ,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;QAC5D,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CACjJ,CAAC;IAGJ,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAY,CAAC;QACpD,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACvC,OAAO,IAAA,6BAAY,EAAC,GAAa,CAAC,CAAC;SACpC;aAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACjD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;aACvD;YACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAElC,OAAO,YAAY,CAAC,IAAI,EAAE,GAAY,CAAC,CAAC;SACzC;aAAM;YAEL,OAAO,GAAG,CAAC;SACZ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":";;;AAOA,sDAAiD;AACjD,+CAM4B;AAmB5B,SAAgB,iBAAiB,CAI/B,GAAM,EACN,OAAyC;IAEzC,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CACnC,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,cAAc,GAAa,OAAO,CAAC,aAAa,CAAC;IAEvD,MAAM,aAAa,GAAU,OAAO,CAAC,iBAAiB,CAAC;IAGvD,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAC9C,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAC/H,CAAC;IACJ,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;QAC5D,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CACjJ,CAAC;IAGJ,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAY,CAAC;QACpD,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACvC,OAAO,IAAA,6BAAY,EAAC,GAAa,CAAC,CAAC;SACpC;aAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACjD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;aACvD;YACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAElC,OAAO,YAAY,CAAC,IAAI,EAAE,GAAY,CAAC,CAAC;SACzC;aAAM;YAEL,OAAO,GAAG,CAAC;SACZ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KACtD,OAAO,CAAC,QACV,EAAE;QACF,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,OAAO,CAAC,aAAoC;QAC3D,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC;KAChC,CAAC;AACJ,CAAC;AArDD,8CAqDC;AAED,SAAS,mBAAmB,CAAC,GAAgB;IAE3C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IAGD,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAA,qBAAY,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;KACpE;IAGD,MAAM,WAAW,GAAc,EAAE,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAC7C,WAAW,CAAC,IAAI,CAAC,IAAA,qBAAY,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;KACzE;IAED,OAAO;QACL,cAAc,EACZ,GAAG,CAAC,mBAA0D;QAChE,UAAU,EAAE,MAAM;QAClB,WAAW;KACZ,CAAC;AACJ,CAAC;AAGD,SAAS,YAAY,CAAC,IAAY,EAAE,KAAU;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE;QAEV,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;KAC9C;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;KAC9C;IAED,IAAI,SAAS,KAAK,IAAI,EAAE;QACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,UAAU;YAAE,OAAO,KAAK,CAAC;QAC3E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC;KAC/C;SAAM,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACrD,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC/C;SAAM;QAGL,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
|
package/build/esm/core/Client.js
CHANGED
|
@@ -40,13 +40,17 @@ export class Client {
|
|
|
40
40
|
transaction,
|
|
41
41
|
}))[0];
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
async fetchABI(address, moduleName) {
|
|
44
|
+
return (await this.client.getAccountModule({ accountAddress: address, moduleName: moduleName })).abi;
|
|
45
|
+
}
|
|
46
|
+
useABI(abi, address) {
|
|
44
47
|
return {
|
|
45
48
|
view: new Proxy({}, {
|
|
46
49
|
get: (_, prop) => {
|
|
47
50
|
const functionName = prop.toString();
|
|
48
51
|
return (...args) => {
|
|
49
52
|
const payload = createViewPayload(abi, {
|
|
53
|
+
address: (address ?? abi.address),
|
|
50
54
|
function: functionName,
|
|
51
55
|
typeArguments: args[0].typeArguments,
|
|
52
56
|
functionArguments: args[0].functionArguments,
|
|
@@ -65,6 +69,7 @@ export class Client {
|
|
|
65
69
|
const functionName = prop.toString();
|
|
66
70
|
return (...args) => {
|
|
67
71
|
const payload = createEntryPayload(abi, {
|
|
72
|
+
address: (address ?? abi.address),
|
|
68
73
|
function: functionName,
|
|
69
74
|
typeArguments: args[0].typeArguments,
|
|
70
75
|
functionArguments: args[0].functionArguments,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAqB7D,MAAM,UAAU,gBAAgB,CAE9B,WAAkB;IAClB,OAAO,IAAI,MAAM,CAAY,WAAW,CAAC,CAAC;AAC5C,CAAC;AACD,MAAM,OAAO,MAAM;IAGjB,YAAY,MAAa;QAFjB;;;;;WAAc;QAGpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAgBM,KAAK,CAAC,IAAI,CAA8B,IAG9C;QACC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAqBM,KAAK,CAAC,iBAAiB,CAAC,IAI9B;QACC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;YAC7D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC7C,IAAI,EAAE,IAAI,CAAC,OAAO;SACnB,CAAC,CAAC;QAGH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC;YAC5E,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW;SACZ,CAAC,CAAC;QAIH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAC1C,eAAe,EAAE,cAAc,CAAC,IAAI;YACpC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAsBM,KAAK,CAAC,mBAAmB,CAAC,IAIhC;QACC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;YAC7D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,OAAO;SACnB,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpD,eAAe,EAAE,IAAI,CAAC,SAAS;YAC/B,WAAW;SACZ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IACV,CAAC;
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export function createEntryPayload(abi, payload) {
|
|
|
16
16
|
return {
|
|
17
17
|
typeArguments: payload.typeArguments,
|
|
18
18
|
functionArguments: payload.functionArguments,
|
|
19
|
-
function: `${abi.address}::${abi.name}::${payload.function}`,
|
|
19
|
+
function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=createEntryPayload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"AA2BA,MAAM,UAAU,kBAAkB,CAGhC,GAAM,EAAE,OAA0C;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CACnC,CAAC,CAAC,CAAC,CAAC;IAEL,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IAGnE,MAAM,aAAa,GAAa,OAAO,CAAC,aAAsB,CAAC;IAG/D,MAAM,YAAY,GAAU,OAAO,CAAC,iBAA0B,CAAC;IAC/D,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;QAC3B,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC;IAGjC,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QACxC,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAC/H,CAAC;IACJ,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAC3D,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,aAAa,CAAC,MAAM,gBAAgB,CAC7I,CAAC;IAEJ,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QAEpC,iBAAiB,EAAE,OAAO,CAAC,iBAAwB;QACnD,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"AA2BA,MAAM,UAAU,kBAAkB,CAGhC,GAAM,EAAE,OAA0C;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CACnC,CAAC,CAAC,CAAC,CAAC;IAEL,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IAGnE,MAAM,aAAa,GAAa,OAAO,CAAC,aAAsB,CAAC;IAG/D,MAAM,YAAY,GAAU,OAAO,CAAC,iBAA0B,CAAC;IAC/D,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;QAC3B,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC;IAGjC,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QACxC,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAC/H,CAAC;IACJ,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAC3D,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,aAAa,CAAC,MAAM,gBAAgB,CAC7I,CAAC;IAEJ,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QAEpC,iBAAiB,EAAE,OAAO,CAAC,iBAAwB;QACnD,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;KAChF,CAAC;AACJ,CAAC"}
|
|
@@ -29,7 +29,7 @@ export function createViewPayload(abi, payload) {
|
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
31
|
return {
|
|
32
|
-
function: `${abi.address}::${abi.name}::${payload.function}`,
|
|
32
|
+
function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
|
|
33
33
|
functionArguments: args,
|
|
34
34
|
typeArguments: payload.typeArguments,
|
|
35
35
|
abi: constructViewAbiObj(fnAbi),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAKL,YAAY,GACb,MAAM,oBAAoB,CAAC;AAmB5B,MAAM,UAAU,iBAAiB,CAI/B,GAAM,EACN,OAAyC;IAEzC,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CACnC,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,cAAc,GAAa,OAAO,CAAC,aAAa,CAAC;IAEvD,MAAM,aAAa,GAAU,OAAO,CAAC,iBAAiB,CAAC;IAGvD,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAC9C,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAC/H,CAAC;IACJ,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;QAC5D,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CACjJ,CAAC;IAGJ,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAY,CAAC;QACpD,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACvC,OAAO,YAAY,CAAC,GAAa,CAAC,CAAC;SACpC;aAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACjD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;aACvD;YACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAElC,OAAO,YAAY,CAAC,IAAI,EAAE,GAAY,CAAC,CAAC;SACzC;aAAM;YAEL,OAAO,GAAG,CAAC;SACZ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,10 +80,21 @@ export declare class Client<TABITable extends ABITable> {
|
|
|
80
80
|
sender: AccountAddressInput;
|
|
81
81
|
payload: EntryPayload;
|
|
82
82
|
}): Promise<UserTransactionResponse>;
|
|
83
|
+
/**
|
|
84
|
+
* Builds ABI from a provided address and module name for given client. ABI name can be taken from abi.name
|
|
85
|
+
*
|
|
86
|
+
* @param address The module address
|
|
87
|
+
* @param moduleName The module name
|
|
88
|
+
* @returns The constructed ABI
|
|
89
|
+
* @example
|
|
90
|
+
* const abi = await client.fetchABI(address = '0x1', moduleName = 'AptosCoin');
|
|
91
|
+
*/
|
|
92
|
+
fetchABI<T extends ABIRoot>(address: string, moduleName: string): Promise<T>;
|
|
83
93
|
/**
|
|
84
94
|
* Create a client associated with a specific ABI.
|
|
85
95
|
*
|
|
86
96
|
* @param abi The ABI JSON.
|
|
97
|
+
* @param address The address of the module. If not provided, ABI address will be used.
|
|
87
98
|
* @returns A client can call view/entry functions or get account resource.
|
|
88
99
|
* @example
|
|
89
100
|
* const [balance] = await client.useABI(COIN_ABI).view.balance({
|
|
@@ -91,7 +102,7 @@ export declare class Client<TABITable extends ABITable> {
|
|
|
91
102
|
* typeArguments: ['0x1::aptos_coin::AptosCoin'],
|
|
92
103
|
* });
|
|
93
104
|
*/
|
|
94
|
-
useABI<T extends ABIRoot>(abi: T): {
|
|
105
|
+
useABI<T extends ABIRoot>(abi: T, address?: string): {
|
|
95
106
|
/**
|
|
96
107
|
* Queries for a Move view function
|
|
97
108
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,aAAa,EACb,OAAO,EACP,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,SAAS,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEnM;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,SAAS,QAAQ,GAAG,eAAe,EAC5C,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAEvC;AACD,qBAAa,MAAM,CAAC,SAAS,SAAS,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,KAAK;IAIzB;;;;;;;;;;;;;OAaG;IACU,IAAI,CAAC,OAAO,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE;QACnD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,gBAAgB,CAAC;KAC5B,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB;;;;;;;;;;;;;;;;;;OAkBG;IACU,iBAAiB,CAAC,IAAI,EAAE;QACnC,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,YAAY,CAAC;QACtB,OAAO,CAAC,EAAE,yBAAyB,CAAA;KACpC,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAoBzC;;;;;;;;;;;;;;;;;;;OAmBG;IACU,mBAAmB,CAAC,IAAI,EAAE;QACrC,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,EAAE,mBAAmB,CAAC;QAC5B,OAAO,EAAE,YAAY,CAAC;KACvB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYpC
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,aAAa,EACb,OAAO,EACP,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,SAAS,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEnM;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,SAAS,QAAQ,GAAG,eAAe,EAC5C,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAEvC;AACD,qBAAa,MAAM,CAAC,SAAS,SAAS,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,KAAK;IAIzB;;;;;;;;;;;;;OAaG;IACU,IAAI,CAAC,OAAO,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE;QACnD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,gBAAgB,CAAC;KAC5B,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB;;;;;;;;;;;;;;;;;;OAkBG;IACU,iBAAiB,CAAC,IAAI,EAAE;QACnC,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,YAAY,CAAC;QACtB,OAAO,CAAC,EAAE,yBAAyB,CAAA;KACpC,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAoBzC;;;;;;;;;;;;;;;;;;;OAmBG;IACU,mBAAmB,CAAC,IAAI,EAAE;QACrC,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,EAAE,mBAAmB,CAAC;QAC5B,OAAO,EAAE,YAAY,CAAC;KACvB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYpC;;;;;;;;OAQG;IACU,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAMzF;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM;QAErD;;;;;;;;WAQG;;QAqBH;;;;;;;;;WASG;;QA2BH;;;;;;;;WAQG;;;CAwBR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createViewPayload.d.ts","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAW3B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAErC,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,GACxC,WAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"createViewPayload.d.ts","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAW3B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAErC,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,GACxC,WAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CA+C9C"}
|
|
@@ -19,6 +19,7 @@ export type EntryPayload = {
|
|
|
19
19
|
* The input payload type of `createEntryPayload`
|
|
20
20
|
*/
|
|
21
21
|
export type EntryRequestPayload<T extends ABIRoot, TFuncName extends EntryFunctionName<T>> = {
|
|
22
|
+
address?: `0x${string}`;
|
|
22
23
|
function: TFuncName;
|
|
23
24
|
functionArguments: ExtractArgsTypeOmitSigner<T, TFuncName>;
|
|
24
25
|
typeArguments: ExtractGenericArgsType<T, TFuncName>;
|
|
@@ -27,6 +28,7 @@ export type EntryRequestPayload<T extends ABIRoot, TFuncName extends EntryFuncti
|
|
|
27
28
|
* The input payload type of `createViewPayload`
|
|
28
29
|
*/
|
|
29
30
|
export type ViewRequestPayload<T extends ABIRoot, TFuncName extends ViewFunctionName<T>> = {
|
|
31
|
+
address?: `0x${string}`;
|
|
30
32
|
function: TFuncName;
|
|
31
33
|
functionArguments: ExtractArgsType<T, TFuncName>;
|
|
32
34
|
typeArguments: ExtractGenericArgsType<T, TFuncName>;
|
|
@@ -38,6 +40,6 @@ export type ViewPayload<_TReturn> = {
|
|
|
38
40
|
function: MoveFunctionId;
|
|
39
41
|
typeArguments?: Array<TypeTag | string>;
|
|
40
42
|
functionArguments?: Array<EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes>;
|
|
41
|
-
abi
|
|
43
|
+
abi?: ViewFunctionABI;
|
|
42
44
|
};
|
|
43
45
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/types/client/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,gCAAgC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE5I,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,KAAK,CAAC,0BAA0B,GAAG,gCAAgC,CAAC,CAAC;CACzF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,iBAAiB,CAAC,CAAC,CAAC,IACpC;IACF,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,EAAE,yBAAyB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3D,aAAa,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC,IACnC;IACF,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,EAAE,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACjD,aAAa,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,IAAI;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAC,KAAK,CAAC,0BAA0B,GAAG,gCAAgC,CAAC,CAAC;IACxF,GAAG,EAAE,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/types/client/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,gCAAgC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE5I,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,KAAK,CAAC,0BAA0B,GAAG,gCAAgC,CAAC,CAAC;CACzF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,iBAAiB,CAAC,CAAC,CAAC,IACpC;IACF,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,EAAE,yBAAyB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3D,aAAa,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC,IACnC;IACF,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,EAAE,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACjD,aAAa,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,IAAI;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAC,KAAK,CAAC,0BAA0B,GAAG,gCAAgC,CAAC,CAAC;IACxF,GAAG,CAAC,EAAE,eAAe,CAAA;CACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thalalabs/surf",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "TypeScript Interfaces & React Hooks for interacting with Aptos Smart Contracts with type safety.",
|
|
5
5
|
"main": "./build/cjs/index.js",
|
|
6
6
|
"module": "./build/esm/index.js",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"@types/react": "^18.2.8",
|
|
41
41
|
"@typescript-eslint/eslint-plugin": "~5.62",
|
|
42
42
|
"@typescript-eslint/parser": "~5.62",
|
|
43
|
-
"eslint": "~8.
|
|
44
|
-
"eslint-config-prettier": "~
|
|
43
|
+
"eslint": "~8.57",
|
|
44
|
+
"eslint-config-prettier": "~9.1",
|
|
45
45
|
"eslint-plugin-jest": "~27.6",
|
|
46
46
|
"jest": "~29.7",
|
|
47
47
|
"prettier": "~3.1",
|
package/src/core/Client.ts
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
EntryPayload,
|
|
8
8
|
ViewPayload,
|
|
9
9
|
DefaultABITable,
|
|
10
|
-
ABIResourceClient
|
|
10
|
+
ABIResourceClient
|
|
11
11
|
} from '../types/index.js';
|
|
12
12
|
import { ABITable } from '../types/defaultABITable.js';
|
|
13
13
|
import { Aptos, LedgerVersionArg, MoveValue, Account, CommittedTransactionResponse, PublicKey, AccountAddressInput, UserTransactionResponse, WaitForTransactionOptions } from "@aptos-labs/ts-sdk";
|
|
@@ -132,10 +132,26 @@ export class Client<TABITable extends ABITable> {
|
|
|
132
132
|
}))[0]!;
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
+
/**
|
|
136
|
+
* Builds ABI from a provided address and module name for given client. ABI name can be taken from abi.name
|
|
137
|
+
*
|
|
138
|
+
* @param address The module address
|
|
139
|
+
* @param moduleName The module name
|
|
140
|
+
* @returns The constructed ABI
|
|
141
|
+
* @example
|
|
142
|
+
* const abi = await client.fetchABI(address = '0x1', moduleName = 'AptosCoin');
|
|
143
|
+
*/
|
|
144
|
+
public async fetchABI<T extends ABIRoot>(address: string, moduleName: string): Promise<T> {
|
|
145
|
+
// Fetches ABI fom address and module name for given client
|
|
146
|
+
// throws if inexistent module name in address for given client
|
|
147
|
+
return (await this.client.getAccountModule({ accountAddress: address, moduleName: moduleName })).abi as unknown as T;
|
|
148
|
+
}
|
|
149
|
+
|
|
135
150
|
/**
|
|
136
151
|
* Create a client associated with a specific ABI.
|
|
137
152
|
*
|
|
138
153
|
* @param abi The ABI JSON.
|
|
154
|
+
* @param address The address of the module. If not provided, ABI address will be used.
|
|
139
155
|
* @returns A client can call view/entry functions or get account resource.
|
|
140
156
|
* @example
|
|
141
157
|
* const [balance] = await client.useABI(COIN_ABI).view.balance({
|
|
@@ -143,7 +159,7 @@ export class Client<TABITable extends ABITable> {
|
|
|
143
159
|
* typeArguments: ['0x1::aptos_coin::AptosCoin'],
|
|
144
160
|
* });
|
|
145
161
|
*/
|
|
146
|
-
public useABI<T extends ABIRoot>(abi: T) {
|
|
162
|
+
public useABI<T extends ABIRoot>(abi: T, address?: string) {
|
|
147
163
|
return {
|
|
148
164
|
/**
|
|
149
165
|
* Queries for a Move view function
|
|
@@ -159,6 +175,7 @@ export class Client<TABITable extends ABITable> {
|
|
|
159
175
|
const functionName = prop.toString();
|
|
160
176
|
return (...args) => {
|
|
161
177
|
const payload = createViewPayload(abi, {
|
|
178
|
+
address: (address ?? abi.address) as `0x${string}`,
|
|
162
179
|
function: functionName,
|
|
163
180
|
typeArguments: args[0].typeArguments,
|
|
164
181
|
functionArguments: args[0].functionArguments,
|
|
@@ -188,6 +205,7 @@ export class Client<TABITable extends ABITable> {
|
|
|
188
205
|
const functionName = prop.toString();
|
|
189
206
|
return (...args) => {
|
|
190
207
|
const payload = createEntryPayload(abi, {
|
|
208
|
+
address: (address ?? abi.address) as `0x${string}`,
|
|
191
209
|
function: functionName,
|
|
192
210
|
typeArguments: args[0].typeArguments,
|
|
193
211
|
functionArguments: args[0].functionArguments,
|
|
@@ -62,6 +62,6 @@ export function createEntryPayload<
|
|
|
62
62
|
typeArguments: payload.typeArguments,
|
|
63
63
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
64
64
|
functionArguments: payload.functionArguments as any,
|
|
65
|
-
function: `${abi.address}::${abi.name}::${payload.function}`,
|
|
65
|
+
function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
|
|
66
66
|
};
|
|
67
67
|
}
|
|
@@ -77,7 +77,9 @@ export function createViewPayload<
|
|
|
77
77
|
});
|
|
78
78
|
|
|
79
79
|
return {
|
|
80
|
-
function: `${abi.address}::${abi.name}::${
|
|
80
|
+
function: `${payload.address ?? abi.address}::${abi.name}::${
|
|
81
|
+
payload.function
|
|
82
|
+
}`,
|
|
81
83
|
functionArguments: args,
|
|
82
84
|
typeArguments: payload.typeArguments as Array<MoveStructId>,
|
|
83
85
|
abi: constructViewAbiObj(fnAbi),
|
|
@@ -119,19 +121,17 @@ function encodeVector(type: string, value: any) {
|
|
|
119
121
|
throw new Error(`Unsupported type: ${type}`);
|
|
120
122
|
}
|
|
121
123
|
const innerType = match[1];
|
|
122
|
-
if(!innerType) {
|
|
124
|
+
if (!innerType) {
|
|
123
125
|
throw new Error(`Unsupported type: ${type}`);
|
|
124
126
|
}
|
|
125
127
|
|
|
126
128
|
if (innerType === 'u8') {
|
|
127
|
-
if (typeof value === 'string' || value instanceof Uint8Array)
|
|
128
|
-
return value;
|
|
129
|
+
if (typeof value === 'string' || value instanceof Uint8Array) return value;
|
|
129
130
|
if (Array.isArray(value)) {
|
|
130
|
-
return value
|
|
131
|
+
return value;
|
|
131
132
|
}
|
|
132
133
|
|
|
133
|
-
throw new Error(`Invalid u8 value: ${value}`)
|
|
134
|
-
|
|
134
|
+
throw new Error(`Invalid u8 value: ${value}`);
|
|
135
135
|
} else if (['bool', 'u16', 'u32'].includes(innerType)) {
|
|
136
136
|
return value;
|
|
137
137
|
} else if (['u64', 'u128', 'u256'].includes(innerType)) {
|
package/src/hooks/index.ts
CHANGED
|
@@ -32,6 +32,7 @@ export type EntryRequestPayload<
|
|
|
32
32
|
T extends ABIRoot,
|
|
33
33
|
TFuncName extends EntryFunctionName<T>,
|
|
34
34
|
> = {
|
|
35
|
+
address?: `0x${string}`;
|
|
35
36
|
function: TFuncName;
|
|
36
37
|
functionArguments: ExtractArgsTypeOmitSigner<T, TFuncName>;
|
|
37
38
|
typeArguments: ExtractGenericArgsType<T, TFuncName>;
|
|
@@ -44,6 +45,7 @@ export type ViewRequestPayload<
|
|
|
44
45
|
T extends ABIRoot,
|
|
45
46
|
TFuncName extends ViewFunctionName<T>,
|
|
46
47
|
> = {
|
|
48
|
+
address?: `0x${string}`;
|
|
47
49
|
function: TFuncName;
|
|
48
50
|
functionArguments: ExtractArgsType<T, TFuncName>;
|
|
49
51
|
typeArguments: ExtractGenericArgsType<T, TFuncName>;
|
|
@@ -56,5 +58,5 @@ export type ViewPayload<_TReturn> = {
|
|
|
56
58
|
function: MoveFunctionId;
|
|
57
59
|
typeArguments?: Array<TypeTag | string>;
|
|
58
60
|
functionArguments?:Array<EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes>;
|
|
59
|
-
abi
|
|
61
|
+
abi?: ViewFunctionABI
|
|
60
62
|
};
|