UNPKG

@0xcert/ethereum-sandbox

Version:

Test server for local running testing of modules on the Ethereum blockchain.

1 lines 79.4 kB
{"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/index.ts":{"path":"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/index.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":19},"end":{"line":11,"column":1}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":126}},"10":{"start":{"line":10,"column":21},"end":{"line":10,"column":126}},"11":{"start":{"line":10,"column":95},"end":{"line":10,"column":126}},"12":{"start":{"line":12,"column":0},"end":{"line":12,"column":62}},"13":{"start":{"line":13,"column":0},"end":{"line":13,"column":49}},"14":{"start":{"line":14,"column":0},"end":{"line":14,"column":50}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":50},"end":{"line":9,"column":51}},"loc":{"start":{"line":9,"column":71},"end":{"line":11,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":19},"end":{"line":11,"column":1}},"type":"binary-expr","locations":[{"start":{"line":9,"column":20},"end":{"line":9,"column":24}},{"start":{"line":9,"column":28},"end":{"line":9,"column":45}},{"start":{"line":9,"column":50},"end":{"line":11,"column":1}}],"line":9},"5":{"loc":{"start":{"line":10,"column":21},"end":{"line":10,"column":126}},"type":"if","locations":[{"start":{"line":10,"column":21},"end":{"line":10,"column":126}},{"start":{"line":10,"column":21},"end":{"line":10,"column":126}}],"line":10},"6":{"loc":{"start":{"line":10,"column":25},"end":{"line":10,"column":93}},"type":"binary-expr","locations":[{"start":{"line":10,"column":25},"end":{"line":10,"column":40}},{"start":{"line":10,"column":44},"end":{"line":10,"column":93}}],"line":10}},"s":{"0":1,"1":2,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":1,"9":2,"10":2,"11":2,"12":1,"13":1,"14":1},"f":{"0":2,"1":2,"2":0,"3":2},"b":{"0":[1,1,1],"1":[1,0],"2":[2,0],"3":[0,0],"4":[1,1,1],"5":[2,0],"6":[2,2]},"inputSourceMap":{"version":3,"file":"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/index.ts","sources":["/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC","sourcesContent":["export * from './core/sandbox';\nexport * from './core/protocol';\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c2cab0b665e6411681e0af46c2709a4bff3e63dd","contentHash":"c958931a9e8080cd01287adee26d63510b4dfa576a49c2cc48c17a674e8006d6"},"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/core/sandbox.ts":{"path":"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/core/sandbox.ts","statementMap":{"0":{"start":{"line":2,"column":16},"end":{"line":10,"column":1}},"1":{"start":{"line":3,"column":28},"end":{"line":3,"column":110}},"2":{"start":{"line":3,"column":91},"end":{"line":3,"column":106}},"3":{"start":{"line":4,"column":4},"end":{"line":9,"column":7}},"4":{"start":{"line":5,"column":36},"end":{"line":5,"column":97}},"5":{"start":{"line":5,"column":42},"end":{"line":5,"column":70}},"6":{"start":{"line":5,"column":85},"end":{"line":5,"column":95}},"7":{"start":{"line":6,"column":35},"end":{"line":6,"column":100}},"8":{"start":{"line":6,"column":41},"end":{"line":6,"column":73}},"9":{"start":{"line":6,"column":88},"end":{"line":6,"column":98}},"10":{"start":{"line":7,"column":32},"end":{"line":7,"column":116}},"11":{"start":{"line":8,"column":8},"end":{"line":8,"column":78}},"12":{"start":{"line":11,"column":0},"end":{"line":11,"column":62}},"13":{"start":{"line":12,"column":0},"end":{"line":12,"column":25}},"14":{"start":{"line":13,"column":16},"end":{"line":13,"column":39}},"15":{"start":{"line":14,"column":13},"end":{"line":14,"column":28}},"16":{"start":{"line":15,"column":19},"end":{"line":15,"column":40}},"17":{"start":{"line":18,"column":25},"end":{"line":18,"column":53}},"18":{"start":{"line":19,"column":8},"end":{"line":19,"column":41}},"19":{"start":{"line":20,"column":8},"end":{"line":20,"column":24}},"20":{"start":{"line":23,"column":8},"end":{"line":23,"column":45}},"21":{"start":{"line":26,"column":8},"end":{"line":35,"column":11}},"22":{"start":{"line":27,"column":12},"end":{"line":27,"column":49}},"23":{"start":{"line":28,"column":12},"end":{"line":31,"column":15}},"24":{"start":{"line":29,"column":16},"end":{"line":29,"column":50}},"25":{"start":{"line":30,"column":16},"end":{"line":30,"column":87}},"26":{"start":{"line":30,"column":56},"end":{"line":30,"column":85}},"27":{"start":{"line":32,"column":12},"end":{"line":32,"column":66}},"28":{"start":{"line":33,"column":12},"end":{"line":33,"column":72}},"29":{"start":{"line":34,"column":12},"end":{"line":34,"column":24}},"30":{"start":{"line":38,"column":8},"end":{"line":46,"column":11}},"31":{"start":{"line":39,"column":12},"end":{"line":44,"column":13}},"32":{"start":{"line":40,"column":16},"end":{"line":40,"column":36}},"33":{"start":{"line":41,"column":16},"end":{"line":41,"column":35}},"34":{"start":{"line":42,"column":16},"end":{"line":42,"column":38}},"35":{"start":{"line":43,"column":16},"end":{"line":43,"column":42}},"36":{"start":{"line":45,"column":12},"end":{"line":45,"column":24}},"37":{"start":{"line":49,"column":0},"end":{"line":49,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":44},"end":{"line":2,"column":45}},"loc":{"start":{"line":2,"column":89},"end":{"line":10,"column":1}},"line":2},"1":{"name":"adopt","decl":{"start":{"line":3,"column":13},"end":{"line":3,"column":18}},"loc":{"start":{"line":3,"column":26},"end":{"line":3,"column":112}},"line":3},"2":{"name":"(anonymous_2)","decl":{"start":{"line":3,"column":70},"end":{"line":3,"column":71}},"loc":{"start":{"line":3,"column":89},"end":{"line":3,"column":108}},"line":3},"3":{"name":"(anonymous_3)","decl":{"start":{"line":4,"column":36},"end":{"line":4,"column":37}},"loc":{"start":{"line":4,"column":63},"end":{"line":9,"column":5}},"line":4},"4":{"name":"fulfilled","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":26}},"loc":{"start":{"line":5,"column":34},"end":{"line":5,"column":99}},"line":5},"5":{"name":"rejected","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":25}},"loc":{"start":{"line":6,"column":33},"end":{"line":6,"column":102}},"line":6},"6":{"name":"step","decl":{"start":{"line":7,"column":17},"end":{"line":7,"column":21}},"loc":{"start":{"line":7,"column":30},"end":{"line":7,"column":118}},"line":7},"7":{"name":"(anonymous_7)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":5}},"loc":{"start":{"line":17,"column":35},"end":{"line":21,"column":5}},"line":17},"8":{"name":"(anonymous_8)","decl":{"start":{"line":22,"column":4},"end":{"line":22,"column":5}},"loc":{"start":{"line":22,"column":27},"end":{"line":24,"column":5}},"line":22},"9":{"name":"(anonymous_9)","decl":{"start":{"line":25,"column":4},"end":{"line":25,"column":5}},"loc":{"start":{"line":25,"column":20},"end":{"line":36,"column":5}},"line":25},"10":{"name":"(anonymous_10)","decl":{"start":{"line":26,"column":47},"end":{"line":26,"column":48}},"loc":{"start":{"line":26,"column":60},"end":{"line":35,"column":9}},"line":26},"11":{"name":"(anonymous_11)","decl":{"start":{"line":28,"column":30},"end":{"line":28,"column":31}},"loc":{"start":{"line":28,"column":51},"end":{"line":31,"column":13}},"line":28},"12":{"name":"(anonymous_12)","decl":{"start":{"line":30,"column":49},"end":{"line":30,"column":50}},"loc":{"start":{"line":30,"column":56},"end":{"line":30,"column":85}},"line":30},"13":{"name":"(anonymous_13)","decl":{"start":{"line":37,"column":4},"end":{"line":37,"column":5}},"loc":{"start":{"line":37,"column":12},"end":{"line":47,"column":5}},"line":37},"14":{"name":"(anonymous_14)","decl":{"start":{"line":38,"column":47},"end":{"line":38,"column":48}},"loc":{"start":{"line":38,"column":60},"end":{"line":46,"column":9}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":16},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":17},"end":{"line":2,"column":21}},{"start":{"line":2,"column":25},"end":{"line":2,"column":39}},{"start":{"line":2,"column":44},"end":{"line":10,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":35},"end":{"line":3,"column":109}},"type":"cond-expr","locations":[{"start":{"line":3,"column":56},"end":{"line":3,"column":61}},{"start":{"line":3,"column":64},"end":{"line":3,"column":109}}],"line":3},"2":{"loc":{"start":{"line":4,"column":16},"end":{"line":4,"column":34}},"type":"binary-expr","locations":[{"start":{"line":4,"column":16},"end":{"line":4,"column":17}},{"start":{"line":4,"column":22},"end":{"line":4,"column":33}}],"line":4},"3":{"loc":{"start":{"line":7,"column":32},"end":{"line":7,"column":115}},"type":"cond-expr","locations":[{"start":{"line":7,"column":46},"end":{"line":7,"column":67}},{"start":{"line":7,"column":70},"end":{"line":7,"column":115}}],"line":7},"4":{"loc":{"start":{"line":8,"column":51},"end":{"line":8,"column":67}},"type":"binary-expr","locations":[{"start":{"line":8,"column":51},"end":{"line":8,"column":61}},{"start":{"line":8,"column":65},"end":{"line":8,"column":67}}],"line":8},"5":{"loc":{"start":{"line":30,"column":56},"end":{"line":30,"column":85}},"type":"cond-expr","locations":[{"start":{"line":30,"column":60},"end":{"line":30,"column":69}},{"start":{"line":30,"column":72},"end":{"line":30,"column":85}}],"line":30},"6":{"loc":{"start":{"line":39,"column":12},"end":{"line":44,"column":13}},"type":"if","locations":[{"start":{"line":39,"column":12},"end":{"line":44,"column":13}},{"start":{"line":39,"column":12},"end":{"line":44,"column":13}}],"line":39}},"s":{"0":1,"1":2,"2":0,"3":2,"4":2,"5":2,"6":0,"7":0,"8":0,"9":0,"10":4,"11":2,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"f":{"0":2,"1":2,"2":0,"3":2,"4":2,"5":0,"6":4,"7":1,"8":0,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1},"b":{"0":[1,1,1],"1":[2,0],"2":[2,2],"3":[2,2],"4":[2,2],"5":[0,1],"6":[1,0]},"inputSourceMap":{"version":3,"file":"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/core/sandbox.ts","sources":["/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/core/sandbox.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAwC;AACxC,6BAA6B;AAC7B,yCAAsC;AAatC,MAAa,OAAO;IASX,MAAM,CAAC,cAAc,CAAC,OAAwB;QACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9C,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAMM,MAAM,CAAC,MAAM,CAAC,OAAwB;QAC3C,OAAO,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAMY,MAAM,CAAC,OAAwB;;YAC1C,OAAO,qBAAQ,OAAO,CAAE,CAAC;YAEzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,GAAG,IAAK,IAAY,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,QAAQ,GAAG,MAAM,mBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAKY,KAAK;;YAEhB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;aAC3B;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;CAEF;AAxDD,0BAwDC","sourcesContent":["import * as ganache from 'ganache-core';\nimport * as Web3 from 'web3';\nimport { Protocol } from './protocol';\n\n/**\n * Sandbox configuration options.\n */\nexport interface SandboxOptions {\n  port?: number;\n  blockTime?: number;\n}\n\n/**\n * Sandbox server for testing Ethereum code.\n */\nexport class Sandbox {\n  public server: any;\n  public web3: any;\n  public protocol: Protocol;\n\n  /**\n   * Returns and instance of a sandbox Web3 provider.\n   * @param options Sandbox configuration options.\n   */\n  public static createProvider(options?: SandboxOptions) {\n    const provider = ganache['provider'](options);\n    provider.setMaxListeners(999999); // hide MaxListenersExceededWarning produced by ganache provider.\n    return provider;\n  }\n\n  /**\n   * Starts the server.\n   * @param options Sandbox configuration options.\n   */\n  public static listen(options?: SandboxOptions) {\n    return new Sandbox().listen(options);\n  }\n\n  /**\n   * Starts the server.\n   * @param options Sandbox configuration options.\n   */\n  public async listen(options?: SandboxOptions) {\n    options = { ...options };\n\n    await new Promise((resolve, reject) => {\n      this.server = ganache['server']();\n      this.server.listen(options.port, (e) => e ? reject(e) : resolve(null));\n    });\n\n    this.web3 = new (Web3 as any)(Sandbox.createProvider(options));\n    this.protocol = await Protocol.deploy(this.web3);\n\n    return this;\n  }\n\n  /**\n   * Stops the server.\n   */\n  public async close() {\n\n    if (this.server) {\n      this.server.close();\n      this.server = null;\n      this.web3 = undefined;\n      this.protocol = undefined;\n    }\n\n    return this;\n  }\n\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3d8de6cea6dac91dca8a4ca6414190a4114993fb","contentHash":"f67394368329e077b35b2e8388f7f9396c754fcd214afb3296091c565d9ec017"},"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/core/protocol.ts":{"path":"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/core/protocol.ts","statementMap":{"0":{"start":{"line":2,"column":16},"end":{"line":10,"column":1}},"1":{"start":{"line":3,"column":28},"end":{"line":3,"column":110}},"2":{"start":{"line":3,"column":91},"end":{"line":3,"column":106}},"3":{"start":{"line":4,"column":4},"end":{"line":9,"column":7}},"4":{"start":{"line":5,"column":36},"end":{"line":5,"column":97}},"5":{"start":{"line":5,"column":42},"end":{"line":5,"column":70}},"6":{"start":{"line":5,"column":85},"end":{"line":5,"column":95}},"7":{"start":{"line":6,"column":35},"end":{"line":6,"column":100}},"8":{"start":{"line":6,"column":41},"end":{"line":6,"column":73}},"9":{"start":{"line":6,"column":88},"end":{"line":6,"column":98}},"10":{"start":{"line":7,"column":32},"end":{"line":7,"column":116}},"11":{"start":{"line":8,"column":8},"end":{"line":8,"column":78}},"12":{"start":{"line":11,"column":0},"end":{"line":11,"column":62}},"13":{"start":{"line":12,"column":0},"end":{"line":12,"column":26}},"14":{"start":{"line":13,"column":18},"end":{"line":13,"column":48}},"15":{"start":{"line":14,"column":17},"end":{"line":14,"column":41}},"16":{"start":{"line":17,"column":8},"end":{"line":17,"column":25}},"17":{"start":{"line":20,"column":8},"end":{"line":20,"column":47}},"18":{"start":{"line":23,"column":8},"end":{"line":51,"column":11}},"19":{"start":{"line":24,"column":12},"end":{"line":26,"column":13}},"20":{"start":{"line":25,"column":16},"end":{"line":25,"column":75}},"21":{"start":{"line":25,"column":69},"end":{"line":25,"column":73}},"22":{"start":{"line":27,"column":12},"end":{"line":27,"column":54}},"23":{"start":{"line":28,"column":12},"end":{"line":28,"column":76}},"24":{"start":{"line":29,"column":12},"end":{"line":29,"column":72}},"25":{"start":{"line":30,"column":12},"end":{"line":30,"column":56}},"26":{"start":{"line":31,"column":12},"end":{"line":31,"column":76}},"27":{"start":{"line":32,"column":12},"end":{"line":32,"column":68}},"28":{"start":{"line":33,"column":12},"end":{"line":33,"column":70}},"29":{"start":{"line":34,"column":12},"end":{"line":34,"column":72}},"30":{"start":{"line":35,"column":12},"end":{"line":35,"column":54}},"31":{"start":{"line":36,"column":12},"end":{"line":36,"column":76}},"32":{"start":{"line":37,"column":12},"end":{"line":37,"column":76}},"33":{"start":{"line":38,"column":12},"end":{"line":38,"column":72}},"34":{"start":{"line":39,"column":12},"end":{"line":39,"column":80}},"35":{"start":{"line":40,"column":12},"end":{"line":40,"column":84}},"36":{"start":{"line":41,"column":12},"end":{"line":41,"column":92}},"37":{"start":{"line":42,"column":12},"end":{"line":42,"column":86}},"38":{"start":{"line":43,"column":12},"end":{"line":43,"column":74}},"39":{"start":{"line":44,"column":12},"end":{"line":44,"column":76}},"40":{"start":{"line":45,"column":12},"end":{"line":45,"column":76}},"41":{"start":{"line":46,"column":12},"end":{"line":46,"column":72}},"42":{"start":{"line":47,"column":12},"end":{"line":47,"column":80}},"43":{"start":{"line":48,"column":12},"end":{"line":48,"column":80}},"44":{"start":{"line":49,"column":12},"end":{"line":49,"column":62}},"45":{"start":{"line":50,"column":12},"end":{"line":50,"column":24}},"46":{"start":{"line":54,"column":8},"end":{"line":62,"column":11}},"47":{"start":{"line":55,"column":12},"end":{"line":61,"column":15}},"48":{"start":{"line":65,"column":8},"end":{"line":72,"column":11}},"49":{"start":{"line":66,"column":12},"end":{"line":71,"column":15}},"50":{"start":{"line":75,"column":8},"end":{"line":83,"column":11}},"51":{"start":{"line":76,"column":12},"end":{"line":82,"column":15}},"52":{"start":{"line":86,"column":8},"end":{"line":93,"column":11}},"53":{"start":{"line":87,"column":12},"end":{"line":92,"column":15}},"54":{"start":{"line":96,"column":8},"end":{"line":105,"column":11}},"55":{"start":{"line":97,"column":26},"end":{"line":103,"column":14}},"56":{"start":{"line":104,"column":12},"end":{"line":104,"column":25}},"57":{"start":{"line":108,"column":8},"end":{"line":117,"column":11}},"58":{"start":{"line":109,"column":26},"end":{"line":115,"column":14}},"59":{"start":{"line":116,"column":12},"end":{"line":116,"column":25}},"60":{"start":{"line":120,"column":8},"end":{"line":129,"column":11}},"61":{"start":{"line":121,"column":26},"end":{"line":127,"column":14}},"62":{"start":{"line":128,"column":12},"end":{"line":128,"column":25}},"63":{"start":{"line":132,"column":8},"end":{"line":141,"column":11}},"64":{"start":{"line":133,"column":26},"end":{"line":139,"column":14}},"65":{"start":{"line":140,"column":12},"end":{"line":140,"column":25}},"66":{"start":{"line":144,"column":8},"end":{"line":153,"column":11}},"67":{"start":{"line":145,"column":26},"end":{"line":151,"column":14}},"68":{"start":{"line":152,"column":12},"end":{"line":152,"column":25}},"69":{"start":{"line":156,"column":8},"end":{"line":163,"column":11}},"70":{"start":{"line":157,"column":12},"end":{"line":162,"column":15}},"71":{"start":{"line":166,"column":8},"end":{"line":173,"column":11}},"72":{"start":{"line":167,"column":12},"end":{"line":172,"column":15}},"73":{"start":{"line":176,"column":8},"end":{"line":183,"column":11}},"74":{"start":{"line":177,"column":12},"end":{"line":182,"column":15}},"75":{"start":{"line":186,"column":8},"end":{"line":193,"column":11}},"76":{"start":{"line":187,"column":12},"end":{"line":192,"column":15}},"77":{"start":{"line":196,"column":8},"end":{"line":203,"column":11}},"78":{"start":{"line":197,"column":12},"end":{"line":202,"column":15}},"79":{"start":{"line":206,"column":8},"end":{"line":213,"column":11}},"80":{"start":{"line":207,"column":12},"end":{"line":212,"column":15}},"81":{"start":{"line":216,"column":8},"end":{"line":223,"column":11}},"82":{"start":{"line":217,"column":12},"end":{"line":222,"column":15}},"83":{"start":{"line":226,"column":8},"end":{"line":233,"column":11}},"84":{"start":{"line":227,"column":12},"end":{"line":232,"column":15}},"85":{"start":{"line":236,"column":8},"end":{"line":243,"column":11}},"86":{"start":{"line":237,"column":12},"end":{"line":242,"column":15}},"87":{"start":{"line":246,"column":8},"end":{"line":253,"column":11}},"88":{"start":{"line":247,"column":12},"end":{"line":252,"column":15}},"89":{"start":{"line":256,"column":8},"end":{"line":279,"column":11}},"90":{"start":{"line":257,"column":35},"end":{"line":262,"column":14}},"91":{"start":{"line":263,"column":12},"end":{"line":263,"column":90}},"92":{"start":{"line":264,"column":12},"end":{"line":264,"column":117}},"93":{"start":{"line":265,"column":12},"end":{"line":265,"column":119}},"94":{"start":{"line":266,"column":12},"end":{"line":266,"column":121}},"95":{"start":{"line":267,"column":12},"end":{"line":267,"column":125}},"96":{"start":{"line":268,"column":12},"end":{"line":268,"column":117}},"97":{"start":{"line":269,"column":12},"end":{"line":269,"column":122}},"98":{"start":{"line":270,"column":12},"end":{"line":270,"column":115}},"99":{"start":{"line":271,"column":12},"end":{"line":271,"column":126}},"100":{"start":{"line":272,"column":12},"end":{"line":272,"column":128}},"101":{"start":{"line":273,"column":12},"end":{"line":273,"column":124}},"102":{"start":{"line":274,"column":12},"end":{"line":274,"column":132}},"103":{"start":{"line":275,"column":12},"end":{"line":275,"column":124}},"104":{"start":{"line":276,"column":12},"end":{"line":276,"column":122}},"105":{"start":{"line":277,"column":12},"end":{"line":277,"column":129}},"106":{"start":{"line":278,"column":12},"end":{"line":278,"column":34}},"107":{"start":{"line":282,"column":8},"end":{"line":300,"column":11}},"108":{"start":{"line":283,"column":39},"end":{"line":297,"column":14}},"109":{"start":{"line":298,"column":12},"end":{"line":298,"column":130}},"110":{"start":{"line":299,"column":12},"end":{"line":299,"column":38}},"111":{"start":{"line":303,"column":8},"end":{"line":316,"column":11}},"112":{"start":{"line":304,"column":39},"end":{"line":313,"column":14}},"113":{"start":{"line":314,"column":12},"end":{"line":314,"column":130}},"114":{"start":{"line":315,"column":12},"end":{"line":315,"column":38}},"115":{"start":{"line":319,"column":8},"end":{"line":335,"column":11}},"116":{"start":{"line":320,"column":30},"end":{"line":332,"column":14}},"117":{"start":{"line":333,"column":12},"end":{"line":333,"column":129}},"118":{"start":{"line":334,"column":12},"end":{"line":334,"column":29}},"119":{"start":{"line":338,"column":0},"end":{"line":338,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":44},"end":{"line":2,"column":45}},"loc":{"start":{"line":2,"column":89},"end":{"line":10,"column":1}},"line":2},"1":{"name":"adopt","decl":{"start":{"line":3,"column":13},"end":{"line":3,"column":18}},"loc":{"start":{"line":3,"column":26},"end":{"line":3,"column":112}},"line":3},"2":{"name":"(anonymous_2)","decl":{"start":{"line":3,"column":70},"end":{"line":3,"column":71}},"loc":{"start":{"line":3,"column":89},"end":{"line":3,"column":108}},"line":3},"3":{"name":"(anonymous_3)","decl":{"start":{"line":4,"column":36},"end":{"line":4,"column":37}},"loc":{"start":{"line":4,"column":63},"end":{"line":9,"column":5}},"line":4},"4":{"name":"fulfilled","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":26}},"loc":{"start":{"line":5,"column":34},"end":{"line":5,"column":99}},"line":5},"5":{"name":"rejected","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":25}},"loc":{"start":{"line":6,"column":33},"end":{"line":6,"column":102}},"line":6},"6":{"name":"step","decl":{"start":{"line":7,"column":17},"end":{"line":7,"column":21}},"loc":{"start":{"line":7,"column":30},"end":{"line":7,"column":118}},"line":7},"7":{"name":"(anonymous_7)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":22},"end":{"line":18,"column":5}},"line":16},"8":{"name":"(anonymous_8)","decl":{"start":{"line":19,"column":4},"end":{"line":19,"column":5}},"loc":{"start":{"line":19,"column":30},"end":{"line":21,"column":5}},"line":19},"9":{"name":"(anonymous_9)","decl":{"start":{"line":22,"column":4},"end":{"line":22,"column":5}},"loc":{"start":{"line":22,"column":17},"end":{"line":52,"column":5}},"line":22},"10":{"name":"(anonymous_10)","decl":{"start":{"line":23,"column":47},"end":{"line":23,"column":48}},"loc":{"start":{"line":23,"column":60},"end":{"line":51,"column":9}},"line":23},"11":{"name":"(anonymous_11)","decl":{"start":{"line":25,"column":62},"end":{"line":25,"column":63}},"loc":{"start":{"line":25,"column":69},"end":{"line":25,"column":73}},"line":25},"12":{"name":"(anonymous_12)","decl":{"start":{"line":53,"column":4},"end":{"line":53,"column":5}},"loc":{"start":{"line":53,"column":22},"end":{"line":63,"column":5}},"line":53},"13":{"name":"(anonymous_13)","decl":{"start":{"line":54,"column":47},"end":{"line":54,"column":48}},"loc":{"start":{"line":54,"column":60},"end":{"line":62,"column":9}},"line":54},"14":{"name":"(anonymous_14)","decl":{"start":{"line":64,"column":4},"end":{"line":64,"column":5}},"loc":{"start":{"line":64,"column":33},"end":{"line":73,"column":5}},"line":64},"15":{"name":"(anonymous_15)","decl":{"start":{"line":65,"column":47},"end":{"line":65,"column":48}},"loc":{"start":{"line":65,"column":60},"end":{"line":72,"column":9}},"line":65},"16":{"name":"(anonymous_16)","decl":{"start":{"line":74,"column":4},"end":{"line":74,"column":5}},"loc":{"start":{"line":74,"column":31},"end":{"line":84,"column":5}},"line":74},"17":{"name":"(anonymous_17)","decl":{"start":{"line":75,"column":47},"end":{"line":75,"column":48}},"loc":{"start":{"line":75,"column":60},"end":{"line":83,"column":9}},"line":75},"18":{"name":"(anonymous_18)","decl":{"start":{"line":85,"column":4},"end":{"line":85,"column":5}},"loc":{"start":{"line":85,"column":23},"end":{"line":94,"column":5}},"line":85},"19":{"name":"(anonymous_19)","decl":{"start":{"line":86,"column":47},"end":{"line":86,"column":48}},"loc":{"start":{"line":86,"column":60},"end":{"line":93,"column":9}},"line":86},"20":{"name":"(anonymous_20)","decl":{"start":{"line":95,"column":4},"end":{"line":95,"column":5}},"loc":{"start":{"line":95,"column":33},"end":{"line":106,"column":5}},"line":95},"21":{"name":"(anonymous_21)","decl":{"start":{"line":96,"column":47},"end":{"line":96,"column":48}},"loc":{"start":{"line":96,"column":60},"end":{"line":105,"column":9}},"line":96},"22":{"name":"(anonymous_22)","decl":{"start":{"line":107,"column":4},"end":{"line":107,"column":5}},"loc":{"start":{"line":107,"column":29},"end":{"line":118,"column":5}},"line":107},"23":{"name":"(anonymous_23)","decl":{"start":{"line":108,"column":47},"end":{"line":108,"column":48}},"loc":{"start":{"line":108,"column":60},"end":{"line":117,"column":9}},"line":108},"24":{"name":"(anonymous_24)","decl":{"start":{"line":119,"column":4},"end":{"line":119,"column":5}},"loc":{"start":{"line":119,"column":30},"end":{"line":130,"column":5}},"line":119},"25":{"name":"(anonymous_25)","decl":{"start":{"line":120,"column":47},"end":{"line":120,"column":48}},"loc":{"start":{"line":120,"column":60},"end":{"line":129,"column":9}},"line":120},"26":{"name":"(anonymous_26)","decl":{"start":{"line":131,"column":4},"end":{"line":131,"column":5}},"loc":{"start":{"line":131,"column":31},"end":{"line":142,"column":5}},"line":131},"27":{"name":"(anonymous_27)","decl":{"start":{"line":132,"column":47},"end":{"line":132,"column":48}},"loc":{"start":{"line":132,"column":60},"end":{"line":141,"column":9}},"line":132},"28":{"name":"(anonymous_28)","decl":{"start":{"line":143,"column":4},"end":{"line":143,"column":5}},"loc":{"start":{"line":143,"column":22},"end":{"line":154,"column":5}},"line":143},"29":{"name":"(anonymous_29)","decl":{"start":{"line":144,"column":47},"end":{"line":144,"column":48}},"loc":{"start":{"line":144,"column":60},"end":{"line":153,"column":9}},"line":144},"30":{"name":"(anonymous_30)","decl":{"start":{"line":155,"column":4},"end":{"line":155,"column":5}},"loc":{"start":{"line":155,"column":33},"end":{"line":164,"column":5}},"line":155},"31":{"name":"(anonymous_31)","decl":{"start":{"line":156,"column":47},"end":{"line":156,"column":48}},"loc":{"start":{"line":156,"column":60},"end":{"line":163,"column":9}},"line":156},"32":{"name":"(anonymous_32)","decl":{"start":{"line":165,"column":4},"end":{"line":165,"column":5}},"loc":{"start":{"line":165,"column":33},"end":{"line":174,"column":5}},"line":165},"33":{"name":"(anonymous_33)","decl":{"start":{"line":166,"column":47},"end":{"line":166,"column":48}},"loc":{"start":{"line":166,"column":60},"end":{"line":173,"column":9}},"line":166},"34":{"name":"(anonymous_34)","decl":{"start":{"line":175,"column":4},"end":{"line":175,"column":5}},"loc":{"start":{"line":175,"column":31},"end":{"line":184,"column":5}},"line":175},"35":{"name":"(anonymous_35)","decl":{"start":{"line":176,"column":47},"end":{"line":176,"column":48}},"loc":{"start":{"line":176,"column":60},"end":{"line":183,"column":9}},"line":176},"36":{"name":"(anonymous_36)","decl":{"start":{"line":185,"column":4},"end":{"line":185,"column":5}},"loc":{"start":{"line":185,"column":35},"end":{"line":194,"column":5}},"line":185},"37":{"name":"(anonymous_37)","decl":{"start":{"line":186,"column":47},"end":{"line":186,"column":48}},"loc":{"start":{"line":186,"column":60},"end":{"line":193,"column":9}},"line":186},"38":{"name":"(anonymous_38)","decl":{"start":{"line":195,"column":4},"end":{"line":195,"column":5}},"loc":{"start":{"line":195,"column":37},"end":{"line":204,"column":5}},"line":195},"39":{"name":"(anonymous_39)","decl":{"start":{"line":196,"column":47},"end":{"line":196,"column":48}},"loc":{"start":{"line":196,"column":60},"end":{"line":203,"column":9}},"line":196},"40":{"name":"(anonymous_40)","decl":{"start":{"line":205,"column":4},"end":{"line":205,"column":5}},"loc":{"start":{"line":205,"column":41},"end":{"line":214,"column":5}},"line":205},"41":{"name":"(anonymous_41)","decl":{"start":{"line":206,"column":47},"end":{"line":206,"column":48}},"loc":{"start":{"line":206,"column":60},"end":{"line":213,"column":9}},"line":206},"42":{"name":"(anonymous_42)","decl":{"start":{"line":215,"column":4},"end":{"line":215,"column":5}},"loc":{"start":{"line":215,"column":38},"end":{"line":224,"column":5}},"line":215},"43":{"name":"(anonymous_43)","decl":{"start":{"line":216,"column":47},"end":{"line":216,"column":48}},"loc":{"start":{"line":216,"column":60},"end":{"line":223,"column":9}},"line":216},"44":{"name":"(anonymous_44)","decl":{"start":{"line":225,"column":4},"end":{"line":225,"column":5}},"loc":{"start":{"line":225,"column":33},"end":{"line":234,"column":5}},"line":225},"45":{"name":"(anonymous_45)","decl":{"start":{"line":226,"column":47},"end":{"line":226,"column":48}},"loc":{"start":{"line":226,"column":60},"end":{"line":233,"column":9}},"line":226},"46":{"name":"(anonymous_46)","decl":{"start":{"line":235,"column":4},"end":{"line":235,"column":5}},"loc":{"start":{"line":235,"column":33},"end":{"line":244,"column":5}},"line":235},"47":{"name":"(anonymous_47)","decl":{"start":{"line":236,"column":47},"end":{"line":236,"column":48}},"loc":{"start":{"line":236,"column":60},"end":{"line":243,"column":9}},"line":236},"48":{"name":"(anonymous_48)","decl":{"start":{"line":245,"column":4},"end":{"line":245,"column":5}},"loc":{"start":{"line":245,"column":32},"end":{"line":254,"column":5}},"line":245},"49":{"name":"(anonymous_49)","decl":{"start":{"line":246,"column":47},"end":{"line":246,"column":48}},"loc":{"start":{"line":246,"column":60},"end":{"line":253,"column":9}},"line":246},"50":{"name":"(anonymous_50)","decl":{"start":{"line":255,"column":4},"end":{"line":255,"column":5}},"loc":{"start":{"line":255,"column":31},"end":{"line":280,"column":5}},"line":255},"51":{"name":"(anonymous_51)","decl":{"start":{"line":256,"column":47},"end":{"line":256,"column":48}},"loc":{"start":{"line":256,"column":60},"end":{"line":279,"column":9}},"line":256},"52":{"name":"(anonymous_52)","decl":{"start":{"line":281,"column":4},"end":{"line":281,"column":5}},"loc":{"start":{"line":281,"column":35},"end":{"line":301,"column":5}},"line":281},"53":{"name":"(anonymous_53)","decl":{"start":{"line":282,"column":47},"end":{"line":282,"column":48}},"loc":{"start":{"line":282,"column":60},"end":{"line":300,"column":9}},"line":282},"54":{"name":"(anonymous_54)","decl":{"start":{"line":302,"column":4},"end":{"line":302,"column":5}},"loc":{"start":{"line":302,"column":35},"end":{"line":317,"column":5}},"line":302},"55":{"name":"(anonymous_55)","decl":{"start":{"line":303,"column":47},"end":{"line":303,"column":48}},"loc":{"start":{"line":303,"column":60},"end":{"line":316,"column":9}},"line":303},"56":{"name":"(anonymous_56)","decl":{"start":{"line":318,"column":4},"end":{"line":318,"column":5}},"loc":{"start":{"line":318,"column":26},"end":{"line":336,"column":5}},"line":318},"57":{"name":"(anonymous_57)","decl":{"start":{"line":319,"column":47},"end":{"line":319,"column":48}},"loc":{"start":{"line":319,"column":60},"end":{"line":335,"column":9}},"line":319}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":16},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":17},"end":{"line":2,"column":21}},{"start":{"line":2,"column":25},"end":{"line":2,"column":39}},{"start":{"line":2,"column":44},"end":{"line":10,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":35},"end":{"line":3,"column":109}},"type":"cond-expr","locations":[{"start":{"line":3,"column":56},"end":{"line":3,"column":61}},{"start":{"line":3,"column":64},"end":{"line":3,"column":109}}],"line":3},"2":{"loc":{"start":{"line":4,"column":16},"end":{"line":4,"column":34}},"type":"binary-expr","locations":[{"start":{"line":4,"column":16},"end":{"line":4,"column":17}},{"start":{"line":4,"column":22},"end":{"line":4,"column":33}}],"line":4},"3":{"loc":{"start":{"line":7,"column":32},"end":{"line":7,"column":115}},"type":"cond-expr","locations":[{"start":{"line":7,"column":46},"end":{"line":7,"column":67}},{"start":{"line":7,"column":70},"end":{"line":7,"column":115}}],"line":7},"4":{"loc":{"start":{"line":8,"column":51},"end":{"line":8,"column":67}},"type":"binary-expr","locations":[{"start":{"line":8,"column":51},"end":{"line":8,"column":61}},{"start":{"line":8,"column":65},"end":{"line":8,"column":67}}],"line":8},"5":{"loc":{"start":{"line":24,"column":12},"end":{"line":26,"column":13}},"type":"if","locations":[{"start":{"line":24,"column":12},"end":{"line":26,"column":13}},{"start":{"line":24,"column":12},"end":{"line":26,"column":13}}],"line":24}},"s":{"0":1,"1":51,"2":0,"3":24,"4":51,"5":51,"6":0,"7":0,"8":0,"9":0,"10":75,"11":24,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1},"f":{"0":24,"1":51,"2":0,"3":24,"4":51,"5":0,"6":75,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"b":{"0":[1,1,1],"1":[51,0],"2":[24,24],"3":[24,51],"4":[24,24],"5":[1,0]},"inputSourceMap":{"version":3,"file":"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/core/protocol.ts","sources":["/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/core/protocol.ts"],"names":[],"mappings":"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","sourcesContent":["import * as contracts from '../config/contracts';\nimport { deploy } from '../lib/deploy';\n\n/**\n * Protocol contracts deployer.\n */\nexport class Protocol {\n  public web3: any;\n  public erc20;\n  public erc721Enumerable;\n  public erc721Metadata;\n  public erc721;\n  public xcertDestroyable;\n  public xcertMutable;\n  public xcertPausable;\n  public xcertRevokable;\n  public xcert;\n  public xcertCreateProxy;\n  public xcertUpdateProxy;\n  public xcertBurnProxy;\n  public tokenTransferProxy;\n  public nftokenTransferProxy;\n  public nftokenSafeTransferProxy;\n  public xcertDeployProxy;\n  public tokenDeployProxy;\n  public nftokenReceiver;\n  public actionsGateway;\n  public xcertDeployGateway;\n  public tokenDeployGateway;\n  public abilitableManageProxy;\n  public dappToken;\n\n  /**\n   * Class constructor.\n   * @param web3 Web3 object instance.\n   */\n  public constructor(web3: any) {\n    this.web3 = web3;\n  }\n\n  /**\n   * Instantiates the protocol class and deploys the contracts.\n   * @param web3 Web3 object instance.\n   * @param from Optional owner's address.\n   */\n  public static deploy(web3: any, from?: string) {\n    return new Protocol(web3).deploy(from);\n  }\n\n  /**\n   * Deploys protocol contracts.\n   * @param from Optional owner's address.\n   */\n  public async deploy(from?: string) {\n\n    if (!from) {\n      from = await this.web3.eth.getAccounts().then((a) => a[0]);\n    }\n\n    this.erc20 = await this.deployErc20(from);\n    this.erc721Enumerable = await this.deployErc721Enumerable(from);\n    this.erc721Metadata = await this.deployErc721Metadata(from);\n    this.erc721 = await this.deployErc721(from);\n    this.xcertDestroyable = await this.deployXcertDestroyable(from);\n    this.xcertMutable = await this.deployXcertMutable(from);\n    this.xcertPausable = await this.deployXcertPausable(from);\n    this.xcertRevokable = await this.deployXcertRevokable(from);\n    this.xcert = await this.deployXcert(from);\n    this.xcertCreateProxy = await this.deployXcertCreateProxy(from);\n    this.xcertUpdateProxy = await this.deployXcertUpdateProxy(from);\n    this.xcertBurnProxy = await this.deployXcertBurnProxy(from);\n    this.tokenTransferProxy = await this.deployTokenTransferProxy(from);\n    this.nftokenTransferProxy = await this.deployNFTokenTransferProxy(from);\n    this.nftokenSafeTransferProxy = await this.deployNFTokenSafeTransferProxy(from);\n    this.abilitableManageProxy = await this.deployAbilitableManageProxy(from);\n    this.nftokenReceiver = await this.deployNFTokenReceiver(from);\n    this.xcertDeployProxy = await this.deployXcertDeployProxy(from);\n    this.tokenDeployProxy = await this.deployTokenDeployProxy(from);\n    this.actionsGateway = await this.deployActionsGateway(from);\n    this.xcertDeployGateway = await this.deployXcertDeployGateway(from);\n    this.tokenDeployGateway = await this.deployTokenDeployGateway(from);\n    this.dappToken = await this.deployDappToken(from);\n\n    return this;\n  }\n\n  /**\n   * Deploys the ERC20 contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployErc20(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.erc20.abi,\n      bytecode: contracts.erc20.bytecode,\n      args: ['ERC20', 'ERC20', 18, '500000000000000000000000000'],\n      from,\n    });\n  }\n\n  /**\n   * Deploys enumberable ERC721 contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployErc721Enumerable(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.erc721Enumerable.abi,\n      bytecode: contracts.erc721Enumerable.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys ERC721 metadata contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployErc721Metadata(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.erc721Metadata.abi,\n      bytecode: contracts.erc721Metadata.bytecode,\n      args: ['ERC721 Metadata', 'ERC721Metadata', 'https://0xcert.org/', '.json'],\n      from,\n    });\n  }\n\n  /**\n   * Deploys the erc721 contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployErc721(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.erc721.abi,\n      bytecode: contracts.erc721.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys Xcert contract with destroy capability.\n   * @param from Contract owner's address.\n   */\n  protected async deployXcertDestroyable(from: string) {\n    const xcert = await deploy({\n      web3: this.web3,\n      abi: contracts.xcert.abi,\n      bytecode: contracts.xcert.bytecode,\n      args: ['Destroyable Xcert', 'DestroyableXcert', 'https://0xcert.org/', '.json', '0x1', ['0x9d118770']],\n      from,\n    });\n\n    return xcert;\n  }\n\n  /**\n   * Deploys Xcert contract with mutate capability.\n   * @param from Contract owner's address.\n   */\n  protected async deployXcertMutable(from: string) {\n    const xcert = await deploy({\n      web3: this.web3,\n      abi: contracts.xcert.abi,\n      bytecode: contracts.xcert.bytecode,\n      args: ['Mutable Xcert', 'MutableXcert', 'https://0xcert.org/', '.json', '0x2', ['0x0d04c3b8']],\n      from,\n    });\n\n    return xcert;\n  }\n\n  /**\n   * Deploys Xcert contract with pause capability.\n   * @param from Contract owner's address.\n   */\n  protected async deployXcertPausable(from: string) {\n    const xcert = await deploy({\n      web3: this.web3,\n      abi: contracts.xcert.abi,\n      bytecode: contracts.xcert.bytecode,\n      args: ['Pausable Xcert', 'PausableXcert', 'https://0xcert.org/', '.json', '0x3', ['0xbedb86fb']],\n      from,\n    });\n\n    return xcert;\n  }\n\n  /**\n   * Deploys Xcert contract with revoke capability.\n   * @param from Contract owner's address.\n   */\n  protected async deployXcertRevokable(from: string) {\n    const xcert = await deploy({\n      web3: this.web3,\n      abi: contracts.xcert.abi,\n      bytecode: contracts.xcert.bytecode,\n      args: ['Revokable Xcert', 'RevokableXcert', 'https://0xcert.org/', '.json', '0x4', ['0x20c5429b']],\n      from,\n    });\n\n    return xcert;\n  }\n\n  /**\n   * Deploys an Xcert contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployXcert(from: string) {\n    const xcert = await deploy({\n      web3: this.web3,\n      abi: contracts.xcert.abi,\n      bytecode: contracts.xcert.bytecode,\n      args: ['Xcert', 'Xcert', 'https://0xcert.org/', '.json', '0x5', []],\n      from,\n    });\n\n    return xcert;\n  }\n\n  /**\n   * Deploys the Xcert create proxy contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployXcertCreateProxy(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.xcertCreateProxy.abi,\n      bytecode: contracts.xcertCreateProxy.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys the Xcert update proxy contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployXcertUpdateProxy(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.xcertUpdateProxy.abi,\n      bytecode: contracts.xcertUpdateProxy.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys the Xcert burn proxy contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployXcertBurnProxy(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.xcertBurnProxy.abi,\n      bytecode: contracts.xcertBurnProxy.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys the token transfer proxy contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployTokenTransferProxy(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.tokenTransferProxy.abi,\n      bytecode: contracts.tokenTransferProxy.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys the non-fungible token transfer proxy contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployNFTokenTransferProxy(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.nftokenTransferProxy.abi,\n      bytecode: contracts.nftokenTransferProxy.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys the non-fungible token safe transfer proxy contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployNFTokenSafeTransferProxy(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.nftokenSafeTransferProxy.abi,\n      bytecode: contracts.nftokenSafeTransferProxy.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys the abilitable manage proxy contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployAbilitableManageProxy(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.abilitableManageProxy.abi,\n      bytecode: contracts.abilitableManageProxy.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys the abilitable manage proxy contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployXcertDeployProxy(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.xcertDeployProxy.abi,\n      bytecode: contracts.xcertDeployProxy.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys the abilitable manage proxy contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployTokenDeployProxy(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.tokenDeployProxy.abi,\n      bytecode: contracts.tokenDeployProxy.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys the non-fungible token receiver contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployNFTokenReceiver(from: string) {\n    return deploy({\n      web3: this.web3,\n      abi: contracts.erc721receiver.abi,\n      bytecode: contracts.erc721receiver.bytecode,\n      from,\n    });\n  }\n\n  /**\n   * Deploys the decentralized actionsGateway contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployActionsGateway(from: string) {\n    const actionsGateway = await deploy({\n      web3: this.web3,\n      abi: contracts.actionsGateway.abi,\n      bytecode: contracts.actionsGateway.bytecode,\n      from,\n    });\n\n    await actionsGateway.instance.methods.grantAbilities(from, 16).send({ from });\n    await actionsGateway.instance.methods.addProxy(this.xcertCreateProxy.receipt._address, 0).send({ from });\n    await actionsGateway.instance.methods.addProxy(this.tokenTransferProxy.receipt._address, 1).send({ from });\n    await actionsGateway.instance.methods.addProxy(this.nftokenTransferProxy.receipt._address, 1).send({ from });\n    await actionsGateway.instance.methods.addProxy(this.nftokenSafeTransferProxy.receipt._address, 1).send({ from });\n    await actionsGateway.instance.methods.addProxy(this.xcertUpdateProxy.receipt._address, 2).send({ from });\n    await actionsGateway.instance.methods.addProxy(this.abilitableManageProxy.receipt._address, 3).send({ from });\n    await actionsGateway.instance.methods.addProxy(this.xcertBurnProxy.receipt._address, 4).send({ from });\n    await this.tokenTransferProxy.instance.methods.grantAbilities(actionsGateway.receipt._address, 16).send({ from });\n    await this.nftokenTransferProxy.instance.methods.grantAbilities(actionsGateway.receipt._address, 16).send({ from });\n    await this.xcertCreateProxy.instance.methods.grantAbilities(actionsGateway.receipt._address, 16).send({ from });\n    await this.nftokenSafeTransferProxy.instance.methods.grantAbilities(actionsGateway.receipt._address, 16).send({ from });\n    await this.xcertUpdateProxy.instance.methods.grantAbilities(actionsGateway.receipt._address, 16).send({ from });\n    await this.xcertBurnProxy.instance.methods.grantAbilities(actionsGateway.receipt._address, 16).send({ from });\n    await this.abilitableManageProxy.instance.methods.grantAbilities(actionsGateway.receipt._address, 16).send({ from });\n\n    return actionsGateway;\n  }\n\n  /**\n   * Deploys the decentralized xcertDeployGateway contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployXcertDeployGateway(from: string) {\n    const xcertDeployGateway = await deploy({\n      web3: this.web3,\n      abi: contracts.xcertDeployGateway.abi,\n      bytecode: contracts.xcertDeployGateway.bytecode,\n      args: [\n        this.xcertDeployProxy.receipt._address,\n        this.tokenTransferProxy.receipt._address,\n        this.xcertCreateProxy.receipt._address,\n        this.xcertUpdateProxy.receipt._address,\n        this.abilitableManageProxy.receipt._address,\n        this.nftokenSafeTransferProxy.receipt._address,\n        this.xcertBurnProxy.receipt._address,\n      ],\n      from,\n    });\n\n    await this.tokenTransferProxy.instance.methods.grantAbilities(xcertDeployGateway.receipt._address, 16).send({ from });\n    return xcertDeployGateway;\n  }\n\n  /**\n   * Deploys the decentralized tokenDeployGateway contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployTokenDeployGateway(from: string) {\n    const tokenDeployGateway = await deploy({\n      web3: this.web3,\n      abi: contracts.tokenDeployGateway.abi,\n      bytecode: contracts.tokenDeployGateway.bytecode,\n      args: [\n        this.tokenDeployProxy.receipt._address,\n        this.tokenTransferProxy.receipt._address,\n      ],\n      from,\n    });\n\n    await this.tokenTransferProxy.instance.methods.grantAbilities(tokenDeployGateway.receipt._address, 16).send({ from });\n    return tokenDeployGateway;\n  }\n\n  /**\n   * Deploys the dappToken contract.\n   * @param from Contract owner's address.\n   */\n  protected async deployDappToken(from: string) {\n    const dappToken = await deploy({\n      web3: this.web3,\n      abi: contracts.dappToken.abi,\n      bytecode: contracts.dappToken.bytecode,\n      args: [\n        'Dapp token',\n        'DXC',\n        18,\n        this.erc20.receipt._address,\n        this.tokenTransferProxy.receipt._address,\n      ],\n      from,\n    });\n\n    await this.erc20.instance.methods.approve(dappToken.receipt._address, '5000000000000000000000000000').send({ from });\n    return dappToken;\n  }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5eeebb391c69aed707e9f19c820c3cd507ea38e0","contentHash":"49b42ff2de8e347c1e6dd394730b683c3926cdb3c5d8a1a3d390ab0e2fef0bed"},"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/config/contracts.ts":{"path":"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/config/contracts.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":496}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":82}},"3":{"start":{"line":5,"column":26},"end":{"line":5,"column":91}},"4":{"start":{"line":6,"column":34},"end":{"line":6,"column":109}},"5":{"start":{"line":7,"column":32},"end":{"line":7,"column":105}},"6":{"start":{"line":8,"column":24},"end":{"line":8,"column":88}},"7":{"start":{"line":9,"column":22},"end":{"line":9,"column":82}},"8":{"start":{"line":10,"column":29},"end":{"line":10,"column":97}},"9":{"start":{"line":11,"column":29},"end":{"line":11,"column":97}},"10":{"start":{"line":12,"column":27},"end":{"line":12,"column":93}},"11":{"start":{"line":13,"column":31},"end":{"line":13,"column":101}},"12":{"start":{"line":14,"column":33},"end":{"line":14,"column":105}},"13":{"start":{"line":15,"column":37},"end":{"line":15,"column":114}},"14":{"start":{"line":16,"column":34},"end":{"line":16,"column":107}},"15":{"start":{"line":17,"column":36},"end":{"line":17,"column":114}},"16":{"start":{"line":18,"column":27},"end":{"line":18,"column":94}},"17":{"start":{"line":19,"column":31},"end":{"line":19,"column":103}},"18":{"start":{"line":20,"column":31},"end":{"line":20,"column":103}},"19":{"start":{"line":21,"column":29},"end":{"line":21,"column":97}},"20":{"start":{"line":22,"column":29},"end":{"line":22,"column":97}},"21":{"start":{"line":23,"column":0},"end":{"line":26,"column":2}},"22":{"start":{"line":27,"column":0},"end":{"line":30,"column":2}},"23":{"start":{"line":31,"column":0},"end":{"line":34,"column":2}},"24":{"start":{"line":35,"column":0},"end":{"line":38,"column":2}},"25":{"start":{"line":39,"column":0},"end":{"line":42,"column":2}},"26":{"start":{"line":43,"column":0},"end":{"line":46,"column":2}},"27":{"start":{"line":47,"column":0},"end":{"line":50,"column":2}},"28":{"start":{"line":51,"column":0},"end":{"line":54,"column":2}},"29":{"start":{"line":55,"column":0},"end":{"line":58,"column":2}},"30":{"start":{"line":59,"column":0},"end":{"line":62,"column":2}},"31":{"start":{"line":63,"column":0},"end":{"line":66,"column":2}},"32":{"start":{"line":67,"column":0},"end":{"line":70,"column":2}},"33":{"start":{"line":71,"column":0},"end":{"line":74,"column":2}},"34":{"start":{"line":75,"column":0},"end":{"line":78,"column":2}},"35":{"start":{"line":79,"column":0},"end":{"line":82,"column":2}},"36":{"start":{"line":83,"column":0},"end":{"line":86,"column":2}},"37":{"start":{"line":87,"column":0},"end":{"line":90,"column":2}},"38":{"start":{"line":91,"column":0},"end":{"line":94,"column":2}},"39":{"start":{"line":95,"column":0},"end":{"line":98,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1},"f":{},"b":{},"inputSourceMap":{"version":3,"file":"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/config/contracts.ts","sources":["/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/config/contracts.ts"],"names":[],"mappings":"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","sourcesContent":["const { TokenMock } = require('@0xcert/ethereum-erc20-contracts/build/token-mock');\nconst { DappTokenMock } = require('@0xcert/ethereum-erc20-contracts/build/dapp-token-mock');\nconst { NFTokenEnumerableMock } = require('@0xcert/ethereum-erc721-contracts/build/nf-token-enumerable-mock');\nconst { NFTokenMetadataMock } = require('@0xcert/ethereum-erc721-contracts/build/nf-token-metadata-mock');\nconst { NFTokenMock } = require('@0xcert/ethereum-erc721-contracts/build/nf-token-mock');\nconst { XcertMock } = require('@0xcert/ethereum-xcert-contracts/build/xcert-mock');\nconst { XcertCreateProxy } = require('@0xcert/ethereum-proxy-contracts/build/xcert-create-proxy');\nconst { XcertUpdateProxy } = require('@0xcert/ethereum-proxy-contracts/build/xcert-update-proxy');\nconst { XcertBurnProxy } = require('@0xcert/ethereum-proxy-contracts/build/xcert-burn-proxy');\nconst { TokenTransferProxy } = require('@0xcert/ethereum-proxy-contracts/build/token-transfer-proxy');\nconst { NFTokenTransferProxy } = require('@0xcert/ethereum-proxy-contracts/build/nftoken-transfer-proxy');\nconst { NFTokenSafeTransferProxy } = require('@0xcert/ethereum-proxy-contracts/build/nftoken-safe-transfer-proxy');\nconst { AbilitableManageProxy } = require('@0xcert/ethereum-proxy-contracts/build/abilitable-manage-proxy');\nconst { NFTokenReceiverTestMock } = require('@0xcert/ethereum-erc721-contracts/build/nf-token-receiver-test-mock');\nconst { ActionsGateway } = require('@0xcert/ethereum-gateway-contracts/build/actions-gateway');\nconst { XcertDeployGateway } = require('@0xcert/ethereum-gateway-contracts/build/xcert-deploy-gateway');\nconst { TokenDeployGateway } = require('@0xcert/ethereum-gateway-contracts/build/token-deploy-gateway');\nconst { XcertDeployProxy } = require('@0xcert/ethereum-proxy-contracts/build/xcert-deploy-proxy');\nconst { TokenDeployProxy } = require('@0xcert/ethereum-proxy-contracts/build/token-deploy-proxy');\n\n/**\n * ERC20 contract data.\n */\nexport const erc20 = {\n  abi: TokenMock.abi,\n  bytecode: TokenMock.evm.bytecode.object,\n};\n\n/**\n * Dapp token contract data.\n */\nexport const dappToken = {\n  abi: DappTokenMock.abi,\n  bytecode: DappTokenMock.evm.bytecode.object,\n};\n\n/**\n * Enumerable ERC721 contract data.\n */\nexport const erc721Enumerable = {\n  abi: NFTokenEnumerableMock.abi,\n  bytecode: NFTokenEnumerableMock.evm.bytecode.object,\n};\n\n/**\n * ERC721 metadata contract data.\n */\nexport const erc721Metadata = {\n  abi: NFTokenMetadataMock.abi,\n  bytecode: NFTokenMetadataMock.evm.bytecode.object,\n};\n\n/**\n * ERC721 contract data.\n */\nexport const erc721 = {\n  abi: NFTokenMock.abi,\n  bytecode: NFTokenMock.evm.bytecode.object,\n};\n\n/**\n * ERC721 receiver.\n */\nexport const erc721receiver = {\n  abi: NFTokenReceiverTestMock.abi,\n  bytecode: NFTokenReceiverTestMock.evm.bytecode.object,\n};\n\n/**\n * Xcert contract data.\n */\nexport const xcert = {\n  abi: XcertMock.abi,\n  bytecode: XcertMock.evm.bytecode.object,\n};\n\n/**\n * Xcert create proxy contract data.\n */\nexport const xcertCreateProxy = {\n  abi: XcertCreateProxy.abi,\n  bytecode: XcertCreateProxy.evm.bytecode.object,\n};\n\n/**\n * Token transfer proxy data.\n */\nexport const tokenTransferProxy = {\n  abi: TokenTransferProxy.abi,\n  bytecode: TokenTransferProxy.evm.bytecode.object,\n};\n\n/**\n * Non-fungible token transfer proxy data.\n */\nexport const nftokenTransferProxy = {\n  abi: NFTokenTransferProxy.abi,\n  bytecode: NFTokenTransferProxy.evm.bytecode.object,\n};\n\n/**\n * Non-fungible token safe transfer proxy data.\n */\nexport const nftokenSafeTransferProxy = {\n  abi: NFTokenSafeTransferProxy.abi,\n  bytecode: NFTokenSafeTransferProxy.evm.bytecode.object,\n};\n\n/**\n * Non-fungible token safe transfer proxy data.\n */\nexport const xcertUpdateProxy = {\n  abi: XcertUpdateProxy.abi,\n  bytecode: XcertUpdateProxy.evm.bytecode.object,\n};\n\n/**\n * Xcert burn proxy data.\n */\nexport const xcertBurnProxy = {\n  abi: XcertBurnProxy.abi,\n  bytecode: XcertBurnProxy.evm.bytecode.object,\n};\n\n/**\n * Decentralized actionsGateway contract data.\n */\nexport const actionsGateway = {\n  abi: ActionsGateway.abi,\n  bytecode: ActionsGateway.evm.bytecode.object,\n};\n\n/**\n * Decentralized xcertDeployGateway contract data.\n */\nexport const xcertDeployGateway = {\n  abi: XcertDeployGateway.abi,\n  bytecode: XcertDeployGateway.evm.bytecode.object,\n};\n\n/**\n * Decentralized tokenDeployGateway contract data.\n */\nexport const tokenDeployGateway = {\n  abi: TokenDeployGateway.abi,\n  bytecode: TokenDeployGateway.evm.bytecode.object,\n};\n\n/**\n * Decentralized tokenDeployGateway contract data.\n */\nexport const abilitableManageProxy = {\n  abi: AbilitableManageProxy.abi,\n  bytecode: AbilitableManageProxy.evm.bytecode.object,\n};\n\n/**\n * Xcert deploy proxy contract data.\n */\nexport const xcertDeployProxy = {\n  abi: XcertDeployProxy.abi,\n  bytecode: XcertDeployProxy.evm.bytecode.object,\n};\n\n/**\n * Token deploy proxy contract data.\n */\nexport const tokenDeployProxy = {\n  abi: TokenDeployProxy.abi,\n  bytecode: TokenDeployProxy.evm.bytecode.object,\n};\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c78592799eea61a5831aabe47ab9dfb26900ed25","contentHash":"5c6579b89ab26655db3f214d532ad1c77500ec2f538f0b6f9cec0230e66d4ff4"},"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/lib/deploy.ts":{"path":"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/lib/deploy.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}},"2":{"start":{"line":5,"column":4},"end":{"line":18,"column":7}},"3":{"start":{"line":13,"column":25},"end":{"line":16,"column":10}},"4":{"start":{"line":17,"column":8},"end":{"line":17,"column":37}},"5":{"start":{"line":20,"column":0},"end":{"line":20,"column":24}}},"fnMap":{"0":{"name":"deploy","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":15}},"loc":{"start":{"line":4,"column":24},"end":{"line":19,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":12},"end":{"line":12,"column":13}},"loc":{"start":{"line":12,"column":25},"end":{"line":18,"column":5}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":13},"end":{"line":10,"column":34}},"type":"binary-expr","locations":[{"start":{"line":10,"column":13},"end":{"line":10,"column":23}},{"start":{"line":10,"column":27},"end":{"line":10,"column":34}}],"line":10},"1":{"loc":{"start":{"line":11,"column":18},"end":{"line":11,"column":33}},"type":"binary-expr","locations":[{"start":{"line":11,"column":18},"end":{"line":11,"column":28}},{"start":{"line":11,"column":32},"end":{"line":11,"column":33}}],"line":11},"2":{"loc":{"start":{"line":14,"column":17},"end":{"line":14,"column":38}},"type":"binary-expr","locations":[{"start":{"line":14,"column":17},"end":{"line":14,"column":27}},{"start":{"line":14,"column":31},"end":{"line":14,"column":38}}],"line":14}},"s":{"0":1,"1":1,"2":23,"3":23,"4":23,"5":1},"f":{"0":23,"1":23},"b":{"0":[23,23],"1":[23,23],"2":[23,23]},"inputSourceMap":{"version":3,"file":"/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/lib/deploy.ts","sources":["/Users/xpepermint/Work/0xcert/repositories/framework/packages/0xcert-ethereum-sandbox/src/lib/deploy.ts"],"names":[],"mappings":";;;AAIA,SAAgB,MAAM,CAAC,MAQtB;IACC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACrD,IAAI,EAAE,MAAM,CAAC,QAAQ;QACrB,SAAS,EAAE,MAAM,CAAC,IAAI;KACvB,CAAC,CAAC,IAAI,CAAC;QACN,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,OAAO;QAC1B,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;KAC1B,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAClB,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAC3C,MAAM,CAAC,GAAG,EACV,OAAO,CAAC,OAAO,CAAC,OAAO,EACvB;YACE,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,OAAO;YAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CACF,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AA3BD,wBA2BC","sourcesContent":["/**\n * Deploys smart contract to the network.\n * @param config Deploy contract configuration.\n */\nexport function deploy(config: {\n  web3: any;\n  abi: any;\n  bytecode: string;\n  from: string;\n  args?: any[];\n  gas?: number;\n  gasPrice?: number;\n}) {\n  return new config.web3.eth.Contract(config.abi).deploy({\n    data: config.bytecode,\n    arguments: config.args,\n  }).send({\n    from: config.from,\n    gas: config.gas || 6000000,\n    gasPrice: config.gas || 1,\n  }).then((receipt) => {\n    const instance = new config.web3.eth.Contract(\n      config.abi,\n      receipt.options.address,\n      {\n        gas: config.gas || 6000000,\n        from: config.from,\n      },\n    );\n    return { instance, receipt };\n  });\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"532cc3b65a43ceddbf4fac8654aba2a2fc62e2d5","contentHash":"82ab6d7b59cf0b850bc4b4def55317fa0c6bd8963f7cada52162faeb70c0dd3c"}}