;; Contract: SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-pool-v2-01
(define-read-only (get-y-given-x-for-five-pools
;; Pool 1
(pool1-token-x principal)
(pool1-token-y principal)
(pool1-factor uint)
(dx1 uint) ;; Input for pool 1
;; Pool 2
(pool2-token-x principal)
(pool2-token-y principal)
(pool2-factor uint)
(dx2 uint) ;; Input for pool 2
;; Pool 3
(pool3-token-x principal)
(pool3-token-y principal)
(pool3-factor uint)
(dx3 uint) ;; Input for pool 3
;; Pool 4
(pool4-token-x principal)
(pool4-token-y principal)
(pool4-factor uint)
(dx4 uint) ;; Input for pool 4
;; Pool 5
(pool5-token-x principal)
(pool5-token-y principal)
(pool5-factor uint)
(dx5 uint)) ;; Input for pool 5
(let (
;; Calculate output for Pool 1
(dy1 (try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-pool-v2-01 get-y-given-x pool1-token-x pool1-token-y pool1-factor dx1)))
;; Calculate output for Pool 2
(dy2 (try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-pool-v2-01 get-y-given-x pool2-token-x pool2-token-y pool2-factor dx2)))
;; Calculate output for Pool 3
(dy3 (try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-pool-v2-01 get-y-given-x pool3-token-x pool3-token-y pool3-factor dx3)))
;; Calculate output for Pool 4
(dy4 (try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-pool-v2-01 get-y-given-x pool4-token-x pool4-token-y pool4-factor dx4)))
;; Calculate output for Pool 5
(dy5 (try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-pool-v2-01 get-y-given-x pool5-token-x pool5-token-y pool5-factor dx5)))
)
(ok {
pool1: {
input: dx1,
output: dy1
},
pool2: {
input: dx2,
output: dy2
},
pool3: {
input: dx3,
output: dy3
},
pool4: {
input: dx4,
output: dy4
},
pool5: {
input: dx5,
output: dy5
}
})))