You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
assert(message,`Attempted to call an invalid contract interface, ${JSON.stringify(messageOrId)}`);
20
+
21
+
returnmessage;
22
+
}
23
+
12
24
exportdefaultclassAbiextendsContractRegistry{
13
25
publicreadonlyconstructors: AbiConstructor[];
14
26
27
+
publicreadonlyjson: AnyJson;
28
+
15
29
publicreadonlymessages: AbiMessage[];
16
30
17
-
constructor(json: AnyJson){
31
+
constructor(abiJson: AnyJson){
32
+
constjson=isString(abiJson)
33
+
? JSON.parse(abiJson)asAnyJson
34
+
: abiJson;
35
+
36
+
assert(isObject(json)&&!Array.isArray(json)&&json.metadataVersion&&isObject(json.spec)&&!Array.isArray(json.spec)&&Array.isArray(json.spec.constructors)&&Array.isArray(json.spec.messages),'Invalid JSON ABI structure supplied, expected a recent metadata version');
// convert the offset into project-specific, index-1
@@ -13,19 +13,14 @@ export function getRegistryOffset (id: MtLookupTypeId): number {
13
13
}
14
14
15
15
exportdefaultclassContractRegistry{
16
-
publictypeDefs: TypeDef[]=[];
16
+
publicreadonlytypeDefs: TypeDef[]=[];
17
17
18
18
publicreadonlyregistry: Registry;
19
19
20
-
publicproject: InkProject;
21
-
22
-
publicjson: AnyJson;
23
-
24
-
constructor(json: AnyJson){
25
-
assert(isObject(json)&&!Array.isArray(json)&&json.metadataVersion&&isObject(json.spec)&&!Array.isArray(json.spec)&&Array.isArray(json.spec.constructors)&&Array.isArray(json.spec.messages),'Invalid JSON ABI structure supplied, expected a recent metadata version');
0 commit comments