{"version":3,"sources":["jsdelivr-header.js","/npm/@ampleforthorg/sdk@1.0.34/dist/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,IAAI,gBAAmB,MAAQ,KAAK,kBAAqB,OAAO,OAAS,SAAU,EAAG,EAAG,EAAG,QAC7E,IAAP,IAAkB,EAAK,GAC3B,IAAI,EAAO,OAAO,yBAAyB,EAAG,GACzC,KAAS,QAAS,GAAQ,EAAE,WAAa,EAAK,UAAY,EAAK,gBAClE,EAAO,CAAE,YAAY,EAAM,IAAK,WAAa,OAAO,EAAE,EAAI,IAE5D,OAAO,eAAe,EAAG,EAAI,EAChC,EAAI,SAAU,EAAG,EAAG,EAAG,QACT,IAAP,IAAkB,EAAK,GAC3B,EAAE,GAAM,EAAE,EACb,GACG,mBAAsB,MAAQ,KAAK,qBAAwB,OAAO,OAAS,SAAU,EAAG,GACxF,OAAO,eAAe,EAAG,UAAW,CAAE,YAAY,EAAM,MAAO,GAClE,EAAI,SAAS,EAAG,GACb,EAAW,QAAI,CACnB,GACI,aAAgB,MAAQ,KAAK,cAAiB,SAAU,GACxD,GAAI,GAAO,EAAI,WAAY,OAAO,EAClC,IAAI,EAAS,CAAC,EACd,GAAW,MAAP,EAAa,IAAK,IAAI,KAAK,EAAe,YAAN,GAAmB,OAAO,UAAU,eAAe,KAAK,EAAK,IAAI,gBAAgB,EAAQ,EAAK,GAEtI,OADA,mBAAmB,EAAQ,GACpB,CACX,EACI,UAAa,MAAQ,KAAK,WAAc,SAAU,EAAS,EAAY,EAAG,GAE1E,OAAO,IAAK,IAAM,EAAI,WAAU,SAAU,EAAS,GAC/C,SAAS,EAAU,GAAS,IAAM,EAAK,EAAU,KAAK,GAAS,CAAE,MAAO,GAAK,EAAO,EAAI,CAAE,CAC1F,SAAS,EAAS,GAAS,IAAM,EAAK,EAAiB,MAAE,GAAS,CAAE,MAAO,GAAK,EAAO,EAAI,CAAE,CAC7F,SAAS,EAAK,GAJlB,IAAe,EAIa,EAAO,KAAO,EAAQ,EAAO,QAJ1C,EAIyD,EAAO,MAJhD,aAAiB,EAAI,EAAQ,IAAI,GAAE,SAAU,GAAW,EAAQ,EAAQ,KAIjB,KAAK,EAAW,EAAW,CAC7G,GAAM,EAAY,EAAU,MAAM,EAAS,GAAc,KAAK,OAClE,GACJ,EACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,QAAQ,gBAAkB,QAAQ,qBAAuB,QAAQ,aAAe,QAAQ,oBAAsB,QAAQ,wBAA0B,QAAQ,uBAAyB,QAAQ,0BAA4B,QAAQ,iBAAmB,QAAQ,iBAAmB,QAAQ,gBAAkB,QAAQ,aAAe,QAAQ,WAAa,QAAQ,gBAAkB,QAAQ,WAAa,QAAQ,SAAW,QAAQ,UAAY,QAAQ,yBAA2B,QAAQ,UAAY,QAAQ,SAAW,QAAQ,QAAU,QAAQ,YAAc,QAAQ,UAAO,EACxiB,MAAM,KAAO,aAAa,QAAQ,WAClC,QAAQ,KAAO,KACf,MAAM,YAAc,aAAa,QAAQ,kBACzC,QAAQ,YAAc,YACtB,MAAM,QAAU,aAAa,QAAQ,cACrC,QAAQ,QAAU,QAClB,MAAM,SAAW,aAAa,QAAQ,eACtC,QAAQ,SAAW,SACnB,MAAM,WAAa,QAAQ,cACrB,UAAY,QAAQ,aACpB,iBAAmB,EACnB,eAAiB,QAAQ,iBAAiB,QAAQ,eAD/B,IAGzB,SAAS,UAAU,EAAS,GACxB,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,MAAM,QAAW,EACZ,MAAM,UAAU,gBAAiB,CAAE,GAAI,EAAQ,gBAC/C,YACL,OAAO,IAAI,WAAW,OAAO,EAAG,KAAK,cAAc,GACvD,GACJ,CAEA,SAAS,UAAU,EAAS,GACxB,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,MAAM,QAAW,EACZ,MAAM,UAAU,gBAAiB,CAAE,GAAI,EAAQ,gBAC/C,YACL,OAAO,IAAI,WAAW,OAAO,EAAG,KAAK,SAAS,GAClD,GACJ,CAEA,SAAS,SAAS,EAAS,GACvB,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,MAAM,QAAW,EACZ,MAAM,UAAU,eAAgB,CAAE,GAAI,EAAQ,gBAC9C,YACL,OAAO,IAAI,WAAW,MAAM,EAAG,KAAK,OAAO,GAC/C,GACJ,CAEA,SAAS,gBAAgB,EAAS,GAC9B,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,MAAM,QAAW,EACZ,MAAM,UAAU,uBAAwB,CAAE,GAAI,EAAQ,gBACtD,YACL,OAAO,IAAI,WAAW,aAAa,EAAG,KAAK,cAAc,GAC7D,GACJ,CAEA,SAAS,WAAW,EAAS,GACzB,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,MAAM,QAAW,EACZ,MAAM,UAAU,kBAAmB,CAAE,GAAI,EAAQ,gBACjD,YACL,OAAO,IAAI,WAAW,QAAQ,EAAG,KAAK,SAAS,GACnD,GACJ,CAKA,SAAS,yBAAyB,EAAe,EAAiB,GAC9D,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,IAAI,EAAO,EACX,MAAM,EAAU,GAChB,OACI,IACI,MAAM,QAAW,EACZ,MAAM,UAAU,qBAAsB,CACvC,WAAY,EACP,cACA,OAAO,KACP,OAAO,EAAgB,eAC5B,MAAO,UAAU,aACjB,SAEC,YACL,IAAK,EAAG,MAAwC,GAAhC,EAAG,KAAK,cAAc,OAClC,MAEJ,IAAK,MAAM,KAAK,EAAG,KAAK,cACpB,EAAQ,KAAK,IAAI,WAAW,OAAO,IAEvC,GAAQ,UAAU,YACtB,CACA,MAAO,GACH,KACJ,CAEJ,OAAO,CACX,GACJ,CAEA,SAAS,WAAW,EAAQ,GACxB,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,IAAI,EAAO,EACX,MAAM,EAAU,GAChB,OACI,IACI,MAAM,QAAW,EACZ,MAAM,UAAU,YAAa,CAC9B,GAAI,EAAO,QAAQ,cACnB,MAAO,UAAU,aACjB,KAAM,IAEL,YACL,IAAK,EAAG,MAAkC,GAA1B,EAAG,KAAK,QAAQ,OAC5B,MAEJ,IAAK,MAAM,KAAK,EAAG,KAAK,QACpB,EAAQ,KAAK,IAAI,WAAW,OAAO,IAEvC,GAAQ,UAAU,YACtB,CACA,MAAO,GACH,KACJ,CAEJ,OAAO,CACX,GACJ,CAEA,SAAS,aAAa,EAAY,GAC9B,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,IAAI,EAAO,EACX,MAAM,EAAU,GAChB,OACI,IACI,MAAM,QAAW,EACZ,MAAM,UAAU,eAAgB,CACjC,GAAI,EAAW,QACf,MAAO,UAAU,aACjB,KAAM,IAEL,YACL,IAAK,EAAG,MAAoC,GAA5B,EAAG,KAAK,UAAU,OAC9B,MAEJ,IAAK,MAAM,KAAK,EAAG,KAAK,UACpB,EAAQ,KAAK,IAAI,WAAW,SAAS,IAEzC,GAAQ,UAAU,YACtB,CACA,MAAO,GACH,KACJ,CAEJ,OAAO,CACX,GACJ,CAEA,SAAS,mBAAmB,EAAO,EAAW,GAC1C,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,MAAM,QAAW,EACZ,MAAM,UAAU,mBAAoB,CACrC,GAAI,EAAM,QAAQ,cAClB,SAAU,EAAU,KAAK,GAAM,EAAE,kBAEhC,YACC,EAAW,GACjB,IAAK,MAAM,KAAK,EAAG,KAAK,cACpB,EAAS,KAAK,IAAI,WAAW,aAAa,IAE9C,OAAO,CACX,GACJ,CACA,SAAS,kBAAkB,EAAO,EAAS,GACvC,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,MAAM,QAAW,EACZ,MAAM,UAAU,mBAAoB,CACrC,GAAI,EAAM,QAAQ,cAClB,SAAU,CAAC,EAAQ,iBAElB,YACL,OAAO,IAAI,WAAW,aAAa,EAAG,KAAK,cAAc,GAC7D,GACJ,CACA,SAAS,mBAAmB,EAAO,EAAO,EAAS,GAC/C,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,MAAM,QAAW,EACZ,MAAM,UAAU,mBAAoB,CACrC,GAAI,EAAM,QAAQ,cAClB,MAAO,EAAM,cACb,QAAS,EAAQ,gBAEhB,YACL,OAAO,IAAI,WAAW,cAAc,EAAG,KAAK,eAAe,GAC/D,GACJ,CACA,SAAS,mBAAmB,EAAS,EAAW,GAC5C,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,MAAM,QAAW,EACZ,MAAM,UAAU,sBAAuB,CACxC,GAAI,EAAQ,QAAQ,cACpB,SAAU,EAAU,KAAK,GAAM,EAAE,kBAEhC,YACC,EAAW,GACjB,IAAK,MAAM,KAAK,EAAG,KAAK,gBACpB,EAAS,KAAK,IAAI,WAAW,aAAa,IAE9C,OAAO,CACX,GACJ,CACA,SAAS,kBAAkB,EAAS,EAAS,GACzC,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,MAAM,QAAW,EACZ,MAAM,UAAU,sBAAuB,CACxC,GAAI,EAAQ,QAAQ,cACpB,SAAU,CAAC,EAAQ,iBAElB,YACL,OAAO,IAAI,WAAW,aAAa,EAAG,KAAK,gBAAgB,GAC/D,GACJ,CACA,SAAS,mBAAmB,EAAS,EAAO,EAAS,GACjD,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,MAAM,QAAW,EACZ,MAAM,UAAU,sBAAuB,CACxC,GAAI,EAAQ,QAAQ,cACpB,MAAO,EAAM,cACb,QAAS,EAAQ,gBAEhB,YACL,OAAO,IAAI,WAAW,cAAc,EAAG,KAAK,iBAAiB,GACjE,GACJ,CACA,SAAS,iBAAiB,EAAO,EAAW,GACxC,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,OAAI,aAAiB,WAAW,QACrB,mBAAmB,EAAO,EAAW,GAEzC,mBAAmB,EAAO,EAAW,EAChD,GACJ,CAEA,SAAS,gBAAgB,EAAO,EAAS,GACrC,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,OAAI,aAAiB,WAAW,QACrB,kBAAkB,EAAO,EAAS,GAEtC,kBAAkB,EAAO,EAAS,EAC7C,GACJ,CAEA,SAAS,iBAAiB,EAAO,EAAO,EAAS,GAC7C,OAAO,UAAU,UAAM,OAAQ,GAAQ,YACnC,OAAI,aAAiB,WAAW,QACrB,mBAAmB,EAAO,EAAO,EAAS,GAE9C,mBAAmB,EAAO,EAAO,EAAS,EACrD,GACJ,CAGA,SAAS,0BAA0B,EArPV,EAqPsC,EAAS,gBAEpE,OAAO,UADW,YAAY,cAAc,GACjB,aAAa,cAAe,EAC3D,CAEA,SAAS,uBAAuB,EA1PP,EA0PmC,EAAS,gBAEjE,OAAO,UADW,YAAY,cAAc,GACjB,UAAU,cAAe,EACxD,CAEA,SAAS,wBAAwB,EA/PR,EA+PoC,EAAS,gBAClE,MAAM,EAAY,YAAY,cAAc,GAC5C,OAAO,QAAQ,IAAI,CAAC,EAAU,WACzB,OAAO,EAAU,gBACjB,KAAK,GAAM,UAAU,EAAE,cAAe,KAC/C,CAEA,SAAS,oBAAoB,EAtQJ,EAsQgC,EAAS,gBAE9D,OAAO,UADW,YAAY,cAAc,GACjB,OAAO,cAAe,EACrD,CAEA,SAAS,aAAa,EA3QG,EA2QyB,EAAS,gBAEvD,OAAO,SADW,YAAY,cAAc,GAClB,MAAM,cAAe,EACnD,CAEA,SAAS,qBAAqB,EAAS,GAEnC,OAAO,gBADW,YAAY,gBAAgB,GACb,aAAa,cAAe,EACjE,CAEA,SAAS,gBAAgB,EAAS,GAE9B,OAAO,WADW,YAAY,gBAAgB,GAClB,QAAQ,cAAe,EACvD,CA7QA,QAAQ,UAAY,UASpB,QAAQ,UAAY,UASpB,QAAQ,SAAW,SASnB,QAAQ,gBAAkB,gBAS1B,QAAQ,WAAa,WAmCrB,QAAQ,yBAA2B,yBA6BnC,QAAQ,WAAa,WA6BrB,QAAQ,aAAe,aAqFvB,QAAQ,iBAAmB,iBAS3B,QAAQ,gBAAkB,gBAS1B,QAAQ,iBAAmB,iBAM3B,QAAQ,0BAA4B,0BAKpC,QAAQ,uBAAyB,uBAOjC,QAAQ,wBAA0B,wBAKlC,QAAQ,oBAAsB,oBAK9B,QAAQ,aAAe,aAKvB,QAAQ,qBAAuB,qBAK/B,QAAQ,gBAAkB","file":"/npm/@ampleforthorg/sdk@1.0.34/dist/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@ampleforthorg/sdk@1.0.34/dist/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getXCAmpleToken = exports.getXCAmpleController = exports.getAMPLToken = exports.getAmpleforthPolicy = exports.getAmpleforthCPIOracles = exports.getAmpleforthCPIOracle = exports.getAmpleforthMarketOracle = exports.getTokenApproval = exports.getTokenBalances = exports.getTokenBalance = exports.getXCRebases = exports.getXCToken = exports.getXCController = exports.getRebases = exports.getToken = exports.getPolicy = exports.getOracleProviderReports = exports.getOracle = exports.entities = exports.queries = exports.deployments = exports.abis = void 0;\nconst abis = __importStar(require(\"./abis\"));\nexports.abis = abis;\nconst deployments = __importStar(require(\"./deployments\"));\nexports.deployments = deployments;\nconst queries = __importStar(require(\"./queries\"));\nexports.queries = queries;\nconst entities = __importStar(require(\"./entities\"));\nexports.entities = entities;\nconst entities_1 = require(\"./entities\");\nconst queries_1 = require(\"./queries\");\nconst DEFAULT_CHAIN_ID = 1;\nconst DEFAULT_CLIENT = queries.initializeClient(queries.graphHostedURL(DEFAULT_CHAIN_ID));\n// Query methods\nfunction getOracle(address, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const dt = yield client\n            .query(queries_1.GET_ORACLE_DATA, { id: address.toLowerCase() })\n            .toPromise();\n        return new entities_1.Oracle(dt.data.medianOracles[0]);\n    });\n}\nexports.getOracle = getOracle;\nfunction getPolicy(address, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const dt = yield client\n            .query(queries_1.GET_POLICY_DATA, { id: address.toLowerCase() })\n            .toPromise();\n        return new entities_1.Policy(dt.data.policies[0]);\n    });\n}\nexports.getPolicy = getPolicy;\nfunction getToken(address, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const dt = yield client\n            .query(queries_1.GET_TOKEN_DATA, { id: address.toLowerCase() })\n            .toPromise();\n        return new entities_1.Token(dt.data.tokens[0]);\n    });\n}\nexports.getToken = getToken;\nfunction getXCController(address, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const dt = yield client\n            .query(queries_1.GET_XC_CONTROLLER_DATA, { id: address.toLowerCase() })\n            .toPromise();\n        return new entities_1.XCController(dt.data.xccontrollers[0]);\n    });\n}\nexports.getXCController = getXCController;\nfunction getXCToken(address, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const dt = yield client\n            .query(queries_1.GET_XC_TOKEN_DATA, { id: address.toLowerCase() })\n            .toPromise();\n        return new entities_1.XCToken(dt.data.xctokens[0]);\n    });\n}\nexports.getXCToken = getXCToken;\n// NOTE: issue exists while pagination in the graph such that\n// skip can't be more than 5000.\n// TODO: Alternatively Query using timestamp ranges\nfunction getOracleProviderReports(oracleAddress, providerAddress, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let skip = 0;\n        const reports = [];\n        while (true) {\n            try {\n                const dt = yield client\n                    .query(queries_1.GET_PROVIDER_REPORTS, {\n                    providerID: oracleAddress\n                        .toLowerCase()\n                        .concat('|')\n                        .concat(providerAddress.toLowerCase()),\n                    first: queries_1.MAX_PER_PAGE,\n                    skip,\n                })\n                    .toPromise();\n                if (!dt.data || dt.data.oracleReports.length == 0) {\n                    break;\n                }\n                for (const r of dt.data.oracleReports) {\n                    reports.push(new entities_1.Report(r));\n                }\n                skip += queries_1.MAX_PER_PAGE;\n            }\n            catch (e) {\n                break;\n            }\n        }\n        return reports;\n    });\n}\nexports.getOracleProviderReports = getOracleProviderReports;\nfunction getRebases(policy, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let skip = 0;\n        const rebases = [];\n        while (true) {\n            try {\n                const dt = yield client\n                    .query(queries_1.GET_REBASES, {\n                    id: policy.address.toLowerCase(),\n                    first: queries_1.MAX_PER_PAGE,\n                    skip: skip,\n                })\n                    .toPromise();\n                if (!dt.data || dt.data.rebases.length == 0) {\n                    break;\n                }\n                for (const r of dt.data.rebases) {\n                    rebases.push(new entities_1.Rebase(r));\n                }\n                skip += queries_1.MAX_PER_PAGE;\n            }\n            catch (e) {\n                break;\n            }\n        }\n        return rebases;\n    });\n}\nexports.getRebases = getRebases;\nfunction getXCRebases(controller, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let skip = 0;\n        const rebases = [];\n        while (true) {\n            try {\n                const dt = yield client\n                    .query(queries_1.GET_XC_REBASES, {\n                    id: controller.address,\n                    first: queries_1.MAX_PER_PAGE,\n                    skip: skip,\n                })\n                    .toPromise();\n                if (!dt.data || dt.data.xcrebases.length == 0) {\n                    break;\n                }\n                for (const r of dt.data.xcrebases) {\n                    rebases.push(new entities_1.XCRebase(r));\n                }\n                skip += queries_1.MAX_PER_PAGE;\n            }\n            catch (e) {\n                break;\n            }\n        }\n        return rebases;\n    });\n}\nexports.getXCRebases = getXCRebases;\nfunction getBCTokenBalances(token, addresses, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const dt = yield client\n            .query(queries_1.GET_TOKEN_BALANCES, {\n            id: token.address.toLowerCase(),\n            accounts: addresses.map((a) => a.toLowerCase()),\n        })\n            .toPromise();\n        const balances = [];\n        for (const b of dt.data.tokenBalances) {\n            balances.push(new entities_1.TokenBalance(b));\n        }\n        return balances;\n    });\n}\nfunction getBCTokenBalance(token, address, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const dt = yield client\n            .query(queries_1.GET_TOKEN_BALANCES, {\n            id: token.address.toLowerCase(),\n            accounts: [address.toLowerCase()],\n        })\n            .toPromise();\n        return new entities_1.TokenBalance(dt.data.tokenBalances[0]);\n    });\n}\nfunction getBCTokenApproval(token, owner, spender, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const dt = yield client\n            .query(queries_1.GET_TOKEN_APPROVAL, {\n            id: token.address.toLowerCase(),\n            owner: owner.toLowerCase(),\n            spender: spender.toLowerCase(),\n        })\n            .toPromise();\n        return new entities_1.TokenApproval(dt.data.tokenApprovals[0]);\n    });\n}\nfunction getXCTokenBalances(xctoken, addresses, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const dt = yield client\n            .query(queries_1.GET_XC_TOKEN_BALANCES, {\n            id: xctoken.address.toLowerCase(),\n            accounts: addresses.map((a) => a.toLowerCase()),\n        })\n            .toPromise();\n        const balances = [];\n        for (const b of dt.data.xctokenBalances) {\n            balances.push(new entities_1.TokenBalance(b));\n        }\n        return balances;\n    });\n}\nfunction getXCTokenBalance(xctoken, address, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const dt = yield client\n            .query(queries_1.GET_XC_TOKEN_BALANCES, {\n            id: xctoken.address.toLowerCase(),\n            accounts: [address.toLowerCase()],\n        })\n            .toPromise();\n        return new entities_1.TokenBalance(dt.data.xctokenBalances[0]);\n    });\n}\nfunction getXCTokenApproval(xctoken, owner, spender, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const dt = yield client\n            .query(queries_1.GET_XC_TOKEN_APPROVAL, {\n            id: xctoken.address.toLowerCase(),\n            owner: owner.toLowerCase(),\n            spender: spender.toLowerCase(),\n        })\n            .toPromise();\n        return new entities_1.TokenApproval(dt.data.xctokenApprovals[0]);\n    });\n}\nfunction getTokenBalances(token, addresses, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        if (token instanceof entities_1.XCToken) {\n            return getXCTokenBalances(token, addresses, client);\n        }\n        return getBCTokenBalances(token, addresses, client);\n    });\n}\nexports.getTokenBalances = getTokenBalances;\nfunction getTokenBalance(token, address, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        if (token instanceof entities_1.XCToken) {\n            return getXCTokenBalance(token, address, client);\n        }\n        return getBCTokenBalance(token, address, client);\n    });\n}\nexports.getTokenBalance = getTokenBalance;\nfunction getTokenApproval(token, owner, spender, client) {\n    return __awaiter(this, void 0, void 0, function* () {\n        if (token instanceof entities_1.XCToken) {\n            return getXCTokenApproval(token, owner, spender, client);\n        }\n        return getBCTokenApproval(token, owner, spender, client);\n    });\n}\nexports.getTokenApproval = getTokenApproval;\n// Helper functions\nfunction getAmpleforthMarketOracle(chainID = DEFAULT_CHAIN_ID, client = DEFAULT_CLIENT) {\n    const addresses = deployments.getDeployment(chainID);\n    return getOracle(addresses.MarketOracle.toLowerCase(), client);\n}\nexports.getAmpleforthMarketOracle = getAmpleforthMarketOracle;\nfunction getAmpleforthCPIOracle(chainID = DEFAULT_CHAIN_ID, client = DEFAULT_CLIENT) {\n    const addresses = deployments.getDeployment(chainID);\n    return getOracle(addresses.CPIOracle.toLowerCase(), client);\n}\nexports.getAmpleforthCPIOracle = getAmpleforthCPIOracle;\nfunction getAmpleforthCPIOracles(chainID = DEFAULT_CHAIN_ID, client = DEFAULT_CLIENT) {\n    const addresses = deployments.getDeployment(chainID);\n    return Promise.all([addresses.CPIOracle]\n        .concat(addresses.PrevCPIOracles)\n        .map((a) => getOracle(a.toLowerCase(), client)));\n}\nexports.getAmpleforthCPIOracles = getAmpleforthCPIOracles;\nfunction getAmpleforthPolicy(chainID = DEFAULT_CHAIN_ID, client = DEFAULT_CLIENT) {\n    const addresses = deployments.getDeployment(chainID);\n    return getPolicy(addresses.Policy.toLowerCase(), client);\n}\nexports.getAmpleforthPolicy = getAmpleforthPolicy;\nfunction getAMPLToken(chainID = DEFAULT_CHAIN_ID, client = DEFAULT_CLIENT) {\n    const addresses = deployments.getDeployment(chainID);\n    return getToken(addresses.Token.toLowerCase(), client);\n}\nexports.getAMPLToken = getAMPLToken;\nfunction getXCAmpleController(chainID, client) {\n    const addresses = deployments.getXCDeployment(chainID);\n    return getXCController(addresses.XCController.toLowerCase(), client);\n}\nexports.getXCAmpleController = getXCAmpleController;\nfunction getXCAmpleToken(chainID, client) {\n    const addresses = deployments.getXCDeployment(chainID);\n    return getXCToken(addresses.XCToken.toLowerCase(), client);\n}\nexports.getXCAmpleToken = getXCAmpleToken;\n"]}